EVM/Kernel: remove indexes from storage
What
Removes accounts and transactions indexes
Why
The indexes were introduced when we realized that subkeys is not deterministic, the goal was to be able to migrate all accounts and receipts if necessary. That was useful in the past, now we cannot afford to migrate millions of accounts and transactions. Furthermore, we plan to move most of this storage outside of the durable storage (in a database like) where we'll be able to migrate everything if it's really needed.
Note that the block indexing remain as it's necessary.
How
I simply looked at where accounts and transactions were indexed, removed the code and propagated the changes.
Manually testing the MR
You can deploy a sandbox sequencer, send some transactions and check that /evm/world_state/indexes/accounts and /evm/world_state/indexes/transactions are empty
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR