@ledgerhq/hw-app-btc 10.16.0-nightly.20260116024452 → 10.16.0-nightly.20260116124336
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -3
- package/README.md +106 -56
- package/lib/Btc.d.ts +37 -0
- package/lib/Btc.d.ts.map +1 -1
- package/lib/Btc.js +30 -2
- package/lib/Btc.js.map +1 -1
- package/lib/BtcNew.d.ts +84 -0
- package/lib/BtcNew.d.ts.map +1 -1
- package/lib/BtcNew.js +326 -9
- package/lib/BtcNew.js.map +1 -1
- package/lib/createTransaction.d.ts.map +1 -1
- package/lib/createTransaction.js +3 -2
- package/lib/createTransaction.js.map +1 -1
- package/lib/getTrustedInputBIP143.d.ts +1 -2
- package/lib/getTrustedInputBIP143.d.ts.map +1 -1
- package/lib/getTrustedInputBIP143.js +1 -1
- package/lib/getTrustedInputBIP143.js.map +1 -1
- package/lib/newops/accounttype.d.ts +3 -3
- package/lib/newops/accounttype.d.ts.map +1 -1
- package/lib/newops/accounttype.js +15 -14
- package/lib/newops/accounttype.js.map +1 -1
- package/lib/newops/appClient.d.ts +1 -1
- package/lib/newops/appClient.d.ts.map +1 -1
- package/lib/newops/clientCommands.js +2 -2
- package/lib/newops/clientCommands.js.map +1 -1
- package/lib/newops/merkelizedPsbt.d.ts +1 -1
- package/lib/newops/merkelizedPsbt.d.ts.map +1 -1
- package/lib/newops/merkelizedPsbt.js +1 -1
- package/lib/newops/merkelizedPsbt.js.map +1 -1
- package/lib/newops/policy.js +2 -2
- package/lib/newops/policy.js.map +1 -1
- package/lib/newops/psbtExtractor.d.ts +1 -1
- package/lib/newops/psbtExtractor.d.ts.map +1 -1
- package/lib/newops/psbtExtractor.js +3 -3
- package/lib/newops/psbtExtractor.js.map +1 -1
- package/lib/newops/psbtFinalizer.d.ts +1 -1
- package/lib/newops/psbtFinalizer.d.ts.map +1 -1
- package/lib/newops/psbtFinalizer.js +5 -6
- package/lib/newops/psbtFinalizer.js.map +1 -1
- package/lib/signP2SHTransaction.d.ts.map +1 -1
- package/lib/signP2SHTransaction.js +3 -2
- package/lib/signP2SHTransaction.js.map +1 -1
- package/lib-es/Btc.d.ts +37 -0
- package/lib-es/Btc.d.ts.map +1 -1
- package/lib-es/Btc.js +30 -2
- package/lib-es/Btc.js.map +1 -1
- package/lib-es/BtcNew.d.ts +84 -0
- package/lib-es/BtcNew.d.ts.map +1 -1
- package/lib-es/BtcNew.js +325 -8
- package/lib-es/BtcNew.js.map +1 -1
- package/lib-es/createTransaction.d.ts.map +1 -1
- package/lib-es/createTransaction.js +3 -2
- package/lib-es/createTransaction.js.map +1 -1
- package/lib-es/getTrustedInputBIP143.d.ts +1 -2
- package/lib-es/getTrustedInputBIP143.d.ts.map +1 -1
- package/lib-es/getTrustedInputBIP143.js +1 -1
- package/lib-es/getTrustedInputBIP143.js.map +1 -1
- package/lib-es/newops/accounttype.d.ts +3 -3
- package/lib-es/newops/accounttype.d.ts.map +1 -1
- package/lib-es/newops/accounttype.js +11 -10
- package/lib-es/newops/accounttype.js.map +1 -1
- package/lib-es/newops/appClient.d.ts +1 -1
- package/lib-es/newops/appClient.d.ts.map +1 -1
- package/lib-es/newops/clientCommands.js +1 -1
- package/lib-es/newops/clientCommands.js.map +1 -1
- package/lib-es/newops/merkelizedPsbt.d.ts +1 -1
- package/lib-es/newops/merkelizedPsbt.d.ts.map +1 -1
- package/lib-es/newops/merkelizedPsbt.js +1 -1
- package/lib-es/newops/merkelizedPsbt.js.map +1 -1
- package/lib-es/newops/policy.js +1 -1
- package/lib-es/newops/policy.js.map +1 -1
- package/lib-es/newops/psbtExtractor.d.ts +1 -1
- package/lib-es/newops/psbtExtractor.d.ts.map +1 -1
- package/lib-es/newops/psbtExtractor.js +1 -1
- package/lib-es/newops/psbtExtractor.js.map +1 -1
- package/lib-es/newops/psbtFinalizer.d.ts +1 -1
- package/lib-es/newops/psbtFinalizer.d.ts.map +1 -1
- package/lib-es/newops/psbtFinalizer.js +1 -2
- package/lib-es/newops/psbtFinalizer.js.map +1 -1
- package/lib-es/signP2SHTransaction.d.ts.map +1 -1
- package/lib-es/signP2SHTransaction.js +3 -2
- package/lib-es/signP2SHTransaction.js.map +1 -1
- package/package.json +6 -6
- package/src/Btc.ts +41 -2
- package/src/BtcNew.ts +483 -9
- package/src/createTransaction.ts +4 -3
- package/src/getTrustedInputBIP143.ts +0 -2
- package/src/newops/accounttype.ts +11 -12
- package/src/newops/appClient.ts +1 -1
- package/src/newops/clientCommands.ts +1 -1
- package/src/newops/merkelizedPsbt.ts +1 -1
- package/src/newops/policy.ts +1 -1
- package/src/newops/psbtExtractor.ts +1 -2
- package/src/newops/psbtFinalizer.ts +1 -2
- package/src/signP2SHTransaction.ts +3 -2
- package/tests/Btc.test.ts +848 -20
- package/tests/newops/BtcNew.signMessage.test.ts +35 -0
- package/tests/newops/BtcNew.signPsbtBuffer.test.ts +391 -0
- package/tests/newops/BtcNew.test.ts +13 -1
- package/tests/newops/integrationtools.ts +1 -1
- package/lib/buffertools.d.ts +0 -31
- package/lib/buffertools.d.ts.map +0 -1
- package/lib/buffertools.js +0 -129
- package/lib/buffertools.js.map +0 -1
- package/lib/newops/psbtv2.d.ts +0 -150
- package/lib/newops/psbtv2.d.ts.map +0 -1
- package/lib/newops/psbtv2.js +0 -469
- package/lib/newops/psbtv2.js.map +0 -1
- package/lib-es/buffertools.d.ts +0 -31
- package/lib-es/buffertools.d.ts.map +0 -1
- package/lib-es/buffertools.js +0 -119
- package/lib-es/buffertools.js.map +0 -1
- package/lib-es/newops/psbtv2.d.ts +0 -150
- package/lib-es/newops/psbtv2.d.ts.map +0 -1
- package/lib-es/newops/psbtv2.js +0 -464
- package/lib-es/newops/psbtv2.js.map +0 -1
- package/src/buffertools.ts +0 -137
- package/src/newops/psbtv2.ts +0 -525
- package/tests/buffertools.test.ts +0 -25
- package/tests/newops/psbtv2.test.ts +0 -15
package/lib-es/buffertools.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
export declare function unsafeTo64bitLE(n: number): Buffer;
|
|
4
|
-
export declare function unsafeFrom64bitLE(byteArray: Buffer): number;
|
|
5
|
-
export declare class BufferWriter {
|
|
6
|
-
private bufs;
|
|
7
|
-
write(alloc: number, fn: (b: Buffer) => void): void;
|
|
8
|
-
writeUInt8(i: number): void;
|
|
9
|
-
writeInt32(i: number): void;
|
|
10
|
-
writeUInt32(i: number): void;
|
|
11
|
-
writeUInt64(i: number): void;
|
|
12
|
-
writeVarInt(i: number): void;
|
|
13
|
-
writeSlice(slice: Buffer): void;
|
|
14
|
-
writeVarSlice(slice: Buffer): void;
|
|
15
|
-
buffer(): Buffer;
|
|
16
|
-
}
|
|
17
|
-
export declare class BufferReader {
|
|
18
|
-
buffer: Buffer;
|
|
19
|
-
offset: number;
|
|
20
|
-
constructor(buffer: Buffer, offset?: number);
|
|
21
|
-
available(): number;
|
|
22
|
-
readUInt8(): number;
|
|
23
|
-
readInt32(): number;
|
|
24
|
-
readUInt32(): number;
|
|
25
|
-
readUInt64(): number;
|
|
26
|
-
readVarInt(): number;
|
|
27
|
-
readSlice(n: number): Buffer;
|
|
28
|
-
readVarSlice(): Buffer;
|
|
29
|
-
readVector(): Buffer[];
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=buffertools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buffertools.d.ts","sourceRoot":"","sources":["../src/buffertools.ts"],"names":[],"mappings":";;AAEA,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAYjD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAe3D;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAgB;IAE5B,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAMnD,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3B,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3B,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5B,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK5B,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC,MAAM,IAAI,MAAM;CAGjB;AAED,qBAAa,YAAY;IAEd,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;gBADd,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAU;IAG3B,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IAMnB,SAAS,IAAI,MAAM;IAMnB,UAAU,IAAI,MAAM;IAMpB,UAAU,IAAI,MAAM;IAMpB,UAAU,IAAI,MAAM;IAMpB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAS5B,YAAY,IAAI,MAAM;IAItB,UAAU,IAAI,MAAM,EAAE;CAMvB"}
|
package/lib-es/buffertools.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import varuint from "varuint-bitcoin";
|
|
2
|
-
export function unsafeTo64bitLE(n) {
|
|
3
|
-
// we want to represent the input as a 8-bytes array
|
|
4
|
-
if (n > Number.MAX_SAFE_INTEGER) {
|
|
5
|
-
throw new Error("Can't convert numbers > MAX_SAFE_INT");
|
|
6
|
-
}
|
|
7
|
-
const byteArray = Buffer.alloc(8, 0);
|
|
8
|
-
for (let index = 0; index < byteArray.length; index++) {
|
|
9
|
-
const byte = n & 0xff;
|
|
10
|
-
byteArray[index] = byte;
|
|
11
|
-
n = (n - byte) / 256;
|
|
12
|
-
}
|
|
13
|
-
return byteArray;
|
|
14
|
-
}
|
|
15
|
-
export function unsafeFrom64bitLE(byteArray) {
|
|
16
|
-
let value = 0;
|
|
17
|
-
if (byteArray.length != 8) {
|
|
18
|
-
throw new Error("Expected Bufffer of lenght 8");
|
|
19
|
-
}
|
|
20
|
-
if (byteArray[7] != 0) {
|
|
21
|
-
throw new Error("Can't encode numbers > MAX_SAFE_INT");
|
|
22
|
-
}
|
|
23
|
-
if (byteArray[6] > 0x1f) {
|
|
24
|
-
throw new Error("Can't encode numbers > MAX_SAFE_INT");
|
|
25
|
-
}
|
|
26
|
-
for (let i = byteArray.length - 1; i >= 0; i--) {
|
|
27
|
-
value = value * 256 + byteArray[i];
|
|
28
|
-
}
|
|
29
|
-
return value;
|
|
30
|
-
}
|
|
31
|
-
export class BufferWriter {
|
|
32
|
-
bufs = [];
|
|
33
|
-
write(alloc, fn) {
|
|
34
|
-
const b = Buffer.alloc(alloc);
|
|
35
|
-
fn(b);
|
|
36
|
-
this.bufs.push(b);
|
|
37
|
-
}
|
|
38
|
-
writeUInt8(i) {
|
|
39
|
-
this.write(1, b => b.writeUInt8(i, 0));
|
|
40
|
-
}
|
|
41
|
-
writeInt32(i) {
|
|
42
|
-
this.write(4, b => b.writeInt32LE(i, 0));
|
|
43
|
-
}
|
|
44
|
-
writeUInt32(i) {
|
|
45
|
-
this.write(4, b => b.writeUInt32LE(i, 0));
|
|
46
|
-
}
|
|
47
|
-
writeUInt64(i) {
|
|
48
|
-
const bytes = unsafeTo64bitLE(i);
|
|
49
|
-
this.writeSlice(bytes);
|
|
50
|
-
}
|
|
51
|
-
writeVarInt(i) {
|
|
52
|
-
this.bufs.push(varuint.encode(i));
|
|
53
|
-
}
|
|
54
|
-
writeSlice(slice) {
|
|
55
|
-
this.bufs.push(Buffer.from(slice));
|
|
56
|
-
}
|
|
57
|
-
writeVarSlice(slice) {
|
|
58
|
-
this.writeVarInt(slice.length);
|
|
59
|
-
this.writeSlice(slice);
|
|
60
|
-
}
|
|
61
|
-
buffer() {
|
|
62
|
-
return Buffer.concat(this.bufs);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
export class BufferReader {
|
|
66
|
-
buffer;
|
|
67
|
-
offset;
|
|
68
|
-
constructor(buffer, offset = 0) {
|
|
69
|
-
this.buffer = buffer;
|
|
70
|
-
this.offset = offset;
|
|
71
|
-
}
|
|
72
|
-
available() {
|
|
73
|
-
return this.buffer.length - this.offset;
|
|
74
|
-
}
|
|
75
|
-
readUInt8() {
|
|
76
|
-
const result = this.buffer.readUInt8(this.offset);
|
|
77
|
-
this.offset++;
|
|
78
|
-
return result;
|
|
79
|
-
}
|
|
80
|
-
readInt32() {
|
|
81
|
-
const result = this.buffer.readInt32LE(this.offset);
|
|
82
|
-
this.offset += 4;
|
|
83
|
-
return result;
|
|
84
|
-
}
|
|
85
|
-
readUInt32() {
|
|
86
|
-
const result = this.buffer.readUInt32LE(this.offset);
|
|
87
|
-
this.offset += 4;
|
|
88
|
-
return result;
|
|
89
|
-
}
|
|
90
|
-
readUInt64() {
|
|
91
|
-
const buf = this.readSlice(8);
|
|
92
|
-
const n = unsafeFrom64bitLE(buf);
|
|
93
|
-
return n;
|
|
94
|
-
}
|
|
95
|
-
readVarInt() {
|
|
96
|
-
const vi = varuint.decode(this.buffer, this.offset);
|
|
97
|
-
this.offset += varuint.decode.bytes;
|
|
98
|
-
return vi;
|
|
99
|
-
}
|
|
100
|
-
readSlice(n) {
|
|
101
|
-
if (this.buffer.length < this.offset + n) {
|
|
102
|
-
throw new Error("Cannot read slice out of bounds");
|
|
103
|
-
}
|
|
104
|
-
const result = this.buffer.slice(this.offset, this.offset + n);
|
|
105
|
-
this.offset += n;
|
|
106
|
-
return result;
|
|
107
|
-
}
|
|
108
|
-
readVarSlice() {
|
|
109
|
-
return this.readSlice(this.readVarInt());
|
|
110
|
-
}
|
|
111
|
-
readVector() {
|
|
112
|
-
const count = this.readVarInt();
|
|
113
|
-
const vector = [];
|
|
114
|
-
for (let i = 0; i < count; i++)
|
|
115
|
-
vector.push(this.readVarSlice());
|
|
116
|
-
return vector;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=buffertools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buffertools.js","sourceRoot":"","sources":["../src/buffertools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
export declare enum psbtGlobal {
|
|
4
|
-
TX_VERSION = 2,
|
|
5
|
-
FALLBACK_LOCKTIME = 3,
|
|
6
|
-
INPUT_COUNT = 4,
|
|
7
|
-
OUTPUT_COUNT = 5,
|
|
8
|
-
TX_MODIFIABLE = 6,
|
|
9
|
-
VERSION = 251
|
|
10
|
-
}
|
|
11
|
-
export declare enum psbtIn {
|
|
12
|
-
NON_WITNESS_UTXO = 0,
|
|
13
|
-
WITNESS_UTXO = 1,
|
|
14
|
-
PARTIAL_SIG = 2,
|
|
15
|
-
SIGHASH_TYPE = 3,
|
|
16
|
-
REDEEM_SCRIPT = 4,
|
|
17
|
-
BIP32_DERIVATION = 6,
|
|
18
|
-
FINAL_SCRIPTSIG = 7,
|
|
19
|
-
FINAL_SCRIPTWITNESS = 8,
|
|
20
|
-
PREVIOUS_TXID = 14,
|
|
21
|
-
OUTPUT_INDEX = 15,
|
|
22
|
-
SEQUENCE = 16,
|
|
23
|
-
TAP_KEY_SIG = 19,
|
|
24
|
-
TAP_BIP32_DERIVATION = 22
|
|
25
|
-
}
|
|
26
|
-
export declare enum psbtOut {
|
|
27
|
-
REDEEM_SCRIPT = 0,
|
|
28
|
-
BIP_32_DERIVATION = 2,
|
|
29
|
-
AMOUNT = 3,
|
|
30
|
-
SCRIPT = 4,
|
|
31
|
-
TAP_BIP32_DERIVATION = 7
|
|
32
|
-
}
|
|
33
|
-
export declare class NoSuchEntry extends Error {
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Implements Partially Signed Bitcoin Transaction version 2, BIP370, as
|
|
37
|
-
* documented at https://github.com/bitcoin/bips/blob/master/bip-0370.mediawiki
|
|
38
|
-
* and https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
|
|
39
|
-
*
|
|
40
|
-
* A psbt is a data structure that can carry all relevant information about a
|
|
41
|
-
* transaction through all stages of the signing process. From constructing an
|
|
42
|
-
* unsigned transaction to extracting the final serialized transaction ready for
|
|
43
|
-
* broadcast.
|
|
44
|
-
*
|
|
45
|
-
* This implementation is limited to what's needed in ledgerjs to carry out its
|
|
46
|
-
* duties, which means that support for features like multisig or taproot script
|
|
47
|
-
* path spending are not implemented. Specifically, it supports p2pkh,
|
|
48
|
-
* p2wpkhWrappedInP2sh, p2wpkh and p2tr key path spending.
|
|
49
|
-
*
|
|
50
|
-
* This class is made purposefully dumb, so it's easy to add support for
|
|
51
|
-
* complemantary fields as needed in the future.
|
|
52
|
-
*/
|
|
53
|
-
export declare class PsbtV2 {
|
|
54
|
-
protected globalMap: Map<string, Buffer>;
|
|
55
|
-
protected inputMaps: Map<string, Buffer>[];
|
|
56
|
-
protected outputMaps: Map<string, Buffer>[];
|
|
57
|
-
setGlobalTxVersion(version: number): void;
|
|
58
|
-
getGlobalTxVersion(): number;
|
|
59
|
-
setGlobalFallbackLocktime(locktime: number): void;
|
|
60
|
-
getGlobalFallbackLocktime(): number | undefined;
|
|
61
|
-
setGlobalInputCount(inputCount: number): void;
|
|
62
|
-
getGlobalInputCount(): number;
|
|
63
|
-
setGlobalOutputCount(outputCount: number): void;
|
|
64
|
-
getGlobalOutputCount(): number;
|
|
65
|
-
setGlobalTxModifiable(byte: Buffer): void;
|
|
66
|
-
getGlobalTxModifiable(): Buffer | undefined;
|
|
67
|
-
setGlobalPsbtVersion(psbtVersion: number): void;
|
|
68
|
-
getGlobalPsbtVersion(): number;
|
|
69
|
-
setInputNonWitnessUtxo(inputIndex: number, transaction: Buffer): void;
|
|
70
|
-
getInputNonWitnessUtxo(inputIndex: number): Buffer | undefined;
|
|
71
|
-
setInputWitnessUtxo(inputIndex: number, amount: Buffer, scriptPubKey: Buffer): void;
|
|
72
|
-
getInputWitnessUtxo(inputIndex: number): {
|
|
73
|
-
amount: Buffer;
|
|
74
|
-
scriptPubKey: Buffer;
|
|
75
|
-
} | undefined;
|
|
76
|
-
setInputPartialSig(inputIndex: number, pubkey: Buffer, signature: Buffer): void;
|
|
77
|
-
getInputPartialSig(inputIndex: number, pubkey: Buffer): Buffer | undefined;
|
|
78
|
-
setInputSighashType(inputIndex: number, sigHashtype: number): void;
|
|
79
|
-
getInputSighashType(inputIndex: number): number | undefined;
|
|
80
|
-
setInputRedeemScript(inputIndex: number, redeemScript: Buffer): void;
|
|
81
|
-
getInputRedeemScript(inputIndex: number): Buffer | undefined;
|
|
82
|
-
setInputBip32Derivation(inputIndex: number, pubkey: Buffer, masterFingerprint: Buffer, path: number[]): void;
|
|
83
|
-
getInputBip32Derivation(inputIndex: number, pubkey: Buffer): {
|
|
84
|
-
masterFingerprint: Buffer;
|
|
85
|
-
path: number[];
|
|
86
|
-
} | undefined;
|
|
87
|
-
setInputFinalScriptsig(inputIndex: number, scriptSig: Buffer): void;
|
|
88
|
-
getInputFinalScriptsig(inputIndex: number): Buffer | undefined;
|
|
89
|
-
setInputFinalScriptwitness(inputIndex: number, scriptWitness: Buffer): void;
|
|
90
|
-
getInputFinalScriptwitness(inputIndex: number): Buffer;
|
|
91
|
-
setInputPreviousTxId(inputIndex: number, txid: Buffer): void;
|
|
92
|
-
getInputPreviousTxid(inputIndex: number): Buffer;
|
|
93
|
-
setInputOutputIndex(inputIndex: number, outputIndex: number): void;
|
|
94
|
-
getInputOutputIndex(inputIndex: number): number;
|
|
95
|
-
setInputSequence(inputIndex: number, sequence: number): void;
|
|
96
|
-
getInputSequence(inputIndex: number): number;
|
|
97
|
-
setInputTapKeySig(inputIndex: number, sig: Buffer): void;
|
|
98
|
-
getInputTapKeySig(inputIndex: number): Buffer | undefined;
|
|
99
|
-
setInputTapBip32Derivation(inputIndex: number, pubkey: Buffer, hashes: Buffer[], masterFingerprint: Buffer, path: number[]): void;
|
|
100
|
-
getInputTapBip32Derivation(inputIndex: number, pubkey: Buffer): {
|
|
101
|
-
hashes: Buffer[];
|
|
102
|
-
masterFingerprint: Buffer;
|
|
103
|
-
path: number[];
|
|
104
|
-
};
|
|
105
|
-
getInputKeyDatas(inputIndex: number, keyType: KeyType): Buffer[];
|
|
106
|
-
setOutputRedeemScript(outputIndex: number, redeemScript: Buffer): void;
|
|
107
|
-
getOutputRedeemScript(outputIndex: number): Buffer;
|
|
108
|
-
setOutputBip32Derivation(outputIndex: number, pubkey: Buffer, masterFingerprint: Buffer, path: number[]): void;
|
|
109
|
-
getOutputBip32Derivation(outputIndex: number, pubkey: Buffer): {
|
|
110
|
-
masterFingerprint: Buffer;
|
|
111
|
-
path: number[];
|
|
112
|
-
};
|
|
113
|
-
setOutputAmount(outputIndex: number, amount: number): void;
|
|
114
|
-
getOutputAmount(outputIndex: number): number;
|
|
115
|
-
setOutputScript(outputIndex: number, scriptPubKey: Buffer): void;
|
|
116
|
-
getOutputScript(outputIndex: number): Buffer;
|
|
117
|
-
setOutputTapBip32Derivation(outputIndex: number, pubkey: Buffer, hashes: Buffer[], fingerprint: Buffer, path: number[]): void;
|
|
118
|
-
getOutputTapBip32Derivation(outputIndex: number, pubkey: Buffer): {
|
|
119
|
-
hashes: Buffer[];
|
|
120
|
-
masterFingerprint: Buffer;
|
|
121
|
-
path: number[];
|
|
122
|
-
};
|
|
123
|
-
deleteInputEntries(inputIndex: number, keyTypes: psbtIn[]): void;
|
|
124
|
-
copy(to: PsbtV2): void;
|
|
125
|
-
copyMaps(from: Map<string, Buffer>[], to: Map<string, Buffer>[]): void;
|
|
126
|
-
copyMap(from: Map<string, Buffer>, to: Map<string, Buffer>): void;
|
|
127
|
-
serialize(): Buffer;
|
|
128
|
-
deserialize(psbt: Buffer): void;
|
|
129
|
-
private readKeyPair;
|
|
130
|
-
private getKeyDatas;
|
|
131
|
-
private isKeyType;
|
|
132
|
-
private setGlobal;
|
|
133
|
-
private getGlobal;
|
|
134
|
-
private getGlobalOptional;
|
|
135
|
-
private setInput;
|
|
136
|
-
private getInput;
|
|
137
|
-
private getInputOptional;
|
|
138
|
-
private setOutput;
|
|
139
|
-
private getOutput;
|
|
140
|
-
private getMap;
|
|
141
|
-
private encodeBip32Derivation;
|
|
142
|
-
private decodeBip32Derivation;
|
|
143
|
-
private writeBip32Derivation;
|
|
144
|
-
private readBip32Derivation;
|
|
145
|
-
private encodeTapBip32Derivation;
|
|
146
|
-
private decodeTapBip32Derivation;
|
|
147
|
-
}
|
|
148
|
-
type KeyType = number;
|
|
149
|
-
export {};
|
|
150
|
-
//# sourceMappingURL=psbtv2.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"psbtv2.d.ts","sourceRoot":"","sources":["../../src/newops/psbtv2.ts"],"names":[],"mappings":"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"}
|