Skip to content

EVMC 10.0.0

Compare
Choose a tag to compare
@chfast chfast released this 25 Aug 10:43
· 66 commits to master since this release
v10.0.0
05819e3

Added

  • Information about PUSH0 instruction from EIP-3855 for Shanghai revision. #628
  • The Paris (aka The Merge) EVM revision. #627 #634
  • The Cancun EVM revision (anticipated after Shanghai) #633
  • The gas refund counter has been added to the evmc_result. #666
  • The error code EVMC_LOADER_UNSPECIFIED_ERROR has been defined to provide a convenient way of initializing evmc_loader_error_code objects. #617
  • Support for Visual Studio 2022. #619
  • C++ types evmc::address and evmc::bytes32 are convertible to std::basic_string_view<uint8_t>. #636
  • Convenient constructors for C++ evmc::result. #660
  • Rust: The EvmcVm::set_option has been added. #614

Changed

  • The code_address field has been added to the evmc_message type. It represents the address of an account from which the code is being executed and is useful for DELEGATECALL implementations. #611 #615
  • The evmc_message::destination field has been renamed to evmc_message::recipient to clarify its purpose and match the naming from the Yellow Paper. #616
  • The evmc_storage_status has been extended to provide information about every possible case of storage net gas metering (EIP-2200). #661
  • The selfdestruct method returns the information if the given address has not been registered as selfdestructed yet. #662
  • C++: The evmc::result has been renamed to evmc::Result for consistency with C++ types of similar kind. #665
  • C++: The HostContext does not cache transaction context (evmc_tx_context) anymore. #631
  • Go: The create2Salt parameter has been removed from the VM.Execute(). #612
  • Code quality improvements. #618 #620 #621 #632
  • According to EIP-4399, block_difficulty field was renamed to block_prev_randao, and DIFFICULTY opcode to PREVRANDAO. #635
  • The evmc::hex support C++ library has been refactored and converted to a single-header library. #643 #648 #649 #654
  • For command-line tools to load input/code from a file the @file syntax must be used. E.g. evmc run @contract.evm --input @data.in. #647
  • Improvements to the evmc::MockedHost testing utility around account storage and selfdestructs. #661 #662 #670

Fixed

  • Java bindings fixes. #653

Removed

  • The support for C++ 0_address and 0_bytes32 literals has been removed. #652