difftreelog
Merge pull request #808 from UniqueNetwork/fix/try-runtime-0.9.36
in: master
9 files changed
.docker/Dockerfile-try-runtimediffbeforeafterboth--- a/.docker/Dockerfile-try-runtime
+++ b/.docker/Dockerfile-try-runtime
@@ -46,4 +46,4 @@
echo "Fork from: $REPLICA_FROM\n" && \
cargo build --features=try-runtime,${NETWORK}-runtime --release
-CMD cargo run --features=try-runtime,${NETWORK}-runtime --release -- try-runtime -ltry-runtime::cli=debug --no-spec-check-panic on-runtime-upgrade live --uri $REPLICA_FROM
+CMD cargo run --release --features ${NETWORK}-runtime,try-runtime -- try-runtime --runtime target/release/wbuild/${NETWORK}-runtime/${NETWORK}_runtime.compact.compressed.wasm -lruntime=debug -ltry-runtime::cli=debug on-runtime-upgrade --checks live --uri $REPLICA_FROM
Cargo.lockdiffbeforeafterboth2467[[package]]2467[[package]]2468name = "fc-consensus"2468name = "fc-consensus"2469version = "2.0.0-dev"2469version = "2.0.0-dev"2470source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2470source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2471dependencies = [2471dependencies = [2472 "async-trait",2472 "async-trait",2473 "fc-db",2473 "fc-db",2486[[package]]2486[[package]]2487name = "fc-db"2487name = "fc-db"2488version = "2.0.0-dev"2488version = "2.0.0-dev"2489source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2489source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2490dependencies = [2490dependencies = [2491 "fp-storage",2491 "fp-storage",2492 "kvdb-rocksdb",2492 "kvdb-rocksdb",2505[[package]]2505[[package]]2506name = "fc-mapping-sync"2506name = "fc-mapping-sync"2507version = "2.0.0-dev"2507version = "2.0.0-dev"2508source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2508source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2509dependencies = [2509dependencies = [2510 "fc-db",2510 "fc-db",2511 "fp-consensus",2511 "fp-consensus",2522[[package]]2522[[package]]2523name = "fc-rpc"2523name = "fc-rpc"2524version = "2.0.0-dev"2524version = "2.0.0-dev"2525source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2525source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2526dependencies = [2526dependencies = [2527 "ethereum 0.14.0",2527 "ethereum 0.14.0",2528 "ethereum-types 0.14.1",2528 "ethereum-types 0.14.1",2565[[package]]2565[[package]]2566name = "fc-rpc-core"2566name = "fc-rpc-core"2567version = "1.1.0-dev"2567version = "1.1.0-dev"2568source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2568source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2569dependencies = [2569dependencies = [2570 "ethereum 0.14.0",2570 "ethereum 0.14.0",2571 "ethereum-types 0.14.1",2571 "ethereum-types 0.14.1",2730[[package]]2730[[package]]2731name = "fp-consensus"2731name = "fp-consensus"2732version = "2.0.0-dev"2732version = "2.0.0-dev"2733source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2733source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2734dependencies = [2734dependencies = [2735 "ethereum 0.14.0",2735 "ethereum 0.14.0",2736 "parity-scale-codec 3.2.1",2736 "parity-scale-codec 3.2.1",2742[[package]]2742[[package]]2743name = "fp-ethereum"2743name = "fp-ethereum"2744version = "1.0.0-dev"2744version = "1.0.0-dev"2745source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2745source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2746dependencies = [2746dependencies = [2747 "ethereum 0.14.0",2747 "ethereum 0.14.0",2748 "ethereum-types 0.14.1",2748 "ethereum-types 0.14.1",2757[[package]]2757[[package]]2758name = "fp-evm"2758name = "fp-evm"2759version = "3.0.0-dev"2759version = "3.0.0-dev"2760source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2760source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2761dependencies = [2761dependencies = [2762 "evm",2762 "evm",2763 "frame-support",2763 "frame-support",2771[[package]]2771[[package]]2772name = "fp-evm-mapping"2772name = "fp-evm-mapping"2773version = "0.1.0"2773version = "0.1.0"2774source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2774source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2775dependencies = [2775dependencies = [2776 "frame-support",2776 "frame-support",2777 "sp-core",2777 "sp-core",2780[[package]]2780[[package]]2781name = "fp-rpc"2781name = "fp-rpc"2782version = "3.0.0-dev"2782version = "3.0.0-dev"2783source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2783source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2784dependencies = [2784dependencies = [2785 "ethereum 0.14.0",2785 "ethereum 0.14.0",2786 "ethereum-types 0.14.1",2786 "ethereum-types 0.14.1",2797[[package]]2797[[package]]2798name = "fp-self-contained"2798name = "fp-self-contained"2799version = "1.0.0-dev"2799version = "1.0.0-dev"2800source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2800source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2801dependencies = [2801dependencies = [2802 "ethereum 0.14.0",2802 "ethereum 0.14.0",2803 "frame-support",2803 "frame-support",2810[[package]]2810[[package]]2811name = "fp-storage"2811name = "fp-storage"2812version = "2.0.0"2812version = "2.0.0"2813source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"2813source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"2814dependencies = [2814dependencies = [2815 "parity-scale-codec 3.2.1",2815 "parity-scale-codec 3.2.1",2816 "serde",2816 "serde",5682[[package]]5682[[package]]5683name = "pallet-base-fee"5683name = "pallet-base-fee"5684version = "1.0.0"5684version = "1.0.0"5685source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"5685source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"5686dependencies = [5686dependencies = [5687 "fp-evm",5687 "fp-evm",5688 "frame-support",5688 "frame-support",5918[[package]]5918[[package]]5919name = "pallet-ethereum"5919name = "pallet-ethereum"5920version = "4.0.0-dev"5920version = "4.0.0-dev"5921source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"5921source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"5922dependencies = [5922dependencies = [5923 "ethereum 0.14.0",5923 "ethereum 0.14.0",5924 "ethereum-types 0.14.1",5924 "ethereum-types 0.14.1",5946[[package]]5946[[package]]5947name = "pallet-evm"5947name = "pallet-evm"5948version = "6.0.0-dev"5948version = "6.0.0-dev"5949source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"5949source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"5950dependencies = [5950dependencies = [5951 "environmental",5951 "environmental",5952 "evm",5952 "evm",6032[[package]]6032[[package]]6033name = "pallet-evm-precompile-simple"6033name = "pallet-evm-precompile-simple"6034version = "2.0.0-dev"6034version = "2.0.0-dev"6035source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#db60b911813df1d82e60e0de7f3dfa290e60d2f0"6035source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"6036dependencies = [6036dependencies = [6037 "fp-evm",6037 "fp-evm",6038 "ripemd",6038 "ripemd",12965 "sp-core",12965 "sp-core",12966 "sp-finality-grandpa",12966 "sp-finality-grandpa",12967 "sp-inherents",12967 "sp-inherents",12968 "sp-io",12968 "sp-keystore",12969 "sp-keystore",12969 "sp-offchain",12970 "sp-offchain",12970 "sp-runtime",12971 "sp-runtime",node/cli/Cargo.tomldiffbeforeafterboth--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -122,6 +122,10 @@
git = "https://github.com/paritytech/substrate"
branch = "polkadot-v0.9.36"
+[dependencies.sp-io]
+git = "https://github.com/paritytech/substrate"
+branch = "polkadot-v0.9.36"
+
[dependencies.sp-finality-grandpa]
git = "https://github.com/paritytech/substrate"
branch = "polkadot-v0.9.36"
node/cli/src/command.rsdiffbeforeafterboth--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -412,6 +412,7 @@
#[cfg(feature = "try-runtime")]
Some(Subcommand::TryRuntime(cmd)) => {
use std::{future::Future, pin::Pin};
+ use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch};
let runner = cli.create_runner(cmd)?;
@@ -429,12 +430,21 @@
Ok((
match config.chain_spec.runtime_id() {
#[cfg(feature = "unique-runtime")]
- RuntimeId::Unique => Box::pin(cmd.run::<Block, UniqueRuntimeExecutor>(config)),
+ RuntimeId::Unique => Box::pin(cmd.run::<Block, ExtendedHostFunctions<
+ sp_io::SubstrateHostFunctions,
+ <UniqueRuntimeExecutor as NativeExecutionDispatch>::ExtendHostFunctions,
+ >>()),
#[cfg(feature = "quartz-runtime")]
- RuntimeId::Quartz => Box::pin(cmd.run::<Block, QuartzRuntimeExecutor>(config)),
+ RuntimeId::Quartz => Box::pin(cmd.run::<Block, ExtendedHostFunctions<
+ sp_io::SubstrateHostFunctions,
+ <QuartzRuntimeExecutor as NativeExecutionDispatch>::ExtendHostFunctions,
+ >>()),
- RuntimeId::Opal => Box::pin(cmd.run::<Block, OpalRuntimeExecutor>(config)),
+ RuntimeId::Opal => Box::pin(cmd.run::<Block, ExtendedHostFunctions<
+ sp_io::SubstrateHostFunctions,
+ <OpalRuntimeExecutor as NativeExecutionDispatch>::ExtendHostFunctions,
+ >>()),
RuntimeId::Unknown(chain) => return Err(no_runtime_err!(chain).into()),
},
task_manager,
node/cli/src/service.rsdiffbeforeafterboth--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -106,7 +106,12 @@
#[cfg(feature = "unique-runtime")]
impl NativeExecutionDispatch for UniqueRuntimeExecutor {
+ /// Only enable the benchmarking host functions when we actually want to benchmark.
+ #[cfg(feature = "runtime-benchmarks")]
type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+ /// Otherwise we only use the default Substrate host functions.
+ #[cfg(not(feature = "runtime-benchmarks"))]
+ type ExtendHostFunctions = ();
fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
unique_runtime::api::dispatch(method, data)
@@ -119,7 +124,12 @@
#[cfg(feature = "quartz-runtime")]
impl NativeExecutionDispatch for QuartzRuntimeExecutor {
+ /// Only enable the benchmarking host functions when we actually want to benchmark.
+ #[cfg(feature = "runtime-benchmarks")]
type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+ /// Otherwise we only use the default Substrate host functions.
+ #[cfg(not(feature = "runtime-benchmarks"))]
+ type ExtendHostFunctions = ();
fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
quartz_runtime::api::dispatch(method, data)
@@ -131,7 +141,12 @@
}
impl NativeExecutionDispatch for OpalRuntimeExecutor {
+ /// Only enable the benchmarking host functions when we actually want to benchmark.
+ #[cfg(feature = "runtime-benchmarks")]
type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+ /// Otherwise we only use the default Substrate host functions.
+ #[cfg(not(feature = "runtime-benchmarks"))]
+ type ExtendHostFunctions = ();
fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
opal_runtime::api::dispatch(method, data)
runtime/common/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -780,15 +780,16 @@
#[cfg(feature = "try-runtime")]
impl frame_try_runtime::TryRuntime<Block> for Runtime {
- fn on_runtime_upgrade() -> (frame_support::pallet_prelude::Weight, frame_support::pallet_prelude::Weight) {
+ fn on_runtime_upgrade(checks: bool) -> (frame_support::pallet_prelude::Weight, frame_support::pallet_prelude::Weight) {
log::info!("try-runtime::on_runtime_upgrade unique-chain.");
- let weight = Executive::try_runtime_upgrade().unwrap();
+ let weight = Executive::try_runtime_upgrade(checks).unwrap();
(weight, crate::config::substrate::RuntimeBlockWeights::get().max_block)
}
fn execute_block(
block: Block,
state_root_check: bool,
+ signature_check: bool,
select: frame_try_runtime::TryStateSelect
) -> frame_support::pallet_prelude::Weight {
log::info!(
@@ -799,7 +800,7 @@
select,
);
- Executive::try_execute_block(block, state_root_check, select).unwrap()
+ Executive::try_execute_block(block, state_root_check, signature_check, select).unwrap()
}
}
}
runtime/opal/Cargo.tomldiffbeforeafterboth--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -91,6 +91,7 @@
'pallet-unique-scheduler-v2/try-runtime',
'pallet-maintenance/try-runtime',
'pallet-test-utils?/try-runtime',
+ 'fp-self-contained/try-runtime',
]
std = [
'codec/std',
runtime/quartz/Cargo.tomldiffbeforeafterboth--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -86,6 +86,7 @@
'pallet-evm-transaction-payment/try-runtime',
'pallet-evm-migration/try-runtime',
'pallet-maintenance/try-runtime',
+ 'fp-self-contained/try-runtime',
]
std = [
'codec/std',
runtime/unique/Cargo.tomldiffbeforeafterboth--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -87,6 +87,7 @@
'pallet-evm-transaction-payment/try-runtime',
'pallet-evm-migration/try-runtime',
'pallet-maintenance/try-runtime',
+ 'fp-self-contained/try-runtime',
]
std = [
'codec/std',