X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=ts%2Fstructs%2FScore.mts;h=0312462cd1f8c86b5d2b145878ee6071effb2749;hb=31a1b84c2ca25db2978865e9ca9573974f79cc79;hp=0bb60c15a19d85dd4f774287f14f252221017811;hpb=293bcee787de3eb181b82175a1784a4ef311e012;p=ldk-java diff --git a/ts/structs/Score.mts b/ts/structs/Score.mts index 0bb60c15..0312462c 100644 --- a/ts/structs/Score.mts +++ b/ts/structs/Score.mts @@ -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'; @@ -372,6 +376,12 @@ export interface ScoreInterface { /**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; @@ -391,7 +401,7 @@ export class Score extends CommonBase { 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; } @@ -400,7 +410,7 @@ export class Score extends CommonBase { 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); @@ -412,7 +422,7 @@ export class Score extends CommonBase { 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; @@ -424,7 +434,7 @@ export class Score extends CommonBase { 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; @@ -432,13 +442,37 @@ export class Score extends CommonBase { 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; @@ -456,9 +490,10 @@ export class Score extends CommonBase { * 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; } @@ -466,14 +501,32 @@ export class Score extends CommonBase { * 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); }); } /**