PoA: Wait for transition finality before applying (#5774)
* final engine changes * migration to v13 * adding and removing pending transitions * epoch_transition_for * port snapshot to new engine methods * final validator set interface * fix compiler errors * revert v13/epoch_depth transition * make call on new epoch * rolling finality checker * tests for finality checker * constructing finality proof upon pending transition * fix warnings and finality proof checking * fix compiler warnings in tests * test fixes * don't include genesis in finality checking * change snapshot test chain building logic * minor refactorings * fetch epoch transition based on parent, fix divide-by-zero in SimpleList * fix formatting * fix ABIs and finality checking in snapshot restoration * encode signal number in proof * create more blocks at the end of tests * update gist to accurate contract code * test for epoch_transition_for * fix tests with immediateTransitions parameter * disable force flag after forcing * rename ValidatorsChanged to InitiateChange and finalizeSignal to finalizeChange * a few more validator set tests
This commit is contained in:
committed by
Arkadiy Paronyan
parent
3637c14da5
commit
d069b98b45
@@ -49,6 +49,9 @@ pub struct AuthorityRoundParams {
|
||||
/// Block from which monotonic steps start.
|
||||
#[serde(rename="validateStepTransition")]
|
||||
pub validate_step_transition: Option<Uint>,
|
||||
/// Whether transitions should be immediate.
|
||||
#[serde(rename="immediateTransitions")]
|
||||
pub immediate_transitions: Option<bool>,
|
||||
}
|
||||
|
||||
/// Authority engine deserialization.
|
||||
@@ -92,5 +95,6 @@ mod tests {
|
||||
assert!(deserialized.params.registrar.is_none());
|
||||
assert_eq!(deserialized.params.start_step, Some(Uint(U256::from(24))));
|
||||
assert_eq!(deserialized.params.eip155_transition, Some(Uint(U256::from(0x42))));
|
||||
assert_eq!(deserialized.params.immediate_transitions, None);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user