mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-24 15:02:20 +01:00
Merge pull request #2246 from arik-so/2023-04-sign-module
Move keysinterface.rs to a directory-level module called sign
This commit is contained in:
commit
56b0c96838
52 changed files with 109 additions and 108 deletions
|
@ -37,7 +37,7 @@ use lightning::chain::{BestBlock, ChannelMonitorUpdateStatus, chainmonitor, chan
|
|||
use lightning::chain::channelmonitor::{ChannelMonitor, MonitorEvent};
|
||||
use lightning::chain::transaction::OutPoint;
|
||||
use lightning::chain::chaininterface::{BroadcasterInterface, ConfirmationTarget, FeeEstimator};
|
||||
use lightning::chain::keysinterface::{KeyMaterial, InMemorySigner, Recipient, EntropySource, NodeSigner, SignerProvider};
|
||||
use lightning::sign::{KeyMaterial, InMemorySigner, Recipient, EntropySource, NodeSigner, SignerProvider};
|
||||
use lightning::events;
|
||||
use lightning::events::MessageSendEventsProvider;
|
||||
use lightning::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
|
||||
|
|
|
@ -34,7 +34,7 @@ use lightning::chain::{BestBlock, ChannelMonitorUpdateStatus, Confirm, Listen};
|
|||
use lightning::chain::chaininterface::{BroadcasterInterface, ConfirmationTarget, FeeEstimator};
|
||||
use lightning::chain::chainmonitor;
|
||||
use lightning::chain::transaction::OutPoint;
|
||||
use lightning::chain::keysinterface::{InMemorySigner, Recipient, KeyMaterial, EntropySource, NodeSigner, SignerProvider};
|
||||
use lightning::sign::{InMemorySigner, Recipient, KeyMaterial, EntropySource, NodeSigner, SignerProvider};
|
||||
use lightning::events::Event;
|
||||
use lightning::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
|
||||
use lightning::ln::channelmanager::{ChainParameters, ChannelDetails, ChannelManager, PaymentId, RecipientOnionFields, Retry};
|
||||
|
|
|
@ -11,7 +11,7 @@ use bitcoin::secp256k1::{KeyPair, Parity, PublicKey, Secp256k1, SecretKey, self}
|
|||
use crate::utils::test_logger;
|
||||
use core::convert::{Infallible, TryFrom};
|
||||
use lightning::blinded_path::BlindedPath;
|
||||
use lightning::chain::keysinterface::EntropySource;
|
||||
use lightning::sign::EntropySource;
|
||||
use lightning::ln::PaymentHash;
|
||||
use lightning::ln::features::BlindedHopFeatures;
|
||||
use lightning::offers::invoice::{BlindedPayInfo, UnsignedInvoice};
|
||||
|
|
|
@ -5,7 +5,7 @@ use bitcoin::secp256k1::{PublicKey, Scalar, Secp256k1, SecretKey};
|
|||
use bitcoin::secp256k1::ecdh::SharedSecret;
|
||||
use bitcoin::secp256k1::ecdsa::RecoverableSignature;
|
||||
|
||||
use lightning::chain::keysinterface::{Recipient, KeyMaterial, EntropySource, NodeSigner, SignerProvider};
|
||||
use lightning::sign::{Recipient, KeyMaterial, EntropySource, NodeSigner, SignerProvider};
|
||||
use lightning::ln::msgs::{self, DecodeError, OnionMessageHandler};
|
||||
use lightning::ln::script::ShutdownScript;
|
||||
use lightning::util::enforcing_trait_impls::EnforcingSigner;
|
||||
|
|
|
@ -11,7 +11,7 @@ use bitcoin::secp256k1::{KeyPair, PublicKey, Secp256k1, SecretKey, self};
|
|||
use crate::utils::test_logger;
|
||||
use core::convert::{Infallible, TryFrom};
|
||||
use lightning::blinded_path::BlindedPath;
|
||||
use lightning::chain::keysinterface::EntropySource;
|
||||
use lightning::sign::EntropySource;
|
||||
use lightning::ln::PaymentHash;
|
||||
use lightning::ln::features::BlindedHopFeatures;
|
||||
use lightning::offers::invoice::{BlindedPayInfo, UnsignedInvoice};
|
||||
|
|
|
@ -25,7 +25,7 @@ extern crate lightning_rapid_gossip_sync;
|
|||
use lightning::chain;
|
||||
use lightning::chain::chaininterface::{BroadcasterInterface, FeeEstimator};
|
||||
use lightning::chain::chainmonitor::{ChainMonitor, Persist};
|
||||
use lightning::chain::keysinterface::{EntropySource, NodeSigner, SignerProvider};
|
||||
use lightning::sign::{EntropySource, NodeSigner, SignerProvider};
|
||||
use lightning::events::{Event, PathFailure};
|
||||
#[cfg(feature = "std")]
|
||||
use lightning::events::{EventHandler, EventsProvider};
|
||||
|
@ -506,11 +506,11 @@ use core::task;
|
|||
/// # use lightning_background_processor::{process_events_async, GossipSync};
|
||||
/// # type MyBroadcaster = dyn lightning::chain::chaininterface::BroadcasterInterface + Send + Sync;
|
||||
/// # type MyFeeEstimator = dyn lightning::chain::chaininterface::FeeEstimator + Send + Sync;
|
||||
/// # type MyNodeSigner = dyn lightning::chain::keysinterface::NodeSigner + Send + Sync;
|
||||
/// # type MyNodeSigner = dyn lightning::sign::NodeSigner + Send + Sync;
|
||||
/// # type MyUtxoLookup = dyn lightning::routing::utxo::UtxoLookup + Send + Sync;
|
||||
/// # type MyFilter = dyn lightning::chain::Filter + Send + Sync;
|
||||
/// # type MyLogger = dyn lightning::util::logger::Logger + Send + Sync;
|
||||
/// # type MyChainMonitor = lightning::chain::chainmonitor::ChainMonitor<lightning::chain::keysinterface::InMemorySigner, Arc<MyFilter>, Arc<MyBroadcaster>, Arc<MyFeeEstimator>, Arc<MyLogger>, Arc<MyPersister>>;
|
||||
/// # type MyChainMonitor = lightning::chain::chainmonitor::ChainMonitor<lightning::sign::InMemorySigner, Arc<MyFilter>, Arc<MyBroadcaster>, Arc<MyFeeEstimator>, Arc<MyLogger>, Arc<MyPersister>>;
|
||||
/// # type MyPeerManager = lightning::ln::peer_handler::SimpleArcPeerManager<MySocketDescriptor, MyChainMonitor, MyBroadcaster, MyFeeEstimator, MyUtxoLookup, MyLogger>;
|
||||
/// # type MyNetworkGraph = lightning::routing::gossip::NetworkGraph<Arc<MyLogger>>;
|
||||
/// # type MyGossipSync = lightning::routing::gossip::P2PGossipSync<Arc<MyNetworkGraph>, Arc<MyUtxoLookup>, Arc<MyLogger>>;
|
||||
|
@ -825,7 +825,7 @@ mod tests {
|
|||
use bitcoin::secp256k1::{SecretKey, PublicKey, Secp256k1};
|
||||
use lightning::chain::{BestBlock, Confirm, chainmonitor};
|
||||
use lightning::chain::channelmonitor::ANTI_REORG_DELAY;
|
||||
use lightning::chain::keysinterface::{InMemorySigner, KeysManager};
|
||||
use lightning::sign::{InMemorySigner, KeysManager};
|
||||
use lightning::chain::transaction::OutPoint;
|
||||
use lightning::events::{Event, PathFailure, MessageSendEventsProvider, MessageSendEvent};
|
||||
use lightning::{get_event_msg, get_event};
|
||||
|
|
|
@ -47,8 +47,8 @@ BlockSourceResult<ValidatedBlockHeader> where B::Target: BlockSource {
|
|||
/// use lightning::chain::channelmonitor::ChannelMonitor;
|
||||
/// use lightning::chain::chaininterface::BroadcasterInterface;
|
||||
/// use lightning::chain::chaininterface::FeeEstimator;
|
||||
/// use lightning::chain::keysinterface;
|
||||
/// use lightning::chain::keysinterface::{EntropySource, NodeSigner, SignerProvider};
|
||||
/// use lightning::sign;
|
||||
/// use lightning::sign::{EntropySource, NodeSigner, SignerProvider};
|
||||
/// use lightning::ln::channelmanager::{ChannelManager, ChannelManagerReadArgs};
|
||||
/// use lightning::routing::router::Router;
|
||||
/// use lightning::util::config::UserConfig;
|
||||
|
|
|
@ -15,7 +15,7 @@ use bitcoin_hashes::Hash;
|
|||
|
||||
use lightning::chain;
|
||||
use lightning::chain::chaininterface::{BroadcasterInterface, FeeEstimator};
|
||||
use lightning::chain::keysinterface::{NodeSigner, SignerProvider, EntropySource};
|
||||
use lightning::sign::{NodeSigner, SignerProvider, EntropySource};
|
||||
use lightning::ln::PaymentHash;
|
||||
use lightning::ln::channelmanager::{ChannelManager, PaymentId, Retry, RetryableSendFailure, RecipientOnionFields};
|
||||
use lightning::routing::router::{PaymentParameters, RouteParameters, Router};
|
||||
|
|
|
@ -7,7 +7,7 @@ use bech32::ToBase32;
|
|||
use bitcoin_hashes::Hash;
|
||||
use lightning::chain;
|
||||
use lightning::chain::chaininterface::{BroadcasterInterface, FeeEstimator};
|
||||
use lightning::chain::keysinterface::{Recipient, NodeSigner, SignerProvider, EntropySource};
|
||||
use lightning::sign::{Recipient, NodeSigner, SignerProvider, EntropySource};
|
||||
use lightning::ln::{PaymentHash, PaymentSecret};
|
||||
use lightning::ln::channelmanager::{ChannelDetails, ChannelManager, MIN_FINAL_CLTV_EXPIRY_DELTA};
|
||||
use lightning::ln::channelmanager::{PhantomRouteHints, MIN_CLTV_EXPIRY_DELTA};
|
||||
|
@ -50,7 +50,7 @@ use core::time::Duration;
|
|||
/// invoices in its `sign_invoice` implementation ([`PhantomKeysManager`] satisfies this
|
||||
/// requirement).
|
||||
///
|
||||
/// [`PhantomKeysManager`]: lightning::chain::keysinterface::PhantomKeysManager
|
||||
/// [`PhantomKeysManager`]: lightning::sign::PhantomKeysManager
|
||||
/// [`ChannelManager::get_phantom_route_hints`]: lightning::ln::channelmanager::ChannelManager::get_phantom_route_hints
|
||||
/// [`ChannelManager::create_inbound_payment`]: lightning::ln::channelmanager::ChannelManager::create_inbound_payment
|
||||
/// [`ChannelManager::create_inbound_payment_for_hash`]: lightning::ln::channelmanager::ChannelManager::create_inbound_payment_for_hash
|
||||
|
@ -107,7 +107,7 @@ where
|
|||
/// invoices in its `sign_invoice` implementation ([`PhantomKeysManager`] satisfies this
|
||||
/// requirement).
|
||||
///
|
||||
/// [`PhantomKeysManager`]: lightning::chain::keysinterface::PhantomKeysManager
|
||||
/// [`PhantomKeysManager`]: lightning::sign::PhantomKeysManager
|
||||
/// [`ChannelManager::get_phantom_route_hints`]: lightning::ln::channelmanager::ChannelManager::get_phantom_route_hints
|
||||
/// [`ChannelManager::create_inbound_payment`]: lightning::ln::channelmanager::ChannelManager::create_inbound_payment
|
||||
/// [`ChannelManager::create_inbound_payment_for_hash`]: lightning::ln::channelmanager::ChannelManager::create_inbound_payment_for_hash
|
||||
|
@ -227,7 +227,7 @@ where
|
|||
/// * Select up to three channels per node.
|
||||
/// * Select one hint from each node, up to three hints or until we run out of hints.
|
||||
///
|
||||
/// [`PhantomKeysManager`]: lightning::chain::keysinterface::PhantomKeysManager
|
||||
/// [`PhantomKeysManager`]: lightning::sign::PhantomKeysManager
|
||||
fn select_phantom_hints<L: Deref>(amt_msat: Option<u64>, phantom_route_hints: Vec<PhantomRouteHints>,
|
||||
logger: L) -> Vec<RouteHint>
|
||||
where
|
||||
|
@ -629,7 +629,7 @@ fn sort_and_filter_channels<L: Deref>(
|
|||
// previous channel to avoid announcing non-public channels.
|
||||
let new_now_public = channel.is_public && !entry.get().is_public;
|
||||
// Decide whether we prefer the currently selected channel with the node to the new one,
|
||||
// based on their inbound capacity.
|
||||
// based on their inbound capacity.
|
||||
let prefer_current = prefer_current_channel(min_inbound_capacity_msat, current_max_capacity,
|
||||
channel.inbound_capacity_msat);
|
||||
// If the public-ness of the channel has not changed (in which case simply defer to
|
||||
|
@ -768,7 +768,7 @@ mod test {
|
|||
use crate::{Currency, Description, InvoiceDescription, SignOrCreationError, CreationError};
|
||||
use bitcoin_hashes::{Hash, sha256};
|
||||
use bitcoin_hashes::sha256::Hash as Sha256;
|
||||
use lightning::chain::keysinterface::PhantomKeysManager;
|
||||
use lightning::sign::PhantomKeysManager;
|
||||
use lightning::events::{MessageSendEvent, MessageSendEventsProvider, Event};
|
||||
use lightning::ln::{PaymentPreimage, PaymentHash};
|
||||
use lightning::ln::channelmanager::{PhantomRouteHints, MIN_FINAL_CLTV_EXPIRY_DELTA, PaymentId, RecipientOnionFields, Retry};
|
||||
|
@ -793,10 +793,10 @@ mod test {
|
|||
|
||||
// Minimum set, prefer candidate channel over minimum + buffer.
|
||||
assert_eq!(crate::utils::prefer_current_channel(Some(100), 105, 125), false);
|
||||
|
||||
|
||||
// Minimum set, both channels sufficient, prefer smaller current channel.
|
||||
assert_eq!(crate::utils::prefer_current_channel(Some(100), 115, 125), true);
|
||||
|
||||
|
||||
// Minimum set, both channels sufficient, prefer smaller candidate channel.
|
||||
assert_eq!(crate::utils::prefer_current_channel(Some(100), 200, 160), false);
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ extern crate libc;
|
|||
use bitcoin::hash_types::{BlockHash, Txid};
|
||||
use bitcoin::hashes::hex::FromHex;
|
||||
use lightning::chain::channelmonitor::ChannelMonitor;
|
||||
use lightning::chain::keysinterface::{EntropySource, SignerProvider};
|
||||
use lightning::sign::{EntropySource, SignerProvider};
|
||||
use lightning::util::ser::{ReadableArgs, Writeable};
|
||||
use lightning::util::persist::KVStorePersister;
|
||||
use std::fs;
|
||||
|
|
|
@ -15,7 +15,7 @@ use bitcoin::hashes::{Hash, HashEngine};
|
|||
use bitcoin::hashes::sha256::Hash as Sha256;
|
||||
use bitcoin::secp256k1::{self, PublicKey, Scalar, Secp256k1, SecretKey};
|
||||
|
||||
use crate::chain::keysinterface::{EntropySource, NodeSigner, Recipient};
|
||||
use crate::sign::{EntropySource, NodeSigner, Recipient};
|
||||
use crate::onion_message::ControlTlvs;
|
||||
use crate::ln::msgs::DecodeError;
|
||||
use crate::ln::onion_utils;
|
||||
|
|
|
@ -31,7 +31,7 @@ use crate::chain::{ChannelMonitorUpdateStatus, Filter, WatchedOutput};
|
|||
use crate::chain::chaininterface::{BroadcasterInterface, FeeEstimator};
|
||||
use crate::chain::channelmonitor::{ChannelMonitor, ChannelMonitorUpdate, Balance, MonitorEvent, TransactionOutputs, LATENCY_GRACE_PERIOD_BLOCKS};
|
||||
use crate::chain::transaction::{OutPoint, TransactionData};
|
||||
use crate::chain::keysinterface::WriteableEcdsaChannelSigner;
|
||||
use crate::sign::WriteableEcdsaChannelSigner;
|
||||
use crate::events;
|
||||
use crate::events::{Event, EventHandler};
|
||||
use crate::util::atomic_counter::AtomicCounter;
|
||||
|
|
|
@ -42,7 +42,7 @@ use crate::chain;
|
|||
use crate::chain::{BestBlock, WatchedOutput};
|
||||
use crate::chain::chaininterface::{BroadcasterInterface, FeeEstimator, LowerBoundedFeeEstimator};
|
||||
use crate::chain::transaction::{OutPoint, TransactionData};
|
||||
use crate::chain::keysinterface::{SpendableOutputDescriptor, StaticPaymentOutputDescriptor, DelayedPaymentOutputDescriptor, WriteableEcdsaChannelSigner, SignerProvider, EntropySource};
|
||||
use crate::sign::{SpendableOutputDescriptor, StaticPaymentOutputDescriptor, DelayedPaymentOutputDescriptor, WriteableEcdsaChannelSigner, SignerProvider, EntropySource};
|
||||
#[cfg(anchors)]
|
||||
use crate::chain::onchaintx::ClaimEvent;
|
||||
use crate::chain::onchaintx::OnchainTxHandler;
|
||||
|
@ -4097,7 +4097,7 @@ mod tests {
|
|||
use crate::chain::channelmonitor::ChannelMonitor;
|
||||
use crate::chain::package::{weight_offered_htlc, weight_received_htlc, weight_revoked_offered_htlc, weight_revoked_received_htlc, WEIGHT_REVOKED_OUTPUT};
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::chain::keysinterface::InMemorySigner;
|
||||
use crate::sign::InMemorySigner;
|
||||
use crate::events::ClosureReason;
|
||||
use crate::ln::{PaymentPreimage, PaymentHash};
|
||||
use crate::ln::chan_utils;
|
||||
|
|
|
@ -17,7 +17,7 @@ use bitcoin::network::constants::Network;
|
|||
use bitcoin::secp256k1::PublicKey;
|
||||
|
||||
use crate::chain::channelmonitor::{ChannelMonitor, ChannelMonitorUpdate, MonitorEvent};
|
||||
use crate::chain::keysinterface::WriteableEcdsaChannelSigner;
|
||||
use crate::sign::WriteableEcdsaChannelSigner;
|
||||
use crate::chain::transaction::{OutPoint, TransactionData};
|
||||
|
||||
use crate::prelude::*;
|
||||
|
@ -26,7 +26,6 @@ pub mod chaininterface;
|
|||
pub mod chainmonitor;
|
||||
pub mod channelmonitor;
|
||||
pub mod transaction;
|
||||
pub mod keysinterface;
|
||||
pub(crate) mod onchaintx;
|
||||
pub(crate) mod package;
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ use bitcoin::hash_types::{Txid, BlockHash};
|
|||
use bitcoin::secp256k1::{Secp256k1, ecdsa::Signature};
|
||||
use bitcoin::secp256k1;
|
||||
|
||||
use crate::chain::keysinterface::{ChannelSigner, EntropySource, SignerProvider};
|
||||
use crate::sign::{ChannelSigner, EntropySource, SignerProvider};
|
||||
use crate::ln::msgs::DecodeError;
|
||||
use crate::ln::PaymentPreimage;
|
||||
#[cfg(anchors)]
|
||||
|
@ -33,7 +33,7 @@ use crate::ln::chan_utils::{ChannelTransactionParameters, HolderCommitmentTransa
|
|||
use crate::chain::chaininterface::ConfirmationTarget;
|
||||
use crate::chain::chaininterface::{FeeEstimator, BroadcasterInterface, LowerBoundedFeeEstimator};
|
||||
use crate::chain::channelmonitor::{ANTI_REORG_DELAY, CLTV_SHARED_CLAIM_BUFFER};
|
||||
use crate::chain::keysinterface::WriteableEcdsaChannelSigner;
|
||||
use crate::sign::WriteableEcdsaChannelSigner;
|
||||
#[cfg(anchors)]
|
||||
use crate::chain::package::PackageSolvingData;
|
||||
use crate::chain::package::PackageTemplate;
|
||||
|
|
|
@ -25,7 +25,7 @@ use crate::ln::chan_utils::{TxCreationKeys, HTLCOutputInCommitment};
|
|||
use crate::ln::chan_utils;
|
||||
use crate::ln::msgs::DecodeError;
|
||||
use crate::chain::chaininterface::{FeeEstimator, ConfirmationTarget, MIN_RELAY_FEE_SAT_PER_1000_WEIGHT};
|
||||
use crate::chain::keysinterface::WriteableEcdsaChannelSigner;
|
||||
use crate::sign::WriteableEcdsaChannelSigner;
|
||||
#[cfg(anchors)]
|
||||
use crate::chain::onchaintx::ExternalHTLCClaim;
|
||||
use crate::chain::onchaintx::OnchainTxHandler;
|
||||
|
|
|
@ -24,13 +24,13 @@ pub struct AnchorDescriptor {
|
|||
/// A unique identifier used along with `channel_value_satoshis` to re-derive the
|
||||
/// [`InMemorySigner`] required to sign `input`.
|
||||
///
|
||||
/// [`InMemorySigner`]: crate::chain::keysinterface::InMemorySigner
|
||||
/// [`InMemorySigner`]: crate::sign::InMemorySigner
|
||||
pub channel_keys_id: [u8; 32],
|
||||
/// The value in satoshis of the channel we're attempting to spend the anchor output of. This is
|
||||
/// used along with `channel_keys_id` to re-derive the [`InMemorySigner`] required to sign
|
||||
/// `input`.
|
||||
///
|
||||
/// [`InMemorySigner`]: crate::chain::keysinterface::InMemorySigner
|
||||
/// [`InMemorySigner`]: crate::sign::InMemorySigner
|
||||
pub channel_value_satoshis: u64,
|
||||
/// The transaction input's outpoint corresponding to the commitment transaction's anchor
|
||||
/// output.
|
||||
|
@ -43,19 +43,19 @@ pub struct HTLCDescriptor {
|
|||
/// A unique identifier used along with `channel_value_satoshis` to re-derive the
|
||||
/// [`InMemorySigner`] required to sign `input`.
|
||||
///
|
||||
/// [`InMemorySigner`]: crate::chain::keysinterface::InMemorySigner
|
||||
/// [`InMemorySigner`]: crate::sign::InMemorySigner
|
||||
pub channel_keys_id: [u8; 32],
|
||||
/// The value in satoshis of the channel we're attempting to spend the anchor output of. This is
|
||||
/// used along with `channel_keys_id` to re-derive the [`InMemorySigner`] required to sign
|
||||
/// `input`.
|
||||
///
|
||||
/// [`InMemorySigner`]: crate::chain::keysinterface::InMemorySigner
|
||||
/// [`InMemorySigner`]: crate::sign::InMemorySigner
|
||||
pub channel_value_satoshis: u64,
|
||||
/// The necessary channel parameters that need to be provided to the re-derived
|
||||
/// [`InMemorySigner`] through [`ChannelSigner::provide_channel_parameters`].
|
||||
///
|
||||
/// [`InMemorySigner`]: crate::chain::keysinterface::InMemorySigner
|
||||
/// [`ChannelSigner::provide_channel_parameters`]: crate::chain::keysinterface::ChannelSigner::provide_channel_parameters
|
||||
/// [`InMemorySigner`]: crate::sign::InMemorySigner
|
||||
/// [`ChannelSigner::provide_channel_parameters`]: crate::sign::ChannelSigner::provide_channel_parameters
|
||||
pub channel_parameters: ChannelTransactionParameters,
|
||||
/// The txid of the commitment transaction in which the HTLC output lives.
|
||||
pub commitment_txid: Txid,
|
||||
|
@ -168,9 +168,9 @@ pub enum BumpTransactionEvent {
|
|||
/// an empty `pending_htlcs`), confirmation of the commitment transaction can be considered to
|
||||
/// be not urgent.
|
||||
///
|
||||
/// [`InMemorySigner`]: crate::chain::keysinterface::InMemorySigner
|
||||
/// [`KeysManager::derive_channel_keys`]: crate::chain::keysinterface::KeysManager::derive_channel_keys
|
||||
/// [`EcdsaChannelSigner::sign_holder_anchor_input`]: crate::chain::keysinterface::EcdsaChannelSigner::sign_holder_anchor_input
|
||||
/// [`InMemorySigner`]: crate::sign::InMemorySigner
|
||||
/// [`KeysManager::derive_channel_keys`]: crate::sign::KeysManager::derive_channel_keys
|
||||
/// [`EcdsaChannelSigner::sign_holder_anchor_input`]: crate::sign::EcdsaChannelSigner::sign_holder_anchor_input
|
||||
/// [`build_anchor_input_witness`]: crate::ln::chan_utils::build_anchor_input_witness
|
||||
ChannelClose {
|
||||
/// The target feerate that the transaction package, which consists of the commitment
|
||||
|
@ -217,9 +217,9 @@ pub enum BumpTransactionEvent {
|
|||
/// longer able to commit external confirmed funds to the HTLC transaction or the fee committed
|
||||
/// to the HTLC transaction is greater in value than the HTLCs being claimed.
|
||||
///
|
||||
/// [`InMemorySigner`]: crate::chain::keysinterface::InMemorySigner
|
||||
/// [`KeysManager::derive_channel_keys`]: crate::chain::keysinterface::KeysManager::derive_channel_keys
|
||||
/// [`EcdsaChannelSigner::sign_holder_htlc_transaction`]: crate::chain::keysinterface::EcdsaChannelSigner::sign_holder_htlc_transaction
|
||||
/// [`InMemorySigner`]: crate::sign::InMemorySigner
|
||||
/// [`KeysManager::derive_channel_keys`]: crate::sign::KeysManager::derive_channel_keys
|
||||
/// [`EcdsaChannelSigner::sign_holder_htlc_transaction`]: crate::sign::EcdsaChannelSigner::sign_holder_htlc_transaction
|
||||
/// [`HTLCDescriptor::tx_input_witness`]: HTLCDescriptor::tx_input_witness
|
||||
HTLCResolution {
|
||||
/// The target feerate that the resulting HTLC transaction must meet.
|
||||
|
|
|
@ -20,7 +20,7 @@ pub mod bump_transaction;
|
|||
#[cfg(anchors)]
|
||||
pub use bump_transaction::BumpTransactionEvent;
|
||||
|
||||
use crate::chain::keysinterface::SpendableOutputDescriptor;
|
||||
use crate::sign::SpendableOutputDescriptor;
|
||||
use crate::ln::channelmanager::{InterceptId, PaymentId, RecipientOnionFields};
|
||||
use crate::ln::channel::FUNDING_CONF_DEADLINE_BLOCKS;
|
||||
use crate::ln::features::ChannelTypeFeatures;
|
||||
|
@ -129,7 +129,7 @@ pub enum ClosureReason {
|
|||
/// Be careful about printing the peer_msg, a well-crafted message could exploit
|
||||
/// a security vulnerability in the terminal emulator or the logging subsystem.
|
||||
/// To be safe, use `Display` on `UntrustedString`
|
||||
///
|
||||
///
|
||||
/// [`UntrustedString`]: crate::util::string::UntrustedString
|
||||
peer_msg: UntrustedString,
|
||||
},
|
||||
|
@ -377,7 +377,7 @@ pub enum Event {
|
|||
/// This field will always be filled in when the event was generated by LDK versions
|
||||
/// 0.0.113 and above.
|
||||
///
|
||||
/// [phantom nodes]: crate::chain::keysinterface::PhantomKeysManager
|
||||
/// [phantom nodes]: crate::sign::PhantomKeysManager
|
||||
receiver_node_id: Option<PublicKey>,
|
||||
/// The hash for which the preimage should be handed to the ChannelManager. Note that LDK will
|
||||
/// not stop you from registering duplicate payment hashes for inbound payments.
|
||||
|
@ -425,7 +425,7 @@ pub enum Event {
|
|||
/// This field will always be filled in when the event was generated by LDK versions
|
||||
/// 0.0.113 and above.
|
||||
///
|
||||
/// [phantom nodes]: crate::chain::keysinterface::PhantomKeysManager
|
||||
/// [phantom nodes]: crate::sign::PhantomKeysManager
|
||||
receiver_node_id: Option<PublicKey>,
|
||||
/// The payment hash of the claimed payment. Note that LDK will not stop you from
|
||||
/// registering duplicate payment hashes for inbound payments.
|
||||
|
|
|
@ -80,6 +80,7 @@ pub mod chain;
|
|||
pub mod ln;
|
||||
pub mod offers;
|
||||
pub mod routing;
|
||||
pub mod sign;
|
||||
pub mod onion_message;
|
||||
pub mod blinded_path;
|
||||
pub mod events;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
// licenses.
|
||||
|
||||
//! Various utilities for building scripts and deriving keys related to channels. These are
|
||||
//! largely of interest for those implementing the traits on [`chain::keysinterface`] by hand.
|
||||
//! largely of interest for those implementing the traits on [`crate::sign`] by hand.
|
||||
|
||||
use bitcoin::blockdata::script::{Script,Builder};
|
||||
use bitcoin::blockdata::opcodes;
|
||||
|
@ -21,7 +21,7 @@ use bitcoin::hashes::sha256::Hash as Sha256;
|
|||
use bitcoin::hashes::ripemd160::Hash as Ripemd160;
|
||||
use bitcoin::hash_types::{Txid, PubkeyHash};
|
||||
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
use crate::ln::{PaymentHash, PaymentPreimage};
|
||||
use crate::ln::msgs::DecodeError;
|
||||
use crate::util::ser::{Readable, Writeable, Writer};
|
||||
|
@ -1655,7 +1655,7 @@ mod tests {
|
|||
use crate::ln::chan_utils::{get_htlc_redeemscript, get_to_countersignatory_with_anchors_redeemscript, CommitmentTransaction, TxCreationKeys, ChannelTransactionParameters, CounterpartyChannelTransactionParameters, HTLCOutputInCommitment};
|
||||
use bitcoin::secp256k1::{PublicKey, SecretKey, Secp256k1};
|
||||
use crate::util::test_utils;
|
||||
use crate::chain::keysinterface::{ChannelSigner, SignerProvider};
|
||||
use crate::sign::{ChannelSigner, SignerProvider};
|
||||
use bitcoin::{Network, Txid};
|
||||
use bitcoin::hashes::Hash;
|
||||
use crate::ln::PaymentHash;
|
||||
|
|
|
@ -35,7 +35,7 @@ use crate::chain::BestBlock;
|
|||
use crate::chain::chaininterface::{FeeEstimator, ConfirmationTarget, LowerBoundedFeeEstimator};
|
||||
use crate::chain::channelmonitor::{ChannelMonitor, ChannelMonitorUpdate, ChannelMonitorUpdateStep, LATENCY_GRACE_PERIOD_BLOCKS, CLOSED_CHANNEL_UPDATE_ID};
|
||||
use crate::chain::transaction::{OutPoint, TransactionData};
|
||||
use crate::chain::keysinterface::{WriteableEcdsaChannelSigner, EntropySource, ChannelSigner, SignerProvider, NodeSigner, Recipient};
|
||||
use crate::sign::{WriteableEcdsaChannelSigner, EntropySource, ChannelSigner, SignerProvider, NodeSigner, Recipient};
|
||||
use crate::events::ClosureReason;
|
||||
use crate::routing::gossip::NodeId;
|
||||
use crate::util::ser::{Readable, ReadableArgs, Writeable, Writer, VecWriter};
|
||||
|
@ -7044,7 +7044,7 @@ mod tests {
|
|||
use crate::ln::chan_utils::{htlc_success_tx_weight, htlc_timeout_tx_weight};
|
||||
use crate::chain::BestBlock;
|
||||
use crate::chain::chaininterface::{FeeEstimator, LowerBoundedFeeEstimator, ConfirmationTarget};
|
||||
use crate::chain::keysinterface::{ChannelSigner, InMemorySigner, EntropySource, SignerProvider};
|
||||
use crate::sign::{ChannelSigner, InMemorySigner, EntropySource, SignerProvider};
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::routing::router::Path;
|
||||
use crate::util::config::UserConfig;
|
||||
|
@ -7538,7 +7538,7 @@ mod tests {
|
|||
use bitcoin::hashes::hex::FromHex;
|
||||
use bitcoin::hash_types::Txid;
|
||||
use bitcoin::secp256k1::Message;
|
||||
use crate::chain::keysinterface::EcdsaChannelSigner;
|
||||
use crate::sign::EcdsaChannelSigner;
|
||||
use crate::ln::PaymentPreimage;
|
||||
use crate::ln::channel::{HTLCOutputInCommitment ,TxCreationKeys};
|
||||
use crate::ln::chan_utils::{ChannelPublicKeys, HolderCommitmentTransaction, CounterpartyChannelTransactionParameters};
|
||||
|
|
|
@ -55,7 +55,7 @@ use crate::ln::msgs::{ChannelMessageHandler, DecodeError, LightningError, MAX_VA
|
|||
use crate::ln::outbound_payment;
|
||||
use crate::ln::outbound_payment::{OutboundPayments, PaymentAttempts, PendingOutboundPayment};
|
||||
use crate::ln::wire::Encode;
|
||||
use crate::chain::keysinterface::{EntropySource, KeysManager, NodeSigner, Recipient, SignerProvider, ChannelSigner, WriteableEcdsaChannelSigner};
|
||||
use crate::sign::{EntropySource, KeysManager, NodeSigner, Recipient, SignerProvider, ChannelSigner, WriteableEcdsaChannelSigner};
|
||||
use crate::util::config::{UserConfig, ChannelConfig};
|
||||
use crate::util::wakers::{Future, Notifier};
|
||||
use crate::util::scid_utils::fake_scid;
|
||||
|
@ -1415,7 +1415,7 @@ pub enum RecentPaymentDetails {
|
|||
|
||||
/// Route hints used in constructing invoices for [phantom node payents].
|
||||
///
|
||||
/// [phantom node payments]: crate::chain::keysinterface::PhantomKeysManager
|
||||
/// [phantom node payments]: crate::sign::PhantomKeysManager
|
||||
#[derive(Clone)]
|
||||
pub struct PhantomRouteHints {
|
||||
/// The list of channels to be included in the invoice route hints.
|
||||
|
@ -5829,7 +5829,7 @@ where
|
|||
/// Gets a fake short channel id for use in receiving [phantom node payments]. These fake scids
|
||||
/// are used when constructing the phantom invoice's route hints.
|
||||
///
|
||||
/// [phantom node payments]: crate::chain::keysinterface::PhantomKeysManager
|
||||
/// [phantom node payments]: crate::sign::PhantomKeysManager
|
||||
pub fn get_phantom_scid(&self) -> u64 {
|
||||
let best_block_height = self.best_block.read().unwrap().height();
|
||||
let short_to_chan_info = self.short_to_chan_info.read().unwrap();
|
||||
|
@ -5845,7 +5845,7 @@ where
|
|||
|
||||
/// Gets route hints for use in receiving [phantom node payments].
|
||||
///
|
||||
/// [phantom node payments]: crate::chain::keysinterface::PhantomKeysManager
|
||||
/// [phantom node payments]: crate::sign::PhantomKeysManager
|
||||
pub fn get_phantom_route_hints(&self) -> PhantomRouteHints {
|
||||
PhantomRouteHints {
|
||||
channels: self.list_usable_channels(),
|
||||
|
@ -8113,7 +8113,7 @@ mod tests {
|
|||
use crate::util::errors::APIError;
|
||||
use crate::util::test_utils;
|
||||
use crate::util::config::ChannelConfig;
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
|
||||
#[test]
|
||||
fn test_notify_limits() {
|
||||
|
@ -9029,7 +9029,7 @@ mod tests {
|
|||
pub mod bench {
|
||||
use crate::chain::Listen;
|
||||
use crate::chain::chainmonitor::{ChainMonitor, Persist};
|
||||
use crate::chain::keysinterface::{KeysManager, InMemorySigner};
|
||||
use crate::sign::{KeysManager, InMemorySigner};
|
||||
use crate::events::{Event, MessageSendEvent, MessageSendEventsProvider};
|
||||
use crate::ln::channelmanager::{BestBlock, ChainParameters, ChannelManager, PaymentHash, PaymentPreimage, PaymentId, RecipientOnionFields, Retry};
|
||||
use crate::ln::functional_test_utils::*;
|
||||
|
|
|
@ -10,7 +10,8 @@
|
|||
//! A bunch of useful utilities for building networks of nodes and exchanging messages between
|
||||
//! nodes for functional tests.
|
||||
|
||||
use crate::chain::{BestBlock, ChannelMonitorUpdateStatus, Confirm, Listen, Watch, keysinterface::EntropySource};
|
||||
use crate::chain::{BestBlock, ChannelMonitorUpdateStatus, Confirm, Listen, Watch};
|
||||
use crate::sign::EntropySource;
|
||||
use crate::chain::channelmonitor::ChannelMonitor;
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::events::{ClosureReason, Event, HTLCDestination, MessageSendEvent, MessageSendEventsProvider, PathFailure, PaymentPurpose, PaymentFailureReason};
|
||||
|
|
|
@ -17,7 +17,7 @@ use crate::chain::chaininterface::LowerBoundedFeeEstimator;
|
|||
use crate::chain::channelmonitor;
|
||||
use crate::chain::channelmonitor::{CLTV_CLAIM_BUFFER, LATENCY_GRACE_PERIOD_BLOCKS, ANTI_REORG_DELAY};
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::chain::keysinterface::{ChannelSigner, EcdsaChannelSigner, EntropySource};
|
||||
use crate::sign::{ChannelSigner, EcdsaChannelSigner, EntropySource};
|
||||
use crate::events::{Event, MessageSendEvent, MessageSendEventsProvider, PathFailure, PaymentPurpose, ClosureReason, HTLCDestination, PaymentFailureReason};
|
||||
use crate::ln::{PaymentPreimage, PaymentSecret, PaymentHash};
|
||||
use crate::ln::channel::{commitment_tx_base_weight, COMMITMENT_TX_WEIGHT_PER_HTLC, CONCURRENT_INBOUND_HTLC_FEE_BUFFER, FEE_SPIKE_BUFFER_FEE_INCREASE_MULTIPLE, MIN_AFFORDABLE_HTLC_COUNT};
|
||||
|
|
|
@ -14,7 +14,7 @@ use bitcoin::hashes::{Hash, HashEngine};
|
|||
use bitcoin::hashes::cmp::fixed_time_eq;
|
||||
use bitcoin::hashes::hmac::{Hmac, HmacEngine};
|
||||
use bitcoin::hashes::sha256::Hash as Sha256;
|
||||
use crate::chain::keysinterface::{KeyMaterial, EntropySource};
|
||||
use crate::sign::{KeyMaterial, EntropySource};
|
||||
use crate::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
|
||||
use crate::ln::msgs;
|
||||
use crate::ln::msgs::MAX_VALUE_MSAT;
|
||||
|
@ -37,7 +37,7 @@ const METHOD_TYPE_OFFSET: usize = 5;
|
|||
/// A set of keys that were HKDF-expanded from an initial call to
|
||||
/// [`NodeSigner::get_inbound_payment_key_material`].
|
||||
///
|
||||
/// [`NodeSigner::get_inbound_payment_key_material`]: crate::chain::keysinterface::NodeSigner::get_inbound_payment_key_material
|
||||
/// [`NodeSigner::get_inbound_payment_key_material`]: crate::sign::NodeSigner::get_inbound_payment_key_material
|
||||
pub struct ExpandedKey {
|
||||
/// The key used to encrypt the bytes containing the payment metadata (i.e. the amount and
|
||||
/// expiry, included for payment verification on decryption).
|
||||
|
@ -166,8 +166,8 @@ fn min_final_cltv_expiry_delta_from_metadata(bytes: [u8; METADATA_LEN]) -> u16 {
|
|||
/// Note that if `min_final_cltv_expiry_delta` is set to some value, then the payment will not be receivable
|
||||
/// on versions of LDK prior to 0.0.114.
|
||||
///
|
||||
/// [phantom node payments]: crate::chain::keysinterface::PhantomKeysManager
|
||||
/// [`NodeSigner::get_inbound_payment_key_material`]: crate::chain::keysinterface::NodeSigner::get_inbound_payment_key_material
|
||||
/// [phantom node payments]: crate::sign::PhantomKeysManager
|
||||
/// [`NodeSigner::get_inbound_payment_key_material`]: crate::sign::NodeSigner::get_inbound_payment_key_material
|
||||
pub fn create<ES: Deref>(keys: &ExpandedKey, min_value_msat: Option<u64>,
|
||||
invoice_expiry_delta_secs: u32, entropy_source: &ES, current_time: u64,
|
||||
min_final_cltv_expiry_delta: Option<u16>) -> Result<(PaymentHash, PaymentSecret), ()>
|
||||
|
@ -202,7 +202,7 @@ pub fn create<ES: Deref>(keys: &ExpandedKey, min_value_msat: Option<u64>,
|
|||
/// Note that if `min_final_cltv_expiry_delta` is set to some value, then the payment will not be receivable
|
||||
/// on versions of LDK prior to 0.0.114.
|
||||
///
|
||||
/// [phantom node payments]: crate::chain::keysinterface::PhantomKeysManager
|
||||
/// [phantom node payments]: crate::sign::PhantomKeysManager
|
||||
pub fn create_from_hash(keys: &ExpandedKey, min_value_msat: Option<u64>, payment_hash: PaymentHash,
|
||||
invoice_expiry_delta_secs: u32, current_time: u64, min_final_cltv_expiry_delta: Option<u16>) -> Result<PaymentSecret, ()> {
|
||||
let metadata_bytes = construct_metadata_bytes(min_value_msat, if min_final_cltv_expiry_delta.is_some() {
|
||||
|
@ -311,7 +311,7 @@ fn construct_payment_secret(iv_bytes: &[u8; IV_LEN], metadata_bytes: &[u8; METAD
|
|||
///
|
||||
/// See [`ExpandedKey`] docs for more info on the individual keys used.
|
||||
///
|
||||
/// [`NodeSigner::get_inbound_payment_key_material`]: crate::chain::keysinterface::NodeSigner::get_inbound_payment_key_material
|
||||
/// [`NodeSigner::get_inbound_payment_key_material`]: crate::sign::NodeSigner::get_inbound_payment_key_material
|
||||
/// [`create_inbound_payment`]: crate::ln::channelmanager::ChannelManager::create_inbound_payment
|
||||
/// [`create_inbound_payment_for_hash`]: crate::ln::channelmanager::ChannelManager::create_inbound_payment_for_hash
|
||||
pub(super) fn verify<L: Deref>(payment_hash: PaymentHash, payment_data: &msgs::FinalOnionHopData,
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
//! Further functional tests which test blockchain reorganizations.
|
||||
|
||||
#[cfg(anchors)]
|
||||
use crate::chain::keysinterface::{ChannelSigner, EcdsaChannelSigner};
|
||||
use crate::sign::{ChannelSigner, EcdsaChannelSigner};
|
||||
#[cfg(anchors)]
|
||||
use crate::chain::channelmonitor::LATENCY_GRACE_PERIOD_BLOCKS;
|
||||
use crate::chain::channelmonitor::{ANTI_REORG_DELAY, Balance};
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
//! returned errors decode to the correct thing.
|
||||
|
||||
use crate::chain::channelmonitor::{CLTV_CLAIM_BUFFER, LATENCY_GRACE_PERIOD_BLOCKS};
|
||||
use crate::chain::keysinterface::{EntropySource, NodeSigner, Recipient};
|
||||
use crate::sign::{EntropySource, NodeSigner, Recipient};
|
||||
use crate::events::{Event, HTLCDestination, MessageSendEvent, MessageSendEventsProvider, PathFailure, PaymentFailureReason};
|
||||
use crate::ln::{PaymentHash, PaymentSecret};
|
||||
use crate::ln::channel::EXPIRE_PREV_CONFIG_TICKS;
|
||||
|
|
|
@ -13,7 +13,7 @@ use bitcoin::hashes::Hash;
|
|||
use bitcoin::hashes::sha256::Hash as Sha256;
|
||||
use bitcoin::secp256k1::{self, Secp256k1, SecretKey};
|
||||
|
||||
use crate::chain::keysinterface::{EntropySource, NodeSigner, Recipient};
|
||||
use crate::sign::{EntropySource, NodeSigner, Recipient};
|
||||
use crate::events::{self, PaymentFailureReason};
|
||||
use crate::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
|
||||
use crate::ln::channelmanager::{ChannelDetails, HTLCSource, IDEMPOTENCY_TIMEOUT_TICKS, PaymentId};
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
use crate::chain::{ChannelMonitorUpdateStatus, Confirm, Listen, Watch};
|
||||
use crate::chain::channelmonitor::{ANTI_REORG_DELAY, HTLC_FAIL_BACK_BUFFER, LATENCY_GRACE_PERIOD_BLOCKS};
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::events::{ClosureReason, Event, HTLCDestination, MessageSendEvent, MessageSendEventsProvider, PathFailure, PaymentFailureReason};
|
||||
use crate::ln::channel::EXPIRE_PREV_CONFIG_TICKS;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
use crate::prelude::*;
|
||||
|
||||
use crate::chain::keysinterface::{NodeSigner, Recipient};
|
||||
use crate::sign::{NodeSigner, Recipient};
|
||||
use crate::ln::msgs::LightningError;
|
||||
use crate::ln::msgs;
|
||||
use crate::ln::wire;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
use bitcoin::secp256k1::{self, Secp256k1, SecretKey, PublicKey};
|
||||
|
||||
use crate::chain::keysinterface::{KeysManager, NodeSigner, Recipient};
|
||||
use crate::sign::{KeysManager, NodeSigner, Recipient};
|
||||
use crate::events::{MessageSendEvent, MessageSendEventsProvider, OnionMessageProvider};
|
||||
use crate::ln::features::{InitFeatures, NodeFeatures};
|
||||
use crate::ln::msgs;
|
||||
|
@ -2250,7 +2250,7 @@ fn is_gossip_msg(type_id: u16) -> bool {
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::chain::keysinterface::{NodeSigner, Recipient};
|
||||
use crate::sign::{NodeSigner, Recipient};
|
||||
use crate::events;
|
||||
use crate::ln::peer_channel_encryptor::PeerChannelEncryptor;
|
||||
use crate::ln::peer_handler::{PeerManager, MessageHandler, SocketDescriptor, IgnoringMessageHandler, filter_addresses};
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
//! LSP).
|
||||
|
||||
use crate::chain::ChannelMonitorUpdateStatus;
|
||||
use crate::chain::keysinterface::NodeSigner;
|
||||
use crate::sign::NodeSigner;
|
||||
use crate::events::{ClosureReason, Event, HTLCDestination, MessageSendEvent, MessageSendEventsProvider};
|
||||
use crate::ln::channelmanager::{ChannelManager, MIN_CLTV_EXPIRY_DELTA, PaymentId, RecipientOnionFields};
|
||||
use crate::routing::gossip::RoutingFees;
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
use crate::chain::{ChannelMonitorUpdateStatus, Watch};
|
||||
use crate::chain::chaininterface::LowerBoundedFeeEstimator;
|
||||
use crate::chain::channelmonitor::ChannelMonitor;
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::events::{ClosureReason, Event, HTLCDestination, MessageSendEvent, MessageSendEventsProvider};
|
||||
use crate::ln::channelmanager::{ChannelManager, ChannelManagerReadArgs, PaymentId, RecipientOnionFields};
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
//! Tests of our shutdown and closing_signed negotiation logic.
|
||||
|
||||
use crate::chain::keysinterface::{EntropySource, SignerProvider};
|
||||
use crate::sign::{EntropySource, SignerProvider};
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::events::{Event, MessageSendEvent, MessageSendEventsProvider, ClosureReason};
|
||||
use crate::ln::channelmanager::{self, PaymentSendFailure, PaymentId, RecipientOnionFields};
|
||||
|
|
|
@ -955,7 +955,7 @@ mod tests {
|
|||
use core::convert::TryFrom;
|
||||
use core::time::Duration;
|
||||
use crate::blinded_path::{BlindedHop, BlindedPath};
|
||||
use crate::chain::keysinterface::KeyMaterial;
|
||||
use crate::sign::KeyMaterial;
|
||||
use crate::ln::features::Bolt12InvoiceFeatures;
|
||||
use crate::ln::inbound_payment::ExpandedKey;
|
||||
use crate::ln::msgs::DecodeError;
|
||||
|
|
|
@ -58,7 +58,7 @@ use bitcoin::secp256k1::{KeyPair, Message, PublicKey, Secp256k1, self};
|
|||
use bitcoin::secp256k1::schnorr::Signature;
|
||||
use core::convert::{Infallible, TryFrom};
|
||||
use core::ops::Deref;
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
use crate::io;
|
||||
use crate::blinded_path::BlindedPath;
|
||||
use crate::ln::PaymentHash;
|
||||
|
@ -785,7 +785,7 @@ mod tests {
|
|||
use core::num::NonZeroU64;
|
||||
#[cfg(feature = "std")]
|
||||
use core::time::Duration;
|
||||
use crate::chain::keysinterface::KeyMaterial;
|
||||
use crate::sign::KeyMaterial;
|
||||
use crate::ln::features::InvoiceRequestFeatures;
|
||||
use crate::ln::inbound_payment::ExpandedKey;
|
||||
use crate::ln::msgs::{DecodeError, MAX_VALUE_MSAT};
|
||||
|
|
|
@ -74,7 +74,7 @@ use core::num::NonZeroU64;
|
|||
use core::ops::Deref;
|
||||
use core::str::FromStr;
|
||||
use core::time::Duration;
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
use crate::io;
|
||||
use crate::blinded_path::BlindedPath;
|
||||
use crate::ln::features::OfferFeatures;
|
||||
|
@ -851,7 +851,7 @@ mod tests {
|
|||
use core::num::NonZeroU64;
|
||||
use core::time::Duration;
|
||||
use crate::blinded_path::{BlindedHop, BlindedPath};
|
||||
use crate::chain::keysinterface::KeyMaterial;
|
||||
use crate::sign::KeyMaterial;
|
||||
use crate::ln::features::OfferFeatures;
|
||||
use crate::ln::inbound_payment::ExpandedKey;
|
||||
use crate::ln::msgs::{DecodeError, MAX_VALUE_MSAT};
|
||||
|
|
|
@ -78,7 +78,7 @@ use core::convert::TryFrom;
|
|||
use core::ops::Deref;
|
||||
use core::str::FromStr;
|
||||
use core::time::Duration;
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
use crate::io;
|
||||
use crate::blinded_path::BlindedPath;
|
||||
use crate::ln::PaymentHash;
|
||||
|
@ -712,7 +712,7 @@ mod tests {
|
|||
use core::convert::TryFrom;
|
||||
use core::time::Duration;
|
||||
use crate::blinded_path::{BlindedHop, BlindedPath};
|
||||
use crate::chain::keysinterface::KeyMaterial;
|
||||
use crate::sign::KeyMaterial;
|
||||
use crate::ln::features::{InvoiceRequestFeatures, OfferFeatures};
|
||||
use crate::ln::inbound_payment::ExpandedKey;
|
||||
use crate::ln::msgs::{DecodeError, MAX_VALUE_MSAT};
|
||||
|
|
|
@ -14,7 +14,7 @@ use bitcoin::secp256k1::schnorr::Signature;
|
|||
use core::convert::Infallible;
|
||||
use core::time::Duration;
|
||||
use crate::blinded_path::{BlindedHop, BlindedPath};
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
use crate::ln::PaymentHash;
|
||||
use crate::ln::features::BlindedHopFeatures;
|
||||
use crate::offers::invoice::BlindedPayInfo;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
//! Onion message testing and test utilities live here.
|
||||
|
||||
use crate::blinded_path::BlindedPath;
|
||||
use crate::chain::keysinterface::{NodeSigner, Recipient};
|
||||
use crate::sign::{NodeSigner, Recipient};
|
||||
use crate::ln::features::InitFeatures;
|
||||
use crate::ln::msgs::{self, DecodeError, OnionMessageHandler};
|
||||
use super::{CustomOnionMessageContents, CustomOnionMessageHandler, Destination, OnionMessageContents, OnionMessenger, SendError};
|
||||
|
|
|
@ -16,7 +16,7 @@ use bitcoin::hashes::sha256::Hash as Sha256;
|
|||
use bitcoin::secp256k1::{self, PublicKey, Scalar, Secp256k1, SecretKey};
|
||||
|
||||
use crate::blinded_path::{BlindedPath, ForwardTlvs, ReceiveTlvs, utils};
|
||||
use crate::chain::keysinterface::{EntropySource, KeysManager, NodeSigner, Recipient};
|
||||
use crate::sign::{EntropySource, KeysManager, NodeSigner, Recipient};
|
||||
use crate::events::OnionMessageProvider;
|
||||
use crate::ln::features::{InitFeatures, NodeFeatures};
|
||||
use crate::ln::msgs::{self, OnionMessageHandler};
|
||||
|
@ -43,7 +43,7 @@ use crate::prelude::*;
|
|||
/// # use bitcoin::hashes::_export::_core::time::Duration;
|
||||
/// # use bitcoin::secp256k1::{PublicKey, Secp256k1, SecretKey};
|
||||
/// # use lightning::blinded_path::BlindedPath;
|
||||
/// # use lightning::chain::keysinterface::KeysManager;
|
||||
/// # use lightning::sign::KeysManager;
|
||||
/// # use lightning::ln::peer_handler::IgnoringMessageHandler;
|
||||
/// # use lightning::onion_message::{CustomOnionMessageContents, Destination, OnionMessageContents, OnionMessenger};
|
||||
/// # use lightning::util::logger::{Logger, Record};
|
||||
|
@ -157,7 +157,7 @@ pub enum SendError {
|
|||
BufferFull,
|
||||
/// Failed to retrieve our node id from the provided [`NodeSigner`].
|
||||
///
|
||||
/// [`NodeSigner`]: crate::chain::keysinterface::NodeSigner
|
||||
/// [`NodeSigner`]: crate::sign::NodeSigner
|
||||
GetNodeIdFailed,
|
||||
/// We attempted to send to a blinded path where we are the introduction node, and failed to
|
||||
/// advance the blinded path to make the second hop the new introduction node. Either
|
||||
|
|
|
@ -2276,7 +2276,7 @@ mod tests {
|
|||
use crate::routing::scoring::{ChannelUsage, FixedPenaltyScorer, Score, ProbabilisticScorer, ProbabilisticScoringParameters};
|
||||
use crate::routing::test_utils::{add_channel, add_or_update_node, build_graph, build_line_graph, id_to_feature_flags, get_nodes, update_channel};
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
use crate::ln::features::{ChannelFeatures, InitFeatures, NodeFeatures};
|
||||
use crate::ln::msgs::{ErrorAction, LightningError, UnsignedChannelUpdate, MAX_VALUE_MSAT};
|
||||
use crate::ln::channelmanager;
|
||||
|
@ -5950,7 +5950,7 @@ mod benches {
|
|||
use bitcoin::hashes::Hash;
|
||||
use bitcoin::secp256k1::{PublicKey, Secp256k1, SecretKey};
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::chain::keysinterface::{EntropySource, KeysManager};
|
||||
use crate::sign::{EntropySource, KeysManager};
|
||||
use crate::ln::channelmanager::{self, ChannelCounterparty, ChannelDetails};
|
||||
use crate::ln::features::InvoiceFeatures;
|
||||
use crate::routing::gossip::NetworkGraph;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
//! # use lightning::routing::gossip::NetworkGraph;
|
||||
//! # use lightning::routing::router::{RouteParameters, find_route};
|
||||
//! # use lightning::routing::scoring::{ProbabilisticScorer, ProbabilisticScoringParameters};
|
||||
//! # use lightning::chain::keysinterface::KeysManager;
|
||||
//! # use lightning::sign::KeysManager;
|
||||
//! # use lightning::util::logger::{Logger, Record};
|
||||
//! # use bitcoin::secp256k1::PublicKey;
|
||||
//! #
|
||||
|
|
|
@ -1547,7 +1547,7 @@ mod benches {
|
|||
use std::time::Duration;
|
||||
use bitcoin::blockdata::constants::genesis_block;
|
||||
use bitcoin::Network;
|
||||
use crate::chain::keysinterface::{EntropySource, KeysManager};
|
||||
use crate::sign::{EntropySource, KeysManager};
|
||||
|
||||
use test::Bencher;
|
||||
|
|
@ -124,7 +124,7 @@ pub struct ChannelHandshakeConfig {
|
|||
///
|
||||
/// Default value: true.
|
||||
///
|
||||
/// [`SignerProvider::get_shutdown_scriptpubkey`]: crate::chain::keysinterface::SignerProvider::get_shutdown_scriptpubkey
|
||||
/// [`SignerProvider::get_shutdown_scriptpubkey`]: crate::sign::SignerProvider::get_shutdown_scriptpubkey
|
||||
pub commit_upfront_shutdown_pubkey: bool,
|
||||
/// The Proportion of the channel value to configure as counterparty's channel reserve,
|
||||
/// i.e., `their_channel_reserve_satoshis` for both outbound and inbound channels.
|
||||
|
|
|
@ -3,7 +3,7 @@ use bitcoin::hashes::hmac::{Hmac, HmacEngine};
|
|||
use bitcoin::hashes::sha256::Hash as Sha256;
|
||||
use bitcoin::secp256k1::{Message, Secp256k1, SecretKey, ecdsa::Signature, Signing};
|
||||
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
|
||||
use core::ops::Deref;
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
use crate::ln::channel::{ANCHOR_OUTPUT_VALUE_SATOSHI, MIN_CHAN_DUST_LIMIT_SATOSHIS};
|
||||
use crate::ln::chan_utils::{HTLCOutputInCommitment, ChannelPublicKeys, HolderCommitmentTransaction, CommitmentTransaction, ChannelTransactionParameters, TrustedCommitmentTransaction, ClosingTransaction};
|
||||
use crate::ln::{chan_utils, msgs, PaymentPreimage};
|
||||
use crate::chain::keysinterface::{WriteableEcdsaChannelSigner, InMemorySigner, ChannelSigner, EcdsaChannelSigner};
|
||||
use crate::sign::{WriteableEcdsaChannelSigner, InMemorySigner, ChannelSigner, EcdsaChannelSigner};
|
||||
|
||||
use crate::prelude::*;
|
||||
use core::cmp;
|
||||
|
|
|
@ -61,7 +61,7 @@ pub enum APIError {
|
|||
/// Using a SegWit v0 script should resolve this issue. If you cannot, you won't be able to open
|
||||
/// a channel or cooperatively close one with this peer (and will have to force-close instead).
|
||||
///
|
||||
/// [`SignerProvider::get_shutdown_scriptpubkey`]: crate::chain::keysinterface::SignerProvider::get_shutdown_scriptpubkey
|
||||
/// [`SignerProvider::get_shutdown_scriptpubkey`]: crate::sign::SignerProvider::get_shutdown_scriptpubkey
|
||||
/// [`InitFeatures`]: crate::ln::features::InitFeatures
|
||||
IncompatibleShutdownScript {
|
||||
/// The incompatible shutdown script.
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
// licenses.
|
||||
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::chain::keysinterface::SpendableOutputDescriptor;
|
||||
use crate::sign::SpendableOutputDescriptor;
|
||||
|
||||
use bitcoin::hash_types::Txid;
|
||||
use bitcoin::blockdata::transaction::Transaction;
|
||||
|
|
|
@ -16,7 +16,7 @@ use crate::routing::scoring::WriteableScore;
|
|||
use crate::chain;
|
||||
use crate::chain::chaininterface::{BroadcasterInterface, FeeEstimator};
|
||||
use crate::chain::chainmonitor::{Persist, MonitorUpdateId};
|
||||
use crate::chain::keysinterface::{EntropySource, NodeSigner, WriteableEcdsaChannelSigner, SignerProvider};
|
||||
use crate::sign::{EntropySource, NodeSigner, WriteableEcdsaChannelSigner, SignerProvider};
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::chain::channelmonitor::{ChannelMonitor, ChannelMonitorUpdate};
|
||||
use crate::ln::channelmanager::ChannelManager;
|
||||
|
|
|
@ -68,7 +68,7 @@ pub fn scid_from_parts(block: u64, tx_index: u64, vout_index: u64) -> Result<u64
|
|||
pub(crate) mod fake_scid {
|
||||
use bitcoin::hash_types::BlockHash;
|
||||
use bitcoin::hashes::hex::FromHex;
|
||||
use crate::chain::keysinterface::EntropySource;
|
||||
use crate::sign::EntropySource;
|
||||
use crate::util::chacha20::ChaCha20;
|
||||
use crate::util::scid_utils;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ use crate::chain::chainmonitor::MonitorUpdateId;
|
|||
use crate::chain::channelmonitor;
|
||||
use crate::chain::channelmonitor::MonitorEvent;
|
||||
use crate::chain::transaction::OutPoint;
|
||||
use crate::chain::keysinterface;
|
||||
use crate::sign;
|
||||
use crate::events;
|
||||
use crate::ln::channelmanager;
|
||||
use crate::ln::features::{ChannelFeatures, InitFeatures, NodeFeatures};
|
||||
|
@ -54,7 +54,7 @@ use crate::sync::{Mutex, Arc};
|
|||
use core::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
|
||||
use core::mem;
|
||||
use bitcoin::bech32::u5;
|
||||
use crate::chain::keysinterface::{InMemorySigner, Recipient, EntropySource, NodeSigner, SignerProvider};
|
||||
use crate::sign::{InMemorySigner, Recipient, EntropySource, NodeSigner, SignerProvider};
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
use std::time::{SystemTime, UNIX_EPOCH};
|
||||
|
@ -289,7 +289,7 @@ impl TestPersister {
|
|||
self.update_rets.lock().unwrap().push_back(next_ret);
|
||||
}
|
||||
}
|
||||
impl<Signer: keysinterface::WriteableEcdsaChannelSigner> chainmonitor::Persist<Signer> for TestPersister {
|
||||
impl<Signer: sign::WriteableEcdsaChannelSigner> chainmonitor::Persist<Signer> for TestPersister {
|
||||
fn persist_new_channel(&self, _funding_txo: OutPoint, _data: &channelmonitor::ChannelMonitor<Signer>, _id: MonitorUpdateId) -> chain::ChannelMonitorUpdateStatus {
|
||||
if let Some(update_ret) = self.update_rets.lock().unwrap().pop_front() {
|
||||
return update_ret
|
||||
|
@ -711,7 +711,7 @@ impl TestNodeSigner {
|
|||
}
|
||||
|
||||
impl NodeSigner for TestNodeSigner {
|
||||
fn get_inbound_payment_key_material(&self) -> crate::chain::keysinterface::KeyMaterial {
|
||||
fn get_inbound_payment_key_material(&self) -> crate::sign::KeyMaterial {
|
||||
unreachable!()
|
||||
}
|
||||
|
||||
|
@ -744,7 +744,7 @@ impl NodeSigner for TestNodeSigner {
|
|||
}
|
||||
|
||||
pub struct TestKeysInterface {
|
||||
pub backing: keysinterface::PhantomKeysManager,
|
||||
pub backing: sign::PhantomKeysManager,
|
||||
pub override_random_bytes: Mutex<Option<[u8; 32]>>,
|
||||
pub disable_revocation_policy_check: bool,
|
||||
enforcement_states: Mutex<HashMap<[u8;32], Arc<Mutex<EnforcementState>>>>,
|
||||
|
@ -770,7 +770,7 @@ impl NodeSigner for TestKeysInterface {
|
|||
self.backing.ecdh(recipient, other_key, tweak)
|
||||
}
|
||||
|
||||
fn get_inbound_payment_key_material(&self) -> keysinterface::KeyMaterial {
|
||||
fn get_inbound_payment_key_material(&self) -> sign::KeyMaterial {
|
||||
self.backing.get_inbound_payment_key_material()
|
||||
}
|
||||
|
||||
|
@ -826,7 +826,7 @@ impl TestKeysInterface {
|
|||
pub fn new(seed: &[u8; 32], network: Network) -> Self {
|
||||
let now = Duration::from_secs(genesis_block(network).header.time as u64);
|
||||
Self {
|
||||
backing: keysinterface::PhantomKeysManager::new(seed, now.as_secs(), now.subsec_nanos(), seed),
|
||||
backing: sign::PhantomKeysManager::new(seed, now.as_secs(), now.subsec_nanos(), seed),
|
||||
override_random_bytes: Mutex::new(None),
|
||||
disable_revocation_policy_check: false,
|
||||
enforcement_states: Mutex::new(HashMap::new()),
|
||||
|
@ -834,7 +834,7 @@ impl TestKeysInterface {
|
|||
}
|
||||
}
|
||||
|
||||
/// Sets an expectation that [`keysinterface::SignerProvider::get_shutdown_scriptpubkey`] is
|
||||
/// Sets an expectation that [`sign::SignerProvider::get_shutdown_scriptpubkey`] is
|
||||
/// called.
|
||||
pub fn expect(&self, expectation: OnGetShutdownScriptpubkey) -> &Self {
|
||||
self.expectations.lock().unwrap()
|
||||
|
@ -882,7 +882,7 @@ impl Drop for TestKeysInterface {
|
|||
}
|
||||
}
|
||||
|
||||
/// An expectation that [`keysinterface::SignerProvider::get_shutdown_scriptpubkey`] was called and
|
||||
/// An expectation that [`sign::SignerProvider::get_shutdown_scriptpubkey`] was called and
|
||||
/// returns a [`ShutdownScript`].
|
||||
pub struct OnGetShutdownScriptpubkey {
|
||||
/// A shutdown script used to close a channel.
|
||||
|
|
Loading…
Add table
Reference in a new issue