Documentation ¶
Index ¶
- Variables
- func ParseCatchpointLabel(label string) (round basics.Round, hash crypto.Digest, err error)
- type AccountDeltas
- func (ad *AccountDeltas) Get(addr basics.Address) (basics.AccountData, bool)
- func (ad *AccountDeltas) GetByIdx(i int) (basics.Address, basics.AccountData)
- func (ad *AccountDeltas) Len() int
- func (ad *AccountDeltas) MergeAccounts(other AccountDeltas)
- func (ad *AccountDeltas) ModifiedAccounts() []basics.Address
- func (ad *AccountDeltas) Upsert(addr basics.Address, data basics.AccountData)
- type AccountTotals
- func (at *AccountTotals) AddAccount(proto config.ConsensusParams, data basics.AccountData, ...)
- func (at *AccountTotals) All() basics.MicroAlgos
- func (at *AccountTotals) ApplyRewards(rewardsLevel uint64, ot *basics.OverflowTracker)
- func (_ *AccountTotals) CanMarshalMsg(z interface{}) bool
- func (_ *AccountTotals) CanUnmarshalMsg(z interface{}) bool
- func (at *AccountTotals) DelAccount(proto config.ConsensusParams, data basics.AccountData, ...)
- func (z *AccountTotals) MarshalMsg(b []byte) (o []byte)
- func (z *AccountTotals) MsgIsZero() bool
- func (z *AccountTotals) Msgsize() (s int)
- func (at *AccountTotals) Participating() basics.MicroAlgos
- func (at *AccountTotals) RewardUnits() uint64
- func (z *AccountTotals) UnmarshalMsg(bts []byte) (o []byte, err error)
- type AlgoCount
- func (_ *AlgoCount) CanMarshalMsg(z interface{}) bool
- func (_ *AlgoCount) CanUnmarshalMsg(z interface{}) bool
- func (z *AlgoCount) MarshalMsg(b []byte) (o []byte)
- func (z *AlgoCount) MsgIsZero() bool
- func (z *AlgoCount) Msgsize() (s int)
- func (z *AlgoCount) UnmarshalMsg(bts []byte) (o []byte, err error)
- type BlockInLedgerError
- type CatchpointLabel
- type ErrNoEntry
- type LeaseInLedgerError
- type LogicEvalError
- type ModifiedCreatable
- type StateDelta
- type TransactionInLedgerError
- type Txlease
Constants ¶
This section is empty.
Variables ¶
var ErrCatchpointParsingFailed = errors.New("catchpoint parsing failed")
ErrCatchpointParsingFailed is used when we attempt to parse and catchpoint label and failing doing so.
Functions ¶
Types ¶
type AccountDeltas ¶
type AccountDeltas struct {
// contains filtered or unexported fields
}
AccountDeltas stores ordered accounts and allows fast lookup by address
func (*AccountDeltas) Get ¶
func (ad *AccountDeltas) Get(addr basics.Address) (basics.AccountData, bool)
Get lookups AccountData by address
func (*AccountDeltas) GetByIdx ¶
func (ad *AccountDeltas) GetByIdx(i int) (basics.Address, basics.AccountData)
GetByIdx returns address and AccountData It does NOT check boundaries.
func (*AccountDeltas) Len ¶
func (ad *AccountDeltas) Len() int
Len returns number of stored accounts
func (*AccountDeltas) MergeAccounts ¶
func (ad *AccountDeltas) MergeAccounts(other AccountDeltas)
MergeAccounts applies other accounts into this StateDelta accounts
func (*AccountDeltas) ModifiedAccounts ¶
func (ad *AccountDeltas) ModifiedAccounts() []basics.Address
ModifiedAccounts returns list of addresses of modified accounts
func (*AccountDeltas) Upsert ¶
func (ad *AccountDeltas) Upsert(addr basics.Address, data basics.AccountData)
Upsert adds new or updates existing account account
type AccountTotals ¶
type AccountTotals struct { Online AlgoCount `codec:"online"` Offline AlgoCount `codec:"offline"` NotParticipating AlgoCount `codec:"notpart"` // Total number of algos received per reward unit since genesis RewardsLevel uint64 `codec:"rwdlvl"` // contains filtered or unexported fields }
AccountTotals represents the totals of algos in the system grouped by different account status values.
func (*AccountTotals) AddAccount ¶
func (at *AccountTotals) AddAccount(proto config.ConsensusParams, data basics.AccountData, ot *basics.OverflowTracker)
AddAccount adds an account algos from the total money
func (*AccountTotals) All ¶
func (at *AccountTotals) All() basics.MicroAlgos
All returns the sum of algos held under all different status values.
func (*AccountTotals) ApplyRewards ¶
func (at *AccountTotals) ApplyRewards(rewardsLevel uint64, ot *basics.OverflowTracker)
ApplyRewards adds the reward to the account totals based on the new rewards level
func (*AccountTotals) CanMarshalMsg ¶
func (_ *AccountTotals) CanMarshalMsg(z interface{}) bool
func (*AccountTotals) CanUnmarshalMsg ¶
func (_ *AccountTotals) CanUnmarshalMsg(z interface{}) bool
func (*AccountTotals) DelAccount ¶
func (at *AccountTotals) DelAccount(proto config.ConsensusParams, data basics.AccountData, ot *basics.OverflowTracker)
DelAccount removes an account algos from the total money
func (*AccountTotals) MarshalMsg ¶
func (z *AccountTotals) MarshalMsg(b []byte) (o []byte)
MarshalMsg implements msgp.Marshaler
func (*AccountTotals) MsgIsZero ¶
func (z *AccountTotals) MsgIsZero() bool
MsgIsZero returns whether this is a zero value
func (*AccountTotals) Msgsize ¶
func (z *AccountTotals) Msgsize() (s int)
Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
func (*AccountTotals) Participating ¶
func (at *AccountTotals) Participating() basics.MicroAlgos
Participating returns the sum of algos held under “participating” account status values (Online and Offline). It excludes MicroAlgos held by NotParticipating accounts.
func (*AccountTotals) RewardUnits ¶
func (at *AccountTotals) RewardUnits() uint64
RewardUnits returns the sum of reward units held under “participating” account status values (Online and Offline). It excludes units held by NotParticipating accounts.
func (*AccountTotals) UnmarshalMsg ¶
func (z *AccountTotals) UnmarshalMsg(bts []byte) (o []byte, err error)
UnmarshalMsg implements msgp.Unmarshaler
type AlgoCount ¶
type AlgoCount struct { // Sum of algos of all accounts in this class. Money basics.MicroAlgos `codec:"mon"` // Total number of whole reward units in accounts. RewardUnits uint64 `codec:"rwd"` // contains filtered or unexported fields }
AlgoCount represents a total of algos of a certain class of accounts (split up by their Status value).
func (*AlgoCount) CanMarshalMsg ¶
func (*AlgoCount) CanUnmarshalMsg ¶
func (*AlgoCount) MarshalMsg ¶
MarshalMsg implements msgp.Marshaler
type BlockInLedgerError ¶
BlockInLedgerError is returned when a block cannot be added because it has already been done
func (BlockInLedgerError) Error ¶
func (bile BlockInLedgerError) Error() string
Error satisfies builtin interface `error`
type CatchpointLabel ¶
type CatchpointLabel struct {
// contains filtered or unexported fields
}
CatchpointLabel represent a single catchpoint label. It will "assemble" a label based on the components
func MakeCatchpointLabel ¶
func MakeCatchpointLabel(ledgerRound basics.Round, ledgerRoundBlockHash crypto.Digest, balancesMerkleRoot crypto.Digest, totals AccountTotals) CatchpointLabel
MakeCatchpointLabel creates a catchpoint label given the catchpoint label parameters.
func (CatchpointLabel) Hash ¶
func (l CatchpointLabel) Hash() crypto.Digest
Hash return the hash portion of this catchpoint label
func (CatchpointLabel) String ¶
func (l CatchpointLabel) String() string
String return the user-facing representation of this catchpoint label. ( i.e. the "label" )
type ErrNoEntry ¶
ErrNoEntry is used to indicate that a block is not present in the ledger.
func (ErrNoEntry) Error ¶
func (err ErrNoEntry) Error() string
Error satisfies builtin interface `error`
type LeaseInLedgerError ¶
type LeaseInLedgerError struct {
// contains filtered or unexported fields
}
LeaseInLedgerError is returned when a transaction cannot be added because it has a lease that already being used in the relavant rounds
func MakeLeaseInLedgerError ¶
func MakeLeaseInLedgerError(txid transactions.Txid, lease Txlease) *LeaseInLedgerError
MakeLeaseInLedgerError builds a LeaseInLedgerError object
func (*LeaseInLedgerError) Error ¶
func (lile *LeaseInLedgerError) Error() string
Error implements the error interface for the LeaseInLedgerError stuct
type LogicEvalError ¶
type LogicEvalError struct {
Err error
}
LogicEvalError indicates TEAL evaluation failure
func (LogicEvalError) Error ¶
func (err LogicEvalError) Error() string
Error satisfies builtin interface `error`
type ModifiedCreatable ¶
type ModifiedCreatable struct { // Type of the creatable: app or asset Ctype basics.CreatableType // Created if true, deleted if false Created bool // creator of the app/asset Creator basics.Address // Keeps track of how many times this app/asset appears in // accountUpdates.creatableDeltas Ndeltas int }
ModifiedCreatable defines the changes to a single single creatable state
type StateDelta ¶
type StateDelta struct { // modified accounts Accts AccountDeltas // new Txids for the txtail and TxnCounter, mapped to txn.LastValid Txids map[transactions.Txid]basics.Round // new txleases for the txtail mapped to expiration Txleases map[Txlease]basics.Round // new creatables creator lookup table Creatables map[basics.CreatableIndex]ModifiedCreatable // new block header; read-only Hdr *bookkeeping.BlockHeader // next round for which we expect a compact cert. // zero if no compact cert is expected. CompactCertNext basics.Round // previous block timestamp PrevTimestamp int64 // contains filtered or unexported fields }
StateDelta describes the delta between a given round to the previous round
func MakeStateDelta ¶
func MakeStateDelta(hdr *bookkeeping.BlockHeader, prevTimestamp int64, hint int, compactCertNext basics.Round) StateDelta
MakeStateDelta creates a new instance of StateDelta. hint is amount of transactions for evaluation, 2 * hint is for sender and receiver balance records. This does not play well for AssetConfig and ApplicationCall transactions on scale
func (*StateDelta) OptimizeAllocatedMemory ¶
func (sd *StateDelta) OptimizeAllocatedMemory(proto config.ConsensusParams)
OptimizeAllocatedMemory by reallocating maps to needed capacity For each data structure, reallocate if it would save us at least 50MB aggregate
type TransactionInLedgerError ¶
type TransactionInLedgerError struct {
Txid transactions.Txid
}
TransactionInLedgerError is returned when a transaction cannot be added because it has already been done
func (TransactionInLedgerError) Error ¶
func (tile TransactionInLedgerError) Error() string
Error satisfies builtin interface `error`