5#ifndef BITCOIN_AVALANCHE_DELEGATION_H
6#define BITCOIN_AVALANCHE_DELEGATION_H
50 std::vector<Level> levels_)
69 READWRITE(obj.limitedProofid, obj.proofMaster, obj.levels);
70 SER_READ(obj, obj.dgid = obj.computeDelegationId());
An encapsulated public key.
ProofId getProofId() const
const std::vector< Level > & getLevels() const
static bool FromHex(Delegation &dg, const std::string &dgHex, bilingual_str &errorOut)
bool verify(DelegationState &state, CPubKey &auth) const
const CPubKey & getProofMaster() const
std::vector< Level > levels
LimitedProofId limitedProofid
Delegation(const LimitedProofId &limitedProofid_, const CPubKey &proofMaster_, const DelegationId &dgid_, std::vector< Level > levels_)
const DelegationId & getId() const
const CPubKey & getDelegatedPubkey() const
SERIALIZE_METHODS(Delegation, obj)
const LimitedProofId & getLimitedProofId() const
DelegationId computeDelegationId() const
std::array< uint8_t, CPubKey::SCHNORR_SIZE > SchnorrSig
a Schnorr signature
constexpr size_t MAX_DELEGATION_LEVELS
The maximum number of delegation levels we are willing to verify.
Implement std::hash so RCUPtr can be used as a key for maps or sets.
#define SER_READ(obj, code)
SERIALIZE_METHODS(Level, obj)