lightningdevkit
Version:
Lightning Development Kit
67 lines • 2.44 kB
JavaScript
import { CommonBase } from './CommonBase.mjs';
import * as bindings from '../bindings.mjs';
/**
* A `enum` signalling to the [`OutputSweeper`] that it should delay spending an output until a
* future block height is reached.
*/
export class SpendingDelay extends CommonBase {
constructor(_dummy, ptr) { super(ptr, bindings.SpendingDelay_free); }
/* @internal */
static constr_from_ptr(ptr) {
const raw_ty = bindings.LDKSpendingDelay_ty_from_ptr(ptr);
switch (raw_ty) {
case 0: return new SpendingDelay_Relative(ptr);
case 1: return new SpendingDelay_Absolute(ptr);
default:
throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface
}
}
clone_ptr() {
const ret = bindings.SpendingDelay_clone_ptr(this.ptr);
return ret;
}
/**
* Creates a copy of the SpendingDelay
*/
clone() {
const ret = bindings.SpendingDelay_clone(this.ptr);
const ret_hu_conv = SpendingDelay.constr_from_ptr(ret);
CommonBase.add_ref_from(ret_hu_conv, this);
return ret_hu_conv;
}
/**
* Utility method to constructs a new Relative-variant SpendingDelay
*/
static constructor_relative(num_blocks) {
const ret = bindings.SpendingDelay_relative(num_blocks);
const ret_hu_conv = SpendingDelay.constr_from_ptr(ret);
CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
return ret_hu_conv;
}
/**
* Utility method to constructs a new Absolute-variant SpendingDelay
*/
static constructor_absolute(height) {
const ret = bindings.SpendingDelay_absolute(height);
const ret_hu_conv = SpendingDelay.constr_from_ptr(ret);
CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv);
return ret_hu_conv;
}
}
/** A SpendingDelay of type Relative */
export class SpendingDelay_Relative extends SpendingDelay {
/* @internal */
constructor(ptr) {
super(null, ptr);
this.num_blocks = bindings.LDKSpendingDelay_Relative_get_num_blocks(ptr);
}
}
/** A SpendingDelay of type Absolute */
export class SpendingDelay_Absolute extends SpendingDelay {
/* @internal */
constructor(ptr) {
super(null, ptr);
this.height = bindings.LDKSpendingDelay_Absolute_get_height(ptr);
}
}
//# sourceMappingURL=SpendingDelay.mjs.map