lightningdevkit
Version:
Lightning Development Kit
102 lines (101 loc) • 4.1 kB
text/typescript
import { Result_NoneNoneZ } from '../structs/Result_NoneNoneZ.mjs';
import { Result_BlindedHopFeaturesDecodeErrorZ } from '../structs/Result_BlindedHopFeaturesDecodeErrorZ.mjs';
import { CommonBase } from './CommonBase.mjs';
/**
* Features used within BOLT 4 encrypted_data_tlv and BOLT 12 blinded_payinfo
*/
export declare class BlindedHopFeatures extends CommonBase {
/**
* Serialize the BlindedHopFeatures object into a byte array which can be read by BlindedHopFeatures_read
*/
write(): Uint8Array;
/**
* Read a BlindedHopFeatures from a byte array, created by BlindedHopFeatures_write
*/
static constructor_read(ser: Uint8Array): Result_BlindedHopFeaturesDecodeErrorZ;
/**
* Checks if two BlindedHopFeaturess contain equal inner contents.
* This ignores pointers and is_owned flags and looks at the values in fields.
* Two objects with NULL inner values will be considered "equal" here.
*/
eq(b: BlindedHopFeatures): boolean;
clone_ptr(): bigint;
/**
* Creates a copy of the BlindedHopFeatures
*/
clone(): BlindedHopFeatures;
/**
* Generates a non-cryptographic 64-bit hash of the BlindedHopFeatures.
*/
hash(): bigint;
/**
* Create a blank Features with no features set
*/
static constructor_empty(): BlindedHopFeatures;
/**
* Returns the feature set as a list of bytes, in little-endian. This is in reverse byte order
* from most on-the-wire encodings.
*/
le_flags(): Uint8Array;
/**
* Returns true if this `Features` has any optional flags set
*/
supports_any_optional_bits(): boolean;
/**
* Returns true if this `Features` object contains required features unknown by `other`.
*/
requires_unknown_bits_from(other: BlindedHopFeatures): boolean;
/**
* Returns the set of required features unknown by `other`, as their bit position.
*/
required_unknown_bits_from(other: BlindedHopFeatures): BigUint64Array;
/**
* Returns true if this `Features` object contains unknown feature flags which are set as
* \"required\".
*/
requires_unknown_bits(): boolean;
/**
* Returns true if this `Features` supports any bits which we do not know of
*/
supports_unknown_bits(): boolean;
/**
* Sets a required feature bit. Errors if `bit` is outside the feature range as defined
* by [BOLT 9].
*
* Note: Required bits are even. If an odd bit is given, then the corresponding even bit will
* be set instead (i.e., `bit - 1`).
*
* [BOLT 9]: https://github.com/lightning/bolts/blob/master/09-features.md
*/
set_required_feature_bit(bit: number): Result_NoneNoneZ;
/**
* Sets an optional feature bit. Errors if `bit` is outside the feature range as defined
* by [BOLT 9].
*
* Note: Optional bits are odd. If an even bit is given, then the corresponding odd bit will be
* set instead (i.e., `bit + 1`).
*
* [BOLT 9]: https://github.com/lightning/bolts/blob/master/09-features.md
*/
set_optional_feature_bit(bit: number): Result_NoneNoneZ;
/**
* Sets a required custom feature bit. Errors if `bit` is outside the custom range as defined
* by [bLIP 2] or if it is a known `T` feature.
*
* Note: Required bits are even. If an odd bit is given, then the corresponding even bit will
* be set instead (i.e., `bit - 1`).
*
* [bLIP 2]: https://github.com/lightning/blips/blob/master/blip-0002.md#feature-bits
*/
set_required_custom_bit(bit: number): Result_NoneNoneZ;
/**
* Sets an optional custom feature bit. Errors if `bit` is outside the custom range as defined
* by [bLIP 2] or if it is a known `T` feature.
*
* Note: Optional bits are odd. If an even bit is given, then the corresponding odd bit will be
* set instead (i.e., `bit + 1`).
*
* [bLIP 2]: https://github.com/lightning/blips/blob/master/blip-0002.md#feature-bits
*/
set_optional_custom_bit(bit: number): Result_NoneNoneZ;
}