Documentation ¶
Index ¶
- func MarshalReceipt(receipt *models.Receipt, tx models.Transaction) (map[string]interface{}, error)
- type AccessListResult
- type AccountResult
- type Block
- type BlockHeader
- type BlockOverrides
- type FeeHistoryResult
- type OverrideAccount
- type SignTransactionResult
- type StateOverride
- type StorageResult
- type SyncStatus
- type Transaction
- type TransactionArgs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MarshalReceipt ¶
func MarshalReceipt( receipt *models.Receipt, tx models.Transaction, ) (map[string]interface{}, error)
MarshalReceipt takes a receipt and its associated transaction, and marshals the receipt to the proper structure needed by eth_getTransactionReceipt.
Types ¶
type AccessListResult ¶
type AccessListResult struct { Accesslist *types.AccessList `json:"accessList"` Error string `json:"error,omitempty"` GasUsed hexutil.Uint64 `json:"gasUsed"` }
AccessListResult returns an optional accesslist It's the result of the `debug_createAccessList` RPC call. It contains an error if the transaction itself failed.
type AccountResult ¶
type AccountResult struct { Address common.Address `json:"address"` AccountProof []string `json:"accountProof"` Balance *hexutil.Big `json:"balance"` CodeHash common.Hash `json:"codeHash"` Nonce hexutil.Uint64 `json:"nonce"` StorageHash common.Hash `json:"storageHash"` StorageProof []StorageResult `json:"storageProof"` }
AccountResult structs for GetProof
type Block ¶
type Block struct { Number hexutil.Uint64 `json:"number"` Hash common.Hash `json:"hash"` ParentHash common.Hash `json:"parentHash"` Nonce types.BlockNonce `json:"nonce"` Sha3Uncles common.Hash `json:"sha3Uncles"` LogsBloom hexutil.Bytes `json:"logsBloom"` TransactionsRoot common.Hash `json:"transactionsRoot"` StateRoot common.Hash `json:"stateRoot"` ReceiptsRoot common.Hash `json:"receiptsRoot"` Miner common.Address `json:"miner"` Difficulty hexutil.Uint64 `json:"difficulty"` TotalDifficulty hexutil.Uint64 `json:"totalDifficulty"` ExtraData hexutil.Bytes `json:"extraData"` Size hexutil.Uint64 `json:"size"` GasLimit hexutil.Uint64 `json:"gasLimit"` GasUsed hexutil.Uint64 `json:"gasUsed"` Timestamp hexutil.Uint64 `json:"timestamp"` Transactions interface{} `json:"transactions"` Uncles []common.Hash `json:"uncles"` MixHash common.Hash `json:"mixHash"` BaseFeePerGas hexutil.Big `json:"baseFeePerGas"` }
type BlockHeader ¶
type BlockHeader struct { Number hexutil.Uint64 `json:"number"` Hash common.Hash `json:"hash"` ParentHash common.Hash `json:"parentHash"` Nonce types.BlockNonce `json:"nonce"` Sha3Uncles common.Hash `json:"sha3Uncles"` LogsBloom hexutil.Bytes `json:"logsBloom"` TransactionsRoot common.Hash `json:"transactionsRoot"` StateRoot common.Hash `json:"stateRoot"` ReceiptsRoot common.Hash `json:"receiptsRoot"` Miner common.Address `json:"miner"` ExtraData hexutil.Bytes `json:"extraData"` GasLimit hexutil.Uint64 `json:"gasLimit"` GasUsed hexutil.Uint64 `json:"gasUsed"` Timestamp hexutil.Uint64 `json:"timestamp"` Difficulty hexutil.Uint64 `json:"difficulty"` }
type BlockOverrides ¶
type BlockOverrides struct { Number *hexutil.Big Difficulty *hexutil.Big Time *hexutil.Uint64 GasLimit *hexutil.Uint64 Coinbase *common.Address Random *common.Hash BaseFee *hexutil.Big BlobBaseFee *hexutil.Big }
BlockOverrides is a set of header fields to override.
type FeeHistoryResult ¶
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 SignTransactionResult ¶
type SignTransactionResult struct { Raw hexutil.Bytes `json:"raw"` Tx *types.Transaction `json:"tx"` }
SignTransactionResult represents a RLP encoded signed transaction.
type StateOverride ¶
type StateOverride map[common.Address]OverrideAccount
StateOverride is the collection of overridden accounts.
type StorageResult ¶
type SyncStatus ¶
type Transaction ¶
type Transaction struct { BlockHash *common.Hash `json:"blockHash"` BlockNumber *hexutil.Big `json:"blockNumber"` From common.MixedcaseAddress `json:"from"` Gas hexutil.Uint64 `json:"gas"` GasPrice *hexutil.Big `json:"gasPrice"` GasFeeCap *hexutil.Big `json:"maxFeePerGas,omitempty"` GasTipCap *hexutil.Big `json:"maxPriorityFeePerGas,omitempty"` MaxFeePerBlobGas *hexutil.Big `json:"maxFeePerBlobGas,omitempty"` Hash common.Hash `json:"hash"` Input hexutil.Bytes `json:"input"` Nonce hexutil.Uint64 `json:"nonce"` To *common.MixedcaseAddress `json:"to"` TransactionIndex *hexutil.Uint64 `json:"transactionIndex"` Value *hexutil.Big `json:"value"` Type hexutil.Uint64 `json:"type"` Accesses *types.AccessList `json:"accessList,omitempty"` ChainID *hexutil.Big `json:"chainId,omitempty"` BlobVersionedHashes []common.Hash `json:"blobVersionedHashes,omitempty"` V *hexutil.Big `json:"v"` R *hexutil.Big `json:"r"` S *hexutil.Big `json:"s"` YParity *hexutil.Uint64 `json:"yParity,omitempty"` // contains filtered or unexported fields }
Transaction represents a transaction that will serialize to the RPC representation of a transaction
func NewTransaction ¶
func NewTransaction( tx models.Transaction, networkID *big.Int, ) (*Transaction, error)
func NewTransactionResult ¶
func NewTransactionResult( tx models.Transaction, receipt models.Receipt, networkID *big.Int, ) (*Transaction, error)
func (*Transaction) Size ¶
func (tx *Transaction) Size() uint64
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 *types.AccessList `json:"accessList,omitempty"` ChainID *hexutil.Big `json:"chainId,omitempty"` }
TransactionArgs represents the arguments to construct a new transaction or a message call.
func (TransactionArgs) Validate ¶
func (txArgs TransactionArgs) Validate() error