Documentation ¶
Index ¶
- func ConvertToEthBlock(block *model.Block, fullTx bool) map[string]interface{}
- func DB2EthHeader(block *model.Block) *ethtypes.Header
- func DB2EthLogs(dbLogs []*model.Log) []*ethtypes.Log
- func TopicsMatch(log *ethtypes.Log, filterTopics [][]common.Hash) bool
- type OverrideAccount
- type RPCTransaction
- type StateOverride
- type TransactionArgs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertToEthBlock ¶
ConvertToEthBlock converts block in db to rpc response format of a block.
func DB2EthHeader ¶
DB2EthHeader converts block in db to ethereum header.
func DB2EthLogs ¶
DB2EthLogs converts log in db to ethereum log.
func TopicsMatch ¶
TopicsMatch checks if event matches the filter topics.
The Topic list restricts matches to particular event topics. Each event has a list of topics. Topics matches a prefix of that list. An empty element slice matches any topic. Non-empty elements represent an alternative that matches any of the contained topics.
Examples: {} or nil matches any topic list {{A}} matches topic A in first position {{}, {B}} matches any topic in first position AND B in second position {{A}, {B}} matches topic A in first position AND B in second position {{A, B}, {C, D}} matches topic (A OR B) in first position AND (C OR D) in second position.
Types ¶
type OverrideAccount ¶
type OverrideAccount struct { Nonce *hexutil.Uint64 `json:"nonce"` Code *hexutil.Bytes `json:"code"` Balance **hexutil.Big `json:"balance"` State *map[common.Hash]common.Hash `json:"state"` StateDiff *map[common.Hash]common.Hash `json:"stateDiff"` }
OverrideAccount indicates the overriding fields of account during the execution of a message call. Note, state and stateDiff can't be specified at the same time. If state is set, message execution will only use the data in the given state. Otherwise if statDiff is set, all diff will be applied first and then execute the call message.
type RPCTransaction ¶
type RPCTransaction struct { BlockHash *common.Hash `json:"blockHash"` BlockNumber *hexutil.Big `json:"blockNumber"` From common.Address `json:"from"` Gas hexutil.Uint64 `json:"gas"` GasPrice *hexutil.Big `json:"gasPrice"` GasFeeCap *hexutil.Big `json:"maxFeePerGas,omitempty"` GasTipCap *hexutil.Big `json:"maxPriorityFeePerGas,omitempty"` Hash common.Hash `json:"hash"` Input hexutil.Bytes `json:"input"` Nonce hexutil.Uint64 `json:"nonce"` To *common.Address `json:"to"` TransactionIndex *hexutil.Uint64 `json:"transactionIndex"` Value *hexutil.Big `json:"value"` Type hexutil.Uint64 `json:"type"` Accesses *ethtypes.AccessList `json:"accessList,omitempty"` ChainID *hexutil.Big `json:"chainId,omitempty"` V *hexutil.Big `json:"v"` R *hexutil.Big `json:"r"` S *hexutil.Big `json:"s"` }
RPCTransaction represents a transaction that will serialize to the RPC representation of a transaction.
func NewRPCTransaction ¶
func NewRPCTransaction(dbTx *model.Transaction) *RPCTransaction
NewRPCTransaction returns a transaction that will serialize to the RPC representation.
type StateOverride ¶
type StateOverride map[common.Address]OverrideAccount
StateOverride is the collection of overridden accounts.
type TransactionArgs ¶
type TransactionArgs struct { From *common.Address `json:"from"` To *common.Address `json:"to"` Gas *hexutil.Uint64 `json:"gas"` GasPrice *hexutil.Big `json:"gasPrice"` MaxFeePerGas *hexutil.Big `json:"maxFeePerGas"` MaxPriorityFeePerGas *hexutil.Big `json:"maxPriorityFeePerGas"` Value *hexutil.Big `json:"value"` Nonce *hexutil.Uint64 `json:"nonce"` // We accept "data" and "input" for backwards-compatibility reasons. // "input" is the newer name and should be preferred by clients. // Issue detail: https://github.com/ethereum/go-ethereum/issues/15628 Data *hexutil.Bytes `json:"data"` Input *hexutil.Bytes `json:"input"` // Introduced by AccessListTxType transaction. AccessList *ethtypes.AccessList `json:"accessList,omitempty"` ChainID *hexutil.Big `json:"chainId,omitempty"` }
TransactionArgs represents the call arguments of a transaction.