[TS] Update auto-generated TS bindings
[ldk-java] / ts / structs / ReadOnlyNetworkGraph.mts
index a4a689cf7fbd9c5643ded4699a31623f312641b2..c484f528c69a3734fed83614b632b185a7e2c7be 100644 (file)
@@ -67,6 +67,9 @@ import { Result_PaymentPurposeDecodeErrorZ } from '../structs/Result_PaymentPurp
 import { ClosureReason } from '../structs/ClosureReason.mjs';
 import { Option_ClosureReasonZ } from '../structs/Option_ClosureReasonZ.mjs';
 import { Result_COption_ClosureReasonZDecodeErrorZ } from '../structs/Result_COption_ClosureReasonZDecodeErrorZ.mjs';
+import { HTLCDestination } from '../structs/HTLCDestination.mjs';
+import { Option_HTLCDestinationZ } from '../structs/Option_HTLCDestinationZ.mjs';
+import { Result_COption_HTLCDestinationZDecodeErrorZ } from '../structs/Result_COption_HTLCDestinationZDecodeErrorZ.mjs';
 import { ChannelUpdate } from '../structs/ChannelUpdate.mjs';
 import { NetworkUpdate } from '../structs/NetworkUpdate.mjs';
 import { Option_NetworkUpdateZ } from '../structs/Option_NetworkUpdateZ.mjs';
@@ -104,7 +107,7 @@ import { TwoTuple_usizeTransactionZ } from '../structs/TwoTuple_usizeTransaction
 import { Result_NoneChannelMonitorUpdateErrZ } from '../structs/Result_NoneChannelMonitorUpdateErrZ.mjs';
 import { HTLCUpdate } from '../structs/HTLCUpdate.mjs';
 import { MonitorEvent } from '../structs/MonitorEvent.mjs';
-import { TwoTuple_OutPointCVec_MonitorEventZZ } from '../structs/TwoTuple_OutPointCVec_MonitorEventZZ.mjs';
+import { ThreeTuple_OutPointCVec_MonitorEventZPublicKeyZ } from '../structs/ThreeTuple_OutPointCVec_MonitorEventZPublicKeyZ.mjs';
 import { Option_C2Tuple_usizeTransactionZZ } from '../structs/Option_C2Tuple_usizeTransactionZZ.mjs';
 import { FixedPenaltyScorer } from '../structs/FixedPenaltyScorer.mjs';
 import { Result_FixedPenaltyScorerDecodeErrorZ } from '../structs/Result_FixedPenaltyScorerDecodeErrorZ.mjs';
@@ -138,6 +141,7 @@ import { ChannelInfo } from '../structs/ChannelInfo.mjs';
 import { Result_ChannelInfoDecodeErrorZ } from '../structs/Result_ChannelInfoDecodeErrorZ.mjs';
 import { RoutingFees } from '../structs/RoutingFees.mjs';
 import { Result_RoutingFeesDecodeErrorZ } from '../structs/Result_RoutingFeesDecodeErrorZ.mjs';
+import { Hostname } from '../structs/Hostname.mjs';
 import { NetAddress } from '../structs/NetAddress.mjs';
 import { NodeAnnouncementInfo } from '../structs/NodeAnnouncementInfo.mjs';
 import { Result_NodeAnnouncementInfoDecodeErrorZ } from '../structs/Result_NodeAnnouncementInfoDecodeErrorZ.mjs';
@@ -351,14 +355,71 @@ import { DefaultRouter } from '../structs/DefaultRouter.mjs';
 import { CommonBase, UInt5, WitnessVersion, UnqualifiedError } from './CommonBase.mjs';
 import * as bindings from '../bindings.mjs'
 
