UNPKG

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