Documentation ¶
Index ¶
- Constants
- func CreateContractHash(sender util.Uint160, checksum uint32, name string) util.Uint160
- func CreateNativeContractHash(name string) util.Uint160
- type AppExecResult
- func (aer *AppExecResult) DecodeBinary(r *io.BinReader)
- func (aer *AppExecResult) EncodeBinary(w *io.BinWriter)
- func (aer *AppExecResult) EncodeBinaryWithContext(w *io.BinWriter, sc *stackitem.SerializationContext)
- func (aer *AppExecResult) MarshalJSON() ([]byte, error)
- func (aer *AppExecResult) UnmarshalJSON(data []byte) error
- type ContainedNotificationEvent
- type Contract
- type ContractBase
- type Deposit
- type Execution
- type MPTRoot
- type NEOBalance
- type NEP11Transfer
- type NEP17Balance
- type NEP17Transfer
- type NativeContract
- type NotificationEvent
- func (ne *NotificationEvent) DecodeBinary(r *io.BinReader)
- func (ne *NotificationEvent) EncodeBinary(w *io.BinWriter)
- func (ne *NotificationEvent) EncodeBinaryWithContext(w *io.BinWriter, sc *stackitem.SerializationContext)
- func (ne NotificationEvent) MarshalJSON() ([]byte, error)
- func (ne *NotificationEvent) UnmarshalJSON(data []byte) error
- type OracleRequest
- type StorageItem
- type TokenTransferInfo
- type TokenTransferLog
- func (lg *TokenTransferLog) Append(tr io.Serializable) error
- func (lg *TokenTransferLog) ForEachNEP11(f func(*NEP11Transfer) (bool, error)) (bool, error)
- func (lg *TokenTransferLog) ForEachNEP17(f func(*NEP17Transfer) (bool, error)) (bool, error)
- func (lg *TokenTransferLog) Reset()
- func (lg *TokenTransferLog) Size() int
- type Validator
Constants ¶
const TokenTransferBatchSize = 128
TokenTransferBatchSize is the maximum number of entries for TokenTransferLog.
Variables ¶
This section is empty.
Functions ¶
func CreateContractHash ¶ added in v0.92.0
CreateContractHash creates a deployed contract hash from the transaction sender and the contract script.
func CreateNativeContractHash ¶ added in v0.92.0
CreateNativeContractHash calculates the hash for the native contract with the given name.
Types ¶
type AppExecResult ¶
AppExecResult represents 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) EncodeBinaryWithContext ¶ added in v0.99.0
func (aer *AppExecResult) EncodeBinaryWithContext(w *io.BinWriter, sc *stackitem.SerializationContext)
EncodeBinaryWithContext is the same as EncodeBinary, but allows to efficiently reuse stack item serialization context.
func (*AppExecResult) MarshalJSON ¶ added in v0.92.0
func (aer *AppExecResult) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (*AppExecResult) UnmarshalJSON ¶ added in v0.92.0
func (aer *AppExecResult) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaler interface.
type ContainedNotificationEvent ¶ added in v0.99.1
type ContainedNotificationEvent struct { // Container hash is the hash of script container which is either a block or a transaction. Container util.Uint256 NotificationEvent }
ContainedNotificationEvent represents a wrapper for a notification from script execution.
func (*ContainedNotificationEvent) MarshalJSON ¶ added in v0.99.1
func (ne *ContainedNotificationEvent) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (*ContainedNotificationEvent) UnmarshalJSON ¶ added in v0.99.1
func (ne *ContainedNotificationEvent) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the 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) FromStackItem ¶ added in v0.92.0
FromStackItem fills Contract's data from the 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 a part shared by native and user-deployed contracts.
type Deposit ¶ added in v0.92.0
Deposit represents GAS deposit from a Notary contract.
func (*Deposit) FromStackItem ¶ added in v0.96.0
FromStackItem implements stackitem.Convertible interface.
type Execution ¶ added in v0.92.0
type Execution struct { Trigger trigger.Type VMState vmstate.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 the json.Marshaler interface.
func (*Execution) UnmarshalJSON ¶ added in v0.92.0
UnmarshalJSON implements the json.Unmarshaler interface.
type MPTRoot ¶ added in v0.76.0
type MPTRoot struct { Version byte `json:"version"` Index uint32 `json:"index"` Root util.Uint256 `json:"roothash"` Witness []transaction.Witness `json:"witnesses"` }
MPTRoot represents the storage state root together with sign info.
func (*MPTRoot) DecodeBinary ¶ added in v0.76.0
DecodeBinary implements io.Serializable.
func (*MPTRoot) DecodeBinaryUnsigned ¶ added in v0.94.0
DecodeBinaryUnsigned decodes the hashable part of the state root.
func (*MPTRoot) EncodeBinary ¶ added in v0.76.0
EncodeBinary implements io.Serializable.
func (*MPTRoot) EncodeBinaryUnsigned ¶ added in v0.94.0
EncodeBinaryUnsigned encodes the hashable part of the state root.
type NEOBalance ¶ added in v0.96.0
type NEOBalance struct { NEP17Balance BalanceHeight uint32 VoteTo *keys.PublicKey LastGasPerVote big.Int }
NEOBalance represents the balance state of a NEO-token.
func NEOBalanceFromBytes ¶ added in v0.96.0
func NEOBalanceFromBytes(b []byte) (*NEOBalance, error)
NEOBalanceFromBytes converts the serialized NEOBalance to a structure.
func (*NEOBalance) Bytes ¶ added in v0.96.0
func (s *NEOBalance) Bytes(sc *stackitem.SerializationContext) []byte
Bytes returns a serialized NEOBalance.
func (*NEOBalance) FromStackItem ¶ added in v0.96.0
func (s *NEOBalance) FromStackItem(item stackitem.Item) error
FromStackItem converts stackitem.Item to NEOBalance.
func (*NEOBalance) ToStackItem ¶ added in v0.96.0
func (s *NEOBalance) ToStackItem() (stackitem.Item, error)
ToStackItem implements stackitem.Convertible interface. It never returns an error.
type NEP11Transfer ¶ added in v0.98.0
type NEP11Transfer struct { NEP17Transfer // ID is a NEP-11 token ID. ID []byte }
NEP11Transfer represents a single NEP-11 Transfer event.
func (*NEP11Transfer) DecodeBinary ¶ added in v0.98.0
func (t *NEP11Transfer) DecodeBinary(r *io.BinReader)
DecodeBinary implements the io.Serializable interface.
func (*NEP11Transfer) EncodeBinary ¶ added in v0.98.0
func (t *NEP11Transfer) EncodeBinary(w *io.BinWriter)
EncodeBinary implements the io.Serializable interface.
type NEP17Balance ¶ added in v0.96.0
NEP17Balance represents the balance state of a NEP-17-token.
func NEP17BalanceFromBytes ¶ added in v0.96.0
func NEP17BalanceFromBytes(b []byte) (*NEP17Balance, error)
NEP17BalanceFromBytes converts the serialized NEP17Balance to a structure.
func (*NEP17Balance) Bytes ¶ added in v0.96.0
func (s *NEP17Balance) Bytes(buf []byte) []byte
Bytes returns serialized NEP17Balance.
func (*NEP17Balance) FromStackItem ¶ added in v0.96.0
func (s *NEP17Balance) FromStackItem(item stackitem.Item) error
FromStackItem implements stackitem.Convertible.
func (*NEP17Balance) ToStackItem ¶ added in v0.96.0
func (s *NEP17Balance) ToStackItem() (stackitem.Item, error)
ToStackItem implements stackitem.Convertible. It never returns an error.
type NEP17Transfer ¶ added in v0.92.0
type NEP17Transfer struct { // Asset is a NEP-17 contract ID. Asset int32 // Counterparty is the address of the sender/receiver (the other side of the transfer). Counterparty 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 NEP-17 Transfer event.
func (*NEP17Transfer) DecodeBinary ¶ added in v0.92.0
func (t *NEP17Transfer) DecodeBinary(r *io.BinReader)
DecodeBinary implements the io.Serializable interface.
func (*NEP17Transfer) EncodeBinary ¶ added in v0.92.0
func (t *NEP17Transfer) EncodeBinary(w *io.BinWriter)
EncodeBinary implements the io.Serializable interface.
type NativeContract ¶ added in v0.93.0
type NativeContract struct { ContractBase UpdateHistory []uint32 `json:"updatehistory"` }
NativeContract holds information about the 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 the scripthash that has emitted the Item as a notification and the 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) EncodeBinaryWithContext ¶ added in v0.99.0
func (ne *NotificationEvent) EncodeBinaryWithContext(w *io.BinWriter, sc *stackitem.SerializationContext)
EncodeBinaryWithContext is the same as EncodeBinary, but allows to efficiently reuse stack item serialization context.
func (NotificationEvent) MarshalJSON ¶ added in v0.92.0
func (ne NotificationEvent) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (*NotificationEvent) UnmarshalJSON ¶ added in v0.92.0
func (ne *NotificationEvent) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the 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 an oracle request.
func (*OracleRequest) FromStackItem ¶ added in v0.96.0
func (o *OracleRequest) FromStackItem(it stackitem.Item) error
FromStackItem implements stackitem.Convertible interface.
func (*OracleRequest) ToStackItem ¶ added in v0.96.0
func (o *OracleRequest) ToStackItem() (stackitem.Item, error)
ToStackItem implements stackitem.Convertible interface. It never returns an error.
type StorageItem ¶
type StorageItem []byte
StorageItem is the value to be stored with read-only flag.
type TokenTransferInfo ¶ added in v0.98.0
type TokenTransferInfo struct { LastUpdated map[int32]uint32 // NextNEP11Batch stores the index of the next NEP-11 transfer batch. NextNEP11Batch uint32 // NextNEP17Batch stores the index of the next NEP-17 transfer batch. NextNEP17Batch uint32 // NextNEP11NewestTimestamp stores the block timestamp of the first NEP-11 transfer in raw. NextNEP11NewestTimestamp uint64 // NextNEP17NewestTimestamp stores the block timestamp of the first NEP-17 transfer in raw. NextNEP17NewestTimestamp uint64 // NewNEP11Batch is true if batch with the `NextNEP11Batch` index should be created. NewNEP11Batch bool // NewNEP17Batch is true if batch with the `NextNEP17Batch` index should be created. NewNEP17Batch bool }
TokenTransferInfo stores a map of the contract IDs to the balance's last updated block trackers along with the information about NEP-17 and NEP-11 transfer batch.
func NewTokenTransferInfo ¶ added in v0.98.0
func NewTokenTransferInfo() *TokenTransferInfo
NewTokenTransferInfo returns new TokenTransferInfo.
func (*TokenTransferInfo) DecodeBinary ¶ added in v0.98.0
func (bs *TokenTransferInfo) DecodeBinary(r *io.BinReader)
DecodeBinary implements the io.Serializable interface.
func (*TokenTransferInfo) EncodeBinary ¶ added in v0.98.0
func (bs *TokenTransferInfo) EncodeBinary(w *io.BinWriter)
EncodeBinary implements the io.Serializable interface.
type TokenTransferLog ¶ added in v0.98.0
type TokenTransferLog struct { Raw []byte // contains filtered or unexported fields }
TokenTransferLog is a serialized log of token transfers.
func (*TokenTransferLog) Append ¶ added in v0.98.0
func (lg *TokenTransferLog) Append(tr io.Serializable) error
Append appends a single transfer to a log.
func (*TokenTransferLog) ForEachNEP11 ¶ added in v0.98.0
func (lg *TokenTransferLog) ForEachNEP11(f func(*NEP11Transfer) (bool, error)) (bool, error)
ForEachNEP11 iterates over a transfer log returning on the first error.
func (*TokenTransferLog) ForEachNEP17 ¶ added in v0.98.0
func (lg *TokenTransferLog) ForEachNEP17(f func(*NEP17Transfer) (bool, error)) (bool, error)
ForEachNEP17 iterates over a transfer log returning on the first error.
func (*TokenTransferLog) Reset ¶ added in v0.99.1
func (lg *TokenTransferLog) Reset()
Reset resets the state of the log, clearing all entries, but keeping existing buffer for future writes.
func (*TokenTransferLog) Size ¶ added in v0.98.0
func (lg *TokenTransferLog) Size() int
Size returns the amount of the transfer written in the log.