-/** XXX: DO NOT USE THIS - it remains locked until the GC runs (if that ever happens */
+
 /**
+ * This type represents a lock and MUST BE MANUALLY FREE'd!
  * A read-only view of [`NetworkGraph`].
  */
 export class ReadOnlyNetworkGraph extends CommonBase {
        /* @internal */
-       public constructor(_dummy: object, ptr: number) {
-               super(ptr, bindings.ReadOnlyNetworkGraph_free);
+       public constructor(_dummy: object, ptr: bigint) {
+               super(ptr, () => { throw new Error("Locks must be manually freed with free()"); });
+       }
+       /** Releases this lock */
+       public free() {
+               bindings.ReadOnlyNetworkGraph_free(this.ptr);
+               CommonBase.set_null_skip_free(this);
+       }
+
+       /**
+        * Returns information on a channel with the given id.
+        * 
+        * Note that the return value (or a relevant inner pointer) may be NULL or all-0s to represent None
+        */
+       public channel(short_channel_id: bigint): ChannelInfo {
+               const ret: bigint = bindings.ReadOnlyNetworkGraph_channel(this.ptr, short_channel_id);
+               const ret_hu_conv: ChannelInfo = new ChannelInfo(null, ret);
+               CommonBase.add_ref_from(ret_hu_conv, this);
+               return ret_hu_conv;
+       }
+
+       /**
+        * Returns the list of channels in the graph
+        */
+       public list_channels(): bigint[] {
+               const ret: number = bindings.ReadOnlyNetworkGraph_list_channels(this.ptr);
+               const ret_conv: bigint[] = bindings.decodeUint64Array(ret);
+               return ret_conv;
+       }
+
+       /**
+        * Returns information on a node with the given id.
+        * 
+        * Note that the return value (or a relevant inner pointer) may be NULL or all-0s to represent None
+        */
+       public node(node_id: NodeId): NodeInfo {
+               const ret: bigint = bindings.ReadOnlyNetworkGraph_node(this.ptr, node_id == null ? 0n : CommonBase.get_ptr_of(node_id));
+               const ret_hu_conv: NodeInfo = new NodeInfo(null, ret);
+               CommonBase.add_ref_from(ret_hu_conv, this);
+               CommonBase.add_ref_from(this, node_id);
+               return ret_hu_conv;
+       }
+
+       /**
+        * Returns the list of nodes in the graph
+        */
+       public list_nodes(): NodeId[] {
+               const ret: number = bindings.ReadOnlyNetworkGraph_list_nodes(this.ptr);
+               const ret_conv_8_len: number = bindings.getArrayLength(ret);
+               const ret_conv_8_arr: NodeId[] = new Array(ret_conv_8_len).fill(null);
+               for (var i = 0; i < ret_conv_8_len; i++) {
+                       const ret_conv_8: bigint = bindings.getU64ArrayElem(ret, i);
+                       const ret_conv_8_hu_conv: NodeId = new NodeId(null, ret_conv_8);
+                       CommonBase.add_ref_from(ret_conv_8_hu_conv, this);
+                       ret_conv_8_arr[i] = ret_conv_8_hu_conv;
+               }
+               bindings.freeWasmMemory(ret)
+               return ret_conv_8_arr;
        }
 
        /**
@@ -367,7 +428,7 @@ export class ReadOnlyNetworkGraph extends CommonBase {
         * or if node announcement for the node was never received.
         */
        public get_addresses(pubkey: Uint8Array): Option_CVec_NetAddressZZ {
-               const ret: number = bindings.ReadOnlyNetworkGraph_get_addresses(this.ptr, bindings.encodeUint8Array(bindings.check_arr_len(pubkey, 33)));
+               const ret: bigint = bindings.ReadOnlyNetworkGraph_get_addresses(this.ptr, bindings.encodeUint8Array(bindings.check_arr_len(pubkey, 33)));
                const ret_hu_conv: Option_CVec_NetAddressZZ = Option_CVec_NetAddressZZ.constr_from_ptr(ret);
                CommonBase.add_ref_from(ret_hu_conv, this);
                return ret_hu_conv;