Skip to content

Commit b992d5a

Browse files
iulianbarbugithub-actions[bot]
authored andcommitted
[create-pull-request] automated change
1 parent 93f30a2 commit b992d5a

21 files changed

+3265
-1397
lines changed

Cargo.lock

Lines changed: 2990 additions & 1179 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -16,59 +16,59 @@ resolver = "2"
1616
[workspace.dependencies]
1717
solochain-template-runtime = { path = "./runtime", default-features = false }
1818
pallet-template = { path = "./pallets/template", default-features = false }
19-
clap = { version = "4.5.10" }
20-
frame-benchmarking-cli = { version = "43.0.0", default-features = false }
21-
frame-metadata-hash-extension = { version = "0.6.0", default-features = false }
22-
frame-system = { version = "38.0.0", default-features = false }
23-
futures = { version = "0.3.30" }
19+
clap = { version = "4.5.13" }
20+
frame-benchmarking-cli = { version = "46.0.0", default-features = false }
21+
frame-metadata-hash-extension = { version = "0.7.0", default-features = false }
22+
frame-system = { version = "39.1.0", default-features = false }
23+
futures = { version = "0.3.31" }
2424
jsonrpsee = { version = "0.24.3" }
25-
pallet-transaction-payment = { version = "38.0.0", default-features = false }
26-
pallet-transaction-payment-rpc = { version = "41.0.0", default-features = false }
27-
sc-basic-authorship = { version = "0.45.0", default-features = false }
28-
sc-cli = { version = "0.47.0", default-features = false }
29-
sc-client-api = { version = "37.0.0", default-features = false }
30-
sc-consensus = { version = "0.44.0", default-features = false }
31-
sc-consensus-aura = { version = "0.45.0", default-features = false }
32-
sc-consensus-grandpa = { version = "0.30.0", default-features = false }
33-
sc-executor = { version = "0.40.1", default-features = false }
34-
sc-network = { version = "0.45.0", default-features = false }
35-
sc-offchain = { version = "40.0.0", default-features = false }
36-
sc-service = { version = "0.46.0", default-features = false }
37-
sc-telemetry = { version = "25.0.0", default-features = false }
38-
sc-transaction-pool = { version = "37.0.0", default-features = false }
39-
sc-transaction-pool-api = { version = "37.0.0", default-features = false }
40-
serde_json = { version = "1.0.127", default-features = false }
41-
sp-api = { version = "34.0.0", default-features = false }
42-
sp-block-builder = { version = "34.0.0", default-features = false }
43-
sp-blockchain = { version = "37.0.1", default-features = false }
44-
sp-consensus-aura = { version = "0.40.0", default-features = false }
45-
sp-consensus-grandpa = { version = "21.0.0", default-features = false }
46-
sp-core = { version = "34.0.0", default-features = false }
47-
sp-inherents = { version = "34.0.0", default-features = false }
48-
sp-io = { version = "38.0.0", default-features = false }
49-
sp-keyring = { version = "39.0.0", default-features = false }
50-
sp-runtime = { version = "39.0.1", default-features = false }
51-
sp-timestamp = { version = "34.0.0", default-features = false }
52-
substrate-frame-rpc-system = { version = "39.0.0", default-features = false }
25+
pallet-transaction-payment = { version = "39.0.0", default-features = false }
26+
pallet-transaction-payment-rpc = { version = "42.0.0", default-features = false }
27+
sc-basic-authorship = { version = "0.48.0", default-features = false }
28+
sc-cli = { version = "0.50.0", default-features = false }
29+
sc-client-api = { version = "38.0.0", default-features = false }
30+
sc-consensus = { version = "0.47.0", default-features = false }
31+
sc-consensus-aura = { version = "0.48.0", default-features = false }
32+
sc-consensus-grandpa = { version = "0.33.0", default-features = false }
33+
sc-executor = { version = "0.41.0", default-features = false }
34+
sc-network = { version = "0.48.0", default-features = false }
35+
sc-offchain = { version = "43.0.0", default-features = false }
36+
sc-service = { version = "0.49.0", default-features = false }
37+
sc-telemetry = { version = "28.0.0", default-features = false }
38+
sc-transaction-pool = { version = "38.0.0", default-features = false }
39+
sc-transaction-pool-api = { version = "38.0.0", default-features = false }
40+
serde_json = { version = "1.0.132", default-features = false }
41+
sp-api = { version = "35.0.0", default-features = false }
42+
sp-block-builder = { version = "35.0.0", default-features = false }
43+
sp-blockchain = { version = "38.0.0", default-features = false }
44+
sp-consensus-aura = { version = "0.41.0", default-features = false }
45+
sp-consensus-grandpa = { version = "22.0.0", default-features = false }
46+
sp-core = { version = "35.0.0", default-features = false }
47+
sp-genesis-builder = { version = "0.16.0", default-features = false }
48+
sp-inherents = { version = "35.0.0", default-features = false }
49+
sp-io = { version = "39.0.0", default-features = false }
50+
sp-keyring = { version = "40.0.0", default-features = false }
51+
sp-runtime = { version = "40.1.0", default-features = false }
52+
sp-timestamp = { version = "35.0.0", default-features = false }
53+
substrate-frame-rpc-system = { version = "42.0.0", default-features = false }
5354
substrate-build-script-utils = { version = "11.0.0", default-features = false }
5455
codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" }
55-
frame-benchmarking = { version = "38.0.0", default-features = false }
56-
frame-executive = { version = "38.0.0", default-features = false }
57-
frame-support = { version = "38.0.0", default-features = false }
58-
frame-system-benchmarking = { version = "38.0.0", default-features = false }
59-
frame-system-rpc-runtime-api = { version = "34.0.0", default-features = false }
60-
frame-try-runtime = { version = "0.44.0", default-features = false }
61-
pallet-aura = { version = "37.0.0", default-features = false }
62-
pallet-balances = { version = "39.0.0", default-features = false }
63-
pallet-grandpa = { version = "38.0.0", default-features = false }
64-
pallet-sudo = { version = "38.0.0", default-features = false }
65-
pallet-timestamp = { version = "37.0.0", default-features = false }
66-
pallet-transaction-payment-rpc-runtime-api = { version = "38.0.0", default-features = false }
56+
frame-benchmarking = { version = "39.0.0", default-features = false }
57+
frame-executive = { version = "39.0.0", default-features = false }
58+
frame-support = { version = "39.0.0", default-features = false }
59+
frame-system-benchmarking = { version = "39.0.0", default-features = false }
60+
frame-system-rpc-runtime-api = { version = "35.0.0", default-features = false }
61+
frame-try-runtime = { version = "0.45.0", default-features = false }
62+
pallet-aura = { version = "38.0.0", default-features = false }
63+
pallet-balances = { version = "40.0.0", default-features = false }
64+
pallet-grandpa = { version = "39.0.0", default-features = false }
65+
pallet-sudo = { version = "39.0.0", default-features = false }
66+
pallet-timestamp = { version = "38.0.0", default-features = false }
67+
pallet-transaction-payment-rpc-runtime-api = { version = "39.0.0", default-features = false }
6768
scale-info = { version = "2.11.1", default-features = false }
68-
sp-genesis-builder = { version = "0.15.1", default-features = false }
69-
sp-offchain = { version = "34.0.0", default-features = false }
70-
sp-session = { version = "36.0.0", default-features = false }
71-
sp-storage = { version = "21.0.0", default-features = false }
72-
sp-transaction-pool = { version = "34.0.0", default-features = false }
73-
sp-version = { version = "37.0.0", default-features = false }
74-
substrate-wasm-builder = { version = "24.0.1", default-features = false }
69+
sp-offchain = { version = "35.0.0", default-features = false }
70+
sp-session = { version = "37.0.0", default-features = false }
71+
sp-storage = { version = "22.0.0", default-features = false }
72+
sp-transaction-pool = { version = "35.0.0", default-features = false }
73+
sp-version = { version = "38.0.0", default-features = false }
74+
substrate-wasm-builder = { version = "25.0.0", default-features = false }

