This bounty is no longer available
Web3 DAO | Ethereum Foundation Logo

Clean up the Java interface

Organization

Ethereum Foundation

Deadline

N/A

Status

ENDED


INSTRUCTIONS

Currently the Java interface exposes a lot of internal C structures to Java:

  • evmc_tx_context in HostContext.getTxContext
  • evmc_message and evmc_result in HostContext.call and EvmcVm.execute

Besides that none of the basic types are represented as objects, but as byte[], i.e. address, balance, storage key, storage value, etc.

It would make sense to create Java appropriates for

  • the basic types
  • transaction context, message, and result (and these make use of those basic types also).

Then there needs to be some translation in place which can serialise/deserialise these to the appropriate byte representation expected by the C interface.