Decouple lifetimes for trait implementations that used to comprise KeysInterface.
authorArik Sosman <git@arik.io>
Fri, 13 Jan 2023 00:10:44 +0000 (16:10 -0800)
committerArik Sosman <git@arik.io>
Fri, 13 Jan 2023 00:10:44 +0000 (16:10 -0800)
lightning/src/chain/channelmonitor.rs
lightning/src/chain/onchaintx.rs
lightning/src/ln/channel.rs

index efbda4af0a3d483a559df11c3078f0efcc31b511..5434e77947cd7b513abb9bae8c369ddb493dfbec 100644 (file)
@@ -3704,9 +3704,9 @@ where
 
 const MAX_ALLOC_SIZE: usize = 64*1024;
 
-impl<'a, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'a SP)>
+impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP)>
                for (BlockHash, ChannelMonitor<SP::Signer>) {
-       fn read<R: io::Read>(reader: &mut R, args: (&'a ES, &'a SP)) -> Result<Self, DecodeError> {
+       fn read<R: io::Read>(reader: &mut R, args: (&'a ES, &'b SP)) -> Result<Self, DecodeError> {
                macro_rules! unwrap_obj {
                        ($key: expr) => {
                                match $key {
index 78fae9a71d30ebc24395a32c423cfddcdd817c8f..d6884428ed92bfcc75f278a4bd29b39f73cf31f3 100644 (file)
@@ -322,8 +322,8 @@ impl<ChannelSigner: Sign> OnchainTxHandler<ChannelSigner> {
        }
 }
 
-impl<'a, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'a SP, u64, [u8; 32])> for OnchainTxHandler<SP::Signer> {
-       fn read<R: io::Read>(reader: &mut R, args: (&'a ES, &'a SP, u64, [u8; 32])) -> Result<Self, DecodeError> {
+impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP, u64, [u8; 32])> for OnchainTxHandler<SP::Signer> {
+       fn read<R: io::Read>(reader: &mut R, args: (&'a ES, &'b SP, u64, [u8; 32])) -> Result<Self, DecodeError> {
                let entropy_source = args.0;
                let signer_provider = args.1;
                let channel_value_satoshis = args.2;
index fdf7e78579c9308d01e36472c55d9dbf079aa1ae..ff647990b6b1ada7172c87a5940407d6bf337306 100644 (file)
@@ -6331,12 +6331,12 @@ impl<Signer: Sign> Writeable for Channel<Signer> {
 }
 
 const MAX_ALLOC_SIZE: usize = 64*1024;
-impl<'a, ES: Deref, SP: Deref> ReadableArgs<(&'a ES, &'a SP, u32)> for Channel<<SP::Target as SignerProvider>::Signer>
+impl<'a, 'b, ES: Deref, SP: Deref> ReadableArgs<(&'a ES, &'b SP, u32)> for Channel<<SP::Target as SignerProvider>::Signer>
                where
                        ES::Target: EntropySource,
                        SP::Target: SignerProvider
 {
-       fn read<R : io::Read>(reader: &mut R, args: (&'a ES, &'a SP, u32)) -> Result<Self, DecodeError> {
+       fn read<R : io::Read>(reader: &mut R, args: (&'a ES, &'b SP, u32)) -> Result<Self, DecodeError> {
                let (entropy_source, signer_provider, serialized_height) = args;
                let ver = read_ver_prefix!(reader, SERIALIZATION_VERSION);