Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor TxPool: leaner and simpler #2973

Merged
merged 7 commits into from
Dec 26, 2024
Merged

Refactor TxPool: leaner and simpler #2973

merged 7 commits into from
Dec 26, 2024

Conversation

jangko
Copy link
Contributor

@jangko jangko commented Dec 24, 2024

Reduce number of tables used, from 5 to 2.
Reduce number of files.
If need to modify the price rule or other filters, now is far more easier because only one table to work with(sender/nonce).
And the other table is just a map from txHash to TxItemRef.

Removing transactions from txPool either because of producing new block or syncing became much easier.
Removing expired transactions also simple.
Explicit Tx Pending, Staged, or Packed status is removed. The status of the transactions can be inferred implicitly.
Developer new to TxPool can easily follow the logic.

But the most important is we can revive the test_txpool without dirty trick and remove usage of getCanonicalHead furthermore to prepare for better integration with ForkedChain.

@jangko jangko merged commit 7d3616e into master Dec 26, 2024
13 checks passed
@jangko jangko deleted the txpool branch December 26, 2024 10:07
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.

1 participant