@@ -677,45 +677,15 @@ impl Channel {
677677 }
678678}
679679
680- impl Writeable for Channel {
681- fn write < W : Writer > ( & self , writer : & mut W ) -> Result < ( ) , io:: Error > {
682- write_tlv_fields ! ( writer, {
683- ( 1 , self . outgoing_reputation, required) ,
684- ( 3 , self . incoming_revenue, required) ,
685- ( 5 , self . pending_htlcs, required) ,
686- ( 7 , self . general_bucket, required) ,
687- ( 9 , self . congestion_bucket, required) ,
688- ( 11 , self . last_congestion_misuse, required) ,
689- ( 13 , self . protected_bucket, required) ,
690- } ) ;
691-
692- Ok ( ( ) )
693- }
694- }
695-
696- impl Readable for Channel {
697- fn read < R : Read > ( reader : & mut R ) -> Result < Channel , DecodeError > {
698- _init_and_read_len_prefixed_tlv_fields ! ( reader, {
699- ( 1 , outgoing_reputation, required) ,
700- ( 3 , incoming_revenue, required) ,
701- ( 5 , pending_htlcs, required) ,
702- ( 7 , general_bucket, required) ,
703- ( 9 , congestion_bucket, required) ,
704- ( 11 , last_congestion_misuse, required) ,
705- ( 13 , protected_bucket, required) ,
706- } ) ;
707-
708- Ok ( Channel {
709- outgoing_reputation : outgoing_reputation. 0 . unwrap ( ) ,
710- incoming_revenue : incoming_revenue. 0 . unwrap ( ) ,
711- pending_htlcs : pending_htlcs. 0 . unwrap ( ) ,
712- general_bucket : general_bucket. 0 . unwrap ( ) ,
713- congestion_bucket : congestion_bucket. 0 . unwrap ( ) ,
714- last_congestion_misuse : last_congestion_misuse. 0 . unwrap ( ) ,
715- protected_bucket : protected_bucket. 0 . unwrap ( ) ,
716- } )
717- }
718- }
680+ impl_writeable_tlv_based ! ( Channel , {
681+ ( 1 , outgoing_reputation, required) ,
682+ ( 3 , incoming_revenue, required) ,
683+ ( 5 , pending_htlcs, required) ,
684+ ( 7 , general_bucket, required) ,
685+ ( 9 , congestion_bucket, required) ,
686+ ( 11 , last_congestion_misuse, required) ,
687+ ( 13 , protected_bucket, required) ,
688+ } ) ;
719689
720690/// An implementation of [`ResourceManager`] for managing channel resources and informing HTLC
721691/// forwarding decisions. It implements the core of the mitigation as proposed in
0 commit comments