mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-28 16:47:57 +00:00
session-info: add new fields + migration (#4545)
* session_info: v2 + migration * use primitives::v2 * use polkadot_primitives::v2 * impl primitives::v2 * fix approval-voting tests * fix other tests * hook storage migration up * backwards compat (1) * backwards compat (2) * fmt * fix tests * FMT * do not reexport v1 in v2 * fmt * set storage version to 1 Co-authored-by: Javier Viola <javier@parity.io>
This commit is contained in:
@@ -740,6 +740,22 @@ impl ChainBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
fn session_info(keys: &[Sr25519Keyring]) -> SessionInfo {
|
||||
SessionInfo {
|
||||
validators: keys.iter().map(|v| v.public().into()).collect(),
|
||||
discovery_keys: keys.iter().map(|v| v.public().into()).collect(),
|
||||
assignment_keys: keys.iter().map(|v| v.public().into()).collect(),
|
||||
validator_groups: vec![vec![ValidatorIndex(0)], vec![ValidatorIndex(1)]],
|
||||
n_cores: keys.len() as _,
|
||||
needed_approvals: 2,
|
||||
zeroth_delay_tranche_width: 5,
|
||||
relay_vrf_modulo_samples: 3,
|
||||
n_delay_tranches: 50,
|
||||
no_show_slots: 2,
|
||||
active_validator_indices: vec![],
|
||||
}
|
||||
}
|
||||
|
||||
async fn import_block(
|
||||
overseer: &mut VirtualOverseer,
|
||||
hashes: &[(Hash, Header)],
|
||||
@@ -757,18 +773,7 @@ async fn import_block(
|
||||
|
||||
let session_info = config.session_info.clone().unwrap_or({
|
||||
let validators = vec![Sr25519Keyring::Alice, Sr25519Keyring::Bob];
|
||||
SessionInfo {
|
||||
validators: validators.iter().map(|v| v.public().into()).collect(),
|
||||
discovery_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
assignment_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
validator_groups: vec![vec![ValidatorIndex(0)], vec![ValidatorIndex(1)]],
|
||||
n_cores: validators.len() as _,
|
||||
needed_approvals: 1,
|
||||
zeroth_delay_tranche_width: 5,
|
||||
relay_vrf_modulo_samples: 3,
|
||||
n_delay_tranches: 50,
|
||||
no_show_slots: 2,
|
||||
}
|
||||
SessionInfo { needed_approvals: 1, ..session_info(&validators) }
|
||||
});
|
||||
|
||||
overseer_send(
|
||||
@@ -1452,20 +1457,13 @@ fn subsystem_second_approval_import_only_schedules_wakeups() {
|
||||
Sr25519Keyring::Eve,
|
||||
];
|
||||
let session_info = SessionInfo {
|
||||
validators: validators.iter().map(|v| v.public().into()).collect(),
|
||||
validator_groups: vec![
|
||||
vec![ValidatorIndex(0), ValidatorIndex(1)],
|
||||
vec![ValidatorIndex(2)],
|
||||
vec![ValidatorIndex(3), ValidatorIndex(4)],
|
||||
],
|
||||
needed_approvals: 1,
|
||||
discovery_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
assignment_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
n_cores: validators.len() as _,
|
||||
zeroth_delay_tranche_width: 5,
|
||||
relay_vrf_modulo_samples: 3,
|
||||
n_delay_tranches: 50,
|
||||
no_show_slots: 2,
|
||||
..session_info(&validators)
|
||||
};
|
||||
|
||||
// Add block hash 0x01...
|
||||
@@ -1763,20 +1761,12 @@ fn import_checked_approval_updates_entries_and_schedules() {
|
||||
Sr25519Keyring::Eve,
|
||||
];
|
||||
let session_info = SessionInfo {
|
||||
validators: validators.iter().map(|v| v.public().into()).collect(),
|
||||
validator_groups: vec![
|
||||
vec![ValidatorIndex(0), ValidatorIndex(1)],
|
||||
vec![ValidatorIndex(2)],
|
||||
vec![ValidatorIndex(3), ValidatorIndex(4)],
|
||||
],
|
||||
needed_approvals: 2,
|
||||
discovery_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
assignment_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
n_cores: validators.len() as _,
|
||||
zeroth_delay_tranche_width: 5,
|
||||
relay_vrf_modulo_samples: 3,
|
||||
n_delay_tranches: 50,
|
||||
no_show_slots: 2,
|
||||
..session_info(&validators)
|
||||
};
|
||||
|
||||
let candidate_descriptor = make_candidate(1.into(), &block_hash);
|
||||
@@ -1923,20 +1913,12 @@ fn subsystem_import_checked_approval_sets_one_block_bit_at_a_time() {
|
||||
Sr25519Keyring::Eve,
|
||||
];
|
||||
let session_info = SessionInfo {
|
||||
validators: validators.iter().map(|v| v.public().into()).collect(),
|
||||
validator_groups: vec![
|
||||
vec![ValidatorIndex(0), ValidatorIndex(1)],
|
||||
vec![ValidatorIndex(2)],
|
||||
vec![ValidatorIndex(3), ValidatorIndex(4)],
|
||||
],
|
||||
needed_approvals: 2,
|
||||
discovery_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
assignment_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
n_cores: validators.len() as _,
|
||||
zeroth_delay_tranche_width: 5,
|
||||
relay_vrf_modulo_samples: 3,
|
||||
n_delay_tranches: 50,
|
||||
no_show_slots: 2,
|
||||
..session_info(&validators)
|
||||
};
|
||||
|
||||
ChainBuilder::new()
|
||||
@@ -2209,20 +2191,12 @@ fn subsystem_validate_approvals_cache() {
|
||||
Sr25519Keyring::Eve,
|
||||
];
|
||||
let session_info = SessionInfo {
|
||||
validators: validators.iter().map(|v| v.public().into()).collect(),
|
||||
validator_groups: vec![
|
||||
vec![ValidatorIndex(0), ValidatorIndex(1)],
|
||||
vec![ValidatorIndex(2)],
|
||||
vec![ValidatorIndex(3), ValidatorIndex(4)],
|
||||
],
|
||||
needed_approvals: 2,
|
||||
discovery_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
assignment_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
n_cores: validators.len() as _,
|
||||
zeroth_delay_tranche_width: 5,
|
||||
relay_vrf_modulo_samples: 3,
|
||||
n_delay_tranches: 50,
|
||||
no_show_slots: 2,
|
||||
..session_info(&validators)
|
||||
};
|
||||
|
||||
let candidates = Some(vec![(candidate_receipt.clone(), CoreIndex(0), GroupIndex(0))]);
|
||||
@@ -2422,20 +2396,14 @@ where
|
||||
Sr25519Keyring::Ferdie,
|
||||
];
|
||||
let session_info = SessionInfo {
|
||||
validators: validators.iter().map(|v| v.public().into()).collect(),
|
||||
validator_groups: vec![
|
||||
vec![ValidatorIndex(0), ValidatorIndex(1)],
|
||||
vec![ValidatorIndex(2), ValidatorIndex(3)],
|
||||
vec![ValidatorIndex(4), ValidatorIndex(5)],
|
||||
],
|
||||
needed_approvals: 2,
|
||||
discovery_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
assignment_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
n_cores: validators.len() as _,
|
||||
zeroth_delay_tranche_width: 5,
|
||||
relay_vrf_modulo_samples: 2,
|
||||
n_delay_tranches: 50,
|
||||
no_show_slots,
|
||||
..session_info(&validators)
|
||||
};
|
||||
|
||||
ChainBuilder::new()
|
||||
@@ -2740,20 +2708,12 @@ fn pre_covers_dont_stall_approval() {
|
||||
Sr25519Keyring::One,
|
||||
];
|
||||
let session_info = SessionInfo {
|
||||
validators: validators.iter().map(|v| v.public().into()).collect(),
|
||||
validator_groups: vec![
|
||||
vec![ValidatorIndex(0), ValidatorIndex(1)],
|
||||
vec![ValidatorIndex(2), ValidatorIndex(5)],
|
||||
vec![ValidatorIndex(3), ValidatorIndex(4)],
|
||||
],
|
||||
needed_approvals: 2,
|
||||
discovery_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
assignment_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
n_cores: validators.len() as _,
|
||||
zeroth_delay_tranche_width: 5,
|
||||
relay_vrf_modulo_samples: 3,
|
||||
n_delay_tranches: 50,
|
||||
no_show_slots: 2,
|
||||
..session_info(&validators)
|
||||
};
|
||||
|
||||
let candidate_descriptor = make_candidate(1.into(), &block_hash);
|
||||
@@ -2920,20 +2880,12 @@ fn waits_until_approving_assignments_are_old_enough() {
|
||||
Sr25519Keyring::One,
|
||||
];
|
||||
let session_info = SessionInfo {
|
||||
validators: validators.iter().map(|v| v.public().into()).collect(),
|
||||
validator_groups: vec![
|
||||
vec![ValidatorIndex(0), ValidatorIndex(1)],
|
||||
vec![ValidatorIndex(2), ValidatorIndex(5)],
|
||||
vec![ValidatorIndex(3), ValidatorIndex(4)],
|
||||
],
|
||||
needed_approvals: 2,
|
||||
discovery_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
assignment_keys: validators.iter().map(|v| v.public().into()).collect(),
|
||||
n_cores: validators.len() as _,
|
||||
zeroth_delay_tranche_width: 5,
|
||||
relay_vrf_modulo_samples: 3,
|
||||
n_delay_tranches: 50,
|
||||
no_show_slots: 2,
|
||||
..session_info(&validators)
|
||||
};
|
||||
|
||||
let candidate_descriptor = make_candidate(1.into(), &block_hash);
|
||||
|
||||
Reference in New Issue
Block a user