Skip to content

sgns::account::BurnConfigPayload

ISignedCRDTData payload type carrying the burn-basis-points value. Serialization/verification mirrors TrustedPeerListPayload's structural-only-verify convention (never diffs against cached state).

#include <BurnConfig.hpp>

Inherits from sgns::securecrdt::ISignedCRDTData

Public Functions

Name
BurnConfigPayload() =default
BurnConfigPayload(uint64_t basis_points)
Constructs a payload directly from a basis-points value (used by callers that need to serialize a proposed value).
virtual std::vector< uint8_t > SerializeToBytes() const override
Serializes this instance's payload to raw bytes (codec, encode side).
virtual bool DeserializeFromBytes(const std::vector< uint8_t > & bytes) override
Deserializes raw bytes into this instance's payload (codec, decode side).
virtual bool Verify(const std::vector< uint8_t > & payload) const override
Performs type-specific semantic validation of payload beyond signature/quorum checks (e.g. field-range checks).
virtual void Apply() override
Applies the side effect of this value once the caller has independently confirmed quorum (e.g. via SecureCrdt::ReadIfQuorum). Apply() itself does NOT check quorum.
uint64_t GetBasisPoints() const
Returns the decoded/constructed basis-points value.

Public Attributes

Name
constexpr uint64_t BASIS_POINTS_TOTAL
Total basis points representing 100% – any decoded value above this is semantically invalid.

Additional inherited members

Public Functions inherited from sgns::securecrdt::ISignedCRDTData

Name
virtual ~ISignedCRDTData() =default

Public Functions Documentation

function BurnConfigPayload

BurnConfigPayload() =default

function BurnConfigPayload

explicit BurnConfigPayload(
    uint64_t basis_points
)

Constructs a payload directly from a basis-points value (used by callers that need to serialize a proposed value).

Parameters:

  • basis_points Burn basis-points value.

function SerializeToBytes

virtual std::vector< uint8_t > SerializeToBytes() const override

Serializes this instance's payload to raw bytes (codec, encode side).

Return: Raw payload bytes representing this instance's current state.

Reimplements: sgns::securecrdt::ISignedCRDTData::SerializeToBytes

function DeserializeFromBytes

virtual bool DeserializeFromBytes(
    const std::vector< uint8_t > & bytes
) override

Deserializes raw bytes into this instance's payload (codec, decode side).

Parameters:

  • bytes Raw payload bytes to decode.

Return: true if bytes decoded successfully, false if malformed.

Reimplements: sgns::securecrdt::ISignedCRDTData::DeserializeFromBytes

   Must return false on malformed/truncated input rather than throwing
   or asserting (V5 Input Validation) - mirrors
   ValidatorRegistry::DeserializeRegistryUpdate's parse-failure-returns-error
   pattern.

function Verify

virtual bool Verify(
    const std::vector< uint8_t > & payload
) const override

Performs type-specific semantic validation of payload beyond signature/quorum checks (e.g. field-range checks).

Parameters:

  • payload Raw payload bytes to validate.

Return: true if payload is semantically valid for this type.

Reimplements: sgns::securecrdt::ISignedCRDTData::Verify

function Apply

virtual void Apply() override

Applies the side effect of this value once the caller has independently confirmed quorum (e.g. via SecureCrdt::ReadIfQuorum). Apply() itself does NOT check quorum.

Reimplements: sgns::securecrdt::ISignedCRDTData::Apply

function GetBasisPoints

inline uint64_t GetBasisPoints() const

Returns the decoded/constructed basis-points value.

Return: Basis-points value.

Public Attributes Documentation

variable BASIS_POINTS_TOTAL

static constexpr uint64_t BASIS_POINTS_TOTAL = 10000;

Total basis points representing 100% – any decoded value above this is semantically invalid.


Updated on 2026-08-07 at 17:48:02 +0000