diff --git a/bitcoin/src/addr.rs b/bitcoin/src/addr.rs index ae8a8d503..b635912f7 100644 --- a/bitcoin/src/addr.rs +++ b/bitcoin/src/addr.rs @@ -1,8 +1,10 @@ +use bitcoincore_rpc::bitcoin::secp256k1::Scalar; + use crate::{secp256k1::SecretKey, Error}; pub fn calculate_deposit_secret_key(vault_key: SecretKey, issue_key: SecretKey) -> Result { let mut deposit_key = vault_key; - deposit_key.mul_assign(&issue_key[..])?; + deposit_key.mul_assign(&Scalar::from(issue_key))?; Ok(deposit_key) } diff --git a/bitcoin/src/light/mod.rs b/bitcoin/src/light/mod.rs index 889509fb3..f23ed830a 100644 --- a/bitcoin/src/light/mod.rs +++ b/bitcoin/src/light/mod.rs @@ -2,7 +2,7 @@ mod error; mod wallet; pub use crate::{Error as BitcoinError, *}; -use bitcoincore_rpc::bitcoin::blockdata::constants::WITNESS_SCALE_FACTOR; +use bitcoincore_rpc::bitcoin::{blockdata::constants::WITNESS_SCALE_FACTOR, secp256k1::Scalar}; pub use error::Error; use async_trait::async_trait; @@ -158,7 +158,7 @@ impl BitcoinCoreApi for BitcoinLight { async fn add_new_deposit_key(&self, _public_key: PublicKey, secret_key: Vec) -> Result<(), BitcoinError> { fn mul_secret_key(vault_key: SecretKey, issue_key: SecretKey) -> Result { let mut deposit_key = vault_key; - deposit_key.mul_assign(&issue_key[..])?; + deposit_key.mul_assign(&Scalar::from(issue_key))?; Ok(deposit_key) }