Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ This changelog is based on [Keep A Changelog](https://keepachangelog.com/en/1.1.

## Changed

* DParam now uses new schema, which involves `native_take` validators count.
* Updated polkadot-sdk dependency to polkadot-stable2509.
Partner Chains Aura modification follows changes regarding checking inherents that are also present in the new polkadot-sdk release.
Pallet Session new parameters should be: `type KeyDeposit = ();` and `type Currency = Balances;`.
Expand Down
1 change: 1 addition & 0 deletions demo/runtime/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,7 @@ pub fn create_inherent_data_struct(
d_parameter: DParameter {
num_permissioned_candidates: 0,
num_registered_candidates: max(candidates.len() as u16, 1),
num_native_stake_candidates: 0,
},
permissioned_candidates: vec![],
registered_candidates: candidates,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ echo "Inserting D parameter..."
--genesis-utxo $GENESIS_UTXO \
--permissioned-candidates-count 3 \
--registered-candidates-count 1 \
--native-stake-candidates-count 0 \
--payment-key-file /keys/funded_address.skey

if [ $? -eq 0 ]; then
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ impl AuthoritySelectionDataSource for MockAuthoritySelectionDataSource {
d_parameter: DParameter {
num_permissioned_candidates: self.num_permissioned_candidates,
num_registered_candidates: 2,
num_native_stake_candidates: 0,
},
permissioned_candidates: candidates.clone(),
}),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,11 @@ fn select_candidates<
validators.len(),
sidechain_epoch
);
info!(
"JAZDA {} {}",
input.d_parameter.num_permissioned_candidates,
input.d_parameter.num_registered_candidates
);
Some(validators.into_iter().map(|member| member.into()).collect())
} else {
warn!("🚫 Failed to select validators for epoch {}", sidechain_epoch);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,11 @@ fn ariadne_all_permissioned_test() {
// Expected committee: [alice, bob]
let permissioned_validators = vec![ALICE, BOB];
let registered_validators = vec![CHARLIE, DAVE];
let d_parameter = DParameter { num_permissioned_candidates: 8, num_registered_candidates: 0 };
let d_parameter = DParameter {
num_permissioned_candidates: 8,
num_registered_candidates: 0,
num_native_stake_candidates: 0,
};
let authority_selection_inputs = create_authority_selection_inputs(
&permissioned_validators,
&registered_validators,
Expand Down Expand Up @@ -220,7 +224,11 @@ fn ariadne_only_permissioned_candidates_are_present_test() {
// D-param: (4, 4)
let permissioned_validators = vec![ALICE, BOB];
let registered_validators = vec![];
let d_parameter = DParameter { num_permissioned_candidates: 4, num_registered_candidates: 4 };
let d_parameter = DParameter {
num_permissioned_candidates: 4,
num_registered_candidates: 4,
num_native_stake_candidates: 0,
};
let authority_selection_inputs = create_authority_selection_inputs(
&permissioned_validators,
&registered_validators,
Expand Down Expand Up @@ -252,7 +260,11 @@ fn ariadne_3_to_2_test() {
// D-param: (3, 2)
let permissioned_validators = vec![ALICE, BOB, CHARLIE];
let registered_validators = vec![DAVE, EVE];
let d_parameter = DParameter { num_permissioned_candidates: 3, num_registered_candidates: 2 };
let d_parameter = DParameter {
num_permissioned_candidates: 3,
num_registered_candidates: 2,
num_native_stake_candidates: 0,
};
let authority_selection_inputs = create_authority_selection_inputs(
&permissioned_validators,
&registered_validators,
Expand Down Expand Up @@ -283,7 +295,11 @@ fn ariadne_3_to_2_with_more_available_candidates_test() {
// D-param: (3, 2)
let permissioned_validators = vec![ALICE, BOB, CHARLIE, DAVE, EVE];
let registered_validators = vec![FERDIE, GREG, HENRY, IDA];
let d_parameter = DParameter { num_permissioned_candidates: 3, num_registered_candidates: 2 };
let d_parameter = DParameter {
num_permissioned_candidates: 3,
num_registered_candidates: 2,
num_native_stake_candidates: 0,
};
let authority_selection_inputs = create_authority_selection_inputs(
&permissioned_validators,
&registered_validators,
Expand Down Expand Up @@ -321,7 +337,11 @@ fn ariadne_4_to_7_test() {
// D-param: (4, 7)
let permissioned_validators = vec![ALICE, BOB, CHARLIE, DAVE];
let registered_validators = vec![EVE, FERDIE, GREG, HENRY, IDA, JAMES, KIM];
let d_parameter = DParameter { num_permissioned_candidates: 4, num_registered_candidates: 7 };
let d_parameter = DParameter {
num_permissioned_candidates: 4,
num_registered_candidates: 7,
num_native_stake_candidates: 0,
};
let authority_selection_inputs = create_authority_selection_inputs(
&permissioned_validators,
&registered_validators,
Expand Down Expand Up @@ -352,7 +372,11 @@ fn ariadne_does_not_return_empty_committee() {
let authority_selection_inputs = create_authority_selection_inputs(
&[],
&[],
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 1 },
DParameter {
num_permissioned_candidates: 1,
num_registered_candidates: 1,
num_native_stake_candidates: 0,
},
);
let calculated_committee = select_authorities::<AccountId, AccountKeys, MaxValidators>(
UtxoId::default(),
Expand Down
8 changes: 6 additions & 2 deletions toolkit/committee-selection/query/src/commands.rs
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,11 @@ mod tests {

#[tokio::test]
async fn ariadne_parameters_returns_correct_json_string() {
let d_parameter =
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 2 };
let d_parameter = DParameter {
num_permissioned_candidates: 1,
num_registered_candidates: 2,
num_native_stake_candidates: 0,
};
let permissioned_candidates = vec![PermissionedCandidateData {
sidechain_public_key: SidechainPublicKey(
hex!("0389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb").to_vec(),
Expand Down Expand Up @@ -130,6 +133,7 @@ mod tests {
serde_json::from_str::<Value>(&cmd_output).unwrap(),
serde_json::json!({
"dParameter": {
"numNativeStakeCandidates": 0,
"numPermissionedCandidates": 1,
"numRegisteredCandidates": 2
},
Expand Down
1 change: 1 addition & 0 deletions toolkit/committee-selection/query/src/tests/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,7 @@ mod get_registration_tests {
d_parameter: types::DParameter {
num_permissioned_candidates: 3,
num_registered_candidates: 2,
num_native_stake_candidates: 0,
},
permissioned_candidates: Some(
permissioned_candidates
Expand Down
5 changes: 4 additions & 1 deletion toolkit/committee-selection/query/src/types/ariadne.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,19 @@ pub struct DParameter {
pub num_permissioned_candidates: u16,
/// The number of registered candidates
pub num_registered_candidates: u16,
/// The number of native stake candidates
pub num_native_stake_candidates: u16,
}

impl From<sidechain_domain::DParameter> for DParameter {
fn from(
sidechain_domain::DParameter {
num_permissioned_candidates,
num_registered_candidates,
num_native_stake_candidates,
}: sidechain_domain::DParameter,
) -> Self {
Self { num_permissioned_candidates, num_registered_candidates }
Self { num_permissioned_candidates, num_registered_candidates, num_native_stake_candidates }
}
}

Expand Down
8 changes: 4 additions & 4 deletions toolkit/data-sources/db-sync/src/candidates/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ with_migration_versions! {
.unwrap();
assert_eq!(
result.d_parameter,
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3 }
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3, num_native_stake_candidates: 0 }
)
}

Expand All @@ -109,7 +109,7 @@ with_migration_versions! {
assert_eq!(result.permissioned_candidates, Some(latest_permissioned_candidates()));
assert_eq!(
result.d_parameter,
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3 }
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3, num_native_stake_candidates: 0 }
)
}

Expand All @@ -125,7 +125,7 @@ with_migration_versions! {
.unwrap();
assert_eq!(
result.d_parameter,
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 2 }
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 2, num_native_stake_candidates: 0 }
);
assert_eq!(result.permissioned_candidates, None)
}
Expand Down Expand Up @@ -236,7 +236,7 @@ mod candidate_caching {
.unwrap();
assert_eq!(
epoch_193_ariadne_parameters.d_parameter,
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3 }
DParameter { num_permissioned_candidates: 1, num_registered_candidates: 3, num_native_stake_candidates: 0 }
);
// Remove all registrations to prove that one request was cached and the other not
sqlx::raw_sql("DELETE FROM tx WHERE block_id >= 0")
Expand Down
39 changes: 20 additions & 19 deletions toolkit/data-sources/mock/examples/registrations.json
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@
[
{
"permissioned": [
{
"name": "Test permissioned account 1",
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
{
"name": "Test permissioned account 1",
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"registrations": [
{
"name": "Test registered account 2",
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"mainchain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"mainchain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
"sidechain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
"registration_utxo": "0x0000000000000000000000000000000000000000000000000000000000000000#0",
"status": "Active",
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
{
"name": "Test registered account 2",
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"mainchain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"mainchain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
"sidechain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
"registration_utxo": "0x0000000000000000000000000000000000000000000000000000000000000000#0",
"status": "Active",
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"nonce": "0x0000000000000000000000000000000000000000000000000000000000000000",
"d_parameter": {
"permissioned": 16,
"registered": 16
"registered": 16,
"native_stake": 0
}
}
]
]
39 changes: 20 additions & 19 deletions toolkit/data-sources/mock/registrations.json
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@
[
{
"permissioned": [
{
"name": "Test permissioned account 1",
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
{
"name": "Test permissioned account 1",
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"registrations": [
{
"name": "Test registered account 2",
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"mainchain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"mainchain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
"sidechain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
"registration_utxo": "0x0000000000000000000000000000000000000000000000000000000000000000#0",
"status": "Active",
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
{
"name": "Test registered account 2",
"sidechain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"mainchain_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"mainchain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
"sidechain_signature": "0x0000000000000000000000000000000000000000000000000000000000000000",
"registration_utxo": "0x0000000000000000000000000000000000000000000000000000000000000000#0",
"status": "Active",
"aura_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"grandpa_pub_key": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"nonce": "0x0000000000000000000000000000000000000000000000000000000000000000",
"d_parameter": {
"permissioned": 16,
"registered": 16
"registered": 16,
"native_stake": 0
}
}
]
]
14 changes: 11 additions & 3 deletions toolkit/data-sources/mock/src/candidate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,17 +124,25 @@ impl From<MockPermissionedCandidate> for PermissionedCandidateData {
pub struct MockDParam {
permissioned: u16,
registered: u16,
native_stake: u16,
}

impl MockDParam {
pub fn info_string(&self) -> String {
format!("permissioned: {}, registered: {}", self.permissioned, self.registered)
format!(
"permissioned: {}, registered: {}, native_stake: {}",
self.permissioned, self.registered, self.native_stake
)
}
}

impl From<MockDParam> for DParameter {
fn from(MockDParam { permissioned, registered }: MockDParam) -> Self {
Self { num_permissioned_candidates: permissioned, num_registered_candidates: registered }
fn from(MockDParam { permissioned, registered, native_stake }: MockDParam) -> Self {
Self {
num_permissioned_candidates: permissioned,
num_registered_candidates: registered,
num_native_stake_candidates: native_stake,
}
}
}

Expand Down
8 changes: 6 additions & 2 deletions toolkit/partner-chains-cli/src/setup_main_chain_state/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ impl<T: PartnerChainRuntime> CmdRun for SetupMainChainStateCmd<T> {
d_parameter.unwrap_or(DParameter {
num_permissioned_candidates: 0,
num_registered_candidates: 0,
num_native_stake_candidates: 0,
}),
chain_config.chain_parameters.genesis_utxo,
)?;
Expand Down Expand Up @@ -240,8 +241,11 @@ fn set_d_parameter_on_main_chain<C: IOContext>(
CARDANO_PAYMENT_SIGNING_KEY_FILE.prompt_with_default_from_file_and_save(context);
let payment_signing_key =
cardano_key::get_mc_payment_signing_key_from_file(&payment_signing_key_path, context)?;
let d_parameter =
sidechain_domain::DParameter { num_permissioned_candidates, num_registered_candidates };
let d_parameter = sidechain_domain::DParameter {
num_permissioned_candidates,
num_registered_candidates,
num_native_stake_candidates: 0,
};
let tokio_runtime = tokio::runtime::Runtime::new().map_err(|e| anyhow::anyhow!(e))?;
let result = tokio_runtime.block_on(offchain.upsert_d_param(
await_tx,
Expand Down
14 changes: 11 additions & 3 deletions toolkit/partner-chains-cli/src/setup_main_chain_state/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ fn upsert_permissioned_candidates_failed_io() -> MockIO {
}

fn new_d_parameter() -> DParameter {
DParameter::new(4, 7)
DParameter::new(4, 7, 0)
}

fn insert_d_parameter_io() -> MockIO {
Expand Down Expand Up @@ -473,7 +473,11 @@ fn mock_with_ariadne_parameters_found() -> OffchainMock {
OffchainMock::new()
.with_get_d_param(
genesis_utxo(),
Ok(Some(DParameter { num_permissioned_candidates: 6, num_registered_candidates: 4 })),
Ok(Some(DParameter {
num_permissioned_candidates: 6,
num_registered_candidates: 4,
num_native_stake_candidates: 0,
})),
)
.with_get_permissioned_candidates(
genesis_utxo(),
Expand All @@ -485,7 +489,11 @@ fn mock_with_ariadne_parameters_same_as_in_config_response() -> OffchainMock {
OffchainMock::new()
.with_get_d_param(
genesis_utxo(),
Ok(Some(DParameter { num_permissioned_candidates: 6, num_registered_candidates: 4 })),
Ok(Some(DParameter {
num_permissioned_candidates: 6,
num_registered_candidates: 4,
num_native_stake_candidates: 0,
})),
)
.with_get_permissioned_candidates(
genesis_utxo(),
Expand Down
Loading
Loading