From 174a0f496f99b0830f4786672bab736623a17887 Mon Sep 17 00:00:00 2001 From: Jeffrey Czyz Date: Thu, 22 Aug 2024 15:41:16 -0500 Subject: [PATCH] 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. --- fuzz/src/chanmon_consistency.rs | 7 ----- fuzz/src/full_stack.rs | 7 ----- fuzz/src/onion_message.rs | 7 ----- lightning/src/ln/blinded_payment_tests.rs | 4 --- lightning/src/sign/mod.rs | 31 ----------------------- lightning/src/util/test_utils.rs | 13 ---------- 6 files changed, 69 deletions(-) diff --git a/fuzz/src/chanmon_consistency.rs b/fuzz/src/chanmon_consistency.rs index 8929a579c74..19570fdec3e 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, PaymentHash, PaymentPreimage, PaymentSecret}; 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::{ @@ -339,12 +338,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 90449248e32..564090530f9 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, PaymentHash, PaymentPreimage, PaymentSecret}; 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::{ @@ -411,12 +410,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 33458436c66..6139881b303 100644 --- a/fuzz/src/onion_message.rs +++ b/fuzz/src/onion_message.rs @@ -11,7 +11,6 @@ use lightning::ln::features::InitFeatures; use lightning::ln::msgs::{self, DecodeError, OnionMessageHandler}; 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, }; @@ -233,12 +232,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 c19447efbd6..3d852691936 100644 --- a/lightning/src/ln/blinded_payment_tests.rs +++ b/lightning/src/ln/blinded_payment_tests.rs @@ -26,7 +26,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}; @@ -1466,9 +1465,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 483d4eafe80..eca7be5afe6 100644 --- a/lightning/src/sign/mod.rs +++ b/lightning/src/sign/mod.rs @@ -57,7 +57,6 @@ use crate::ln::msgs::{UnsignedChannelAnnouncement, UnsignedGossipMessage}; use crate::ln::script::ShutdownScript; use crate::ln::types::PaymentPreimage; use crate::offers::invoice::UnsignedBolt12Invoice; -use crate::offers::invoice_request::UnsignedInvoiceRequest; 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 @@ -2183,15 +2167,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 { @@ -2358,12 +2333,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 7252162e269..2bd90277f12 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}; @@ -1234,12 +1233,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 { @@ -1287,12 +1280,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 {