@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
|
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.p2wpkh = exports.p2wpkhWrapped = exports.p2tr = exports.p2pkh = void 0;
|
|
4
4
|
const bitcoinjs_lib_1 = require("bitcoinjs-lib");
|
|
5
5
|
const secp256k1_1 = require("@noble/curves/secp256k1");
|
|
6
|
+
const psbtv2_1 = require("@ledgerhq/psbtv2");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
const hashPublicKey_1 = require("../hashPublicKey");
|
|
6
9
|
// Helper function to convert bytes to bigint for scalar operations
|
|
7
10
|
function bytesToBigInt(bytes) {
|
|
8
11
|
const hex = Array.from(bytes)
|
|
@@ -22,9 +25,6 @@ function pointAddScalar(point, scalar) {
|
|
|
22
25
|
return null;
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
|
-
const buffertools_1 = require("../buffertools");
|
|
26
|
-
const constants_1 = require("../constants");
|
|
27
|
-
const hashPublicKey_1 = require("../hashPublicKey");
|
|
28
28
|
class BaseAccount {
|
|
29
29
|
psbt;
|
|
30
30
|
masterFp;
|
|
@@ -66,7 +66,7 @@ class SingleKeyAccount extends BaseAccount {
|
|
|
66
66
|
}
|
|
67
67
|
class p2pkh extends SingleKeyAccount {
|
|
68
68
|
singleKeyCondition(pubkey) {
|
|
69
|
-
const buf = new
|
|
69
|
+
const buf = new psbtv2_1.BufferWriter();
|
|
70
70
|
const pubkeyHash = (0, hashPublicKey_1.hashPublicKey)(pubkey);
|
|
71
71
|
buf.writeSlice(Buffer.from([constants_1.OP_DUP, constants_1.OP_HASH160, constants_1.HASH_SIZE]));
|
|
72
72
|
buf.writeSlice(pubkeyHash);
|
|
@@ -80,7 +80,7 @@ class p2pkh extends SingleKeyAccount {
|
|
|
80
80
|
this.psbt.setInputNonWitnessUtxo(i, inputTx);
|
|
81
81
|
this.psbt.setInputBip32Derivation(i, pubkey, this.masterFp, path);
|
|
82
82
|
}
|
|
83
|
-
setSingleKeyOutput(i,
|
|
83
|
+
setSingleKeyOutput(i, _cond, pubkey, path) {
|
|
84
84
|
this.psbt.setOutputBip32Derivation(i, pubkey, this.masterFp, path);
|
|
85
85
|
}
|
|
86
86
|
getDescriptorTemplate() {
|
|
@@ -90,20 +90,20 @@ class p2pkh extends SingleKeyAccount {
|
|
|
90
90
|
exports.p2pkh = p2pkh;
|
|
91
91
|
class p2tr extends SingleKeyAccount {
|
|
92
92
|
singleKeyCondition(pubkey) {
|
|
93
|
-
const xonlyPubkey = pubkey.
|
|
94
|
-
const buf = new
|
|
93
|
+
const xonlyPubkey = pubkey.subarray(1); // x-only pubkey
|
|
94
|
+
const buf = new psbtv2_1.BufferWriter();
|
|
95
95
|
const outputKey = this.getTaprootOutputKey(xonlyPubkey);
|
|
96
96
|
buf.writeSlice(Buffer.from([0x51, 32])); // push1, pubkeylen
|
|
97
97
|
buf.writeSlice(outputKey);
|
|
98
98
|
return { scriptPubKey: buf.buffer() };
|
|
99
99
|
}
|
|
100
100
|
setSingleKeyInput(i, _inputTx, spentOutput, pubkey, path) {
|
|
101
|
-
const xonly = pubkey.
|
|
101
|
+
const xonly = pubkey.subarray(1);
|
|
102
102
|
this.psbt.setInputTapBip32Derivation(i, xonly, [], this.masterFp, path);
|
|
103
103
|
this.psbt.setInputWitnessUtxo(i, spentOutput.amount, spentOutput.cond.scriptPubKey);
|
|
104
104
|
}
|
|
105
|
-
setSingleKeyOutput(i,
|
|
106
|
-
const xonly = pubkey.
|
|
105
|
+
setSingleKeyOutput(i, _cond, pubkey, path) {
|
|
106
|
+
const xonly = pubkey.subarray(1);
|
|
107
107
|
this.psbt.setOutputTapBip32Derivation(i, xonly, [], this.masterFp, path);
|
|
108
108
|
}
|
|
109
109
|
getDescriptorTemplate() {
|
|
@@ -144,7 +144,7 @@ class p2tr extends SingleKeyAccount {
|
|
|
144
144
|
throw new Error("Point addition failed");
|
|
145
145
|
const outputEcdsaKey = Buffer.from(tweakedKey);
|
|
146
146
|
// Convert to schnorr.
|
|
147
|
-
const outputSchnorrKey = outputEcdsaKey.
|
|
147
|
+
const outputSchnorrKey = outputEcdsaKey.subarray(1);
|
|
148
148
|
// Create address
|
|
149
149
|
return outputSchnorrKey;
|
|
150
150
|
}
|
|
@@ -152,7 +152,7 @@ class p2tr extends SingleKeyAccount {
|
|
|
152
152
|
exports.p2tr = p2tr;
|
|
153
153
|
class p2wpkhWrapped extends SingleKeyAccount {
|
|
154
154
|
singleKeyCondition(pubkey) {
|
|
155
|
-
const buf = new
|
|
155
|
+
const buf = new psbtv2_1.BufferWriter();
|
|
156
156
|
const redeemScript = this.createRedeemScript(pubkey);
|
|
157
157
|
const scriptHash = (0, hashPublicKey_1.hashPublicKey)(redeemScript);
|
|
158
158
|
buf.writeSlice(Buffer.from([constants_1.OP_HASH160, constants_1.HASH_SIZE]));
|
|
@@ -177,7 +177,8 @@ class p2wpkhWrapped extends SingleKeyAccount {
|
|
|
177
177
|
this.psbt.setInputWitnessUtxo(i, spentOutput.amount, spentOutput.cond.scriptPubKey);
|
|
178
178
|
}
|
|
179
179
|
setSingleKeyOutput(i, cond, pubkey, path) {
|
|
180
|
-
|
|
180
|
+
if (cond.redeemScript)
|
|
181
|
+
this.psbt.setOutputRedeemScript(i, cond.redeemScript);
|
|
181
182
|
this.psbt.setOutputBip32Derivation(i, pubkey, this.masterFp, path);
|
|
182
183
|
}
|
|
183
184
|
getDescriptorTemplate() {
|
|
@@ -191,7 +192,7 @@ class p2wpkhWrapped extends SingleKeyAccount {
|
|
|
191
192
|
exports.p2wpkhWrapped = p2wpkhWrapped;
|
|
192
193
|
class p2wpkh extends SingleKeyAccount {
|
|
193
194
|
singleKeyCondition(pubkey) {
|
|
194
|
-
const buf = new
|
|
195
|
+
const buf = new psbtv2_1.BufferWriter();
|
|
195
196
|
const pubkeyHash = (0, hashPublicKey_1.hashPublicKey)(pubkey);
|
|
196
197
|
buf.writeSlice(Buffer.from([0, constants_1.HASH_SIZE]));
|
|
197
198
|
buf.writeSlice(pubkeyHash);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounttype.js","sourceRoot":"","sources":["../../src/newops/accounttype.ts"],"names":[],"mappings":";;;AAAA,iDAAuC;AACvC,uDAAoD;
|
|
1
|
+
{"version":3,"file":"accounttype.js","sourceRoot":"","sources":["../../src/newops/accounttype.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import Transport from "@ledgerhq/hw-transport";
|
|
4
|
-
import { PsbtV2 } from "
|
|
4
|
+
import { PsbtV2 } from "@ledgerhq/psbtv2";
|
|
5
5
|
import { WalletPolicy } from "./policy";
|
|
6
6
|
/**
|
|
7
7
|
* This class encapsulates the APDU protocol documented at
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appClient.d.ts","sourceRoot":"","sources":["../../src/newops/appClient.ts"],"names":[],"mappings":";;AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"appClient.d.ts","sourceRoot":"","sources":["../../src/newops/appClient.ts"],"names":[],"mappings":";;AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAqBxC;;;GAGG;AACH,qBAAa,SAAS;IACpB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;YAIlB,WAAW;IA0BnB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAW5E,gBAAgB,CACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;IA+BZ,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,gBAAgB,EAAE,MAAM,IAAI,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAqDzB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAyB5E"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ClientCommandInterpreter = exports.GetMoreElementsCommand = exports.GetMerkleLeafIndexCommand = exports.GetMerkleLeafProofCommand = exports.GetPreimageCommand = exports.YieldCommand = void 0;
|
|
4
4
|
const bitcoinjs_lib_1 = require("bitcoinjs-lib");
|
|
5
|
-
const
|
|
5
|
+
const psbtv2_1 = require("@ledgerhq/psbtv2");
|
|
6
6
|
const varint_1 = require("../varint");
|
|
7
7
|
const merkle_1 = require("./merkle");
|
|
8
8
|
var ClientCommandCode;
|
|
@@ -91,7 +91,7 @@ class GetMerkleLeafProofCommand extends ClientCommand {
|
|
|
91
91
|
if (req.length < 32 + 1 + 1) {
|
|
92
92
|
throw new Error("Invalid request, expected at least 34 bytes");
|
|
93
93
|
}
|
|
94
|
-
const reqBuf = new
|
|
94
|
+
const reqBuf = new psbtv2_1.BufferReader(req);
|
|
95
95
|
const hash = reqBuf.readSlice(32);
|
|
96
96
|
const hash_hex = hash.toString("hex");
|
|
97
97
|
let tree_size;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientCommands.js","sourceRoot":"","sources":["../../src/newops/clientCommands.ts"],"names":[],"mappings":";;;AAAA,iDAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"clientCommands.js","sourceRoot":"","sources":["../../src/newops/clientCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import { MerkleMap } from "./merkleMap";
|
|
4
|
-
import { PsbtV2 } from "
|
|
4
|
+
import { PsbtV2 } from "@ledgerhq/psbtv2";
|
|
5
5
|
/**
|
|
6
6
|
* This class merkelizes a PSBTv2, by merkelizing the different
|
|
7
7
|
* maps of the psbt. This is used during the transaction signing process,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merkelizedPsbt.d.ts","sourceRoot":"","sources":["../../src/newops/merkelizedPsbt.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"merkelizedPsbt.d.ts","sourceRoot":"","sources":["../../src/newops/merkelizedPsbt.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,SAAQ,MAAM;IACjC,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,EAAE,CAAM;IAClC,gBAAgB,EAAE,SAAS,EAAE,CAAM;IACnC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAC;gBAC1B,IAAI,EAAE,MAAM;IAgBxB,aAAa,IAAI,MAAM;IAGvB,uBAAuB,IAAI,MAAM;IAIjC,OAAO,CAAC,MAAM,CAAC,eAAe;CAc/B"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MerkelizedPsbt = void 0;
|
|
4
4
|
const merkleMap_1 = require("./merkleMap");
|
|
5
|
-
const psbtv2_1 = require("
|
|
5
|
+
const psbtv2_1 = require("@ledgerhq/psbtv2");
|
|
6
6
|
/**
|
|
7
7
|
* This class merkelizes a PSBTv2, by merkelizing the different
|
|
8
8
|
* maps of the psbt. This is used during the transaction signing process,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merkelizedPsbt.js","sourceRoot":"","sources":["../../src/newops/merkelizedPsbt.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"merkelizedPsbt.js","sourceRoot":"","sources":["../../src/newops/merkelizedPsbt.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,6CAA0C;AAE1C;;;;;;;;;;GAUG;AACH,MAAa,cAAe,SAAQ,eAAM;IACjC,eAAe,CAAY;IAC3B,eAAe,GAAgB,EAAE,CAAC;IAClC,gBAAgB,GAAgB,EAAE,CAAC;IACnC,mBAAmB,CAAW;IAC9B,oBAAoB,CAAW;IACtC,YAAY,IAAY;QACtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAEvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,iDAAiD;IACjD,aAAa;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,uBAAuB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,GAAwB;QACrD,MAAM,iBAAiB,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACvC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAErE,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA3CD,wCA2CC"}
|
package/lib/newops/policy.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createKey = exports.WalletPolicy = void 0;
|
|
4
4
|
const bitcoinjs_lib_1 = require("bitcoinjs-lib");
|
|
5
5
|
const bip32_1 = require("../bip32");
|
|
6
|
-
const
|
|
6
|
+
const psbtv2_1 = require("@ledgerhq/psbtv2");
|
|
7
7
|
const merkle_1 = require("./merkle");
|
|
8
8
|
/**
|
|
9
9
|
* The Bitcon hardware app uses a descriptors-like thing to describe
|
|
@@ -32,7 +32,7 @@ class WalletPolicy {
|
|
|
32
32
|
return Buffer.from(k, "ascii");
|
|
33
33
|
});
|
|
34
34
|
const m = new merkle_1.Merkle(keyBuffers.map(k => (0, merkle_1.hashLeaf)(k)));
|
|
35
|
-
const buf = new
|
|
35
|
+
const buf = new psbtv2_1.BufferWriter();
|
|
36
36
|
buf.writeUInt8(0x01); // wallet type (policy map)
|
|
37
37
|
buf.writeUInt8(0); // length of wallet name (empty string for default wallets)
|
|
38
38
|
buf.writeVarSlice(Buffer.from(this.descriptorTemplate, "ascii"));
|
package/lib/newops/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/newops/policy.ts"],"names":[],"mappings":";;;AAAA,iDAAuC;AACvC,oCAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/newops/policy.ts"],"names":[],"mappings":";;;AAAA,iDAAuC;AACvC,oCAA6C;AAC7C,6CAAgD;AAChD,qCAA4C;AAI5C;;;;;;;GAOG;AACH,MAAa,YAAY;IACvB,kBAAkB,CAAS;IAC3B,IAAI,CAAW;IACf;;OAEG;IACH,YAAY,kBAA6C,EAAE,GAAW;QACpE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,WAAW;QACT,kDAAkD;QAClD,OAAO,sBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,SAAS;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACnC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,eAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,IAAI,qBAAY,EAAE,CAAC;QAC/B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B;QACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,2DAA2D;QAC9E,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;CACF;AA7BD,oCA6BC;AAED,SAAgB,SAAS,CAAC,iBAAyB,EAAE,IAAc,EAAE,IAAY;IAC/E,MAAM,WAAW,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;AACvF,CAAC;AAHD,8BAGC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
-
import { PsbtV2 } from "
|
|
3
|
+
import { PsbtV2 } from "@ledgerhq/psbtv2";
|
|
4
4
|
/**
|
|
5
5
|
* This implements the "Transaction Extractor" role of BIP370 (PSBTv2
|
|
6
6
|
* https://github.com/bitcoin/bips/blob/master/bip-0370.mediawiki#transaction-extractor). However
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psbtExtractor.d.ts","sourceRoot":"","sources":["../../src/newops/psbtExtractor.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"psbtExtractor.d.ts","sourceRoot":"","sources":["../../src/newops/psbtExtractor.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA6B5C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extract = void 0;
|
|
4
|
-
const
|
|
4
|
+
const psbtv2_1 = require("@ledgerhq/psbtv2");
|
|
5
5
|
/**
|
|
6
6
|
* This implements the "Transaction Extractor" role of BIP370 (PSBTv2
|
|
7
7
|
* https://github.com/bitcoin/bips/blob/master/bip-0370.mediawiki#transaction-extractor). However
|
|
@@ -9,7 +9,7 @@ const buffertools_1 = require("../buffertools");
|
|
|
9
9
|
* https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#transaction-extractor).
|
|
10
10
|
*/
|
|
11
11
|
function extract(psbt) {
|
|
12
|
-
const tx = new
|
|
12
|
+
const tx = new psbtv2_1.BufferWriter();
|
|
13
13
|
tx.writeUInt32(psbt.getGlobalTxVersion());
|
|
14
14
|
const isSegwit = !!psbt.getInputWitnessUtxo(0);
|
|
15
15
|
if (isSegwit) {
|
|
@@ -17,7 +17,7 @@ function extract(psbt) {
|
|
|
17
17
|
}
|
|
18
18
|
const inputCount = psbt.getGlobalInputCount();
|
|
19
19
|
tx.writeVarInt(inputCount);
|
|
20
|
-
const witnessWriter = new
|
|
20
|
+
const witnessWriter = new psbtv2_1.BufferWriter();
|
|
21
21
|
for (let i = 0; i < inputCount; i++) {
|
|
22
22
|
tx.writeSlice(psbt.getInputPreviousTxid(i));
|
|
23
23
|
tx.writeUInt32(psbt.getInputOutputIndex(i));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psbtExtractor.js","sourceRoot":"","sources":["../../src/newops/psbtExtractor.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"psbtExtractor.js","sourceRoot":"","sources":["../../src/newops/psbtExtractor.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;AAExD;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,IAAY;IAClC,MAAM,EAAE,GAAG,IAAI,qBAAY,EAAE,CAAC;IAC9B,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC9C,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3B,MAAM,aAAa,GAAG,IAAI,qBAAY,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChD,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;AACrB,CAAC;AA7BD,0BA6BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psbtFinalizer.d.ts","sourceRoot":"","sources":["../../src/newops/psbtFinalizer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"psbtFinalizer.d.ts","sourceRoot":"","sources":["../../src/newops/psbtFinalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA+D3C"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.finalize = void 0;
|
|
4
|
-
const
|
|
5
|
-
const psbtv2_1 = require("./psbtv2");
|
|
4
|
+
const psbtv2_1 = require("@ledgerhq/psbtv2");
|
|
6
5
|
/**
|
|
7
6
|
* This roughly implements the "input finalizer" role of BIP370 (PSBTv2
|
|
8
7
|
* https://github.com/bitcoin/bips/blob/master/bip-0370.mediawiki). However
|
|
@@ -40,7 +39,7 @@ function finalize(psbt) {
|
|
|
40
39
|
if (!signature)
|
|
41
40
|
throw new Error("Expected partial signature for input " + i);
|
|
42
41
|
if (isSegwitV0) {
|
|
43
|
-
const witnessBuf = new
|
|
42
|
+
const witnessBuf = new psbtv2_1.BufferWriter();
|
|
44
43
|
witnessBuf.writeVarInt(2);
|
|
45
44
|
witnessBuf.writeVarInt(signature.length);
|
|
46
45
|
witnessBuf.writeSlice(signature);
|
|
@@ -51,7 +50,7 @@ function finalize(psbt) {
|
|
|
51
50
|
if (!redeemScript || redeemScript.length == 0) {
|
|
52
51
|
throw new Error("Expected non-empty redeemscript. Can't finalize intput " + i);
|
|
53
52
|
}
|
|
54
|
-
const scriptSigBuf = new
|
|
53
|
+
const scriptSigBuf = new psbtv2_1.BufferWriter();
|
|
55
54
|
// Push redeemScript length
|
|
56
55
|
scriptSigBuf.writeUInt8(redeemScript.length);
|
|
57
56
|
scriptSigBuf.writeSlice(redeemScript);
|
|
@@ -60,7 +59,7 @@ function finalize(psbt) {
|
|
|
60
59
|
}
|
|
61
60
|
else {
|
|
62
61
|
// Legacy input
|
|
63
|
-
const scriptSig = new
|
|
62
|
+
const scriptSig = new psbtv2_1.BufferWriter();
|
|
64
63
|
writePush(scriptSig, signature);
|
|
65
64
|
writePush(scriptSig, legacyPubkeys[0]);
|
|
66
65
|
psbt.setInputFinalScriptsig(i, scriptSig.buffer());
|
|
@@ -75,7 +74,7 @@ function finalize(psbt) {
|
|
|
75
74
|
if (signature.length != 64 && signature.length != 65) {
|
|
76
75
|
throw Error("Unexpected length of schnorr signature.");
|
|
77
76
|
}
|
|
78
|
-
const witnessBuf = new
|
|
77
|
+
const witnessBuf = new psbtv2_1.BufferWriter();
|
|
79
78
|
witnessBuf.writeVarInt(1);
|
|
80
79
|
witnessBuf.writeVarSlice(signature);
|
|
81
80
|
psbt.setInputFinalScriptwitness(i, witnessBuf.buffer());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psbtFinalizer.js","sourceRoot":"","sources":["../../src/newops/psbtFinalizer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"psbtFinalizer.js","sourceRoot":"","sources":["../../src/newops/psbtFinalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signP2SHTransaction.d.ts","sourceRoot":"","sources":["../src/signP2SHTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAMpD,OAAO,KAAK,EAAqB,WAAW,EAAgB,MAAM,SAAS,CAAC;AAS5E;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3F,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AACF,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"signP2SHTransaction.d.ts","sourceRoot":"","sources":["../src/signP2SHTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAMpD,OAAO,KAAK,EAAqB,WAAW,EAAgB,MAAM,SAAS,CAAC;AAS5E;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3F,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AACF,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,sBAAsB,qBAwH1F"}
|
|
@@ -30,11 +30,12 @@ async function signP2SHTransaction(transport, arg) {
|
|
|
30
30
|
inputs: [],
|
|
31
31
|
version: defaultVersion,
|
|
32
32
|
};
|
|
33
|
-
const getTrustedInputCall = segwit ? getTrustedInputBIP143_1.getTrustedInputBIP143 : getTrustedInput_1.getTrustedInput;
|
|
34
33
|
const outputScript = Buffer.from(outputScriptHex, "hex");
|
|
35
34
|
for (const input of inputs) {
|
|
36
35
|
if (!resuming) {
|
|
37
|
-
const trustedInput =
|
|
36
|
+
const trustedInput = segwit
|
|
37
|
+
? (0, getTrustedInputBIP143_1.getTrustedInputBIP143)(input[1], input[0])
|
|
38
|
+
: await (0, getTrustedInput_1.getTrustedInput)(transport, input[1], input[0]);
|
|
38
39
|
const sequence = Buffer.alloc(4);
|
|
39
40
|
sequence.writeUInt32LE(input.length >= 4 && typeof input[3] === "number" ? input[3] : constants_1.DEFAULT_SEQUENCE, 0);
|
|
40
41
|
trustedInputs.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signP2SHTransaction.js","sourceRoot":"","sources":["../src/signP2SHTransaction.ts"],"names":[],"mappings":";;;AACA,uDAAoD;AACpD,6FAA0F;AAC1F,mEAAgE;AAChE,uDAAoD;AACpD,mDAAiD;AAEjD,2CAA+F;AAC/F,MAAM,UAAU,GAAG;IACjB,QAAQ,EAAE,4BAAgB;IAC1B,WAAW,EAAE,uBAAW;IACxB,MAAM,EAAE,KAAK;IACb,kBAAkB,EAAE,2BAAe;CACpC,CAAC;AAcK,KAAK,UAAU,mBAAmB,CAAC,SAAoB,EAAE,GAA2B;IACzF,MAAM,EACJ,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,WAAW,EACX,MAAM,EACN,kBAAkB,GACnB,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,GAAG,EAAE,CAAC;IAC9B,iGAAiG;IACjG,qDAAqD;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,cAAc,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,aAAa,GAAmB,EAAE,CAAC;IACzC,MAAM,cAAc,GAA6B,EAAE,CAAC;IACpD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,MAAM,QAAQ,GAAG,KAAK,CAAC;IACvB,MAAM,iBAAiB,GAAgB;QACrC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,cAAc;KACxB,CAAC;IACF,MAAM,
|
|
1
|
+
{"version":3,"file":"signP2SHTransaction.js","sourceRoot":"","sources":["../src/signP2SHTransaction.ts"],"names":[],"mappings":"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"}
|
package/lib-es/Btc.d.ts
CHANGED
|
@@ -120,6 +120,43 @@ export default class Btc {
|
|
|
120
120
|
}).then(res => ...);
|
|
121
121
|
*/
|
|
122
122
|
createPaymentTransaction(arg: CreateTransactionArg): Promise<string>;
|
|
123
|
+
/**
|
|
124
|
+
* Sign a PSBT Buffer
|
|
125
|
+
*
|
|
126
|
+
* This method can handle PSBTs with or without BIP32 derivation information.
|
|
127
|
+
* It processes a PSBT buffer and signs the transaction inputs according to the
|
|
128
|
+
* wallet policy and derivation paths.
|
|
129
|
+
*
|
|
130
|
+
* @param {Buffer} psbt - The PSBT (Partially Signed Bitcoin Transaction) buffer to be signed
|
|
131
|
+
* @param {Object} [opts] - Optional configuration for signing
|
|
132
|
+
* @param {boolean} [opts.finalizePsbt] - Whether to finalize the PSBT after signing (default: true)
|
|
133
|
+
* @param {string} [opts.accountPath] - BIP32 derivation path for the account (e.g., "m/84'/0'/0'")
|
|
134
|
+
* @param {AddressFormat} [opts.addressFormat] - Address format to use for signing (e.g., 'p2wpkh', 'p2sh-p2wpkh', 'p2pkh')
|
|
135
|
+
*
|
|
136
|
+
* @returns {Promise<{psbt: Buffer, tx: string}>} A promise that resolves to an object containing the signed PSBT buffer and the transaction hex string
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* const { psbt: signedPsbt, tx } = await btc.signPsbtBuffer(psbtBuffer, {
|
|
140
|
+
* finalizePsbt: true,
|
|
141
|
+
* accountPath: "m/84'/0'/0'",
|
|
142
|
+
* addressFormat: 'p2wpkh'
|
|
143
|
+
* });
|
|
144
|
+
*/
|
|
145
|
+
signPsbtBuffer(psbt: Buffer, opts?: {
|
|
146
|
+
finalizePsbt?: boolean;
|
|
147
|
+
accountPath?: string;
|
|
148
|
+
addressFormat?: AddressFormat;
|
|
149
|
+
onDeviceSignatureRequested?: () => void;
|
|
150
|
+
onDeviceSignatureGranted?: () => void;
|
|
151
|
+
onDeviceStreaming?: (arg: {
|
|
152
|
+
progress: number;
|
|
153
|
+
total: number;
|
|
154
|
+
index: number;
|
|
155
|
+
}) => void;
|
|
156
|
+
}): Promise<{
|
|
157
|
+
psbt: Buffer;
|
|
158
|
+
tx: string;
|
|
159
|
+
}>;
|
|
123
160
|
/**
|
|
124
161
|
* To obtain the signature of multisignature (P2SH) inputs, call signP2SHTransaction_async with the folowing parameters
|
|
125
162
|
* @param inputs is an array of [ transaction, output_index, redeem script, optional sequence ] where
|
package/lib-es/Btc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Btc.d.ts","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,CAAC;AAI9B;;;;;;;;;GASG;AAEH,MAAM,CAAC,OAAO,OAAO,GAAG;IAEtB,OAAO,CAAC,UAAU,CAAY;IAG9B,OAAO,CAAC,KAAK,CAAkB;gBACnB,EACV,SAAS,EACT,WAAmB,EACnB,QAAoB,GACrB,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IA+BD;;;;;;;;OAQG;IACH,aAAa,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1E;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GACA,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAmBF;;;;;;;;OAQG;IACH,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QACT,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IASF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,wBAAwB,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpE;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAInE;;;;;;;;;OASG;IACH,gBAAgB,CACd,cAAc,EAAE,MAAM,EACtB,iBAAiB,GAAE,OAAO,GAAG,IAAI,GAAG,SAAiB,EACrD,YAAY,UAAQ,EACpB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,WAAW;IAId;;;;;MAKE;IACF,2BAA2B,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM;IAInD;;;;OAIG;IACH,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,OAAO,CAAC,MAAM,CAAC;IAIlB;;OAEG;IACH,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,MAAM;IAIH,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;CAsCxD"}
|
|
1
|
+
{"version":3,"file":"Btc.d.ts","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":"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"}
|
package/lib-es/Btc.js
CHANGED
|
@@ -32,8 +32,8 @@ export default class Btc {
|
|
|
32
32
|
"signP2SHTransaction",
|
|
33
33
|
"signMessage",
|
|
34
34
|
"createPaymentTransaction",
|
|
35
|
+
"signPsbtBuffer",
|
|
35
36
|
"getTrustedInput",
|
|
36
|
-
"getTrustedInputBIP143",
|
|
37
37
|
], scrambleKey);
|
|
38
38
|
this._impl = (() => {
|
|
39
39
|
switch (currency) {
|
|
@@ -163,6 +163,34 @@ export default class Btc {
|
|
|
163
163
|
return impl.createPaymentTransaction(arg);
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Sign a PSBT Buffer
|
|
168
|
+
*
|
|
169
|
+
* This method can handle PSBTs with or without BIP32 derivation information.
|
|
170
|
+
* It processes a PSBT buffer and signs the transaction inputs according to the
|
|
171
|
+
* wallet policy and derivation paths.
|
|
172
|
+
*
|
|
173
|
+
* @param {Buffer} psbt - The PSBT (Partially Signed Bitcoin Transaction) buffer to be signed
|
|
174
|
+
* @param {Object} [opts] - Optional configuration for signing
|
|
175
|
+
* @param {boolean} [opts.finalizePsbt] - Whether to finalize the PSBT after signing (default: true)
|
|
176
|
+
* @param {string} [opts.accountPath] - BIP32 derivation path for the account (e.g., "m/84'/0'/0'")
|
|
177
|
+
* @param {AddressFormat} [opts.addressFormat] - Address format to use for signing (e.g., 'p2wpkh', 'p2sh-p2wpkh', 'p2pkh')
|
|
178
|
+
*
|
|
179
|
+
* @returns {Promise<{psbt: Buffer, tx: string}>} A promise that resolves to an object containing the signed PSBT buffer and the transaction hex string
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* const { psbt: signedPsbt, tx } = await btc.signPsbtBuffer(psbtBuffer, {
|
|
183
|
+
* finalizePsbt: true,
|
|
184
|
+
* accountPath: "m/84'/0'/0'",
|
|
185
|
+
* addressFormat: 'p2wpkh'
|
|
186
|
+
* });
|
|
187
|
+
*/
|
|
188
|
+
async signPsbtBuffer(psbt, opts) {
|
|
189
|
+
if (this._impl instanceof BtcOld) {
|
|
190
|
+
throw new TypeError("signPsbtBuffer is not supported with the legacy Bitcoin app");
|
|
191
|
+
}
|
|
192
|
+
return this._impl.signPsbtBuffer(psbt, opts);
|
|
193
|
+
}
|
|
166
194
|
/**
|
|
167
195
|
* To obtain the signature of multisignature (P2SH) inputs, call signP2SHTransaction_async with the folowing parameters
|
|
168
196
|
* @param inputs is an array of [ transaction, output_index, redeem script, optional sequence ] where
|
|
@@ -219,7 +247,7 @@ export default class Btc {
|
|
|
219
247
|
* Trusted input is the hash of a UTXO that needs to be signed. BIP143 is used for Segwit inputs.
|
|
220
248
|
*/
|
|
221
249
|
getTrustedInputBIP143(indexLookup, transaction, additionals = []) {
|
|
222
|
-
return getTrustedInputBIP143(
|
|
250
|
+
return getTrustedInputBIP143(indexLookup, transaction, additionals);
|
|
223
251
|
}
|
|
224
252
|
async changeImplIfNecessary() {
|
|
225
253
|
// if BtcOld was instantiated, stick with it
|
package/lib-es/Btc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Btc.js","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAExE;;;;;;;;;GASG;AAEH,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB,qBAAqB;IACb,UAAU,CAAY;IAC9B,gFAAgF;IAChF,wEAAwE;IAChE,KAAK,CAAkB;IAC/B,YAAY,EACV,SAAS,EACT,WAAW,GAAG,KAAK,EACnB,QAAQ,GAAG,SAAS,GAKrB;QACC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,qBAAqB,CACnC,IAAI,EACJ;YACE,eAAe;YACf,oBAAoB;YACpB,qBAAqB;YACrB,aAAa;YACb,0BAA0B;YAC1B,
|
|
1
|
+
{"version":3,"file":"Btc.js","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":"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"}
|