Documentation ¶
Index ¶
- Constants
- func CreateContractHash(sender util.Uint160, checksum uint32, name string) util.Uint160
- func CreateNativeContractScript(id int32) []byte
- type AppExecResult
- type Contract
- type ContractBase
- type Deposit
- type Execution
- type MPTRoot
- type MPTRootBase
- type MPTRootState
- type MPTRootStateFlag
- type NEOBalanceState
- type NEP17BalanceState
- type NEP17Balances
- type NEP17Tracker
- type NEP17Transfer
- type NEP17TransferLog
- type NFTAccountState
- func (s *NFTAccountState) Add(tokenID []byte) bool
- func (s *NFTAccountState) DecodeBinary(r *io.BinReader)
- func (s *NFTAccountState) EncodeBinary(w *io.BinWriter)
- func (s *NFTAccountState) FromStackItem(item stackitem.Item) error
- func (s *NFTAccountState) Remove(tokenID []byte) bool
- func (s *NFTAccountState) ToStackItem() stackitem.Item
- type NFTTokenState
- func (s *NFTTokenState) Base() *NFTTokenState
- func (s *NFTTokenState) DecodeBinary(r *io.BinReader)
- func (s *NFTTokenState) EncodeBinary(w *io.BinWriter)
- func (s *NFTTokenState) FromStackItem(item stackitem.Item) error
- func (s *NFTTokenState) ID() []byte
- func (s *NFTTokenState) ToMap() *stackitem.Map
- func (s *NFTTokenState) ToStackItem() stackitem.Item
- type NativeContract
- type NotificationEvent
- type OracleRequest
- type StorageItem
- type Validator
Constants ¶
const NEP17TransferBatchSize = 128
NEP17TransferBatchSize is the maximum number of entries for NEP17TransferLog.
Variables ¶
This section is empty.
Functions ¶
func CreateContractHash ¶ added in v0.92.0
CreateContractHash creates deployed contract hash from transaction sender and contract script.
func CreateNativeContractScript ¶ added in v0.93.0
CreateNativeContractScript returns script for the native contract.
Types ¶
type AppExecResult ¶
AppExecResult represent the result of the script execution, gathering together all resulting notifications, state, stack and other metadata.
func (*AppExecResult) DecodeBinary ¶
func (aer *AppExecResult) DecodeBinary(r *io.BinReader)
DecodeBinary implements the Serializable interface.
func (*AppExecResult) EncodeBinary ¶
func (aer *AppExecResult) EncodeBinary(w *io.BinWriter)
EncodeBinary implements the Serializable interface.
func (*AppExecResult) MarshalJSON ¶ added in v0.92.0
func (aer *AppExecResult) MarshalJSON() ([]byte, error)
MarshalJSON implements implements json.Marshaler interface.
func (*AppExecResult) UnmarshalJSON ¶ added in v0.92.0
func (aer *AppExecResult) UnmarshalJSON(data []byte) error
UnmarshalJSON implements implements json.Unmarshaler interface.
type Contract ¶
type Contract struct { ContractBase UpdateCounter uint16 `json:"updatecounter"` }
Contract holds information about a smart contract in the NEO blockchain.
func (*Contract) DecodeBinary ¶
DecodeBinary implements Serializable interface.
func (*Contract) EncodeBinary ¶
EncodeBinary implements Serializable interface.
func (*Contract) FromStackItem ¶ added in v0.92.0
FromStackItem fills Contract's data from given stack itemized contract representation.
type ContractBase ¶ added in v0.93.0
type ContractBase struct { ID int32 `json:"id"` Hash util.Uint160 `json:"hash"` NEF nef.File `json:"nef"` Manifest manifest.Manifest `json:"manifest"` }
ContractBase represents part shared by native and user-deployed contracts.
type Deposit ¶ added in v0.92.0
Deposit represents GAS deposit from Notary contract.
func (*Deposit) DecodeBinary ¶ added in v0.92.0
DecodeBinary implements io.Serializable interface.
func (*Deposit) EncodeBinary ¶ added in v0.92.0
EncodeBinary implements io.Serializable interface.
type Execution ¶ added in v0.92.0
type Execution struct { Trigger trigger.Type VMState vm.State GasConsumed int64 Stack []stackitem.Item Events []NotificationEvent FaultException string }
Execution represents the result of a single script execution, gathering together all resulting notifications, state, stack and other metadata.
func (Execution) MarshalJSON ¶ added in v0.92.0
MarshalJSON implements implements json.Marshaler interface.
func (*Execution) UnmarshalJSON ¶ added in v0.92.0
UnmarshalJSON implements implements json.Unmarshaler interface.
type MPTRoot ¶ added in v0.76.0
type MPTRoot struct { MPTRootBase Witness *transaction.Witness `json:"witness,omitempty"` }
MPTRoot represents storage state root together with sign info.
func (*MPTRoot) DecodeBinary ¶ added in v0.76.0
DecodeBinary implements io.Serializable.
func (*MPTRoot) EncodeBinary ¶ added in v0.76.0
EncodeBinary implements io.Serializable.
type MPTRootBase ¶ added in v0.76.0
type MPTRootBase struct { Version byte `json:"version"` Index uint32 `json:"index"` PrevHash util.Uint256 `json:"prehash"` Root util.Uint256 `json:"stateroot"` }
MPTRootBase represents storage state root.
func (*MPTRootBase) DecodeBinary ¶ added in v0.76.0
func (s *MPTRootBase) DecodeBinary(r *io.BinReader)
DecodeBinary implements io.Serializable.
func (*MPTRootBase) EncodeBinary ¶ added in v0.76.0
func (s *MPTRootBase) EncodeBinary(w *io.BinWriter)
EncodeBinary implements io.Serializable.
func (*MPTRootBase) Equals ¶ added in v0.76.0
func (s *MPTRootBase) Equals(other *MPTRootBase) bool
Equals checks if s == other.
func (*MPTRootBase) GetSignedHash ¶ added in v0.92.0
func (s *MPTRootBase) GetSignedHash() util.Uint256
GetSignedHash returns hash of MPTRootBase which needs to be signed.
func (*MPTRootBase) GetSignedPart ¶ added in v0.76.0
func (s *MPTRootBase) GetSignedPart() []byte
GetSignedPart returns part of MPTRootBase which needs to be signed.
func (*MPTRootBase) Hash ¶ added in v0.76.0
func (s *MPTRootBase) Hash() util.Uint256
Hash returns hash of s.
type MPTRootState ¶ added in v0.76.0
type MPTRootState struct { MPTRoot `json:"stateroot"` Flag MPTRootStateFlag `json:"flag"` }
MPTRootState represents state root together with its verification state.
func (*MPTRootState) DecodeBinary ¶ added in v0.76.0
func (s *MPTRootState) DecodeBinary(r *io.BinReader)
DecodeBinary implements io.Serializable.
func (*MPTRootState) EncodeBinary ¶ added in v0.76.0
func (s *MPTRootState) EncodeBinary(w *io.BinWriter)
EncodeBinary implements io.Serializable.
type MPTRootStateFlag ¶ added in v0.76.0
type MPTRootStateFlag byte
MPTRootStateFlag represents verification state of the state root.
const ( Unverified MPTRootStateFlag = 0x00 Verified MPTRootStateFlag = 0x01 Invalid MPTRootStateFlag = 0x03 )
Possible verification states of MPTRoot.
func (MPTRootStateFlag) MarshalJSON ¶ added in v0.76.0
func (f MPTRootStateFlag) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (MPTRootStateFlag) String ¶ added in v0.76.0
func (f MPTRootStateFlag) String() string
String implements fmt.Stringer.
func (*MPTRootStateFlag) UnmarshalJSON ¶ added in v0.76.0
func (f *MPTRootStateFlag) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler.
type NEOBalanceState ¶ added in v0.90.0
type NEOBalanceState struct { NEP17BalanceState BalanceHeight uint32 VoteTo *keys.PublicKey }
NEOBalanceState represents balance state of a NEO-token.
func NEOBalanceStateFromBytes ¶ added in v0.90.0
func NEOBalanceStateFromBytes(b []byte) (*NEOBalanceState, error)
NEOBalanceStateFromBytes converts serialized NEOBalanceState to structure.
func (*NEOBalanceState) Bytes ¶ added in v0.90.0
func (s *NEOBalanceState) Bytes() []byte
Bytes returns serialized NEOBalanceState.
func (*NEOBalanceState) DecodeBinary ¶ added in v0.90.0
func (s *NEOBalanceState) DecodeBinary(r *io.BinReader)
DecodeBinary implements io.Serializable interface.
func (*NEOBalanceState) EncodeBinary ¶ added in v0.90.0
func (s *NEOBalanceState) EncodeBinary(w *io.BinWriter)
EncodeBinary implements io.Serializable interface.
type NEP17BalanceState ¶ added in v0.92.0
NEP17BalanceState represents balance state of a NEP17-token.
func NEP17BalanceStateFromBytes ¶ added in v0.92.0
func NEP17BalanceStateFromBytes(b []byte) (*NEP17BalanceState, error)
NEP17BalanceStateFromBytes converts serialized NEP17BalanceState to structure.
func (*NEP17BalanceState) Bytes ¶ added in v0.92.0
func (s *NEP17BalanceState) Bytes() []byte
Bytes returns serialized NEP17BalanceState.
func (*NEP17BalanceState) DecodeBinary ¶ added in v0.92.0
func (s *NEP17BalanceState) DecodeBinary(r *io.BinReader)
DecodeBinary implements io.Serializable interface.
func (*NEP17BalanceState) EncodeBinary ¶ added in v0.92.0
func (s *NEP17BalanceState) EncodeBinary(w *io.BinWriter)
EncodeBinary implements io.Serializable interface.
type NEP17Balances ¶ added in v0.92.0
type NEP17Balances struct { Trackers map[int32]NEP17Tracker // NextTransferBatch stores an index of the next transfer batch. NextTransferBatch uint32 }
NEP17Balances is a map of the NEP17 contract IDs to the corresponding structures.
func NewNEP17Balances ¶ added in v0.92.0
func NewNEP17Balances() *NEP17Balances
NewNEP17Balances returns new NEP17Balances.
func (*NEP17Balances) DecodeBinary ¶ added in v0.92.0
func (bs *NEP17Balances) DecodeBinary(r *io.BinReader)
DecodeBinary implements io.Serializable interface.
func (*NEP17Balances) EncodeBinary ¶ added in v0.92.0
func (bs *NEP17Balances) EncodeBinary(w *io.BinWriter)
EncodeBinary implements io.Serializable interface.
type NEP17Tracker ¶ added in v0.92.0
type NEP17Tracker struct { // Balance is the current balance of the account. Balance big.Int // LastUpdatedBlock is a number of block when last `transfer` to or from the // account occurred. LastUpdatedBlock uint32 }
NEP17Tracker contains info about a single account in a NEP17 contract.
func (*NEP17Tracker) DecodeBinary ¶ added in v0.92.0
func (t *NEP17Tracker) DecodeBinary(r *io.BinReader)
DecodeBinary implements io.Serializable interface.
func (*NEP17Tracker) EncodeBinary ¶ added in v0.92.0
func (t *NEP17Tracker) EncodeBinary(w *io.BinWriter)
EncodeBinary implements io.Serializable interface.
type NEP17Transfer ¶ added in v0.92.0
type NEP17Transfer struct { // Asset is a NEP17 contract ID. Asset int32 // Address is the address of the sender. From util.Uint160 // To is the address of the receiver. To util.Uint160 // Amount is the amount of tokens transferred. // It is negative when tokens are sent and positive if they are received. Amount big.Int // Block is a number of block when the event occurred. Block uint32 // Timestamp is the timestamp of the block where transfer occurred. Timestamp uint64 // Tx is a hash the transaction. Tx util.Uint256 }
NEP17Transfer represents a single NEP17 Transfer event.
func (*NEP17Transfer) DecodeBinary ¶ added in v0.92.0
func (t *NEP17Transfer) DecodeBinary(r *io.BinReader)
DecodeBinary implements io.Serializable interface.
func (*NEP17Transfer) EncodeBinary ¶ added in v0.92.0
func (t *NEP17Transfer) EncodeBinary(w *io.BinWriter)
EncodeBinary implements io.Serializable interface.
type NEP17TransferLog ¶ added in v0.92.0
type NEP17TransferLog struct {
Raw []byte
}
NEP17TransferLog is a log of NEP17 token transfers for the specific command.
func (*NEP17TransferLog) Append ¶ added in v0.92.0
func (lg *NEP17TransferLog) Append(tr *NEP17Transfer) error
Append appends single transfer to a log.
func (*NEP17TransferLog) ForEach ¶ added in v0.92.0
func (lg *NEP17TransferLog) ForEach(f func(*NEP17Transfer) (bool, error)) (bool, error)
ForEach iterates over transfer log returning on first error.
func (*NEP17TransferLog) Size ¶ added in v0.92.0
func (lg *NEP17TransferLog) Size() int
Size returns an amount of transfer written in log.
type NFTAccountState ¶ added in v0.93.0
type NFTAccountState struct { NEP17BalanceState Tokens [][]byte }
NFTAccountState represents state of nonfunglible account.
func (*NFTAccountState) Add ¶ added in v0.93.0
func (s *NFTAccountState) Add(tokenID []byte) bool
Add adds token id to the set of account tokens and returns true on success.
func (*NFTAccountState) DecodeBinary ¶ added in v0.93.0
func (s *NFTAccountState) DecodeBinary(r *io.BinReader)
DecodeBinary implements io.Serializable.
func (*NFTAccountState) EncodeBinary ¶ added in v0.93.0
func (s *NFTAccountState) EncodeBinary(w *io.BinWriter)
EncodeBinary implements io.Serializable.
func (*NFTAccountState) FromStackItem ¶ added in v0.93.0
func (s *NFTAccountState) FromStackItem(item stackitem.Item) error
FromStackItem converts stackitem to NFTAccountState.
func (*NFTAccountState) Remove ¶ added in v0.93.0
func (s *NFTAccountState) Remove(tokenID []byte) bool
Remove removes token id to the set of account tokens and returns true on success.
func (*NFTAccountState) ToStackItem ¶ added in v0.93.0
func (s *NFTAccountState) ToStackItem() stackitem.Item
ToStackItem converts NFTAccountState to stackitem.
type NFTTokenState ¶ added in v0.93.0
NFTTokenState represents state of nonfungible token.
func (*NFTTokenState) Base ¶ added in v0.93.0
func (s *NFTTokenState) Base() *NFTTokenState
Base returns base class.
func (*NFTTokenState) DecodeBinary ¶ added in v0.93.0
func (s *NFTTokenState) DecodeBinary(r *io.BinReader)
DecodeBinary implements io.Serializable.
func (*NFTTokenState) EncodeBinary ¶ added in v0.93.0
func (s *NFTTokenState) EncodeBinary(w *io.BinWriter)
EncodeBinary implements io.Serializable.
func (*NFTTokenState) FromStackItem ¶ added in v0.93.0
func (s *NFTTokenState) FromStackItem(item stackitem.Item) error
FromStackItem converts stackitem to NFTTokenState.
func (*NFTTokenState) ID ¶ added in v0.93.0
func (s *NFTTokenState) ID() []byte
ID returns token id.
func (*NFTTokenState) ToMap ¶ added in v0.93.0
func (s *NFTTokenState) ToMap() *stackitem.Map
ToMap converts NFTTokenState to Map stackitem.
func (*NFTTokenState) ToStackItem ¶ added in v0.93.0
func (s *NFTTokenState) ToStackItem() stackitem.Item
ToStackItem converts NFTTokenState to stackitem.
type NativeContract ¶ added in v0.93.0
type NativeContract struct { ContractBase ActiveBlockIndex uint32 `json:"activeblockindex"` }
NativeContract holds information about native contract.
type NotificationEvent ¶
type NotificationEvent struct { ScriptHash util.Uint160 `json:"contract"` Name string `json:"eventname"` Item *stackitem.Array `json:"state"` }
NotificationEvent is a tuple of scripthash that emitted the Item as a notification and that item itself.
func (*NotificationEvent) DecodeBinary ¶
func (ne *NotificationEvent) DecodeBinary(r *io.BinReader)
DecodeBinary implements the Serializable interface.
func (*NotificationEvent) EncodeBinary ¶
func (ne *NotificationEvent) EncodeBinary(w *io.BinWriter)
EncodeBinary implements the Serializable interface.
func (NotificationEvent) MarshalJSON ¶ added in v0.92.0
func (ne NotificationEvent) MarshalJSON() ([]byte, error)
MarshalJSON implements implements json.Marshaler interface.
func (*NotificationEvent) UnmarshalJSON ¶ added in v0.92.0
func (ne *NotificationEvent) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler interface.
type OracleRequest ¶ added in v0.92.0
type OracleRequest struct { OriginalTxID util.Uint256 GasForResponse uint64 URL string Filter *string CallbackContract util.Uint160 CallbackMethod string UserData []byte }
OracleRequest represents oracle request.
func (*OracleRequest) Bytes ¶ added in v0.92.0
func (o *OracleRequest) Bytes() []byte
Bytes return o serizalized to a byte-slice.
func (*OracleRequest) DecodeBinary ¶ added in v0.92.0
func (o *OracleRequest) DecodeBinary(r *io.BinReader)
DecodeBinary implements io.Serializable.
func (*OracleRequest) EncodeBinary ¶ added in v0.92.0
func (o *OracleRequest) EncodeBinary(w *io.BinWriter)
EncodeBinary implements io.Serializable.
type StorageItem ¶
StorageItem is the value to be stored with read-only flag.
func (*StorageItem) DecodeBinary ¶
func (si *StorageItem) DecodeBinary(r *io.BinReader)
DecodeBinary implements Serializable interface.
func (*StorageItem) EncodeBinary ¶
func (si *StorageItem) EncodeBinary(w *io.BinWriter)
EncodeBinary implements Serializable interface.