mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 12:19:24 +00:00
Perform MuSig signing of generated keys
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
use std::io::Read;
|
||||
|
||||
use scale::{Encode, Decode};
|
||||
|
||||
use ciphersuite::{group::GroupEncoding, Ciphersuite, Ristretto};
|
||||
|
||||
use serai_client::validator_sets::primitives::KeyPair;
|
||||
|
||||
pub use serai_db::*;
|
||||
|
||||
#[derive(Debug)]
|
||||
@@ -51,6 +55,22 @@ impl<D: Db> TributaryDb<D> {
|
||||
})
|
||||
}
|
||||
|
||||
fn currently_completing_key_pair_key(genesis: [u8; 32]) -> Vec<u8> {
|
||||
Self::tributary_key(b"currently_completing_key_pair", genesis)
|
||||
}
|
||||
pub fn save_currently_completing_key_pair(
|
||||
txn: &mut D::Transaction<'_>,
|
||||
genesis: [u8; 32],
|
||||
key_pair: &KeyPair,
|
||||
) {
|
||||
txn.put(Self::currently_completing_key_pair_key(genesis), key_pair.encode())
|
||||
}
|
||||
pub fn currently_completing_key_pair<G: Get>(getter: &G, genesis: [u8; 32]) -> Option<KeyPair> {
|
||||
getter
|
||||
.get(Self::currently_completing_key_pair_key(genesis))
|
||||
.map(|bytes| KeyPair::decode(&mut bytes.as_slice()).unwrap())
|
||||
}
|
||||
|
||||
fn recognized_id_key(label: &'static str, genesis: [u8; 32], id: [u8; 32]) -> Vec<u8> {
|
||||
Self::tributary_key(b"recognized", [label.as_bytes(), genesis.as_ref(), id.as_ref()].concat())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user