@scure/btc-signer 1.7.0 → 1.8.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.
Files changed (81) hide show
  1. package/README.md +57 -6
  2. package/_type_test.js +1 -1
  3. package/_type_test.js.map +1 -1
  4. package/esm/_type_test.js +2 -2
  5. package/esm/_type_test.js.map +1 -1
  6. package/esm/index.d.ts +12 -12
  7. package/esm/index.d.ts.map +1 -1
  8. package/esm/index.js +10 -10
  9. package/esm/index.js.map +1 -1
  10. package/esm/musig2.d.ts.map +1 -1
  11. package/esm/musig2.js +5 -6
  12. package/esm/musig2.js.map +1 -1
  13. package/esm/p2p.d.ts +38 -0
  14. package/esm/p2p.d.ts.map +1 -0
  15. package/esm/p2p.js +156 -0
  16. package/esm/p2p.js.map +1 -0
  17. package/esm/payment.d.ts +77 -21
  18. package/esm/payment.d.ts.map +1 -1
  19. package/esm/payment.js +63 -60
  20. package/esm/payment.js.map +1 -1
  21. package/esm/psbt.d.ts +1 -1
  22. package/esm/psbt.d.ts.map +1 -1
  23. package/esm/psbt.js +2 -35
  24. package/esm/psbt.js.map +1 -1
  25. package/esm/script.js +1 -1
  26. package/esm/transaction.d.ts +57 -4
  27. package/esm/transaction.d.ts.map +1 -1
  28. package/esm/transaction.js +157 -11
  29. package/esm/transaction.js.map +1 -1
  30. package/esm/utils.d.ts +2 -2
  31. package/esm/utils.d.ts.map +1 -1
  32. package/esm/utils.js +4 -4
  33. package/esm/utils.js.map +1 -1
  34. package/esm/utxo.d.ts +3 -55
  35. package/esm/utxo.d.ts.map +1 -1
  36. package/esm/utxo.js +6 -115
  37. package/esm/utxo.js.map +1 -1
  38. package/index.d.ts +12 -12
  39. package/index.d.ts.map +1 -1
  40. package/index.js +58 -58
  41. package/index.js.map +1 -1
  42. package/musig2.d.ts +1 -1
  43. package/musig2.d.ts.map +1 -1
  44. package/musig2.js +47 -48
  45. package/musig2.js.map +1 -1
  46. package/p2p.d.ts +38 -0
  47. package/p2p.d.ts.map +1 -0
  48. package/p2p.js +158 -0
  49. package/p2p.js.map +1 -0
  50. package/package.json +43 -11
  51. package/payment.d.ts +77 -21
  52. package/payment.d.ts.map +1 -1
  53. package/payment.js +81 -78
  54. package/payment.js.map +1 -1
  55. package/psbt.d.ts +1 -1
  56. package/psbt.d.ts.map +1 -1
  57. package/psbt.js +22 -55
  58. package/psbt.js.map +1 -1
  59. package/script.js +3 -3
  60. package/src/_type_test.ts +2 -2
  61. package/src/index.ts +12 -12
  62. package/src/musig2.ts +5 -6
  63. package/src/p2p.ts +158 -0
  64. package/src/payment.ts +160 -75
  65. package/src/psbt.ts +2 -36
  66. package/src/script.ts +1 -1
  67. package/src/transaction.ts +166 -15
  68. package/src/utils.ts +4 -4
  69. package/src/utxo.ts +10 -112
  70. package/transaction.d.ts +57 -4
  71. package/transaction.d.ts.map +1 -1
  72. package/transaction.js +228 -78
  73. package/transaction.js.map +1 -1
  74. package/utils.d.ts +2 -2
  75. package/utils.d.ts.map +1 -1
  76. package/utils.js +21 -21
  77. package/utils.js.map +1 -1
  78. package/utxo.d.ts +3 -55
  79. package/utxo.d.ts.map +1 -1
  80. package/utxo.js +44 -157
  81. package/utxo.js.map +1 -1
package/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /*! scure-btc-signer - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
- import { compareBytes, taprootTweakPubkey } from './utils.js';
3
- export { multisig, p2ms, p2pk, p2pkh, p2sh, p2tr, p2tr_ms, p2tr_ns, p2tr_pk, p2wpkh, p2wsh } from './payment.js';
4
- export { CompactSize, MAX_SCRIPT_BYTE_LENGTH, OP, RawTx, RawWitness, Script, ScriptNum, } from './script.js';
5
- export type { ScriptType } from './script.js';
6
- export { Transaction } from './transaction.js';
7
- export { NETWORK, TAPROOT_UNSPENDABLE_KEY, TEST_NETWORK } from './utils.js';
8
- export { getInputType, selectUTXO } from './utxo.js';
2
+ import { compareBytes, taprootTweakPubkey } from './utils.ts';
3
+ export { multisig, p2ms, p2pk, p2pkh, p2sh, p2tr, p2tr_ms, p2tr_ns, p2tr_pk, p2wpkh, p2wsh } from './payment.ts';
4
+ export { CompactSize, MAX_SCRIPT_BYTE_LENGTH, OP, RawTx, RawWitness, Script, ScriptNum, } from './script.ts';
5
+ export type { ScriptType } from './script.ts';
6
+ export { getInputType, Transaction } from './transaction.ts';
7
+ export { NETWORK, TAPROOT_UNSPENDABLE_KEY, TEST_NETWORK } from './utils.ts';
8
+ export { selectUTXO } from './utxo.ts';
9
9
  export declare const utils: {
10
10
  isBytes: (a: unknown) => a is Uint8Array;
11
11
  concatBytes: (...arrays: Uint8Array[]) => Uint8Array;
@@ -14,9 +14,9 @@ export declare const utils: {
14
14
  randomPrivateKeyBytes: () => Uint8Array;
15
15
  taprootTweakPubkey: typeof taprootTweakPubkey;
16
16
  };
17
- export { _sortPubkeys, Address, combinations, getAddress, OutScript, sortedMultisig, taprootListToTree, WIF, } from './payment.js';
18
- export type { CustomScript, OptScript } from './payment.js';
19
- export { _DebugPSBT, TaprootControlBlock } from './psbt.js';
20
- export { bip32Path, Decimal, DEFAULT_SEQUENCE, PSBTCombine, SigHash } from './transaction.js';
21
- export { _cmpBig, _Estimator } from './utxo.js';
17
+ export { _sortPubkeys, Address, combinations, getAddress, OutScript, sortedMultisig, taprootListToTree, WIF, } from './payment.ts';
18
+ export type { CustomScript, OptScript } from './payment.ts';
19
+ export { _DebugPSBT, TaprootControlBlock } from './psbt.ts';
20
+ export { bip32Path, Decimal, DEFAULT_SEQUENCE, PSBTCombine, SigHash } from './transaction.ts';
21
+ export { _cmpBig, _Estimator } from './utxo.ts';
22
22
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,EACL,YAAY,EAKZ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,QAAQ,EACR,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EACxE,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,EAAE,EACF,KAAK,EACL,UAAU,EACV,MAAM,EACN,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAErD,eAAO,MAAM,KAAK;;;;;;;CAOjB,CAAC;AAEF,OAAO,EACL,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,GAAG,GACJ,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,EACL,YAAY,EAKZ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,QAAQ,EACR,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EACxE,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,EAAE,EACF,KAAK,EACL,UAAU,EACV,MAAM,EACN,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,eAAO,MAAM,KAAK;;;;;;;CAOjB,CAAC;AAEF,OAAO,EACL,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,GAAG,GACJ,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
package/index.js CHANGED
@@ -1,66 +1,66 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._Estimator = exports._cmpBig = exports.SigHash = exports.PSBTCombine = exports.DEFAULT_SEQUENCE = exports.Decimal = exports.bip32Path = exports.TaprootControlBlock = exports._DebugPSBT = exports.WIF = exports.taprootListToTree = exports.sortedMultisig = exports.OutScript = exports.getAddress = exports.combinations = exports.Address = exports._sortPubkeys = exports.utils = exports.selectUTXO = exports.getInputType = exports.TEST_NETWORK = exports.TAPROOT_UNSPENDABLE_KEY = exports.NETWORK = exports.Transaction = exports.ScriptNum = exports.Script = exports.RawWitness = exports.RawTx = exports.OP = exports.MAX_SCRIPT_BYTE_LENGTH = exports.CompactSize = exports.p2wsh = exports.p2wpkh = exports.p2tr_pk = exports.p2tr_ns = exports.p2tr_ms = exports.p2tr = exports.p2sh = exports.p2pkh = exports.p2pk = exports.p2ms = exports.multisig = void 0;
3
+ exports._Estimator = exports._cmpBig = exports.SigHash = exports.PSBTCombine = exports.DEFAULT_SEQUENCE = exports.Decimal = exports.bip32Path = exports.TaprootControlBlock = exports._DebugPSBT = exports.WIF = exports.taprootListToTree = exports.sortedMultisig = exports.OutScript = exports.getAddress = exports.combinations = exports.Address = exports._sortPubkeys = exports.utils = exports.selectUTXO = exports.TEST_NETWORK = exports.TAPROOT_UNSPENDABLE_KEY = exports.NETWORK = exports.Transaction = exports.getInputType = exports.ScriptNum = exports.Script = exports.RawWitness = exports.RawTx = exports.OP = exports.MAX_SCRIPT_BYTE_LENGTH = exports.CompactSize = exports.p2wsh = exports.p2wpkh = exports.p2tr_pk = exports.p2tr_ns = exports.p2tr_ms = exports.p2tr = exports.p2sh = exports.p2pkh = exports.p2pk = exports.p2ms = exports.multisig = void 0;
4
4
  /*! scure-btc-signer - MIT License (c) 2022 Paul Miller (paulmillr.com) */
5
- const utils_js_1 = require("./utils.js");
5
+ const utils_ts_1 = require("./utils.js");
6
6
  // should multisig be exported as classicMultisig?
7
7
  // prettier-ignore
