Electroneum
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 "common/base58.h"
Include dependency graph for cryptonote_basic.h:

Go to the source code of this file.

Classes

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

Namespaces

 cryptonote
 Holds cryptonote related classes and helpers.
 

Typedefs

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

Functions

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::txin_to_key_public, 0x3)
 
 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::txout_to_key_public, 0x3)
 
 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::txin_to_key_public, "public_input")
 
 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::txout_to_key_public, "public_output")
 
 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::txin_to_key_public, "public_input")
 
 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::txout_to_key_public, "public_output")
 
 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/33]

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

◆ VARIANT_TAG() [2/33]

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

◆ VARIANT_TAG() [3/33]

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

◆ VARIANT_TAG() [4/33]

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

◆ VARIANT_TAG() [5/33]

VARIANT_TAG ( binary_archive  ,
cryptonote::txin_to_key_public  ,
0x3   
)

◆ VARIANT_TAG() [6/33]

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

◆ VARIANT_TAG() [7/33]

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

◆ VARIANT_TAG() [8/33]

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

◆ VARIANT_TAG() [9/33]

VARIANT_TAG ( binary_archive  ,
cryptonote::txout_to_key_public  ,
0x3   
)

◆ VARIANT_TAG() [10/33]

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

◆ VARIANT_TAG() [11/33]

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

◆ VARIANT_TAG() [12/33]

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

◆ VARIANT_TAG() [13/33]

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

◆ VARIANT_TAG() [14/33]

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

◆ VARIANT_TAG() [15/33]

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

◆ VARIANT_TAG() [16/33]

VARIANT_TAG ( json_archive  ,
cryptonote::txin_to_key_public  ,
"public_input"   
)

◆ VARIANT_TAG() [17/33]

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

◆ VARIANT_TAG() [18/33]

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

◆ VARIANT_TAG() [19/33]

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

◆ VARIANT_TAG() [20/33]

VARIANT_TAG ( json_archive  ,
cryptonote::txout_to_key_public  ,
"public_output"   
)

◆ VARIANT_TAG() [21/33]

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

◆ VARIANT_TAG() [22/33]

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

◆ VARIANT_TAG() [23/33]

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

◆ VARIANT_TAG() [24/33]

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

◆ VARIANT_TAG() [25/33]

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

◆ VARIANT_TAG() [26/33]

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

◆ VARIANT_TAG() [27/33]

VARIANT_TAG ( debug_archive  ,
cryptonote::txin_to_key_public  ,
"public_input"   
)

◆ VARIANT_TAG() [28/33]

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

◆ VARIANT_TAG() [29/33]

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

◆ VARIANT_TAG() [30/33]

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

◆ VARIANT_TAG() [31/33]

VARIANT_TAG ( debug_archive  ,
cryptonote::txout_to_key_public  ,
"public_output"   
)

◆ VARIANT_TAG() [32/33]

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

◆ VARIANT_TAG() [33/33]

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