Skip to content

Conversation

@thomas-nguy
Copy link

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)

@thomas-nguy thomas-nguy requested a review from a team as a code owner October 30, 2025 00:52
@thomas-nguy thomas-nguy requested review from XinyuCRO and randy-cro and removed request for a team October 30, 2025 00:52
@github-actions github-actions bot added the evm label Oct 30, 2025
@github-actions

This comment has been minimized.

@codecov
Copy link

codecov bot commented Oct 30, 2025

Codecov Report

❌ Patch coverage is 44.02985% with 75 lines in your changes missing coverage. Please review.
✅ Project coverage is 46.86%. Comparing base (bd820ee) to head (21270b6).

Files with missing lines Patch % Lines
rpc/backend/tx_info.go 53.26% 32 Missing and 11 partials ⚠️
x/evm/types/tx_args.go 25.80% 23 Missing ⚠️
rpc/namespaces/ethereum/eth/api.go 0.00% 5 Missing ⚠️
x/evm/types/tracer.go 0.00% 4 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #768      +/-   ##
===========================================
+ Coverage    46.85%   46.86%   +0.01%     
===========================================
  Files          189      189              
  Lines        15351    15477     +126     
===========================================
+ Hits          7193     7254      +61     
- Misses        7360     7417      +57     
- Partials       798      806       +8     
Files with missing lines Coverage Δ
rpc/backend/backend.go 77.77% <ø> (ø)
rpc/backend/call_tx.go 63.75% <100.00%> (+3.66%) ⬆️
rpc/types/types.go 0.00% <ø> (ø)
x/evm/types/tracer.go 35.08% <0.00%> (-1.28%) ⬇️
rpc/namespaces/ethereum/eth/api.go 0.00% <0.00%> (ø)
x/evm/types/tx_args.go 76.68% <25.80%> (-12.45%) ⬇️
rpc/backend/tx_info.go 57.83% <53.26%> (-1.52%) ⬇️
🚀 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.

@thomas-nguy thomas-nguy force-pushed the thomas/access-list-support branch from 9eae520 to f4606c5 Compare October 30, 2025 05:52
args.Value = new(hexutil.Big)
}
if args.Nonce == nil {
if args.From == nil {

Choose a reason for hiding this comment

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

why is this check here within the nonce check?

Copy link
Author

Choose a reason for hiding this comment

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

line below requires non null

nonce, _ := b.getAccountNonce(*args.From, true, 0, b.logger)

client.On("ABCIQueryWithOptions", context.Background(), mock.Anything, mock.Anything, mock.Anything).
Return(&tmrpctypes.ResultABCIQuery{
Response: abci.ResponseQuery{
Value: []byte{2}, // TODO replace with data.Bytes(),

Choose a reason for hiding this comment

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

todo not done?

Copy link
Author

Choose a reason for hiding this comment

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

yeah not sure, just copying from above

queryClient.On("Params", rpc.ContextWithHeight(height), &evmtypes.QueryParamsRequest{}).
Return(nil, errortypes.ErrInvalidRequest)
Return(nil, errortypes.ErrInvalidRequest).
Maybe()

Choose a reason for hiding this comment

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

why is Maybe() added for all these test? will it make the test cases less robust?

Copy link
Author

@thomas-nguy thomas-nguy Oct 31, 2025

Choose a reason for hiding this comment

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

it just avoid throwing error when those mocks are not called. It add more flexibility.

I am adding them to that we can create a common method to mock the whole backend and tht can be reused across tests.

It may make the existing tests less robust but I think we should always verify the end results anyways, and not just relying on the mock being called

}

isMerge := b.ChainConfig().MergeNetsplitBlock != nil
precompiles := vm.ActivePrecompiles(b.ChainConfig().Rules(header.Number, isMerge, header.Time))

Choose a reason for hiding this comment

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

do we also need to excludepreInstalls?

Copy link
Author

@thomas-nguy thomas-nguy Oct 31, 2025

Choose a reason for hiding this comment

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

following go-ethereum
https://github.com/ethereum/go-ethereum/blob/master/internal/ethapi/api.go#L1278

tldr precompiles are already warmed, so no need to add them. Preinstall are just normal contracts and should not be exluded

return nil, 0, nil, err
}

prevTracer, traceArgs, err := b.initAccessListTracer(args, blockNum, addressesToExclude)

Choose a reason for hiding this comment

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

I don't find the location that prevTracer wired into the EVM execution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants