X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fchain%2Fonchaintx.rs;h=d6884428ed92bfcc75f278a4bd29b39f73cf31f3;hb=abf4e79dcda4c97dd80dd00233de32507184543a;hp=8feaf6e6a302650711db3d78283bff3a4a127dfb;hpb=5824e226cad67e32d5e8be71ebbb6f91a3fc2116;p=rust-lightning diff --git a/lightning/src/chain/onchaintx.rs b/lightning/src/chain/onchaintx.rs index 8feaf6e6..d6884428 100644 --- a/lightning/src/chain/onchaintx.rs +++ b/lightning/src/chain/onchaintx.rs @@ -322,11 +322,12 @@ impl OnchainTxHandler { } } -impl<'a, K: EntropySource + SignerProvider> 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: EntropySource + SignerProvider> ReadableArgs<(&'a K, u64, [u8; 32])> 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: EntropySource + SignerProvider> ReadableArgs<(&'a K, u64, [u8; 32])> 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,