@coolwallet/btc
Version:
Coolwallet Bitcoin sdk
65 lines (57 loc) • 1.16 kB
text/typescript
import { Transport } from '@coolwallet/core';
export { Transport };
export type Callback = () => void;
export type signTxType = {
transport: Transport;
appPrivateKey: string;
appId: string;
scriptType: ScriptType;
inputs: Input[];
output: Output;
change?: Change;
version?: number;
confirmCB?: Callback;
authorizedCB?: Callback;
};
export type Input = {
preTxHash: string;
preIndex: number;
preValue: string;
sequence?: number;
addressIndex: number;
pubkeyBuf?: Buffer;
purposeIndex?: number;
};
export type Output = {
value: string;
address: string;
};
export type Change = {
value: string;
addressIndex: number;
pubkeyBuf?: Buffer;
purposeIndex?: number;
};
export type PreparedData = {
versionBuf: Buffer;
inputsCount: Buffer;
preparedInputs: {
addressIndex: number;
pubkeyBuf: Buffer;
preOutPointBuf: Buffer;
preValueBuf: Buffer;
sequenceBuf: Buffer;
purposeIndex?: number;
}[];
outputType: ScriptType;
outputsCount: Buffer;
outputsBuf: Buffer;
lockTimeBuf: Buffer;
};
export enum ScriptType {
P2PKH = 0,
P2SH_P2WPKH = 1,
P2WPKH = 2,
P2WSH = 3,
P2TR = 4,
}