nimbus-eth1/nimbus/core
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
..
chain ForkedChain become ForkedChainRef (#2417) 2024-06-27 12:54:52 +07:00
executor ForkedChain implementation (#2405) 2024-06-26 07:27:48 +07:00
pow rm PoW hash function and validation support (#2372) 2024-06-16 10:22:06 +07:00
tx_pool On demand mpt revisited (#2426) 2024-06-28 15:03:12 +00:00
block_import.nim Consolidate block type for block processing (#2325) 2024-06-09 16:32:20 +02:00
casper.nim processBeaconBlockRoot in TxPool(EIP-4788) 2023-10-19 07:50:07 +07:00
chain.nim saner source code grouping 2022-12-02 13:51:42 +07:00
dao.nim Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +00:00
eip4844.nim Cache code and invalid jump destination tables (fixes #2268) (#2404) 2024-06-21 09:44:10 +02:00
executor.nim avoid initTable (#2328) 2024-06-10 11:05:30 +02:00
gaslimit.nim Simplify txpool baseFeeGet (#2416) 2024-06-27 12:54:36 +07:00
tx_pool.nim Bump nim-eth, nim-web3, nimbus-eth2 (#2344) 2024-06-14 14:31:08 +07:00
validate.nim rm PoW hash function and validation support (#2372) 2024-06-16 10:22:06 +07:00
withdrawals.nim Bump nim-eth, nim-web3, nimbus-eth2 (#2344) 2024-06-14 14:31:08 +07:00