'cashu-sdk' feat: rotate keyset

This commit is contained in:
thesimplekid
2023-09-08 07:39:56 +01:00
parent 9ddd36fc19
commit 4f98aa9e40

View File

@@ -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,