Bitcoin ABC  0.22.13
P2P Digital Currency
Classes | Typedefs | Enumerations | Functions | Variables
avalanche Namespace Reference

Classes

class  BlockUpdate
 
class  Delegation
 
class  DelegationBuilder
 
struct  DelegationId
 
class  DelegationState
 
class  Hello
 
struct  next_request_time
 
struct  Node
 
struct  Peer
 
class  PeerManager
 
class  Poll
 
class  Processor
 
class  Proof
 
struct  proof_index
 
class  ProofBuilder
 
struct  ProofId
 
class  ProofValidationState
 
struct  query_timeout
 
class  Response
 
class  SaltedProofIdHasher
 
class  SignedStake
 
struct  Slot
 
class  Stake
 
class  Vote
 
struct  VoteRecord
 Vote history. More...
 

Typedefs

using BlockVoteMap = std::map< const CBlockIndex *, VoteRecord, CBlockIndexWorkComparator >
 

Enumerations

enum  ProofValidationResult {
  ProofValidationResult::NONE = 0, ProofValidationResult::NO_STAKE, ProofValidationResult::DUST_THRESOLD, ProofValidationResult::DUPLICATE_STAKE,
  ProofValidationResult::INVALID_SIGNATURE, ProofValidationResult::MISSING_UTXO, ProofValidationResult::COINBASE_MISMATCH, ProofValidationResult::HEIGHT_MISMATCH,
  ProofValidationResult::AMOUNT_MISMATCH, ProofValidationResult::NON_STANDARD_DESTINATION, ProofValidationResult::DESTINATION_NOT_SUPPORTED, ProofValidationResult::DESTINATION_MISMATCH
}
 
enum  DelegationResult { DelegationResult::NONE = 0, DelegationResult::INCORRECT_PROOF, DelegationResult::INVALID_SIGNATURE }
 

Functions

template<typename L , typename F >
static bool reduceLevels (uint256 &hash, const std::vector< L > &levels, F f)
 
template<typename L >
static bool reduceLevels (uint256 &hash, const std::vector< L > &levels)
 
PeerId selectPeerImpl (const std::vector< Slot > &slots, const uint64_t slot, const uint64_t max)
 This is an internal method that is exposed for testing purposes. More...
 
static bool IsWorthPolling (const CBlockIndex *pindex)
 
Proof buildRandomProof (uint32_t score, const CPubKey &master)
 

Variables

static constexpr Amount PROOF_DUST_THRESOLD = 1 * SATOSHI
 

Typedef Documentation

◆ BlockVoteMap

Definition at line 184 of file processor.h.

Enumeration Type Documentation

◆ DelegationResult

Enumerator
NONE 
INCORRECT_PROOF 
INVALID_SIGNATURE 

Definition at line 31 of file validation.h.

◆ ProofValidationResult

Enumerator
NONE 
NO_STAKE 
DUST_THRESOLD 
DUPLICATE_STAKE 
INVALID_SIGNATURE 
MISSING_UTXO 
COINBASE_MISMATCH 
HEIGHT_MISMATCH 
AMOUNT_MISMATCH 
NON_STANDARD_DESTINATION 
DESTINATION_NOT_SUPPORTED 
DESTINATION_MISMATCH 

Definition at line 12 of file validation.h.

Function Documentation

◆ buildRandomProof()

Proof avalanche::buildRandomProof ( uint32_t  score,
const CPubKey master 
)

Definition at line 18 of file util.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsWorthPolling()

static bool avalanche::IsWorthPolling ( const CBlockIndex pindex)
static

Definition at line 122 of file processor.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reduceLevels() [1/2]

template<typename L , typename F >
static bool avalanche::reduceLevels ( uint256 hash,
const std::vector< L > &  levels,
f 
)
static

Definition at line 14 of file delegation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reduceLevels() [2/2]

template<typename L >
static bool avalanche::reduceLevels ( uint256 hash,
const std::vector< L > &  levels 
)
static

Definition at line 30 of file delegation.cpp.

Here is the call graph for this function:

◆ selectPeerImpl()

PeerId avalanche::selectPeerImpl ( const std::vector< Slot > &  slots,
const uint64_t  slot,
const uint64_t  max 
)

This is an internal method that is exposed for testing purposes.

Definition at line 384 of file peermanager.cpp.

Here is the caller graph for this function:

Variable Documentation

◆ PROOF_DUST_THRESOLD

constexpr Amount avalanche::PROOF_DUST_THRESOLD = 1 * SATOSHI
static

Definition at line 50 of file proof.cpp.