Skip to content

Commit 82741b4

Browse files
authored
chore: upgrade to stable2412 (#53)
* 2412 upgrade * fmt * clippy * TransactionExtension and node refactor * fmt * sp_keyring * stray-key-gen * todo and runtime-benchmark warning --------- Co-authored-by: f-gate <[email protected]>
1 parent 368d6d9 commit 82741b4

10 files changed

+3160
-2311
lines changed

Cargo.lock

+3,004-2,146
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+93-92
Original file line numberDiff line numberDiff line change
@@ -13,114 +13,115 @@ members = ["node", "runtime"]
1313
resolver = "2"
1414

1515
[workspace.dependencies]
16-
clap = { version = "4.5.10", features = ["derive"] }
16+
clap = { version = "4.5.26", features = ["derive"] }
1717
codec = { package = "parity-scale-codec", version = "3.6.12", default-features = false, features = [
1818
"derive",
1919
] }
20-
color-print = "0.3.4"
21-
docify = "0.2.8"
22-
futures = "0.3.30"
20+
color-print = "0.3.7"
21+
docify = "0.2.9"
22+
futures = "0.3.31"
2323
hex-literal = "0.4.1"
24-
jsonrpsee = { version = "0.24.3", features = ["server"] }
25-
log = { version = "0.4.21", default-features = false }
26-
scale-info = { version = "2.11.1", default-features = false, features = [
24+
jsonrpsee = { version = "0.24.7", features = ["server"] }
25+
log = { version = "0.4.25", default-features = false }
26+
scale-info = { version = "2.11.6", default-features = false, features = [
2727
"derive",
2828
] }
29-
serde = { version = "1.0.209", default-features = false }
30-
serde_json = { version = "1.0.127", default-features = false }
31-
smallvec = "1.11.2"
29+
serde = { version = "1.0.217", default-features = false }
30+
serde_json = { version = "1.0.137", default-features = false }
31+
smallvec = "1.13.2"
3232

3333
# Build
3434
substrate-build-script-utils = "11.0.0"
35-
substrate-wasm-builder = "24.0.1"
35+
substrate-wasm-builder = "25.0.0"
3636

3737
# Local
3838
parachain-template-runtime = { path = "./runtime" }
3939

4040
# Substrate
41-
frame-benchmarking = { version = "38.0.0", default-features = false }
42-
frame-benchmarking-cli = "43.0.0"
43-
frame-executive = { version = "38.0.0", default-features = false }
44-
frame-support = { version = "38.2.0", default-features = false }
45-
frame-support-procedural = { version = "30.0.3", default-features = false }
46-
frame-system = { version = "38.0.0", default-features = false }
47-
frame-system-benchmarking = { version = "38.0.0", default-features = false }
48-
frame-system-rpc-runtime-api = { version = "34.0.0", default-features = false }
49-
frame-try-runtime = { version = "0.44.0", default-features = false }
50-
frame-metadata-hash-extension = { version = "0.6.0", default-features = false }
51-
pallet-aura = { version = "37.0.0", default-features = false }
52-
pallet-authorship = { version = "38.0.0", default-features = false }
53-
pallet-balances = { version = "39.0.0", default-features = false }
54-
pallet-message-queue = { version = "41.0.2", default-features = false }
55-
pallet-session = { version = "38.0.0", default-features = false }
56-
pallet-sudo = { version = "38.0.0", default-features = false }
57-
pallet-timestamp = { version = "37.0.0", default-features = false }
58-
pallet-transaction-payment = { version = "38.0.2", default-features = false }
59-
pallet-transaction-payment-rpc = "41.0.0"
60-
pallet-transaction-payment-rpc-runtime-api = { version = "38.0.0", default-features = false }
61-
prometheus-endpoint = { version = "0.17.0", default-features = false, package = "substrate-prometheus-endpoint" }
62-
sc-basic-authorship = "0.45.0"
63-
sc-chain-spec = "38.0.0"
64-
sc-cli = "0.47.0"
65-
sc-client-api = "37.0.0"
66-
sc-offchain = "40.0.0"
67-
sc-consensus = "0.44.0"
68-
sc-executor = "0.40.1"
69-
sc-network = "0.45.3"
70-
sc-network-sync = "0.44.1"
71-
sc-rpc = "40.0.0"
72-
sc-service = "0.46.0"
73-
sc-sysinfo = "38.0.0"
74-
sc-telemetry = "25.0.0"
75-
sc-tracing = "37.0.1"
76-
sc-transaction-pool = "37.0.0"
77-
sc-transaction-pool-api = "37.0.0"
78-
sp-api = { version = "34.0.0", default-features = false }
79-
sp-block-builder = { version = "34.0.0", default-features = false }
80-
sp-blockchain = "37.0.1"
81-
sp-consensus-aura = { version = "0.40.0", default-features = false }
82-
sp-core = { version = "34.0.0", default-features = false }
83-
sp-io = { version = "38.0.0", default-features = false }
84-
sp-genesis-builder = { version = "0.15.1", default-features = false }
85-
sp-inherents = { version = "34.0.0", default-features = false }
86-
sp-keystore = "0.40.0"
87-
sp-offchain = { version = "34.0.0", default-features = false }
88-
sp-runtime = { version = "39.0.5", default-features = false }
89-
sp-session = { version = "36.0.0", default-features = false }
41+
frame-benchmarking = { version = "39.0.0", default-features = false }
42+
frame-benchmarking-cli = "45.0.0"
43+
frame-executive = { version = "39.0.0", default-features = false }
44+
frame-support = { version = "39.0.0", default-features = false }
45+
frame-support-procedural = { version = "31.0.0", default-features = false }
46+
frame-system = { version = "39.0.0", default-features = false }
47+
frame-system-benchmarking = { version = "39.0.0", default-features = false }
48+
frame-system-rpc-runtime-api = { version = "35.0.0", default-features = false }
49+
frame-try-runtime = { version = "0.45.0", default-features = false }
50+
frame-metadata-hash-extension = { version = "0.7.0", default-features = false }
51+
pallet-aura = { version = "38.0.0", default-features = false }
52+
pallet-authorship = { version = "39.0.0", default-features = false }
53+
pallet-balances = { version = "40.0.0", default-features = false }
54+
pallet-message-queue = { version = "42.0.0", default-features = false }
55+
pallet-session = { version = "39.0.0", default-features = false }
56+
pallet-sudo = { version = "39.0.0", default-features = false }
57+
pallet-timestamp = { version = "38.0.0", default-features = false }
58+
pallet-transaction-payment = { version = "39.0.0", default-features = false }
59+
pallet-transaction-payment-rpc = "42.0.0"
60+
pallet-transaction-payment-rpc-runtime-api = { version = "39.0.0", default-features = false }
61+
prometheus-endpoint = { version = "0.17.1", default-features = false, package = "substrate-prometheus-endpoint" }
62+
sc-basic-authorship = "0.47.0"
63+
sc-chain-spec = "40.0.0"
64+
sc-cli = "0.49.0"
65+
sc-client-api = "38.0.0"
66+
sc-offchain = "42.0.0"
67+
sc-consensus = "0.46.0"
68+
sc-executor = "0.41.0"
69+
sc-network = "0.47.0"
70+
sc-network-sync = "0.46.0"
71+
sc-rpc = "42.0.0"
72+
sc-service = "0.48.0"
73+
sc-sysinfo = "40.0.0"
74+
sc-telemetry = "27.0.0"
75+
sc-tracing = "38.0.0"
76+
sc-transaction-pool = "38.0.0"
77+
sc-transaction-pool-api = "38.0.0"
78+
sp-api = { version = "35.0.0", default-features = false }
79+
sp-block-builder = { version = "35.0.0", default-features = false }
80+
sp-blockchain = "38.0.0"
81+
sp-consensus-aura = { version = "0.41.0", default-features = false }
82+
sp-core = { version = "35.0.0", default-features = false }
83+
sp-io = { version = "39.0.0", default-features = false }
84+
sp-genesis-builder = { version = "0.16.0", default-features = false }
85+
sp-inherents = { version = "35.0.0", default-features = false }
86+
sp-keyring = { version = "40.0.0", default-features = false }
87+
sp-keystore = "0.41.0"
88+
sp-offchain = { version = "35.0.0", default-features = false }
89+
sp-runtime = { version = "40.0.0", default-features = false }
90+
sp-session = { version = "37.0.0", default-features = false }
9091
sp-std = { version = "14.0.0", default-features = false }
91-
sp-timestamp = "34.0.0"
92-
sp-transaction-pool = { version = "34.0.0", default-features = false }
93-
sp-version = { version = "37.0.0", default-features = false }
94-
substrate-frame-rpc-system = "39.0.0"
92+
sp-timestamp = "35.0.0"
93+
sp-transaction-pool = { version = "35.0.0", default-features = false }
94+
sp-version = { version = "38.0.0", default-features = false }
95+
substrate-frame-rpc-system = "41.0.0"
9596

9697
# Polkadot
97-
pallet-xcm = { version = "17.0.1", default-features = false }
98-
polkadot-cli = "19.0.0"
99-
polkadot-parachain-primitives = { version = "14.0.0", default-features = false }
100-
polkadot-primitives = "16.0.0"
101-
polkadot-runtime-common = { version = "17.0.0", default-features = false }
102-
xcm = { version = "14.2.0", package = "staging-xcm", default-features = false }
103-
xcm-builder = { version = "17.0.3", package = "staging-xcm-builder", default-features = false }
104-
xcm-executor = { version = "17.0.0", package = "staging-xcm-executor", default-features = false }
98+
pallet-xcm = { version = "18.0.0", default-features = false }
99+
polkadot-cli = "21.0.0"
100+
polkadot-parachain-primitives = { version = "15.0.0", default-features = false }
101+
polkadot-primitives = "17.0.0"
102+
polkadot-runtime-common = { version = "18.0.0", default-features = false }
103+
xcm = { version = "15.0.0", package = "staging-xcm", default-features = false }
104+
xcm-builder = { version = "18.0.0", package = "staging-xcm-builder", default-features = false }
105+
xcm-executor = { version = "18.0.0", package = "staging-xcm-executor", default-features = false }
105106

106107
# Cumulus
107-
cumulus-client-cli = "0.18.0"
108-
cumulus-client-collator = "0.18.0"
109-
cumulus-client-consensus-aura = "0.18.0"
110-
cumulus-client-consensus-common = "0.18.0"
111-
cumulus-client-consensus-proposer = "0.16.0"
112-
cumulus-client-service = "0.19.0"
113-
cumulus-pallet-aura-ext = { version = "0.17.0", default-features = false }
114-
cumulus-pallet-parachain-system = { version = "0.17.1", default-features = false }
115-
cumulus-pallet-session-benchmarking = { version = "19.0.0", default-features = false }
116-
cumulus-pallet-xcm = { version = "0.17.0", default-features = false }
117-
cumulus-pallet-xcmp-queue = { version = "0.17.0", default-features = false }
118-
cumulus-primitives-aura = { version = "0.15.0", default-features = false }
119-
cumulus-primitives-core = { version = "0.16.0", default-features = false }
120-
cumulus-primitives-parachain-inherent = "0.16.0"
121-
cumulus-primitives-storage-weight-reclaim = { version = "8.0.0", default-features = false }
122-
cumulus-primitives-utility = { version = "0.17.0", default-features = false }
123-
cumulus-relay-chain-interface = "0.18.0"
124-
pallet-collator-selection = { version = "19.0.0", default-features = false }
125-
parachains-common = { version = "18.0.0", default-features = false }
126-
parachain-info = { version = "0.17.0", package = "staging-parachain-info", default-features = false }
108+
cumulus-client-cli = "0.20.0"
109+
cumulus-client-collator = "0.20.0"
110+
cumulus-client-consensus-aura = "0.20.0"
111+
cumulus-client-consensus-common = "0.20.0"
112+
cumulus-client-consensus-proposer = "0.17.0"
113+
cumulus-client-service = "0.21.0"
114+
cumulus-pallet-aura-ext = { version = "0.18.0", default-features = false }
115+
cumulus-pallet-parachain-system = { version = "0.18.0", default-features = false }
116+
cumulus-pallet-session-benchmarking = { version = "20.0.0", default-features = false }
117+
cumulus-pallet-xcm = { version = "0.18.0", default-features = false }
118+
cumulus-pallet-xcmp-queue = { version = "0.18.0", default-features = false }
119+
cumulus-primitives-aura = { version = "0.16.0", default-features = false }
120+
cumulus-primitives-core = { version = "0.17.0", default-features = false }
121+
cumulus-primitives-parachain-inherent = "0.17.0"
122+
cumulus-primitives-storage-weight-reclaim = { version = "9.0.0", default-features = false }
123+
cumulus-primitives-utility = { version = "0.18.0", default-features = false }
124+
cumulus-relay-chain-interface = "0.20.0"
125+
pallet-collator-selection = { version = "20.0.0", default-features = false }
126+
parachains-common = { version = "19.0.0", default-features = false }
127+
parachain-info = { version = "0.18.0", package = "staging-parachain-info", default-features = false }

node/src/command.rs

+9-7
Original file line numberDiff line numberDiff line change
@@ -224,13 +224,15 @@ pub fn run() -> Result<()> {
224224

225225
runner.run_node_until_exit(|config| async move {
226226
let hwbench = (!cli.no_hardware_benchmarks)
227-
.then_some(config.database.path().map(|database_path| {
228-
let _ = std::fs::create_dir_all(database_path);
229-
sc_sysinfo::gather_hwbench(
230-
Some(database_path),
231-
&SUBSTRATE_REFERENCE_HARDWARE,
232-
)
233-
}))
227+
.then(|| {
228+
config.database.path().map(|database_path| {
229+
let _ = std::fs::create_dir_all(database_path);
230+
sc_sysinfo::gather_hwbench(
231+
Some(database_path),
232+
&SUBSTRATE_REFERENCE_HARDWARE,
233+
)
234+
})
235+
})
234236
.flatten();
235237

236238
let para_id = chain_spec::Extensions::try_get(&*config.chain_spec)

node/src/service.rs

+19-14
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ pub type Service = PartialComponents<
5353
ParachainBackend,
5454
(),
5555
sc_consensus::DefaultImportQueue<Block>,
56-
sc_transaction_pool::FullPool<Block, ParachainClient>,
56+
sc_transaction_pool::TransactionPoolHandle<Block, ParachainClient>,
5757
(
5858
ParachainBlockImport,
5959
Option<Telemetry>,
@@ -111,12 +111,15 @@ pub fn new_partial(config: &Configuration) -> Result<Service, sc_service::Error>
111111
telemetry
112112
});
113113

114-
let transaction_pool = sc_transaction_pool::BasicPool::new_full(
115-
config.transaction_pool.clone(),
116-
config.role.is_authority().into(),
117-
config.prometheus_registry(),
118-
task_manager.spawn_essential_handle(),
119-
client.clone(),
114+
let transaction_pool = Arc::from(
115+
sc_transaction_pool::Builder::new(
116+
task_manager.spawn_essential_handle(),
117+
client.clone(),
118+
config.role.is_authority().into(),
119+
)
120+
.with_options(config.transaction_pool.clone())
121+
.with_prometheus(config.prometheus_registry())
122+
.build(),
120123
);
121124

122125
let block_import = ParachainBlockImport::new(client.clone(), backend.clone());
@@ -177,7 +180,7 @@ fn start_consensus(
177180
telemetry: Option<TelemetryHandle>,
178181
task_manager: &TaskManager,
179182
relay_chain_interface: Arc<dyn RelayChainInterface>,
180-
transaction_pool: Arc<sc_transaction_pool::FullPool<Block, ParachainClient>>,
183+
transaction_pool: Arc<sc_transaction_pool::TransactionPoolHandle<Block, ParachainClient>>,
181184
keystore: KeystorePtr,
182185
relay_chain_slot_duration: Duration,
183186
para_id: ParaId,
@@ -293,9 +296,7 @@ pub async fn start_parachain_node(
293296
if parachain_config.offchain_worker.enabled {
294297
use futures::FutureExt;
295298

296-
task_manager.spawn_handle().spawn(
297-
"offchain-workers-runner",
298-
"offchain-work",
299+
let offchain_workers =
299300
sc_offchain::OffchainWorkers::new(sc_offchain::OffchainWorkerOptions {
300301
runtime_api_provider: client.clone(),
301302
keystore: Some(params.keystore_container.keystore()),
@@ -307,9 +308,13 @@ pub async fn start_parachain_node(
307308
is_validator: parachain_config.role.is_authority(),
308309
enable_http_requests: false,
309310
custom_extensions: move |_| vec![],
310-
})
311-
.run(client.clone(), task_manager.spawn_handle())
312-
.boxed(),
311+
})?;
312+
task_manager.spawn_handle().spawn(
313+
"offchain-workers-runner",
314+
"offchain-work",
315+
offchain_workers
316+
.run(client.clone(), task_manager.spawn_handle())
317+
.boxed(),
313318
);
314319
}
315320

runtime/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ sp-consensus-aura.workspace = true
4949
sp-core.workspace = true
5050
sp-genesis-builder.workspace = true
5151
sp-inherents.workspace = true
52+
sp-keyring.workspace = true
5253
sp-offchain.workspace = true
5354
sp-runtime.workspace = true
5455
sp-session.workspace = true
@@ -123,6 +124,7 @@ std = [
123124
"sp-core/std",
124125
"sp-genesis-builder/std",
125126
"sp-inherents/std",
127+
"sp-keyring/std",
126128
"sp-offchain/std",
127129
"sp-runtime/std",
128130
"sp-session/std",

runtime/src/apis.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ impl_runtime_apis! {
242242

243243
fn dispatch_benchmark(
244244
config: frame_benchmarking::BenchmarkConfig
245-
) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, sp_runtime::RuntimeString> {
245+
) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, alloc::string::String> {
246246
use frame_benchmarking::{BenchmarkError, Benchmarking, BenchmarkBatch};
247247
use super::*;
248248

runtime/src/configs/mod.rs

+3
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ impl pallet_balances::Config for Runtime {
159159
type RuntimeFreezeReason = RuntimeFreezeReason;
160160
type FreezeIdentifier = RuntimeFreezeReason;
161161
type MaxFreezes = VariantCountOf<RuntimeFreezeReason>;
162+
type DoneSlashHandler = ();
162163
}
163164

164165
parameter_types! {
@@ -173,6 +174,7 @@ impl pallet_transaction_payment::Config for Runtime {
173174
type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
174175
type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
175176
type OperationalFeeMultiplier = ConstU8<5>;
177+
type WeightInfo = ();
176178
}
177179

178180
impl pallet_sudo::Config for Runtime {
@@ -199,6 +201,7 @@ impl cumulus_pallet_parachain_system::Config for Runtime {
199201
type ReservedXcmpWeight = ReservedXcmpWeight;
200202
type CheckAssociatedRelayNumber = RelayNumberMonotonicallyIncreases;
201203
type ConsensusHook = ConsensusHook;
204+
type SelectCore = cumulus_pallet_parachain_system::DefaultCoreSelector<Runtime>;
202205
}
203206

204207
impl parachain_info::Config for Runtime {}

0 commit comments

Comments
 (0)