From: Jeffrey Czyz Date: Thu, 22 Aug 2024 20:41:16 +0000 (-0500) Subject: Remove NodeSigner::sign_bolt12_invoice_request X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=c331b671379b64ef54b863346698851f2ce0376a;p=rust-lightning Remove NodeSigner::sign_bolt12_invoice_request Now that invoice requests are signed using transient keys only, remove the corresponding signing method from NodeSigner since it is never used. --- diff --git a/fuzz/src/chanmon_consistency.rs b/fuzz/src/chanmon_consistency.rs index 821acfc53..8fdd7b03e 100644 --- a/fuzz/src/chanmon_consistency.rs +++ b/fuzz/src/chanmon_consistency.rs @@ -57,7 +57,6 @@ use lightning::ln::msgs::{ use lightning::ln::script::ShutdownScript; use lightning::ln::types::ChannelId; use lightning::offers::invoice::UnsignedBolt12Invoice; -use lightning::offers::invoice_request::UnsignedInvoiceRequest; use lightning::onion_message::messenger::{Destination, MessageRouter, OnionMessagePath}; use lightning::routing::router::{InFlightHtlcs, Path, Route, RouteHop, RouteParameters, Router}; use lightning::sign::{ @@ -340,12 +339,6 @@ impl NodeSigner for KeyProvider { unreachable!() } - fn sign_bolt12_invoice_request( - &self, _invoice_request: &UnsignedInvoiceRequest, - ) -> Result { - unreachable!() - } - fn sign_bolt12_invoice( &self, _invoice: &UnsignedBolt12Invoice, ) -> Result { diff --git a/fuzz/src/full_stack.rs b/fuzz/src/full_stack.rs index 59f1275a6..fd199ac16 100644 --- a/fuzz/src/full_stack.rs +++ b/fuzz/src/full_stack.rs @@ -50,7 +50,6 @@ use lightning::ln::peer_handler::{ use lightning::ln::script::ShutdownScript; use lightning::ln::types::ChannelId; use lightning::offers::invoice::UnsignedBolt12Invoice; -use lightning::offers::invoice_request::UnsignedInvoiceRequest; use lightning::onion_message::messenger::{Destination, MessageRouter, OnionMessagePath}; use lightning::routing::gossip::{NetworkGraph, P2PGossipSync}; use lightning::routing::router::{ @@ -413,12 +412,6 @@ impl NodeSigner for KeyProvider { unreachable!() } - fn sign_bolt12_invoice_request( - &self, _invoice_request: &UnsignedInvoiceRequest, - ) -> Result { - unreachable!() - } - fn sign_bolt12_invoice( &self, _invoice: &UnsignedBolt12Invoice, ) -> Result { diff --git a/fuzz/src/onion_message.rs b/fuzz/src/onion_message.rs index edf304b54..59255d0a0 100644 --- a/fuzz/src/onion_message.rs +++ b/fuzz/src/onion_message.rs @@ -13,7 +13,6 @@ use lightning::ln::msgs::{self, DecodeError, OnionMessageHandler}; use lightning::ln::peer_handler::IgnoringMessageHandler; use lightning::ln::script::ShutdownScript; use lightning::offers::invoice::UnsignedBolt12Invoice; -use lightning::offers::invoice_request::UnsignedInvoiceRequest; use lightning::onion_message::async_payments::{ AsyncPaymentsMessageHandler, HeldHtlcAvailable, ReleaseHeldHtlc, }; @@ -234,12 +233,6 @@ impl NodeSigner for KeyProvider { unreachable!() } - fn sign_bolt12_invoice_request( - &self, _invoice_request: &UnsignedInvoiceRequest, - ) -> Result { - unreachable!() - } - fn sign_bolt12_invoice( &self, _invoice: &UnsignedBolt12Invoice, ) -> Result { diff --git a/lightning/src/ln/blinded_payment_tests.rs b/lightning/src/ln/blinded_payment_tests.rs index aa399b9d4..6fafbe56c 100644 --- a/lightning/src/ln/blinded_payment_tests.rs +++ b/lightning/src/ln/blinded_payment_tests.rs @@ -27,7 +27,6 @@ use crate::ln::onion_utils; use crate::ln::onion_utils::INVALID_ONION_BLINDING; use crate::ln::outbound_payment::{Retry, IDEMPOTENCY_TIMEOUT_TICKS}; use crate::offers::invoice::UnsignedBolt12Invoice; -use crate::offers::invoice_request::UnsignedInvoiceRequest; use crate::prelude::*; use crate::routing::router::{BlindedTail, Path, Payee, PaymentParameters, RouteHop, RouteParameters}; use crate::sign::{KeyMaterial, NodeSigner, Recipient}; @@ -1467,9 +1466,6 @@ fn route_blinding_spec_test_vector() { fn sign_invoice( &self, _invoice: &RawBolt11Invoice, _recipient: Recipient, ) -> Result { unreachable!() } - fn sign_bolt12_invoice_request( - &self, _invoice_request: &UnsignedInvoiceRequest, - ) -> Result { unreachable!() } fn sign_bolt12_invoice( &self, _invoice: &UnsignedBolt12Invoice, ) -> Result { unreachable!() } diff --git a/lightning/src/sign/mod.rs b/lightning/src/sign/mod.rs index fa463df93..ed4f296b7 100644 --- a/lightning/src/sign/mod.rs +++ b/lightning/src/sign/mod.rs @@ -56,7 +56,6 @@ use crate::ln::msgs::PartialSignatureWithNonce; use crate::ln::msgs::{UnsignedChannelAnnouncement, UnsignedGossipMessage}; use crate::ln::script::ShutdownScript; use crate::offers::invoice::UnsignedBolt12Invoice; -use crate::offers::invoice_request::UnsignedInvoiceRequest; use crate::types::payment::PaymentPreimage; use crate::util::ser::{Readable, ReadableArgs, Writeable, Writer}; use crate::util::transaction_utils; @@ -870,21 +869,6 @@ pub trait NodeSigner { &self, invoice: &RawBolt11Invoice, recipient: Recipient, ) -> Result; - /// Signs the [`TaggedHash`] of a BOLT 12 invoice request. - /// - /// May be called by a function passed to [`UnsignedInvoiceRequest::sign`] where - /// `invoice_request` is the callee. - /// - /// Implementors may check that the `invoice_request` is expected rather than blindly signing - /// the tagged hash. An `Ok` result should sign `invoice_request.tagged_hash().as_digest()` with - /// the node's signing key or an ephemeral key to preserve privacy, whichever is associated with - /// [`UnsignedInvoiceRequest::payer_signing_pubkey`]. - /// - /// [`TaggedHash`]: crate::offers::merkle::TaggedHash - fn sign_bolt12_invoice_request( - &self, invoice_request: &UnsignedInvoiceRequest, - ) -> Result; - /// Signs the [`TaggedHash`] of a BOLT 12 invoice. /// /// May be called by a function passed to [`UnsignedBolt12Invoice::sign`] where `invoice` is the @@ -2206,15 +2190,6 @@ impl NodeSigner for KeysManager { Ok(self.secp_ctx.sign_ecdsa_recoverable(&hash_to_message!(&hash), secret)) } - fn sign_bolt12_invoice_request( - &self, invoice_request: &UnsignedInvoiceRequest, - ) -> Result { - let message = invoice_request.tagged_hash().as_digest(); - let keys = Keypair::from_secret_key(&self.secp_ctx, &self.node_secret); - let aux_rand = self.get_secure_random_bytes(); - Ok(self.secp_ctx.sign_schnorr_with_aux_rand(message, &keys, &aux_rand)) - } - fn sign_bolt12_invoice( &self, invoice: &UnsignedBolt12Invoice, ) -> Result { @@ -2384,12 +2359,6 @@ impl NodeSigner for PhantomKeysManager { Ok(self.inner.secp_ctx.sign_ecdsa_recoverable(&hash_to_message!(&hash), secret)) } - fn sign_bolt12_invoice_request( - &self, invoice_request: &UnsignedInvoiceRequest, - ) -> Result { - self.inner.sign_bolt12_invoice_request(invoice_request) - } - fn sign_bolt12_invoice( &self, invoice: &UnsignedBolt12Invoice, ) -> Result { diff --git a/lightning/src/util/test_utils.rs b/lightning/src/util/test_utils.rs index 122d7f0af..813b481c9 100644 --- a/lightning/src/util/test_utils.rs +++ b/lightning/src/util/test_utils.rs @@ -34,7 +34,6 @@ use crate::ln::{msgs, wire}; use crate::ln::msgs::LightningError; use crate::ln::script::ShutdownScript; use crate::offers::invoice::UnsignedBolt12Invoice; -use crate::offers::invoice_request::UnsignedInvoiceRequest; use crate::onion_message::messenger::{DefaultMessageRouter, Destination, MessageRouter, OnionMessagePath}; use crate::routing::gossip::{EffectiveCapacity, NetworkGraph, NodeId, RoutingFees}; use crate::routing::utxo::{UtxoLookup, UtxoLookupError, UtxoResult}; @@ -1216,12 +1215,6 @@ impl NodeSigner for TestNodeSigner { unreachable!() } - fn sign_bolt12_invoice_request( - &self, _invoice_request: &UnsignedInvoiceRequest - ) -> Result { - unreachable!() - } - fn sign_bolt12_invoice( &self, _invoice: &UnsignedBolt12Invoice, ) -> Result { @@ -1269,12 +1262,6 @@ impl NodeSigner for TestKeysInterface { self.backing.sign_invoice(invoice, recipient) } - fn sign_bolt12_invoice_request( - &self, invoice_request: &UnsignedInvoiceRequest - ) -> Result { - self.backing.sign_bolt12_invoice_request(invoice_request) - } - fn sign_bolt12_invoice( &self, invoice: &UnsignedBolt12Invoice, ) -> Result {