@scure/btc-signer 1.3.1 → 1.3.2
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/README.md +5 -5
- package/lib/esm/index.js +9 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/payment.js +5 -5
- package/lib/esm/psbt.js +3 -4
- package/lib/esm/psbt.js.map +1 -1
- package/lib/esm/script.js +7 -5
- package/lib/esm/script.js.map +1 -1
- package/lib/esm/transaction.js +12 -12
- package/lib/esm/transaction.js.map +1 -1
- package/lib/esm/utils.js +3 -2
- package/lib/esm/utils.js.map +1 -1
- package/lib/esm/utxo.js +3 -3
- package/lib/esm/utxo.js.map +1 -1
- package/lib/index.d.ts +4 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -1
- package/lib/index.js.map +1 -1
- package/lib/payment.js +5 -5
- package/lib/psbt.d.ts +3 -3
- package/lib/psbt.d.ts.map +1 -1
- package/lib/psbt.js +2 -3
- package/lib/psbt.js.map +1 -1
- package/lib/script.d.ts +1 -1
- package/lib/script.d.ts.map +1 -1
- package/lib/script.js +7 -5
- package/lib/script.js.map +1 -1
- package/lib/transaction.d.ts +1 -1
- package/lib/transaction.d.ts.map +1 -1
- package/lib/transaction.js +11 -11
- package/lib/transaction.js.map +1 -1
- package/lib/utils.d.ts +2 -2
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +7 -5
- package/lib/utils.js.map +1 -1
- package/lib/utxo.d.ts +2 -2
- package/lib/utxo.d.ts.map +1 -1
- package/lib/utxo.js +2 -2
- package/lib/utxo.js.map +1 -1
- package/package.json +3 -6
- package/src/index.ts +16 -2
- package/src/payment.ts +5 -5
- package/src/psbt.ts +3 -4
- package/src/script.ts +7 -5
- package/src/transaction.ts +12 -13
- package/src/utils.ts +3 -2
- package/src/utxo.ts +11 -3
package/lib/utils.js
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.compareBytes = exports.TEST_NETWORK = exports.NETWORK = exports.TAPROOT_UNSPENDABLE_KEY = exports.taprootTweakPubkey = exports.taprootTweakPrivKey = exports.tapTweak = exports.validatePubkey = exports.PubT = exports.tagSchnorr = exports.signSchnorr = exports.signECDSA = exports.pubECDSA = exports.pubSchnorr = exports.randomPrivateKeyBytes = exports.sha256x2 = exports.hash160 = exports.concatBytes = exports.isBytes = exports.sha256 = void 0;
|
|
3
|
+
exports.compareBytes = exports.TEST_NETWORK = exports.NETWORK = exports.TAPROOT_UNSPENDABLE_KEY = exports.taprootTweakPubkey = exports.taprootTweakPrivKey = exports.tapTweak = exports.validatePubkey = exports.PubT = exports.tagSchnorr = exports.signSchnorr = exports.signECDSA = exports.pubECDSA = exports.pubSchnorr = exports.randomPrivateKeyBytes = exports.sha256x2 = exports.hash160 = exports.equalBytes = exports.concatBytes = exports.isBytes = exports.sha256 = void 0;
|
|
4
4
|
const micro_packed_1 = require("micro-packed");
|
|
5
|
-
Object.defineProperty(exports, "isBytes", { enumerable: true, get: function () { return micro_packed_1.isBytes; } });
|
|
6
|
-
Object.defineProperty(exports, "concatBytes", { enumerable: true, get: function () { return micro_packed_1.concatBytes; } });
|
|
7
5
|
const ripemd160_1 = require("@noble/hashes/ripemd160");
|
|
8
6
|
const sha256_1 = require("@noble/hashes/sha256");
|
|
9
7
|
Object.defineProperty(exports, "sha256", { enumerable: true, get: function () { return sha256_1.sha256; } });
|
|
10
8
|
const secp256k1_1 = require("@noble/curves/secp256k1");
|
|
11
9
|
const Point = secp256k1_1.secp256k1.ProjectivePoint;
|
|
12
10
|
const CURVE_ORDER = secp256k1_1.secp256k1.CURVE.n;
|
|
11
|
+
const { isBytes, concatBytes, equalBytes } = micro_packed_1.utils;
|
|
12
|
+
exports.isBytes = isBytes;
|
|
13
|
+
exports.concatBytes = concatBytes;
|
|
14
|
+
exports.equalBytes = equalBytes;
|
|
13
15
|
const hash160 = (msg) => (0, ripemd160_1.ripemd160)((0, sha256_1.sha256)(msg));
|
|
14
16
|
exports.hash160 = hash160;
|
|
15
|
-
const sha256x2 = (...msgs) => (0, sha256_1.sha256)((0, sha256_1.sha256)(
|
|
17
|
+
const sha256x2 = (...msgs) => (0, sha256_1.sha256)((0, sha256_1.sha256)(concatBytes(...msgs)));
|
|
16
18
|
exports.sha256x2 = sha256x2;
|
|
17
19
|
exports.randomPrivateKeyBytes = secp256k1_1.schnorr.utils.randomPrivateKey;
|
|
18
20
|
exports.pubSchnorr = secp256k1_1.schnorr.getPublicKey;
|
|
@@ -115,7 +117,7 @@ exports.TEST_NETWORK = {
|
|
|
115
117
|
};
|
|
116
118
|
// Exported for tests, internal method
|
|
117
119
|
function compareBytes(a, b) {
|
|
118
|
-
if (!
|
|
120
|
+
if (!isBytes(a) || !isBytes(b))
|
|
119
121
|
throw new Error(`cmp: wrong type a=${typeof a} b=${typeof b}`);
|
|
120
122
|
// -1 -> a<b, 0 -> a==b, 1 -> a>b
|
|
121
123
|
const len = Math.min(a.length, b.length);
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,+CAA2D;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/utxo.d.ts
CHANGED
|
@@ -107,7 +107,7 @@ export declare class _Estimator {
|
|
|
107
107
|
inputs: psbt.ExtendType<psbt.PSBTKeyMapKeys<{
|
|
108
108
|
readonly nonWitnessUtxo: readonly [0, false, P.CoderType<P.StructInput<{
|
|
109
109
|
version: number;
|
|
110
|
-
segwitFlag: boolean;
|
|
110
|
+
segwitFlag: boolean | undefined;
|
|
111
111
|
inputs: P.StructInput<{
|
|
112
112
|
txid: any;
|
|
113
113
|
index: any;
|
|
@@ -180,7 +180,7 @@ export declare function selectUTXO(inputs: psbt.TransactionInputUpdate[], output
|
|
|
180
180
|
inputs: psbt.ExtendType<psbt.PSBTKeyMapKeys<{
|
|
181
181
|
readonly nonWitnessUtxo: readonly [0, false, P.CoderType<P.StructInput<{
|
|
182
182
|
version: number;
|
|
183
|
-
segwitFlag: boolean;
|
|
183
|
+
segwitFlag: boolean | undefined;
|
|
184
184
|
inputs: P.StructInput<{
|
|
185
185
|
txid: any;
|
|
186
186
|
index: any;
|
package/lib/utxo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../src/utxo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAkB,SAAS,EAAuC,MAAM,aAAa,CAAC;AAC7F,OAAO,EAEL,MAAM,EAEN,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../src/utxo.ts"],"names":[],"mappings":"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"}
|
package/lib/utxo.js
CHANGED
|
@@ -161,7 +161,7 @@ function iterLeafs(tapLeafScript, sigSize, customScripts) {
|
|
|
161
161
|
if (csEncoded === undefined)
|
|
162
162
|
continue;
|
|
163
163
|
const pubKeys = scriptDecoded.filter((i) => {
|
|
164
|
-
if (!
|
|
164
|
+
if (!(0, utils_js_1.isBytes)(i))
|
|
165
165
|
return false;
|
|
166
166
|
try {
|
|
167
167
|
(0, utils_js_2.validatePubkey)(i, utils_js_2.PubT.schnorr);
|
|
@@ -188,7 +188,7 @@ function estimateInput(inputType, input, opts) {
|
|
|
188
188
|
// schnorr sig is always 64 bytes. except for cases when sighash is not default!
|
|
189
189
|
if (inputType.txType === 'taproot') {
|
|
190
190
|
const SCHNORR_SIG_SIZE = inputType.sighash !== transaction_js_1.SignatureHash.DEFAULT ? 65 : 64;
|
|
191
|
-
if (input.tapInternalKey && !
|
|
191
|
+
if (input.tapInternalKey && !(0, utils_js_1.equalBytes)(input.tapInternalKey, utils_js_1.TAPROOT_UNSPENDABLE_KEY)) {
|
|
192
192
|
witness = [new Uint8Array(SCHNORR_SIG_SIZE)];
|
|
193
193
|
}
|
|
194
194
|
else if (input.tapLeafScript) {
|
package/lib/utxo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utxo.js","sourceRoot":"","sources":["../src/utxo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utxo.js","sourceRoot":"","sources":["../src/utxo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scure/btc-signer",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "Audited & minimal library for creating, signing & decoding Bitcoin transactions: with Schnorr, Taproot, UTXO & PSBT",
|
|
5
|
-
"files": [
|
|
6
|
-
"lib",
|
|
7
|
-
"src"
|
|
8
|
-
],
|
|
5
|
+
"files": ["lib", "src"],
|
|
9
6
|
"main": "lib/index.js",
|
|
10
7
|
"module": "lib/esm/index.js",
|
|
11
8
|
"types": "lib/index.d.ts",
|
|
@@ -55,7 +52,7 @@
|
|
|
55
52
|
"@noble/curves": "~1.4.0",
|
|
56
53
|
"@noble/hashes": "~1.4.0",
|
|
57
54
|
"@scure/base": "~1.1.6",
|
|
58
|
-
"micro-packed": "~0.
|
|
55
|
+
"micro-packed": "~0.6.2"
|
|
59
56
|
},
|
|
60
57
|
"devDependencies": {
|
|
61
58
|
"@paulmillr/jsbt": "0.1.0",
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
/*! scure-btc-signer - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
isBytes,
|
|
4
|
+
concatBytes,
|
|
5
|
+
compareBytes,
|
|
6
|
+
pubSchnorr,
|
|
7
|
+
randomPrivateKeyBytes,
|
|
8
|
+
taprootTweakPubkey,
|
|
9
|
+
} from './utils.js';
|
|
3
10
|
// prettier-ignore
|
|
4
11
|
export {
|
|
5
12
|
p2pk, p2pkh, p2sh, p2ms, p2wsh, p2wpkh, p2tr, p2tr_ns, p2tr_ms, p2tr_pk,
|
|
@@ -14,7 +21,14 @@ export { Transaction } from './transaction.js';
|
|
|
14
21
|
export { getInputType, selectUTXO } from './utxo.js';
|
|
15
22
|
export { NETWORK, TEST_NETWORK, TAPROOT_UNSPENDABLE_KEY } from './utils.js';
|
|
16
23
|
|
|
17
|
-
export const utils = {
|
|
24
|
+
export const utils = {
|
|
25
|
+
isBytes,
|
|
26
|
+
concatBytes,
|
|
27
|
+
compareBytes,
|
|
28
|
+
pubSchnorr,
|
|
29
|
+
randomPrivateKeyBytes,
|
|
30
|
+
taprootTweakPubkey,
|
|
31
|
+
};
|
|
18
32
|
|
|
19
33
|
// Utils
|
|
20
34
|
// prettier-ignore
|
package/src/payment.ts
CHANGED
|
@@ -258,7 +258,7 @@ export type OutScriptType = typeof OutScript;
|
|
|
258
258
|
|
|
259
259
|
// Basic sanity check for scripts
|
|
260
260
|
function checkWSH(s: OutWSHType, witnessScript: Bytes) {
|
|
261
|
-
if (!
|
|
261
|
+
if (!u.equalBytes(s.hash, u.sha256(witnessScript)))
|
|
262
262
|
throw new Error('checkScript: wsh wrong witnessScript hash');
|
|
263
263
|
const w = OutScript.decode(witnessScript);
|
|
264
264
|
if (w.type === 'tr' || w.type === 'tr_ns' || w.type === 'tr_ms')
|
|
@@ -274,7 +274,7 @@ export function checkScript(script?: Bytes, redeemScript?: Bytes, witnessScript?
|
|
|
274
274
|
if (s.type === 'tr_ns' || s.type === 'tr_ms' || s.type === 'ms' || s.type == 'pk')
|
|
275
275
|
throw new Error(`checkScript: non-wrapped ${s.type}`);
|
|
276
276
|
if (s.type === 'sh' && redeemScript) {
|
|
277
|
-
if (!
|
|
277
|
+
if (!u.equalBytes(s.hash, u.hash160(redeemScript)))
|
|
278
278
|
throw new Error('checkScript: sh wrong redeemScript hash');
|
|
279
279
|
const r = OutScript.decode(redeemScript);
|
|
280
280
|
if (r.type === 'tr' || r.type === 'tr_ns' || r.type === 'tr_ms')
|
|
@@ -390,7 +390,7 @@ function checkTaprootScript(
|
|
|
390
390
|
const outms = out as OutTRNSType | OutTRMSType;
|
|
391
391
|
if (!allowUnknownOutputs && outms.pubkeys) {
|
|
392
392
|
for (const p of outms.pubkeys) {
|
|
393
|
-
if (
|
|
393
|
+
if (u.equalBytes(p, u.TAPROOT_UNSPENDABLE_KEY))
|
|
394
394
|
throw new Error('Unspendable taproot key in leaf script');
|
|
395
395
|
// It's likely a mistake at this point:
|
|
396
396
|
// 1. p2tr(A, p2tr_ns(2, [A, B])) == p2tr(A, p2tr_pk(B)) (A or B key)
|
|
@@ -399,7 +399,7 @@ function checkTaprootScript(
|
|
|
399
399
|
// User creates 2 of 3 multisig of keys [A, B, C],
|
|
400
400
|
// but key A always can spend whole output without signatures from other keys.
|
|
401
401
|
// p2tr(A, p2tr_ns(2, [B, C, D])) is ok: A or (B and C) or (B and D) or (C and D)
|
|
402
|
-
if (
|
|
402
|
+
if (u.equalBytes(p, internalPubKey)) {
|
|
403
403
|
throw new Error(
|
|
404
404
|
'Using P2TR with leaf script with same key as internal key is not supported'
|
|
405
405
|
);
|
|
@@ -500,7 +500,7 @@ function taprootHashTree(
|
|
|
500
500
|
if (!Array.isArray(tree)) {
|
|
501
501
|
const { leafVersion: version, script: leafScript } = tree;
|
|
502
502
|
// Earliest tree walk where we can validate tapScripts
|
|
503
|
-
if (tree.tapLeafScript || (tree.tapMerkleRoot && !
|
|
503
|
+
if (tree.tapLeafScript || (tree.tapMerkleRoot && !u.equalBytes(tree.tapMerkleRoot, P.EMPTY)))
|
|
504
504
|
throw new Error('P2TR: tapRoot leafScript cannot have tree');
|
|
505
505
|
const script = typeof leafScript === 'string' ? hex.decode(leafScript) : leafScript;
|
|
506
506
|
if (!u.isBytes(script)) throw new Error(`checkScript: wrong script type=${script}`);
|
package/src/psbt.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { hex } from '@scure/base';
|
|
|
2
2
|
import * as P from 'micro-packed';
|
|
3
3
|
import { CompactSize, CompactSizeLen, RawOutput, RawTx, RawWitness, VarBytes } from './script.js';
|
|
4
4
|
import { Transaction } from './transaction.js'; // circular
|
|
5
|
-
import { Bytes, compareBytes, PubT, validatePubkey } from './utils.js';
|
|
5
|
+
import { Bytes, compareBytes, PubT, validatePubkey, equalBytes } from './utils.js';
|
|
6
6
|
|
|
7
7
|
// PSBT BIP174, BIP370, BIP371
|
|
8
8
|
|
|
@@ -272,8 +272,7 @@ export const PSBTInputCoder = P.validate(PSBTKeyMap(PSBTInput), (i) => {
|
|
|
272
272
|
const prevOut = i.nonWitnessUtxo.outputs[i.index];
|
|
273
273
|
if (
|
|
274
274
|
i.witnessUtxo &&
|
|
275
|
-
(!
|
|
276
|
-
i.witnessUtxo.amount !== prevOut.amount)
|
|
275
|
+
(!equalBytes(i.witnessUtxo.script, prevOut.script) || i.witnessUtxo.amount !== prevOut.amount)
|
|
277
276
|
)
|
|
278
277
|
throw new Error('validateInput: witnessUtxo different from nonWitnessUtxo');
|
|
279
278
|
}
|
|
@@ -499,7 +498,7 @@ export function mergeKeyMap<T extends PSBTKeyMap>(
|
|
|
499
498
|
} else if (typeof res[k] === 'string') {
|
|
500
499
|
res[k] = vC.decode(hex.decode(res[k] as string));
|
|
501
500
|
} else if (cannotChange && k in val && cur && cur[k] !== undefined) {
|
|
502
|
-
if (!
|
|
501
|
+
if (!equalBytes(vC.encode(val[k]), vC.encode(cur[k])))
|
|
503
502
|
throw new Error(`Cannot change signed field=${k}`);
|
|
504
503
|
}
|
|
505
504
|
}
|
package/src/script.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as P from 'micro-packed';
|
|
2
|
+
import { isBytes } from './utils.js';
|
|
2
3
|
|
|
3
4
|
export const MAX_SCRIPT_BYTE_LENGTH = 520;
|
|
4
5
|
|
|
@@ -57,10 +58,11 @@ export function ScriptNum(bytesLimit = 6, forceMinimal = false): P.CoderType<big
|
|
|
57
58
|
throw new Error(`ScriptNum: number (${len}) bigger than limit=${bytesLimit}`);
|
|
58
59
|
if (len === 0) return 0n;
|
|
59
60
|
if (forceMinimal) {
|
|
61
|
+
const data = r.bytes(len, true);
|
|
60
62
|
// MSB is zero (without sign bit) -> not minimally encoded
|
|
61
|
-
if ((
|
|
63
|
+
if ((data[data.length - 1] & 0x7f) === 0) {
|
|
62
64
|
// exception
|
|
63
|
-
if (len <= 1 || (
|
|
65
|
+
if (len <= 1 || (data[data.length - 2] & 0x80) === 0)
|
|
64
66
|
throw new Error('Non-minimally encoded ScriptNum');
|
|
65
67
|
}
|
|
66
68
|
}
|
|
@@ -81,7 +83,7 @@ export function ScriptNum(bytesLimit = 6, forceMinimal = false): P.CoderType<big
|
|
|
81
83
|
|
|
82
84
|
export function OpToNum(op: ScriptOP, bytesLimit = 4, forceMinimal = true) {
|
|
83
85
|
if (typeof op === 'number') return op;
|
|
84
|
-
if (
|
|
86
|
+
if (isBytes(op)) {
|
|
85
87
|
try {
|
|
86
88
|
const val = ScriptNum(bytesLimit, forceMinimal).decode(op);
|
|
87
89
|
if (val > Number.MAX_SAFE_INTEGER) return;
|
|
@@ -120,7 +122,7 @@ export const Script: P.CoderType<ScriptType> = P.wrap({
|
|
|
120
122
|
}
|
|
121
123
|
// Encode big numbers
|
|
122
124
|
if (typeof o === 'number') o = ScriptNum().encode(BigInt(o));
|
|
123
|
-
if (!
|
|
125
|
+
if (!isBytes(o)) throw new Error(`Wrong Script OP=${o} (${typeof o})`);
|
|
124
126
|
// Bytes
|
|
125
127
|
const len = o.length;
|
|
126
128
|
if (len < OP.PUSHDATA1) w.byte(len);
|
|
@@ -195,7 +197,7 @@ export const CompactSize: P.CoderType<bigint> = P.wrap({
|
|
|
195
197
|
});
|
|
196
198
|
|
|
197
199
|
// Same thing, but in number instead of bigint. Checks for safe integer inside
|
|
198
|
-
export const CompactSizeLen = P.apply(CompactSize, P.coders.
|
|
200
|
+
export const CompactSizeLen = P.apply(CompactSize, P.coders.numberBigint);
|
|
199
201
|
|
|
200
202
|
// ui8a of size <CompactSize>
|
|
201
203
|
export const VarBytes = P.bytes(CompactSize);
|
package/src/transaction.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { hex } from '@scure/base';
|
|
|
4
4
|
import { Address, CustomScript, OutScript, checkScript, tapLeafHash } from './payment.js';
|
|
5
5
|
import * as psbt from './psbt.js'; // circular
|
|
6
6
|
import { CompactSizeLen, RawOutput, RawTx, RawWitness, Script, VarBytes } from './script.js';
|
|
7
|
-
import { NETWORK, Bytes, concatBytes, isBytes } from './utils.js';
|
|
7
|
+
import { NETWORK, Bytes, concatBytes, isBytes, equalBytes } from './utils.js';
|
|
8
8
|
import * as u from './utils.js';
|
|
9
9
|
import { getInputType, toVsize, normalizeInput, getPrevOut } from './utxo.js'; // circular
|
|
10
10
|
|
|
@@ -108,7 +108,7 @@ function getTaprootKeys(
|
|
|
108
108
|
internalKey: Bytes,
|
|
109
109
|
merkleRoot: Bytes = P.EMPTY
|
|
110
110
|
) {
|
|
111
|
-
if (
|
|
111
|
+
if (equalBytes(internalKey, pubKey)) {
|
|
112
112
|
privKey = u.taprootTweakPrivKey(privKey, merkleRoot);
|
|
113
113
|
pubKey = u.pubSchnorr(privKey);
|
|
114
114
|
}
|
|
@@ -700,7 +700,7 @@ export class Transaction {
|
|
|
700
700
|
.map(([pubKey, { path }]) => {
|
|
701
701
|
let s = privateKey as HDKey;
|
|
702
702
|
for (const i of path) s = s.deriveChild(i);
|
|
703
|
-
if (!
|
|
703
|
+
if (!equalBytes(s.publicKey, pubKey)) throw new Error('bip32Derivation: wrong pubKey');
|
|
704
704
|
if (!s.privateKey) throw new Error('bip32Derivation: no privateKey');
|
|
705
705
|
return s;
|
|
706
706
|
});
|
|
@@ -754,7 +754,7 @@ export class Transaction {
|
|
|
754
754
|
merkleRoot
|
|
755
755
|
);
|
|
756
756
|
const [taprootPubKey, _] = u.taprootTweakPubkey(input.tapInternalKey, merkleRoot);
|
|
757
|
-
if (
|
|
757
|
+
if (equalBytes(taprootPubKey, pubKey)) {
|
|
758
758
|
const hash = this.preimageWitnessV1(idx, prevOutScript, sighash, amount);
|
|
759
759
|
const sig = concatBytes(
|
|
760
760
|
u.signSchnorr(hash, privKey, _auxRand),
|
|
@@ -772,7 +772,7 @@ export class Transaction {
|
|
|
772
772
|
const ver = _script[_script.length - 1];
|
|
773
773
|
const hash = tapLeafHash(script, ver);
|
|
774
774
|
// NOTE: no need to tweak internal key here, since we don't support nested p2tr
|
|
775
|
-
const pos = scriptDecoded.findIndex((i) => isBytes(i) &&
|
|
775
|
+
const pos = scriptDecoded.findIndex((i) => isBytes(i) && equalBytes(i, schnorrPub));
|
|
776
776
|
// Skip if there is no public key in tapLeafScript
|
|
777
777
|
if (pos === -1) continue;
|
|
778
778
|
const msg = this.preimageWitnessV1(
|
|
@@ -806,8 +806,7 @@ export class Transaction {
|
|
|
806
806
|
let hasPubkey = false;
|
|
807
807
|
const pubKeyHash = u.hash160(pubKey);
|
|
808
808
|
for (const i of Script.decode(inputType.lastScript)) {
|
|
809
|
-
if (isBytes(i) && (
|
|
810
|
-
hasPubkey = true;
|
|
809
|
+
if (isBytes(i) && (equalBytes(i, pubKey) || equalBytes(i, pubKeyHash))) hasPubkey = true;
|
|
811
810
|
}
|
|
812
811
|
if (!hasPubkey) throw new Error(`Input script doesn't have pubKey: ${inputType.lastScript}`);
|
|
813
812
|
let hash;
|
|
@@ -870,14 +869,14 @@ export class Transaction {
|
|
|
870
869
|
const ver = _script[_script.length - 1];
|
|
871
870
|
const outScript = OutScript.decode(script);
|
|
872
871
|
const hash = tapLeafHash(script, ver);
|
|
873
|
-
const scriptSig = input.tapScriptSig.filter((i) =>
|
|
872
|
+
const scriptSig = input.tapScriptSig.filter((i) => equalBytes(i[0].leafHash, hash));
|
|
874
873
|
let signatures: Bytes[] = [];
|
|
875
874
|
if (outScript.type === 'tr_ms') {
|
|
876
875
|
const m = outScript.m;
|
|
877
876
|
const pubkeys = outScript.pubkeys;
|
|
878
877
|
let added = 0;
|
|
879
878
|
for (const pub of pubkeys) {
|
|
880
|
-
const sigIdx = scriptSig.findIndex((i) =>
|
|
879
|
+
const sigIdx = scriptSig.findIndex((i) => equalBytes(i[0].pubKey, pub));
|
|
881
880
|
// Should have exact amount of signatures (more -- will fail)
|
|
882
881
|
if (added === m || sigIdx === -1) {
|
|
883
882
|
signatures.push(P.EMPTY);
|
|
@@ -890,7 +889,7 @@ export class Transaction {
|
|
|
890
889
|
if (added !== m) continue;
|
|
891
890
|
} else if (outScript.type === 'tr_ns') {
|
|
892
891
|
for (const pub of outScript.pubkeys) {
|
|
893
|
-
const sigIdx = scriptSig.findIndex((i) =>
|
|
892
|
+
const sigIdx = scriptSig.findIndex((i) => equalBytes(i[0].pubKey, pub));
|
|
894
893
|
if (sigIdx === -1) continue;
|
|
895
894
|
signatures.push(scriptSig[sigIdx][1]);
|
|
896
895
|
}
|
|
@@ -900,7 +899,7 @@ export class Transaction {
|
|
|
900
899
|
const scriptDecoded = Script.decode(script);
|
|
901
900
|
signatures = scriptSig
|
|
902
901
|
.map(([{ pubKey }, signature]) => {
|
|
903
|
-
const pos = scriptDecoded.findIndex((i) => isBytes(i) &&
|
|
902
|
+
const pos = scriptDecoded.findIndex((i) => isBytes(i) && equalBytes(i, pubKey));
|
|
904
903
|
if (pos === -1)
|
|
905
904
|
throw new Error('finalize/taproot: cannot find position of pubkey in script');
|
|
906
905
|
return { signature, pos };
|
|
@@ -951,7 +950,7 @@ export class Transaction {
|
|
|
951
950
|
let signatures = [];
|
|
952
951
|
// partial: [pubkey, sign]
|
|
953
952
|
for (const pub of pubkeys) {
|
|
954
|
-
const sign = input.partialSig.find((s) =>
|
|
953
|
+
const sign = input.partialSig.find((s) => equalBytes(pub, s[0]));
|
|
955
954
|
if (!sign) continue;
|
|
956
955
|
signatures.push(sign[1]);
|
|
957
956
|
}
|
|
@@ -1024,7 +1023,7 @@ export class Transaction {
|
|
|
1024
1023
|
}
|
|
1025
1024
|
const thisUnsigned = this.global.unsignedTx ? RawTx.encode(this.global.unsignedTx) : P.EMPTY;
|
|
1026
1025
|
const otherUnsigned = other.global.unsignedTx ? RawTx.encode(other.global.unsignedTx) : P.EMPTY;
|
|
1027
|
-
if (!
|
|
1026
|
+
if (!equalBytes(thisUnsigned, otherUnsigned))
|
|
1028
1027
|
throw new Error(`Transaction/combine: different unsigned tx`);
|
|
1029
1028
|
this.global = psbt.mergeKeyMap(psbt.PSBTGlobal, this.global, other.global);
|
|
1030
1029
|
for (let i = 0; i < this.inputs.length; i++) this.updateInput(i, other.inputs[i], true);
|
package/src/utils.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { utils as packedUtils, U32LE } from 'micro-packed';
|
|
2
2
|
import { ripemd160 } from '@noble/hashes/ripemd160';
|
|
3
3
|
import { sha256 } from '@noble/hashes/sha256';
|
|
4
4
|
import { secp256k1 as secp, schnorr } from '@noble/curves/secp256k1';
|
|
@@ -7,7 +7,8 @@ export type Bytes = Uint8Array;
|
|
|
7
7
|
const Point = secp.ProjectivePoint;
|
|
8
8
|
const CURVE_ORDER = secp.CURVE.n;
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
const { isBytes, concatBytes, equalBytes } = packedUtils;
|
|
11
|
+
export { sha256, isBytes, concatBytes, equalBytes };
|
|
11
12
|
|
|
12
13
|
export const hash160 = (msg: Bytes) => ripemd160(sha256(msg));
|
|
13
14
|
export const sha256x2 = (...msgs: Bytes[]) => sha256(sha256(concatBytes(...msgs)));
|
package/src/utxo.ts
CHANGED
|
@@ -10,7 +10,15 @@ import {
|
|
|
10
10
|
SignatureHash,
|
|
11
11
|
Transaction,
|
|
12
12
|
} from './transaction.js'; // circular
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
NETWORK,
|
|
15
|
+
Bytes,
|
|
16
|
+
compareBytes,
|
|
17
|
+
equalBytes,
|
|
18
|
+
isBytes,
|
|
19
|
+
TAPROOT_UNSPENDABLE_KEY,
|
|
20
|
+
sha256,
|
|
21
|
+
} from './utils.js';
|
|
14
22
|
import { validatePubkey, PubT } from './utils.js';
|
|
15
23
|
|
|
16
24
|
// Normalizes input
|
|
@@ -153,7 +161,7 @@ function iterLeafs(tapLeafScript: TapLeafScript, sigSize: number, customScripts?
|
|
|
153
161
|
const csEncoded = c.encode(scriptDecoded);
|
|
154
162
|
if (csEncoded === undefined) continue;
|
|
155
163
|
const pubKeys = scriptDecoded.filter((i) => {
|
|
156
|
-
if (!
|
|
164
|
+
if (!isBytes(i)) return false;
|
|
157
165
|
try {
|
|
158
166
|
validatePubkey(i, PubT.schnorr);
|
|
159
167
|
return true;
|
|
@@ -187,7 +195,7 @@ function estimateInput(
|
|
|
187
195
|
// schnorr sig is always 64 bytes. except for cases when sighash is not default!
|
|
188
196
|
if (inputType.txType === 'taproot') {
|
|
189
197
|
const SCHNORR_SIG_SIZE = inputType.sighash !== SignatureHash.DEFAULT ? 65 : 64;
|
|
190
|
-
if (input.tapInternalKey && !
|
|
198
|
+
if (input.tapInternalKey && !equalBytes(input.tapInternalKey, TAPROOT_UNSPENDABLE_KEY)) {
|
|
191
199
|
witness = [new Uint8Array(SCHNORR_SIG_SIZE)];
|
|
192
200
|
} else if (input.tapLeafScript) {
|
|
193
201
|
witness = iterLeafs(input.tapLeafScript, SCHNORR_SIG_SIZE, opts.customScripts);
|