From 066acc4663a2937a88918a252d8ac61193b6ec51 Mon Sep 17 00:00:00 2001 From: Cyrill Leutwiler Date: Sat, 28 Sep 2024 19:17:41 +0200 Subject: [PATCH] set chain_id in test runtime Signed-off-by: Cyrill Leutwiler --- crates/integration/contracts/Context.sol | 16 ++++++++++++++++ crates/llvm-context/src/polkavm/evm/context.rs | 2 +- crates/runner/src/runtime.rs | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/crates/integration/contracts/Context.sol b/crates/integration/contracts/Context.sol index 0e57b5e..ca9fa22 100644 --- a/crates/integration/contracts/Context.sol +++ b/crates/integration/contracts/Context.sol @@ -30,6 +30,14 @@ pragma solidity ^0.8; }, "data": "fc9c8d39" } + }, + { + "Call": { + "dest": { + "Instantiated": 0 + }, + "data": "3af973b1" + } } ] } @@ -43,4 +51,12 @@ contract Context { function caller() public view returns (address ret) { ret = msg.sender; } + + function chain_id() public view returns (uint) { + uint256 id; + assembly { + id := chainid() + } + return id; + } } diff --git a/crates/llvm-context/src/polkavm/evm/context.rs b/crates/llvm-context/src/polkavm/evm/context.rs index 0dae0fc..4d3e5bb 100644 --- a/crates/llvm-context/src/polkavm/evm/context.rs +++ b/crates/llvm-context/src/polkavm/evm/context.rs @@ -43,7 +43,7 @@ pub fn chain_id<'ctx, D>( where D: Dependency + Clone, { - Ok(context.word_const(0).as_basic_value_enum()) + context.build_runtime_call_to_getter(runtime_api::imports::CHAIN_ID) } /// Translates the `block_number` instruction. diff --git a/crates/runner/src/runtime.rs b/crates/runner/src/runtime.rs index c0844ee..705b657 100644 --- a/crates/runner/src/runtime.rs +++ b/crates/runner/src/runtime.rs @@ -82,4 +82,5 @@ impl pallet_revive::Config for Runtime { type InstantiateOrigin = EnsureSigned; type CodeHashLockupDepositPercent = CodeHashLockupDepositPercent; type Debug = (); + type ChainId = ConstU64<420_420_420>; }