Skip to content

Conversation

@canepat
Copy link
Member

@canepat canepat commented Sep 19, 2025

No description provided.

@canepat canepat requested a review from lupin012 September 19, 2025 06:21
@canepat canepat force-pushed the canepat/eth_simulateV1 branch from a8d8a79 to bf9ab43 Compare September 19, 2025 09:39
@canepat canepat merged commit df86140 into main Sep 26, 2025
@canepat canepat deleted the canepat/eth_simulateV1 branch September 26, 2025 08:13
canepat added a commit to erigontech/erigon that referenced this pull request Sep 26, 2025
Implementation of `eth_simulateV1` as specified
[here](https://ethereum.github.io/execution-apis/api-documentation/),
there are also some additional notes [specifically for
it](https://ethereum.github.io/execution-apis/ethsimulatev1-notes/).

Closes #9881 

*Additional Changes*
- allow `nonce` override in `ethapi.ToMessage`
- avoid chain ID derivation from `v` in `ethapi.NewRPCTransaction` for
call simulation (i.e. where `v` is zero)
- add `BlobGasUsed` field in `types.Receipt`and extract
`core.MakeReceipt` to avoid duplicating the receipt creation
- extend `jsonrpc.BlockOverrides` to cover more fields and fix JSON tags
to match Geth's ones
- define more RPC error codes

*RPC Tests*
- erigontech/rpc-tests#459

*Known Issues*
- `stateRoot` mismatch in simulated blocks at latest state (4 tests are
currently disabled for this reason)
NazariiDenha pushed a commit to erigontech/erigon that referenced this pull request Oct 24, 2025
Implementation of `eth_simulateV1` as specified
[here](https://ethereum.github.io/execution-apis/api-documentation/),
there are also some additional notes [specifically for
it](https://ethereum.github.io/execution-apis/ethsimulatev1-notes/).

Closes #9881

*Additional Changes*
- allow `nonce` override in `ethapi.ToMessage`
- avoid chain ID derivation from `v` in `ethapi.NewRPCTransaction` for
call simulation (i.e. where `v` is zero)
- add `BlobGasUsed` field in `types.Receipt`and extract
`core.MakeReceipt` to avoid duplicating the receipt creation
- extend `jsonrpc.BlockOverrides` to cover more fields and fix JSON tags
to match Geth's ones
- define more RPC error codes

*RPC Tests*
- erigontech/rpc-tests#459

*Known Issues*
- `stateRoot` mismatch in simulated blocks at latest state (4 tests are
currently disabled for this reason)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants