@scure/btc-signer 1.8.1 → 2.0.0

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 (87) hide show
  1. package/README.md +8 -5
  2. package/index.js +17 -61
  3. package/index.js.map +1 -1
  4. package/musig2.d.ts +2 -2
  5. package/musig2.d.ts.map +1 -1
  6. package/musig2.js +93 -90
  7. package/musig2.js.map +1 -1
  8. package/p2p.d.ts +7 -8
  9. package/p2p.d.ts.map +1 -1
  10. package/p2p.js +32 -38
  11. package/p2p.js.map +1 -1
  12. package/package.json +33 -103
  13. package/payment.js +73 -96
  14. package/payment.js.map +1 -1
  15. package/psbt.d.ts +224 -224
  16. package/psbt.d.ts.map +1 -1
  17. package/psbt.js +58 -63
  18. package/psbt.js.map +1 -1
  19. package/script.d.ts +125 -120
  20. package/script.d.ts.map +1 -1
  21. package/script.js +46 -146
  22. package/script.js.map +1 -1
  23. package/src/musig2.ts +43 -50
  24. package/src/p2p.ts +28 -40
  25. package/src/psbt.ts +7 -7
  26. package/src/script.ts +29 -26
  27. package/src/transaction.ts +21 -21
  28. package/src/utils.ts +41 -22
  29. package/transaction.d.ts +22 -28
  30. package/transaction.d.ts.map +1 -1
  31. package/transaction.js +134 -151
  32. package/transaction.js.map +1 -1
  33. package/utils.d.ts +11 -5
  34. package/utils.d.ts.map +1 -1
  35. package/utils.js +60 -62
  36. package/utils.js.map +1 -1
  37. package/utxo.d.ts +45 -45
  38. package/utxo.d.ts.map +1 -1
  39. package/utxo.js +62 -58
  40. package/utxo.js.map +1 -1
  41. package/_type_test.d.ts +0 -2
  42. package/_type_test.d.ts.map +0 -1
  43. package/_type_test.js +0 -59
  44. package/_type_test.js.map +0 -1
  45. package/esm/_type_test.d.ts +0 -2
  46. package/esm/_type_test.d.ts.map +0 -1
  47. package/esm/_type_test.js +0 -57
  48. package/esm/_type_test.js.map +0 -1
  49. package/esm/index.d.ts +0 -22
  50. package/esm/index.d.ts.map +0 -1
  51. package/esm/index.js +0 -22
  52. package/esm/index.js.map +0 -1
  53. package/esm/musig2.d.ts +0 -148
  54. package/esm/musig2.d.ts.map +0 -1
  55. package/esm/musig2.js +0 -404
  56. package/esm/musig2.js.map +0 -1
  57. package/esm/p2p.d.ts +0 -38
  58. package/esm/p2p.d.ts.map +0 -1
  59. package/esm/p2p.js +0 -156
  60. package/esm/p2p.js.map +0 -1
  61. package/esm/package.json +0 -1
  62. package/esm/payment.d.ts +0 -200
  63. package/esm/payment.d.ts.map +0 -1
  64. package/esm/payment.js +0 -697
  65. package/esm/payment.js.map +0 -1
  66. package/esm/psbt.d.ts +0 -820
  67. package/esm/psbt.d.ts.map +0 -1
  68. package/esm/psbt.js +0 -409
  69. package/esm/psbt.js.map +0 -1
  70. package/esm/script.d.ts +0 -170
  71. package/esm/script.d.ts.map +0 -1
  72. package/esm/script.js +0 -356
  73. package/esm/script.js.map +0 -1
  74. package/esm/transaction.d.ts +0 -172
  75. package/esm/transaction.d.ts.map +0 -1
  76. package/esm/transaction.js +0 -1185
  77. package/esm/transaction.js.map +0 -1
  78. package/esm/utils.d.ts +0 -35
  79. package/esm/utils.d.ts.map +0 -1
  80. package/esm/utils.js +0 -118
  81. package/esm/utils.js.map +0 -1
  82. package/esm/utxo.d.ts +0 -198
  83. package/esm/utxo.d.ts.map +0 -1
  84. package/esm/utxo.js +0 -461
  85. package/esm/utxo.js.map +0 -1
  86. package/src/_type_test.ts +0 -69
  87. package/src/package.json +0 -3
