@scure/btc-signer 1.0.1 → 1.1.1

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/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
package/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { secp256k1 as _secp, schnorr } from '@noble/curves/secp256k1';
3
3
  import { sha256 } from '@noble/hashes/sha256';
4
4
  import { ripemd160 } from '@noble/hashes/ripemd160';
5
- import { hex, base58check as _b58, bech32, bech32m } from '@scure/base';
5
+ import { hex, createBase58check, bech32, bech32m } from '@scure/base';
6
6
  import * as P from 'micro-packed';
7
7
  const { ProjectivePoint: ProjPoint, sign: _signECDSA, getPublicKey: _pubECDSA } = _secp;
8
8
  const CURVE_ORDER = _secp.CURVE.n;
@@ -13,7 +13,7 @@ const hash160 = (msg) => ripemd160(sha256(msg));
13
13
  const sha256x2 = (...msgs) => sha256(sha256(concat(...msgs)));
14
14
  const concat = P.concatBytes;
15
15
  // Make base58check work
16
- export const base58check = _b58(sha256);
16
+ export const base58check = createBase58check(sha256);
17
17
  export function cloneDeep(obj) {
18
18
  if (Array.isArray(obj))
19
19
  return obj.map((i) => cloneDeep(i));
@@ -431,6 +431,7 @@ export function OpToNum(op, bytesLimit = 4, forceMinimal = true) {
431
431
  return;
432
432
  }
433
433
  }
434
+ return;
434
435
  }
435
436
  // BTC specific variable length integer encoding
436
437
  // https://en.bitcoin.it/wiki/Protocol_documentation#Variable_length_integer
@@ -475,9 +476,9 @@ export const BTCArray = (t) => P.array(CompactSize, t);
475
476
  // ui8a of size <CompactSize>
476
477
  export const VarBytes = P.bytes(CompactSize);
477
478
  export const RawInput = P.struct({
478
- txid: P.bytes(32, true),
479
- index: P.U32LE,
480
- finalScriptSig: VarBytes,
479
+ txid: P.bytes(32, true), // hash(prev_tx),
480
+ index: P.U32LE, // output number of previous tx
481
+ finalScriptSig: VarBytes, // btc merges input and output script, executes it. If ok = tx passes
481
482
  sequence: P.U32LE, // ?
482
483
  });
483
484
  export const RawOutput = P.struct({ amount: P.U64LE, script: VarBytes });
