Documentation ¶
Index ¶
Constants ¶
View Source
const ( DirectCallStr = "directCall" AsynchronousCallStr = "asynchronousCall" AsynchronousCallBackStr = "asynchronousCallBack" ESDTTransferAndExecuteStr = "esdtTransferAndExecute" ExecOnDestByCallerStr = "execOnDestByCaller" UnknownStr = "unknown" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CallType ¶
type CallType int
CallType specifies the type of SC invocation (in terms of asynchronicity)
const ( // DirectCall means that the call is an explicit SC invocation originating from a user Transaction DirectCall CallType = iota // AsynchronousCall means that the invocation was performed from within // another SmartContract from another Shard, using asyncCall AsynchronousCall // AsynchronousCallBack means that an AsynchronousCall was performed // previously, and now the control returns to the caller SmartContract's callBack method AsynchronousCallBack // ESDTTransferAndExecute means that there is a smart contract execution after the ESDT transfer // this is needed in order to skip the check whether a contract is payable or not ESDTTransferAndExecute // ExecOnDestByCaller means that the call is an invocation of a built in function / smart contract from // another smart contract but the caller is from the previous caller ExecOnDestByCaller )
type LogEntryApi ¶
type LogEntryApi struct { Identifier []byte `json:"identifier"` Address string `json:"address"` Topics [][]byte `json:"topics"` Data []byte `json:"data"` AdditionalData [][]byte `json:"additionalData"` }
LogEntryApi is a wrapper over vmcommon's LogEntry
type OutputAccountApi ¶
type OutputAccountApi struct { Address string `json:"address"` Nonce uint64 `json:"nonce"` Balance *big.Int `json:"balance"` BalanceDelta *big.Int `json:"balanceDelta"` StorageUpdates map[string]*StorageUpdateApi `json:"storageUpdates"` Code []byte `json:"code"` CodeMetadata []byte `json:"codeMetaData"` OutputTransfers []OutputTransferApi `json:"outputTransfers"` CallType CallType `json:"callType"` }
OutputAccountApi is a wrapper over vmcommon's OutputAccount
type OutputTransferApi ¶
type OutputTransferApi struct { Value *big.Int `json:"value"` GasLimit uint64 `json:"gasLimit"` Data []byte `json:"data"` CallType CallType `json:"callType"` SenderAddress string `json:"senderAddress"` }
OutputTransferApi is a wrapper over vmcommon's OutputTransfer
type ReturnDataKind ¶
type ReturnDataKind int
ReturnDataKind specifies how to interpret VMOutputs's return data. More specifically, how to interpret returned data's first item.
const ( // AsBigInt to interpret as big int AsBigInt ReturnDataKind = 1 << iota // AsBigIntString to interpret as big int string AsBigIntString // AsString to interpret as string AsString // AsHex to interpret as hex AsHex )
type StorageUpdateApi ¶
StorageUpdateApi is a wrapper over vmcommon's StorageUpdate
type VMOutputApi ¶
type VMOutputApi struct { ReturnData [][]byte `json:"returnData"` ReturnCode string `json:"returnCode"` ReturnMessage string `json:"returnMessage"` GasRemaining uint64 `json:"gasRemaining"` GasRefund *big.Int `json:"gasRefund"` OutputAccounts map[string]*OutputAccountApi `json:"outputAccounts"` DeletedAccounts [][]byte `json:"deletedAccounts"` TouchedAccounts [][]byte `json:"touchedAccounts"` Logs []*LogEntryApi `json:"logs"` }
VMOutputApi is a wrapper over the vmcommon's VMOutput
func (*VMOutputApi) GetFirstReturnData ¶
func (vmOutput *VMOutputApi) GetFirstReturnData(asType ReturnDataKind) (interface{}, error)
GetFirstReturnData is a helper function that returns the first ReturnData of VMOutput, interpreted as specified.
Click to show internal directories.
Click to hide internal directories.