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';
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';
+import { TwoTuple_u64u64Z } from '../structs/TwoTuple_u64u64Z.mjs';
+import { Option_C2Tuple_u64u64ZZ } from '../structs/Option_C2Tuple_u64u64ZZ.mjs';
+import { NodeId } from '../structs/NodeId.mjs';
import { Record } from '../structs/Record.mjs';
import { Logger, LoggerInterface } from '../structs/Logger.mjs';
import { NetworkGraph } from '../structs/NetworkGraph.mjs';
import { InvoiceFeatures } from '../structs/InvoiceFeatures.mjs';
import { Result_InvoiceFeaturesDecodeErrorZ } from '../structs/Result_InvoiceFeaturesDecodeErrorZ.mjs';
import { Result_ChannelTypeFeaturesDecodeErrorZ } from '../structs/Result_ChannelTypeFeaturesDecodeErrorZ.mjs';
-import { NodeId } from '../structs/NodeId.mjs';
import { Result_NodeIdDecodeErrorZ } from '../structs/Result_NodeIdDecodeErrorZ.mjs';
import { Result_COption_NetworkUpdateZDecodeErrorZ } from '../structs/Result_COption_NetworkUpdateZDecodeErrorZ.mjs';
import { Access, AccessInterface } from '../structs/Access.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';
+import { NodeAlias } from '../structs/NodeAlias.mjs';
+import { Result_NodeAliasDecodeErrorZ } from '../structs/Result_NodeAliasDecodeErrorZ.mjs';
import { NodeInfo } from '../structs/NodeInfo.mjs';
import { Result_NodeInfoDecodeErrorZ } from '../structs/Result_NodeInfoDecodeErrorZ.mjs';
import { Result_NetworkGraphDecodeErrorZ } from '../structs/Result_NetworkGraphDecodeErrorZ.mjs';
/**Handles updating channel penalties after successfully routing along a path.
*/
payment_path_successful(path: RouteHop[]): void;
+ /**Handles updating channel penalties after a probe over the given path failed.
+ */
+ probe_failed(path: RouteHop[], short_channel_id: bigint): void;
+ /**Handles updating channel penalties after a probe over the given path succeeded.
+ */
+ probe_successful(path: RouteHop[]): void;
/**Serialize the object into a byte array
*/
write(): Uint8Array;
public bindings_instance?: bindings.LDKScore;
/* @internal */
- constructor(_dummy: object, ptr: number) {
+ constructor(_dummy: object, ptr: bigint) {
super(ptr, bindings.Score_free);
this.bindings_instance = null;
}
public static new_impl(arg: ScoreInterface): Score {
const impl_holder: LDKScoreHolder = new LDKScoreHolder();
let structImplementation = {
- channel_penalty_msat (short_channel_id: bigint, source: number, target: number, usage: number): bigint {
+ channel_penalty_msat (short_channel_id: bigint, source: bigint, target: bigint, usage: bigint): bigint {
const source_hu_conv: NodeId = new NodeId(null, source);
const target_hu_conv: NodeId = new NodeId(null, target);
const usage_hu_conv: ChannelUsage = new ChannelUsage(null, usage);
const path_conv_10_len: number = bindings.getArrayLength(path);
const path_conv_10_arr: RouteHop[] = new Array(path_conv_10_len).fill(null);
for (var k = 0; k < path_conv_10_len; k++) {
- const path_conv_10: number = bindings.getU32ArrayElem(path, k);
+ const path_conv_10: bigint = bindings.getU64ArrayElem(path, k);
const path_conv_10_hu_conv: RouteHop = new RouteHop(null, path_conv_10);
CommonBase.add_ref_from(path_conv_10_hu_conv, this);
path_conv_10_arr[k] = path_conv_10_hu_conv;
const path_conv_10_len: number = bindings.getArrayLength(path);
const path_conv_10_arr: RouteHop[] = new Array(path_conv_10_len).fill(null);
for (var k = 0; k < path_conv_10_len; k++) {
- const path_conv_10: number = bindings.getU32ArrayElem(path, k);
+ const path_conv_10: bigint = bindings.getU64ArrayElem(path, k);
const path_conv_10_hu_conv: RouteHop = new RouteHop(null, path_conv_10);
CommonBase.add_ref_from(path_conv_10_hu_conv, this);
path_conv_10_arr[k] = path_conv_10_hu_conv;
bindings.freeWasmMemory(path)
arg.payment_path_successful(path_conv_10_arr);
},
+ probe_failed (path: number, short_channel_id: bigint): void {
+ const path_conv_10_len: number = bindings.getArrayLength(path);
+ const path_conv_10_arr: RouteHop[] = new Array(path_conv_10_len).fill(null);
+ for (var k = 0; k < path_conv_10_len; k++) {
+ const path_conv_10: bigint = bindings.getU64ArrayElem(path, k);
+ const path_conv_10_hu_conv: RouteHop = new RouteHop(null, path_conv_10);
+ CommonBase.add_ref_from(path_conv_10_hu_conv, this);
+ path_conv_10_arr[k] = path_conv_10_hu_conv;
+ }
+ bindings.freeWasmMemory(path)
+ arg.probe_failed(path_conv_10_arr, short_channel_id);
+ },
+ probe_successful (path: number): void {
+ const path_conv_10_len: number = bindings.getArrayLength(path);
+ const path_conv_10_arr: RouteHop[] = new Array(path_conv_10_len).fill(null);
+ for (var k = 0; k < path_conv_10_len; k++) {
+ const path_conv_10: bigint = bindings.getU64ArrayElem(path, k);
+ const path_conv_10_hu_conv: RouteHop = new RouteHop(null, path_conv_10);
+ CommonBase.add_ref_from(path_conv_10_hu_conv, this);
+ path_conv_10_arr[k] = path_conv_10_hu_conv;
+ }
+ bindings.freeWasmMemory(path)
+ arg.probe_successful(path_conv_10_arr);
+ },
write (): number {
const ret: Uint8Array = arg.write();
const result: number = bindings.encodeUint8Array(ret);
return result;
},
} as bindings.LDKScore;
- const ptr: number = bindings.LDKScore_new(structImplementation);
+ const ptr: bigint = bindings.LDKScore_new(structImplementation);
impl_holder.held = new Score(null, ptr);
impl_holder.held.bindings_instance = structImplementation;
* Thus, implementations should be overflow-safe.
*/
public channel_penalty_msat(short_channel_id: bigint, source: NodeId, target: NodeId, usage: ChannelUsage): bigint {
- const ret: bigint = bindings.Score_channel_penalty_msat(this.ptr, short_channel_id, source == null ? 0 : CommonBase.get_ptr_of(source) & ~1, target == null ? 0 : CommonBase.get_ptr_of(target) & ~1, usage == null ? 0 : CommonBase.get_ptr_of(usage) & ~1);
+ const ret: bigint = bindings.Score_channel_penalty_msat(this.ptr, short_channel_id, source == null ? 0n : CommonBase.get_ptr_of(source), target == null ? 0n : CommonBase.get_ptr_of(target), usage == null ? 0n : CommonBase.get_ptr_of(usage));
CommonBase.add_ref_from(this, source);
CommonBase.add_ref_from(this, target);
+ CommonBase.add_ref_from(this, usage);
return ret;
}
* Handles updating channel penalties after failing to route through a channel.
*/
public payment_path_failed(path: RouteHop[], short_channel_id: bigint): void {
- bindings.Score_payment_path_failed(this.ptr, bindings.encodeUint32Array(path != null ? path.map(path_conv_10 => path_conv_10 == null ? 0 : CommonBase.get_ptr_of(path_conv_10) & ~1) : null), short_channel_id);
+ bindings.Score_payment_path_failed(this.ptr, bindings.encodeUint64Array(path != null ? path.map(path_conv_10 => path_conv_10 == null ? 0n : CommonBase.get_ptr_of(path_conv_10)) : null), short_channel_id);
+ path.forEach((path_conv_10: RouteHop) => { CommonBase.add_ref_from(this, path_conv_10); });
}
/**
* Handles updating channel penalties after successfully routing along a path.
*/
public payment_path_successful(path: RouteHop[]): void {
- bindings.Score_payment_path_successful(this.ptr, bindings.encodeUint32Array(path != null ? path.map(path_conv_10 => path_conv_10 == null ? 0 : CommonBase.get_ptr_of(path_conv_10) & ~1) : null));
+ bindings.Score_payment_path_successful(this.ptr, bindings.encodeUint64Array(path != null ? path.map(path_conv_10 => path_conv_10 == null ? 0n : CommonBase.get_ptr_of(path_conv_10)) : null));
+ path.forEach((path_conv_10: RouteHop) => { CommonBase.add_ref_from(this, path_conv_10); });
+ }
+
+ /**
+ * Handles updating channel penalties after a probe over the given path failed.
+ */
+ public probe_failed(path: RouteHop[], short_channel_id: bigint): void {
+ bindings.Score_probe_failed(this.ptr, bindings.encodeUint64Array(path != null ? path.map(path_conv_10 => path_conv_10 == null ? 0n : CommonBase.get_ptr_of(path_conv_10)) : null), short_channel_id);
+ path.forEach((path_conv_10: RouteHop) => { CommonBase.add_ref_from(this, path_conv_10); });
+ }
+
+ /**
+ * Handles updating channel penalties after a probe over the given path succeeded.
+ */
+ public probe_successful(path: RouteHop[]): void {
+ bindings.Score_probe_successful(this.ptr, bindings.encodeUint64Array(path != null ? path.map(path_conv_10 => path_conv_10 == null ? 0n : CommonBase.get_ptr_of(path_conv_10)) : null));
+ path.forEach((path_conv_10: RouteHop) => { CommonBase.add_ref_from(this, path_conv_10); });
}
/**