8
- var payment_js_1 = require("./payment.js");
9
- Object.defineProperty(exports, "multisig", { enumerable: true, get: function () { return payment_js_1.multisig; } });
10
- Object.defineProperty(exports, "p2ms", { enumerable: true, get: function () { return payment_js_1.p2ms; } });
11
- Object.defineProperty(exports, "p2pk", { enumerable: true, get: function () { return payment_js_1.p2pk; } });
12
- Object.defineProperty(exports, "p2pkh", { enumerable: true, get: function () { return payment_js_1.p2pkh; } });
13
- Object.defineProperty(exports, "p2sh", { enumerable: true, get: function () { return payment_js_1.p2sh; } });
14
- Object.defineProperty(exports, "p2tr", { enumerable: true, get: function () { return payment_js_1.p2tr; } });
15
- Object.defineProperty(exports, "p2tr_ms", { enumerable: true, get: function () { return payment_js_1.p2tr_ms; } });
16
- Object.defineProperty(exports, "p2tr_ns", { enumerable: true, get: function () { return payment_js_1.p2tr_ns; } });
17
- Object.defineProperty(exports, "p2tr_pk", { enumerable: true, get: function () { return payment_js_1.p2tr_pk; } });
18
- Object.defineProperty(exports, "p2wpkh", { enumerable: true, get: function () { return payment_js_1.p2wpkh; } });
19
- Object.defineProperty(exports, "p2wsh", { enumerable: true, get: function () { return payment_js_1.p2wsh; } });
20
- var script_js_1 = require("./script.js");
21
- Object.defineProperty(exports, "CompactSize", { enumerable: true, get: function () { return script_js_1.CompactSize; } });
22
- Object.defineProperty(exports, "MAX_SCRIPT_BYTE_LENGTH", { enumerable: true, get: function () { return script_js_1.MAX_SCRIPT_BYTE_LENGTH; } });
23
- Object.defineProperty(exports, "OP", { enumerable: true, get: function () { return script_js_1.OP; } });
24
- Object.defineProperty(exports, "RawTx", { enumerable: true, get: function () { return script_js_1.RawTx; } });
25
- Object.defineProperty(exports, "RawWitness", { enumerable: true, get: function () { return script_js_1.RawWitness; } });
26
- Object.defineProperty(exports, "Script", { enumerable: true, get: function () { return script_js_1.Script; } });
27
- Object.defineProperty(exports, "ScriptNum", { enumerable: true, get: function () { return script_js_1.ScriptNum; } });
28
- var transaction_js_1 = require("./transaction.js");
29
- Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_js_1.Transaction; } });
30
- var utils_js_2 = require("./utils.js");
31
- Object.defineProperty(exports, "NETWORK", { enumerable: true, get: function () { return utils_js_2.NETWORK; } });
32
- Object.defineProperty(exports, "TAPROOT_UNSPENDABLE_KEY", { enumerable: true, get: function () { return utils_js_2.TAPROOT_UNSPENDABLE_KEY; } });
33
- Object.defineProperty(exports, "TEST_NETWORK", { enumerable: true, get: function () { return utils_js_2.TEST_NETWORK; } });
34
- var utxo_js_1 = require("./utxo.js");
35
- Object.defineProperty(exports, "getInputType", { enumerable: true, get: function () { return utxo_js_1.getInputType; } });
36
- Object.defineProperty(exports, "selectUTXO", { enumerable: true, get: function () { return utxo_js_1.selectUTXO; } });
8
+ var payment_ts_1 = require("./payment.js");
9
+ Object.defineProperty(exports, "multisig", { enumerable: true, get: function () { return payment_ts_1.multisig; } });
10
+ Object.defineProperty(exports, "p2ms", { enumerable: true, get: function () { return payment_ts_1.p2ms; } });
11
+ Object.defineProperty(exports, "p2pk", { enumerable: true, get: function () { return payment_ts_1.p2pk; } });
12
+ Object.defineProperty(exports, "p2pkh", { enumerable: true, get: function () { return payment_ts_1.p2pkh; } });
13
+ Object.defineProperty(exports, "p2sh", { enumerable: true, get: function () { return payment_ts_1.p2sh; } });
14
+ Object.defineProperty(exports, "p2tr", { enumerable: true, get: function () { return payment_ts_1.p2tr; } });
15
+ Object.defineProperty(exports, "p2tr_ms", { enumerable: true, get: function () { return payment_ts_1.p2tr_ms; } });
16
+ Object.defineProperty(exports, "p2tr_ns", { enumerable: true, get: function () { return payment_ts_1.p2tr_ns; } });
17
+ Object.defineProperty(exports, "p2tr_pk", { enumerable: true, get: function () { return payment_ts_1.p2tr_pk; } });
18
+ Object.defineProperty(exports, "p2wpkh", { enumerable: true, get: function () { return payment_ts_1.p2wpkh; } });
19
+ Object.defineProperty(exports, "p2wsh", { enumerable: true, get: function () { return payment_ts_1.p2wsh; } });
20
+ var script_ts_1 = require("./script.js");
21
+ Object.defineProperty(exports, "CompactSize", { enumerable: true, get: function () { return script_ts_1.CompactSize; } });
22
+ Object.defineProperty(exports, "MAX_SCRIPT_BYTE_LENGTH", { enumerable: true, get: function () { return script_ts_1.MAX_SCRIPT_BYTE_LENGTH; } });
23
+ Object.defineProperty(exports, "OP", { enumerable: true, get: function () { return script_ts_1.OP; } });
24
+ Object.defineProperty(exports, "RawTx", { enumerable: true, get: function () { return script_ts_1.RawTx; } });
25
+ Object.defineProperty(exports, "RawWitness", { enumerable: true, get: function () { return script_ts_1.RawWitness; } });
26
+ Object.defineProperty(exports, "Script", { enumerable: true, get: function () { return script_ts_1.Script; } });
27
+ Object.defineProperty(exports, "ScriptNum", { enumerable: true, get: function () { return script_ts_1.ScriptNum; } });
28
+ var transaction_ts_1 = require("./transaction.js");
29
+ Object.defineProperty(exports, "getInputType", { enumerable: true, get: function () { return transaction_ts_1.getInputType; } });
30
+ Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_ts_1.Transaction; } });
31
+ var utils_ts_2 = require("./utils.js");
32
+ Object.defineProperty(exports, "NETWORK", { enumerable: true, get: function () { return utils_ts_2.NETWORK; } });
33
+ Object.defineProperty(exports, "TAPROOT_UNSPENDABLE_KEY", { enumerable: true, get: function () { return utils_ts_2.TAPROOT_UNSPENDABLE_KEY; } });
34
+ Object.defineProperty(exports, "TEST_NETWORK", { enumerable: true, get: function () { return utils_ts_2.TEST_NETWORK; } });
35
+ var utxo_ts_1 = require("./utxo.js");
36
+ Object.defineProperty(exports, "selectUTXO", { enumerable: true, get: function () { return utxo_ts_1.selectUTXO; } });
37
37
  exports.utils = {
38
- isBytes: utils_js_1.isBytes,
39
- concatBytes: utils_js_1.concatBytes,
40
- compareBytes: utils_js_1.compareBytes,
41
- pubSchnorr: utils_js_1.pubSchnorr,
42
- randomPrivateKeyBytes: utils_js_1.randomPrivateKeyBytes,
43
- taprootTweakPubkey: utils_js_1.taprootTweakPubkey,
38
+ isBytes: utils_ts_1.isBytes,
39
+ concatBytes: utils_ts_1.concatBytes,
40
+ compareBytes: utils_ts_1.compareBytes,
41
+ pubSchnorr: utils_ts_1.pubSchnorr,
42
+ randomPrivateKeyBytes: utils_ts_1.randomPrivateKeyBytes,
43
+ taprootTweakPubkey: utils_ts_1.taprootTweakPubkey,
44
44
  };
