Skip to content

feat(RPC): eth_simulateV1#869

Open
XinyuCRO wants to merge 10 commits intorelease/v0.23.xfrom
Xinyu/eth_simulatev1
Open

feat(RPC): eth_simulateV1#869
XinyuCRO wants to merge 10 commits intorelease/v0.23.xfrom
Xinyu/eth_simulatev1

Conversation

@XinyuCRO
Copy link
Copy Markdown

Closes: #XXX

Description


For contributor use:

  • Targeted PR against correct branch (see CONTRIBUTING.md)
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Code follows the module structure standards.
  • Wrote unit and integration tests
  • Updated relevant documentation (docs/) or specification (x/<module>/spec/)
  • Added relevant godoc comments.
  • Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
  • Re-reviewed Files changed in the Github PR explorer

For admin use:

  • Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
  • Reviewers assigned
  • Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 20, 2026

Codecov Report

❌ Patch coverage is 72.15541% with 301 lines in your changes missing coverage. Please review.
✅ Project coverage is 42.61%. Comparing base (e43268a) to head (eb9345f).

Files with missing lines Patch % Lines
rpc/backend/mocks/client.go 0.00% 171 Missing ⚠️
x/evm/keeper/simulate.go 89.36% 20 Missing and 17 partials ⚠️
rpc/types/simulate.go 82.78% 18 Missing and 8 partials ⚠️
rpc/backend/mocks/evm_query_client.go 0.00% 24 Missing ⚠️
rpc/backend/mocks/feemarket_query_client.go 0.00% 16 Missing ⚠️
x/evm/keeper/grpc_query.go 85.45% 4 Missing and 4 partials ⚠️
rpc/namespaces/ethereum/eth/api.go 0.00% 6 Missing ⚠️
rpc/backend/simulate.go 90.24% 2 Missing and 2 partials ⚠️
rpc/types/utils.go 66.66% 2 Missing and 2 partials ⚠️
x/evm/types/tx_args.go 97.22% 2 Missing and 2 partials ⚠️
... and 1 more
Additional details and impacted files

Impacted file tree graph

@@                 Coverage Diff                 @@
##           release/v0.23.x     #869      +/-   ##
===================================================
+ Coverage            40.30%   42.61%   +2.31%     
===================================================
  Files                  190      195       +5     
  Lines                15647    16682    +1035     
===================================================
+ Hits                  6306     7109     +803     
- Misses                8658     8856     +198     
- Partials               683      717      +34     
Files with missing lines Coverage Δ
rpc/backend/backend.go 77.77% <ø> (ø)
rpc/namespaces/ethereum/debug/trace.go 0.00% <ø> (ø)
rpc/types/simulate_errors.go 100.00% <100.00%> (ø)
rpc/types/simulate_tracer.go 100.00% <100.00%> (ø)
rpc/backend/call_tx.go 52.18% <0.00%> (ø)
rpc/backend/simulate.go 90.24% <90.24%> (ø)
rpc/types/utils.go 32.08% <66.66%> (+3.43%) ⬆️
x/evm/types/tx_args.go 97.87% <97.22%> (+8.74%) ⬆️
rpc/namespaces/ethereum/eth/api.go 0.00% <0.00%> (ø)
x/evm/keeper/grpc_query.go 64.47% <85.45%> (+2.14%) ⬆️
... and 5 more

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@XinyuCRO XinyuCRO marked this pull request as ready for review March 25, 2026 03:00
@XinyuCRO XinyuCRO requested a review from a team as a code owner March 25, 2026 03:00
@XinyuCRO XinyuCRO requested review from ApacCronos and JayT106 and removed request for a team March 25, 2026 03:00
@XinyuCRO XinyuCRO changed the base branch from release/v0.22.x to release/v0.23.x March 25, 2026 07:47
@XinyuCRO XinyuCRO force-pushed the Xinyu/eth_simulatev1 branch from 964658e to 4e1561b Compare March 25, 2026 08:11

// Enforce the gas limit cap
gasCap := req.GasCap
if k.queryMaxGasLimit != GasNoLimit {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what value do we set for queryMaxGasLimit? If we don't set it and the user request gasCap also unset. Does it mean user will run through the Max 256 blocks simulation?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here use the same check as eth_call

@songgaoye songgaoye self-requested a review March 26, 2026 02:16
@XinyuCRO XinyuCRO force-pushed the Xinyu/eth_simulatev1 branch from 0273f83 to eb9345f Compare March 27, 2026 02:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants