@@ -433,29 +433,32 @@ type SignTransactionResult struct {
433433// of a message call.
434434// Note, state and stateDiff can't be specified at the same time. If state is
435435// set, message execution will only use the data in the given state. Otherwise
436- // if statDiff is set, all diff will be applied first and then execute the call
436+ // if stateDiff is set, all diff will be applied first and then execute the call
437437// message.
438438type OverrideAccount struct {
439- Nonce * hexutil.Uint64 `json:"nonce"`
440- Code * hexutil.Bytes `json:"code"`
441- Balance * * hexutil.Big `json:"balance"`
442- State * map [common.Hash ]common.Hash `json:"state"`
443- StateDiff * map [common.Hash ]common.Hash `json:"stateDiff"`
439+ Nonce * hexutil.Uint64 `json:"nonce"`
440+ Code * hexutil.Bytes `json:"code"`
441+ Balance * hexutil.Big `json:"balance"`
442+ State map [common.Hash ]common.Hash `json:"state"`
443+ StateDiff map [common.Hash ]common.Hash `json:"stateDiff"`
444+ MovePrecompileTo * common.Address `json:"movePrecompileToAddress"`
444445}
445446
446447// StateOverride is the collection of overridden accounts.
447448type StateOverride map [common.Address ]OverrideAccount
448449
449450// BlockOverrides is a set of header fields to override.
450451type BlockOverrides struct {
451- Number * hexutil.Big
452- Difficulty * hexutil.Big
453- Time * hexutil.Uint64
454- GasLimit * hexutil.Uint64
455- Coinbase * common.Address
456- Random * common.Hash
457- BaseFee * hexutil.Big
458- BlobBaseFee * hexutil.Big
452+ Number * hexutil.Big
453+ Difficulty * hexutil.Big // No-op if we're simulating post-merge calls.
454+ Time * hexutil.Uint64
455+ GasLimit * hexutil.Uint64
456+ FeeRecipient * common.Address
457+ PrevRandao * common.Hash
458+ BaseFeePerGas * hexutil.Big
459+ BlobBaseFee * hexutil.Big
460+ BeaconRoot * common.Hash
461+ Withdrawals * types.Withdrawals
459462}
460463
461464type Block struct {
0 commit comments