@@ -61,8 +61,8 @@ var seed_counter = 0;
6161class Node {
6262 node_id : Uint8Array ;
6363 constructor ( public chan_man : ldk . ChannelManager , public tx_broadcasted : Promise < Uint8Array > ,
64- public logger : ldk . Logger , public keys_manager : ldk . KeysManager ,
65- public net_graph : ldk . NetworkGraph
64+ public chain_monitor : ldk . ChainMonitor , public logger : ldk . Logger ,
65+ public keys_manager : ldk . KeysManager , public net_graph : ldk . NetworkGraph
6666 ) {
6767 this . node_id = chan_man . get_our_node_id ( ) ;
6868 }
@@ -95,16 +95,19 @@ function get_chanman(): Node {
9595 } ,
9696 update_persisted_channel ( _channel_id : ldk . OutPoint , _update : ldk . ChannelMonitorUpdate , _data : ldk . ChannelMonitor ) : ldk . ChannelMonitorUpdateStatus {
9797 return ldk . ChannelMonitorUpdateStatus . LDKChannelMonitorUpdateStatus_Completed ;
98+ } ,
99+ get_and_clear_completed_updates ( ) : ldk . TwoTuple_ChannelIdu64Z [ ] {
100+ return [ ] ;
98101 }
99102 } as ldk . PersistInterface ) ;
100103
101- const chain_monitor = ldk . ChainMonitor . constructor_new ( ldk . Option_FilterZ . constructor_none ( ) , tx_broadcaster ! , logger , fee_est , persister ) ;
102- const chain_watch : ldk . Watch = chain_monitor . as_Watch ( ) ;
103-
104104 const seed = new Uint8Array ( 32 ) ;
105105 seed . fill ( seed_counter ) ;
106106 seed_counter ++ ;
107- const keys_manager = ldk . KeysManager . constructor_new ( seed , BigInt ( 42 ) , 42 ) ;
107+ const keys_manager = ldk . KeysManager . constructor_new ( seed , BigInt ( 42 ) , 42 , true ) ;
108+
109+ const chain_monitor = ldk . ChainMonitor . constructor_new ( ldk . Option_FilterZ . constructor_none ( ) , tx_broadcaster ! , logger , fee_est , persister , keys_manager . as_EntropySource ( ) , keys_manager . as_NodeSigner ( ) . get_peer_storage_key ( ) ) ;
110+ const chain_watch : ldk . Watch = chain_monitor . as_Watch ( ) ;
108111
109112 const net_graph = ldk . NetworkGraph . constructor_new ( ldk . Network . LDKNetwork_Testnet4 , logger ) ;
110113 const scorer = ldk . ProbabilisticScorer . constructor_new ( ldk . ProbabilisticScoringDecayParameters . constructor_default ( ) , net_graph , logger ) ;
@@ -117,14 +120,14 @@ function get_chanman(): Node {
117120 const chan_man = ldk . ChannelManager . constructor_new ( fee_est , chain_watch , tx_broadcaster ! , router . as_Router ( ) ,
118121 msg_router . as_MessageRouter ( ) , logger , keys_manager . as_EntropySource ( ) , keys_manager . as_NodeSigner ( ) ,
119122 keys_manager . as_SignerProvider ( ) , config , params , 42 ) ;
120- return new Node ( chan_man , tx_broadcasted , logger , keys_manager , net_graph ) ;
123+ return new Node ( chan_man , tx_broadcasted , chain_monitor , logger , keys_manager , net_graph ) ;
121124}
122125
123126function exchange_messages ( a : ldk . ChannelManager , b : ldk . ChannelManager ) {
124127 var found_msgs = true ;
125128 while ( found_msgs ) {
126- const as_msgs = a . as_MessageSendEventsProvider ( ) . get_and_clear_pending_msg_events ( ) ;
127- const bs_msgs = b . as_MessageSendEventsProvider ( ) . get_and_clear_pending_msg_events ( ) ;
129+ const as_msgs = a . as_BaseMessageHandler ( ) . get_and_clear_pending_msg_events ( ) ;
130+ const bs_msgs = b . as_BaseMessageHandler ( ) . get_and_clear_pending_msg_events ( ) ;
128131 found_msgs = as_msgs . length != 0 || bs_msgs . length != 0 ;
129132 for ( var i = 0 ; i < 2 ; i ++ ) {
130133 var to : ldk . ChannelManager ; var from : ldk . ChannelManager ; var msgs : ldk . MessageSendEvent [ ] ;
@@ -181,10 +184,10 @@ tests.push(async () => {
181184 const a = get_chanman ( ) ;
182185 const b = get_chanman ( ) ;
183186
184- const features = a . chan_man . as_ChannelMessageHandler ( ) . provided_init_features ( b . chan_man . get_our_node_id ( ) ) ;
187+ const features = a . chan_man . as_BaseMessageHandler ( ) . provided_init_features ( b . chan_man . get_our_node_id ( ) ) ;
185188
186- a . chan_man . as_ChannelMessageHandler ( ) . peer_connected ( b . chan_man . get_our_node_id ( ) , ldk . Init . constructor_new ( features , ldk . Option_CVec_ThirtyTwoBytesZZ . constructor_none ( ) , ldk . Option_SocketAddressZ . constructor_none ( ) ) , false ) ;
187- b . chan_man . as_ChannelMessageHandler ( ) . peer_connected ( a . chan_man . get_our_node_id ( ) , ldk . Init . constructor_new ( features , ldk . Option_CVec_ThirtyTwoBytesZZ . constructor_none ( ) , ldk . Option_SocketAddressZ . constructor_none ( ) ) , true ) ;
189+ a . chan_man . as_BaseMessageHandler ( ) . peer_connected ( b . chan_man . get_our_node_id ( ) , ldk . Init . constructor_new ( features , ldk . Option_CVec_ThirtyTwoBytesZZ . constructor_none ( ) , ldk . Option_SocketAddressZ . constructor_none ( ) ) , false ) ;
190+ b . chan_man . as_BaseMessageHandler ( ) . peer_connected ( a . chan_man . get_our_node_id ( ) , ldk . Init . constructor_new ( features , ldk . Option_CVec_ThirtyTwoBytesZZ . constructor_none ( ) , ldk . Option_SocketAddressZ . constructor_none ( ) ) , true ) ;
188191
189192 const chan_create_err = a . chan_man . create_channel ( b . chan_man . get_our_node_id ( ) , BigInt ( 0 ) , BigInt ( 400 ) , BigInt ( 0 ) , null , null ) ;
190193 if ( chan_create_err . is_ok ( ) ) return false ;
@@ -232,16 +235,16 @@ tests.push(async () => {
232235
233236 const ignorer = ldk . IgnoringMessageHandler . constructor_new ( ) ;
234237 const pm_a = ldk . PeerManager . constructor_new ( a . chan_man . as_ChannelMessageHandler ( ) , ignorer . as_RoutingMessageHandler ( ) ,
235- ignorer . as_OnionMessageHandler ( ) , ignorer . as_CustomMessageHandler ( ) ,
238+ ignorer . as_OnionMessageHandler ( ) , ignorer . as_CustomMessageHandler ( ) , a . chain_monitor . as_SendOnlyMessageHandler ( ) ,
236239 0xdeadbeef , a . keys_manager . as_EntropySource ( ) . get_secure_random_bytes ( ) , a . logger , a . keys_manager . as_NodeSigner ( ) ) ;
237240 const pm_b = ldk . PeerManager . constructor_new ( b . chan_man . as_ChannelMessageHandler ( ) , ignorer . as_RoutingMessageHandler ( ) ,
238- ignorer . as_OnionMessageHandler ( ) , ignorer . as_CustomMessageHandler ( ) ,
241+ ignorer . as_OnionMessageHandler ( ) , ignorer . as_CustomMessageHandler ( ) , b . chain_monitor . as_SendOnlyMessageHandler ( ) ,
239242 0xdeadbeef , b . keys_manager . as_EntropySource ( ) . get_secure_random_bytes ( ) , b . logger , b . keys_manager . as_NodeSigner ( ) ) ;
240243
241244 var sock_b : ldk . SocketDescriptor ;
242245 const sock_a = ldk . SocketDescriptor . new_impl ( {
243246 send_data ( data : Uint8Array , resume_read : boolean ) : number {
244- assert ( pm_b . read_event ( sock_b , data ) instanceof ldk . Result_boolPeerHandleErrorZ_OK ) ;
247+ assert ( pm_b . read_event ( sock_b , data ) instanceof ldk . Result_NonePeerHandleErrorZ_OK ) ;
245248 assert ( resume_read ) ;
246249 return data . length ;
247250 } ,
@@ -257,7 +260,7 @@ tests.push(async () => {
257260 } as ldk . SocketDescriptorInterface ) ;
258261 sock_b = ldk . SocketDescriptor . new_impl ( {
259262 send_data ( data : Uint8Array , resume_read : boolean ) : number {
260- assert ( pm_a . read_event ( sock_a , data ) instanceof ldk . Result_boolPeerHandleErrorZ_OK ) ;
263+ assert ( pm_a . read_event ( sock_a , data ) instanceof ldk . Result_NonePeerHandleErrorZ_OK ) ;
261264 assert ( resume_read ) ;
262265 return data . length ;
263266 } ,
@@ -283,7 +286,7 @@ tests.push(async () => {
283286 assert ( pm_b . new_inbound_connection ( sock_b , ldk . Option_SocketAddressZ . constructor_some ( v4_netaddr ) ) instanceof ldk . Result_NonePeerHandleErrorZ_OK ) ;
284287 const init_bytes = pm_a . new_outbound_connection ( b . node_id , sock_a , ldk . Option_SocketAddressZ . constructor_none ( ) ) ;
285288 if ( ! ( init_bytes instanceof ldk . Result_CVec_u8ZPeerHandleErrorZ_OK ) ) return false ;
286- assert ( pm_b . read_event ( sock_b , init_bytes . res ) instanceof ldk . Result_boolPeerHandleErrorZ_OK ) ;
289+ assert ( pm_b . read_event ( sock_b , init_bytes . res ) instanceof ldk . Result_NonePeerHandleErrorZ_OK ) ;
287290
288291 assert ( pm_a . list_peers ( ) . length == 0 ) ;
289292 assert ( pm_b . list_peers ( ) . length == 0 ) ;
@@ -348,22 +351,27 @@ tests.push(async () => {
348351 handle_onion_message ( peer_node_id : Uint8Array , msg : ldk . OnionMessage ) {
349352 underlying_om_a . as_OnionMessageHandler ( ) . handle_onion_message ( peer_node_id , msg ) ;
350353 } ,
354+ next_onion_message_for_peer ( peer_node_id : Uint8Array ) : ldk . OnionMessage {
355+ return underlying_om_a . as_OnionMessageHandler ( ) . next_onion_message_for_peer ( peer_node_id ) ;
356+ } ,
357+ timer_tick_occurred ( ) { } ,
358+ } as ldk . OnionMessageHandlerInterface , {
351359 peer_connected ( their_node_id : Uint8Array , init : ldk . Init , inbound : boolean ) : ldk . Result_NoneNoneZ {
352- return underlying_om_a . as_OnionMessageHandler ( ) . peer_connected ( their_node_id , init , inbound )
360+ return underlying_om_a . as_BaseMessageHandler ( ) . peer_connected ( their_node_id , init , inbound )
353361 } ,
354362 peer_disconnected ( their_node_id : Uint8Array ) {
355- underlying_om_a . as_OnionMessageHandler ( ) . peer_disconnected ( their_node_id ) ;
363+ underlying_om_a . as_BaseMessageHandler ( ) . peer_disconnected ( their_node_id ) ;
356364 } ,
357365 provided_node_features ( ) : ldk . NodeFeatures {
358- return underlying_om_a . as_OnionMessageHandler ( ) . provided_node_features ( ) ;
366+ return underlying_om_a . as_BaseMessageHandler ( ) . provided_node_features ( ) ;
359367 } ,
360368 provided_init_features ( their_node_id : Uint8Array ) : ldk . InitFeatures {
361- return underlying_om_a . as_OnionMessageHandler ( ) . provided_init_features ( their_node_id ) ;
369+ return underlying_om_a . as_BaseMessageHandler ( ) . provided_init_features ( their_node_id ) ;
362370 } ,
363- next_onion_message_for_peer ( peer_node_id : Uint8Array ) : ldk . OnionMessage {
364- return underlying_om_a . as_OnionMessageHandler ( ) . next_onion_message_for_peer ( peer_node_id ) ;
371+ get_and_clear_pending_msg_events ( ) : ldk . MessageSendEvent [ ] {
372+ return [ ] ;
365373 } ,
366- } as ldk . OnionMessageHandlerInterface ) ;
374+ } as ldk . BaseMessageHandlerInterface ) ;
367375
368376 var b_handled_msg = false ;
369377 const om_handler_b = ldk . CustomOnionMessageHandler . new_impl ( {
@@ -394,16 +402,16 @@ tests.push(async () => {
394402 b . chan_man . as_DNSResolverMessageHandler ( ) , om_handler_b ) ;
395403
396404 const pm_a = ldk . PeerManager . constructor_new ( a . chan_man . as_ChannelMessageHandler ( ) , ignorer . as_RoutingMessageHandler ( ) ,
397- om_a , ignorer . as_CustomMessageHandler ( ) , 0xdeadbeef ,
405+ om_a , ignorer . as_CustomMessageHandler ( ) , a . chain_monitor . as_SendOnlyMessageHandler ( ) , 0xdeadbeef ,
398406 a . keys_manager . as_EntropySource ( ) . get_secure_random_bytes ( ) , a . logger , a . keys_manager . as_NodeSigner ( ) ) ;
399407 const pm_b = ldk . PeerManager . constructor_new ( b . chan_man . as_ChannelMessageHandler ( ) , ignorer . as_RoutingMessageHandler ( ) ,
400- om_b . as_OnionMessageHandler ( ) , ignorer . as_CustomMessageHandler ( ) , 0xdeadbeef ,
401- b . keys_manager . as_EntropySource ( ) . get_secure_random_bytes ( ) , b . logger , b . keys_manager . as_NodeSigner ( ) ) ;
408+ om_b . as_OnionMessageHandler ( ) , ignorer . as_CustomMessageHandler ( ) , b . chain_monitor . as_SendOnlyMessageHandler ( ) ,
409+ 0xdeadbeef , b . keys_manager . as_EntropySource ( ) . get_secure_random_bytes ( ) , b . logger , b . keys_manager . as_NodeSigner ( ) ) ;
402410
403411 var sock_b : ldk . SocketDescriptor ;
404412 const sock_a = ldk . SocketDescriptor . new_impl ( {
405413 send_data ( data : Uint8Array , resume_read : boolean ) : number {
406- assert ( pm_b . read_event ( sock_b , data ) instanceof ldk . Result_boolPeerHandleErrorZ_OK ) ;
414+ assert ( pm_b . read_event ( sock_b , data ) instanceof ldk . Result_NonePeerHandleErrorZ_OK ) ;
407415 assert ( resume_read ) ;
408416 return data . length ;
409417 } ,
@@ -419,7 +427,7 @@ tests.push(async () => {
419427 } as ldk . SocketDescriptorInterface ) ;
420428 sock_b = ldk . SocketDescriptor . new_impl ( {
421429 send_data ( data : Uint8Array , resume_read : boolean ) : number {
422- assert ( pm_a . read_event ( sock_a , data ) instanceof ldk . Result_boolPeerHandleErrorZ_OK ) ;
430+ assert ( pm_a . read_event ( sock_a , data ) instanceof ldk . Result_NonePeerHandleErrorZ_OK ) ;
423431 assert ( resume_read ) ;
424432 return data . length ;
425433 } ,
@@ -438,7 +446,7 @@ tests.push(async () => {
438446 assert ( pm_b . new_inbound_connection ( sock_b , ldk . Option_SocketAddressZ . constructor_some ( v4_netaddr ) ) instanceof ldk . Result_NonePeerHandleErrorZ_OK ) ;
439447 const init_bytes = pm_a . new_outbound_connection ( b . node_id , sock_a , ldk . Option_SocketAddressZ . constructor_none ( ) ) ;
440448 if ( ! ( init_bytes instanceof ldk . Result_CVec_u8ZPeerHandleErrorZ_OK ) ) return false ;
441- assert ( pm_b . read_event ( sock_b , init_bytes . res ) instanceof ldk . Result_boolPeerHandleErrorZ_OK ) ;
449+ assert ( pm_b . read_event ( sock_b , init_bytes . res ) instanceof ldk . Result_NonePeerHandleErrorZ_OK ) ;
442450
443451 assert ( pm_a . list_peers ( ) . length == 0 ) ;
444452 assert ( pm_b . list_peers ( ) . length == 0 ) ;
0 commit comments