nimbus-eth1/nimbus/core
andri lim 7d3616e3d9
Refactor TxPool: leaner and simpler (#2973)
* Refactor TxPool: leaner and simpler
* Rewrite test_txpool

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.
2024-12-26 17:07:25 +07:00
..
chain Refactor TxPool: leaner and simpler (#2973) 2024-12-26 17:07:25 +07:00
executor Rename stateDB to ledger (#2966) 2024-12-21 20:46:13 +07:00
pow replace deprecated types (#2704) 2024-10-16 08:34:12 +07:00
tx_pool Refactor TxPool: leaner and simpler (#2973) 2024-12-26 17:07:25 +07:00
block_import.nim Reduce getCanonicalHead usage, and delegate to ForkedChain (#2948) 2024-12-18 11:04:23 +07:00
casper.nim replace deprecated types (#2704) 2024-10-16 08:34:12 +07:00
chain.nim Wiring ForkedChainRef to other components (#2423) 2024-09-04 09:54:54 +00:00
dao.nim Rename stateDB to ledger (#2966) 2024-12-21 20:46:13 +07:00
eip4844.nim devnet-5: Implement EIP-7691: Blob throughput increase (#2957) 2024-12-20 09:12:16 +00:00
eip6110.nim Fixes related to Prague execution requests (#2847) 2024-11-08 10:47:07 +07:00
eip7691.nim devnet-5: Implement EIP-7691: Blob throughput increase (#2957) 2024-12-20 09:12:16 +00:00
eip7702.nim Add missing pieces of EIP-7702 (#2877) 2024-11-27 08:59:42 +01:00
executor.nim avoid initTable (#2328) 2024-06-10 11:05:30 +02:00
gaslimit.nim replace deprecated types (#2704) 2024-10-16 08:34:12 +07:00
tx_pool.nim Refactor TxPool: leaner and simpler (#2973) 2024-12-26 17:07:25 +07:00
validate.nim Refactor TxPool: leaner and simpler (#2973) 2024-12-26 17:07:25 +07:00
withdrawals.nim Interpreter dispatch cleanups (#2913) 2024-12-06 13:01:15 +01:00