UNPKG

2.27 kBTypeScriptView Raw
1/// <reference types="node" />
2export interface Output {
3 script: Buffer;
4 value: number;
5}
6export interface Input {
7 hash: Buffer;
8 index: number;
9 script: Buffer;
10 sequence: number;
11 witness: Buffer[];
12}
13export declare class Transaction {
14 static readonly DEFAULT_SEQUENCE = 4294967295;
15 static readonly SIGHASH_DEFAULT = 0;
16 static readonly SIGHASH_ALL = 1;
17 static readonly SIGHASH_NONE = 2;
18 static readonly SIGHASH_SINGLE = 3;
19 static readonly SIGHASH_ANYONECANPAY = 128;
20 static readonly SIGHASH_OUTPUT_MASK = 3;
21 static readonly SIGHASH_INPUT_MASK = 128;
22 static readonly ADVANCED_TRANSACTION_MARKER = 0;
23 static readonly ADVANCED_TRANSACTION_FLAG = 1;
24 static fromBuffer(buffer: Buffer, _NO_STRICT?: boolean): Transaction;
25 static fromHex(hex: string): Transaction;
26 static isCoinbaseHash(buffer: Buffer): boolean;
27 version: number;
28 locktime: number;
29 ins: Input[];
30 outs: Output[];
31 isCoinbase(): boolean;
32 addInput(hash: Buffer, index: number, sequence?: number, scriptSig?: Buffer): number;
33 addOutput(scriptPubKey: Buffer, value: number): number;
34 hasWitnesses(): boolean;
35 weight(): number;
36 virtualSize(): number;
37 byteLength(_ALLOW_WITNESS?: boolean): number;
38 clone(): Transaction;
39 /**
40 * Hash transaction for signing a specific input.
41 *
42 * Bitcoin uses a different hash for each signed transaction input.
43 * This method copies the transaction, makes the necessary changes based on the
44 * hashType, and then hashes the result.
45 * This hash can then be used to sign the provided transaction input.
46 */
47 hashForSignature(inIndex: number, prevOutScript: Buffer, hashType: number): Buffer;
48 hashForWitnessV1(inIndex: number, prevOutScripts: Buffer[], values: number[], hashType: number, leafHash?: Buffer, annex?: Buffer): Buffer;
49 hashForWitnessV0(inIndex: number, prevOutScript: Buffer, value: number, hashType: number): Buffer;
50 getHash(forWitness?: boolean): Buffer;
51 getId(): string;
52 toBuffer(buffer?: Buffer, initialOffset?: number): Buffer;
53 toHex(): string;
54 setInputScript(index: number, scriptSig: Buffer): void;
55 setWitness(index: number, witness: Buffer[]): void;
56 private __toBuffer;
57}