Electroneum
Classes | Namespaces | Typedefs | Functions
cryptonote_basic.h File Reference
#include <boost/variant.hpp>
#include <boost/functional/hash/hash.hpp>
#include <vector>
#include <cstring>
#include <sstream>
#include <atomic>
#include "serialization/variant.h"
#include "serialization/vector.h"
#include "serialization/binary_archive.h"
#include "serialization/json_archive.h"
#include "serialization/debug_archive.h"
#include "serialization/crypto.h"
#include "serialization/keyvalue_serialization.h"
#include "cryptonote_config.h"
#include "crypto/crypto.h"
#include "crypto/hash.h"
#include "misc_language.h"
#include "ringct/rctTypes.h"
#include "device/device.hpp"
Include dependency graph for cryptonote_basic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cryptonote::txout_to_script
 
struct  cryptonote::txout_to_scripthash
 
struct  cryptonote::txout_to_key
 
struct  cryptonote::txin_gen
 
struct  cryptonote::txin_to_script
 
struct  cryptonote::txin_to_scripthash
 
struct  cryptonote::txin_to_key
 
struct  cryptonote::tx_out
 
struct  cryptonote::validator_db
 
class  cryptonote::transaction_prefix
 
class  cryptonote::transaction
 
struct  cryptonote::block_header
 
struct  cryptonote::block
 
struct  cryptonote::account_public_address
 
struct  cryptonote::keypair
 
struct  std::hash< cryptonote::account_public_address >
 

Namespaces

 cryptonote
 Holds cryptonote related classes and helpers.
 
 std
 

Typedefs

typedef std::vector< crypto::signaturecryptonote::ring_signature
 
typedef boost::variant< txin_gen, txin_to_script, txin_to_scripthash, txin_to_key > cryptonote::txin_v
 
typedef boost::variant< txout_to_script, txout_to_scripthash, txout_to_key > cryptonote::txout_target_v
 

Functions

template<typename T >
static unsigned int cryptonote::getpos (T &ar)
 
template<>
unsigned int cryptonote::getpos (binary_archive< true > &ar)
 
template<>
unsigned int cryptonote::getpos (binary_archive< false > &ar)
 
 BLOB_SERIALIZER (cryptonote::txout_to_key)
 
 BLOB_SERIALIZER (cryptonote::txout_to_scripthash)
 
 VARIANT_TAG (binary_archive, cryptonote::txin_gen, 0xff)
 
 VARIANT_TAG (binary_archive, cryptonote::txin_to_script, 0x0)
 
 VARIANT_TAG (binary_archive, cryptonote::txin_to_scripthash, 0x1)
 
 VARIANT_TAG (binary_archive, cryptonote::txin_to_key, 0x2)
 
 VARIANT_TAG (binary_archive, cryptonote::txout_to_script, 0x0)
 
 VARIANT_TAG (binary_archive, cryptonote::txout_to_scripthash, 0x1)
 
 VARIANT_TAG (binary_archive, cryptonote::txout_to_key, 0x2)
 
 VARIANT_TAG (binary_archive, cryptonote::transaction, 0xcc)
 
 VARIANT_TAG (binary_archive, cryptonote::block, 0xbb)
 
 VARIANT_TAG (json_archive, cryptonote::txin_gen, "gen")
 
 VARIANT_TAG (json_archive, cryptonote::txin_to_script, "script")
 
 VARIANT_TAG (json_archive, cryptonote::txin_to_scripthash, "scripthash")
 
 VARIANT_TAG (json_archive, cryptonote::txin_to_key, "key")
 
 VARIANT_TAG (json_archive, cryptonote::txout_to_script, "script")
 
 VARIANT_TAG (json_archive, cryptonote::txout_to_scripthash, "scripthash")
 
 VARIANT_TAG (json_archive, cryptonote::txout_to_key, "key")
 
 VARIANT_TAG (json_archive, cryptonote::transaction, "tx")
 
 VARIANT_TAG (json_archive, cryptonote::block, "block")
 
 VARIANT_TAG (debug_archive, cryptonote::txin_gen, "gen")
 
 VARIANT_TAG (debug_archive, cryptonote::txin_to_script, "script")
 
 VARIANT_TAG (debug_archive, cryptonote::txin_to_scripthash, "scripthash")
 
 VARIANT_TAG (debug_archive, cryptonote::txin_to_key, "key")
 
 VARIANT_TAG (debug_archive, cryptonote::txout_to_script, "script")
 
 VARIANT_TAG (debug_archive, cryptonote::txout_to_scripthash, "scripthash")
 
 VARIANT_TAG (debug_archive, cryptonote::txout_to_key, "key")
 
 VARIANT_TAG (debug_archive, cryptonote::transaction, "tx")
 
 VARIANT_TAG (debug_archive, cryptonote::block, "block")
 

