Add EIP7702 tx handle logic for txpool #15311
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is a mirror of Geth's relative PR ethereum/go-ethereum#31073
Which add two new rules for 7702 TX:
In addition to tracking transactions, the pool also tracks a set of pending SetCode
authorizations (EIP7702). As a standard rule, any account with a deployed
delegation or an in-flight authorization to deploy a delegation will only be allowed a
single transaction slot instead of the standard number. This is due to the possibility
of the account being sweeped by an unrelated account.
In case the pool is tracking a pending / queued transaction from a specific account, it
will reject new transactions with delegations from that account with standard in-flight
transactions.
Additionally, the identifiers were moved from the PoolInner struct to the TxPool struct because they are needed to obtain the senderId of the auth signature address, which is then used to determine whether they have transactions in the pending and queue pools.