Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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
  • Change BlockHashLookup parameters & such to Function<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