@atomiqlabs/sdk-lib
Version:
Basic SDK functionality library for atomiq
72 lines (71 loc) • 2.1 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
export type CoinselectAddressTypes = "p2sh-p2wpkh" | "p2wpkh" | "p2wsh" | "p2tr" | "p2pkh";
export type CoinselectTxInput = {
script?: Buffer;
txId: string;
vout: number;
type?: CoinselectAddressTypes;
value: number;
outputScript?: Buffer;
address?: string;
cpfp?: {
txVsize: number;
txEffectiveFeeRate: number;
};
};
export type CoinselectTxOutput = {
script?: Buffer;
address?: string;
type?: CoinselectAddressTypes;
value: number;
};
declare function inputBytes(input: {
script?: Buffer;
type?: CoinselectAddressTypes;
}): number;
declare function outputBytes(output: {
script?: Buffer;
type?: CoinselectAddressTypes;
}): number;
export declare const DUST_THRESHOLDS: {
"p2sh-p2wpkh": number;
p2wpkh: number;
p2tr: number;
p2pkh: number;
p2wsh: number;
};
declare function dustThreshold(output: {
script?: Buffer;
type: CoinselectAddressTypes;
}): number;
declare function transactionBytes(inputs: {
script?: Buffer;
type?: CoinselectAddressTypes;
}[], outputs: {
script?: Buffer;
type?: CoinselectAddressTypes;
}[], changeType: CoinselectAddressTypes): number;
declare function uintOrNaN(v: number): number;
declare function sumForgiving(range: {
value: number;
}[]): number;
declare function sumOrNaN(range: {
value: number;
}[]): number;
declare function finalize(inputs: CoinselectTxInput[], outputs: CoinselectTxOutput[], feeRate: number, changeType: CoinselectAddressTypes, cpfpAddFee?: number): {
inputs?: CoinselectTxInput[];
outputs?: CoinselectTxOutput[];
fee: number;
};
export declare const utils: {
dustThreshold: typeof dustThreshold;
finalize: typeof finalize;
inputBytes: typeof inputBytes;
outputBytes: typeof outputBytes;
sumOrNaN: typeof sumOrNaN;
sumForgiving: typeof sumForgiving;
transactionBytes: typeof transactionBytes;
uintOrNaN: typeof uintOrNaN;
};
export {};