evmone
evmone copied to clipboard
State Journal improvements
### Improvements
- [ ] Reference the account in a journal entry by pointer instead of address. This can be done because `std::unordered_map` has node pointer stability.
- [ ] Do not erase accounts during rollback. Instead mark accounts for erasion after the transaction (similarly to erasing empty touched accounts).
- [ ] Perform/record a touch even only if the account is empty. It cannot become empty during the transaction so recording touches of non-empty accounts is pointless.
- [ ] Combine state modification and journal update methods. The journal should be hidden from users.