@@ -516,7 +517,7 @@ const BIP32Der = P.struct({
516
517
  // Complex structure for PSBT fields
517
518
  // <control byte with leaf version and parity bit> <internal key p> <C> <E> <AB>
518
519
  const _TaprootControlBlock = P.struct({
519
- version: P.U8,
520
+ version: P.U8, // With parity :(
520
521
  internalKey: P.bytes(32),
521
522
  merklePath: P.array(null, P.bytes(32)),
522
523
  });
@@ -553,7 +554,7 @@ const PSBTGlobal = {
553
554
  fallbackLocktime: [0x03, false, P.U32LE, [], [2], false],
554
555
  inputCount: [0x04, false, CompactSizeLen, [2], [2], false],
555
556
  outputCount: [0x05, false, CompactSizeLen, [2], [2], false],
556
- txModifiable: [0x06, false, P.U8, [], [2], false],
557
+ txModifiable: [0x06, false, P.U8, [], [2], false], // TODO: bitfield
557
558
  version: [0xfb, false, P.U32LE, [], [0, 2], false],
558
559
  proprietary: [0xfc, BytesInf, BytesInf, [], [0, 2], false],
559
560
  };
@@ -746,10 +747,10 @@ const PSBTInputCoder = P.validate(PSBTKeyMap(PSBTInput), (i) => {
746
747
  if (i.partialSig && !i.partialSig.length)
747
748
  throw new Error('Empty partialSig');
748
749
  if (i.partialSig)
749
- for (const [k, v] of i.partialSig)
750
+ for (const [k] of i.partialSig)
750
751
  validatePubkey(k, PubT.ecdsa);
751
752
  if (i.bip32Derivation)
752
- for (const [k, v] of i.bip32Derivation)
753
+ for (const [k] of i.bip32Derivation)
753
754
  validatePubkey(k, PubT.ecdsa);
754
755
  // Locktime = unsigned little endian integer greater than or equal to 500000000 representing
755
756
  if (i.requiredTimeLocktime !== undefined && i.requiredTimeLocktime < 500000000)
@@ -791,7 +792,7 @@ const PSBTInputCoder = P.validate(PSBTKeyMap(PSBTInput), (i) => {
791
792
  });
792
793
  const PSBTOutputCoder = P.validate(PSBTKeyMap(PSBTOutput), (o) => {
793
794
  if (o.bip32Derivation)
794
- for (const [k, v] of o.bip32Derivation)
795
+ for (const [k] of o.bip32Derivation)
795
796
  validatePubkey(k, PubT.ecdsa);
796
797
  return o;
797
798
  });
@@ -966,7 +967,9 @@ const OutPK = {
966
967
  },
967
968
  decode: (to) => (to.type === 'pk' ? [to.pubkey, 'CHECKSIG'] : undefined),
968
969
  };
970
+ // @ts-ignore
969
971
  export const p2pk = (pubkey, network = NETWORK) => {
972
+ // network is unused
970
973
  if (!isValidPubkey(pubkey, PubT.ecdsa))
971
974
  throw new Error('P2PK: invalid publicKey');
972
975
  return {
@@ -1121,34 +1124,47 @@ export function taprootListToTree(taprootList) {
1121
1124
  const last = lst[0];
1122
1125
  return (last?.childs || last);
1123
1126
  }
1124
- function checkTaprootScript(script, allowUnknowOutput = false) {
1127
+ function checkTaprootScript(script, internalPubKey, allowUnknownOutputs = false) {
1125
1128
  const out = OutScript.decode(script);
1126
- if (out.type === 'unknown' && allowUnknowOutput)
1129
+ if (out.type === 'unknown' && allowUnknownOutputs)
1127
1130
  return;
1128
1131
  if (!['tr_ns', 'tr_ms'].includes(out.type))
1129
1132
  throw new Error(`P2TR: invalid leaf script=${out.type}`);
1133
+ const outms = out;
1134
+ if (!allowUnknownOutputs && outms.pubkeys) {
1135
+ for (const p of outms.pubkeys) {
1136
+ if (P.equalBytes(p, TAPROOT_UNSPENDABLE_KEY))
1137
+ throw new Error('Unspendable taproot key in leaf script');
1138
+ // It's likely a mistake at this point:
1139
+ // 1. p2tr(A, p2tr_ns(2, [A, B])) == p2tr(A, p2tr_pk(B)) (A or B key)
1140
+ // but will take more space and fees.
1141
+ // 2. For multi-sig p2tr(A, p2tr_ns(2, [A, B, C])) it's probably a security issue:
1142
+ // User creates 2 of 3 multisig of keys [A, B, C],
1143
+ // but key A always can spend whole output without signatures from other keys.
1144
+ // p2tr(A, p2tr_ns(2, [B, C, D])) is ok: A or (B and C) or (B and D) or (C and D)
1145
+ if (P.equalBytes(p, internalPubKey)) {
1146
+ throw new Error('Using P2TR with leaf script with same key as internal key is not supported');
1147
+ }
1148
+ }
1149
+ }
1130
1150
  }
1131
- function taprootHashTree(tree, allowUnknowOutput = false) {
1151
+ function taprootHashTree(tree, internalPubKey, allowUnknownOutputs = false) {
1132
1152
  if (!tree)
1133
1153
  throw new Error('taprootHashTree: empty tree');
1134
1154
  if (Array.isArray(tree) && tree.length === 1)
1135
1155
  tree = tree[0];
1136
1156
  // Terminal node (leaf)
1137
1157
  if (!Array.isArray(tree)) {
1138
- const { leafVersion: version, script: leafScript, tapInternalKey } = tree;
1158
+ const { leafVersion: version, script: leafScript } = tree;
1139
1159
  // Earliest tree walk where we can validate tapScripts
1140
1160
  if (tree.tapLeafScript || (tree.tapMerkleRoot && !P.equalBytes(tree.tapMerkleRoot, P.EMPTY)))
1141
1161
  throw new Error('P2TR: tapRoot leafScript cannot have tree');
1142
- // Just to be sure that it is spendable
1143
- if (tapInternalKey && P.equalBytes(tapInternalKey, TAPROOT_UNSPENDABLE_KEY))
1144
- throw new Error('P2TR: tapRoot leafScript cannot have unspendble key');
1145
1162
  const script = typeof leafScript === 'string' ? hex.decode(leafScript) : leafScript;
1146
1163
  if (!isBytes(script))
1147
1164
  throw new Error(`checkScript: wrong script type=${script}`);
1148
- checkTaprootScript(script, allowUnknowOutput);
1165
+ checkTaprootScript(script, internalPubKey, allowUnknownOutputs);
1149
1166
  return {
1150
1167
  type: 'leaf',
1151
- tapInternalKey,
1152
1168
  version,
1153
1169
  script,
1154
1170
  hash: tapLeafHash(script, version),
@@ -1161,8 +1177,8 @@ function taprootHashTree(tree, allowUnknowOutput = false) {
1161
1177
  throw new Error('hashTree: non binary tree!');
1162
1178
  // branch
1163
1179
  // Both nodes should exist
1164
- const left = taprootHashTree(tree[0], allowUnknowOutput);
1165
- const right = taprootHashTree(tree[1], allowUnknowOutput);
1180
+ const left = taprootHashTree(tree[0], internalPubKey, allowUnknownOutputs);
1181
+ const right = taprootHashTree(tree[1], internalPubKey, allowUnknownOutputs);
1166
1182
  // We cannot swap left/right here, since it will change structure of tree
1167
1183
  let [lH, rH] = [left.hash, right.hash];
1168
1184
  if (_cmpBytes(rH, lH) === -1)
@@ -1203,7 +1219,7 @@ export const TAPROOT_UNSPENDABLE_KEY = sha256(ProjPoint.BASE.toRawBytes(false));
1203
1219
  // Works as key OR tree.
1204
1220
  // If we only have tree, need to add unspendable key, otherwise
1205
1221
  // complex multisig wallet can be spent by owner of key only. See TAPROOT_UNSPENDABLE_KEY
1206
- export function p2tr(internalPubKey, tree, network = NETWORK, allowUnknowOutput = false) {
1222
+ export function p2tr(internalPubKey, tree, network = NETWORK, allowUnknownOutputs = false) {
1207
1223
  // Unspendable
1208
1224
  if (!internalPubKey && !tree)
1209
1225
  throw new Error('p2tr: should have pubKey or scriptTree (or both)');
@@ -1212,7 +1228,9 @@ export function p2tr(internalPubKey, tree, network = NETWORK, allowUnknowOutput
1212
1228
  : internalPubKey || TAPROOT_UNSPENDABLE_KEY;
1213
1229
  if (!isValidPubkey(pubKey, PubT.schnorr))
1214
1230
  throw new Error('p2tr: non-schnorr pubkey');
1215
- let hashedTree = tree ? taprootAddPath(taprootHashTree(tree, allowUnknowOutput)) : undefined;
1231
+ let hashedTree = tree
1232
+ ? taprootAddPath(taprootHashTree(tree, pubKey, allowUnknownOutputs))
1233
+ : undefined;
1216
1234
  const tapMerkleRoot = hashedTree ? hashedTree.hash : undefined;
1217
1235
  const [tweakedPubkey, parity] = taprootTweakPubkey(pubKey, tapMerkleRoot || P.EMPTY);
1218
1236
  let leaves;
@@ -1221,7 +1239,7 @@ export function p2tr(internalPubKey, tree, network = NETWORK, allowUnknowOutput
1221
1239
  ...l,
1222
1240
  controlBlock: TaprootControlBlock.encode({
1223
1241
  version: (l.version || TAP_LEAF_VERSION) + parity,
1224
- internalKey: l.tapInternalKey || pubKey,
1242
+ internalKey: pubKey,
1225
1243
  merklePath: l.path,
1226
1244
  }),
1227
1245
  }));
@@ -1512,7 +1530,7 @@ export function Address(network = NETWORK) {
1512
1530
  else if (version === 1 && data.length === 32)
1513
1531
  return { type: 'tr', pubkey: data };
1514
1532
  else
1515
- throw new Error('Unkown witness program');
1533
+ throw new Error('Unknown witness program');
1516
1534
  }
1517
1535
  const data = base58check.decode(address);
1518
1536
  if (data.length !== 21)
@@ -1532,6 +1550,10 @@ export function Address(network = NETWORK) {
1532
1550
  };
1533
1551
  }
1534
1552
  // /Address
1553
+ /**
1554
+ * Internal, exported only for backwards-compat. Use `SigHash` instead.
1555
+ * @deprecated
1556
+ */
1535
1557
  export var SignatureHash;
1536
1558
  (function (SignatureHash) {
1537
1559
  SignatureHash[SignatureHash["DEFAULT"] = 0] = "DEFAULT";
@@ -1540,7 +1562,22 @@ export var SignatureHash;
1540
1562
  SignatureHash[SignatureHash["SINGLE"] = 3] = "SINGLE";
1541
1563
  SignatureHash[SignatureHash["ANYONECANPAY"] = 128] = "ANYONECANPAY";
1542
1564
  })(SignatureHash || (SignatureHash = {}));
1543
- export const SigHashCoder = P.apply(P.U32LE, P.coders.tsEnum(SignatureHash));
1565
+ export var SigHash;
1566
+ (function (SigHash) {
1567
+ SigHash[SigHash["DEFAULT"] = 0] = "DEFAULT";
1568
+ SigHash[SigHash["ALL"] = 1] = "ALL";
1569
+ SigHash[SigHash["NONE"] = 2] = "NONE";
1570
+ SigHash[SigHash["SINGLE"] = 3] = "SINGLE";
1571
+ SigHash[SigHash["DEFAULT_ANYONECANPAY"] = 128] = "DEFAULT_ANYONECANPAY";
1572
+ SigHash[SigHash["ALL_ANYONECANPAY"] = 129] = "ALL_ANYONECANPAY";
1573
+ SigHash[SigHash["NONE_ANYONECANPAY"] = 130] = "NONE_ANYONECANPAY";
1574
+ SigHash[SigHash["SINGLE_ANYONECANPAY"] = 131] = "SINGLE_ANYONECANPAY";
1575
+ })(SigHash || (SigHash = {}));
1576
+ function validateSigHash(s) {
1577
+ if (typeof s !== 'number' || typeof SigHash[s] !== 'string')
1578
+ throw new Error(`Invalid SigHash=${s}`);
1579
+ return s;
1580
+ }
1544
1581
  function unpackSighash(hashType) {
1545
1582
  const masked = hashType & 0b0011111;
1546
1583
  return {
@@ -1583,17 +1620,21 @@ function getTaprootKeys(privKey, pubKey, internalKey, merkleRoot = P.EMPTY) {
1583
1620
  }
1584
1621
  return { privKey, pubKey };
1585
1622
  }
1586
- // Check if object doens't have custom constructor (like Uint8Array/Array)
1587
- const isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;
1623
+ const toStr = {}.toString;
1588
1624
  function validateOpts(opts) {
1589
- if (!isPlainObject(opts))
1625
+ if (opts !== undefined && toStr.call(opts) !== '[object Object]')
1590
1626
  throw new Error(`Wrong object type for transaction options: ${opts}`);
1591
1627
  const _opts = {
1592
1628
  ...opts,
1629
+ // Defaults
1593
1630
  version: def(opts.version, DEFAULT_VERSION),
1594
1631
  lockTime: def(opts.lockTime, 0),
1595
1632
  PSBTVersion: def(opts.PSBTVersion, 0),
1596
- }; // Defaults
1633
+ };
1634
+ if (typeof _opts.allowUnknowInput !== 'undefined')
1635
+ opts.allowUnknownInputs = _opts.allowUnknowInput;
1636
+ if (typeof _opts.allowUnknowOutput !== 'undefined')
1637
+ opts.allowUnknownOutputs = _opts.allowUnknowOutput;
1597
1638
  // 0 and -1 happens in tests
1598
1639
  if (![-1, 0, 1, 2].includes(_opts.version))
1599
1640
  throw new Error(`Unknown version: ${_opts.version}`);
@@ -1606,8 +1647,8 @@ function validateOpts(opts) {
1606
1647
  throw new Error(`Unknown PSBT version ${_opts.PSBTVersion}`);
1607
1648
  // Flags
1608
1649
  for (const k of [
1609
- 'allowUnknowOutput',
1610
- 'allowUnknowInput',
1650
+ 'allowUnknownOutputs',
1651
+ 'allowUnknownInputs',
1611
1652
  'disableScriptCheck',
1612
1653
  'bip174jsCompat',
1613
1654
  'allowLegacyWitnessUtxo',
@@ -1905,14 +1946,14 @@ export class Transaction {
1905
1946
  nonWitnessUtxo = hex.decode(nonWitnessUtxo);
1906
1947
  if (isBytes(nonWitnessUtxo))
1907
1948
  nonWitnessUtxo = RawTx.decode(nonWitnessUtxo);
1908
- if (nonWitnessUtxo === undefined)
1949
+ if (!('nonWitnessUtxo' in i) && nonWitnessUtxo === undefined)
1909
1950
  nonWitnessUtxo = cur?.nonWitnessUtxo;
1910
1951
  if (typeof txid === 'string')
1911
1952
  txid = hex.decode(txid);
1912
1953
  if (txid === undefined)
1913
1954
  txid = cur?.txid;
1914
1955
  let res = { ...cur, ...i, nonWitnessUtxo, txid };
1915
- if (res.nonWitnessUtxo === undefined)
1956
+ if (!('nonWitnessUtxo' in i) && res.nonWitnessUtxo === undefined)
1916
1957
  delete res.nonWitnessUtxo;
1917
1958
  if (res.sequence === undefined)
1918
1959
  res.sequence = DEFAULT_SEQUENCE;
@@ -1973,9 +2014,9 @@ export class Transaction {
1973
2014
  res = mergeKeyMap(PSBTOutput, res, cur, allowedFields);
1974
2015
  PSBTOutputCoder.encode(res);
1975
2016
  if (res.script &&
1976
- !this.opts.allowUnknowOutput &&
2017
+ !this.opts.allowUnknownOutputs &&
1977
2018
  OutScript.decode(res.script).type === 'unknown') {
1978
- throw new Error('Transaction/output: unknown output script type, there is a chance that input is unspendable. Pass allowUnkownScript=true, if you sure');
2019
+ throw new Error('Transaction/output: unknown output script type, there is a chance that input is unspendable. Pass allowUnknownScript=true, if you sure');
1979
2020
  }
1980
2021
  if (!this.opts.disableScriptCheck)
1981
2022
  checkScript(res.script, res.redeemScript, res.witnessScript);
@@ -2080,7 +2121,7 @@ export class Transaction {
2080
2121
  throw new Error(`Invalid prevOutScript array=${prevOutScript}`);
2081
2122
  const out = [
2082
2123
  P.U8.encode(0),
2083
- P.U8.encode(hashType),
2124
+ P.U8.encode(hashType), // U8 sigHash
2084
2125
  P.I32LE.encode(this.version),
2085
2126
  P.U32LE.encode(this.lockTime),
2086
2127
  ];
@@ -2120,13 +2161,13 @@ export class Transaction {
2120
2161
  prevOut(input) {
2121
2162
  if (input.nonWitnessUtxo) {
2122
2163
  if (input.index === undefined)
2123
- throw new Error('Uknown input index');
2164
+ throw new Error('Unknown input index');
2124
2165
  return input.nonWitnessUtxo.outputs[input.index];
2125
2166
  }
2126
2167
  else if (input.witnessUtxo)
2127
2168
  return input.witnessUtxo;
2128
2169
  else
2129
- throw new Error('Cannot find previous output info.');
2170
+ throw new Error('Cannot find previous output info');
2130
2171
  }
2131
2172
  inputType(input) {
2132
2173
  let txType = 'legacy';
@@ -2222,6 +2263,8 @@ export class Transaction {
2222
2263
  // Just for compat with bitcoinjs-lib, so users won't face unexpected behaviour.
2223
2264
  if (!allowedSighash)
2224
2265
  allowedSighash = [inputType.defaultSighash];
2266
+ else
2267
+ allowedSighash.forEach(validateSigHash);
2225
2268
  const sighash = inputType.sighash;
2226
2269
  if (!allowedSighash.includes(sighash)) {
2227
2270
  throw new Error(`Input with not allowed sigHash=${sighash}. Allowed: ${allowedSighash.join(', ')}`);
@@ -2230,7 +2273,7 @@ export class Transaction {
2230
2273
  // however this was because of bug in bitcoin-core, which remains here because of consensus.
2231
2274
  // If this is absolutely neccessary for your case, please open issue.
2232
2275
  // We disable it to avoid complicated workflow where SINGLE will block adding new outputs
2233
- const { sigInputs, sigOutputs } = this.inputSighash(idx);
2276
+ const { sigOutputs } = this.inputSighash(idx);
2234
2277
  if (sigOutputs === SignatureHash.SINGLE && idx >= this.outputs.length) {
2235
2278
  throw new Error(`Input with sighash SINGLE, but there is no output with corresponding index=${idx}`);
2236
2279
  }
@@ -2252,7 +2295,7 @@ export class Transaction {
2252
2295
  // otherwise sign as is. bitcoinjs implementation always wants tweaked
2253
2296
  // priv key to be provided
2254
2297
  const { pubKey, privKey } = getTaprootKeys(privateKey, schnorrPub, input.tapInternalKey, merkleRoot);
2255
- const [taprootPubKey, parity] = taprootTweakPubkey(input.tapInternalKey, merkleRoot);
2298
+ const [taprootPubKey, _] = taprootTweakPubkey(input.tapInternalKey, merkleRoot);
2256
2299
  if (P.equalBytes(taprootPubKey, pubKey)) {
2257
2300
  const hash = this.preimageWitnessV1(idx, prevOutScript, sighash, amount);
2258
2301
  const sig = concat(schnorr.sign(hash, privKey, _auxRand), sighash !== SignatureHash.DEFAULT ? new Uint8Array([sighash]) : P.EMPTY);
@@ -2262,20 +2305,19 @@ export class Transaction {
2262
2305
  }
2263
2306
  if (input.tapLeafScript) {
2264
2307
  input.tapScriptSig = input.tapScriptSig || [];
2265
- for (const [cb, _script] of input.tapLeafScript) {
2308
+ for (const [_, _script] of input.tapLeafScript) {
2266
2309
  const script = _script.subarray(0, -1);
2267
2310
  const scriptDecoded = Script.decode(script);
2268
2311
  const ver = _script[_script.length - 1];
2269
2312
  const hash = tapLeafHash(script, ver);
2270
- const { pubKey, privKey } = getTaprootKeys(privateKey, schnorrPub, cb.internalKey, P.EMPTY // Because we cannot have nested taproot tree
2271
- );
2272
- const pos = scriptDecoded.findIndex((i) => isBytes(i) && P.equalBytes(i, pubKey));
2313
+ // NOTE: no need to tweak internal key here, since we don't support nested p2tr
2314
+ const pos = scriptDecoded.findIndex((i) => isBytes(i) && P.equalBytes(i, schnorrPub));
2273
2315
  // Skip if there is no public key in tapLeafScript
2274
2316
  if (pos === -1)
2275
2317
  continue;
2276
2318
  const msg = this.preimageWitnessV1(idx, prevOutScript, sighash, amount, undefined, script, ver);
2277
- const sig = concat(schnorr.sign(msg, privKey, _auxRand), sighash !== SignatureHash.DEFAULT ? new Uint8Array([sighash]) : P.EMPTY);
2278
- this.updateInput(idx, { tapScriptSig: [[{ pubKey: pubKey, leafHash: hash }, sig]] }, true);
2319
+ const sig = concat(schnorr.sign(msg, privateKey, _auxRand), sighash !== SignatureHash.DEFAULT ? new Uint8Array([sighash]) : P.EMPTY);
2320
+ this.updateInput(idx, { tapScriptSig: [[{ pubKey: schnorrPub, leafHash: hash }, sig]] }, true);
2279
2321
  signed = true;
2280
2322
  }
2281
2323
  }
@@ -2385,7 +2427,7 @@ export class Transaction {
2385
2427
  if (signatures.length !== outScript.pubkeys.length)
2386
2428
  continue;
2387
2429
  }
2388
- else if (outScript.type === 'unknown' && this.opts.allowUnknowInput) {
2430
+ else if (outScript.type === 'unknown' && this.opts.allowUnknownInputs) {
2389
2431
  // Trying our best to sign what we can
2390
2432
  const scriptDecoded = Script.decode(script);
2391
2433
  signatures = scriptSig
@@ -2451,7 +2493,7 @@ export class Transaction {
2451
2493
  inputScript = P.EMPTY;
2452
2494
  witness = [input.partialSig[0][1], input.partialSig[0][0]];
2453
2495
  }
2454
- else if (inputType.last.type === 'unknown' && !this.opts.allowUnknowInput)
2496
+ else if (inputType.last.type === 'unknown' && !this.opts.allowUnknownInputs)
2455
2497
  throw new Error('Unknown inputs not allowed');
2456
2498
  // Create final scripts (generic part)
2457
2499
  let finalScriptSig, finalScriptWitness;
@@ -2525,7 +2567,7 @@ export class Transaction {
2525
2567
  }
2526
2568
  clone() {
2527
2569
  // deepClone probably faster, but this enforces that encoding is valid
2528
- return Transaction.fromPSBT(this.toPSBT(2), this.opts);
2570
+ return Transaction.fromPSBT(this.toPSBT(this.opts.PSBTVersion), this.opts);
2529
2571
  }
2530
2572
  }
2531
2573
  // User facing API?