X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=ldk-java;a=blobdiff_plain;f=ts%2Fstructs%2FChannelMonitorUpdate.mts;h=5dc515898cd0e1ffde29546e56bfb4c0f71e5ea0;hp=cebee7a6dc144af47db5b95b0e7ceb43f184701d;hb=c629a01650402c8e2f9b9db8ced9ed63ce687727;hpb=bf08029c1ad5244b59902eada723b634dcade62d diff --git a/ts/structs/ChannelMonitorUpdate.mts b/ts/structs/ChannelMonitorUpdate.mts index cebee7a6..5dc51589 100644 --- a/ts/structs/ChannelMonitorUpdate.mts +++ b/ts/structs/ChannelMonitorUpdate.mts @@ -279,21 +279,50 @@ import { MultiThreadedLockableScore } from '../structs/MultiThreadedLockableScor import CommonBase from './CommonBase.mjs'; import * as bindings from '../bindings.mjs' -import * as InternalUtils from '../InternalUtils.mjs' +/** + * An update generated by the underlying Channel itself which contains some new information the + * ChannelMonitor should be made aware of. + */ export class ChannelMonitorUpdate extends CommonBase { /* @internal */ public constructor(_dummy: object, ptr: number) { super(ptr, bindings.ChannelMonitorUpdate_free); } - public get_update_id(): number { - const ret: number = bindings.ChannelMonitorUpdate_get_update_id(this.ptr); + /** + * The sequence number of this update. Updates *must* be replayed in-order according to this + * sequence number (and updates may panic if they are not). The update_id values are strictly + * increasing and increase by one for each new update, with one exception specified below. + * + * This sequence number is also used to track up to which points updates which returned + * ChannelMonitorUpdateErr::TemporaryFailure have been applied to all copies of a given + * ChannelMonitor when ChannelManager::channel_monitor_updated is called. + * + * The only instance where update_id values are not strictly increasing is the case where we + * allow post-force-close updates with a special update ID of [`CLOSED_CHANNEL_UPDATE_ID`]. See + * its docs for more details. + */ + public get_update_id(): bigint { + const ret: bigint = bindings.ChannelMonitorUpdate_get_update_id(this.ptr); return ret; } - public set_update_id(val: number): void { + /** + * The sequence number of this update. Updates *must* be replayed in-order according to this + * sequence number (and updates may panic if they are not). The update_id values are strictly + * increasing and increase by one for each new update, with one exception specified below. + * + * This sequence number is also used to track up to which points updates which returned + * ChannelMonitorUpdateErr::TemporaryFailure have been applied to all copies of a given + * ChannelMonitor when ChannelManager::channel_monitor_updated is called. + * + * The only instance where update_id values are not strictly increasing is the case where we + * allow post-force-close updates with a special update ID of [`CLOSED_CHANNEL_UPDATE_ID`]. See + * its docs for more details. + */ + public set_update_id(val: bigint): void { bindings.ChannelMonitorUpdate_set_update_id(this.ptr, val); } @@ -302,6 +331,9 @@ export class ChannelMonitorUpdate extends CommonBase { return ret; } + /** + * Creates a copy of the ChannelMonitorUpdate + */ public clone(): ChannelMonitorUpdate { const ret: number = bindings.ChannelMonitorUpdate_clone(this.ptr); const ret_hu_conv: ChannelMonitorUpdate = new ChannelMonitorUpdate(null, ret); @@ -309,13 +341,20 @@ export class ChannelMonitorUpdate extends CommonBase { return ret_hu_conv; } + /** + * Serialize the ChannelMonitorUpdate object into a byte array which can be read by ChannelMonitorUpdate_read + */ public write(): Uint8Array { - const ret: Uint8Array = bindings.ChannelMonitorUpdate_write(this.ptr); - return ret; + const ret: number = bindings.ChannelMonitorUpdate_write(this.ptr); + const ret_conv: Uint8Array = bindings.decodeUint8Array(ret); + return ret_conv; } + /** + * Read a ChannelMonitorUpdate from a byte array, created by ChannelMonitorUpdate_write + */ public static constructor_read(ser: Uint8Array): Result_ChannelMonitorUpdateDecodeErrorZ { - const ret: number = bindings.ChannelMonitorUpdate_read(ser); + const ret: number = bindings.ChannelMonitorUpdate_read(bindings.encodeUint8Array(ser)); const ret_hu_conv: Result_ChannelMonitorUpdateDecodeErrorZ = Result_ChannelMonitorUpdateDecodeErrorZ.constr_from_ptr(ret); return ret_hu_conv; }