package/psbt.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"psbt.d.ts","sourceRoot":"","sources":["src/psbt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"psbt.d.ts","sourceRoot":"","sources":["src/psbt.ts"],"names":[],"mappings":"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"}
package/psbt.js CHANGED
@@ -1,16 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RawPSBTV2 = exports.RawPSBTV0 = exports._DebugPSBT = exports._RawPSBTV2 = exports._RawPSBTV0 = exports.PSBTOutputCoder = exports.PSBTInputCoder = exports.PSBTOutputUnsignedKeys = exports.PSBTOutput = exports.PSBTInputUnsignedKeys = exports.PSBTInputFinalKeys = exports.PSBTInput = exports.PSBTGlobal = exports.TaprootControlBlock = void 0;
4
- exports.cleanPSBTFields = cleanPSBTFields;
5
- exports.mergeKeyMap = mergeKeyMap;
6
- const base_1 = require("@scure/base");
7
- const P = require("micro-packed");
8
- const script_ts_1 = require("./script.js");
9
- const utils_ts_1 = require("./utils.js");
1
+ import { hex } from '@scure/base';
2
+ import * as P from 'micro-packed';
3
+ import { CompactSize, CompactSizeLen, RawOldTx, RawOutput, RawTx, RawWitness, VarBytes, } from "./script.js";
4
+ import { compareBytes, equalBytes, PubT, validatePubkey } from "./utils.js";
10
5
  // PSBT BIP174, BIP370, BIP371
11
6
  // Can be 33 or 64 bytes
12
- const PubKeyECDSA = P.validate(P.bytes(null), (pub) => (0, utils_ts_1.validatePubkey)(pub, utils_ts_1.PubT.ecdsa));
13
- const PubKeySchnorr = P.validate(P.bytes(32), (pub) => (0, utils_ts_1.validatePubkey)(pub, utils_ts_1.PubT.schnorr));
7
+ const PubKeyECDSA = P.validate(P.bytes(null), (pub) => validatePubkey(pub, PubT.ecdsa));
8
+ const PubKeySchnorr = P.validate(P.bytes(32), (pub) => validatePubkey(pub, PubT.schnorr));
14
9
  const SignatureSchnorr = P.validate(P.bytes(null), (sig) => {
15
10
  if (sig.length !== 64 && sig.length !== 65)
16
11
  throw new Error('Schnorr signature should be 64 or 65 bytes long');
@@ -21,7 +16,7 @@ const BIP32Der = P.struct({
21
16
  path: P.array(null, P.U32LE),
22
17
  });
23
18
  const TaprootBIP32Der = P.struct({
24
- hashes: P.array(script_ts_1.CompactSizeLen, P.bytes(32)),
19
+ hashes: P.array(CompactSizeLen, P.bytes(32)),
25
20
  der: BIP32Der,
26
21
  });
27
22
  // The 78 byte serialized extended public key as defined by BIP 32.
@@ -34,7 +29,7 @@ const _TaprootControlBlock = P.struct({
34
29
  internalKey: P.bytes(32),
35
30
  merklePath: P.array(null, P.bytes(32)),
36
31
  });
37
- exports.TaprootControlBlock = P.validate(_TaprootControlBlock, (cb) => {
32
+ export const TaprootControlBlock = P.validate(_TaprootControlBlock, (cb) => {
38
33
  if (cb.merklePath.length > 128)
39
34
  throw new Error('TaprootControlBlock: merklePath should be of length 0..128 (inclusive)');
40
35
  return cb;
@@ -43,7 +38,7 @@ exports.TaprootControlBlock = P.validate(_TaprootControlBlock, (cb) => {
43
38
  const tapTree = P.array(null, P.struct({
44
39
  depth: P.U8,
45
40
  version: P.U8,
46
- script: script_ts_1.VarBytes,
41
+ script: VarBytes,
47
42
  }));
48
43
  const BytesInf = P.bytes(null); // Bytes will conflict with Bytes type
49
44
  const Bytes20 = P.bytes(20);
@@ -53,28 +48,28 @@ const Bytes32 = P.bytes(32);
53
48
  // SilentIgnore: we use some v2 fields for v1 representation too, so we just clean them before serialize
54
49
  // Tables from BIP-0174 (https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki)
55
50
  // prettier-ignore
56
- exports.PSBTGlobal = {
57
- unsignedTx: [0x00, false, script_ts_1.RawOldTx, [0], [0], false],
51
+ export const PSBTGlobal = {
52
+ unsignedTx: [0x00, false, RawOldTx, [0], [0], false],
58
53
  xpub: [0x01, GlobalXPUB, BIP32Der, [], [0, 2], false],
59
54
  txVersion: [0x02, false, P.U32LE, [2], [2], false],
60
55
  fallbackLocktime: [0x03, false, P.U32LE, [], [2], false],
61
- inputCount: [0x04, false, script_ts_1.CompactSizeLen, [2], [2], false],
62
- outputCount: [0x05, false, script_ts_1.CompactSizeLen, [2], [2], false],
56
+ inputCount: [0x04, false, CompactSizeLen, [2], [2], false],
57
+ outputCount: [0x05, false, CompactSizeLen, [2], [2], false],
63
58
  txModifiable: [0x06, false, P.U8, [], [2], false], // TODO: bitfield
64
59
  version: [0xfb, false, P.U32LE, [], [0, 2], false],
65
60
  proprietary: [0xfc, BytesInf, BytesInf, [], [0, 2], false],
66
61
  };
67
62
  // prettier-ignore
68
- exports.PSBTInput = {
69
- nonWitnessUtxo: [0x00, false, script_ts_1.RawTx, [], [0, 2], false],
70
- witnessUtxo: [0x01, false, script_ts_1.RawOutput, [], [0, 2], false],
63
+ export const PSBTInput = {
64
+ nonWitnessUtxo: [0x00, false, RawTx, [], [0, 2], false],
65
+ witnessUtxo: [0x01, false, RawOutput, [], [0, 2], false],
71
66
  partialSig: [0x02, PubKeyECDSA, BytesInf, [], [0, 2], false],
72
67
  sighashType: [0x03, false, P.U32LE, [], [0, 2], false],
73
68
  redeemScript: [0x04, false, BytesInf, [], [0, 2], false],
74
69
  witnessScript: [0x05, false, BytesInf, [], [0, 2], false],
75
70
  bip32Derivation: [0x06, PubKeyECDSA, BIP32Der, [], [0, 2], false],
76
71
  finalScriptSig: [0x07, false, BytesInf, [], [0, 2], false],
77
- finalScriptWitness: [0x08, false, script_ts_1.RawWitness, [], [0, 2], false],
72
+ finalScriptWitness: [0x08, false, RawWitness, [], [0, 2], false],
78
73
  porCommitment: [0x09, false, BytesInf, [], [0, 2], false],
79
74
  ripemd160: [0x0a, Bytes20, BytesInf, [], [0, 2], false],
80
75
  sha256: [0x0b, Bytes32, BytesInf, [], [0, 2], false],
@@ -87,14 +82,14 @@ exports.PSBTInput = {
87
82
  requiredHeightLocktime: [0x12, false, P.U32LE, [], [2], false],
88
83
  tapKeySig: [0x13, false, SignatureSchnorr, [], [0, 2], false],
89
84
  tapScriptSig: [0x14, tapScriptSigKey, SignatureSchnorr, [], [0, 2], false],
90
- tapLeafScript: [0x15, exports.TaprootControlBlock, BytesInf, [], [0, 2], false],
85
+ tapLeafScript: [0x15, TaprootControlBlock, BytesInf, [], [0, 2], false],
91
86
  tapBip32Derivation: [0x16, Bytes32, TaprootBIP32Der, [], [0, 2], false],
92
87
  tapInternalKey: [0x17, false, PubKeySchnorr, [], [0, 2], false],
93
88
  tapMerkleRoot: [0x18, false, Bytes32, [], [0, 2], false],
94
89
  proprietary: [0xfc, BytesInf, BytesInf, [], [0, 2], false],
95
90
  };
96
91
  // All other keys removed when finalizing
97
- exports.PSBTInputFinalKeys = [
92
+ export const PSBTInputFinalKeys = [
98
93
  'txid',
99
94
  'sequence',
100
95
  'index',
@@ -105,7 +100,7 @@ exports.PSBTInputFinalKeys = [
105
100
  'unknown',
106
101
  ];
107
102
  // Can be modified even on signed input
108
- exports.PSBTInputUnsignedKeys = [
103
+ export const PSBTInputUnsignedKeys = [
109
104
  'partialSig',
110
105
  'finalScriptSig',
111
106
  'finalScriptWitness',
@@ -113,7 +108,7 @@ exports.PSBTInputUnsignedKeys = [
113
108
  'tapScriptSig',
114
109
  ];
115
110
  // prettier-ignore
116
- exports.PSBTOutput = {
111
+ export const PSBTOutput = {
117
112
  redeemScript: [0x00, false, BytesInf, [], [0, 2], false],
118
113
  witnessScript: [0x01, false, BytesInf, [], [0, 2], false],
119
114
  bip32Derivation: [0x02, PubKeyECDSA, BIP32Der, [], [0, 2], false],
@@ -125,18 +120,18 @@ exports.PSBTOutput = {
125
120
  proprietary: [0xfc, BytesInf, BytesInf, [], [0, 2], false],
126
121
  };
127
122
  // Can be modified even on signed input
128
- exports.PSBTOutputUnsignedKeys = [];
123
+ export const PSBTOutputUnsignedKeys = [];
129
124
  const PSBTKeyPair = P.array(P.NULL, P.struct({
130
125
  // <key> := <keylen> <keytype> <keydata> WHERE keylen = len(keytype)+len(keydata)
131
- key: P.prefix(script_ts_1.CompactSizeLen, P.struct({ type: script_ts_1.CompactSizeLen, key: P.bytes(null) })),
126
+ key: P.prefix(CompactSizeLen, P.struct({ type: CompactSizeLen, key: P.bytes(null) })),
132
127
  // <value> := <valuelen> <valuedata>
133
- value: P.bytes(script_ts_1.CompactSizeLen),
128
+ value: P.bytes(CompactSizeLen),
134
129
  }));
135
130
  function PSBTKeyInfo(info) {
136
131
  const [type, kc, vc, reqInc, allowInc, silentIgnore] = info;
137
132
  return { type, kc, vc, reqInc, allowInc, silentIgnore };
138
133
  }
139
- const PSBTUnknownKey = P.struct({ type: script_ts_1.CompactSizeLen, key: P.bytes(null) });
134
+ const PSBTUnknownKey = P.struct({ type: CompactSizeLen, key: P.bytes(null) });
140
135
  // Key cannot be 'unknown', value coder cannot be array for elements with empty key
141
136
  function PSBTKeyMap(psbtEnum) {
142
137
  // -> Record<type, [keyName, ...coders]>
@@ -164,13 +159,13 @@ function PSBTKeyMap(psbtEnum) {
164
159
  vc.encode(v),
165
160
  ]);
166
161
  // sort by keys
167
- kv.sort((a, b) => (0, utils_ts_1.compareBytes)(a[0], b[0]));
162
+ kv.sort((a, b) => compareBytes(a[0], b[0]));
168
163
  for (const [key, value] of kv)
169
164
  out.push({ key: { key, type }, value });
170
165
  }
171
166
  }
172
167
  if (value.unknown) {
173
- value.unknown.sort((a, b) => (0, utils_ts_1.compareBytes)(a[0].key, b[0].key));
168
+ value.unknown.sort((a, b) => compareBytes(a[0].key, b[0].key));
174
169
  for (const [k, v] of value.unknown)
175
170
  out.push({ key: k, value: v });
176
171
  }
@@ -188,7 +183,7 @@ function PSBTKeyMap(psbtEnum) {
188
183
  const [_name, kc, vc] = byType[elm.key.type];
189
184
  name = _name;
190
185
  if (!kc && key.length) {
191
- throw new Error(`PSBT: Non-empty key for ${name} (key=${base_1.hex.encode(key)} value=${base_1.hex.encode(value)}`);
186
+ throw new Error(`PSBT: Non-empty key for ${name} (key=${hex.encode(key)} value=${hex.encode(value)}`);
192
187
  }
193
188
  key = kc ? kc.decode(key) : undefined;
194
189
  value = vc.decode(value);
@@ -215,7 +210,7 @@ function PSBTKeyMap(psbtEnum) {
215
210
  },
216
211
  });
217
212
  }
218
- exports.PSBTInputCoder = P.validate(PSBTKeyMap(exports.PSBTInput), (i) => {
213
+ export const PSBTInputCoder = P.validate(PSBTKeyMap(PSBTInput), (i) => {
219
214
  if (i.finalScriptWitness && !i.finalScriptWitness.length)
220
215
  throw new Error('validateInput: empty finalScriptWitness');
221
216
  //if (i.finalScriptSig && !i.finalScriptSig.length) throw new Error('validateInput: empty finalScriptSig');
@@ -223,10 +218,10 @@ exports.PSBTInputCoder = P.validate(PSBTKeyMap(exports.PSBTInput), (i) => {
223
218
  throw new Error('Empty partialSig');
224
219
  if (i.partialSig)
225
220
  for (const [k] of i.partialSig)
226
- (0, utils_ts_1.validatePubkey)(k, utils_ts_1.PubT.ecdsa);
221
+ validatePubkey(k, PubT.ecdsa);
227
222
  if (i.bip32Derivation)
228
223
  for (const [k] of i.bip32Derivation)
229
- (0, utils_ts_1.validatePubkey)(k, utils_ts_1.PubT.ecdsa);
224
+ validatePubkey(k, PubT.ecdsa);
230
225
  // Locktime = unsigned little endian integer greater than or equal to 500000000 representing
231
226
  if (i.requiredTimeLocktime !== undefined && i.requiredTimeLocktime < 500000000)
232
227
  throw new Error(`validateInput: wrong timeLocktime=${i.requiredTimeLocktime}`);
@@ -237,7 +232,7 @@ exports.PSBTInputCoder = P.validate(PSBTKeyMap(exports.PSBTInput), (i) => {
237
232
  if (i.tapLeafScript) {
238
233
  // tap leaf version appears here twice: in control block and at the end of script
239
234
  for (const [k, v] of i.tapLeafScript) {
240
- if ((k.version & 254) !== v[v.length - 1])
235
+ if ((k.version & 0b1111_1110) !== v[v.length - 1])
241
236
  throw new Error('validateInput: tapLeafScript version mimatch');
242
237
  if (v[v.length - 1] & 1)
243
238
  throw new Error('validateInput: tapLeafScript version has parity bit!');
@@ -245,13 +240,13 @@ exports.PSBTInputCoder = P.validate(PSBTKeyMap(exports.PSBTInput), (i) => {
245
240
  }
246
241
  return i;
247
242
  });
248
- exports.PSBTOutputCoder = P.validate(PSBTKeyMap(exports.PSBTOutput), (o) => {
243
+ export const PSBTOutputCoder = P.validate(PSBTKeyMap(PSBTOutput), (o) => {
249
244
  if (o.bip32Derivation)
250
245
  for (const [k] of o.bip32Derivation)
251
- (0, utils_ts_1.validatePubkey)(k, utils_ts_1.PubT.ecdsa);
246
+ validatePubkey(k, PubT.ecdsa);
252
247
  return o;
253
248
  });
254
- const PSBTGlobalCoder = P.validate(PSBTKeyMap(exports.PSBTGlobal), (g) => {
249
+ const PSBTGlobalCoder = P.validate(PSBTKeyMap(PSBTGlobal), (g) => {
255
250
  const version = g.version || 0;
256
251
  if (version === 0) {
257
252
  if (!g.unsignedTx)
@@ -262,21 +257,21 @@ const PSBTGlobalCoder = P.validate(PSBTKeyMap(exports.PSBTGlobal), (g) => {
262
257
  }
263
258
  return g;
264
259
  });
265
- exports._RawPSBTV0 = P.struct({
260
+ export const _RawPSBTV0 = P.struct({
266
261
  magic: P.magic(P.string(new Uint8Array([0xff])), 'psbt'),
267
262
  global: PSBTGlobalCoder,
268
- inputs: P.array('global/unsignedTx/inputs/length', exports.PSBTInputCoder),
269
- outputs: P.array(null, exports.PSBTOutputCoder),
263
+ inputs: P.array('global/unsignedTx/inputs/length', PSBTInputCoder),
264
+ outputs: P.array(null, PSBTOutputCoder),
270
265
  });
271
- exports._RawPSBTV2 = P.struct({
266
+ export const _RawPSBTV2 = P.struct({
272
267
  magic: P.magic(P.string(new Uint8Array([0xff])), 'psbt'),
273
268
  global: PSBTGlobalCoder,
274
- inputs: P.array('global/inputCount', exports.PSBTInputCoder),
275
- outputs: P.array('global/outputCount', exports.PSBTOutputCoder),
269
+ inputs: P.array('global/inputCount', PSBTInputCoder),
270
+ outputs: P.array('global/outputCount', PSBTOutputCoder),
276
271
  });
277
- exports._DebugPSBT = P.struct({
272
+ export const _DebugPSBT = P.struct({
278
273
  magic: P.magic(P.string(new Uint8Array([0xff])), 'psbt'),
279
- items: P.array(null, P.apply(P.array(P.NULL, P.tuple([P.hex(script_ts_1.CompactSizeLen), P.bytes(script_ts_1.CompactSize)])), P.coders.dict())),
274
+ items: P.array(null, P.apply(P.array(P.NULL, P.tuple([P.hex(CompactSizeLen), P.bytes(CompactSize)])), P.coders.dict())),
280
275
  });
281
276
  function validatePSBTFields(version, info, lst) {
282
277
  for (const k in lst) {
@@ -294,7 +289,7 @@ function validatePSBTFields(version, info, lst) {
294
289
  throw new Error(`PSBTv${version}: missing required field ${k}`);
295
290
  }
296
291
  }
297
- function cleanPSBTFields(version, info, lst) {
292
+ export function cleanPSBTFields(version, info, lst) {
298
293
  const out = {};
299
294
  for (const _k in lst) {
300
295
  const k = _k;
@@ -314,11 +309,11 @@ function cleanPSBTFields(version, info, lst) {
314
309
  }
315
310
  function validatePSBT(tx) {
316
311
  const version = (tx && tx.global && tx.global.version) || 0;
317
- validatePSBTFields(version, exports.PSBTGlobal, tx.global);
312
+ validatePSBTFields(version, PSBTGlobal, tx.global);
318
313
  for (const i of tx.inputs)
319
- validatePSBTFields(version, exports.PSBTInput, i);
314
+ validatePSBTFields(version, PSBTInput, i);
320
315
  for (const o of tx.outputs)
321
- validatePSBTFields(version, exports.PSBTOutput, o);
316
+ validatePSBTFields(version, PSBTOutput, o);
322
317
  // We allow only one empty element at the end of map (compat with bitcoinjs-lib bug)
323
318
  const inputCount = !version ? tx.global.unsignedTx.inputs.length : tx.global.inputCount;
324
319
  if (tx.inputs.length < inputCount)
@@ -335,7 +330,7 @@ function validatePSBT(tx) {
335
330
  throw new Error(`Unexpected outputs left in tx=${outputsLeft}`);
336
331
  return tx;
337
332
  }
338
- function mergeKeyMap(psbtEnum, val, cur, allowedFields, allowUnknown) {
333
+ export function mergeKeyMap(psbtEnum, val, cur, allowedFields, allowUnknown) {
339
334
  const res = { ...cur, ...val };
340
335
  // All arguments can be provided as hex
341
336
  for (const k in psbtEnum) {
@@ -358,8 +353,8 @@ function mergeKeyMap(psbtEnum, val, cur, allowedFields, allowUnknown) {
358
353
  if (val.length !== 2)
359
354
  throw new Error(`keyMap(${k}): KV pairs should be [k, v][]`);
360
355
  return [
361
- typeof val[0] === 'string' ? kC.decode(base_1.hex.decode(val[0])) : val[0],
362
- typeof val[1] === 'string' ? vC.decode(base_1.hex.decode(val[1])) : val[1],
356
+ typeof val[0] === 'string' ? kC.decode(hex.decode(val[0])) : val[0],
357
+ typeof val[1] === 'string' ? vC.decode(hex.decode(val[1])) : val[1],
363
358
  ];
364
359
  });
365
360
  const map = {};
@@ -368,17 +363,17 @@ function mergeKeyMap(psbtEnum, val, cur, allowedFields, allowUnknown) {
368
363
  map[kStr] = [k, v];
369
364
  return;
370
365
  }
371
- const oldVal = base_1.hex.encode(vC.encode(map[kStr][1]));
372
- const newVal = base_1.hex.encode(vC.encode(v));
366
+ const oldVal = hex.encode(vC.encode(map[kStr][1]));
367
+ const newVal = hex.encode(vC.encode(v));
373
368
  if (oldVal !== newVal)
374
369
  throw new Error(`keyMap(${key}): same key=${kStr} oldVal=${oldVal} newVal=${newVal}`);
375
370
  };
376
371
  for (const [k, v] of oldKV) {
377
- const kStr = base_1.hex.encode(kC.encode(k));
372
+ const kStr = hex.encode(kC.encode(k));
378
373
  add(kStr, k, v);
379
374
  }
380
375
  for (const [k, v] of newKV) {
381
- const kStr = base_1.hex.encode(kC.encode(k));
376
+ const kStr = hex.encode(kC.encode(k));
382
377
  // undefined removes previous value
383
378
  if (v === undefined) {
384
379
  if (cannotChange)
@@ -392,10 +387,10 @@ function mergeKeyMap(psbtEnum, val, cur, allowedFields, allowUnknown) {
392
387
  }
393
388
  }
394
389
  else if (typeof res[k] === 'string') {
395
- res[k] = vC.decode(base_1.hex.decode(res[k]));
390
+ res[k] = vC.decode(hex.decode(res[k]));
396
391
  }
397
392
  else if (cannotChange && k in val && cur && cur[k] !== undefined) {
398
- if (!(0, utils_ts_1.equalBytes)(vC.encode(val[k]), vC.encode(cur[k])))
393
+ if (!equalBytes(vC.encode(val[k]), vC.encode(cur[k])))
399
394
  throw new Error(`Cannot change signed field=${k}`);
400
395
  }
401
396
  }
@@ -409,6 +404,6 @@ function mergeKeyMap(psbtEnum, val, cur, allowedFields, allowUnknown) {
409
404
  }
410
405
  return res;
411
406
  }
412
- exports.RawPSBTV0 = P.validate(exports._RawPSBTV0, validatePSBT);
413
- exports.RawPSBTV2 = P.validate(exports._RawPSBTV2, validatePSBT);
407
+ export const RawPSBTV0 = P.validate(_RawPSBTV0, validatePSBT);
408
+ export const RawPSBTV2 = P.validate(_RawPSBTV2, validatePSBT);
414
409
  //# sourceMappingURL=psbt.js.map
package/psbt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"psbt.js","sourceRoot":"","sources":["src/psbt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"psbt.js","sourceRoot":"","sources":["src/psbt.ts"],"names":[],"mappings":"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"}