Documentation ¶
Index ¶
- Constants
- func BlockFromBytesFunc(apiProvider iotago.APIProvider) func(data []byte) (*Block, int, error)
- func CommitmentFromBytes(apiProvider iotago.APIProvider) func([]byte) (*Commitment, int, error)
- func SignaledBlockFromBytesFunc(decodeAPI iotago.API) func([]byte) (*SignaledBlock, int, error)
- type AccountDiff
- type Block
- func BlockFromBlock(block *iotago.Block, opts ...serix.Option) (*Block, error)
- func BlockFromBlockIdentifierAndBytes(blockIdentifier iotago.Identifier, data []byte, apiProvider iotago.APIProvider) (*Block, error)
- func BlockFromBytes(data []byte, apiProvider iotago.APIProvider) (*Block, error)
- func BlockFromIDAndBytes(blockID iotago.BlockID, data []byte, api iotago.API) (*Block, error)
- func (blk *Block) BasicBlock() (basicBlock *iotago.BasicBlockBody, isBasicBlock bool)
- func (blk *Block) Bytes() ([]byte, error)
- func (blk *Block) Data() []byte
- func (blk *Block) ID() iotago.BlockID
- func (blk *Block) Payload() iotago.Payload
- func (blk *Block) ProtocolBlock() *iotago.Block
- func (blk *Block) SignedTransaction() (tx *iotago.SignedTransaction, isTransaction bool)
- func (blk *Block) SlotCommitmentID() iotago.CommitmentID
- func (blk *Block) String() string
- func (blk *Block) ValidationBlock() (validationBlock *iotago.ValidationBlockBody, isValidationBlock bool)
- func (blk *Block) WorkScore() iotago.WorkScore
- type Commitment
- func (c *Commitment) Bytes() ([]byte, error)
- func (c *Commitment) Commitment() *iotago.Commitment
- func (c *Commitment) CumulativeWeight() uint64
- func (c *Commitment) Data() []byte
- func (c *Commitment) ID() iotago.CommitmentID
- func (c *Commitment) PreviousCommitmentID() iotago.CommitmentID
- func (c *Commitment) ReferenceManaCost() iotago.Mana
- func (c *Commitment) RootsID() iotago.Identifier
- func (c *Commitment) Slot() iotago.SlotIndex
- func (c *Commitment) String() string
- type EvictionIndex
- type ParentReferences
- type PoolRewards
- type PoolsStats
- type PruningIndex
- type SignaledBlock
- type ValidatorPerformance
- type VersionAndHash
Constants ¶
const VersionAndHashSize = iotago.VersionLength + iotago.IdentifierLength
Variables ¶
This section is empty.
Functions ¶
func BlockFromBytesFunc ¶
func CommitmentFromBytes ¶
func CommitmentFromBytes(apiProvider iotago.APIProvider) func([]byte) (*Commitment, int, error)
Types ¶
type AccountDiff ¶
type AccountDiff struct { BICChange iotago.BlockIssuanceCredits PreviousUpdatedSlot iotago.SlotIndex NewExpirySlot iotago.SlotIndex PreviousExpirySlot iotago.SlotIndex // OutputID to which the Account has been transitioned to. NewOutputID iotago.OutputID // OutputID from which the Account has been transitioned from. PreviousOutputID iotago.OutputID BlockIssuerKeysAdded iotago.BlockIssuerKeys BlockIssuerKeysRemoved iotago.BlockIssuerKeys ValidatorStakeChange int64 DelegationStakeChange int64 StakeEndEpochChange int64 FixedCostChange int64 PrevLatestSupportedVersionAndHash VersionAndHash NewLatestSupportedVersionAndHash VersionAndHash }
AccountDiff represent the storable changes for a single account within a slot.
func AccountDiffFromBytes ¶
func AccountDiffFromBytes(b []byte) (*AccountDiff, int, error)
func AccountDiffFromReader ¶
func AccountDiffFromReader(reader io.ReadSeeker) (*AccountDiff, error)
func NewAccountDiff ¶
func NewAccountDiff() *AccountDiff
NewAccountDiff creates a new AccountDiff instance.
func (*AccountDiff) Bytes ¶
func (d *AccountDiff) Bytes() ([]byte, error)
func (*AccountDiff) Clone ¶
func (d *AccountDiff) Clone() *AccountDiff
type Block ¶
type Block struct {
// contains filtered or unexported fields
}
func BlockFromBlock ¶
func BlockFromBlockIdentifierAndBytes ¶
func BlockFromBlockIdentifierAndBytes(blockIdentifier iotago.Identifier, data []byte, apiProvider iotago.APIProvider) (*Block, error)
BlockFromBlockIdentifierAndBytes creates a new Block from the given blockIdentifier and the serialized block data. This is used when receiving blocks from the network where we pre-compute the blockIdentifier for filtering duplicates.
func BlockFromBytes ¶
func BlockFromBytes(data []byte, apiProvider iotago.APIProvider) (*Block, error)
BlockFromBytes creates a new Block from the serialized block data.
func BlockFromIDAndBytes ¶
BlockFromIDAndBytes creates a new Block from the given blockID and the serialized block data. This is used when loading a block back from storage where we have both the blockID and the bytes available.
func (*Block) BasicBlock ¶
func (blk *Block) BasicBlock() (basicBlock *iotago.BasicBlockBody, isBasicBlock bool)
func (*Block) ProtocolBlock ¶
func (*Block) SignedTransaction ¶
func (blk *Block) SignedTransaction() (tx *iotago.SignedTransaction, isTransaction bool)
func (*Block) SlotCommitmentID ¶
func (blk *Block) SlotCommitmentID() iotago.CommitmentID
func (*Block) ValidationBlock ¶
func (blk *Block) ValidationBlock() (validationBlock *iotago.ValidationBlockBody, isValidationBlock bool)
type Commitment ¶
type Commitment struct {
// contains filtered or unexported fields
}
func CommitmentFromCommitment ¶
func CommitmentFromCommitment(iotaCommitment *iotago.Commitment, api iotago.API, opts ...serix.Option) (*Commitment, error)
func NewEmptyCommitment ¶
func NewEmptyCommitment(api iotago.API) *Commitment
func (*Commitment) Bytes ¶
func (c *Commitment) Bytes() ([]byte, error)
func (*Commitment) Commitment ¶
func (c *Commitment) Commitment() *iotago.Commitment
func (*Commitment) CumulativeWeight ¶
func (c *Commitment) CumulativeWeight() uint64
func (*Commitment) Data ¶
func (c *Commitment) Data() []byte
func (*Commitment) ID ¶
func (c *Commitment) ID() iotago.CommitmentID
func (*Commitment) PreviousCommitmentID ¶
func (c *Commitment) PreviousCommitmentID() iotago.CommitmentID
func (*Commitment) ReferenceManaCost ¶
func (c *Commitment) ReferenceManaCost() iotago.Mana
func (*Commitment) RootsID ¶
func (c *Commitment) RootsID() iotago.Identifier
func (*Commitment) Slot ¶
func (c *Commitment) Slot() iotago.SlotIndex
func (*Commitment) String ¶
func (c *Commitment) String() string
type EvictionIndex ¶
type EvictionIndex[K iotago.SlotIndex | iotago.EpochIndex] struct { // contains filtered or unexported fields }
func NewEvictionIndex ¶
func NewEvictionIndex[K iotago.SlotIndex | iotago.EpochIndex]() *EvictionIndex[K]
func (*EvictionIndex[K]) Index ¶
func (e *EvictionIndex[K]) Index() (current K, valid bool)
func (*EvictionIndex[K]) IsEvicted ¶
func (e *EvictionIndex[K]) IsEvicted(index K) bool
func (*EvictionIndex[K]) MarkEvicted ¶
func (e *EvictionIndex[K]) MarkEvicted(index K) (previous K, hadPrevious bool)
func (*EvictionIndex[K]) NextIndex ¶
func (e *EvictionIndex[K]) NextIndex() K
func (*EvictionIndex[K]) ShouldEvict ¶
func (e *EvictionIndex[K]) ShouldEvict(newIndex K) bool
type ParentReferences ¶
type ParentReferences map[iotago.ParentsType]iotago.BlockIDs
ParentReferences is a map between parent type and block IDs.
type PoolRewards ¶
type PoolRewards struct { // Total stake of the validator including delegations PoolStake iotago.BaseToken // Rewards normalized by performance factor PoolRewards iotago.Mana // What the validator charges for its staking duties FixedCost iotago.Mana }
func PoolRewardsFromBytes ¶
func PoolRewardsFromBytes(bytes []byte) (*PoolRewards, int, error)
func PoolRewardsFromReader ¶
func PoolRewardsFromReader(reader io.ReadSeeker) (*PoolRewards, error)
func (*PoolRewards) Bytes ¶
func (p *PoolRewards) Bytes() ([]byte, error)
type PoolsStats ¶
type PoolsStats struct { TotalStake iotago.BaseToken TotalValidatorStake iotago.BaseToken ProfitMargin uint64 }
PoolsStats contains stats about the pools from all the validators for an epoch.
func PoolStatsFromReader ¶
func PoolStatsFromReader(reader io.ReadSeeker) (*PoolsStats, error)
func PoolsStatsFromBytes ¶
func PoolsStatsFromBytes(bytes []byte) (*PoolsStats, int, error)
func (*PoolsStats) Bytes ¶
func (p *PoolsStats) Bytes() ([]byte, error)
type PruningIndex ¶
type PruningIndex struct {
// contains filtered or unexported fields
}
func NewPruningIndex ¶
func NewPruningIndex(kv kvstore.KVStore, key kvstore.Realm) *PruningIndex
func (*PruningIndex) Index ¶
func (e *PruningIndex) Index() (currentEpoch iotago.EpochIndex, valid bool)
func (*PruningIndex) MarkEvicted ¶
func (e *PruningIndex) MarkEvicted(epoch iotago.EpochIndex) error
func (*PruningIndex) NextIndex ¶
func (e *PruningIndex) NextIndex() iotago.EpochIndex
func (*PruningIndex) RestoreFromDisk ¶
func (e *PruningIndex) RestoreFromDisk() error
type SignaledBlock ¶
type SignaledBlock struct { ID iotago.BlockID `serix:""` IssuingTime time.Time `serix:""` HighestSupportedVersion iotago.Version `serix:""` ProtocolParametersHash iotago.Identifier `serix:""` }
func NewSignaledBlock ¶
func NewSignaledBlock(blockID iotago.BlockID, block *iotago.Block, validationBlock *iotago.ValidationBlockBody) *SignaledBlock
func (*SignaledBlock) Compare ¶
func (s *SignaledBlock) Compare(other *SignaledBlock) int
type ValidatorPerformance ¶
type ValidatorPerformance struct { // works if ValidationBlocksPerSlot is less than 32 because we use it as bit vector SlotActivityVector uint32 // can be uint8 because max count per slot is maximally ValidationBlocksPerSlot + 1 BlocksIssuedCount uint8 HighestSupportedVersionAndHash VersionAndHash }
func NewValidatorPerformance ¶
func NewValidatorPerformance() *ValidatorPerformance
func ValidatorPerformanceFromBytes ¶
func ValidatorPerformanceFromBytes(bytes []byte) (*ValidatorPerformance, int, error)
func ValidatorPerformanceFromReader ¶
func ValidatorPerformanceFromReader(reader io.ReadSeeker) (*ValidatorPerformance, error)
func (*ValidatorPerformance) Bytes ¶
func (p *ValidatorPerformance) Bytes() ([]byte, error)
type VersionAndHash ¶
type VersionAndHash struct { Version iotago.Version `serix:""` Hash iotago.Identifier `serix:""` }
func VersionAndHashFromBytes ¶
func VersionAndHashFromBytes(bytes []byte) (VersionAndHash, int, error)
func (VersionAndHash) Bytes ¶
func (v VersionAndHash) Bytes() ([]byte, error)