From 0c38e24f44cd020bdf0c3cfed13295987ec12c97 Mon Sep 17 00:00:00 2001 From: Sosthene Date: Mon, 27 May 2024 11:56:29 +0200 Subject: [PATCH] AnkSharedSecret new() takes PublicKey --- src/crypto.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/crypto.rs b/src/crypto.rs index c05fa31..ed1eee1 100644 --- a/src/crypto.rs +++ b/src/crypto.rs @@ -9,6 +9,7 @@ use sp_client::{ silentpayments::{ bitcoin_hashes::{sha256t_hash_newtype, Hash, HashEngine}, sending::SilentPaymentAddress, + secp256k1::PublicKey }, }; use tsify::Tsify; @@ -39,8 +40,10 @@ pub struct AnkSharedSecret { } impl AnkSharedSecret { - pub fn new(shared_point: [u8; 64]) -> Self { - let secret = AnkSharedSecretHash::from_shared_point(shared_point).to_byte_array(); + pub fn new(shared_point: PublicKey) -> Self { + let mut shared_point_bin = [0u8;64]; + shared_point_bin.copy_from_slice(&shared_point.serialize_uncompressed()[1..]); + let secret = AnkSharedSecretHash::from_shared_point(shared_point_bin).to_byte_array(); Self { secret: secret.to_lower_hex_string() } }