@@ -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) ;
@@ -1403,14 +1399,15 @@ mod tests {
1403
1399
let payer_id = payer_pubkey ( ) ;
1404
1400
let expanded_key = ExpandedKey :: new ( & KeyMaterial ( [ 42 ; 32 ] ) ) ;
1405
1401
let entropy = FixedEntropy { } ;
1402
+ let nonce = Nonce :: from_entropy_source ( & entropy) ;
1406
1403
let secp_ctx = Secp256k1 :: new ( ) ;
1407
1404
let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
1408
1405
1409
1406
let offer = OfferBuilder :: new ( recipient_pubkey ( ) )
1410
1407
. amount_msats ( 1000 )
1411
1408
. build ( ) . unwrap ( ) ;
1412
1409
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)
1414
1411
. unwrap ( )
1415
1412
. build ( ) . unwrap ( )
1416
1413
. sign ( payer_sign) . unwrap ( ) ;
@@ -1476,14 +1473,15 @@ mod tests {
1476
1473
fn builds_invoice_request_with_derived_payer_id ( ) {
1477
1474
let expanded_key = ExpandedKey :: new ( & KeyMaterial ( [ 42 ; 32 ] ) ) ;
1478
1475
let entropy = FixedEntropy { } ;
1476
+ let nonce = Nonce :: from_entropy_source ( & entropy) ;
1479
1477
let secp_ctx = Secp256k1 :: new ( ) ;
1480
1478
let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
1481
1479
1482
1480
let offer = OfferBuilder :: new ( recipient_pubkey ( ) )
1483
1481
. amount_msats ( 1000 )
1484
1482
. build ( ) . unwrap ( ) ;
1485
1483
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)
1487
1485
. unwrap ( )
1488
1486
. build_and_sign ( )
1489
1487
. unwrap ( ) ;
0 commit comments