Verify all Batchs published by the prior set

The new set publishing a `Batch` completes the handover protocol. The new set
should only publish a `Batch` once it believes the old set has completed all of
its on-external-chain activity, marking it honest and finite.

With the handover comes the acceptance of liability, hence the requirement for
all of the on-Serai-chain activity also needing verification. While most
activity would be verified in-real-time (upon ::Batch messages), the new set
will now explicitly verify the complete set of `Batch`s before beginning its
preprocess for its own `Batch` (the one accepting the handover).
This commit is contained in:
Luke Parker
2023-10-13 03:36:59 -04:00
parent 9aeece5bf6
commit 02edfd2935
4 changed files with 86 additions and 42 deletions

View File

@@ -61,7 +61,9 @@ impl Serai {
key: Public,
at_hash: [u8; 32],
) -> Result<Option<Amount>, SeraiError> {
self.storage(PALLET, "Allocations", Some(vec![scale_value(network), scale_value(key)]), at_hash).await
self
.storage(PALLET, "Allocations", Some(vec![scale_value(network), scale_value(key)]), at_hash)
.await
}
pub async fn get_validator_set_musig_key(