Skip to content

[Chore] additional e2e 7702 tests#2615

Open
thedarkjester wants to merge 20 commits intomainfrom
chore/e2e-7702-inner
Open

[Chore] additional e2e 7702 tests#2615
thedarkjester wants to merge 20 commits intomainfrom
chore/e2e-7702-inner

Conversation

@thedarkjester
Copy link
Collaborator

@thedarkjester thedarkjester commented Mar 18, 2026

This PR implements issue(s) #

Checklist

  • I wrote new tests for my new core changes.
  • I have successfully ran tests, style checker and build against my new changes locally.
  • If this change is deployed to any environment (including Devnet), E2E test coverage exists or is included in this
    PR.
  • I have informed the team of any breaking changes if there are any.

Note

Medium Risk
Mostly adds test-only Solidity contracts and E2E coverage, but also updates the local Docker Besu package tag and contract predeploy/nonces, which can break local dev/e2e setups if mismatched.

Overview
Adds a new EIP-7702 local test fixture: three Solidity contracts (Eip7702TestNested, Eip77022Delegated, Eip7702TestEntrypoint) plus static artifacts and a deployEIP7702Contracts.ts script wired into deploy-contracts via makefile-contracts.mk.

Extends the E2E suite to validate nested delegation denylist enforcement (verifying a transaction is not mined when an intermediate delegated EOA is denylisted), and updates denylist reload behavior to refresh both TransactionPoolValidator and TransactionSelector plugins.

Updates local E2E config to include predeployed EIP-7702 contract addresses and adjusts existing local contract addresses/nonces; also bumps the local linea-besu-package image tag in compose-spec-l2-services.yml.

Written by Cursor Bugbot for commit f625464. This will update automatically on new commits. Configure here.

@thedarkjester thedarkjester requested a review from a team as a code owner March 18, 2026 14:59
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

gas: 100_000n,
maxFeePerGas,
maxPriorityFeePerGas,
});
Copy link

Choose a reason for hiding this comment

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

Delegation transaction uses wrong account's nonce

Medium Severity

nonceActor fetches the transaction count for actor.address, but is then used as the nonce for a transaction sent by relayerWalletClient. The EIP-7702 authorizationList transaction is submitted by the relayer, so the transaction nonce must be the relayer's nonce. This works by coincidence because both are freshly generated accounts with nonce 0, but it is logically incorrect and fragile. The second transaction later in the test correctly uses sequencerClient.getTransactionCount({ address: relayer.address }).

Fix in Cursor Fix in Web

@codecov-commenter
Copy link

codecov-commenter commented Mar 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.89%. Comparing base (f23c478) to head (f625464).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##              main    #2615       +/-   ##
============================================
+ Coverage     9.70%   58.89%   +49.18%     
- Complexity       0     1620     +1620     
============================================
  Files          454      454               
  Lines        18530    18530               
  Branches      2014     2014               
============================================
+ Hits          1799    10913     +9114     
+ Misses       16731     6948     -9783     
- Partials         0      669      +669     
Flag Coverage Δ
hardhat 96.53% <ø> (ø)
kotlin 54.73% <ø> (+54.62%) ⬆️
see 293 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.

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