...
- re-implement EVM Tool to just the EVM library
- support t8n tool formats
- Quarkus/GraalVM AOT build (suitable for fuzz testing)
- publish library to maven central
Task List of Changes:
- Use the o.h.b.plugin.data classes instead of the o.h.b.core classes
- The o.h.b.core classes that need it will all gain a
fromPlugin
method if they don't have it already
- The o.h.b.core classes that need it will all gain a
- Change
BlockHashLookup
parameters & such toFunction<Long, Hash>
- Remove blockchain reference (only needed for BlockHashLookup)
- Add
setContextVar
/getContextVar
methods and move Privacy things there.- isPersistingPrivateState
- getPrivateStateMetadataUpdater
- transaction
- transactionHash (pmtHash)
- Move to Tuweni Wei
- Move
Gas
from Core to EVM - Factor out transaction wrapper gas calculations into a new BlockchainGasCalculator
- Extracting access lists and intrinsic costs of TX
- code deposit cost
- max pmt cost
- Create in EVM world state updater interface
- Remove uses of account and delegate to the storage interface
- add method to test if an account isEmpty
- for an address get current storage value
- for an address get original storage value
- create EVM focused blockheader interface (to support operations), possibly add to o.h.b.plugin.data
- basefee
- blockhash (?)
- difficulty
- gaslimit
- block number
- block timestamp
- Move account "warm-up" out of the EVM into MainnetTransactionProcessor
- Not the tracking of warm addresses/slots, but the actual reading from the DB
- Remove contract versioning