Skip to content

Conversation

@sonhv0212
Copy link
Contributor

Description

This PR cherry-picked two PRs from go-ethereum to align with the changes in EIP-7702:

This pull request improves the protection mechanism in the txpool for senders with delegation. A sender with either delegation or pending delegation is now limited to a maximum of one in-flight executable transaction, while gapped transactions will be rejected.

Reason:
If nonce-gapped transaction from delegated/pending-delegated senders can be acceptable, then it's no-longer possible to send another "executable" transaction with correct nonce due to the policy of at most one inflight tx. The gapped transaction will be stuck in the txpool, with no meaningful way to unlock the sender.

rjl493456442 and others added 2 commits April 3, 2025 13:23
This pull request improves the protection mechanism in the txpool for 
senders with delegation. A sender with either delegation or pending 
delegation is now limited to a maximum of one in-flight executable 
transaction, while gapped transactions will be rejected.

Reason:
If nonce-gapped transaction from delegated/pending-delegated senders
can be acceptable, then it's no-longer possible to send another
"executable" transaction with correct nonce due to the policy of at most
one inflight tx. The gapped transaction will be stuck in the txpool, with no
meaningful way to unlock the sender.

---------

Co-authored-by: lightclient <[email protected]>
@sonhv0212 sonhv0212 requested a review from trantienduchn April 3, 2025 06:38
@sonhv0212 sonhv0212 merged commit c371e14 into ronin-chain:eip-7702 Apr 3, 2025
1 check passed
trantienduchn added a commit to trantienduchn/ronin that referenced this pull request May 21, 2025
Member PRs:
- ronin-chain#32 `core/types: setcode tx type`
- ronin-chain#33 `core/types: transaction NewMessage() add authList`
- ronin-chain#35 `core/vm: update 7702 EVM resolve code & gas estimation`
- ronin-chain#38 `core: state_transition with AuthList`
- ronin-chain#41 `internal, graphql, test: remaining components of 7702`
- ronin-chain#46 `all: refactor names & singner 7702`
- ronin-chain#47 `core/types, test: correct chainId 7702`
- ronin-chain#49 `core/txpool: support SetCode tx 7702`
- ronin-chain#53 `core/state: correct account selfdestruct EIP-6780 (part of 7702)`
- ronin-chain#55 `core/txpool/legacypool: reject gapped tx from delegated account`

---------

Co-authored-by: sonhv0212 <[email protected]>
Co-authored-by: Martin Holst Swende <[email protected]>
Co-authored-by: Felix Lange <[email protected]>
Co-authored-by: Shude Li <[email protected]>
Co-authored-by: lightclient <[email protected]>
Co-authored-by: Marius van der Wijden <[email protected]>
Co-authored-by: rjl493456442 <[email protected]>
Co-authored-by: buddho <[email protected]>
Co-authored-by: rjl493456442 <[email protected]>
Co-authored-by: rekyyang <[email protected]>
Co-authored-by: sashabeton <[email protected]>
Co-authored-by: sashabeton <[email protected]>
chiphamskymavis pushed a commit that referenced this pull request May 21, 2025
* core/txpool/legacypool: reject gapped tx from delegated account (#31430)

This pull request improves the protection mechanism in the txpool for 
senders with delegation. A sender with either delegation or pending 
delegation is now limited to a maximum of one in-flight executable 
transaction, while gapped transactions will be rejected.

Reason:
If nonce-gapped transaction from delegated/pending-delegated senders
can be acceptable, then it's no-longer possible to send another
"executable" transaction with correct nonce due to the policy of at most
one inflight tx. The gapped transaction will be stuck in the txpool, with no
meaningful way to unlock the sender.

---------

Co-authored-by: lightclient <[email protected]>

* core/txpool/legacypool: fix data race in checkDelegationLimit (#31475)

---------

Co-authored-by: rjl493456442 <[email protected]>
Co-authored-by: lightclient <[email protected]>
Co-authored-by: rekyyang <[email protected]>
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.

4 participants