Skip to content

Commit 81b07fa

Browse files
committed
refactor: remove revive references from e2e crate
1 parent a595903 commit 81b07fa

File tree

13 files changed

+252
-31
lines changed

13 files changed

+252
-31
lines changed

Cargo.lock

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/e2e/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ ink_sandbox = { version = "=6.0.0-alpha.4", path = "./sandbox", optional = true
2424

2525
cargo_metadata = { workspace = true }
2626
contract-build = { workspace = true }
27-
pallet-revive = { workspace = true }
2827
funty = { workspace = true }
2928
impl-serde = { workspace = true }
3029
jsonrpsee = { workspace = true, features = ["ws-client"] }

crates/e2e/src/backend.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use ink_primitives::{
2222
abi::AbiEncodeWith,
2323
};
2424
use jsonrpsee::core::async_trait;
25-
use pallet_revive::evm::CallTrace;
25+
use ink_revive::evm::CallTrace;
2626
use sp_weights::Weight;
2727
use subxt::dynamic::Value;
2828

crates/e2e/src/contract_results.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ use ink_primitives::{
3636
H256,
3737
MessageResult,
3838
};
39-
use pallet_revive::{
39+
use ink_revive::{
4040
CodeUploadResult,
4141
ExecReturnValue,
4242
InstantiateReturnValue,

crates/e2e/src/error.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
use pallet_revive::evm::CallTrace;
15+
use ink_revive::evm::CallTrace;
1616
use std::fmt;
1717

1818
/// An error occurred while interacting with the E2E backend.

crates/e2e/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ pub use node_proc::{
5757
TestNodeProcess,
5858
TestNodeProcessBuilder,
5959
};
60-
pub use pallet_revive::evm::CallTrace;
60+
pub use ink_revive::evm::CallTrace;
6161
#[cfg(feature = "sandbox")]
6262
pub use sandbox_client::{
6363
Client as SandboxClient,

crates/e2e/src/sandbox_client.rs

Lines changed: 72 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ use ink_primitives::{
6060
DepositLimit,
6161
H160,
6262
abi::AbiEncodeWith,
63+
U256
6364
};
6465
use ink_sandbox::{
6566
AccountIdFor,
@@ -73,19 +74,24 @@ use ink_sandbox::{
7374
pallet_revive,
7475
};
7576
use jsonrpsee::core::async_trait;
76-
use pallet_revive::{
77-
AddressMapper,
77+
use ink_revive::{
78+
ExecReturnValue,
7879
CodeUploadReturnValue,
7980
InstantiateReturnValue,
80-
MomentOf,
8181
evm::{
8282
CallTrace,
83-
CallTracerConfig,
84-
Trace,
85-
TracerType,
86-
U256,
83+
CallLog
8784
},
8885
};
86+
use pallet_revive::{
87+
AddressMapper,
88+
MomentOf,
89+
evm::{
90+
TracerType,
91+
Trace,
92+
CallTracerConfig,
93+
}
94+
};
8995
use scale::Decode;
9096
use sp_core::{
9197
Pair as _,
@@ -360,7 +366,7 @@ where
360366
};
361367

362368
let trace = match tracer.collect_trace() {
363-
Some(Trace::Call(call_trace)) => Some(call_trace),
369+
Some(Trace::Call(call_trace)) => Some(to_revive_trace(call_trace)),
364370
_ => None,
365371
};
366372

@@ -444,10 +450,13 @@ where
444450
let result = ContractResult::<InstantiateReturnValue, E::Balance> {
445451
gas_consumed: dry_run_result.gas_consumed,
446452
gas_required: dry_run_result.gas_required,
447-
storage_deposit: dry_run_result.storage_deposit,
453+
storage_deposit: to_revive_storage_deposit(dry_run_result.storage_deposit),
448454
result: dry_run_result.result.map(|res| {
449455
InstantiateReturnValue {
450-
result: res.result,
456+
result: ExecReturnValue {
457+
flags: res.result.flags,
458+
data: res.result.data,
459+
},
451460
addr: res.addr,
452461
}
453462
}),
@@ -556,7 +565,7 @@ where
556565
.map_err(|err| SandboxErr::new(format!("bare_call: {err:?}")))
557566
})?;
558567
let trace = match tracer.collect_trace() {
559-
Some(Trace::Call(call_trace)) => Some(call_trace),
568+
Some(Trace::Call(call_trace)) => Some(to_revive_trace(call_trace)),
560569
_ => None,
561570
};
562571

@@ -630,8 +639,13 @@ where
630639
exec_result: ContractExecResultFor::<E> {
631640
gas_consumed: result.gas_consumed,
632641
gas_required: result.gas_required,
633-
storage_deposit: result.storage_deposit,
634-
result: result.result,
642+
storage_deposit: to_revive_storage_deposit(result.storage_deposit),
643+
result: result.result.map(|res| {
644+
ExecReturnValue {
645+
flags: res.flags,
646+
data: res.data,
647+
}
648+
}),
635649
},
636650
trace: None, // todo
637651
_marker: Default::default(),
@@ -829,3 +843,48 @@ where
829843
let origin = RawOrigin::Signed(caller);
830844
OriginFor::<S::Runtime>::from(origin)
831845
}
846+
847+
848+
/// Convert a `pallet_revive::CallTrace` (sandbox) into an `ink_revive::CallTrace` (API).
849+
fn to_revive_trace(t: pallet_revive::evm::CallTrace) -> CallTrace {
850+
CallTrace {
851+
from: t.from,
852+
gas: t.gas,
853+
gas_used: t.gas_used,
854+
to: t.to,
855+
input: t.input.0,
856+
output: t.output.0,
857+
error: t.error,
858+
revert_reason: t.revert_reason,
859+
calls: t.calls.into_iter().map(to_revive_trace).collect(),
860+
logs: t.logs.into_iter().map(|log| CallLog {
861+
address: log.address,
862+
topics: log.topics,
863+
data: log.data.0,
864+
..Default::default()
865+
}).collect(),
866+
value: t.value,
867+
call_type: to_revive_call_type(t.call_type),
868+
}
869+
}
870+
871+
/// Convert a `pallet_revive::CallType` into an `ink_revive::evm::CallType`.
872+
fn to_revive_call_type(ct: pallet_revive::evm::CallType) -> ink_revive::evm::CallType {
873+
match ct {
874+
pallet_revive::evm::CallType::Call => ink_revive::evm::CallType::Call,
875+
pallet_revive::evm::CallType::StaticCall => ink_revive::evm::CallType::StaticCall,
876+
pallet_revive::evm::CallType::DelegateCall => ink_revive::evm::CallType::DelegateCall,
877+
pallet_revive::evm::CallType::Create => ink_revive::evm::CallType::Create,
878+
pallet_revive::evm::CallType::Create2 => ink_revive::evm::CallType::Create2,
879+
}
880+
}
881+
882+
/// Convert a `ink_revive::StorageDeposit` into an `ink_revive::StorageDeposit`.
883+
fn to_revive_storage_deposit<B>(
884+
sd: pallet_revive::StorageDeposit<B>,
885+
) -> ink_revive::StorageDeposit<B> {
886+
match sd {
887+
pallet_revive::StorageDeposit::Charge(b) => ink_revive::StorageDeposit::Charge(b),
888+
pallet_revive::StorageDeposit::Refund(b) => ink_revive::StorageDeposit::Refund(b),
889+
}
890+
}

crates/e2e/src/subxt_client.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ use ink_primitives::{
7474
abi::AbiEncodeWith,
7575
};
7676
use jsonrpsee::core::async_trait;
77-
use pallet_revive::evm::CallTrace;
77+
use ink_revive::evm::CallTrace;
7878
use scale::{
7979
Decode,
8080
Encode,

crates/e2e/src/xts.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ use ink_primitives::{
2929
Address,
3030
DepositLimit,
3131
};
32-
use pallet_revive::{
32+
use ink_revive::{
3333
CodeUploadResult,
3434
evm::{
3535
CallTrace,

crates/revive/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ frame-support = { workspace = true }
1919
scale-info = { workspace = true }
2020
serde = { workspace = true, features = ["derive"] }
2121
ink_primitives = { workspace = true }
22-
# sp-weights = { workspace = true }
23-
# sp-core = { workspace = true }
22+
derive_more = { workspace = true, features = ["from", "try_into"] }
23+
sp-core = { workspace = true }
2424
sp-runtime = { workspace = true }
2525
pallet-revive-uapi = { workspace = true, features = ["scale"] }
2626
alloy-core = { workspace = true, features = ["sol-types"] }
@@ -34,7 +34,7 @@ std = [
3434
"frame-support/std",
3535
"ink_primitives/std",
3636
# "sp-weights/std",
37-
# "sp-core/std",
37+
"sp-core/std",
3838
"sp-runtime/std",
3939
"serde/std",
4040
]

0 commit comments

Comments
 (0)