]> git.bitcoin.ninja Git - ldk-java/blobdiff - src/main/java/org/ldk/batteries/ChannelManagerConstructor.java
Update CI references to LDK 0.0.124 drop stale memchr pins
[ldk-java] / src / main / java / org / ldk / batteries / ChannelManagerConstructor.java
index bfa33991c13a31402731543d4dcf860d2d4b469d..f710a66b74ef7194100a25bc359b76644f59f058 100644 (file)
@@ -80,6 +80,7 @@ public class ChannelManagerConstructor {
     private final Logger logger;
     private final EntropySource entropy_source;
     private final NodeSigner node_signer;
+    private final Router router;
 
     /**
      * Exposes the `ProbabilisticScorer` wrapped inside a lock. Don't forget to `close` this lock when you're done with
@@ -158,16 +159,37 @@ public class ChannelManagerConstructor {
         this.scorer = MultiThreadedLockableScore.of(this.prob_scorer.as_Score());
 
         assert(scoring_fee_params != null);
-        DefaultRouter default_router = DefaultRouter.of(this.net_graph, logger, entropy_source.get_secure_random_bytes(), scorer.as_LockableScore(), scoring_fee_params);
-        Router router;
+        DefaultRouter default_router = DefaultRouter.of(this.net_graph, logger, entropy_source, scorer.as_LockableScore(), scoring_fee_params);
         if (router_wrapper != null) {
             router = Router.new_impl(new Router.RouterInterface() {
-                @Override public Result_RouteLightningErrorZ find_route(byte[] payer, RouteParameters route_params, ChannelDetails[] first_hops, InFlightHtlcs inflight_htlcs) {
+                @Override
+                public Result_RouteLightningErrorZ find_route(byte[] payer, RouteParameters route_params, ChannelDetails[] first_hops, InFlightHtlcs inflight_htlcs) {
                     return router_wrapper.find_route(payer, route_params, first_hops, inflight_htlcs, null, null, default_router);
                 }
-                @Override public Result_RouteLightningErrorZ find_route_with_id(byte[] payer, RouteParameters route_params, ChannelDetails[] first_hops, InFlightHtlcs inflight_htlcs, byte[] payment_hash, byte[] payment_id) {
+
+                @Override
+                public Result_RouteLightningErrorZ find_route_with_id(byte[] payer, RouteParameters route_params, ChannelDetails[] first_hops, InFlightHtlcs inflight_htlcs, byte[] payment_hash, byte[] payment_id) {
                     return router_wrapper.find_route(payer, route_params, first_hops, inflight_htlcs, payment_hash, payment_id, default_router);
                 }
+
+                @Override
+                public Result_CVec_BlindedPaymentPathZNoneZ create_blinded_payment_paths(byte[] recipient, ChannelDetails[] first_hops, ReceiveTlvs tlvs, long amount_msats) {
+                    return default_router.as_Router().create_blinded_payment_paths(recipient, first_hops, tlvs, amount_msats);
+                }
+            }, new MessageRouter.MessageRouterInterface() {
+                @Override public Result_OnionMessagePathNoneZ find_path(byte[] sender, byte[][] peers, Destination destination) {
+                    return default_router.as_MessageRouter().find_path(sender, peers, destination);
+                }
+
+                @Override
+                public Result_CVec_BlindedMessagePathZNoneZ create_blinded_paths(byte[] recipient, MessageContext context, byte[][] peers) {
+                    return default_router.as_MessageRouter().create_blinded_paths(recipient, context, peers);
+                }
+
+                @Override
+                public Result_CVec_BlindedMessagePathZNoneZ create_compact_blinded_paths(byte[] recipient, MessageContext context, MessageForwardNode[] peers) {
+                    return default_router.as_MessageRouter().create_compact_blinded_paths(recipient, context, peers);
+                }
             });
         } else {
             router = default_router.as_Router();
@@ -200,7 +222,7 @@ public class ChannelManagerConstructor {
         this.logger = logger;
         if (filter != null) {
             for (ChannelMonitor monitor : monitors) {
-                monitor.load_outputs_to_watch(filter);
+                monitor.load_outputs_to_watch(filter, logger);
             }
         }
     }
@@ -225,8 +247,7 @@ public class ChannelManagerConstructor {
         this.scorer = MultiThreadedLockableScore.of(this.prob_scorer.as_Score());
 
         assert(scoring_fee_params != null);
-        DefaultRouter default_router = DefaultRouter.of(this.net_graph, logger, entropy_source.get_secure_random_bytes(), scorer.as_LockableScore(), scoring_fee_params);
-        Router router;
+        DefaultRouter default_router = DefaultRouter.of(this.net_graph, logger, entropy_source, scorer.as_LockableScore(), scoring_fee_params);
         if (router_wrapper != null) {
             router = Router.new_impl(new Router.RouterInterface() {
                 @Override public Result_RouteLightningErrorZ find_route(byte[] payer, RouteParameters route_params, ChannelDetails[] first_hops, InFlightHtlcs inflight_htlcs) {
@@ -235,6 +256,25 @@ public class ChannelManagerConstructor {
                 @Override public Result_RouteLightningErrorZ find_route_with_id(byte[] payer, RouteParameters route_params, ChannelDetails[] first_hops, InFlightHtlcs inflight_htlcs, byte[] payment_hash, byte[] payment_id) {
                     return router_wrapper.find_route(payer, route_params, first_hops, inflight_htlcs, payment_hash, payment_id, default_router);
                 }
+
+                @Override
+                public Result_CVec_BlindedPaymentPathZNoneZ create_blinded_payment_paths(byte[] recipient, ChannelDetails[] first_hops, ReceiveTlvs tlvs, long amount_msats) {
+                    return default_router.as_Router().create_blinded_payment_paths(recipient, first_hops, tlvs, amount_msats);
+                }
+            }, new MessageRouter.MessageRouterInterface() {
+                @Override public Result_OnionMessagePathNoneZ find_path(byte[] sender, byte[][] peers, Destination destination) {
+                    return default_router.as_MessageRouter().find_path(sender, peers, destination);
+                }
+
+                @Override
+                public Result_CVec_BlindedMessagePathZNoneZ create_blinded_paths(byte[] recipient, MessageContext context, byte[][] peers) {
+                    return default_router.as_MessageRouter().create_blinded_paths(recipient, context, peers);
+                }
+
+                @Override
+                public Result_CVec_BlindedMessagePathZNoneZ create_compact_blinded_paths(byte[] recipient, MessageContext context, MessageForwardNode[] peers) {
+                    return default_router.as_MessageRouter().create_compact_blinded_paths(recipient, context, peers);
+                }
             });
         } else {
             router = default_router.as_Router();
@@ -254,7 +294,7 @@ public class ChannelManagerConstructor {
      * a background thread is started which will automatically call these methods for you when events occur.
      */
     public interface EventHandler {
-        void handle_event(Event events);
+        Result_NoneReplayEventZ handle_event(Event events);
         void persist_manager(byte[] channel_manager_bytes);
         void persist_network_graph(byte[] network_graph);
         void persist_scorer(byte[] scorer_bytes);
@@ -288,7 +328,10 @@ public class ChannelManagerConstructor {
             routing_msg_handler = graph_msg_handler.as_RoutingMessageHandler();
         else
             routing_msg_handler = ignoring_handler.as_RoutingMessageHandler();
-        OnionMessenger messenger = OnionMessenger.of(this.entropy_source, this.node_signer, this.logger, DefaultMessageRouter.of().as_MessageRouter(), channel_manager.as_OffersMessageHandler(), IgnoringMessageHandler.of().as_CustomOnionMessageHandler());
+        OnionMessenger messenger = OnionMessenger.of(this.entropy_source, this.node_signer, this.logger,
+                this.channel_manager.as_NodeIdLookUp(), this.router.get_message_router(),
+                channel_manager.as_OffersMessageHandler(), IgnoringMessageHandler.of().as_AsyncPaymentsMessageHandler(),
+                IgnoringMessageHandler.of().as_CustomOnionMessageHandler());
         this.peer_manager = PeerManager.of(channel_manager.as_ChannelMessageHandler(),
                 routing_msg_handler, messenger.as_OnionMessageHandler(),
                 ignoring_handler.as_CustomMessageHandler(), (int)(System.currentTimeMillis() / 1000),
@@ -326,7 +369,7 @@ public class ChannelManagerConstructor {
                 event_handler.persist_scorer(scorer.write());
                 return Result_NoneIOErrorZ.ok();
             }
-        }), ldk_handler, this.chain_monitor, this.channel_manager, gossip_sync, peer_manager, this.logger, writeable_score);
+        }), ldk_handler, this.chain_monitor, this.channel_manager, messenger, gossip_sync, peer_manager, this.logger, writeable_score);
     }
 
     /**