@ledgerhq/hw-app-btc 10.16.0-nightly.20260115024415 → 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.
Files changed (120) hide show
  1. package/CHANGELOG.md +5 -3
  2. package/README.md +106 -56
  3. package/lib/Btc.d.ts +37 -0
  4. package/lib/Btc.d.ts.map +1 -1
  5. package/lib/Btc.js +30 -2
  6. package/lib/Btc.js.map +1 -1
  7. package/lib/BtcNew.d.ts +84 -0
  8. package/lib/BtcNew.d.ts.map +1 -1
  9. package/lib/BtcNew.js +326 -9
  10. package/lib/BtcNew.js.map +1 -1
  11. package/lib/createTransaction.d.ts.map +1 -1
  12. package/lib/createTransaction.js +3 -2
  13. package/lib/createTransaction.js.map +1 -1
  14. package/lib/getTrustedInputBIP143.d.ts +1 -2
  15. package/lib/getTrustedInputBIP143.d.ts.map +1 -1
  16. package/lib/getTrustedInputBIP143.js +1 -1
  17. package/lib/getTrustedInputBIP143.js.map +1 -1
  18. package/lib/newops/accounttype.d.ts +3 -3
  19. package/lib/newops/accounttype.d.ts.map +1 -1
  20. package/lib/newops/accounttype.js +15 -14
  21. package/lib/newops/accounttype.js.map +1 -1
  22. package/lib/newops/appClient.d.ts +1 -1
  23. package/lib/newops/appClient.d.ts.map +1 -1
  24. package/lib/newops/clientCommands.js +2 -2
  25. package/lib/newops/clientCommands.js.map +1 -1
  26. package/lib/newops/merkelizedPsbt.d.ts +1 -1
  27. package/lib/newops/merkelizedPsbt.d.ts.map +1 -1
  28. package/lib/newops/merkelizedPsbt.js +1 -1
  29. package/lib/newops/merkelizedPsbt.js.map +1 -1
  30. package/lib/newops/policy.js +2 -2
  31. package/lib/newops/policy.js.map +1 -1
  32. package/lib/newops/psbtExtractor.d.ts +1 -1
  33. package/lib/newops/psbtExtractor.d.ts.map +1 -1
  34. package/lib/newops/psbtExtractor.js +3 -3
  35. package/lib/newops/psbtExtractor.js.map +1 -1
  36. package/lib/newops/psbtFinalizer.d.ts +1 -1
  37. package/lib/newops/psbtFinalizer.d.ts.map +1 -1
  38. package/lib/newops/psbtFinalizer.js +5 -6
  39. package/lib/newops/psbtFinalizer.js.map +1 -1
  40. package/lib/signP2SHTransaction.d.ts.map +1 -1
  41. package/lib/signP2SHTransaction.js +3 -2
  42. package/lib/signP2SHTransaction.js.map +1 -1
  43. package/lib-es/Btc.d.ts +37 -0
  44. package/lib-es/Btc.d.ts.map +1 -1
  45. package/lib-es/Btc.js +30 -2
  46. package/lib-es/Btc.js.map +1 -1
  47. package/lib-es/BtcNew.d.ts +84 -0
  48. package/lib-es/BtcNew.d.ts.map +1 -1
  49. package/lib-es/BtcNew.js +325 -8
  50. package/lib-es/BtcNew.js.map +1 -1
  51. package/lib-es/createTransaction.d.ts.map +1 -1
  52. package/lib-es/createTransaction.js +3 -2
  53. package/lib-es/createTransaction.js.map +1 -1
  54. package/lib-es/getTrustedInputBIP143.d.ts +1 -2
  55. package/lib-es/getTrustedInputBIP143.d.ts.map +1 -1
  56. package/lib-es/getTrustedInputBIP143.js +1 -1
  57. package/lib-es/getTrustedInputBIP143.js.map +1 -1
  58. package/lib-es/newops/accounttype.d.ts +3 -3
  59. package/lib-es/newops/accounttype.d.ts.map +1 -1
  60. package/lib-es/newops/accounttype.js +11 -10
  61. package/lib-es/newops/accounttype.js.map +1 -1
  62. package/lib-es/newops/appClient.d.ts +1 -1
  63. package/lib-es/newops/appClient.d.ts.map +1 -1
  64. package/lib-es/newops/clientCommands.js +1 -1
  65. package/lib-es/newops/clientCommands.js.map +1 -1
  66. package/lib-es/newops/merkelizedPsbt.d.ts +1 -1
  67. package/lib-es/newops/merkelizedPsbt.d.ts.map +1 -1
  68. package/lib-es/newops/merkelizedPsbt.js +1 -1
  69. package/lib-es/newops/merkelizedPsbt.js.map +1 -1
  70. package/lib-es/newops/policy.js +1 -1
  71. package/lib-es/newops/policy.js.map +1 -1
  72. package/lib-es/newops/psbtExtractor.d.ts +1 -1
  73. package/lib-es/newops/psbtExtractor.d.ts.map +1 -1
  74. package/lib-es/newops/psbtExtractor.js +1 -1
  75. package/lib-es/newops/psbtExtractor.js.map +1 -1
  76. package/lib-es/newops/psbtFinalizer.d.ts +1 -1
  77. package/lib-es/newops/psbtFinalizer.d.ts.map +1 -1
  78. package/lib-es/newops/psbtFinalizer.js +1 -2
  79. package/lib-es/newops/psbtFinalizer.js.map +1 -1
  80. package/lib-es/signP2SHTransaction.d.ts.map +1 -1
  81. package/lib-es/signP2SHTransaction.js +3 -2
  82. package/lib-es/signP2SHTransaction.js.map +1 -1
  83. package/package.json +6 -6
  84. package/src/Btc.ts +41 -2
  85. package/src/BtcNew.ts +483 -9
  86. package/src/createTransaction.ts +4 -3
  87. package/src/getTrustedInputBIP143.ts +0 -2
  88. package/src/newops/accounttype.ts +11 -12
  89. package/src/newops/appClient.ts +1 -1
  90. package/src/newops/clientCommands.ts +1 -1
  91. package/src/newops/merkelizedPsbt.ts +1 -1
  92. package/src/newops/policy.ts +1 -1
  93. package/src/newops/psbtExtractor.ts +1 -2
  94. package/src/newops/psbtFinalizer.ts +1 -2
  95. package/src/signP2SHTransaction.ts +3 -2
  96. package/tests/Btc.test.ts +848 -20
  97. package/tests/newops/BtcNew.signMessage.test.ts +35 -0
  98. package/tests/newops/BtcNew.signPsbtBuffer.test.ts +391 -0
  99. package/tests/newops/BtcNew.test.ts +13 -1
  100. package/tests/newops/integrationtools.ts +1 -1
  101. package/lib/buffertools.d.ts +0 -31
  102. package/lib/buffertools.d.ts.map +0 -1
  103. package/lib/buffertools.js +0 -129
  104. package/lib/buffertools.js.map +0 -1
  105. package/lib/newops/psbtv2.d.ts +0 -150
  106. package/lib/newops/psbtv2.d.ts.map +0 -1
  107. package/lib/newops/psbtv2.js +0 -469
  108. package/lib/newops/psbtv2.js.map +0 -1
  109. package/lib-es/buffertools.d.ts +0 -31
  110. package/lib-es/buffertools.d.ts.map +0 -1
  111. package/lib-es/buffertools.js +0 -119
  112. package/lib-es/buffertools.js.map +0 -1
  113. package/lib-es/newops/psbtv2.d.ts +0 -150
  114. package/lib-es/newops/psbtv2.d.ts.map +0 -1
  115. package/lib-es/newops/psbtv2.js +0 -464
  116. package/lib-es/newops/psbtv2.js.map +0 -1
  117. package/src/buffertools.ts +0 -137
  118. package/src/newops/psbtv2.ts +0 -525
  119. package/tests/buffertools.test.ts +0 -25
  120. package/tests/newops/psbtv2.test.ts +0 -15
