nimbus-eth1/nimbus
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
..
beacon Refactor TxPool: leaner and simpler (#2973) 2024-12-26 17:07:25 +07:00
common Remove unused stuff from txpool (#2967) 2024-12-21 20:13:33 +07:00
core Refactor TxPool: leaner and simpler (#2973) 2024-12-26 17:07:25 +07:00
db Rename stateDB to ledger (#2966) 2024-12-21 20:46:13 +07:00
evm Rename stateDB to ledger (#2966) 2024-12-21 20:46:13 +07:00
graphql Refactor TxPool: leaner and simpler (#2973) 2024-12-26 17:07:25 +07:00
rpc Refactor TxPool: leaner and simpler (#2973) 2024-12-26 17:07:25 +07:00
stateless replace deprecated types (#2704) 2024-10-16 08:34:12 +07:00
sync Beacon sync mainentenance updates (#2958) 2024-12-19 12:02:36 +00:00
transaction Rename stateDB to ledger (#2966) 2024-12-21 20:46:13 +07:00
utils Rename stateDB to ledger (#2966) 2024-12-21 20:46:13 +07:00
common.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
compile_info.nim Simplify LedgerRef: remove unnecessary abstraction (#2826) 2024-11-06 09:01:56 +07:00
config.nim Remove verifyFrom, vmState, and checkSeal from ChainRef (#2932) 2024-12-13 12:12:57 +07:00
constants.nim Remove unused stuff from txpool (#2967) 2024-12-21 20:13:33 +07:00
errors.nim Remove unused stuff from txpool (#2967) 2024-12-21 20:13:33 +07:00
makefile Snap sync fix trie interpolation fringe condition (#1457) 2023-02-01 18:56:06 +00:00
nim.cfg import: read from era files (#2254) 2024-05-31 09:13:56 +02:00
nimbus_desc.nim Fix race condition on syncer termination (#2916) 2024-12-06 12:11:40 +00:00
nimbus_execution_client.nim Refactor TxPool: leaner and simpler (#2973) 2024-12-26 17:07:25 +07:00
nimbus_import.nim Stream blocks during import (#2937) 2024-12-18 13:21:20 +01:00
rpc.nim Remove unused stuff from txpool (#2967) 2024-12-21 20:13:33 +07:00
tracer.nim Rename stateDB to ledger (#2966) 2024-12-21 20:46:13 +07:00
transaction.nim Refactor TxPool: leaner and simpler (#2973) 2024-12-26 17:07:25 +07:00
version.nim Feature: User configurable extraData when assemble a block (#2823) 2024-11-06 09:01:25 +07:00