diff --git a/scripts/setup-dependencies.sh b/scripts/setup-dependencies.sh index ea4b4c771..42cf65262 100755 --- a/scripts/setup-dependencies.sh +++ b/scripts/setup-dependencies.sh @@ -105,7 +105,7 @@ cd ../.. # NOTE: evmc v10.0.0 requires evmone v0.9.0 # evmc v10.1.1 requires evmone v0.10.0 (which requires c++20) -EVMC_VER=10.0.0 +EVMC_VER=11.0.1 wget https://github.com/ethereum/evmc/archive/refs/tags/v${EVMC_VER}.zip rm -rf evmc-${EVMC_VER} unzip v${EVMC_VER}.zip @@ -119,7 +119,7 @@ make install cd ../.. # NOTE: updating evmone to v0.10.0 requires c++20 -EVMONE_VER=0.9.1 +EVMONE_VER=0.11.0 wget https://github.com/ethereum/evmone/archive/refs/tags/v${EVMONE_VER}.zip rm -rf evmone-${EVMONE_VER} unzip v${EVMONE_VER}.zip diff --git a/src/parsec/agent/runners/evm/host.cpp b/src/parsec/agent/runners/evm/host.cpp index b1191c2ba..ec8d40f52 100644 --- a/src/parsec/agent/runners/evm/host.cpp +++ b/src/parsec/agent/runners/evm/host.cpp @@ -36,6 +36,17 @@ namespace cbdc::parsec::agent::runner { m_receipt.m_ticket_number = m_ticket_number; } + // implementation for the get_transient_storage method + evmc::bytes32 evm_host::get_transient_storage([[maybe_unused]] const evmc::address& addr, + [[maybe_unused]] const evmc::bytes32& key) const noexcept { + return evmc::bytes32{}; + } + + // implementation for the set_trainsient_storage method + void evm_host::set_transient_storage([[maybe_unused]] const evmc::address& addr, [[maybe_unused]] const evmc::bytes32& key, [[maybe_unused]] const evmc::bytes32& value) noexcept { + + } + auto evm_host::get_account(const evmc::address& addr, bool write) const -> std::optional { m_log->trace(this, diff --git a/src/parsec/agent/runners/evm/host.hpp b/src/parsec/agent/runners/evm/host.hpp index 9df41a513..128572b4f 100644 --- a/src/parsec/agent/runners/evm/host.hpp +++ b/src/parsec/agent/runners/evm/host.hpp @@ -97,6 +97,14 @@ namespace cbdc::parsec::agent::runner { const evmc::bytes32& key) noexcept -> evmc_access_status override final; + // method signature for get_transient_storage + [[nodiscard]] auto get_transient_storage(const evmc::address& address, + const evmc::bytes32& key) const noexcept -> evmc::bytes32 override final; + + // method signature for the set_transient_storage + void set_transient_storage(const evmc::address& address, const evmc::bytes32& key, + const evmc::bytes32& value) noexcept override final; + using indexed_logs_type = std::unordered_map>;