@@ -61,8 +61,6 @@ use bitcoin::blockdata::constants::ChainHash;
6161use bitcoin:: network:: Network ;
6262use bitcoin:: secp256k1:: { Keypair , PublicKey , Secp256k1 , self } ;
6363use bitcoin:: secp256k1:: schnorr:: Signature ;
64- use core:: ops:: Deref ;
65- use crate :: sign:: EntropySource ;
6664use crate :: io;
6765use crate :: blinded_path:: BlindedPath ;
6866use crate :: ln:: types:: PaymentHash ;
@@ -171,11 +169,10 @@ macro_rules! invoice_request_explicit_payer_id_builder_methods { ($self: ident,
171169 }
172170
173171 #[ cfg_attr( c_bindings, allow( dead_code) ) ]
174- pub ( super ) fn deriving_metadata< ES : Deref > (
175- offer: & ' a Offer , payer_id: PublicKey , expanded_key: & ExpandedKey , entropy_source : ES ,
172+ pub ( super ) fn deriving_metadata(
173+ offer: & ' a Offer , payer_id: PublicKey , expanded_key: & ExpandedKey , nonce : Nonce ,
176174 payment_id: PaymentId ,
177- ) -> Self where ES :: Target : EntropySource {
178- let nonce = Nonce :: from_entropy_source( entropy_source) ;
175+ ) -> Self {
179176 let payment_id = Some ( payment_id) ;
180177 let derivation_material = MetadataMaterial :: new( nonce, expanded_key, IV_BYTES , payment_id) ;
181178 let metadata = Metadata :: Derived ( derivation_material) ;
@@ -201,11 +198,10 @@ macro_rules! invoice_request_derived_payer_id_builder_methods { (
201198 $self: ident, $self_type: ty, $secp_context: ty
202199) => {
203200 #[ cfg_attr( c_bindings, allow( dead_code) ) ]
204- pub ( super ) fn deriving_payer_id< ES : Deref > (
205- offer: & ' a Offer , expanded_key: & ExpandedKey , entropy_source : ES ,
201+ pub ( super ) fn deriving_payer_id(
202+ offer: & ' a Offer , expanded_key: & ExpandedKey , nonce : Nonce ,
206203 secp_ctx: & ' b Secp256k1 <$secp_context>, payment_id: PaymentId
207- ) -> Self where ES :: Target : EntropySource {
208- let nonce = Nonce :: from_entropy_source( entropy_source) ;
204+ ) -> Self {
209205 let payment_id = Some ( payment_id) ;
210206 let derivation_material = MetadataMaterial :: new( nonce, expanded_key, IV_BYTES , payment_id) ;
211207 let metadata = Metadata :: DerivedSigningPubkey ( derivation_material) ;
@@ -1399,14 +1395,15 @@ mod tests {
13991395 let payer_id = payer_pubkey ( ) ;
14001396 let expanded_key = ExpandedKey :: new ( & KeyMaterial ( [ 42 ; 32 ] ) ) ;
14011397 let entropy = FixedEntropy { } ;
1398+ let nonce = Nonce :: from_entropy_source ( & entropy) ;
14021399 let secp_ctx = Secp256k1 :: new ( ) ;
14031400 let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
14041401
14051402 let offer = OfferBuilder :: new ( recipient_pubkey ( ) )
14061403 . amount_msats ( 1000 )
14071404 . build ( ) . unwrap ( ) ;
14081405 let invoice_request = offer
1409- . request_invoice_deriving_metadata ( payer_id, & expanded_key, & entropy , payment_id)
1406+ . request_invoice_deriving_metadata ( payer_id, & expanded_key, nonce , payment_id)
14101407 . unwrap ( )
14111408 . build ( ) . unwrap ( )
14121409 . sign ( payer_sign) . unwrap ( ) ;
@@ -1472,14 +1469,15 @@ mod tests {
14721469 fn builds_invoice_request_with_derived_payer_id ( ) {
14731470 let expanded_key = ExpandedKey :: new ( & KeyMaterial ( [ 42 ; 32 ] ) ) ;
14741471 let entropy = FixedEntropy { } ;
1472+ let nonce = Nonce :: from_entropy_source ( & entropy) ;
14751473 let secp_ctx = Secp256k1 :: new ( ) ;
14761474 let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
14771475
14781476 let offer = OfferBuilder :: new ( recipient_pubkey ( ) )
14791477 . amount_msats ( 1000 )
14801478 . build ( ) . unwrap ( ) ;
14811479 let invoice_request = offer
1482- . request_invoice_deriving_payer_id ( & expanded_key, & entropy , & secp_ctx, payment_id)
1480+ . request_invoice_deriving_payer_id ( & expanded_key, nonce , & secp_ctx, payment_id)
14831481 . unwrap ( )
14841482 . build_and_sign ( )
14851483 . unwrap ( ) ;
0 commit comments