mirror of
https://github.com/aljazceru/cdk.git
synced 2026-02-07 14:15:56 +01:00
'cashu-sdk' feat: rotate keyset
This commit is contained in:
@@ -6,6 +6,7 @@ pub use cashu::error::mint::Error;
|
||||
use cashu::nuts::nut00::BlindedMessage;
|
||||
use cashu::nuts::nut00::BlindedSignature;
|
||||
use cashu::nuts::nut00::Proof;
|
||||
use cashu::nuts::nut02::mint::KeySet;
|
||||
use cashu::nuts::nut06::SplitRequest;
|
||||
use cashu::nuts::nut06::SplitResponse;
|
||||
use cashu::nuts::nut07::CheckSpendableRequest;
|
||||
@@ -64,6 +65,21 @@ impl Mint {
|
||||
self.inactive_keysets.get(id).map(|k| k.clone().into())
|
||||
}
|
||||
|
||||
/// Add current keyset to inactive keysets
|
||||
/// Generate new keyset
|
||||
pub fn rotate_keyset(
|
||||
&mut self,
|
||||
secret: impl Into<String>,
|
||||
derivation_path: impl Into<String>,
|
||||
max_order: u8,
|
||||
) {
|
||||
// Add current set to inactive keysets
|
||||
self.inactive_keysets
|
||||
.insert(self.active_keyset.id.clone(), self.active_keyset.clone());
|
||||
|
||||
self.active_keyset = KeySet::generate(secret, derivation_path, max_order);
|
||||
}
|
||||
|
||||
pub fn process_mint_request(
|
||||
&mut self,
|
||||
mint_request: nut04::MintRequest,
|
||||
|
||||
Reference in New Issue
Block a user