diff --git a/etherclient/extras.go b/etherclient/extras.go index bb9875e..7512485 100644 --- a/etherclient/extras.go +++ b/etherclient/extras.go @@ -20,12 +20,20 @@ import ( // TraceCallTransaction contains the fields of the to-be-simulated transaction. type TraceCallTransaction struct { - From string `json:"from"` - To string `json:"to,omitempty"` - Gas *hexutil.Big `json:"gas,omitempty"` - GasPrice *hexutil.Big `json:"gasPrice,omitempty"` - Value *hexutil.Big `json:"value,omitempty"` - Data string `json:"data"` + From *common.Address `json:"from"` + To *common.Address `json:"to,omitempty"` + Gas *hexutil.Uint64 `json:"gas,omitempty"` + GasPrice *hexutil.Big `json:"gasPrice,omitempty"` + MaxFeePerGas *hexutil.Big `json:"maxFeePerGas,omitempty"` + MaxPriorityFeePerGas *hexutil.Big `json:"maxPriorityFeePerGas,omitempty"` + Value *hexutil.Big `json:"value,omitempty"` + 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 *gethtypes.AccessList `json:"accessList,omitempty"`