Documentation ¶
Index ¶
- Constants
- func LoadFromCell(v any, loader *cell.LoadCell) error
- type AccountState
- type AccountStatus
- type AccountStorage
- type AllShardsInfo
- type AnyMessage
- type BinTree
- type Block
- type BlockExtra
- type BlockInfo
- type CurrencyCollection
- type DepthBalanceInfo
- type ExternalMessageIn
- type ExternalMessageOut
- type Grams
- type InternalMessage
- type Magic
- type McBlockExtra
- type Message
- type MsgType
- type ShardDesc
- type ShardIdent
- type ShardState
- type StateInit
- type StateUpdate
- type StorageInfo
- type StorageUsed
- type TickTock
- type Transaction
- type TransactionID
Constants ¶
const ( AccountStatusActive = "ACTIVE" AccountStatusUninit = "UNINIT" AccountStatusFrozen = "FROZEN" AccountStatusNonExist = "NON_EXIST" )
Variables ¶
This section is empty.
Functions ¶
func LoadFromCell ¶ added in v0.8.0
LoadFromCell automatically parses cell based on struct tags ## N - means integer with N bits, if size <= 64 it loads to uint of any size, if > 64 it loads to *big.Int ^ - loads ref and calls recursively, if field type is *cell.Cell, it loads without parsing . - calls recursively to continue load from current loader (inner struct) [^]dict N [-> array [^]] - loads dictionary with key size N, transformation '->' can be applied to convert dict to array, example: 'dict 256 -> array ^' will give you array of deserialized refs (^) of values bits N - loads bit slice N len to []byte bool - loads 1 bit boolean addr - loads ton address maybe - reads 1 bit, and loads rest if its 1, can be used in combination with others only either X Y - reads 1 bit, if its 0 - loads X, if 1 - loads Y Some tags can be combined, for example "dict 256", "maybe ^" Magic can be used to load first bits and check struct type, in tag can be specified magic number itself, in [#]HEX or [$]BIN format Example: _ Magic `tlb:"#deadbeef" _ Magic `tlb:"$1101"
Types ¶
type AccountState ¶ added in v0.3.0
type AccountState struct { IsValid bool Address *address.Address StorageInfo StorageInfo AccountStorage }
func (*AccountState) LoadFromCell ¶ added in v0.3.0
func (a *AccountState) LoadFromCell(loader *cell.LoadCell) error
type AccountStatus ¶ added in v0.5.0
type AccountStatus string
func (*AccountStatus) LoadFromCell ¶ added in v0.9.0
func (g *AccountStatus) LoadFromCell(loader *cell.LoadCell) error
type AccountStorage ¶ added in v0.3.0
type AccountStorage struct { Status AccountStatus LastTransactionLT uint64 Balance *Grams }
func (*AccountStorage) LoadFromCell ¶ added in v0.3.0
func (s *AccountStorage) LoadFromCell(loader *cell.LoadCell) error
type AllShardsInfo ¶ added in v0.9.0
type AllShardsInfo struct {
ShardHashes *cell.Dictionary `tlb:"dict 32"`
}
type AnyMessage ¶ added in v0.6.0
type Block ¶ added in v0.8.0
type Block struct { GlobalID int32 `tlb:"## 32"` BlockInfo *cell.Cell `tlb:"^"` ValueFlow *cell.Cell `tlb:"^"` StateUpdate StateUpdate `tlb:"^"` Extra *BlockExtra `tlb:"^"` // contains filtered or unexported fields }
type BlockExtra ¶ added in v0.8.0
type CurrencyCollection ¶ added in v0.9.0
type CurrencyCollection struct { Coins *Grams `tlb:"."` ExtraCurrencies *cell.Dictionary `tlb:"dict 32"` }
type DepthBalanceInfo ¶ added in v0.5.0
type DepthBalanceInfo struct { Depth uint32 `tlb:"## 5"` Currencies CurrencyCollection `tlb:"."` }
type ExternalMessageIn ¶ added in v0.5.0
type ExternalMessageIn struct { SrcAddr *address.Address `tlb:"addr"` DstAddr *address.Address `tlb:"addr"` ImportFee *Grams `tlb:"."` StateInit *StateInit `tlb:"maybe either . ^"` Body *cell.Cell `tlb:"either . ^"` // contains filtered or unexported fields }
func (*ExternalMessageIn) DestAddr ¶ added in v0.5.0
func (m *ExternalMessageIn) DestAddr() *address.Address
func (*ExternalMessageIn) Payload ¶ added in v0.6.0
func (m *ExternalMessageIn) Payload() *cell.Cell
func (*ExternalMessageIn) SenderAddr ¶ added in v0.6.0
func (m *ExternalMessageIn) SenderAddr() *address.Address
type ExternalMessageOut ¶ added in v0.5.0
type ExternalMessageOut struct { SrcAddr *address.Address `tlb:"addr"` DstAddr *address.Address `tlb:"addr"` CreatedLT uint64 `tlb:"## 64"` CreatedAt uint32 `tlb:"## 32"` StateInit *StateInit `tlb:"maybe either . ^"` Body *cell.Cell `tlb:"either . ^"` // contains filtered or unexported fields }
func (*ExternalMessageOut) DestAddr ¶ added in v0.5.0
func (m *ExternalMessageOut) DestAddr() *address.Address
func (*ExternalMessageOut) Payload ¶ added in v0.6.0
func (m *ExternalMessageOut) Payload() *cell.Cell
func (*ExternalMessageOut) SenderAddr ¶ added in v0.6.0
func (m *ExternalMessageOut) SenderAddr() *address.Address
type Grams ¶ added in v0.3.0
func FromNanoTON ¶ added in v0.7.0
func FromNanoTONU ¶ added in v0.7.0
func MustFromTON ¶ added in v0.7.0
func (*Grams) LoadFromCell ¶ added in v0.9.0
func (*Grams) MarshalJSON ¶ added in v0.6.0
type InternalMessage ¶ added in v0.5.0
type InternalMessage struct { IHRDisabled bool `tlb:"bool"` Bounce bool `tlb:"bool"` Bounced bool `tlb:"bool"` SrcAddr *address.Address `tlb:"addr"` DstAddr *address.Address `tlb:"addr"` Amount *Grams `tlb:"."` ExtraCurrencies *cell.Dictionary `tlb:"dict 32"` IHRFee *Grams `tlb:"."` FwdFee *Grams `tlb:"."` CreatedLT uint64 `tlb:"## 64"` CreatedAt uint32 `tlb:"## 32"` StateInit *StateInit `tlb:"maybe either . ^"` Body *cell.Cell `tlb:"either . ^"` // contains filtered or unexported fields }
func (*InternalMessage) Comment ¶ added in v0.6.0
func (m *InternalMessage) Comment() string
func (*InternalMessage) DestAddr ¶ added in v0.6.0
func (m *InternalMessage) DestAddr() *address.Address
func (*InternalMessage) Dump ¶ added in v0.5.0
func (m *InternalMessage) Dump() string
func (*InternalMessage) Payload ¶ added in v0.6.0
func (m *InternalMessage) Payload() *cell.Cell
func (*InternalMessage) SenderAddr ¶ added in v0.6.0
func (m *InternalMessage) SenderAddr() *address.Address
type McBlockExtra ¶ added in v0.8.0
type McBlockExtra struct { KeyBlock uint8 `tlb:"## 1"` ShardHashes *cell.Dictionary `tlb:"dict 32"` ShardFees *cell.Dictionary `tlb:"dict 96"` // contains filtered or unexported fields }
type Message ¶ added in v0.5.0
type Message struct { MsgType MsgType Msg AnyMessage }
func (*Message) AsExternalIn ¶ added in v0.5.0
func (m *Message) AsExternalIn() *ExternalMessageIn
func (*Message) AsExternalOut ¶ added in v0.5.0
func (m *Message) AsExternalOut() *ExternalMessageOut
func (*Message) AsInternal ¶ added in v0.5.0
func (m *Message) AsInternal() *InternalMessage
type ShardDesc ¶ added in v0.8.0
type ShardDesc struct { SeqNo uint32 `tlb:"## 32"` RegMcSeqno uint32 `tlb:"## 32"` StartLT uint64 `tlb:"## 64"` EndLT uint64 `tlb:"## 64"` RootHash []byte `tlb:"bits 256"` FileHash []byte `tlb:"bits 256"` BeforeSplit bool `tlb:"bool"` BeforeMerge bool `tlb:"bool"` WantSplit bool `tlb:"bool"` WantMerge bool `tlb:"bool"` NXCCUpdated bool `tlb:"bool"` Flags uint8 `tlb:"## 3"` NextCatchainSeqNo uint32 `tlb:"## 32"` NextValidatorShard uint64 `tlb:"## 64"` MinRefMcSeqNo uint32 `tlb:"## 32"` GenUTime uint32 `tlb:"## 32"` // contains filtered or unexported fields }
type ShardIdent ¶ added in v0.8.0
type ShardState ¶ added in v0.8.0
type ShardState struct { GlobalID int32 `tlb:"## 32"` ShardIdent ShardIdent `tlb:"."` Seqno uint32 `tlb:"## 32"` OutMsgQueueInfo *cell.Cell `tlb:"^"` Accounts struct { ShardAccounts *cell.Dictionary `tlb:"dict 256"` } `tlb:"^"` // contains filtered or unexported fields }
type StateInit ¶ added in v0.5.0
type StateUpdate ¶ added in v0.8.0
type StateUpdate struct { Old ShardState `tlb:"^"` New ShardState `tlb:"^"` }
type StorageInfo ¶ added in v0.3.0
type StorageInfo struct { StorageUsed StorageUsed LastPaid uint32 DuePayment *big.Int }
func (*StorageInfo) LoadFromCell ¶ added in v0.3.0
func (s *StorageInfo) LoadFromCell(loader *cell.LoadCell) error
type StorageUsed ¶ added in v0.3.0
func (*StorageUsed) LoadFromCell ¶ added in v0.3.0
func (s *StorageUsed) LoadFromCell(loader *cell.LoadCell) error
type Transaction ¶ added in v0.5.0
type Transaction struct { AccountAddr []byte `tlb:"bits 256"` LT uint64 `tlb:"## 64"` PrevTxHash []byte `tlb:"bits 256"` PrevTxLT uint64 `tlb:"## 64"` Now uint32 `tlb:"## 32"` OutMsgCount uint16 `tlb:"## 15"` OrigStatus AccountStatus `tlb:"."` EndStatus AccountStatus `tlb:"."` IO struct { In *Message `tlb:"maybe ^"` Out []*Message `tlb:"dict 15 -> array ^"` } `tlb:"^"` TotalFees CurrencyCollection `tlb:"."` StateUpdate *cell.Cell `tlb:"^"` Description *cell.Cell `tlb:"^"` // contains filtered or unexported fields }
func (*Transaction) Dump ¶ added in v0.5.0
func (t *Transaction) Dump() string
func (*Transaction) String ¶ added in v0.5.0
func (t *Transaction) String() string