nimbus-eth1/nimbus/core/tx_pool/tx_tasks
Jordan Hrycaj 14c3772545
On demand mpt revisited (#2426)
* rebased from `github/on-demand-mpt`

ackn:
  wip: on-demand mpt construction

  Given that actual data is stored in the `Vertex` structure, it's useful
  to think of the MPT as a cache for computing roots rather than being a
  functional requirement on its own.

  This PR engenders this line of thinking by incrementally computing the
  MPT only when it's needed, ie when a state (or similar) root is needed.

  This has the effect of siginficantly reducing memory usage as well as
  improving performance:

  * no need for dirty-mpt-node book-keeping
  * no need to build complex forest of upcoming hashing work
  * only hashes that are functionally needed are ever computed -
  intermediate nodes whose MTP root is not observed are never computed /
  processed

* Unit test hot fixes

* Unit test hot fixes cont.

(somehow lost that part)

---------

Co-authored-by: Jacek Sieka <jacek@status.im>
2024-06-28 15:03:12 +00:00
..
tx_add.nim fix: migration of ethereum-package to ethpandaops (#2348) 2024-06-13 16:03:19 +02:00
tx_bucket.nim Silence compiler gossip after nim upgrade (#1454) 2023-01-30 22:10:23 +00:00
tx_classify.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
tx_dispose.nim Silence compiler gossip after nim upgrade (#1454) 2023-01-30 22:10:23 +00:00
tx_head.nim Bump nim-eth, nim-web3, nimbus-eth2 (#2344) 2024-06-14 14:31:08 +07:00
tx_packer.nim On demand mpt revisited (#2426) 2024-06-28 15:03:12 +00:00
tx_recover.nim Introduce wrapper type for EIP-4844 transactions (#2177) 2024-05-15 10:07:59 +07:00