mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 12:19:24 +00:00
DKG Removals (#467)
* Update ValidatorSets with a remove_participant call * Add DkgRemoval, a sign machine for producing the relevant MuSig signatures * Don't use position-dependent u8s yet Public when removing validators from the DKG * Add DkgRemovalPreprocess, DkgRemovalShares Implementation is via a new publish_tributary_tx lambda. This is code is a copy-pasted mess which will need to be cleaned up. * Only allow non-removed validators to vote for removals Otherwise, it's risked that the remaining validators fall below 67% of the original set. * Correct publish_serai_tx, which was prior publish_set_keys in practice
This commit is contained in:
@@ -112,4 +112,20 @@ impl<'a> SeraiValidatorSets<'a> {
|
||||
validator_sets::Call::<Runtime>::set_keys { network, key_pair, signature },
|
||||
))
|
||||
}
|
||||
|
||||
pub fn remove_participant(
|
||||
network: NetworkId,
|
||||
to_remove: Public,
|
||||
signers: Vec<Public>,
|
||||
signature: Signature,
|
||||
) -> Vec<u8> {
|
||||
Serai::unsigned(&serai_runtime::RuntimeCall::ValidatorSets(
|
||||
validator_sets::Call::<Runtime>::remove_participant {
|
||||
network,
|
||||
to_remove,
|
||||
signers,
|
||||
signature,
|
||||
},
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user