@@ -61,8 +61,6 @@ use bitcoin::blockdata::constants::ChainHash;
61
61
use bitcoin:: network:: Network ;
62
62
use bitcoin:: secp256k1:: { Keypair , PublicKey , Secp256k1 , self } ;
63
63
use bitcoin:: secp256k1:: schnorr:: Signature ;
64
- use core:: ops:: Deref ;
65
- use crate :: sign:: EntropySource ;
66
64
use crate :: io;
67
65
use crate :: blinded_path:: BlindedPath ;
68
66
use crate :: ln:: types:: PaymentHash ;
@@ -171,11 +169,10 @@ macro_rules! invoice_request_explicit_payer_id_builder_methods { ($self: ident,
171
169
}
172
170
173
171
#[ 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 ,
176
174
payment_id: PaymentId ,
177
- ) -> Self where ES :: Target : EntropySource {
178
- let nonce = Nonce :: from_entropy_source( entropy_source) ;
175
+ ) -> Self {
179
176
let payment_id = Some ( payment_id) ;
180
177
let derivation_material = MetadataMaterial :: new( nonce, expanded_key, IV_BYTES , payment_id) ;
181
178
let metadata = Metadata :: Derived ( derivation_material) ;
@@ -201,11 +198,10 @@ macro_rules! invoice_request_derived_payer_id_builder_methods { (
201
198
$self: ident, $self_type: ty, $secp_context: ty
202
199
) => {
203
200
#[ 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 ,
206
203
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 {
209
205
let payment_id = Some ( payment_id) ;
210
206
let derivation_material = MetadataMaterial :: new( nonce, expanded_key, IV_BYTES , payment_id) ;
211
207
let metadata = Metadata :: DerivedSigningPubkey ( derivation_material) ;
@@ -1399,14 +1395,15 @@ mod tests {
1399
1395
let payer_id = payer_pubkey ( ) ;
1400
1396
let expanded_key = ExpandedKey :: new ( & KeyMaterial ( [ 42 ; 32 ] ) ) ;
1401
1397
let entropy = FixedEntropy { } ;
1398
+ let nonce = Nonce :: from_entropy_source ( & entropy) ;
1402
1399
let secp_ctx = Secp256k1 :: new ( ) ;
1403
1400
let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
1404
1401
1405
1402
let offer = OfferBuilder :: new ( recipient_pubkey ( ) )
1406
1403
. amount_msats ( 1000 )
1407
1404
. build ( ) . unwrap ( ) ;
1408
1405
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)
1410
1407
. unwrap ( )
1411
1408
. build ( ) . unwrap ( )
1412
1409
. sign ( payer_sign) . unwrap ( ) ;
@@ -1472,14 +1469,15 @@ mod tests {
1472
1469
fn builds_invoice_request_with_derived_payer_id ( ) {
1473
1470
let expanded_key = ExpandedKey :: new ( & KeyMaterial ( [ 42 ; 32 ] ) ) ;
1474
1471
let entropy = FixedEntropy { } ;
1472
+ let nonce = Nonce :: from_entropy_source ( & entropy) ;
1475
1473
let secp_ctx = Secp256k1 :: new ( ) ;
1476
1474
let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
1477
1475
1478
1476
let offer = OfferBuilder :: new ( recipient_pubkey ( ) )
1479
1477
. amount_msats ( 1000 )
1480
1478
. build ( ) . unwrap ( ) ;
1481
1479
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)
1483
1481
. unwrap ( )
1484
1482
. build_and_sign ( )
1485
1483
. unwrap ( ) ;
0 commit comments