Function Documentation

◆ BLOB_SERIALIZER() [1/2]

BLOB_SERIALIZER ( cryptonote::txout_to_key  )

◆ BLOB_SERIALIZER() [2/2]

BLOB_SERIALIZER ( cryptonote::txout_to_scripthash  )

◆ VARIANT_TAG() [1/27]

VARIANT_TAG ( binary_archive  ,
cryptonote::block  ,
0xbb   
)

◆ VARIANT_TAG() [2/27]

VARIANT_TAG ( binary_archive  ,
cryptonote::transaction  ,
0xcc   
)

◆ VARIANT_TAG() [3/27]

VARIANT_TAG ( binary_archive  ,
cryptonote::txin_gen  ,
0xff   
)

◆ VARIANT_TAG() [4/27]

VARIANT_TAG ( binary_archive  ,
cryptonote::txin_to_key  ,
0x2   
)

◆ VARIANT_TAG() [5/27]

VARIANT_TAG ( binary_archive  ,
cryptonote::txin_to_script  ,
0x0   
)

◆ VARIANT_TAG() [6/27]

VARIANT_TAG ( binary_archive  ,
cryptonote::txin_to_scripthash  ,
0x1   
)

◆ VARIANT_TAG() [7/27]

VARIANT_TAG ( binary_archive  ,
cryptonote::txout_to_key  ,
0x2   
)

◆ VARIANT_TAG() [8/27]

VARIANT_TAG ( binary_archive  ,
cryptonote::txout_to_script  ,
0x0   
)

◆ VARIANT_TAG() [9/27]

VARIANT_TAG ( binary_archive  ,
cryptonote::txout_to_scripthash  ,
0x1   
)

◆ VARIANT_TAG() [10/27]

VARIANT_TAG ( debug_archive  ,
cryptonote::block  ,
"block"   
)

◆ VARIANT_TAG() [11/27]

VARIANT_TAG ( debug_archive  ,
cryptonote::transaction  ,
"tx"   
)

◆ VARIANT_TAG() [12/27]

VARIANT_TAG ( debug_archive  ,
cryptonote::txin_gen  ,
"gen"   
)

◆ VARIANT_TAG() [13/27]

VARIANT_TAG ( debug_archive  ,
cryptonote::txin_to_key  ,
"key"   
)

◆ VARIANT_TAG() [14/27]

VARIANT_TAG ( debug_archive  ,
cryptonote::txin_to_script  ,
"script"   
)

◆ VARIANT_TAG() [15/27]

VARIANT_TAG ( debug_archive  ,
cryptonote::txin_to_scripthash  ,
"scripthash"   
)

◆ VARIANT_TAG() [16/27]

VARIANT_TAG ( debug_archive  ,
cryptonote::txout_to_key  ,
"key"   
)

◆ VARIANT_TAG() [17/27]

VARIANT_TAG ( debug_archive  ,
cryptonote::txout_to_script  ,
"script"   
)

◆ VARIANT_TAG() [18/27]

VARIANT_TAG ( debug_archive  ,
cryptonote::txout_to_scripthash  ,
"scripthash"   
)

◆ VARIANT_TAG() [19/27]

VARIANT_TAG ( json_archive  ,
cryptonote::block  ,
"block"   
)

◆ VARIANT_TAG() [20/27]

VARIANT_TAG ( json_archive  ,
cryptonote::transaction  ,
"tx"   
)

◆ VARIANT_TAG() [21/27]

VARIANT_TAG ( json_archive  ,
cryptonote::txin_gen  ,
"gen"   
)

◆ VARIANT_TAG() [22/27]

VARIANT_TAG ( json_archive  ,
cryptonote::txin_to_key  ,
"key"   
)

◆ VARIANT_TAG() [23/27]

VARIANT_TAG ( json_archive  ,
cryptonote::txin_to_script  ,
"script"   
)

◆ VARIANT_TAG() [24/27]

VARIANT_TAG ( json_archive  ,
cryptonote::txin_to_scripthash  ,
"scripthash"   
)

◆ VARIANT_TAG() [25/27]

VARIANT_TAG ( json_archive  ,
cryptonote::txout_to_key  ,
"key"   
)

◆ VARIANT_TAG() [26/27]

VARIANT_TAG ( json_archive  ,
cryptonote::txout_to_script  ,
"script"   
)

◆ VARIANT_TAG() [27/27]

VARIANT_TAG ( json_archive  ,
cryptonote::txout_to_scripthash  ,
"scripthash"   
)