[Java] Update auto-generated bindings to LDK 0.0.118
[ldk-java] / src / main / java / org / ldk / structs / NetworkGraph.java
index 38c58dd35e533b585a3515b4a7d4448b78430fed..adb402ffd7005505f900d715d833bcd664639cfe 100644 (file)
@@ -22,8 +22,10 @@ public class NetworkGraph extends CommonBase {
 
        /**
         * Handles any network updates originating from [`Event`]s.
+        * Note that this will skip applying any [`NetworkUpdate::ChannelUpdateMessage`] to avoid
+        * leaking possibly identifying information of the sender to the public network.
         * 
-        * [`Event`]: crate::util::events::Event
+        * [`Event`]: crate::events::Event
         */
        public void handle_network_update(org.ldk.structs.NetworkUpdate network_update) {
                bindings.NetworkGraph_handle_network_update(this.ptr, network_update == null ? 0 : network_update.ptr);
@@ -31,6 +33,15 @@ public class NetworkGraph extends CommonBase {
                Reference.reachabilityFence(network_update);
        }
 
+       /**
+        * Gets the chain hash for this network graph.
+        */
+       public byte[] get_chain_hash() {
+               byte[] ret = bindings.NetworkGraph_get_chain_hash(this.ptr);
+               Reference.reachabilityFence(this);
+               return ret;
+       }
+
        /**
         * Serialize the NetworkGraph object into a byte array which can be read by NetworkGraph_read
         */
@@ -44,7 +55,7 @@ public class NetworkGraph extends CommonBase {
         * Read a NetworkGraph from a byte array, created by NetworkGraph_write
         */
        public static Result_NetworkGraphDecodeErrorZ read(byte[] ser, org.ldk.structs.Logger arg) {
-               long ret = bindings.NetworkGraph_read(ser, arg == null ? 0 : arg.ptr);
+               long ret = bindings.NetworkGraph_read(ser, arg.ptr);
                Reference.reachabilityFence(ser);
                Reference.reachabilityFence(arg);
                if (ret >= 0 && ret <= 4096) { return null; }
@@ -57,7 +68,7 @@ public class NetworkGraph extends CommonBase {
         * Creates a new, empty, network graph.
         */
        public static NetworkGraph of(org.ldk.enums.Network network, org.ldk.structs.Logger logger) {
-               long ret = bindings.NetworkGraph_new(network, logger == null ? 0 : logger.ptr);
+               long ret = bindings.NetworkGraph_new(network, logger.ptr);
                Reference.reachabilityFence(network);
                Reference.reachabilityFence(logger);
                if (ret >= 0 && ret <= 4096) { return null; }
@@ -139,8 +150,8 @@ public class NetworkGraph extends CommonBase {
        /**
         * Store or update channel info from a channel announcement.
         * 
-        * You probably don't want to call this directly, instead relying on a P2PGossipSync's
-        * RoutingMessageHandler implementation to call it indirectly. This may be useful to accept
+        * You probably don't want to call this directly, instead relying on a [`P2PGossipSync`]'s
+        * [`RoutingMessageHandler`] implementation to call it indirectly. This may be useful to accept
         * routing messages from a source using a protocol other than the lightning P2P protocol.
         * 
         * If a [`UtxoLookup`] object is provided via `utxo_lookup`, it will be called to verify
@@ -158,6 +169,25 @@ public class NetworkGraph extends CommonBase {
                return ret_hu_conv;
        }
 
+       /**
+        * Store or update channel info from a channel announcement.
+        * 
+        * You probably don't want to call this directly, instead relying on a [`P2PGossipSync`]'s
+        * [`RoutingMessageHandler`] implementation to call it indirectly. This may be useful to accept
+        * routing messages from a source using a protocol other than the lightning P2P protocol.
+        * 
+        * This will skip verification of if the channel is actually on-chain.
+        */
+       public Result_NoneLightningErrorZ update_channel_from_announcement_no_lookup(org.ldk.structs.ChannelAnnouncement msg) {
+               long ret = bindings.NetworkGraph_update_channel_from_announcement_no_lookup(this.ptr, msg == null ? 0 : msg.ptr);
+               Reference.reachabilityFence(this);
+               Reference.reachabilityFence(msg);
+               if (ret >= 0 && ret <= 4096) { return null; }
+               Result_NoneLightningErrorZ ret_hu_conv = Result_NoneLightningErrorZ.constr_from_ptr(ret);
+               if (this != null) { this.ptrs_to.add(msg); };
+               return ret_hu_conv;
+       }
+
        /**
         * Store or update channel info from a channel announcement without verifying the associated
         * signatures. Because we aren't given the associated signatures here we cannot relay the
@@ -201,16 +231,14 @@ public class NetworkGraph extends CommonBase {
        }
 
        /**
-        * Marks a channel in the graph as failed if a corresponding HTLC fail was sent.
-        * If permanent, removes a channel from the local storage.
-        * May cause the removal of nodes too, if this was their last channel.
-        * If not permanent, makes channels unavailable for routing.
+        * Marks a channel in the graph as failed permanently.
+        * 
+        * The channel and any node for which this was their last channel are removed from the graph.
         */
-       public void channel_failed(long short_channel_id, boolean is_permanent) {
-               bindings.NetworkGraph_channel_failed(this.ptr, short_channel_id, is_permanent);
+       public void channel_failed_permanent(long short_channel_id) {
+               bindings.NetworkGraph_channel_failed_permanent(this.ptr, short_channel_id);
                Reference.reachabilityFence(this);
                Reference.reachabilityFence(short_channel_id);
-               Reference.reachabilityFence(is_permanent);
        }
 
        /**
@@ -271,8 +299,8 @@ public class NetworkGraph extends CommonBase {
         * For an already known (from announcement) channel, update info about one of the directions
         * of the channel.
         * 
-        * You probably don't want to call this directly, instead relying on a P2PGossipSync's
-        * RoutingMessageHandler implementation to call it indirectly. This may be useful to accept
+        * You probably don't want to call this directly, instead relying on a [`P2PGossipSync`]'s
+        * [`RoutingMessageHandler`] implementation to call it indirectly. This may be useful to accept
         * routing messages from a source using a protocol other than the lightning P2P protocol.
         * 
         * If built with `no-std`, any updates with a timestamp more than two weeks in the past or
@@ -306,4 +334,22 @@ public class NetworkGraph extends CommonBase {
                return ret_hu_conv;
        }
 
+       /**
+        * For an already known (from announcement) channel, verify the given [`ChannelUpdate`].
+        * 
+        * This checks whether the update currently is applicable by [`Self::update_channel`].
+        * 
+        * If built with `no-std`, any updates with a timestamp more than two weeks in the past or
+        * materially in the future will be rejected.
+        */
+       public Result_NoneLightningErrorZ verify_channel_update(org.ldk.structs.ChannelUpdate msg) {
+               long ret = bindings.NetworkGraph_verify_channel_update(this.ptr, msg == null ? 0 : msg.ptr);
+               Reference.reachabilityFence(this);
+               Reference.reachabilityFence(msg);
+               if (ret >= 0 && ret <= 4096) { return null; }
+               Result_NoneLightningErrorZ ret_hu_conv = Result_NoneLightningErrorZ.constr_from_ptr(ret);
+               if (this != null) { this.ptrs_to.add(msg); };
+               return ret_hu_conv;
+       }
+
 }