From 8eaef4f20ca359fe4fa10045d1f031891a7909d5 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Wed, 10 Jul 2024 02:17:26 -0400 Subject: [PATCH] cast from proto enum --- src/multisig/key_presence.rs | 7 ++----- src/multisig/keygen.rs | 7 ++----- src/multisig/sign.rs | 7 ++----- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/multisig/key_presence.rs b/src/multisig/key_presence.rs index b1efa9de..a614adde 100644 --- a/src/multisig/key_presence.rs +++ b/src/multisig/key_presence.rs @@ -18,11 +18,8 @@ impl MultisigService { &self, request: proto::KeyPresenceRequest, ) -> TofndResult { - let algorithm = match request.algorithm { - 0 => Algorithm::Ecdsa, - 1 => Algorithm::Ed25519, - _ => return Err(anyhow!("Invalid algorithm: {}", request.algorithm)), - }; + let algorithm = Algorithm::from_i32(request.algorithm) + .ok_or_else(|| anyhow!("Invalid algorithm: {}", request.algorithm))?; // check if mnemonic is available let _ = self diff --git a/src/multisig/keygen.rs b/src/multisig/keygen.rs index f26436b5..f1dac365 100644 --- a/src/multisig/keygen.rs +++ b/src/multisig/keygen.rs @@ -7,11 +7,8 @@ use anyhow::anyhow; impl MultisigService { pub(super) async fn handle_keygen(&self, request: &KeygenRequest) -> TofndResult> { - let algorithm = match request.algorithm { - 0 => Algorithm::Ecdsa, - 1 => Algorithm::Ed25519, - _ => return Err(anyhow!("Invalid algorithm: {}", request.algorithm)), - }; + let algorithm = Algorithm::from_i32(request.algorithm) + .ok_or_else(|| anyhow!("Invalid algorithm: {}", request.algorithm))?; let secret_recovery_key = self.kv_manager.seed().await?; Ok( diff --git a/src/multisig/sign.rs b/src/multisig/sign.rs index 85422a36..6a79446d 100644 --- a/src/multisig/sign.rs +++ b/src/multisig/sign.rs @@ -9,11 +9,8 @@ use tofn::sdk::api::SecretRecoveryKey; impl MultisigService { pub(super) async fn handle_sign(&self, request: &SignRequest) -> TofndResult> { - let algorithm = match request.algorithm { - 0 => Algorithm::Ecdsa, - 1 => Algorithm::Ed25519, - _ => return Err(anyhow!("Invalid algorithm: {}", request.algorithm)), - }; + let algorithm = Algorithm::from_i32(request.algorithm) + .ok_or_else(|| anyhow!("Invalid algorithm: {}", request.algorithm))?; // re-generate secret key from seed, then sign let secret_recovery_key = self