@@ -689,6 +689,7 @@ pub trait SignerProvider {
689689///
690690/// This implementation performs no policy checks and is insufficient by itself as
691691/// a secure external signer.
692+ #[ derive( Debug ) ]
692693pub struct InMemorySigner {
693694 /// Holder secret key in the 2-of-2 multisig script of a channel. This key also backs the
694695 /// holder's anchor output in a commitment transaction, if one is present.
@@ -718,6 +719,21 @@ pub struct InMemorySigner {
718719 rand_bytes_index : AtomicCounter ,
719720}
720721
722+ impl PartialEq for InMemorySigner {
723+ fn eq ( & self , other : & Self ) -> bool {
724+ self . funding_key == other. funding_key &&
725+ self . revocation_base_key == other. revocation_base_key &&
726+ self . payment_key == other. payment_key &&
727+ self . delayed_payment_base_key == other. delayed_payment_base_key &&
728+ self . htlc_base_key == other. htlc_base_key &&
729+ self . commitment_seed == other. commitment_seed &&
730+ self . holder_channel_pubkeys == other. holder_channel_pubkeys &&
731+ self . channel_parameters == other. channel_parameters &&
732+ self . channel_value_satoshis == other. channel_value_satoshis &&
733+ self . channel_keys_id == other. channel_keys_id
734+ }
735+ }
736+
721737impl Clone for InMemorySigner {
722738 fn clone ( & self ) -> Self {
723739 Self {
0 commit comments