@@ -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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"}
@@ -1,469 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PsbtV2 = exports.NoSuchEntry = exports.psbtOut = exports.psbtIn = exports.psbtGlobal = void 0;
4
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
5
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
6
- const buffertools_1 = require("../buffertools");
7
- var psbtGlobal;
8
- (function (psbtGlobal) {
9
- psbtGlobal[psbtGlobal["TX_VERSION"] = 2] = "TX_VERSION";
10
- psbtGlobal[psbtGlobal["FALLBACK_LOCKTIME"] = 3] = "FALLBACK_LOCKTIME";
11
- psbtGlobal[psbtGlobal["INPUT_COUNT"] = 4] = "INPUT_COUNT";
12
- psbtGlobal[psbtGlobal["OUTPUT_COUNT"] = 5] = "OUTPUT_COUNT";
13
- psbtGlobal[psbtGlobal["TX_MODIFIABLE"] = 6] = "TX_MODIFIABLE";
14
- psbtGlobal[psbtGlobal["VERSION"] = 251] = "VERSION";
15
- })(psbtGlobal || (exports.psbtGlobal = psbtGlobal = {}));
16
- var psbtIn;
17
- (function (psbtIn) {
18
- psbtIn[psbtIn["NON_WITNESS_UTXO"] = 0] = "NON_WITNESS_UTXO";
19
- psbtIn[psbtIn["WITNESS_UTXO"] = 1] = "WITNESS_UTXO";
20
- psbtIn[psbtIn["PARTIAL_SIG"] = 2] = "PARTIAL_SIG";
21
- psbtIn[psbtIn["SIGHASH_TYPE"] = 3] = "SIGHASH_TYPE";
22
- psbtIn[psbtIn["REDEEM_SCRIPT"] = 4] = "REDEEM_SCRIPT";
23
- psbtIn[psbtIn["BIP32_DERIVATION"] = 6] = "BIP32_DERIVATION";
24
- psbtIn[psbtIn["FINAL_SCRIPTSIG"] = 7] = "FINAL_SCRIPTSIG";
25
- psbtIn[psbtIn["FINAL_SCRIPTWITNESS"] = 8] = "FINAL_SCRIPTWITNESS";
26
- psbtIn[psbtIn["PREVIOUS_TXID"] = 14] = "PREVIOUS_TXID";
27
- psbtIn[psbtIn["OUTPUT_INDEX"] = 15] = "OUTPUT_INDEX";
28
- psbtIn[psbtIn["SEQUENCE"] = 16] = "SEQUENCE";
29
- psbtIn[psbtIn["TAP_KEY_SIG"] = 19] = "TAP_KEY_SIG";
30
- psbtIn[psbtIn["TAP_BIP32_DERIVATION"] = 22] = "TAP_BIP32_DERIVATION";
31
- })(psbtIn || (exports.psbtIn = psbtIn = {}));
32
- var psbtOut;
33
- (function (psbtOut) {
34
- psbtOut[psbtOut["REDEEM_SCRIPT"] = 0] = "REDEEM_SCRIPT";
35
- psbtOut[psbtOut["BIP_32_DERIVATION"] = 2] = "BIP_32_DERIVATION";
36
- psbtOut[psbtOut["AMOUNT"] = 3] = "AMOUNT";
37
- psbtOut[psbtOut["SCRIPT"] = 4] = "SCRIPT";
38
- psbtOut[psbtOut["TAP_BIP32_DERIVATION"] = 7] = "TAP_BIP32_DERIVATION";
39
- })(psbtOut || (exports.psbtOut = psbtOut = {}));
40
- const PSBT_MAGIC_BYTES = Buffer.from([0x70, 0x73, 0x62, 0x74, 0xff]);
41
- class NoSuchEntry extends Error {
42
- }
43
- exports.NoSuchEntry = NoSuchEntry;
44
- /**
45
- * Implements Partially Signed Bitcoin Transaction version 2, BIP370, as
46
- * documented at https://github.com/bitcoin/bips/blob/master/bip-0370.mediawiki
47
- * and https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
48
- *
49
- * A psbt is a data structure that can carry all relevant information about a
50
- * transaction through all stages of the signing process. From constructing an
51
- * unsigned transaction to extracting the final serialized transaction ready for
52
- * broadcast.
53
- *
54
- * This implementation is limited to what's needed in ledgerjs to carry out its
55
- * duties, which means that support for features like multisig or taproot script
56
- * path spending are not implemented. Specifically, it supports p2pkh,
57
- * p2wpkhWrappedInP2sh, p2wpkh and p2tr key path spending.
58
- *
59
- * This class is made purposefully dumb, so it's easy to add support for
60
- * complemantary fields as needed in the future.
61
- */
62
- class PsbtV2 {
63
- globalMap = new Map();
64
- inputMaps = [];
65
- outputMaps = [];
66
- setGlobalTxVersion(version) {
67
- this.setGlobal(psbtGlobal.TX_VERSION, uint32LE(version));
68
- }
69
- getGlobalTxVersion() {
70
- return this.getGlobal(psbtGlobal.TX_VERSION).readUInt32LE(0);
71
- }
72
- setGlobalFallbackLocktime(locktime) {
73
- this.setGlobal(psbtGlobal.FALLBACK_LOCKTIME, uint32LE(locktime));
74
- }
75
- getGlobalFallbackLocktime() {
76
- return this.getGlobalOptional(psbtGlobal.FALLBACK_LOCKTIME)?.readUInt32LE(0);
77
- }
78
- setGlobalInputCount(inputCount) {
79
- this.setGlobal(psbtGlobal.INPUT_COUNT, varint(inputCount));
80
- }
81
- getGlobalInputCount() {
82
- return fromVarint(this.getGlobal(psbtGlobal.INPUT_COUNT));
83
- }
84
- setGlobalOutputCount(outputCount) {
85
- this.setGlobal(psbtGlobal.OUTPUT_COUNT, varint(outputCount));
86
- }
87
- getGlobalOutputCount() {
88
- return fromVarint(this.getGlobal(psbtGlobal.OUTPUT_COUNT));
89
- }
90
- setGlobalTxModifiable(byte) {
91
- this.setGlobal(psbtGlobal.TX_MODIFIABLE, byte);
92
- }
93
- getGlobalTxModifiable() {
94
- return this.getGlobalOptional(psbtGlobal.TX_MODIFIABLE);
95
- }
96
- setGlobalPsbtVersion(psbtVersion) {
97
- this.setGlobal(psbtGlobal.VERSION, uint32LE(psbtVersion));
98
- }
99
- getGlobalPsbtVersion() {
100
- return this.getGlobal(psbtGlobal.VERSION).readUInt32LE(0);
101
- }
102
- setInputNonWitnessUtxo(inputIndex, transaction) {
103
- this.setInput(inputIndex, psbtIn.NON_WITNESS_UTXO, b(), transaction);
104
- }
105
- getInputNonWitnessUtxo(inputIndex) {
106
- return this.getInputOptional(inputIndex, psbtIn.NON_WITNESS_UTXO, b());
107
- }
108
- setInputWitnessUtxo(inputIndex, amount, scriptPubKey) {
109
- const buf = new buffertools_1.BufferWriter();
110
- buf.writeSlice(amount);
111
- buf.writeVarSlice(scriptPubKey);
112
- this.setInput(inputIndex, psbtIn.WITNESS_UTXO, b(), buf.buffer());
113
- }
114
- getInputWitnessUtxo(inputIndex) {
115
- const utxo = this.getInputOptional(inputIndex, psbtIn.WITNESS_UTXO, b());
116
- if (!utxo)
117
- return undefined;
118
- const buf = new buffertools_1.BufferReader(utxo);
119
- return { amount: buf.readSlice(8), scriptPubKey: buf.readVarSlice() };
120
- }
121
- setInputPartialSig(inputIndex, pubkey, signature) {
122
- this.setInput(inputIndex, psbtIn.PARTIAL_SIG, pubkey, signature);
123
- }
124
- getInputPartialSig(inputIndex, pubkey) {
125
- return this.getInputOptional(inputIndex, psbtIn.PARTIAL_SIG, pubkey);
126
- }
127
- setInputSighashType(inputIndex, sigHashtype) {
128
- this.setInput(inputIndex, psbtIn.SIGHASH_TYPE, b(), uint32LE(sigHashtype));
129
- }
130
- getInputSighashType(inputIndex) {
131
- const result = this.getInputOptional(inputIndex, psbtIn.SIGHASH_TYPE, b());
132
- if (!result)
133
- return undefined;
134
- return result.readUInt32LE(0);
135
- }
136
- setInputRedeemScript(inputIndex, redeemScript) {
137
- this.setInput(inputIndex, psbtIn.REDEEM_SCRIPT, b(), redeemScript);
138
- }
139
- getInputRedeemScript(inputIndex) {
140
- return this.getInputOptional(inputIndex, psbtIn.REDEEM_SCRIPT, b());
141
- }
142
- setInputBip32Derivation(inputIndex, pubkey, masterFingerprint, path) {
143
- if (pubkey.length != 33)
144
- throw new Error("Invalid pubkey length: " + pubkey.length);
145
- this.setInput(inputIndex, psbtIn.BIP32_DERIVATION, pubkey, this.encodeBip32Derivation(masterFingerprint, path));
146
- }
147
- getInputBip32Derivation(inputIndex, pubkey) {
148
- const buf = this.getInputOptional(inputIndex, psbtIn.BIP32_DERIVATION, pubkey);
149
- if (!buf)
150
- return undefined;
151
- return this.decodeBip32Derivation(buf);
152
- }
153
- setInputFinalScriptsig(inputIndex, scriptSig) {
154
- this.setInput(inputIndex, psbtIn.FINAL_SCRIPTSIG, b(), scriptSig);
155
- }
156
- getInputFinalScriptsig(inputIndex) {
157
- return this.getInputOptional(inputIndex, psbtIn.FINAL_SCRIPTSIG, b());
158
- }
159
- setInputFinalScriptwitness(inputIndex, scriptWitness) {
160
- this.setInput(inputIndex, psbtIn.FINAL_SCRIPTWITNESS, b(), scriptWitness);
161
- }
162
- getInputFinalScriptwitness(inputIndex) {
163
- return this.getInput(inputIndex, psbtIn.FINAL_SCRIPTWITNESS, b());
164
- }
165
- setInputPreviousTxId(inputIndex, txid) {
166
- this.setInput(inputIndex, psbtIn.PREVIOUS_TXID, b(), txid);
167
- }
168
- getInputPreviousTxid(inputIndex) {
169
- return this.getInput(inputIndex, psbtIn.PREVIOUS_TXID, b());
170
- }
171
- setInputOutputIndex(inputIndex, outputIndex) {
172
- this.setInput(inputIndex, psbtIn.OUTPUT_INDEX, b(), uint32LE(outputIndex));
173
- }
174
- getInputOutputIndex(inputIndex) {
175
- return this.getInput(inputIndex, psbtIn.OUTPUT_INDEX, b()).readUInt32LE(0);
176
- }
177
- setInputSequence(inputIndex, sequence) {
178
- this.setInput(inputIndex, psbtIn.SEQUENCE, b(), uint32LE(sequence));
179
- }
180
- getInputSequence(inputIndex) {
181
- return this.getInputOptional(inputIndex, psbtIn.SEQUENCE, b())?.readUInt32LE(0) ?? 0xffffffff;
182
- }
183
- setInputTapKeySig(inputIndex, sig) {
184
- this.setInput(inputIndex, psbtIn.TAP_KEY_SIG, b(), sig);
185
- }
186
- getInputTapKeySig(inputIndex) {
187
- return this.getInputOptional(inputIndex, psbtIn.TAP_KEY_SIG, b());
188
- }
189
- setInputTapBip32Derivation(inputIndex, pubkey, hashes, masterFingerprint, path) {
190
- if (pubkey.length != 32)
191
- throw new Error("Invalid pubkey length: " + pubkey.length);
192
- const buf = this.encodeTapBip32Derivation(hashes, masterFingerprint, path);
193
- this.setInput(inputIndex, psbtIn.TAP_BIP32_DERIVATION, pubkey, buf);
194
- }
195
- getInputTapBip32Derivation(inputIndex, pubkey) {
196
- const buf = this.getInput(inputIndex, psbtIn.TAP_BIP32_DERIVATION, pubkey);
197
- return this.decodeTapBip32Derivation(buf);
198
- }
199
- getInputKeyDatas(inputIndex, keyType) {
200
- return this.getKeyDatas(this.inputMaps[inputIndex], keyType);
201
- }
202
- setOutputRedeemScript(outputIndex, redeemScript) {
203
- this.setOutput(outputIndex, psbtOut.REDEEM_SCRIPT, b(), redeemScript);
204
- }
205
- getOutputRedeemScript(outputIndex) {
206
- return this.getOutput(outputIndex, psbtOut.REDEEM_SCRIPT, b());
207
- }
208
- setOutputBip32Derivation(outputIndex, pubkey, masterFingerprint, path) {
209
- this.setOutput(outputIndex, psbtOut.BIP_32_DERIVATION, pubkey, this.encodeBip32Derivation(masterFingerprint, path));
210
- }
211
- getOutputBip32Derivation(outputIndex, pubkey) {
212
- const buf = this.getOutput(outputIndex, psbtOut.BIP_32_DERIVATION, pubkey);
213
- return this.decodeBip32Derivation(buf);
214
- }
215
- setOutputAmount(outputIndex, amount) {
216
- this.setOutput(outputIndex, psbtOut.AMOUNT, b(), uint64LE(amount));
217
- }
218
- getOutputAmount(outputIndex) {
219
- const buf = this.getOutput(outputIndex, psbtOut.AMOUNT, b());
220
- return (0, buffertools_1.unsafeFrom64bitLE)(buf);
221
- }
222
- setOutputScript(outputIndex, scriptPubKey) {
223
- this.setOutput(outputIndex, psbtOut.SCRIPT, b(), scriptPubKey);
224
- }
225
- getOutputScript(outputIndex) {
226
- return this.getOutput(outputIndex, psbtOut.SCRIPT, b());
227
- }
228
- setOutputTapBip32Derivation(outputIndex, pubkey, hashes, fingerprint, path) {
229
- const buf = this.encodeTapBip32Derivation(hashes, fingerprint, path);
230
- this.setOutput(outputIndex, psbtOut.TAP_BIP32_DERIVATION, pubkey, buf);
231
- }
232
- getOutputTapBip32Derivation(outputIndex, pubkey) {
233
- const buf = this.getOutput(outputIndex, psbtOut.TAP_BIP32_DERIVATION, pubkey);
234
- return this.decodeTapBip32Derivation(buf);
235
- }
236
- deleteInputEntries(inputIndex, keyTypes) {
237
- const map = this.inputMaps[inputIndex];
238
- map.forEach((_v, k, m) => {
239
- if (this.isKeyType(k, keyTypes)) {
240
- m.delete(k);
241
- }
242
- });
243
- }
244
- copy(to) {
245
- this.copyMap(this.globalMap, to.globalMap);
246
- this.copyMaps(this.inputMaps, to.inputMaps);
247
- this.copyMaps(this.outputMaps, to.outputMaps);
248
- }
249
- copyMaps(from, to) {
250
- from.forEach((m, index) => {
251
- const to_index = new Map();
252
- this.copyMap(m, to_index);
253
- to[index] = to_index;
254
- });
255
- }
256
- copyMap(from, to) {
257
- from.forEach((v, k) => to.set(k, Buffer.from(v)));
258
- }
259
- serialize() {
260
- const buf = new buffertools_1.BufferWriter();
261
- buf.writeSlice(Buffer.from([0x70, 0x73, 0x62, 0x74, 0xff]));
262
- serializeMap(buf, this.globalMap);
263
- this.inputMaps.forEach(map => {
264
- serializeMap(buf, map);
265
- });
266
- this.outputMaps.forEach(map => {
267
- serializeMap(buf, map);
268
- });
269
- return buf.buffer();
270
- }
271
- deserialize(psbt) {
272
- const buf = new buffertools_1.BufferReader(psbt);
273
- if (!buf.readSlice(5).equals(PSBT_MAGIC_BYTES)) {
274
- throw new Error("Invalid magic bytes");
275
- }
276
- while (this.readKeyPair(this.globalMap, buf))
277
- ;
278
- for (let i = 0; i < this.getGlobalInputCount(); i++) {
279
- this.inputMaps[i] = new Map();
280
- while (this.readKeyPair(this.inputMaps[i], buf))
281
- ;
282
- }
283
- for (let i = 0; i < this.getGlobalOutputCount(); i++) {
284
- this.outputMaps[i] = new Map();
285
- while (this.readKeyPair(this.outputMaps[i], buf))
286
- ;
287
- }
288
- }
289
- readKeyPair(map, buf) {
290
- const keyLen = buf.readVarInt();
291
- if (keyLen == 0) {
292
- return false;
293
- }
294
- const keyType = buf.readUInt8();
295
- const keyData = buf.readSlice(keyLen - 1);
296
- const value = buf.readVarSlice();
297
- set(map, keyType, keyData, value);
298
- return true;
299
- }
300
- getKeyDatas(map, keyType) {
301
- const result = [];
302
- map.forEach((_v, k) => {
303
- if (this.isKeyType(k, [keyType])) {
304
- result.push(Buffer.from(k.substring(2), "hex"));
305
- }
306
- });
307
- return result;
308
- }
309
- isKeyType(hexKey, keyTypes) {
310
- const keyType = Buffer.from(hexKey.substring(0, 2), "hex").readUInt8(0);
311
- return keyTypes.some(k => k == keyType);
312
- }
313
- setGlobal(keyType, value) {
314
- const key = new Key(keyType, Buffer.from([]));
315
- this.globalMap.set(key.toString(), value);
316
- }
317
- getGlobal(keyType) {
318
- return get(this.globalMap, keyType, b(), false);
319
- }
320
- getGlobalOptional(keyType) {
321
- return get(this.globalMap, keyType, b(), true);
322
- }
323
- setInput(index, keyType, keyData, value) {
324
- set(this.getMap(index, this.inputMaps), keyType, keyData, value);
325
- }
326
- getInput(index, keyType, keyData) {
327
- return get(this.inputMaps[index], keyType, keyData, false);
328
- }
329
- getInputOptional(index, keyType, keyData) {
330
- return get(this.inputMaps[index], keyType, keyData, true);
331
- }
332
- setOutput(index, keyType, keyData, value) {
333
- set(this.getMap(index, this.outputMaps), keyType, keyData, value);
334
- }
335
- getOutput(index, keyType, keyData) {
336
- return get(this.outputMaps[index], keyType, keyData, false);
337
- }
338
- getMap(index, maps) {
339
- if (maps[index]) {
340
- return maps[index];
341
- }
342
- return (maps[index] = new Map());
343
- }
344
- encodeBip32Derivation(masterFingerprint, path) {
345
- const buf = new buffertools_1.BufferWriter();
346
- this.writeBip32Derivation(buf, masterFingerprint, path);
347
- return buf.buffer();
348
- }
349
- decodeBip32Derivation(buffer) {
350
- const buf = new buffertools_1.BufferReader(buffer);
351
- return this.readBip32Derivation(buf);
352
- }
353
- writeBip32Derivation(buf, masterFingerprint, path) {
354
- buf.writeSlice(masterFingerprint);
355
- path.forEach(element => {
356
- buf.writeUInt32(element);
357
- });
358
- }
359
- readBip32Derivation(buf) {
360
- const masterFingerprint = buf.readSlice(4);
361
- const path = [];
362
- while (buf.offset < buf.buffer.length) {
363
- path.push(buf.readUInt32());
364
- }
365
- return { masterFingerprint, path };
366
- }
367
- encodeTapBip32Derivation(hashes, masterFingerprint, path) {
368
- const buf = new buffertools_1.BufferWriter();
369
- buf.writeVarInt(hashes.length);
370
- hashes.forEach(h => {
371
- buf.writeSlice(h);
372
- });
373
- this.writeBip32Derivation(buf, masterFingerprint, path);
374
- return buf.buffer();
375
- }
376
- decodeTapBip32Derivation(buffer) {
377
- const buf = new buffertools_1.BufferReader(buffer);
378
- const hashCount = buf.readVarInt();
379
- const hashes = [];
380
- for (let i = 0; i < hashCount; i++) {
381
- hashes.push(buf.readSlice(32));
382
- }
383
- const deriv = this.readBip32Derivation(buf);
384
- return { hashes, ...deriv };
385
- }
386
- }
387
- exports.PsbtV2 = PsbtV2;
388
- function get(map, keyType, keyData, acceptUndefined) {
389
- if (!map)
390
- throw Error("No such map");
391
- const key = new Key(keyType, keyData);
392
- const value = map.get(key.toString());
393
- if (!value) {
394
- if (acceptUndefined) {
395
- return undefined;
396
- }
397
- throw new NoSuchEntry(key.toString());
398
- }
399
- // Make sure to return a copy, to protect the underlying data.
400
- return Buffer.from(value);
401
- }
402
- class Key {
403
- keyType;
404
- keyData;
405
- constructor(keyType, keyData) {
406
- this.keyType = keyType;
407
- this.keyData = keyData;
408
- }
409
- toString() {
410
- const buf = new buffertools_1.BufferWriter();
411
- this.toBuffer(buf);
412
- return buf.buffer().toString("hex");
413
- }
414
- serialize(buf) {
415
- buf.writeVarInt(1 + this.keyData.length);
416
- this.toBuffer(buf);
417
- }
418
- toBuffer(buf) {
419
- buf.writeUInt8(this.keyType);
420
- buf.writeSlice(this.keyData);
421
- }
422
- }
423
- class KeyPair {
424
- key;
425
- value;
426
- constructor(key, value) {
427
- this.key = key;
428
- this.value = value;
429
- }
430
- serialize(buf) {
431
- this.key.serialize(buf);
432
- buf.writeVarSlice(this.value);
433
- }
434
- }
435
- function createKey(buf) {
436
- return new Key(buf.readUInt8(0), buf.slice(1));
437
- }
438
- function serializeMap(buf, map) {
439
- for (const k of map.keys()) {
440
- const value = map.get(k);
441
- const keyPair = new KeyPair(createKey(Buffer.from(k, "hex")), value);
442
- keyPair.serialize(buf);
443
- }
444
- buf.writeUInt8(0);
445
- }
446
- function b() {
447
- return Buffer.from([]);
448
- }
449
- function set(map, keyType, keyData, value) {
450
- const key = new Key(keyType, keyData);
451
- map.set(key.toString(), value);
452
- }
453
- function uint32LE(n) {
454
- const b = Buffer.alloc(4);
455
- b.writeUInt32LE(n, 0);
456
- return b;
457
- }
458
- function uint64LE(n) {
459
- return (0, buffertools_1.unsafeTo64bitLE)(n);
460
- }
461
- function varint(n) {
462
- const b = new buffertools_1.BufferWriter();
463
- b.writeVarInt(n);
464
- return b.buffer();
465
- }
466
- function fromVarint(buf) {
467
- return new buffertools_1.BufferReader(buf).readVarInt();
468
- }
469
- //# sourceMappingURL=psbtv2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"psbtv2.js","sourceRoot":"","sources":["../../src/newops/psbtv2.ts"],"names":[],"mappings":"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"}