Skip to content

Commit ad992c8

Browse files
committed
add native stake to d-param
1 parent fe30fc3 commit ad992c8

File tree

18 files changed

+210
-74
lines changed

18 files changed

+210
-74
lines changed

changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ This changelog is based on [Keep A Changelog](https://keepachangelog.com/en/1.1.
66

77
## Changed
88

9+
* DParam now uses new schema, which involves `native_take` validators count.
910
* Updated polkadot-sdk dependency to polkadot-stable2509.
1011
Partner Chains Aura modification follows changes regarding checking inherents that are also present in the new polkadot-sdk release.
1112
Pallet Session new parameters should be: `type KeyDeposit = ();` and `type Currency = Balances;`.

demo/runtime/src/mock.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,7 @@ pub fn create_inherent_data_struct(
384384
d_parameter: DParameter {
385385
num_permissioned_candidates: 0,
386386
num_registered_candidates: max(candidates.len() as u16, 1),
387+
num_native_stake_candidates: 0,
387388
},
388389
permissioned_candidates: vec![],
389390
registered_candidates: candidates,

toolkit/committee-selection/authority-selection-inherents/src/mock.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ impl AuthoritySelectionDataSource for MockAuthoritySelectionDataSource {
5959
d_parameter: DParameter {
6060
num_permissioned_candidates: self.num_permissioned_candidates,
6161
num_registered_candidates: 2,
62+
num_native_stake_candidates: 0,
6263
},
6364
permissioned_candidates: candidates.clone(),
6465
}),

toolkit/committee-selection/authority-selection-inherents/src/tests.rs

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,11 @@ fn ariadne_all_permissioned_test() {
188188
// Expected committee: [alice, bob]
189189
let permissioned_validators = vec![ALICE, BOB];
190190
let registered_validators = vec![CHARLIE, DAVE];
191-
let d_parameter = DParameter { num_permissioned_candidates: 8, num_registered_candidates: 0 };
191+
let d_parameter = DParameter {
192+
num_permissioned_candidates: 8,
193+
num_registered_candidates: 0,
194+
num_native_stake_candidates: 0,
195+
};
192196
let authority_selection_inputs = create_authority_selection_inputs(
193197
&permissioned_validators,
194198
&registered_validators,
@@ -220,7 +224,11 @@ fn ariadne_only_permissioned_candidates_are_present_test() {
220224
// D-param: (4, 4)
221225
let permissioned_validators = vec![ALICE, BOB];
222226
let registered_validators = vec![];
223-
let d_parameter = DParameter { num_permissioned_candidates: 4, num_registered_candidates: 4 };
227+
let d_parameter = DParameter {
228+
num_permissioned_candidates: 4,
229+
num_registered_candidates: 4,
230+
num_native_stake_candidates: 0,
231+
};
224232
let authority_selection_inputs = create_authority_selection_inputs(
225233
&permissioned_validators,
226234
&registered_validators,
@@ -252,7 +260,11 @@ fn ariadne_3_to_2_test() {
252260
// D-param: (3, 2)
253261
let permissioned_validators = vec![ALICE, BOB, CHARLIE];
254262
let registered_validators = vec![DAVE, EVE];
255-
let d_parameter = DParameter { num_permissioned_candidates: 3, num_registered_candidates: 2 };
263+
let d_parameter = DParameter {
264+
num_permissioned_candidates: 3,
265+
num_registered_candidates: 2,
266+
num_native_stake_candidates: 0,
267+
};
256268
let authority_selection_inputs = create_authority_selection_inputs(
257269
&permissioned_validators,
258270
&registered_validators,
@@ -283,7 +295,11 @@ fn ariadne_3_to_2_with_more_available_candidates_test() {
283295
// D-param: (3, 2)
284296
let permissioned_validators = vec![ALICE, BOB, CHARLIE, DAVE, EVE];
285297
let registered_validators = vec![FERDIE, GREG, HENRY, IDA];
286-
let d_parameter = DParameter { num_permissioned_candidates: 3, num_registered_candidates: 2 };
298+
let d_parameter = DParameter {
299+
num_permissioned_candidates: 3,
300+
num_registered_candidates: 2,
301+
num_native_stake_candidates: 0,
302+
};
287303
let authority_selection_inputs = create_authority_selection_inputs(
288304
&permissioned_validators,
289305
&registered_validators,
@@ -321,7 +337,11 @@ fn ariadne_4_to_7_test() {
321337
// D-param: (4, 7)
322338
let permissioned_validators = vec![ALICE, BOB, CHARLIE, DAVE];
323339
let registered_validators = vec![EVE, FERDIE, GREG, HENRY, IDA, JAMES, KIM];
324-
let d_parameter = DParameter { num_permissioned_candidates: 4, num_registered_candidates: 7 };
340+
let d_parameter = DParameter {
341+
num_permissioned_candidates: 4,
342+
num_registered_candidates: 7,
343+
num_native_stake_candidates: 0,
344+
};
325345
let authority_selection_inputs = create_authority_selection_inputs(
326346
&permissioned_validators,
327347
&registered_validators,
@@ -352,7 +372,11 @@ fn ariadne_does_not_return_empty_committee() {
352372
let authority_selection_inputs = create_authority_selection_inputs(
353373
&[],
354374
&[],
355-
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 1 },
375+
DParameter {
376+
num_permissioned_candidates: 1,
377+
num_registered_candidates: 1,
378+
num_native_stake_candidates: 0,
379+
},
356380
);
357381
let calculated_committee = select_authorities::<AccountId, AccountKeys, MaxValidators>(
358382
UtxoId::default(),

toolkit/committee-selection/query/src/commands.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,11 @@ mod tests {
8787

8888
#[tokio::test]
8989
async fn ariadne_parameters_returns_correct_json_string() {
90-
let d_parameter =
91-
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 2 };
90+
let d_parameter = DParameter {
91+
num_permissioned_candidates: 1,
92+
num_registered_candidates: 2,
93+
num_native_stake_candidates: 0,
94+
};
9295
let permissioned_candidates = vec![PermissionedCandidateData {
9396
sidechain_public_key: SidechainPublicKey(
9497
hex!("0389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb").to_vec(),
@@ -130,6 +133,7 @@ mod tests {
130133
serde_json::from_str::<Value>(&cmd_output).unwrap(),
131134
serde_json::json!({
132135
"dParameter": {
136+
"numNativeStakeCandidates": 0,
133137
"numPermissionedCandidates": 1,
134138
"numRegisteredCandidates": 2
135139
},

toolkit/committee-selection/query/src/tests/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,7 @@ mod get_registration_tests {
351351
d_parameter: types::DParameter {
352352
num_permissioned_candidates: 3,
353353
num_registered_candidates: 2,
354+
num_native_stake_candidates: 0,
354355
},
355356
permissioned_candidates: Some(
356357
permissioned_candidates

toolkit/committee-selection/query/src/types/ariadne.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,19 @@ pub struct DParameter {
2424
pub num_permissioned_candidates: u16,
2525
/// The number of registered candidates
2626
pub num_registered_candidates: u16,
27+
/// The number of native stake candidates
28+
pub num_native_stake_candidates: u16,
2729
}
2830

2931
impl From<sidechain_domain::DParameter> for DParameter {
3032
fn from(
3133
sidechain_domain::DParameter {
3234
num_permissioned_candidates,
3335
num_registered_candidates,
36+
num_native_stake_candidates,
3437
}: sidechain_domain::DParameter,
3538
) -> Self {
36-
Self { num_permissioned_candidates, num_registered_candidates }
39+
Self { num_permissioned_candidates, num_registered_candidates, num_native_stake_candidates }
3740
}
3841
}
3942

toolkit/data-sources/db-sync/src/candidates/tests.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ with_migration_versions! {
8787
.unwrap();
8888
assert_eq!(
8989
result.d_parameter,
90-
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3 }
90+
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3, num_native_stake_candidates: 0 }
9191
)
9292
}
9393

@@ -109,7 +109,7 @@ with_migration_versions! {
109109
assert_eq!(result.permissioned_candidates, Some(latest_permissioned_candidates()));
110110
assert_eq!(
111111
result.d_parameter,
112-
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3 }
112+
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3, num_native_stake_candidates: 0 }
113113
)
114114
}
115115

@@ -125,7 +125,7 @@ with_migration_versions! {
125125
.unwrap();
126126
assert_eq!(
127127
result.d_parameter,
128-
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 2 }
128+
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 2, num_native_stake_candidates: 0 }
129129
);
130130
assert_eq!(result.permissioned_candidates, None)
131131
}
@@ -236,7 +236,7 @@ mod candidate_caching {
236236
.unwrap();
237237
assert_eq!(
238238
epoch_193_ariadne_parameters.d_parameter,
239-
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3 }
239+
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3, num_native_stake_candidates: 0 }
240240
);
241241
// Remove all registrations to prove that one request was cached and the other not
242242
sqlx::raw_sql("DELETE FROM tx WHERE block_id >= 0")
Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
11
[
22
{
33
"permissioned": [
4-
{
5-
"name": "Test permissioned account 1",
6-
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
7-
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
8-
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
9-
}
4+
{
5+
"name": "Test permissioned account 1",
6+
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
7+
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
8+
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
9+
}
1010
],
1111
"registrations": [
12-
{
13-
"name": "Test registered account 2",
14-
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
15-
"mainchain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
16-
"mainchain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
17-
"sidechain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
18-
"registration_utxo": "0x0000000000000000000000000000000000000000000000000000000000000000#0",
19-
"status": "Active",
20-
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
21-
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
22-
}
12+
{
13+
"name": "Test registered account 2",
14+
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
15+
"mainchain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
16+
"mainchain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
17+
"sidechain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
18+
"registration_utxo": "0x0000000000000000000000000000000000000000000000000000000000000000#0",
19+
"status": "Active",
20+
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
21+
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
22+
}
2323
],
2424
"nonce": "0x0000000000000000000000000000000000000000000000000000000000000000",
2525
"d_parameter": {
2626
"permissioned": 16,
27-
"registered": 16
27+
"registered": 16,
28+
"native_stake": 0
2829
}
2930
}
30-
]
31+
]
Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
11
[
22
{
33
"permissioned": [
4-
{
5-
"name": "Test permissioned account 1",
6-
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
7-
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
8-
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
9-
}
4+
{
5+
"name": "Test permissioned account 1",
6+
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
7+
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
8+
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
9+
}
1010
],
1111
"registrations": [
12-
{
13-
"name": "Test registered account 2",
14-
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
15-
"mainchain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
16-
"mainchain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
17-
"sidechain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
18-
"registration_utxo": "0x0000000000000000000000000000000000000000000000000000000000000000#0",
19-
"status": "Active",
20-
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
21-
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
22-
}
12+
{
13+
"name": "Test registered account 2",
14+
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
15+
"mainchain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
16+
"mainchain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
17+
"sidechain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
18+
"registration_utxo": "0x0000000000000000000000000000000000000000000000000000000000000000#0",
19+
"status": "Active",
20+
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
21+
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
22+
}
2323
],
2424
"nonce": "0x0000000000000000000000000000000000000000000000000000000000000000",
2525
"d_parameter": {
2626
"permissioned": 16,
27-
"registered": 16
27+
"registered": 16,
28+
"native_stake": 0
2829
}
2930
}
30-
]
31+
]

0 commit comments

Comments
 (0)