README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,17 @@ packages required to compile this template. Check the
2323
the most common dependencies. Alternatively, you can use one of the [alternative
2424
installation](#alternatives-installations) options.
2525

26+
Fetch solochain template code:
27+
28+
```sh
29+
git clone https://github.com/paritytech/polkadot-sdk-solochain-template.git solochain-template
30+
31+
cd solochain-template
32+
```
33+
2634
### Build
2735

28-
Use the following command to build the node without launching it:
36+
🔨 Use the following command to build the node without launching it:
2937

3038
```sh
3139
cargo build --release
@@ -177,7 +185,7 @@ template and note the following:
177185
configuration is defined by a code block that begins with `impl
178186
$PALLET_NAME::Config for Runtime`.
179187
- The pallets are composed into a single runtime by way of the
180-
[`construct_runtime!`](https://paritytech.github.io/substrate/master/frame_support/macro.construct_runtime.html)
188+
[#[runtime]](https://paritytech.github.io/polkadot-sdk/master/frame_support/attr.runtime.html)
181189
macro, which is part of the [core FRAME pallet
182190
library](https://docs.substrate.io/reference/frame-pallets/#system-pallets).
183191

node/Cargo.toml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,18 @@ sc-transaction-pool-api.workspace = true
3737
sc-transaction-pool-api.default-features = true
3838
sc-offchain.workspace = true
3939
sc-offchain.default-features = true
40+
sc-consensus.workspace = true
41+
sc-consensus.default-features = true
4042
sc-consensus-aura.workspace = true
4143
sc-consensus-aura.default-features = true
4244
sp-consensus-aura.workspace = true
4345
sp-consensus-aura.default-features = true
44-
sc-consensus.workspace = true
45-
sc-consensus.default-features = true
4646
sc-consensus-grandpa.workspace = true
4747
sc-consensus-grandpa.default-features = true
4848
sp-consensus-grandpa.workspace = true
4949
sp-consensus-grandpa.default-features = true
50+
sp-genesis-builder.workspace = true
51+
sp-genesis-builder.default-features = true
5052
sc-client-api.workspace = true
5153
sc-client-api.default-features = true
5254
sc-basic-authorship.workspace = true
@@ -87,13 +89,12 @@ substrate-build-script-utils.default-features = true
8789

8890
[features]
8991
default = ["std"]
90-
std = [
91-
"solochain-template-runtime/std",
92-
]
92+
std = ["solochain-template-runtime/std"]
9393
# Dependencies that are only required if runtime benchmarking should be build.
9494
runtime-benchmarks = [
9595
"frame-benchmarking-cli/runtime-benchmarks",
9696
"frame-system/runtime-benchmarks",
97+
"pallet-transaction-payment/runtime-benchmarks",
9798
"sc-service/runtime-benchmarks",
9899
"solochain-template-runtime/runtime-benchmarks",
99100
"sp-runtime/runtime-benchmarks",

node/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
## Release
44

5-
Polkadot SDK stable2409
5+
Polkadot SDK Stable 2412

node/src/benchmarking.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ pub fn create_benchmark_extrinsic(
109109
.checked_next_power_of_two()
110110
.map(|c| c / 2)
111111
.unwrap_or(2) as u64;
112-
let extra: runtime::SignedExtra = (
112+
let tx_ext: runtime::TxExtension = (
113113
frame_system::CheckNonZeroSender::<runtime::Runtime>::new(),
114114
frame_system::CheckSpecVersion::<runtime::Runtime>::new(),
115115
frame_system::CheckTxVersion::<runtime::Runtime>::new(),
@@ -126,7 +126,7 @@ pub fn create_benchmark_extrinsic(
126126

127127
let raw_payload = runtime::SignedPayload::from_raw(
128128
call.clone(),
129-
extra.clone(),
129+
tx_ext.clone(),
130130
(
131131
(),
132132
runtime::VERSION.spec_version,
@@ -145,7 +145,7 @@ pub fn create_benchmark_extrinsic(
145145
call,
146146
sp_runtime::AccountId32::from(sender.public()).into(),
147147
runtime::Signature::Sr25519(signature),
148-
extra,
148+
tx_ext,
149149
)
150150
}
151151

node/src/chain_spec.rs

Lines changed: 5 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,117 +1,29 @@
11
use sc_service::ChainType;
2-
use solochain_template_runtime::{AccountId, Signature, WASM_BINARY};
3-
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
4-
use sp_consensus_grandpa::AuthorityId as GrandpaId;
5-
use sp_core::{sr25519, Pair, Public};
6-
use sp_runtime::traits::{IdentifyAccount, Verify};
7-
8-
// The URL for the telemetry server.
9-
// const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/";
2+
use solochain_template_runtime::WASM_BINARY;
103

114
/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type.
125
pub type ChainSpec = sc_service::GenericChainSpec;
136

14-
/// Generate a crypto pair from seed.
15-
pub fn get_from_seed<TPublic: Public>(seed: &str) -> <TPublic::Pair as Pair>::Public {
16-
TPublic::Pair::from_string(&format!("//{}", seed), None)
17-
.expect("static values are valid; qed")
18-
.public()
19-
}
20-
21-
type AccountPublic = <Signature as Verify>::Signer;
22-
23-
/// Generate an account ID from seed.
24-
pub fn get_account_id_from_seed<TPublic: Public>(seed: &str) -> AccountId
25-
where
26-
AccountPublic: From<<TPublic::Pair as Pair>::Public>,
27-
{
28-
AccountPublic::from(get_from_seed::<TPublic>(seed)).into_account()
29-
}
30-
31-
/// Generate an Aura authority key.
32-
pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) {
33-
(get_from_seed::<AuraId>(s), get_from_seed::<GrandpaId>(s))
34-
}
35-
36-
pub fn development_config() -> Result<ChainSpec, String> {
7+
pub fn development_chain_spec() -> Result<ChainSpec, String> {
378
Ok(ChainSpec::builder(
389
WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?,
3910
None,
4011
)
4112
.with_name("Development")
4213
.with_id("dev")
4314
.with_chain_type(ChainType::Development)
44-
.with_genesis_config_patch(testnet_genesis(
45-
// Initial PoA authorities
46-
vec![authority_keys_from_seed("Alice")],
47-
// Sudo account
48-
get_account_id_from_seed::<sr25519::Public>("Alice"),
49-
// Pre-funded accounts
50-
vec![
51-
get_account_id_from_seed::<sr25519::Public>("Alice"),
52-
get_account_id_from_seed::<sr25519::Public>("Bob"),
53-
get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
54-
get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
55-
],
56-
true,
57-
))
15+
.with_genesis_config_preset_name(sp_genesis_builder::DEV_RUNTIME_PRESET)
5816
.build())
5917
}
6018

61-
pub fn local_testnet_config() -> Result<ChainSpec, String> {
19+
pub fn local_chain_spec() -> Result<ChainSpec, String> {
6220
Ok(ChainSpec::builder(
6321
WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?,
6422
None,
6523
)
6624
.with_name("Local Testnet")
6725
.with_id("local_testnet")
6826
.with_chain_type(ChainType::Local)
69-
.with_genesis_config_patch(testnet_genesis(
70-
// Initial PoA authorities
71-
vec![authority_keys_from_seed("Alice"), authority_keys_from_seed("Bob")],
72-
// Sudo account
73-
get_account_id_from_seed::<sr25519::Public>("Alice"),
74-
// Pre-funded accounts
75-
vec![
76-
get_account_id_from_seed::<sr25519::Public>("Alice"),
77-
get_account_id_from_seed::<sr25519::Public>("Bob"),
78-
get_account_id_from_seed::<sr25519::Public>("Charlie"),
79-
get_account_id_from_seed::<sr25519::Public>("Dave"),
80-
get_account_id_from_seed::<sr25519::Public>("Eve"),
81-
get_account_id_from_seed::<sr25519::Public>("Ferdie"),
82-
get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
83-
get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
84-
get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
85-
get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
86-
get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
87-
get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
88-
],
89-
true,
90-
))
27+
.with_genesis_config_preset_name(sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET)
9128
.build())
9229
}
93-
94-
/// Configure initial storage state for FRAME modules.
95-
fn testnet_genesis(
96-
initial_authorities: Vec<(AuraId, GrandpaId)>,
97-
root_key: AccountId,
98-
endowed_accounts: Vec<AccountId>,
99-
_enable_println: bool,
100-
) -> serde_json::Value {
101-
serde_json::json!({
102-
"balances": {
103-
// Configure endowed accounts with initial balance of 1 << 60.
104-
"balances": endowed_accounts.iter().cloned().map(|k| (k, 1u64 << 60)).collect::<Vec<_>>(),
105-
},
106-
"aura": {
107-
"authorities": initial_authorities.iter().map(|x| (x.0.clone())).collect::<Vec<_>>(),
108-
},
109-
"grandpa": {
110-
"authorities": initial_authorities.iter().map(|x| (x.1.clone(), 1)).collect::<Vec<_>>(),
111-
},
112-
"sudo": {
113-
// Assign network admin rights.
114-
"key": Some(root_key),
115-
},
116-
})
117-
}

node/src/command.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ impl SubstrateCli for Cli {
3737

3838
fn load_spec(&self, id: &str) -> Result<Box<dyn sc_service::ChainSpec>, String> {
3939
Ok(match id {
40-
"dev" => Box::new(chain_spec::development_config()?),
41-
"" | "local" => Box::new(chain_spec::local_testnet_config()?),
40+
"dev" => Box::new(chain_spec::development_chain_spec()?),
41+
"" | "local" => Box::new(chain_spec::local_chain_spec()?),
4242
path =>
4343
Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?),
4444
})
@@ -144,11 +144,12 @@ pub fn run() -> sc_cli::Result<()> {
144144
let ext_builder = RemarkBuilder::new(client.clone());
145145

146146
cmd.run(
147-
config,
147+
config.chain_spec.name().into(),
148148
client,
149149
inherent_benchmark_data()?,
150150
Vec::new(),
151151
&ext_builder,
152+
false,
152153
)
153154
},
154155
BenchmarkCmd::Extrinsic(cmd) => {

0 commit comments

Comments
 (0)