45
- var payment_js_2 = require("./payment.js"); // remove
46
- Object.defineProperty(exports, "_sortPubkeys", { enumerable: true, get: function () { return payment_js_2._sortPubkeys; } });
47
- Object.defineProperty(exports, "Address", { enumerable: true, get: function () { return payment_js_2.Address; } });
48
- Object.defineProperty(exports, "combinations", { enumerable: true, get: function () { return payment_js_2.combinations; } });
49
- Object.defineProperty(exports, "getAddress", { enumerable: true, get: function () { return payment_js_2.getAddress; } });
50
- Object.defineProperty(exports, "OutScript", { enumerable: true, get: function () { return payment_js_2.OutScript; } });
51
- Object.defineProperty(exports, "sortedMultisig", { enumerable: true, get: function () { return payment_js_2.sortedMultisig; } });
52
- Object.defineProperty(exports, "taprootListToTree", { enumerable: true, get: function () { return payment_js_2.taprootListToTree; } });
53
- Object.defineProperty(exports, "WIF", { enumerable: true, get: function () { return payment_js_2.WIF; } });
54
- var psbt_js_1 = require("./psbt.js"); // remove
55
- Object.defineProperty(exports, "_DebugPSBT", { enumerable: true, get: function () { return psbt_js_1._DebugPSBT; } });
56
- Object.defineProperty(exports, "TaprootControlBlock", { enumerable: true, get: function () { return psbt_js_1.TaprootControlBlock; } });
57
- var transaction_js_2 = require("./transaction.js"); // remove
58
- Object.defineProperty(exports, "bip32Path", { enumerable: true, get: function () { return transaction_js_2.bip32Path; } });
59
- Object.defineProperty(exports, "Decimal", { enumerable: true, get: function () { return transaction_js_2.Decimal; } });
60
- Object.defineProperty(exports, "DEFAULT_SEQUENCE", { enumerable: true, get: function () { return transaction_js_2.DEFAULT_SEQUENCE; } });
61
- Object.defineProperty(exports, "PSBTCombine", { enumerable: true, get: function () { return transaction_js_2.PSBTCombine; } });
62
- Object.defineProperty(exports, "SigHash", { enumerable: true, get: function () { return transaction_js_2.SigHash; } });
63
- var utxo_js_2 = require("./utxo.js");
64
- Object.defineProperty(exports, "_cmpBig", { enumerable: true, get: function () { return utxo_js_2._cmpBig; } });
65
- Object.defineProperty(exports, "_Estimator", { enumerable: true, get: function () { return utxo_js_2._Estimator; } });
45
+ var payment_ts_2 = require("./payment.js"); // remove
46
+ Object.defineProperty(exports, "_sortPubkeys", { enumerable: true, get: function () { return payment_ts_2._sortPubkeys; } });
47
+ Object.defineProperty(exports, "Address", { enumerable: true, get: function () { return payment_ts_2.Address; } });
48
+ Object.defineProperty(exports, "combinations", { enumerable: true, get: function () { return payment_ts_2.combinations; } });
49
+ Object.defineProperty(exports, "getAddress", { enumerable: true, get: function () { return payment_ts_2.getAddress; } });
50
+ Object.defineProperty(exports, "OutScript", { enumerable: true, get: function () { return payment_ts_2.OutScript; } });
51
+ Object.defineProperty(exports, "sortedMultisig", { enumerable: true, get: function () { return payment_ts_2.sortedMultisig; } });
52
+ Object.defineProperty(exports, "taprootListToTree", { enumerable: true, get: function () { return payment_ts_2.taprootListToTree; } });
53
+ Object.defineProperty(exports, "WIF", { enumerable: true, get: function () { return payment_ts_2.WIF; } });
54
+ var psbt_ts_1 = require("./psbt.js"); // remove
55
+ Object.defineProperty(exports, "_DebugPSBT", { enumerable: true, get: function () { return psbt_ts_1._DebugPSBT; } });
56
+ Object.defineProperty(exports, "TaprootControlBlock", { enumerable: true, get: function () { return psbt_ts_1.TaprootControlBlock; } });
57
+ var transaction_ts_2 = require("./transaction.js"); // remove
58
+ Object.defineProperty(exports, "bip32Path", { enumerable: true, get: function () { return transaction_ts_2.bip32Path; } });
59
+ Object.defineProperty(exports, "Decimal", { enumerable: true, get: function () { return transaction_ts_2.Decimal; } });
60
+ Object.defineProperty(exports, "DEFAULT_SEQUENCE", { enumerable: true, get: function () { return transaction_ts_2.DEFAULT_SEQUENCE; } });
61
+ Object.defineProperty(exports, "PSBTCombine", { enumerable: true, get: function () { return transaction_ts_2.PSBTCombine; } });
62
+ Object.defineProperty(exports, "SigHash", { enumerable: true, get: function () { return transaction_ts_2.SigHash; } });
63
+ var utxo_ts_2 = require("./utxo.js");
64
+ Object.defineProperty(exports, "_cmpBig", { enumerable: true, get: function () { return utxo_ts_2._cmpBig; } });
65
+ Object.defineProperty(exports, "_Estimator", { enumerable: true, get: function () { return utxo_ts_2._Estimator; } });
66
66
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAAA,0EAA0E;AAC1E,yCAOoB;AACpB,kDAAkD;AAClD,kBAAkB;AAClB,2CAGsB;AAFpB,sGAAA,QAAQ,OAAA;AACR,kGAAA,IAAI,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,mGAAA,KAAK,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,qGAAA,OAAO,OAAA;AAAE,qGAAA,OAAO,OAAA;AAAE,qGAAA,OAAO,OAAA;AAAE,oGAAA,MAAM,OAAA;AAAE,mGAAA,KAAK,OAAA;AAEzE,yCAQqB;AAPnB,wGAAA,WAAW,OAAA;AACX,mHAAA,sBAAsB,OAAA;AACtB,+FAAA,EAAE,OAAA;AACF,kGAAA,KAAK,OAAA;AACL,uGAAA,UAAU,OAAA;AACV,mGAAA,MAAM,OAAA;AACN,sGAAA,SAAS,OAAA;AAGX,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,uCAA4E;AAAnE,mGAAA,OAAO,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAAE,wGAAA,YAAY,OAAA;AACvD,qCAAqD;AAA5C,uGAAA,YAAY,OAAA;AAAE,qGAAA,UAAU,OAAA;AAEpB,QAAA,KAAK,GAAG;IACnB,OAAO,EAAP,kBAAO;IACP,WAAW,EAAX,sBAAW;IACX,YAAY,EAAZ,uBAAY;IACZ,UAAU,EAAV,qBAAU;IACV,qBAAqB,EAArB,gCAAqB;IACrB,kBAAkB,EAAlB,6BAAkB;CACnB,CAAC;AAEF,2CASsB,CAAC,SAAS;AAR9B,0GAAA,YAAY,OAAA;AACZ,qGAAA,OAAO,OAAA;AACP,0GAAA,YAAY,OAAA;AACZ,wGAAA,UAAU,OAAA;AACV,uGAAA,SAAS,OAAA;AACT,4GAAA,cAAc,OAAA;AACd,+GAAA,iBAAiB,OAAA;AACjB,iGAAA,GAAG,OAAA;AAIL,qCAA4D,CAAC,SAAS;AAA7D,qGAAA,UAAU,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AACxC,mDAA8F,CAAC,SAAS;AAA/F,2GAAA,SAAS,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,yGAAA,OAAO,OAAA;AACnE,qCAAgD;AAAvC,kGAAA,OAAO,OAAA;AAAE,qGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAAA,0EAA0E;AAC1E,yCAOoB;AACpB,kDAAkD;AAClD,kBAAkB;AAClB,2CAGsB;AAFpB,sGAAA,QAAQ,OAAA;AACR,kGAAA,IAAI,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,mGAAA,KAAK,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,qGAAA,OAAO,OAAA;AAAE,qGAAA,OAAO,OAAA;AAAE,qGAAA,OAAO,OAAA;AAAE,oGAAA,MAAM,OAAA;AAAE,mGAAA,KAAK,OAAA;AAEzE,yCAQqB;AAPnB,wGAAA,WAAW,OAAA;AACX,mHAAA,sBAAsB,OAAA;AACtB,+FAAA,EAAE,OAAA;AACF,kGAAA,KAAK,OAAA;AACL,uGAAA,UAAU,OAAA;AACV,mGAAA,MAAM,OAAA;AACN,sGAAA,SAAS,OAAA;AAGX,mDAA6D;AAApD,8GAAA,YAAY,OAAA;AAAE,6GAAA,WAAW,OAAA;AAClC,uCAA4E;AAAnE,mGAAA,OAAO,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAAE,wGAAA,YAAY,OAAA;AACvD,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AAEN,QAAA,KAAK,GAAG;IACnB,OAAO,EAAP,kBAAO;IACP,WAAW,EAAX,sBAAW;IACX,YAAY,EAAZ,uBAAY;IACZ,UAAU,EAAV,qBAAU;IACV,qBAAqB,EAArB,gCAAqB;IACrB,kBAAkB,EAAlB,6BAAkB;CACnB,CAAC;AAEF,2CASsB,CAAC,SAAS;AAR9B,0GAAA,YAAY,OAAA;AACZ,qGAAA,OAAO,OAAA;AACP,0GAAA,YAAY,OAAA;AACZ,wGAAA,UAAU,OAAA;AACV,uGAAA,SAAS,OAAA;AACT,4GAAA,cAAc,OAAA;AACd,+GAAA,iBAAiB,OAAA;AACjB,iGAAA,GAAG,OAAA;AAIL,qCAA4D,CAAC,SAAS;AAA7D,qGAAA,UAAU,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AACxC,mDAA8F,CAAC,SAAS;AAA/F,2GAAA,SAAS,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,yGAAA,OAAO,OAAA;AACnE,qCAAgD;AAAvC,kGAAA,OAAO,OAAA;AAAE,qGAAA,UAAU,OAAA"}
package/musig2.d.ts CHANGED
@@ -38,7 +38,7 @@ export declare function sortKeys(publicKeys: Uint8Array[]): Uint8Array[];
38
38
  * @throws {InvalidContributionErr} If any of the public keys are invalid and cannot be processed.
