UNPKG

lightningdevkit

Version:
43 lines (42 loc) 1.64 kB
import { Result_BigSizeDecodeErrorZ } from '../structs/Result_BigSizeDecodeErrorZ.mjs'; import { CommonBase } from './CommonBase.mjs'; /** * Lightning TLV uses a custom variable-length integer called `BigSize`. It is similar to Bitcoin's * variable-length integers except that it is serialized in big-endian instead of little-endian. * * Like Bitcoin's variable-length integer, it exhibits ambiguity in that certain values can be * encoded in several different ways, which we must check for at deserialization-time. Thus, if * you're looking for an example of a variable-length integer to use for your own project, move * along, this is a rather poor design. */ export declare class BigSize extends CommonBase { get_a(): bigint; set_a(val: bigint): void; /** * Constructs a new BigSize given each field */ static constructor_new(a_arg: bigint): BigSize; clone_ptr(): bigint; /** * Creates a copy of the BigSize */ clone(): BigSize; /** * Generates a non-cryptographic 64-bit hash of the BigSize. */ hash(): bigint; /** * Checks if two BigSizes 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: BigSize): boolean; /** * Serialize the BigSize object into a byte array which can be read by BigSize_read */ write(): Uint8Array; /** * Read a BigSize from a byte array, created by BigSize_write */ static constructor_read(ser: Uint8Array): Result_BigSizeDecodeErrorZ; }