X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fchain%2Fonchaintx.rs;h=d6884428ed92bfcc75f278a4bd29b39f73cf31f3;hb=49c1f30c8cccba45057d01a942e5de883b18a8da;hp=9bfe6fa9af21b1547e5aa8bf2183062cde66f4cd;hpb=b291f4ab7aa751556026da918eb50794f052937a;p=rust-lightning diff --git a/lightning/src/chain/onchaintx.rs b/lightning/src/chain/onchaintx.rs index 9bfe6fa9..d6884428 100644 --- a/lightning/src/chain/onchaintx.rs +++ b/lightning/src/chain/onchaintx.rs @@ -21,7 +21,7 @@ use bitcoin::hash_types::{Txid, BlockHash}; use bitcoin::secp256k1::{Secp256k1, ecdsa::Signature}; use bitcoin::secp256k1; -use crate::chain::keysinterface::BaseSign; +use crate::chain::keysinterface::{BaseSign, EntropySource, SignerProvider}; use crate::ln::msgs::DecodeError; use crate::ln::PaymentPreimage; #[cfg(anchors)] @@ -31,7 +31,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::{Sign, KeysInterface}; +use crate::chain::keysinterface::Sign; #[cfg(anchors)] use crate::chain::package::PackageSolvingData; use crate::chain::package::PackageTemplate; @@ -322,11 +322,12 @@ impl OnchainTxHandler { } } -impl<'a, K: KeysInterface> ReadableArgs<(&'a K, u64, [u8; 32])> for OnchainTxHandler { - fn read(reader: &mut R, args: (&'a K, u64, [u8; 32])) -> Result { - let keys_manager = args.0; - let channel_value_satoshis = args.1; - let channel_keys_id = args.2; +impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP, u64, [u8; 32])> for OnchainTxHandler { + fn read(reader: &mut R, args: (&'a ES, &'b SP, u64, [u8; 32])) -> Result { + let entropy_source = args.0; + let signer_provider = args.1; + let channel_value_satoshis = args.2; + let channel_keys_id = args.3; let _ver = read_ver_prefix!(reader, SERIALIZATION_VERSION); @@ -352,7 +353,7 @@ impl<'a, K: KeysInterface> ReadableArgs<(&'a K, u64, [u8; 32])> for OnchainTxHan bytes_read += bytes_to_read; } - let mut signer = keys_manager.derive_channel_signer(channel_value_satoshis, channel_keys_id); + let mut signer = signer_provider.derive_channel_signer(channel_value_satoshis, channel_keys_id); signer.provide_channel_parameters(&channel_parameters); let pending_claim_requests_len: u64 = Readable::read(reader)?; @@ -393,7 +394,7 @@ impl<'a, K: KeysInterface> ReadableArgs<(&'a K, u64, [u8; 32])> for OnchainTxHan read_tlv_fields!(reader, {}); let mut secp_ctx = Secp256k1::new(); - secp_ctx.seeded_randomize(&keys_manager.get_secure_random_bytes()); + secp_ctx.seeded_randomize(&entropy_source.get_secure_random_bytes()); Ok(OnchainTxHandler { destination_script,