Skip to content

Commit 100391a

Browse files
committed
refactor: move pallet_revive deps into ink_sandbox
1 parent 9973930 commit 100391a

File tree

2 files changed

+68
-65
lines changed

2 files changed

+68
-65
lines changed

crates/e2e/sandbox/src/lib.rs

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ use frame_system::{
1717
},
1818
};
1919
use ink_primitives::U256;
20+
use ink_revive::evm::{
21+
CallLog,
22+
CallTrace,
23+
};
2024
pub use macros::{
2125
BlockBuilder,
2226
DefaultSandbox,
@@ -170,3 +174,55 @@ where
170174
let evm_value: U256 = value.into();
171175
native_to_eth_ratio.saturating_mul(evm_value)
172176
}
177+
178+
/// Convert a `pallet_revive::CallTrace` (sandbox) into an `ink_revive::CallTrace` (API).
179+
pub fn to_revive_trace(t: pallet_revive::evm::CallTrace) -> CallTrace {
180+
CallTrace {
181+
from: t.from,
182+
gas: t.gas,
183+
gas_used: t.gas_used,
184+
to: t.to,
185+
input: t.input.0,
186+
output: t.output.0,
187+
error: t.error,
188+
revert_reason: t.revert_reason,
189+
calls: t.calls.into_iter().map(to_revive_trace).collect(),
190+
logs: t
191+
.logs
192+
.into_iter()
193+
.map(|log| {
194+
CallLog {
195+
address: log.address,
196+
topics: log.topics,
197+
data: log.data.0,
198+
..Default::default()
199+
}
200+
})
201+
.collect(),
202+
value: t.value,
203+
call_type: to_revive_call_type(t.call_type),
204+
}
205+
}
206+
207+
/// Convert a `pallet_revive::CallType` into an `ink_revive::evm::CallType`.
208+
fn to_revive_call_type(ct: pallet_revive::evm::CallType) -> ink_revive::evm::CallType {
209+
match ct {
210+
pallet_revive::evm::CallType::Call => ink_revive::evm::CallType::Call,
211+
pallet_revive::evm::CallType::StaticCall => ink_revive::evm::CallType::StaticCall,
212+
pallet_revive::evm::CallType::DelegateCall => {
213+
ink_revive::evm::CallType::DelegateCall
214+
}
215+
pallet_revive::evm::CallType::Create => ink_revive::evm::CallType::Create,
216+
pallet_revive::evm::CallType::Create2 => ink_revive::evm::CallType::Create2,
217+
}
218+
}
219+
220+
/// Convert a `ink_revive::StorageDeposit` into an `ink_revive::StorageDeposit`.
221+
pub fn to_revive_storage_deposit<B>(
222+
sd: pallet_revive::StorageDeposit<B>,
223+
) -> ink_revive::StorageDeposit<B> {
224+
match sd {
225+
pallet_revive::StorageDeposit::Charge(b) => ink_revive::StorageDeposit::Charge(b),
226+
pallet_revive::StorageDeposit::Refund(b) => ink_revive::StorageDeposit::Refund(b),
227+
}
228+
}

crates/e2e/src/sandbox_client.rs

Lines changed: 12 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,7 @@ use ink_revive::{
6666
CodeUploadReturnValue,
6767
ExecReturnValue,
6868
InstantiateReturnValue,
69-
evm::{
70-
CallLog,
71-
CallTrace,
72-
},
69+
evm::CallTrace,
7370
};
7471
use ink_sandbox::{
7572
AccountIdFor,
@@ -81,17 +78,19 @@ use ink_sandbox::{
8178
frame_system::pallet_prelude::OriginFor,
8279
pallet_balances,
8380
pallet_revive,
84-
};
85-
use jsonrpsee::core::async_trait;
86-
use pallet_revive::{
87-
AddressMapper,
88-
MomentOf,
89-
evm::{
90-
CallTracerConfig,
91-
Trace,
92-
TracerType,
81+
pallet_revive::{
82+
AddressMapper,
83+
MomentOf,
84+
evm::{
85+
CallTracerConfig,
86+
Trace,
87+
TracerType,
88+
},
9389
},
90+
to_revive_storage_deposit,
91+
to_revive_trace,
9492
};
93+
use jsonrpsee::core::async_trait;
9594
use scale::Decode;
9695
use sp_core::{
9796
Pair as _,
@@ -843,55 +842,3 @@ where
843842
let origin = RawOrigin::Signed(caller);
844843
OriginFor::<S::Runtime>::from(origin)
845844
}
846-
847-
/// Convert a `pallet_revive::CallTrace` (sandbox) into an `ink_revive::CallTrace` (API).
848-
fn to_revive_trace(t: pallet_revive::evm::CallTrace) -> CallTrace {
849-
CallTrace {
850-
from: t.from,
851-
gas: t.gas,
852-
gas_used: t.gas_used,
853-
to: t.to,
854-
input: t.input.0,
855-
output: t.output.0,
856-
error: t.error,
857-
revert_reason: t.revert_reason,
858-
calls: t.calls.into_iter().map(to_revive_trace).collect(),
859-
logs: t
860-
.logs
861-
.into_iter()
862-
.map(|log| {
863-
CallLog {
864-
address: log.address,
865-
topics: log.topics,
866-
data: log.data.0,
867-
..Default::default()
868-
}
869-
})
870-
.collect(),
871-
value: t.value,
872-
call_type: to_revive_call_type(t.call_type),
873-
}
874-
}
875-
876-
/// Convert a `pallet_revive::CallType` into an `ink_revive::evm::CallType`.
877-
fn to_revive_call_type(ct: pallet_revive::evm::CallType) -> ink_revive::evm::CallType {
878-
match ct {
879-
pallet_revive::evm::CallType::Call => ink_revive::evm::CallType::Call,
880-
pallet_revive::evm::CallType::StaticCall => ink_revive::evm::CallType::StaticCall,
881-
pallet_revive::evm::CallType::DelegateCall => {
882-
ink_revive::evm::CallType::DelegateCall
883-
}
884-
pallet_revive::evm::CallType::Create => ink_revive::evm::CallType::Create,
885-
pallet_revive::evm::CallType::Create2 => ink_revive::evm::CallType::Create2,
886-
}
887-
}
888-
889-
/// Convert a `ink_revive::StorageDeposit` into an `ink_revive::StorageDeposit`.
890-
fn to_revive_storage_deposit<B>(
891-
sd: pallet_revive::StorageDeposit<B>,
892-
) -> ink_revive::StorageDeposit<B> {
893-
match sd {
894-
pallet_revive::StorageDeposit::Charge(b) => ink_revive::StorageDeposit::Charge(b),
895-
pallet_revive::StorageDeposit::Refund(b) => ink_revive::StorageDeposit::Refund(b),
896-
}
897-
}

0 commit comments

Comments
 (0)