39
39
  */
40
40
  export declare function keyAggregate(publicKeys: Uint8Array[], tweaks?: Uint8Array[], isXonly?: boolean[]): {
41
- aggPublicKey: import("@noble/curves/abstract/weierstrass.js").ProjPointType<bigint>;
41
+ aggPublicKey: import("@noble/curves/abstract/weierstrass").ProjPointType<bigint>;
42
42
  gAcc: bigint;
43
43
  tweakAcc: bigint;
44
44
  };
package/musig2.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"musig2.d.ts","sourceRoot":"","sources":["src/musig2.ts"],"names":[],"mappings":"AA0BA;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAChE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,WAAW,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAC3E;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBACT,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAInC;AA8CD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE/D;AASD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAG/D;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,UAAU,EAAE,EACxB,MAAM,GAAE,UAAU,EAAO,EACzB,OAAO,GAAE,OAAO,EAAO;;;;EAgCxB;AACD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,+BAEhE;AA+BD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,UAAU,EACrB,SAAS,CAAC,EAAE,UAAU,EACtB,YAAY,GAAE,UAA8B,EAC5C,GAAG,CAAC,EAAE,UAAU,EAChB,OAAO,GAAE,UAA8B,EACvC,IAAI,GAAE,UAA4B,GACjC,MAAM,CAmBR;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAgBlE;AAID,qBAAa,OAAO;IAClB,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,CAAC,CAAQ;IACjB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,CAAC,CAAS;IAClB,OAAO,CAAC,CAAC,CAAQ;IACjB,OAAO,CAAC,CAAC,CAAS;IAClB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,CAAC,CAAa;IACtB,OAAO,CAAC,SAAS,CAAa;IAC9B;;;;;;;;;;OAUG;gBAED,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,UAAU,EAAE,EACxB,GAAG,EAAE,UAAU,EACf,MAAM,GAAE,UAAU,EAAO,EACzB,OAAO,GAAE,OAAO,EAAO;IAuBzB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,wBAAwB;IAmBhC;;;;;;;;OAQG;IACH,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,UAAQ,GAAG,UAAU;IAiC/E;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAerF;;;;;;OAMG;IACH,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU;CAarD;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,UAAU,EACzB,UAAU,EAAE,UAAU,EAAE,EACxB,GAAG,EAAE,UAAU,EACf,MAAM,GAAE,UAAU,EAAO,EACzB,OAAO,GAAE,OAAO,EAAO,EACvB,IAAI,CAAC,EAAE,UAAU,EACjB,QAAQ,UAAQ,GACf,QAAQ,CAmBV"}
1
+ {"version":3,"file":"musig2.d.ts","sourceRoot":"","sources":["src/musig2.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAChE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,WAAW,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAC3E;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBACT,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAInC;AA8CD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE/D;AASD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAG/D;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,UAAU,EAAE,EACxB,MAAM,GAAE,UAAU,EAAO,EACzB,OAAO,GAAE,OAAO,EAAO;;;;EAgCxB;AACD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,+BAEhE;AA+BD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,UAAU,EACrB,SAAS,CAAC,EAAE,UAAU,EACtB,YAAY,GAAE,UAA8B,EAC5C,GAAG,CAAC,EAAE,UAAU,EAChB,OAAO,GAAE,UAA8B,EACvC,IAAI,GAAE,UAA4B,GACjC,MAAM,CAmBR;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAgBlE;AAID,qBAAa,OAAO;IAClB,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,CAAC,CAAQ;IACjB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,CAAC,CAAS;IAClB,OAAO,CAAC,CAAC,CAAQ;IACjB,OAAO,CAAC,CAAC,CAAS;IAClB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,CAAC,CAAa;IACtB,OAAO,CAAC,SAAS,CAAa;IAC9B;;;;;;;;;;OAUG;gBAED,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,UAAU,EAAE,EACxB,GAAG,EAAE,UAAU,EACf,MAAM,GAAE,UAAU,EAAO,EACzB,OAAO,GAAE,OAAO,EAAO;IAuBzB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,wBAAwB;IAmBhC;;;;;;;;OAQG;IACH,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,UAAQ,GAAG,UAAU;IAiC/E;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAerF;;;;;;OAMG;IACH,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU;CAarD;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,UAAU,EACzB,UAAU,EAAE,UAAU,EAAE,EACxB,GAAG,EAAE,UAAU,EACf,MAAM,GAAE,UAAU,EAAO,EACzB,OAAO,GAAE,OAAO,EAAO,EACvB,IAAI,CAAC,EAAE,UAAU,EACjB,QAAQ,UAAQ,GACf,QAAQ,CAmBV"}
package/musig2.js CHANGED
@@ -8,13 +8,12 @@ exports.keyAggExport = keyAggExport;
8
8
  exports.nonceGen = nonceGen;
9
9
  exports.nonceAggregate = nonceAggregate;
10
10
  exports.deterministicSign = deterministicSign;
11
- const modular_1 = require("@noble/curves/abstract/modular");
12
- const utils_1 = require("@noble/curves/abstract/utils");
13
- const secp256k1_1 = require("@noble/curves/secp256k1");
14
- const _assert_1 = require("@noble/hashes/_assert");
15
- const utils_2 = require("@noble/hashes/utils");
11
+ const modular_js_1 = require("@noble/curves/abstract/modular.js");
12
+ const utils_js_1 = require("@noble/curves/abstract/utils.js");
13
+ const secp256k1_js_1 = require("@noble/curves/secp256k1.js");
14
+ const utils_js_2 = require("@noble/hashes/utils.js");
16
15
  const P = require("micro-packed");
17
- const utils_js_1 = require("./utils.js");
16
+ const utils_ts_1 = require("./utils.js");
18
17
  /**
19
18
  * Represents an error indicating an invalid contribution from a signer.
20
19
  * This allows pointing out which participant is malicious and what specifically is wrong.
@@ -27,31 +26,31 @@ class InvalidContributionErr extends Error {
27
26
  }
28
27
  exports.InvalidContributionErr = InvalidContributionErr;
29
28
  // Utils
30
- const { taggedHash, pointToBytes } = secp256k1_1.schnorr.utils;
31
- const Point = secp256k1_1.secp256k1.ProjectivePoint;
29
+ const { taggedHash, pointToBytes } = secp256k1_js_1.schnorr.utils;
30
+ const Point = secp256k1_js_1.secp256k1.ProjectivePoint;
32
31
  const PUBKEY_LEN = 33;
33
32
  const ZERO = new Uint8Array(PUBKEY_LEN); // Compressed zero point
34
- const SECP_N = secp256k1_1.secp256k1.CURVE.n;
33
+ const SECP_N = secp256k1_js_1.secp256k1.CURVE.n;
35
34
  // Encoding
36
35
  // TODO: re-use in PSBT?
37
36
  const compressed = P.apply(P.bytes(33), {
38
37
  decode: (p) => (isZero(p) ? ZERO : p.toRawBytes(true)),
39
- encode: (b) => ((0, utils_1.equalBytes)(b, ZERO) ? Point.ZERO : Point.fromHex(b)),
38
+ encode: (b) => ((0, utils_js_1.equalBytes)(b, ZERO) ? Point.ZERO : Point.fromHex(b)),
40
39
  });
41
40
  const scalar = P.validate(P.U256BE, (n) => {
42
- (0, utils_1.aInRange)('n', n, 1n, SECP_N);
41
+ (0, utils_js_1.aInRange)('n', n, 1n, SECP_N);
43
42
  return n;
44
43
  });
45
44
  const PubNonce = P.struct({ R1: compressed, R2: compressed });
46
45
  const SecretNonce = P.struct({ k1: scalar, k2: scalar, publicKey: P.bytes(PUBKEY_LEN) });
47
46
  function abytesOptional(b, ...lengths) {
48
47
  if (b !== undefined)
49
- (0, _assert_1.abytes)(b, ...lengths);
48
+ (0, utils_js_2.abytes)(b, ...lengths);
50
49
  }
51
50
  function abytesArray(lst, ...lengths) {
52
51
  if (!Array.isArray(lst))
53
52
  throw new Error('expected array');
54
- lst.forEach((i) => (0, _assert_1.abytes)(i, ...lengths));
53
+ lst.forEach((i) => (0, utils_js_2.abytes)(i, ...lengths));
55
54
  }
56
55
  function aXonly(lst) {
57
56
  if (!Array.isArray(lst))
@@ -61,12 +60,12 @@ function aXonly(lst) {
61
60
  throw new Error('expected boolean in xOnly array, got' + i + '(' + j + ')');
62
61
  });
63
62
  }
64
- const modN = (x) => (0, modular_1.mod)(x, SECP_N);
65
- const taggedInt = (tag, ...messages) => modN((0, utils_1.bytesToNumberBE)(taggedHash(tag, ...messages)));
63
+ const modN = (x) => (0, modular_js_1.mod)(x, SECP_N);
64
+ const taggedInt = (tag, ...messages) => modN((0, utils_js_1.bytesToNumberBE)(taggedHash(tag, ...messages)));
66
65
  const evenScalar = (p, n) => (p.hasEvenY() ? n : modN(-n));
67
66
  // Short utility for compat with reference implementation
68
67
  function IndividualPubkey(seckey) {
69
- return secp256k1_1.secp256k1.getPublicKey(seckey, true);
68
+ return secp256k1_js_1.secp256k1.getPublicKey(seckey, true);
70
69
  }
71
70
  // Same, but returns Point
72
71
  function mulBase(n) {
@@ -83,13 +82,13 @@ function isZero(point) {
83
82
  */
84
83
  function sortKeys(publicKeys) {
85
84
  abytesArray(publicKeys, PUBKEY_LEN);
86
- return publicKeys.sort(utils_js_1.compareBytes);
85
+ return publicKeys.sort(utils_ts_1.compareBytes);
87
86
  }
88
87
  // Finds second distinct key (to make coefficient 1)
89
88
  function getSecondKey(publicKeys) {
90
89
  abytesArray(publicKeys, PUBKEY_LEN);
91
90
  for (let j = 1; j < publicKeys.length; j++)
92
- if (!(0, utils_1.equalBytes)(publicKeys[j], publicKeys[0]))
91
+ if (!(0, utils_js_1.equalBytes)(publicKeys[j], publicKeys[0]))
93
92
  return publicKeys[j];
94
93
  return ZERO;
95
94
  }
@@ -98,9 +97,9 @@ function keyAggL(publicKeys) {
98
97
  return taggedHash('KeyAgg list', ...publicKeys);
99
98
  }
100
99
  function keyAggCoeffInternal(publicKey1, publicKey2, L) {
101
- (0, _assert_1.abytes)(publicKey1, PUBKEY_LEN);
102
- (0, _assert_1.abytes)(publicKey2, PUBKEY_LEN);
103
- if ((0, utils_1.equalBytes)(publicKey1, publicKey2))
100
+ (0, utils_js_2.abytes)(publicKey1, PUBKEY_LEN);
101
+ (0, utils_js_2.abytes)(publicKey2, PUBKEY_LEN);
102
+ if ((0, utils_js_1.equalBytes)(publicKey1, publicKey2))
104
103
  return 1n;
105
104
  return taggedInt('KeyAgg coefficient', L, publicKey1);
106
105
  }
@@ -137,8 +136,8 @@ function keyAggregate(publicKeys, tweaks = [], isXonly = []) {
137
136
  // Apply tweaks
138
137
  for (let i = 0; i < tweaks.length; i++) {
139
138
  const g = isXonly[i] && !aggPublicKey.hasEvenY() ? modN(-1n) : 1n;
140
- const t = (0, utils_1.bytesToNumberBE)(tweaks[i]);
141
- (0, utils_1.aInRange)('tweak', t, 0n, SECP_N);
139
+ const t = (0, utils_js_1.bytesToNumberBE)(tweaks[i]);
140
+ (0, utils_js_1.aInRange)('tweak', t, 0n, SECP_N);
142
141
  aggPublicKey = aggPublicKey.multiply(g).add(mulBase(t));
143
142
  if (isZero(aggPublicKey))
144
143
  throw new Error('The result of tweaking cannot be infinity');
@@ -164,7 +163,7 @@ function aux(secret, rand) {
164
163
  res[i] = secret[i] ^ rand2[i];
165
164
  return res;
166
165
  }
167
- const nonceHash = (rand, publicKey, aggPublicKey, i, msgPrefixed, extraIn) => taggedInt('MuSig/nonce', rand, new Uint8Array([publicKey.length]), publicKey, new Uint8Array([aggPublicKey.length]), aggPublicKey, msgPrefixed, (0, utils_1.numberToBytesBE)(extraIn.length, 4), extraIn, new Uint8Array([i]));
166
+ const nonceHash = (rand, publicKey, aggPublicKey, i, msgPrefixed, extraIn) => taggedInt('MuSig/nonce', rand, new Uint8Array([publicKey.length]), publicKey, new Uint8Array([aggPublicKey.length]), aggPublicKey, msgPrefixed, (0, utils_js_1.numberToBytesBE)(extraIn.length, 4), extraIn, new Uint8Array([i]));
168
167
  /**
169
168
  * Generates a nonce pair (public and secret) for MuSig2 signing.
170
169
  * @param publicKey The individual public key of the signer (Uint8Array).
@@ -176,17 +175,17 @@ const nonceHash = (rand, publicKey, aggPublicKey, i, msgPrefixed, extraIn) => ta
176
175
  * @returns An object containing the public and secret nonces.
177
176
  * @throws {Error} If the input is invalid, such as non array publicKey, secretKey, aggPublicKey.
178
177
  */
179
- function nonceGen(publicKey, secretKey, aggPublicKey = new Uint8Array(0), msg, extraIn = new Uint8Array(0), rand = (0, utils_2.randomBytes)(32)) {
180
- (0, _assert_1.abytes)(publicKey, PUBKEY_LEN);
178
+ function nonceGen(publicKey, secretKey, aggPublicKey = new Uint8Array(0), msg, extraIn = new Uint8Array(0), rand = (0, utils_js_2.randomBytes)(32)) {
179
+ (0, utils_js_2.abytes)(publicKey, PUBKEY_LEN);
181
180
  abytesOptional(secretKey, 32);
182
- (0, _assert_1.abytes)(aggPublicKey, 0, 32);
181
+ (0, utils_js_2.abytes)(aggPublicKey, 0, 32);
183
182
  abytesOptional(msg);
184
- (0, _assert_1.abytes)(extraIn);
185
- (0, _assert_1.abytes)(rand, 32);
183
+ (0, utils_js_2.abytes)(extraIn);
184
+ (0, utils_js_2.abytes)(rand, 32);
186
185
  if (secretKey !== undefined)
187
186
  rand = aux(secretKey, rand);
188
187
  const msgPrefixed = msg !== undefined
189
- ? (0, utils_1.concatBytes)(new Uint8Array([1]), (0, utils_1.numberToBytesBE)(msg.length, 8), msg)
188
+ ? (0, utils_js_1.concatBytes)(new Uint8Array([1]), (0, utils_js_1.numberToBytesBE)(msg.length, 8), msg)
190
189
  : new Uint8Array([0]);
191
190
  const k1 = nonceHash(rand, publicKey, aggPublicKey, 0, msgPrefixed, extraIn);
192
191
  const k2 = nonceHash(rand, publicKey, aggPublicKey, 1, msgPrefixed, extraIn);
@@ -239,7 +238,7 @@ class Session {
239
238
  abytesArray(publicKeys, 33);
240
239
  abytesArray(tweaks, 32);
241
240
  aXonly(isXonly);
242
- (0, _assert_1.abytes)(msg);
241
+ (0, utils_js_2.abytes)(msg);
243
242
  if (tweaks.length !== isXonly.length)
244
243
  throw new Error('The tweaks and isXonly arrays must have the same length');
245
244
  const { aggPublicKey, gAcc, tweakAcc } = keyAggregate(publicKeys, tweaks, isXonly);
@@ -267,14 +266,14 @@ class Session {
267
266
  getSessionKeyAggCoeff(P) {
268
267
  const { publicKeys } = this;
269
268
  const pk = P.toRawBytes(true);
270
- const found = publicKeys.some((p) => (0, utils_1.equalBytes)(p, pk));
269
+ const found = publicKeys.some((p) => (0, utils_js_1.equalBytes)(p, pk));
271
270
  if (!found)
272
271
  throw new Error("The signer's pubkey must be included in the list of pubkeys");
273
272
  return keyAggCoeffInternal(pk, this.secondKey, this.L);
274
273
  }
275
274
  partialSigVerifyInternal(partialSig, publicNonce, publicKey) {
276
275
  const { Q, gAcc, b, R, e } = this;
277
- const s = (0, utils_1.bytesToNumberBE)(partialSig);
276
+ const s = (0, utils_js_1.bytesToNumberBE)(partialSig);
278
277
  if (s >= SECP_N)
279
278
  return false;
280
279
  const { R1, R2 } = PubNonce.decode(publicNonce);
@@ -297,7 +296,7 @@ class Session {
297
296
  * @throws {Error} If the input is invalid, such as wrong array sizes, invalid nonce or secret key.
298
297
  */
299
298
  sign(secretNonce, secret, fastSign = false) {
300
- (0, _assert_1.abytes)(secret, 32);
299
+ (0, utils_js_2.abytes)(secret, 32);
301
300
  if (typeof fastSign !== 'boolean')
302
301
  throw new Error('expected boolean');
303
302
  const { Q, gAcc, b, R, e } = this;
@@ -305,21 +304,21 @@ class Session {
305
304
  // zero-out the first 64 bytes of secretNonce so it cannot be reused
306
305
  // TODO: this was in reference implementation, but feels very broken. Modifying input arguments is pretty bad.
307
306
  secretNonce.fill(0, 0, 64);
308
- (0, utils_1.aInRange)('k1', k1_, 0n, SECP_N);
309
- (0, utils_1.aInRange)('k2', k2_, 0n, SECP_N);
307
+ (0, utils_js_1.aInRange)('k1', k1_, 0n, SECP_N);
308
+ (0, utils_js_1.aInRange)('k2', k2_, 0n, SECP_N);
310
309
  const k1 = evenScalar(R, k1_);
311
310
  const k2 = evenScalar(R, k2_);
312
- const d_ = (0, utils_1.bytesToNumberBE)(secret);
313
- (0, utils_1.aInRange)('d_', d_, 1n, SECP_N);
311
+ const d_ = (0, utils_js_1.bytesToNumberBE)(secret);
312
+ (0, utils_js_1.aInRange)('d_', d_, 1n, SECP_N);
314
313
  const P = mulBase(d_);
315
314
  const pk = P.toRawBytes(true);
316
- if (!(0, utils_1.equalBytes)(pk, originalPk))
315
+ if (!(0, utils_js_1.equalBytes)(pk, originalPk))
317
316
  throw new Error('Public key does not match nonceGen argument');
318
317
  const a = this.getSessionKeyAggCoeff(P);
319
318
  const g = evenScalar(Q, 1n);
320
319
  const d = modN(g * gAcc * d_);
321
320
  const s = modN(k1 + b * k2 + e * a * d);
322
- const partialSig = (0, utils_1.numberToBytesBE)(s, 32);
321
+ const partialSig = (0, utils_js_1.numberToBytesBE)(s, 32);
323
322
  // Skip validation in fast-sign mode
324
323
  if (!fastSign) {
325
324
  const publicNonce = PubNonce.encode({
@@ -345,12 +344,12 @@ class Session {
345
344
  */
346
345
  partialSigVerify(partialSig, pubNonces, i) {
347
346
  const { publicKeys, tweaks, isXonly } = this;
348
- (0, _assert_1.abytes)(partialSig, 32);
347
+ (0, utils_js_2.abytes)(partialSig, 32);
349
348
  abytesArray(pubNonces, 66);
350
349
  abytesArray(publicKeys, PUBKEY_LEN);
351
350
  abytesArray(tweaks, 32);
352
351
  aXonly(isXonly);
353
- (0, _assert_1.anumber)(i);
352
+ (0, utils_js_2.anumber)(i);
354
353
  if (pubNonces.length !== publicKeys.length)
355
354
  throw new Error('The pubNonces and publicKeys arrays must have the same length');
356
355
  if (tweaks.length !== isXonly.length)
@@ -371,18 +370,18 @@ class Session {
371
370
  const { Q, tweakAcc, R, e } = this;
372
371
  let s = 0n;
373
372
  for (let i = 0; i < partialSigs.length; i++) {
374
- const si = (0, utils_1.bytesToNumberBE)(partialSigs[i]);
373
+ const si = (0, utils_js_1.bytesToNumberBE)(partialSigs[i]);
375
374
  if (si >= SECP_N)
376
375
  throw new InvalidContributionErr(i, 'psig');
377
376
  s = modN(s + si);
378
377
  }
379
378
  const g = evenScalar(Q, 1n);
380
379
  s = modN(s + e * g * tweakAcc);
381
- return (0, utils_1.concatBytes)(pointToBytes(R), (0, utils_1.numberToBytesBE)(s, 32));
380
+ return (0, utils_js_1.concatBytes)(pointToBytes(R), (0, utils_js_1.numberToBytesBE)(s, 32));
382
381
  }
383
382
  }
384
383
  exports.Session = Session;
385
- const deterministicNonceHash = (secret, aggOtherNonce, aggPublicKey, msg, i) => taggedInt('MuSig/deterministic/nonce', secret, aggOtherNonce, aggPublicKey, (0, utils_1.numberToBytesBE)(msg.length, 8), msg, new Uint8Array([i]));
384
+ const deterministicNonceHash = (secret, aggOtherNonce, aggPublicKey, msg, i) => taggedInt('MuSig/deterministic/nonce', secret, aggOtherNonce, aggPublicKey, (0, utils_js_1.numberToBytesBE)(msg.length, 8), msg, new Uint8Array([i]));
386
385
  /**
387
386
  * Generates a nonce pair and partial signature deterministically for a single signer.
388
387
  * @param secret The secret key of the signer (Uint8Array).
@@ -395,11 +394,11 @@ const deterministicNonceHash = (secret, aggOtherNonce, aggPublicKey, msg, i) =>
395
394
  * @returns An object containing the public nonce and partial signature.
396
395
  */
397
396
  function deterministicSign(secret, aggOtherNonce, publicKeys, msg, tweaks = [], isXonly = [], rand, fastSign = false) {
398
- (0, _assert_1.abytes)(secret, 32);
399
- (0, _assert_1.abytes)(aggOtherNonce, 66);
397
+ (0, utils_js_2.abytes)(secret, 32);
398
+ (0, utils_js_2.abytes)(aggOtherNonce, 66);
400
399
  abytesArray(publicKeys, PUBKEY_LEN);
401
400
  abytesArray(tweaks, 32);
402
- (0, _assert_1.abytes)(msg);
401
+ (0, utils_js_2.abytes)(msg);
403
402
  abytesOptional(rand);
404
403
  const sk = rand !== undefined ? aux(secret, rand) : secret;
405
404
  const aggPublicKey = keyAggExport(keyAggregate(publicKeys, tweaks, isXonly));
package/musig2.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"musig2.js","sourceRoot":"","sources":["src/musig2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"musig2.js","sourceRoot":"","sources":["src/musig2.ts"],"names":[],"mappings":"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"}
package/p2p.d.ts ADDED
@@ -0,0 +1,38 @@
1
+ /**
2
+ * BTC P2P layer from BIP324.
3
+ *
4
+ * Experimental ElligatorSwift implementation:
5
+ * Schnorr-like x-only ECDH with public keys indistinguishable from uniformly random bytes.
6
+ *
7
+ * Documented in
8
+ * [BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki),
9
+ * [libsecp](https://github.com/bitcoin/bitcoin/blob/master/src/secp256k1/doc/ellswift.md).
10
+ *
11
+ * SwiftEC: Shallue-van de Woestijne Indifferentiable Function to Elliptic Curves.
12
+ * Documented in https://eprint.iacr.org/2022/759.pdf.
13
+ *
14
+ * Curve25519 & P-521 are incompatible with SwiftEC. Differences from SwiftEC:
15
+ * * undefined inputs are remapped
16
+ * * y-parity is encoded in u/t values
17
+ *
18
+ * @module
19
+ */
20
+ import type { Hex } from '@noble/curves/abstract/utils.js';
21
+ import { type ProjPointType as PointType } from '@noble/curves/abstract/weierstrass.js';
22
+ /**
23
+ * Experimental ElligatorSwift implementation:
24
+ * Schnorr-like x-only ECDH with public keys indistinguishable from uniformly random bytes.
25
+ * Documented in BIP324.
26
+ */
27
+ export declare const elligatorSwift: {
28
+ _inv: (x: bigint, u: bigint, ellCase: number) => bigint | void;
29
+ encode: (x: bigint | PointType<bigint>) => Uint8Array;
30
+ decode: (data: Hex) => Uint8Array;
31
+ keygen: () => {
32
+ privateKey: Uint8Array<ArrayBufferLike>;
33
+ publicKey: Uint8Array<ArrayBufferLike>;
34
+ };
35
+ getSharedSecret: (privateKeyA: Hex, publicKeyB: Hex) => Uint8Array<ArrayBufferLike>;
36
+ getSharedSecretBip324: (privateKeyOurs: Hex, publicKeyTheirs: Hex, publicKeyOurs: Hex, initiating: boolean) => Uint8Array<ArrayBufferLike>;
37
+ };
38
+ //# sourceMappingURL=p2p.d.ts.map
package/p2p.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p2p.d.ts","sourceRoot":"","sources":["src/p2p.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAO3D,OAAO,EAAE,KAAK,aAAa,IAAI,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAsBxF;;;;GAIG;AACH,eAAO,MAAM,cAAc;cAEf,MAAM,KAAK,MAAM,WAAW,MAAM,KAAG,MAAM,GAAG,IAAI;gBA+BhD,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,KAAG,UAAU;mBAmBpC,GAAG,KAAG,UAAU;;;;;mCA8BA,GAAG,cAAc,GAAG;4CASjC,GAAG,mBACF,GAAG,iBACL,GAAG,cACN,OAAO;CAQtB,CAAC"}