@@ -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) ;
@@ -1403,14 +1399,15 @@ mod tests {
14031399 let payer_id = payer_pubkey ( ) ;
14041400 let expanded_key = ExpandedKey :: new ( & KeyMaterial ( [ 42 ; 32 ] ) ) ;
14051401 let entropy = FixedEntropy { } ;
1402+ let nonce = Nonce :: from_entropy_source ( & entropy) ;
14061403 let secp_ctx = Secp256k1 :: new ( ) ;
14071404 let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
14081405
14091406 let offer = OfferBuilder :: new ( recipient_pubkey ( ) )
14101407 . amount_msats ( 1000 )
14111408 . build ( ) . unwrap ( ) ;
14121409 let invoice_request = offer
1413- . request_invoice_deriving_metadata ( payer_id, & expanded_key, & entropy , payment_id)
1410+ . request_invoice_deriving_metadata ( payer_id, & expanded_key, nonce , payment_id)
14141411 . unwrap ( )
14151412 . build ( ) . unwrap ( )
14161413 . sign ( payer_sign) . unwrap ( ) ;
@@ -1476,14 +1473,15 @@ mod tests {
14761473 fn builds_invoice_request_with_derived_payer_id ( ) {
14771474 let expanded_key = ExpandedKey :: new ( & KeyMaterial ( [ 42 ; 32 ] ) ) ;
14781475 let entropy = FixedEntropy { } ;
1476+ let nonce = Nonce :: from_entropy_source ( & entropy) ;
14791477 let secp_ctx = Secp256k1 :: new ( ) ;
14801478 let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
14811479
14821480 let offer = OfferBuilder :: new ( recipient_pubkey ( ) )
14831481 . amount_msats ( 1000 )
14841482 . build ( ) . unwrap ( ) ;
14851483 let invoice_request = offer
1486- . request_invoice_deriving_payer_id ( & expanded_key, & entropy , & secp_ctx, payment_id)
1484+ . request_invoice_deriving_payer_id ( & expanded_key, nonce , & secp_ctx, payment_id)
14871485 . unwrap ( )
14881486 . build_and_sign ( )
14891487 . unwrap ( ) ;
0 commit comments