@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.
- package/README.md +57 -6
- package/_type_test.js +1 -1
- package/_type_test.js.map +1 -1
- package/esm/_type_test.js +2 -2
- package/esm/_type_test.js.map +1 -1
- package/esm/index.d.ts +12 -12
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +10 -10
- package/esm/index.js.map +1 -1
- package/esm/musig2.d.ts.map +1 -1
- package/esm/musig2.js +5 -6
- package/esm/musig2.js.map +1 -1
- package/esm/p2p.d.ts +38 -0
- package/esm/p2p.d.ts.map +1 -0
- package/esm/p2p.js +156 -0
- package/esm/p2p.js.map +1 -0
- package/esm/payment.d.ts +77 -21
- package/esm/payment.d.ts.map +1 -1
- package/esm/payment.js +63 -60
- package/esm/payment.js.map +1 -1
- package/esm/psbt.d.ts +1 -1
- package/esm/psbt.d.ts.map +1 -1
- package/esm/psbt.js +2 -35
- package/esm/psbt.js.map +1 -1
- package/esm/script.js +1 -1
- package/esm/transaction.d.ts +57 -4
- package/esm/transaction.d.ts.map +1 -1
- package/esm/transaction.js +157 -11
- package/esm/transaction.js.map +1 -1
- package/esm/utils.d.ts +2 -2
- package/esm/utils.d.ts.map +1 -1
- package/esm/utils.js +4 -4
- package/esm/utils.js.map +1 -1
- package/esm/utxo.d.ts +3 -55
- package/esm/utxo.d.ts.map +1 -1
- package/esm/utxo.js +6 -115
- package/esm/utxo.js.map +1 -1
- package/index.d.ts +12 -12
- package/index.d.ts.map +1 -1
- package/index.js +58 -58
- package/index.js.map +1 -1
- package/musig2.d.ts +1 -1
- package/musig2.d.ts.map +1 -1
- package/musig2.js +47 -48
- package/musig2.js.map +1 -1
- package/p2p.d.ts +38 -0
- package/p2p.d.ts.map +1 -0
- package/p2p.js +158 -0
- package/p2p.js.map +1 -0
- package/package.json +43 -11
- package/payment.d.ts +77 -21
- package/payment.d.ts.map +1 -1
- package/payment.js +81 -78
- package/payment.js.map +1 -1
- package/psbt.d.ts +1 -1
- package/psbt.d.ts.map +1 -1
- package/psbt.js +22 -55
- package/psbt.js.map +1 -1
- package/script.js +3 -3
- package/src/_type_test.ts +2 -2
- package/src/index.ts +12 -12
- package/src/musig2.ts +5 -6
- package/src/p2p.ts +158 -0
- package/src/payment.ts +160 -75
- package/src/psbt.ts +2 -36
- package/src/script.ts +1 -1
- package/src/transaction.ts +166 -15
- package/src/utils.ts +4 -4
- package/src/utxo.ts +10 -112
- package/transaction.d.ts +57 -4
- package/transaction.d.ts.map +1 -1
- package/transaction.js +228 -78
- package/transaction.js.map +1 -1
- package/utils.d.ts +2 -2
- package/utils.d.ts.map +1 -1
- package/utils.js +21 -21
- package/utils.js.map +1 -1
- package/utxo.d.ts +3 -55
- package/utxo.d.ts.map +1 -1
- package/utxo.js +44 -157
- 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.
|
|
3
|
-
export { multisig, p2ms, p2pk, p2pkh, p2sh, p2tr, p2tr_ms, p2tr_ns, p2tr_pk, p2wpkh, p2wsh } from './payment.
|
|
4
|
-
export { CompactSize, MAX_SCRIPT_BYTE_LENGTH, OP, RawTx, RawWitness, Script, ScriptNum, } from './script.
|
|
5
|
-
export type { ScriptType } from './script.
|
|
6
|
-
export { Transaction } from './transaction.
|
|
7
|
-
export { NETWORK, TAPROOT_UNSPENDABLE_KEY, TEST_NETWORK } from './utils.
|
|
8
|
-
export {
|
|
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.
|
|
18
|
-
export type { CustomScript, OptScript } from './payment.
|
|
19
|
-
export { _DebugPSBT, TaprootControlBlock } from './psbt.
|
|
20
|
-
export { bip32Path, Decimal, DEFAULT_SEQUENCE, PSBTCombine, SigHash } from './transaction.
|
|
21
|
-
export { _cmpBig, _Estimator } from './utxo.
|
|
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;
|
|
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.
|
|
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
|
|
5
|
+
const utils_ts_1 = require("./utils.js");
|
|
6
6
|
// should multisig be exported as classicMultisig?
|
|
7
7
|
// prettier-ignore
|
|
8
|
-
var
|
|
9
|
-
Object.defineProperty(exports, "multisig", { enumerable: true, get: function () { return
|
|
10
|
-
Object.defineProperty(exports, "p2ms", { enumerable: true, get: function () { return
|
|
11
|
-
Object.defineProperty(exports, "p2pk", { enumerable: true, get: function () { return
|
|
12
|
-
Object.defineProperty(exports, "p2pkh", { enumerable: true, get: function () { return
|
|
13
|
-
Object.defineProperty(exports, "p2sh", { enumerable: true, get: function () { return
|
|
14
|
-
Object.defineProperty(exports, "p2tr", { enumerable: true, get: function () { return
|
|
15
|
-
Object.defineProperty(exports, "p2tr_ms", { enumerable: true, get: function () { return
|
|
16
|
-
Object.defineProperty(exports, "p2tr_ns", { enumerable: true, get: function () { return
|
|
17
|
-
Object.defineProperty(exports, "p2tr_pk", { enumerable: true, get: function () { return
|
|
18
|
-
Object.defineProperty(exports, "p2wpkh", { enumerable: true, get: function () { return
|
|
19
|
-
Object.defineProperty(exports, "p2wsh", { enumerable: true, get: function () { return
|
|
20
|
-
var
|
|
21
|
-
Object.defineProperty(exports, "CompactSize", { enumerable: true, get: function () { return
|
|
22
|
-
Object.defineProperty(exports, "MAX_SCRIPT_BYTE_LENGTH", { enumerable: true, get: function () { return
|
|
23
|
-
Object.defineProperty(exports, "OP", { enumerable: true, get: function () { return
|
|
24
|
-
Object.defineProperty(exports, "RawTx", { enumerable: true, get: function () { return
|
|
25
|
-
Object.defineProperty(exports, "RawWitness", { enumerable: true, get: function () { return
|
|
26
|
-
Object.defineProperty(exports, "Script", { enumerable: true, get: function () { return
|
|
27
|
-
Object.defineProperty(exports, "ScriptNum", { enumerable: true, get: function () { return
|
|
28
|
-
var
|
|
29
|
-
Object.defineProperty(exports, "
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
Object.defineProperty(exports, "
|
|
33
|
-
Object.defineProperty(exports, "
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Object.defineProperty(exports, "selectUTXO", { enumerable: true, get: function () { return
|
|
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:
|
|
39
|
-
concatBytes:
|
|
40
|
-
compareBytes:
|
|
41
|
-
pubSchnorr:
|
|
42
|
-
randomPrivateKeyBytes:
|
|
43
|
-
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
|
|
46
|
-
Object.defineProperty(exports, "_sortPubkeys", { enumerable: true, get: function () { return
|
|
47
|
-
Object.defineProperty(exports, "Address", { enumerable: true, get: function () { return
|
|
48
|
-
Object.defineProperty(exports, "combinations", { enumerable: true, get: function () { return
|
|
49
|
-
Object.defineProperty(exports, "getAddress", { enumerable: true, get: function () { return
|
|
50
|
-
Object.defineProperty(exports, "OutScript", { enumerable: true, get: function () { return
|
|
51
|
-
Object.defineProperty(exports, "sortedMultisig", { enumerable: true, get: function () { return
|
|
52
|
-
Object.defineProperty(exports, "taprootListToTree", { enumerable: true, get: function () { return
|
|
53
|
-
Object.defineProperty(exports, "WIF", { enumerable: true, get: function () { return
|
|
54
|
-
var
|
|
55
|
-
Object.defineProperty(exports, "_DebugPSBT", { enumerable: true, get: function () { return
|
|
56
|
-
Object.defineProperty(exports, "TaprootControlBlock", { enumerable: true, get: function () { return
|
|
57
|
-
var
|
|
58
|
-
Object.defineProperty(exports, "bip32Path", { enumerable: true, get: function () { return
|
|
59
|
-
Object.defineProperty(exports, "Decimal", { enumerable: true, get: function () { return
|
|
60
|
-
Object.defineProperty(exports, "DEFAULT_SEQUENCE", { enumerable: true, get: function () { return
|
|
61
|
-
Object.defineProperty(exports, "PSBTCombine", { enumerable: true, get: function () { return
|
|
62
|
-
Object.defineProperty(exports, "SigHash", { enumerable: true, get: function () { return
|
|
63
|
-
var
|
|
64
|
-
Object.defineProperty(exports, "_cmpBig", { enumerable: true, get: function () { return
|
|
65
|
-
Object.defineProperty(exports, "_Estimator", { enumerable: true, get: function () { return
|
|
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,
|
|
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
|
|
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":"
|
|
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
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
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
|
|
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 } =
|
|
31
|
-
const Point =
|
|
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 =
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
65
|
-
const taggedInt = (tag, ...messages) => modN((0,
|
|
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
|
|
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(
|
|
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,
|
|
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,
|
|
102
|
-
(0,
|
|
103
|
-
if ((0,
|
|
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,
|
|
141
|
-
(0,
|
|
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,
|
|
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,
|
|
180
|
-
(0,
|
|
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,
|
|
181
|
+
(0, utils_js_2.abytes)(aggPublicKey, 0, 32);
|
|
183
182
|
abytesOptional(msg);
|
|
184
|
-
(0,
|
|
185
|
-
(0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
309
|
-
(0,
|
|
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,
|
|
313
|
-
(0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
399
|
-
(0,
|
|
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,
|
|
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"}
|