@@ -38,6 +38,7 @@ use lightning::ln::msgs::{ErrorAction, LightningError};
3838use lightning:: ln:: types:: ChannelId ;
3939use lightning:: util:: errors:: APIError ;
4040use lightning:: util:: logger:: Level ;
41+ use lightning:: { impl_writeable_tlv_based, impl_writeable_tlv_based_enum} ;
4142
4243use lightning_types:: payment:: PaymentHash ;
4344
@@ -372,13 +373,43 @@ impl OutboundJITChannelState {
372373 }
373374}
374375
376+ impl_writeable_tlv_based_enum ! ( OutboundJITChannelState ,
377+ ( 0 , PendingInitialPayment ) => {
378+ ( 0 , payment_queue, required) ,
379+ } ,
380+ ( 2 , PendingChannelOpen ) => {
381+ ( 0 , payment_queue, required) ,
382+ ( 2 , opening_fee_msat, required) ,
383+ } ,
384+ ( 4 , PendingPaymentForward ) => {
385+ ( 0 , payment_queue, required) ,
386+ ( 2 , opening_fee_msat, required) ,
387+ ( 4 , channel_id, required) ,
388+ } ,
389+ ( 6 , PendingPayment ) => {
390+ ( 0 , payment_queue, required) ,
391+ ( 2 , opening_fee_msat, required) ,
392+ ( 4 , channel_id, required) ,
393+ } ,
394+ ( 8 , PaymentForwarded ) => {
395+ ( 0 , channel_id, required) ,
396+ } ,
397+ ) ;
398+
375399struct OutboundJITChannel {
376400 state : OutboundJITChannelState ,
377401 user_channel_id : u128 ,
378402 opening_fee_params : LSPS2OpeningFeeParams ,
379403 payment_size_msat : Option < u64 > ,
380404}
381405
406+ impl_writeable_tlv_based ! ( OutboundJITChannel , {
407+ ( 0 , state, required) ,
408+ ( 2 , user_channel_id, required) ,
409+ ( 4 , opening_fee_params, required) ,
410+ ( 6 , payment_size_msat, option) ,
411+ } ) ;
412+
382413impl OutboundJITChannel {
383414 fn new (
384415 payment_size_msat : Option < u64 > , opening_fee_params : LSPS2OpeningFeeParams ,
@@ -492,6 +523,13 @@ impl PeerState {
492523 }
493524}
494525
526+ impl_writeable_tlv_based ! ( PeerState , {
527+ ( 0 , outbound_channels_by_intercept_scid, required) ,
528+ ( 2 , intercept_scid_by_user_channel_id, required) ,
529+ ( 4 , intercept_scid_by_channel_id, required) ,
530+ ( _unused, pending_requests, ( static_value, new_hash_map( ) ) ) ,
531+ } ) ;
532+
495533macro_rules! get_or_insert_peer_state_entry {
496534 ( $self: ident, $outer_state_lock: expr, $message_queue_notifier: expr, $counterparty_node_id: expr) => { {
497535 // Return an internal error and abort if we hit the maximum allowed number of total peers.
0 commit comments