Monero
Classes | Namespaces | Macros | Functions | Variables
blockchain_ancestry.cpp File Reference
#include <unordered_map>
#include <unordered_set>
#include <boost/range/adaptor/transformed.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/archive/portable_binary_iarchive.hpp>
#include <boost/archive/portable_binary_oarchive.hpp>
#include "common/unordered_containers_boost_serialization.h"
#include "common/command_line.h"
#include "common/varint.h"
#include "cryptonote_basic/cryptonote_boost_serialization.h"
#include "cryptonote_core/tx_pool.h"
#include "cryptonote_core/cryptonote_core.h"
#include "cryptonote_core/blockchain.h"
#include "blockchain_db/blockchain_db.h"
#include "blockchain_db/db_types.h"
#include "version.h"
Include dependency graph for blockchain_ancestry.cpp:

Classes

struct  ancestor
 
struct  std::hash< ancestor >
 
struct  tx_data_t
 
struct  ancestry_state_t
 

Namespaces

 std
 

Macros

#define MONERO_DEFAULT_LOG_CATEGORY   "bcutil"
 

Functions

static void add_ancestor (std::unordered_map< ancestor, unsigned int > &ancestry, uint64_t amount, uint64_t offset)
 
static size_t get_full_ancestry (const std::unordered_map< ancestor, unsigned int > &ancestry)
 
static size_t get_deduplicated_ancestry (const std::unordered_map< ancestor, unsigned int > &ancestry)
 
static void add_ancestry (std::unordered_map< crypto::hash, std::unordered_set< ancestor >> &ancestry, const crypto::hash &txid, const std::unordered_set< ancestor > &ancestors)
 
static void add_ancestry (std::unordered_map< crypto::hash, std::unordered_set< ancestor >> &ancestry, const crypto::hash &txid, const ancestor &new_ancestor)
 
static std::unordered_set< ancestorget_ancestry (const std::unordered_map< crypto::hash, std::unordered_set< ancestor >> &ancestry, const crypto::hash &txid)
 
int main (int argc, char *argv[])
 

Variables

static bool stop_requested = false
 

Macro Definition Documentation

◆ MONERO_DEFAULT_LOG_CATEGORY

#define MONERO_DEFAULT_LOG_CATEGORY   "bcutil"

Function Documentation

◆ add_ancestor()

static void add_ancestor ( std::unordered_map< ancestor, unsigned int > &  ancestry,
uint64_t  amount,
uint64_t  offset 
)
static

◆ add_ancestry() [1/2]

static void add_ancestry ( std::unordered_map< crypto::hash, std::unordered_set< ancestor >> &  ancestry,
const crypto::hash txid,
const std::unordered_set< ancestor > &  ancestors 
)
static

◆ add_ancestry() [2/2]

static void add_ancestry ( std::unordered_map< crypto::hash, std::unordered_set< ancestor >> &  ancestry,
const crypto::hash txid,
const ancestor new_ancestor 
)
static

◆ get_ancestry()

static std::unordered_set<ancestor> get_ancestry ( const std::unordered_map< crypto::hash, std::unordered_set< ancestor >> &  ancestry,
const crypto::hash txid 
)
static

◆ get_deduplicated_ancestry()

static size_t get_deduplicated_ancestry ( const std::unordered_map< ancestor, unsigned int > &  ancestry)
static

◆ get_full_ancestry()

static size_t get_full_ancestry ( const std::unordered_map< ancestor, unsigned int > &  ancestry)
static

◆ main()

int main ( int  argc,
char *  argv[] 
)

Variable Documentation

◆ stop_requested

bool stop_requested = false
static