@bitgo-beta/sdk-lib-mpc 8.2.1-alpha.35 → 8.2.1-alpha.350
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/CHANGELOG.md +535 -0
- package/dist/src/curves/ed25519.d.ts +0 -1
- package/dist/src/curves/ed25519.d.ts.map +1 -1
- package/dist/src/curves/ed25519.js +12 -12
- package/dist/src/curves/ed25519Bip32HdTree.js +14 -14
- package/dist/src/curves/index.js +6 -2
- package/dist/src/curves/secp256k1.d.ts +0 -1
- package/dist/src/curves/secp256k1.d.ts.map +1 -1
- package/dist/src/curves/secp256k1.js +22 -38
- package/dist/src/curves/secp256k1Bip32HdTree.js +10 -10
- package/dist/src/curves/types.d.ts +2 -3
- package/dist/src/curves/types.d.ts.map +1 -1
- package/dist/src/curves/util.d.ts +2 -0
- package/dist/src/curves/util.d.ts.map +1 -1
- package/dist/src/curves/util.js +34 -3
- package/dist/src/hashCommitment.d.ts +0 -1
- package/dist/src/hashCommitment.d.ts.map +1 -1
- package/dist/src/hashCommitment.js +7 -8
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +24 -10
- package/dist/src/openssl/index.js +6 -2
- package/dist/src/openssl/openssl.d.ts +1 -2
- package/dist/src/openssl/openssl.d.ts.map +1 -1
- package/dist/src/openssl/openssl.js +4 -12
- package/dist/src/safePrime.d.ts +3 -0
- package/dist/src/safePrime.d.ts.map +1 -0
- package/dist/src/safePrime.js +19 -0
- package/dist/src/schnorrProof.d.ts +0 -1
- package/dist/src/schnorrProof.d.ts.map +1 -1
- package/dist/src/schnorrProof.js +8 -9
- package/dist/src/shamir/index.js +6 -2
- package/dist/src/shamir/shamir.js +2 -2
- package/dist/src/shamir/types.d.ts +1 -1
- package/dist/src/shamir/types.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/index.js +23 -9
- package/dist/src/tss/ecdsa/paillierproof.js +10 -10
- package/dist/src/tss/ecdsa/rangeproof.d.ts +1 -2
- package/dist/src/tss/ecdsa/rangeproof.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/rangeproof.js +131 -187
- package/dist/src/tss/ecdsa/types.d.ts +28 -20
- package/dist/src/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/types.js +29 -31
- package/dist/src/tss/ecdsa/zkVProof.d.ts +0 -1
- package/dist/src/tss/ecdsa/zkVProof.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/zkVProof.js +9 -10
- package/dist/src/tss/ecdsa-dkls/commsLayer.d.ts +42 -0
- package/dist/src/tss/ecdsa-dkls/commsLayer.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/commsLayer.js +235 -0
- package/dist/src/tss/ecdsa-dkls/dkg.d.ts +57 -0
- package/dist/src/tss/ecdsa-dkls/dkg.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/dkg.js +321 -0
- package/dist/src/tss/ecdsa-dkls/dsg.d.ts +47 -0
- package/dist/src/tss/ecdsa-dkls/dsg.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/dsg.js +266 -0
- package/dist/src/tss/ecdsa-dkls/index.d.ts +6 -0
- package/dist/src/tss/ecdsa-dkls/index.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/index.js +42 -0
- package/dist/src/tss/ecdsa-dkls/types.d.ts +118 -0
- package/dist/src/tss/ecdsa-dkls/types.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/types.js +165 -0
- package/dist/src/tss/ecdsa-dkls/util.d.ts +26 -0
- package/dist/src/tss/ecdsa-dkls/util.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/util.js +276 -0
- package/dist/src/tss/index.d.ts +1 -0
- package/dist/src/tss/index.d.ts.map +1 -1
- package/dist/src/tss/index.js +7 -2
- package/dist/src/types.d.ts +0 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/util.d.ts +0 -1
- package/dist/src/util.d.ts.map +1 -1
- package/dist/src/util.js +21 -22
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -5
- package/dist/src/openssl/opensslbytes.d.ts +0 -4
- package/dist/src/openssl/opensslbytes.d.ts.map +0 -1
- package/dist/src/openssl/opensslbytes.js +0 -20
|
@@ -22,40 +22,40 @@ class Ed25519Curve {
|
|
|
22
22
|
return new Ed25519Curve();
|
|
23
23
|
}
|
|
24
24
|
scalarRandom() {
|
|
25
|
-
return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_reduce(util_1.bigIntFromBufferLE(crypto_1.randomBytes(64)))));
|
|
25
|
+
return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_reduce((0, util_1.bigIntFromBufferLE)((0, crypto_1.randomBytes)(64)))));
|
|
26
26
|
}
|
|
27
27
|
scalarReduce(s) {
|
|
28
|
-
return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_reduce(util_1.bigIntToBufferLE(s, 64))));
|
|
28
|
+
return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_reduce((0, util_1.bigIntToBufferLE)(s, 64))));
|
|
29
29
|
}
|
|
30
30
|
scalarNegate(s) {
|
|
31
|
-
return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_negate(util_1.bigIntToBufferLE(s, privateKeySize))));
|
|
31
|
+
return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_negate((0, util_1.bigIntToBufferLE)(s, privateKeySize))));
|
|
32
32
|
}
|
|
33
33
|
scalarInvert(s) {
|
|
34
|
-
return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_invert(util_1.bigIntToBufferLE(s, privateKeySize))));
|
|
34
|
+
return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_invert((0, util_1.bigIntToBufferLE)(s, privateKeySize))));
|
|
35
35
|
}
|
|
36
36
|
scalarAdd(x, y) {
|
|
37
|
-
return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_add(util_1.bigIntToBufferLE(x, privateKeySize), util_1.bigIntToBufferLE(y, privateKeySize))));
|
|
37
|
+
return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_add((0, util_1.bigIntToBufferLE)(x, privateKeySize), (0, util_1.bigIntToBufferLE)(y, privateKeySize))));
|
|
38
38
|
}
|
|
39
39
|
scalarSub(x, y) {
|
|
40
|
-
return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_sub(util_1.bigIntToBufferLE(x, privateKeySize), util_1.bigIntToBufferLE(y, privateKeySize))));
|
|
40
|
+
return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_sub((0, util_1.bigIntToBufferLE)(x, privateKeySize), (0, util_1.bigIntToBufferLE)(y, privateKeySize))));
|
|
41
41
|
}
|
|
42
42
|
scalarMult(x, y) {
|
|
43
|
-
return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_mul(util_1.bigIntToBufferLE(x, privateKeySize), util_1.bigIntToBufferLE(y, privateKeySize))));
|
|
43
|
+
return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_mul((0, util_1.bigIntToBufferLE)(x, privateKeySize), (0, util_1.bigIntToBufferLE)(y, privateKeySize))));
|
|
44
44
|
}
|
|
45
45
|
basePointMult(n) {
|
|
46
|
-
return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_scalarmult_ed25519_base_noclamp(util_1.bigIntToBufferLE(n, privateKeySize))));
|
|
46
|
+
return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_scalarmult_ed25519_base_noclamp((0, util_1.bigIntToBufferLE)(n, privateKeySize))));
|
|
47
47
|
}
|
|
48
48
|
pointAdd(p, q) {
|
|
49
|
-
return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_add(util_1.bigIntToBufferLE(p, publicKeySize), util_1.bigIntToBufferLE(q, publicKeySize))));
|
|
49
|
+
return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_add((0, util_1.bigIntToBufferLE)(p, publicKeySize), (0, util_1.bigIntToBufferLE)(q, publicKeySize))));
|
|
50
50
|
}
|
|
51
51
|
pointMultiply(p, s) {
|
|
52
|
-
return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_scalarmult_ed25519_noclamp(util_1.bigIntToBufferLE(s, publicKeySize), util_1.bigIntToBufferLE(p, publicKeySize))));
|
|
52
|
+
return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_scalarmult_ed25519_noclamp((0, util_1.bigIntToBufferLE)(s, publicKeySize), (0, util_1.bigIntToBufferLE)(p, publicKeySize))));
|
|
53
53
|
}
|
|
54
54
|
verify(message, signature, publicKey) {
|
|
55
55
|
const signedMessage = Buffer.concat([signature, message]);
|
|
56
56
|
try {
|
|
57
57
|
// Returns the message which was signed if the signature is valid
|
|
58
|
-
const result = Buffer.from(libsodium_wrappers_sumo_1.default.crypto_sign_open(signedMessage, util_1.bigIntToBufferLE(publicKey, publicKeySize)));
|
|
58
|
+
const result = Buffer.from(libsodium_wrappers_sumo_1.default.crypto_sign_open(signedMessage, (0, util_1.bigIntToBufferLE)(publicKey, publicKeySize)));
|
|
59
59
|
return Buffer.compare(message, result) === 0;
|
|
60
60
|
}
|
|
61
61
|
catch (error) {
|
|
@@ -69,4 +69,4 @@ class Ed25519Curve {
|
|
|
69
69
|
}
|
|
70
70
|
exports.Ed25519Curve = Ed25519Curve;
|
|
71
71
|
Ed25519Curve.initialized = false;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWQyNTUxOS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvZWQyNTUxOS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzRkFBNkM7QUFDN0MsbUNBQXFDO0FBQ3JDLGtDQUErRDtBQUcvRCxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7QUFDMUIsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRXpCLE1BQWEsWUFBWTtJQUF6QjtRQWdHRSxnQkFBVyxHQUFHLGNBQWMsQ0FBQztRQUU3QixlQUFVLEdBQUcsYUFBYSxDQUFDO0lBQzdCLENBQUM7SUFoR0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDOUIsTUFBTSxpQ0FBTSxDQUFDLEtBQUssQ0FBQztZQUNuQixZQUFZLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO1FBRUQsT0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFBLHlCQUFrQixFQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLGlDQUFNLENBQUMsaUNBQWlDLENBQUMsSUFBQSx5QkFBa0IsRUFBQyxJQUFBLG9CQUFXLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzNGLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVM7UUFDcEIsT0FBTyxJQUFBLHlCQUFrQixFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFBLHVCQUFnQixFQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVM7UUFDcEIsT0FBTyxJQUFBLHlCQUFrQixFQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLGlDQUFNLENBQUMs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Qy9DLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2Ysd0NBQXdDO1lBQ3hDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxNQUFNLENBQUMsb0VBQW9FLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkcsQ0FBQzs7QUE5Rkgsb0NBbUdDO0FBbEdRLHdCQUFXLEdBQUcsS0FBSyxBQUFSLENBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc29kaXVtIGZyb20gJ2xpYnNvZGl1bS13cmFwcGVycy1zdW1vJztcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IGJpZ0ludEZyb21CdWZmZXJMRSwgYmlnSW50VG9CdWZmZXJMRSB9IGZyb20gJy4uL3V0aWwnO1xuaW1wb3J0IHsgQmFzZUN1cnZlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IHByaXZhdGVLZXlTaXplID0gMzI7XG5jb25zdCBwdWJsaWNLZXlTaXplID0gMzI7XG5cbmV4cG9ydCBjbGFzcyBFZDI1NTE5Q3VydmUgaW1wbGVtZW50cyBCYXNlQ3VydmUge1xuICBzdGF0aWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBzdGF0aWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPEVkMjU1MTlDdXJ2ZT4ge1xuICAgIGlmICghRWQyNTUxOUN1cnZlLmluaXRpYWxpemVkKSB7XG4gICAgICBhd2FpdCBzb2RpdW0ucmVhZHk7XG4gICAgICBFZDI1NTE5Q3VydmUuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRWQyNTUxOUN1cnZlKCk7XG4gIH1cblxuICBzY2FsYXJSYW5kb20oKTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX3JlZHVjZShiaWdJbnRGcm9tQnVmZmVyTEUocmFuZG9tQnl0ZXMoNjQpKSkpXG4gICAgKTtcbiAgfVxuXG4gIHNjYWxhclJlZHVjZShzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX3JlZHVjZShiaWdJbnRUb0J1ZmZlckxFKHMsIDY0KSkpKTtcbiAgfVxuXG4gIHNjYWxhck5lZ2F0ZShzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfbmVnYXRlKGJpZ0ludFRvQnVmZmVyTEUocywgcHJpdmF0ZUtleVNpemUpKSlcbiAgICApO1xuICB9XG5cbiAgc2NhbGFySW52ZXJ0KHM6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJMRShcbiAgICAgIEJ1ZmZlci5mcm9tKHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9pbnZlcnQoYmlnSW50VG9CdWZmZXJMRShzLCBwcml2YXRlS2V5U2l6ZSkpKVxuICAgICk7XG4gIH1cblxuICBzY2FsYXJBZGQoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShcbiAgICAgICAgc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX2FkZChiaWdJbnRUb0J1ZmZlckxFKHgsIHByaXZhdGVLZXlTaXplKSwgYmlnSW50VG9CdWZmZXJMRSh5LCBwcml2YXRlS2V5U2l6ZSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNjYWxhclN1Yih4OiBiaWdpbnQsIHk6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJMRShcbiAgICAgIEJ1ZmZlci5mcm9tKFxuICAgICAgICBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfc3ViKGJpZ0ludFRvQnVmZmVyTEUoeCwgcHJpdmF0ZUtleVNpemUpLCBiaWdJbnRUb0J1ZmZlckxFKHksIHByaXZhdGVLZXlTaXplKSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgc2NhbGFyTXVsdCh4OiBiaWdpbnQsIHk6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJMRShcbiAgICAgIEJ1ZmZlci5mcm9tKFxuICAgICAgICBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfbXVsKGJpZ0ludFRvQnVmZmVyTEUoeCwgcHJpdmF0ZUtleVNpemUpLCBiaWdJbnRUb0J1ZmZlckxFKHksIHByaXZhdGVLZXlTaXplKSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgYmFzZVBvaW50TXVsdChuOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShzb2RpdW0uY3J5cHRvX3NjYWxhcm11bHRfZWQyNTUxOV9iYXNlX25vY2xhbXAoYmlnSW50VG9CdWZmZXJMRShuLCBwcml2YXRlS2V5U2l6ZSkpKVxuICAgICk7XG4gIH1cblxuICBwb2ludEFkZChwOiBiaWdpbnQsIHE6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJMRShcbiAgICAgIEJ1ZmZlci5mcm9tKFxuICAgICAgICBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9hZGQoYmlnSW50VG9CdWZmZXJMRShwLCBwdWJsaWNLZXlTaXplKSwgYmlnSW50VG9CdWZmZXJMRShxLCBwdWJsaWNLZXlTaXplKSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcG9pbnRNdWx0aXBseShwOiBiaWdpbnQsIHM6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJMRShcbiAgICAgIEJ1ZmZlci5mcm9tKFxuICAgICAgICBzb2RpdW0uY3J5cHRvX3NjYWxhcm11bHRfZWQyNTUxOV9ub2NsYW1wKGJpZ0ludFRvQnVmZmVyTEUocywgcHVibGljS2V5U2l6ZSksIGJpZ0ludFRvQnVmZmVyTEUocCwgcHVibGljS2V5U2l6ZSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHZlcmlmeShtZXNzYWdlOiBCdWZmZXIsIHNpZ25hdHVyZTogQnVmZmVyLCBwdWJsaWNLZXk6IGJpZ2ludCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNpZ25lZE1lc3NhZ2UgPSBCdWZmZXIuY29uY2F0KFtzaWduYXR1cmUsIG1lc3NhZ2VdKTtcbiAgICB0cnkge1xuICAgICAgLy8gUmV0dXJucyB0aGUgbWVzc2FnZSB3aGljaCB3YXMgc2lnbmVkIGlmIHRoZSBzaWduYXR1cmUgaXMgdmFsaWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IEJ1ZmZlci5mcm9tKHNvZGl1bS5jcnlwdG9fc2lnbl9vcGVuKHNpZ25lZE1lc3NhZ2UsIGJpZ0ludFRvQnVmZmVyTEUocHVibGljS2V5LCBwdWJsaWNLZXlTaXplKSkpO1xuICAgICAgcmV0dXJuIEJ1ZmZlci5jb21wYXJlKG1lc3NhZ2UsIHJlc3VsdCkgPT09IDA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIEludmFsaWQgc2lnbmF0dXJlIGNhdXNlcyBhbiBleGNlcHRpb25cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvcmRlcigpOiBiaWdpbnQge1xuICAgIHJldHVybiBCaWdJbnQoJzB4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNGRlZjlkZWEyZjc5Y2Q2NTgxMjYzMWE1Y2Y1ZDNlZCcpICogQmlnSW50KCcweDA4Jyk7XG4gIH1cblxuICBzY2FsYXJCeXRlcyA9IHByaXZhdGVLZXlTaXplO1xuXG4gIHBvaW50Qnl0ZXMgPSBwdWJsaWNLZXlTaXplO1xufVxuIl19
|
|
@@ -15,33 +15,33 @@ class Ed25519Bip32HdTree {
|
|
|
15
15
|
return new Ed25519Bip32HdTree();
|
|
16
16
|
}
|
|
17
17
|
publicDerive(keychain, path) {
|
|
18
|
-
const indices = util_2.pathToIndices(path);
|
|
18
|
+
const indices = (0, util_2.pathToIndices)(path);
|
|
19
19
|
function deriveIndex(acc, index) {
|
|
20
20
|
const [pk, chaincode] = acc;
|
|
21
21
|
const [zout, iout] = deriveEd25519Helper(index, chaincode, pk);
|
|
22
22
|
const zl = zout.slice(0, 32);
|
|
23
23
|
// left = kl + 8 * trunc28(zl)
|
|
24
|
-
const t = BigInt(8) * util_1.bigIntFromBufferLE(zl.slice(0, 28));
|
|
24
|
+
const t = BigInt(8) * (0, util_1.bigIntFromBufferLE)(zl.slice(0, 28));
|
|
25
25
|
const left = Ed25519Bip32HdTree.curve.pointAdd(pk, Ed25519Bip32HdTree.curve.basePointMult(t));
|
|
26
|
-
return [left, util_1.bigIntFromBufferBE(iout.slice(32))];
|
|
26
|
+
return [left, (0, util_1.bigIntFromBufferBE)(iout.slice(32))];
|
|
27
27
|
}
|
|
28
28
|
const subkey = indices.reduce(deriveIndex, deriveIndex([keychain.pk, keychain.chaincode], indices.shift()));
|
|
29
29
|
return { pk: subkey[0], chaincode: subkey[1] };
|
|
30
30
|
}
|
|
31
31
|
privateDerive(keychain, path) {
|
|
32
|
-
const indices = util_2.pathToIndices(path);
|
|
32
|
+
const indices = (0, util_2.pathToIndices)(path);
|
|
33
33
|
function deriveIndex(acc, index) {
|
|
34
34
|
const [pk, sk, prefix, chaincode] = acc;
|
|
35
35
|
const [zout, iout] = deriveEd25519Helper(index, chaincode, pk, sk);
|
|
36
36
|
const zl = zout.slice(0, 32);
|
|
37
37
|
const zr = zout.slice(32);
|
|
38
38
|
// left = kl + 8 * trunc28(zl)
|
|
39
|
-
const t = BigInt(8) * util_1.bigIntFromBufferLE(zl.slice(0, 28));
|
|
39
|
+
const t = BigInt(8) * (0, util_1.bigIntFromBufferLE)(zl.slice(0, 28));
|
|
40
40
|
const left_pk = Ed25519Bip32HdTree.curve.pointAdd(pk, Ed25519Bip32HdTree.curve.basePointMult(t));
|
|
41
41
|
const left_sk = Ed25519Bip32HdTree.curve.scalarAdd(sk, t);
|
|
42
42
|
// right = zr + kr
|
|
43
|
-
const right = (prefix + util_1.bigIntFromBufferBE(zr)) % constant_1.chaincodeBase;
|
|
44
|
-
return [left_pk, left_sk, right, util_1.bigIntFromBufferBE(iout.slice(32))];
|
|
43
|
+
const right = (prefix + (0, util_1.bigIntFromBufferBE)(zr)) % constant_1.chaincodeBase;
|
|
44
|
+
return [left_pk, left_sk, right, (0, util_1.bigIntFromBufferBE)(iout.slice(32))];
|
|
45
45
|
}
|
|
46
46
|
const [pk, sk, prefix, chaincode] = indices.reduce(deriveIndex, deriveIndex([keychain.pk, keychain.sk, keychain.prefix, keychain.chaincode], indices.shift()));
|
|
47
47
|
return { pk, sk, prefix, chaincode };
|
|
@@ -51,8 +51,8 @@ exports.Ed25519Bip32HdTree = Ed25519Bip32HdTree;
|
|
|
51
51
|
Ed25519Bip32HdTree.curve = new ed25519_1.Ed25519Curve();
|
|
52
52
|
Ed25519Bip32HdTree.initialized = false;
|
|
53
53
|
function deriveEd25519Helper(index = 0, chaincode, pk, sk) {
|
|
54
|
-
const zmac = crypto_1.createHmac('sha512', util_1.bigIntToBufferBE(chaincode, 32));
|
|
55
|
-
const imac = crypto_1.createHmac('sha512', util_1.bigIntToBufferBE(chaincode, 32));
|
|
54
|
+
const zmac = (0, crypto_1.createHmac)('sha512', (0, util_1.bigIntToBufferBE)(chaincode, 32));
|
|
55
|
+
const imac = (0, crypto_1.createHmac)('sha512', (0, util_1.bigIntToBufferBE)(chaincode, 32));
|
|
56
56
|
const seri = Buffer.alloc(4);
|
|
57
57
|
seri.writeUInt32LE(index, 0);
|
|
58
58
|
if (((index >>> 0) & 0x80000000) === 0) {
|
|
@@ -60,10 +60,10 @@ function deriveEd25519Helper(index = 0, chaincode, pk, sk) {
|
|
|
60
60
|
// Z = HMAC-SHA512(Key = cpar, Data = 0x02 || serP(point(kpar)) || ser32(i)).
|
|
61
61
|
// I = HMAC-SHA512(Key = cpar, Data = 0x03 || serP(point(kpar)) || ser32(i)).
|
|
62
62
|
zmac.update('\x02');
|
|
63
|
-
zmac.update(util_1.bigIntToBufferLE(pk, 32));
|
|
63
|
+
zmac.update((0, util_1.bigIntToBufferLE)(pk, 32));
|
|
64
64
|
zmac.update(seri);
|
|
65
65
|
imac.update('\x03');
|
|
66
|
-
imac.update(util_1.bigIntToBufferLE(pk, 32));
|
|
66
|
+
imac.update((0, util_1.bigIntToBufferLE)(pk, 32));
|
|
67
67
|
imac.update(seri);
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
@@ -74,12 +74,12 @@ function deriveEd25519Helper(index = 0, chaincode, pk, sk) {
|
|
|
74
74
|
// Z = HMAC-SHA512(Key = cpar, Data = 0x00 || ser256(left(kpar)) || ser32(i)).
|
|
75
75
|
// I = HMAC-SHA512(Key = cpar, Data = 0x01 || ser256(left(kpar)) || ser32(i)).
|
|
76
76
|
zmac.update('\x00');
|
|
77
|
-
zmac.update(util_1.bigIntToBufferLE(sk, 32));
|
|
77
|
+
zmac.update((0, util_1.bigIntToBufferLE)(sk, 32));
|
|
78
78
|
zmac.update(seri);
|
|
79
79
|
imac.update('\x01');
|
|
80
|
-
imac.update(util_1.bigIntToBufferLE(sk, 32));
|
|
80
|
+
imac.update((0, util_1.bigIntToBufferLE)(sk, 32));
|
|
81
81
|
imac.update(seri);
|
|
82
82
|
}
|
|
83
83
|
return [zmac.digest(), imac.digest()];
|
|
84
84
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWQyNTUxOUJpcDMySGRUcmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1cnZlcy9lZDI1NTE5QmlwMzJIZFRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW9DO0FBQ3BDLGtDQUFxRztBQUNyRyx1Q0FBeUM7QUFFekMsaUNBQXVDO0FBQ3ZDLHlDQUEyQztBQUUzQyxNQUFhLGtCQUFrQjtJQUk3QixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVU7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRTtZQUNuQyxNQUFNLHNCQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN2QztRQUVELE9BQU8sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBd0IsRUFBRSxJQUFZO1FBQ2pELE1BQU0sT0FBTyxHQUFHLG9CQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsU0FBUyxXQUFXLENBQUMsR0FBYSxFQUFFLEtBQXlCO1lBQzNELE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3Qiw4QkFBOEI7WUFDOUIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLHlCQUFrQixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUQsTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFD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LENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNuQjtJQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhtYWMgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgYmlnSW50RnJvbUJ1ZmZlckJFLCBiaWdJbnRGcm9tQnVmZmVyTEUsIGJpZ0ludFRvQnVmZmVyQkUsIGJpZ0ludFRvQnVmZmVyTEUgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IEVkMjU1MTlDdXJ2ZSB9IGZyb20gJy4vZWQyNTUxOSc7XG5pbXBvcnQgeyBQcml2YXRlS2V5Y2hhaW4sIFB1YmxpY0tleWNoYWluIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBwYXRoVG9JbmRpY2VzIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IGNoYWluY29kZUJhc2UgfSBmcm9tICcuL2NvbnN0YW50JztcblxuZXhwb3J0IGNsYXNzIEVkMjU1MTlCaXAzMkhkVHJlZSB7XG4gIHN0YXRpYyBjdXJ2ZTogRWQyNTUxOUN1cnZlID0gbmV3IEVkMjU1MTlDdXJ2ZSgpO1xuICBzdGF0aWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBzdGF0aWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPEVkMjU1MTlCaXAzMkhkVHJlZT4ge1xuICAgIGlmICghRWQyNTUxOUJpcDMySGRUcmVlLmluaXRpYWxpemVkKSB7XG4gICAgICBhd2FpdCBFZDI1NTE5Q3VydmUuaW5pdGlhbGl6ZSgpO1xuICAgICAgRWQyNTUxOUJpcDMySGRUcmVlLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEVkMjU1MTlCaXAzMkhkVHJlZSgpO1xuICB9XG5cbiAgcHVibGljRGVyaXZlKGtleWNoYWluOiBQdWJsaWNLZXljaGFpbiwgcGF0aDogc3RyaW5nKTogUHVibGljS2V5Y2hhaW4ge1xuICAgIGNvbnN0IGluZGljZXMgPSBwYXRoVG9JbmRpY2VzKHBhdGgpO1xuICAgIGZ1bmN0aW9uIGRlcml2ZUluZGV4KGFjYzogYmlnaW50W10sIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQpOiBiaWdpbnRbXSB7XG4gICAgICBjb25zdCBbcGssIGNoYWluY29kZV0gPSBhY2M7XG4gICAgICBjb25zdCBbem91dCwgaW91dF0gPSBkZXJpdmVFZDI1NTE5SGVscGVyKGluZGV4LCBjaGFpbmNvZGUsIHBrKTtcbiAgICAgIGNvbnN0IHpsID0gem91dC5zbGljZSgwLCAzMik7XG4gICAgICAvLyBsZWZ0ID0ga2wgKyA4ICogdHJ1bmMyOCh6bClcbiAgICAgIGNvbnN0IHQgPSBCaWdJbnQoOCkgKiBiaWdJbnRGcm9tQnVmZmVyTEUoemwuc2xpY2UoMCwgMjgpKTtcbiAgICAgIGNvbnN0IGxlZnQgPSBFZDI1NTE5QmlwMzJIZFRyZWUuY3VydmUucG9pbnRBZGQocGssIEVkMjU1MTlCaXAzMkhkVHJlZS5jdXJ2ZS5iYXNlUG9pbnRNdWx0KHQpKTtcbiAgICAgIHJldHVybiBbbGVmdCwgYmlnSW50RnJvbUJ1ZmZlckJFKGlvdXQuc2xpY2UoMzIpKV07XG4gICAgfVxuICAgIGNvbnN0IHN1YmtleSA9IGluZGljZXMucmVkdWNlKGRlcml2ZUluZGV4LCBkZXJpdmVJbmRleChba2V5Y2hhaW4ucGssIGtleWNoYWluLmNoYWluY29kZV0sIGluZGljZXMuc2hpZnQoKSkpO1xuICAgIHJldHVybiB7IHBrOiBzdWJrZXlbMF0sIGNoYWluY29kZTogc3Via2V5WzFdIH07XG4gIH1cblxuICBwcml2YXRlRGVyaXZlKGtleWNoYWluOiBQcml2YXRlS2V5Y2hhaW4sIHBhdGg6IHN0cmluZyk6IFByaXZhdGVLZXljaGFpbiB7XG4gICAgY29uc3QgaW5kaWNlcyA9IHBhdGhUb0luZGljZXMocGF0aCk7XG4gICAgZnVuY3Rpb24gZGVyaXZlSW5kZXgoYWNjOiBiaWdpbnRbXSwgaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCk6IGJpZ2ludFtdIHtcbiAgICAgIGNvbnN0IFtwaywgc2ssIHByZWZpeCwgY2hhaW5jb2RlXSA9IGFjYztcbiAgICAgIGNvbnN0IFt6b3V0LCBpb3V0XSA9IGRlcml2ZUVkMjU1MTlIZWxwZXIoaW5kZXgsIGNoYWluY29kZSwgcGssIHNrKTtcbiAgICAgIGNvbnN0IHpsID0gem91dC5zbGljZSgwLCAzMik7XG4gICAgICBjb25zdCB6ciA9IHpvdXQuc2xpY2UoMzIpO1xuICAgICAgLy8gbGVmdCA9IGtsICsgOCAqIHRydW5jMjgoemwpXG4gICAgICBjb25zdCB0ID0gQmlnSW50KDgpICogYmlnSW50RnJvbUJ1ZmZlckxFKHpsLnNsaWNlKDAsIDI4KSk7XG4gICAgICBjb25zdCBsZWZ0X3BrID0gRWQyNTUxOUJpcDMySGRUcmVlLmN1cnZlLnBvaW50QWRkKHBrLCBFZDI1NTE5QmlwMzJIZFRyZWUuY3VydmUuYmFzZVBvaW50TXVsdCh0KSk7XG4gICAgICBjb25zdCBsZWZ0X3NrID0gRWQyNTUxOUJpcDMySGRUcmVlLmN1cnZlLnNjYWxhckFkZChzaywgdCk7XG4gICAgICAvLyByaWdodCA9IHpyICsga3JcbiAgICAgIGNvbnN0IHJpZ2h0ID0gKHByZWZpeCArIGJpZ0ludEZyb21CdWZmZXJCRSh6cikpICUgY2hhaW5jb2RlQmFzZTtcbiAgICAgIHJldHVybiBbbGVmdF9waywgbGVmdF9zaywgcmlnaHQsIGJpZ0ludEZyb21CdWZmZXJCRShpb3V0LnNsaWNlKDMyKSldO1xuICAgIH1cbiAgICBjb25zdCBbcGssIHNrLCBwcmVmaXgsIGNoYWluY29kZV0gPSBpbmRpY2VzLnJlZHVjZShcbiAgICAgIGRlcml2ZUluZGV4LFxuICAgICAgZGVyaXZlSW5kZXgoW2tleWNoYWluLnBrLCBrZXljaGFpbi5zaywga2V5Y2hhaW4ucHJlZml4ISwga2V5Y2hhaW4uY2hhaW5jb2RlXSwgaW5kaWNlcy5zaGlmdCgpKVxuICAgICk7XG4gICAgcmV0dXJuIHsgcGssIHNrLCBwcmVmaXgsIGNoYWluY29kZSB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlcml2ZUVkMjU1MTlIZWxwZXIoaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCA9IDAsIGNoYWluY29kZTogYmlnaW50LCBwazogYmlnaW50LCBzaz86IGJpZ2ludCk6IEJ1ZmZlcltdIHtcbiAgY29uc3Qgem1hYyA9IGNyZWF0ZUhtYWMoJ3NoYTUxMicsIGJpZ0ludFRvQnVmZmVyQkUoY2hhaW5jb2RlLCAzMikpO1xuICBjb25zdCBpbWFjID0gY3JlYXRlSG1hYygnc2hhNTEyJywgYmlnSW50VG9CdWZmZXJCRShjaGFpbmNvZGUsIDMyKSk7XG4gIGNvbnN0IHNlcmkgPSBCdWZmZXIuYWxsb2MoNCk7XG4gIHNlcmkud3JpdGVVSW50MzJMRShpbmRleCwgMCk7XG4gIGlmICgoKGluZGV4ID4+PiAwKSAmIDB4ODAwMDAwMDApID09PSAwKSB7XG4gICAgLy8gTm9ybWFsIGRlcml2YXRpb246XG4gICAgLy8gWiA9IEhNQUMtU0hBNTEyKEtleSA9IGNwYXIsIERhdGEgPSAweDAyIHx8IHNlclAocG9pbnQoa3BhcikpIHx8IHNlcjMyKGkpKS5cbiAgICAvLyBJID0gSE1BQy1TSEE1MTIoS2V5ID0gY3BhciwgRGF0YSA9IDB4MDMgfHwgc2VyUChwb2ludChrcGFyKSkgfHwgc2VyMzIoaSkpLlxuICAgIHptYWMudXBkYXRlKCdcXHgwMicpO1xuICAgIHptYWMudXBkYXRlKGJpZ0ludFRvQnVmZmVyTEUocGssIDMyKSk7XG4gICAgem1hYy51cGRhdGUoc2VyaSk7XG4gICAgaW1hYy51cGRhdGUoJ1xceDAzJyk7XG4gICAgaW1hYy51cGRhdGUoYmlnSW50VG9CdWZmZXJMRShwaywgMzIpKTtcbiAgICBpbWFjLnVwZGF0ZShzZXJpKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoc2sgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgcGVyZm9ybWVkIGhhcmRlbmVkIGRlcml2YXRpb24gd2l0aG91dCBwcml2YXRlIGtleVwiKTtcbiAgICB9XG4gICAgLy8gSGFyZGVuZWQgZGVyaXZhdGlvbjpcbiAgICAvLyBaID0gSE1BQy1TSEE1MTIoS2V5ID0gY3BhciwgRGF0YSA9IDB4MDAgfHwgc2VyMjU2KGxlZnQoa3BhcikpIHx8IHNlcjMyKGkpKS5cbiAgICAvLyBJID0gSE1BQy1TSEE1MTIoS2V5ID0gY3BhciwgRGF0YSA9IDB4MDEgfHwgc2VyMjU2KGxlZnQoa3BhcikpIHx8IHNlcjMyKGkpKS5cbiAgICB6bWFjLnVwZGF0ZSgnXFx4MDAnKTtcbiAgICB6bWFjLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckxFKHNrLCAzMikpO1xuICAgIHptYWMudXBkYXRlKHNlcmkpO1xuICAgIGltYWMudXBkYXRlKCdcXHgwMScpO1xuICAgIGltYWMudXBkYXRlKGJpZ0ludFRvQnVmZmVyTEUoc2ssIDMyKSk7XG4gICAgaW1hYy51cGRhdGUoc2VyaSk7XG4gIH1cbiAgcmV0dXJuIFt6bWFjLmRpZ2VzdCgpLCBpbWFjLmRpZ2VzdCgpXTtcbn1cbiJdfQ==
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWQyNTUxOUJpcDMySGRUcmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1cnZlcy9lZDI1NTE5QmlwMzJIZFRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW9DO0FBQ3BDLGtDQUFxRztBQUNyRyx1Q0FBeUM7QUFFekMsaUNBQXVDO0FBQ3ZDLHlDQUEyQztBQUUzQyxNQUFhLGtCQUFrQjtJQUk3QixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVU7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sc0JBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxrQkFBa0IsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLENBQUM7UUFFRCxPQUFPLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQXdCLEVBQUUsSUFBWTtRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsU0FBUyxXQUFXLENBQUMsR0FBYSxFQUFFLEtBQXlCO1lBQzNELE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3Qiw4QkFBOEI7WUFDOUIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUEseUJBQWtCLEVBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxRCxNQUFNLElBQUksR0FBRyxr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OUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUEsdUJBQWdCLEVBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBQSx1QkFBZ0IsRUFBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVIbWFjIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IGJpZ0ludEZyb21CdWZmZXJCRSwgYmlnSW50RnJvbUJ1ZmZlckxFLCBiaWdJbnRUb0J1ZmZlckJFLCBiaWdJbnRUb0J1ZmZlckxFIH0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBFZDI1NTE5Q3VydmUgfSBmcm9tICcuL2VkMjU1MTknO1xuaW1wb3J0IHsgUHJpdmF0ZUtleWNoYWluLCBQdWJsaWNLZXljaGFpbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgcGF0aFRvSW5kaWNlcyB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBjaGFpbmNvZGVCYXNlIH0gZnJvbSAnLi9jb25zdGFudCc7XG5cbmV4cG9ydCBjbGFzcyBFZDI1NTE5QmlwMzJIZFRyZWUge1xuICBzdGF0aWMgY3VydmU6IEVkMjU1MTlDdXJ2ZSA9IG5ldyBFZDI1NTE5Q3VydmUoKTtcbiAgc3RhdGljIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgc3RhdGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTxFZDI1NTE5QmlwMzJIZFRyZWU+IHtcbiAgICBpZiAoIUVkMjU1MTlCaXAzMkhkVHJlZS5pbml0aWFsaXplZCkge1xuICAgICAgYXdhaXQgRWQyNTUxOUN1cnZlLmluaXRpYWxpemUoKTtcbiAgICAgIEVkMjU1MTlCaXAzMkhkVHJlZS5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBFZDI1NTE5QmlwMzJIZFRyZWUoKTtcbiAgfVxuXG4gIHB1YmxpY0Rlcml2ZShrZXljaGFpbjogUHVibGljS2V5Y2hhaW4sIHBhdGg6IHN0cmluZyk6IFB1YmxpY0tleWNoYWluIHtcbiAgICBjb25zdCBpbmRpY2VzID0gcGF0aFRvSW5kaWNlcyhwYXRoKTtcbiAgICBmdW5jdGlvbiBkZXJpdmVJbmRleChhY2M6IGJpZ2ludFtdLCBpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkKTogYmlnaW50W10ge1xuICAgICAgY29uc3QgW3BrLCBjaGFpbmNvZGVdID0gYWNjO1xuICAgICAgY29uc3QgW3pvdXQsIGlvdXRdID0gZGVyaXZlRWQyNTUxOUhlbHBlcihpbmRleCwgY2hhaW5jb2RlLCBwayk7XG4gICAgICBjb25zdCB6bCA9IHpvdXQuc2xpY2UoMCwgMzIpO1xuICAgICAgLy8gbGVmdCA9IGtsICsgOCAqIHRydW5jMjgoemwpXG4gICAgICBjb25zdCB0ID0gQmlnSW50KDgpICogYmlnSW50RnJvbUJ1ZmZlckxFKHpsLnNsaWNlKDAsIDI4KSk7XG4gICAgICBjb25zdCBsZWZ0ID0gRWQyNTUxOUJpcDMySGRUcmVlLmN1cnZlLnBvaW50QWRkKHBrLCBFZDI1NTE5QmlwMzJIZFRyZWUuY3VydmUuYmFzZVBvaW50TXVsdCh0KSk7XG4gICAgICByZXR1cm4gW2xlZnQsIGJpZ0ludEZyb21CdWZmZXJCRShpb3V0LnNsaWNlKDMyKSldO1xuICAgIH1cbiAgICBjb25zdCBzdWJrZXkgPSBpbmRpY2VzLnJlZHVjZShkZXJpdmVJbmRleCwgZGVyaXZlSW5kZXgoW2tleWNoYWluLnBrLCBrZXljaGFpbi5jaGFpbmNvZGVdLCBpbmRpY2VzLnNoaWZ0KCkpKTtcbiAgICByZXR1cm4geyBwazogc3Via2V5WzBdLCBjaGFpbmNvZGU6IHN1YmtleVsxXSB9O1xuICB9XG5cbiAgcHJpdmF0ZURlcml2ZShrZXljaGFpbjogUHJpdmF0ZUtleWNoYWluLCBwYXRoOiBzdHJpbmcpOiBQcml2YXRlS2V5Y2hhaW4ge1xuICAgIGNvbnN0IGluZGljZXMgPSBwYXRoVG9JbmRpY2VzKHBhdGgpO1xuICAgIGZ1bmN0aW9uIGRlcml2ZUluZGV4KGFjYzogYmlnaW50W10sIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQpOiBiaWdpbnRbXSB7XG4gICAgICBjb25zdCBbcGssIHNrLCBwcmVmaXgsIGNoYWluY29kZV0gPSBhY2M7XG4gICAgICBjb25zdCBbem91dCwgaW91dF0gPSBkZXJpdmVFZDI1NTE5SGVscGVyKGluZGV4LCBjaGFpbmNvZGUsIHBrLCBzayk7XG4gICAgICBjb25zdCB6bCA9IHpvdXQuc2xpY2UoMCwgMzIpO1xuICAgICAgY29uc3QgenIgPSB6b3V0LnNsaWNlKDMyKTtcbiAgICAgIC8vIGxlZnQgPSBrbCArIDggKiB0cnVuYzI4KHpsKVxuICAgICAgY29uc3QgdCA9IEJpZ0ludCg4KSAqIGJpZ0ludEZyb21CdWZmZXJMRSh6bC5zbGljZSgwLCAyOCkpO1xuICAgICAgY29uc3QgbGVmdF9wayA9IEVkMjU1MTlCaXAzMkhkVHJlZS5jdXJ2ZS5wb2ludEFkZChwaywgRWQyNTUxOUJpcDMySGRUcmVlLmN1cnZlLmJhc2VQb2ludE11bHQodCkpO1xuICAgICAgY29uc3QgbGVmdF9zayA9IEVkMjU1MTlCaXAzMkhkVHJlZS5jdXJ2ZS5zY2FsYXJBZGQoc2ssIHQpO1xuICAgICAgLy8gcmlnaHQgPSB6ciArIGtyXG4gICAgICBjb25zdCByaWdodCA9IChwcmVmaXggKyBiaWdJbnRGcm9tQnVmZmVyQkUoenIpKSAlIGNoYWluY29kZUJhc2U7XG4gICAgICByZXR1cm4gW2xlZnRfcGssIGxlZnRfc2ssIHJpZ2h0LCBiaWdJbnRGcm9tQnVmZmVyQkUoaW91dC5zbGljZSgzMikpXTtcbiAgICB9XG4gICAgY29uc3QgW3BrLCBzaywgcHJlZml4LCBjaGFpbmNvZGVdID0gaW5kaWNlcy5yZWR1Y2UoXG4gICAgICBkZXJpdmVJbmRleCxcbiAgICAgIGRlcml2ZUluZGV4KFtrZXljaGFpbi5waywga2V5Y2hhaW4uc2ssIGtleWNoYWluLnByZWZpeCEsIGtleWNoYWluLmNoYWluY29kZV0sIGluZGljZXMuc2hpZnQoKSlcbiAgICApO1xuICAgIHJldHVybiB7IHBrLCBzaywgcHJlZml4LCBjaGFpbmNvZGUgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZXJpdmVFZDI1NTE5SGVscGVyKGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQgPSAwLCBjaGFpbmNvZGU6IGJpZ2ludCwgcGs6IGJpZ2ludCwgc2s/OiBiaWdpbnQpOiBCdWZmZXJbXSB7XG4gIGNvbnN0IHptYWMgPSBjcmVhdGVIbWFjKCdzaGE1MTInLCBiaWdJbnRUb0J1ZmZlckJFKGNoYWluY29kZSwgMzIpKTtcbiAgY29uc3QgaW1hYyA9IGNyZWF0ZUhtYWMoJ3NoYTUxMicsIGJpZ0ludFRvQnVmZmVyQkUoY2hhaW5jb2RlLCAzMikpO1xuICBjb25zdCBzZXJpID0gQnVmZmVyLmFsbG9jKDQpO1xuICBzZXJpLndyaXRlVUludDMyTEUoaW5kZXgsIDApO1xuICBpZiAoKChpbmRleCA+Pj4gMCkgJiAweDgwMDAwMDAwKSA9PT0gMCkge1xuICAgIC8vIE5vcm1hbCBkZXJpdmF0aW9uOlxuICAgIC8vIFogPSBITUFDLVNIQTUxMihLZXkgPSBjcGFyLCBEYXRhID0gMHgwMiB8fCBzZXJQKHBvaW50KGtwYXIpKSB8fCBzZXIzMihpKSkuXG4gICAgLy8gSSA9IEhNQUMtU0hBNTEyKEtleSA9IGNwYXIsIERhdGEgPSAweDAzIHx8IHNlclAocG9pbnQoa3BhcikpIHx8IHNlcjMyKGkpKS5cbiAgICB6bWFjLnVwZGF0ZSgnXFx4MDInKTtcbiAgICB6bWFjLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckxFKHBrLCAzMikpO1xuICAgIHptYWMudXBkYXRlKHNlcmkpO1xuICAgIGltYWMudXBkYXRlKCdcXHgwMycpO1xuICAgIGltYWMudXBkYXRlKGJpZ0ludFRvQnVmZmVyTEUocGssIDMyKSk7XG4gICAgaW1hYy51cGRhdGUoc2VyaSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHNrID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbid0IHBlcmZvcm1lZCBoYXJkZW5lZCBkZXJpdmF0aW9uIHdpdGhvdXQgcHJpdmF0ZSBrZXlcIik7XG4gICAgfVxuICAgIC8vIEhhcmRlbmVkIGRlcml2YXRpb246XG4gICAgLy8gWiA9IEhNQUMtU0hBNTEyKEtleSA9IGNwYXIsIERhdGEgPSAweDAwIHx8IHNlcjI1NihsZWZ0KGtwYXIpKSB8fCBzZXIzMihpKSkuXG4gICAgLy8gSSA9IEhNQUMtU0hBNTEyKEtleSA9IGNwYXIsIERhdGEgPSAweDAxIHx8IHNlcjI1NihsZWZ0KGtwYXIpKSB8fCBzZXIzMihpKSkuXG4gICAgem1hYy51cGRhdGUoJ1xceDAwJyk7XG4gICAgem1hYy51cGRhdGUoYmlnSW50VG9CdWZmZXJMRShzaywgMzIpKTtcbiAgICB6bWFjLnVwZGF0ZShzZXJpKTtcbiAgICBpbWFjLnVwZGF0ZSgnXFx4MDEnKTtcbiAgICBpbWFjLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckxFKHNrLCAzMikpO1xuICAgIGltYWMudXBkYXRlKHNlcmkpO1xuICB9XG4gIHJldHVybiBbem1hYy5kaWdlc3QoKSwgaW1hYy5kaWdlc3QoKV07XG59XG4iXX0=
|
package/dist/src/curves/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -17,4 +21,4 @@ __exportStar(require("./secp256k1"), exports);
|
|
|
17
21
|
__exportStar(require("./secp256k1Bip32HdTree"), exports);
|
|
18
22
|
__exportStar(require("./ed25519"), exports);
|
|
19
23
|
__exportStar(require("./ed25519Bip32HdTree"), exports);
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VydmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBd0I7QUFDeEIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQiw4Q0FBNEI7QUFDNUIseURBQXVDO0FBQ3ZDLDRDQUEwQjtBQUMxQix1REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VjcDI1NmsxJztcbmV4cG9ydCAqIGZyb20gJy4vc2VjcDI1NmsxQmlwMzJIZFRyZWUnO1xuZXhwb3J0ICogZnJvbSAnLi9lZDI1NTE5JztcbmV4cG9ydCAqIGZyb20gJy4vZWQyNTUxOUJpcDMySGRUcmVlJztcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256k1.d.ts","sourceRoot":"","sources":["../../../src/curves/secp256k1.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"secp256k1.d.ts","sourceRoot":"","sources":["../../../src/curves/secp256k1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAQpC,qBAAa,cAAe,YAAW,SAAS;IAC9C,YAAY,IAAI,MAAM;IAItB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIvC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAKvC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIxC,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI/B,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI/B,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI/B,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAMtC,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAK3C,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAKhC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAMtE,KAAK,IAAI,MAAM;IAIf,WAAW,SAAkB;IAG7B,UAAU,SAAiB;CAC5B"}
|
|
@@ -1,28 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
3
|
exports.Secp256k1Curve = void 0;
|
|
23
4
|
const util_1 = require("../util");
|
|
24
|
-
const
|
|
25
|
-
const
|
|
5
|
+
const secp256k1_1 = require("@noble/curves/secp256k1");
|
|
6
|
+
const modular_1 = require("@noble/curves/abstract/modular");
|
|
7
|
+
const order = secp256k1_1.secp256k1.CURVE.n;
|
|
26
8
|
const privateKeySize = 32;
|
|
27
9
|
const publicKeySize = 33;
|
|
28
10
|
class Secp256k1Curve {
|
|
@@ -32,46 +14,48 @@ class Secp256k1Curve {
|
|
|
32
14
|
this.pointBytes = publicKeySize;
|
|
33
15
|
}
|
|
34
16
|
scalarRandom() {
|
|
35
|
-
return util_1.bigIntFromU8ABE(
|
|
17
|
+
return (0, util_1.bigIntFromU8ABE)(secp256k1_1.secp256k1.utils.randomPrivateKey());
|
|
36
18
|
}
|
|
37
19
|
scalarAdd(x, y) {
|
|
38
|
-
return
|
|
20
|
+
return (0, modular_1.mod)(x + y, order);
|
|
39
21
|
}
|
|
40
22
|
scalarSub(x, y) {
|
|
41
|
-
const negatedY =
|
|
42
|
-
return
|
|
23
|
+
const negatedY = order - y;
|
|
24
|
+
return (0, modular_1.mod)(x + negatedY, order);
|
|
43
25
|
}
|
|
44
26
|
scalarMult(x, y) {
|
|
45
|
-
return
|
|
27
|
+
return (0, modular_1.mod)(x * y, order);
|
|
46
28
|
}
|
|
47
29
|
scalarReduce(s) {
|
|
48
|
-
return
|
|
30
|
+
return (0, modular_1.mod)(s, order);
|
|
49
31
|
}
|
|
50
32
|
scalarNegate(s) {
|
|
51
|
-
return
|
|
33
|
+
return order - s;
|
|
52
34
|
}
|
|
53
35
|
scalarInvert(s) {
|
|
54
|
-
return
|
|
36
|
+
return (0, modular_1.invert)(s, order);
|
|
55
37
|
}
|
|
56
38
|
pointAdd(a, b) {
|
|
57
|
-
const pointA =
|
|
58
|
-
const pointB =
|
|
59
|
-
return util_1.bigIntFromU8ABE(pointA.add(pointB).toRawBytes(true));
|
|
39
|
+
const pointA = secp256k1_1.secp256k1.ProjectivePoint.fromHex((0, util_1.bigIntToBufferBE)(a, privateKeySize));
|
|
40
|
+
const pointB = secp256k1_1.secp256k1.ProjectivePoint.fromHex((0, util_1.bigIntToBufferBE)(b, privateKeySize));
|
|
41
|
+
return (0, util_1.bigIntFromU8ABE)(pointA.add(pointB).toRawBytes(true));
|
|
60
42
|
}
|
|
61
43
|
pointMultiply(p, s) {
|
|
62
|
-
const pointA =
|
|
63
|
-
return util_1.bigIntFromU8ABE(pointA.multiply(s).toRawBytes(true));
|
|
44
|
+
const pointA = secp256k1_1.secp256k1.ProjectivePoint.fromHex((0, util_1.bigIntToBufferBE)(p, privateKeySize));
|
|
45
|
+
return (0, util_1.bigIntFromU8ABE)(pointA.multiply(s).toRawBytes(true));
|
|
64
46
|
}
|
|
65
47
|
basePointMult(n) {
|
|
66
|
-
const point = util_1.bigIntToBufferBE(n, privateKeySize);
|
|
67
|
-
return util_1.bigIntFromU8ABE(
|
|
48
|
+
const point = (0, util_1.bigIntToBufferBE)(n, privateKeySize);
|
|
49
|
+
return (0, util_1.bigIntFromU8ABE)(secp256k1_1.secp256k1.getPublicKey(point, true));
|
|
68
50
|
}
|
|
69
51
|
verify(message, signature, publicKey) {
|
|
70
|
-
|
|
52
|
+
const sig = secp256k1_1.secp256k1.Signature.fromCompact(Buffer.from(signature.subarray(1))).addRecoveryBit(signature[0]);
|
|
53
|
+
const pubFromSig = sig.recoverPublicKey(message).toRawBytes(true);
|
|
54
|
+
return Buffer.from(pubFromSig).equals((0, util_1.bigIntToBufferBE)(publicKey, publicKeySize));
|
|
71
55
|
}
|
|
72
56
|
order() {
|
|
73
57
|
return order;
|
|
74
58
|
}
|
|
75
59
|
}
|
|
76
60
|
exports.Secp256k1Curve = Secp256k1Curve;
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1cnZlcy9zZWNwMjU2azEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0NBQTREO0FBRTVELHVEQUE0RDtBQUM1RCw0REFBNkQ7QUFFN0QsTUFBTSxLQUFLLEdBQUcscUJBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzNCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQUMxQixNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFFekIsTUFBYSxjQUFjO0lBQTNCO1FBd0RFLGdCQUFXLEdBQUcsY0FBYyxDQUFDO1FBRTdCLGdDQUFnQztRQUNoQyxlQUFVLEdBQUcsYUFBYSxDQUFDO0lBQzdCLENBQUM7SUEzREMsWUFBWTtRQUNWLE9BQU8sSUFBQSxzQkFBZSxFQUFDLHFCQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsU0FBUyxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQzVCLE9BQU8sSUFBQSxhQUFHLEVBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsU0FBUyxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQzVCLE1BQU0sUUFBUSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDM0IsT0FBTyxJQUFBLGFBQUcsRUFBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxVQUFVLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDN0IsT0FBTyxJQUFBLGFBQUcsRUFBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUztRQUNwQixPQUFPLElBQUEsYUFBRyxFQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVM7UUFDcEIsT0FBTyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUztRQUNwQixPQUFPLElBQUEsZ0JBQU0sRUFBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUMzQixNQUFNLE1BQU0sR0FBRyxxQkFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBQSx1QkFBZ0IsRUFBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNqRixNQUFNLE1BQU0sR0FBRyxxQkFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBQSx1QkFBZ0IsRUFBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNqRixPQUFPLElBQUEsc0JBQWUsRUFBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxhQUFhLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDaEMsTUFBTSxNQUFNLEdBQUcscUJBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUEsdUJBQWdCLEVBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDakYsT0FBTyxJQUFBLHNCQUFlLEVBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVM7UUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBQSx1QkFBZ0IsRUFBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFBLHNCQUFlLEVBQUMscUJBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFlLEVBQUUsU0FBaUIsRUFBRSxTQUFpQjtRQUMxRCxNQUFNLEdBQUcsR0FBRyxxQkFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEcsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUEsdUJBQWdCLEVBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FNRjtBQTVERCx3Q0E0REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiaWdJbnRGcm9tVThBQkUsIGJpZ0ludFRvQnVmZmVyQkUgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IEJhc2VDdXJ2ZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgc2VjcDI1NmsxIGFzIHNlY3AgfSBmcm9tICdAbm9ibGUvY3VydmVzL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyBtb2QsIGludmVydCB9IGZyb20gJ0Bub2JsZS9jdXJ2ZXMvYWJzdHJhY3QvbW9kdWxhcic7XG5cbmNvbnN0IG9yZGVyID0gc2VjcC5DVVJWRS5uO1xuY29uc3QgcHJpdmF0ZUtleVNpemUgPSAzMjtcbmNvbnN0IHB1YmxpY0tleVNpemUgPSAzMztcblxuZXhwb3J0IGNsYXNzIFNlY3AyNTZrMUN1cnZlIGltcGxlbWVudHMgQmFzZUN1cnZlIHtcbiAgc2NhbGFyUmFuZG9tKCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21VOEFCRShzZWNwLnV0aWxzLnJhbmRvbVByaXZhdGVLZXkoKSk7XG4gIH1cblxuICBzY2FsYXJBZGQoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBtb2QoeCArIHksIG9yZGVyKTtcbiAgfVxuXG4gIHNjYWxhclN1Yih4OiBiaWdpbnQsIHk6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgY29uc3QgbmVnYXRlZFkgPSBvcmRlciAtIHk7XG4gICAgcmV0dXJuIG1vZCh4ICsgbmVnYXRlZFksIG9yZGVyKTtcbiAgfVxuXG4gIHNjYWxhck11bHQoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBtb2QoeCAqIHksIG9yZGVyKTtcbiAgfVxuXG4gIHNjYWxhclJlZHVjZShzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBtb2Qocywgb3JkZXIpO1xuICB9XG5cbiAgc2NhbGFyTmVnYXRlKHM6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIG9yZGVyIC0gcztcbiAgfVxuXG4gIHNjYWxhckludmVydChzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBpbnZlcnQocywgb3JkZXIpO1xuICB9XG5cbiAgcG9pbnRBZGQoYTogYmlnaW50LCBiOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIGNvbnN0IHBvaW50QSA9IHNlY3AuUHJvamVjdGl2ZVBvaW50LmZyb21IZXgoYmlnSW50VG9CdWZmZXJCRShhLCBwcml2YXRlS2V5U2l6ZSkpO1xuICAgIGNvbnN0IHBvaW50QiA9IHNlY3AuUHJvamVjdGl2ZVBvaW50LmZyb21IZXgoYmlnSW50VG9CdWZmZXJCRShiLCBwcml2YXRlS2V5U2l6ZSkpO1xuICAgIHJldHVybiBiaWdJbnRGcm9tVThBQkUocG9pbnRBLmFkZChwb2ludEIpLnRvUmF3Qnl0ZXModHJ1ZSkpO1xuICB9XG5cbiAgcG9pbnRNdWx0aXBseShwOiBiaWdpbnQsIHM6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgY29uc3QgcG9pbnRBID0gc2VjcC5Qcm9qZWN0aXZlUG9pbnQuZnJvbUhleChiaWdJbnRUb0J1ZmZlckJFKHAsIHByaXZhdGVLZXlTaXplKSk7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21VOEFCRShwb2ludEEubXVsdGlwbHkocykudG9SYXdCeXRlcyh0cnVlKSk7XG4gIH1cblxuICBiYXNlUG9pbnRNdWx0KG46IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgY29uc3QgcG9pbnQgPSBiaWdJbnRUb0J1ZmZlckJFKG4sIHByaXZhdGVLZXlTaXplKTtcbiAgICByZXR1cm4gYmlnSW50RnJvbVU4QUJFKHNlY3AuZ2V0UHVibGljS2V5KHBvaW50LCB0cnVlKSk7XG4gIH1cblxuICB2ZXJpZnkobWVzc2FnZTogQnVmZmVyLCBzaWduYXR1cmU6IEJ1ZmZlciwgcHVibGljS2V5OiBiaWdpbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzaWcgPSBzZWNwLlNpZ25hdHVyZS5mcm9tQ29tcGFjdChCdWZmZXIuZnJvbShzaWduYXR1cmUuc3ViYXJyYXkoMSkpKS5hZGRSZWNvdmVyeUJpdChzaWduYXR1cmVbMF0pO1xuICAgIGNvbnN0IHB1YkZyb21TaWcgPSBzaWcucmVjb3ZlclB1YmxpY0tleShtZXNzYWdlKS50b1Jhd0J5dGVzKHRydWUpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShwdWJGcm9tU2lnKS5lcXVhbHMoYmlnSW50VG9CdWZmZXJCRShwdWJsaWNLZXksIHB1YmxpY0tleVNpemUpKTtcbiAgfVxuXG4gIG9yZGVyKCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIG9yZGVyO1xuICB9XG5cbiAgc2NhbGFyQnl0ZXMgPSBwcml2YXRlS2V5U2l6ZTtcblxuICAvLyBBbHdheXMgdXNlIGNvbXByZXNzZWQgcG9pbnRzLlxuICBwb2ludEJ5dGVzID0gcHVibGljS2V5U2l6ZTtcbn1cbiJdfQ==
|
|
@@ -7,12 +7,12 @@ const util_1 = require("../util");
|
|
|
7
7
|
const util_2 = require("./util");
|
|
8
8
|
class Secp256k1Bip32HdTree {
|
|
9
9
|
publicDerive(keychain, path) {
|
|
10
|
-
const indices = util_2.pathToIndices(path);
|
|
10
|
+
const indices = (0, util_2.pathToIndices)(path);
|
|
11
11
|
function deriveIndex(acc, index) {
|
|
12
12
|
const [pk, chaincode] = acc;
|
|
13
13
|
const I = deriveSecp256k1Helper(index, chaincode, pk);
|
|
14
|
-
const il = util_1.bigIntFromBufferBE(I.slice(0, 32));
|
|
15
|
-
const ir = util_1.bigIntFromBufferBE(I.slice(32));
|
|
14
|
+
const il = (0, util_1.bigIntFromBufferBE)(I.slice(0, 32));
|
|
15
|
+
const ir = (0, util_1.bigIntFromBufferBE)(I.slice(32));
|
|
16
16
|
const left_pk = Secp256k1Bip32HdTree.curve.pointAdd(pk, Secp256k1Bip32HdTree.curve.basePointMult(il));
|
|
17
17
|
return [left_pk, ir];
|
|
18
18
|
}
|
|
@@ -20,12 +20,12 @@ class Secp256k1Bip32HdTree {
|
|
|
20
20
|
return { pk, chaincode };
|
|
21
21
|
}
|
|
22
22
|
privateDerive(keychain, path) {
|
|
23
|
-
const indices = util_2.pathToIndices(path);
|
|
23
|
+
const indices = (0, util_2.pathToIndices)(path);
|
|
24
24
|
function deriveIndex(acc, index) {
|
|
25
25
|
const [pk, sk, chaincode] = acc;
|
|
26
26
|
const I = deriveSecp256k1Helper(index, chaincode, pk, sk);
|
|
27
|
-
const il = util_1.bigIntFromBufferBE(I.slice(0, 32));
|
|
28
|
-
const ir = util_1.bigIntFromBufferBE(I.slice(32));
|
|
27
|
+
const il = (0, util_1.bigIntFromBufferBE)(I.slice(0, 32));
|
|
28
|
+
const ir = (0, util_1.bigIntFromBufferBE)(I.slice(32));
|
|
29
29
|
const left_pk = Secp256k1Bip32HdTree.curve.pointAdd(pk, Secp256k1Bip32HdTree.curve.basePointMult(il));
|
|
30
30
|
const left_sk = Secp256k1Bip32HdTree.curve.scalarAdd(sk, il);
|
|
31
31
|
return [left_pk, left_sk, ir];
|
|
@@ -39,16 +39,16 @@ Secp256k1Bip32HdTree.curve = new secp256k1_1.Secp256k1Curve();
|
|
|
39
39
|
function deriveSecp256k1Helper(index = 0, chaincode, pk, sk) {
|
|
40
40
|
const data = Buffer.alloc(33 + 4);
|
|
41
41
|
if (((index >>> 0) & 0x80000000) === 0) {
|
|
42
|
-
util_1.bigIntToBufferBE(pk, 33).copy(data);
|
|
42
|
+
(0, util_1.bigIntToBufferBE)(pk, 33).copy(data);
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
45
|
if (sk === undefined) {
|
|
46
46
|
throw new Error("Can't performed hardened derivation without private key");
|
|
47
47
|
}
|
|
48
48
|
data[0] = 0;
|
|
49
|
-
util_1.bigIntToBufferBE(sk, 32).copy(data, 1);
|
|
49
|
+
(0, util_1.bigIntToBufferBE)(sk, 32).copy(data, 1);
|
|
50
50
|
}
|
|
51
51
|
data.writeUInt32BE(index, 33);
|
|
52
|
-
return crypto_1.createHmac('sha512', util_1.bigIntToBufferBE(chaincode, 32)).update(data).digest();
|
|
52
|
+
return (0, crypto_1.createHmac)('sha512', (0, util_1.bigIntToBufferBE)(chaincode, 32)).update(data).digest();
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxQmlwMzJIZFRyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VydmVzL3NlY3AyNTZrMUJpcDMySGRUcmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFvQztBQUdwQywyQ0FBNkM7QUFDN0Msa0NBQStEO0FBQy9ELGlDQUF1QztBQUV2QyxNQUFhLG9CQUFvQjtJQUcvQixZQUFZLENBQUMsUUFBd0IsRUFBRSxJQUFZO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxTQUFTLFdBQVcsQ0FBQyxHQUFhLEVBQUUsS0FBeUI7WUFDM0QsTUFBTSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDNUIsTUFBTSxDQUFDLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0RCxNQUFNLEVBQUUsR0FBRyxJQUFBLHlCQUFrQixFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsTUFBTSxFQUFFLEdBQUcsSUFBQSx5QkFBa0IsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0MsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDcEMsV0FBVyxFQUNYLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxD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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVIbWFjIH0gZnJvbSAnY3J5cHRvJztcblxuaW1wb3J0IHsgUHJpdmF0ZUtleWNoYWluLCBQdWJsaWNLZXljaGFpbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU2VjcDI1NmsxQ3VydmUgfSBmcm9tICcuL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyBiaWdJbnRGcm9tQnVmZmVyQkUsIGJpZ0ludFRvQnVmZmVyQkUgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IHBhdGhUb0luZGljZXMgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgY2xhc3MgU2VjcDI1NmsxQmlwMzJIZFRyZWUge1xuICBzdGF0aWMgY3VydmU6IFNlY3AyNTZrMUN1cnZlID0gbmV3IFNlY3AyNTZrMUN1cnZlKCk7XG5cbiAgcHVibGljRGVyaXZlKGtleWNoYWluOiBQdWJsaWNLZXljaGFpbiwgcGF0aDogc3RyaW5nKTogUHVibGljS2V5Y2hhaW4ge1xuICAgIGNvbnN0IGluZGljZXMgPSBwYXRoVG9JbmRpY2VzKHBhdGgpO1xuICAgIGZ1bmN0aW9uIGRlcml2ZUluZGV4KGFjYzogYmlnaW50W10sIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQpOiBiaWdpbnRbXSB7XG4gICAgICBjb25zdCBbcGssIGNoYWluY29kZV0gPSBhY2M7XG4gICAgICBjb25zdCBJID0gZGVyaXZlU2VjcDI1NmsxSGVscGVyKGluZGV4LCBjaGFpbmNvZGUsIHBrKTtcbiAgICAgIGNvbnN0IGlsID0gYmlnSW50RnJvbUJ1ZmZlckJFKEkuc2xpY2UoMCwgMzIpKTtcbiAgICAgIGNvbnN0IGlyID0gYmlnSW50RnJvbUJ1ZmZlckJFKEkuc2xpY2UoMzIpKTtcbiAgICAgIGNvbnN0IGxlZnRfcGsgPSBTZWNwMjU2azFCaXAzMkhkVHJlZS5jdXJ2ZS5wb2ludEFkZChwaywgU2VjcDI1NmsxQmlwMzJIZFRyZWUuY3VydmUuYmFzZVBvaW50TXVsdChpbCkpO1xuICAgICAgcmV0dXJuIFtsZWZ0X3BrLCBpcl07XG4gICAgfVxuICAgIGNvbnN0IFtwaywgY2hhaW5jb2RlXSA9IGluZGljZXMucmVkdWNlKFxuICAgICAgZGVyaXZlSW5kZXgsXG4gICAgICBkZXJpdmVJbmRleChba2V5Y2hhaW4ucGssIGtleWNoYWluLmNoYWluY29kZV0sIGluZGljZXMuc2hpZnQoKSlcbiAgICApO1xuICAgIHJldHVybiB7IHBrLCBjaGFpbmNvZGUgfTtcbiAgfVxuXG4gIHByaXZhdGVEZXJpdmUoa2V5Y2hhaW46IFByaXZhdGVLZXljaGFpbiwgcGF0aDogc3RyaW5nKTogUHJpdmF0ZUtleWNoYWluIHtcbiAgICBjb25zdCBpbmRpY2VzID0gcGF0aFRvSW5kaWNlcyhwYXRoKTtcbiAgICBmdW5jdGlvbiBkZXJpdmVJbmRleChhY2M6IGJpZ2ludFtdLCBpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkKTogYmlnaW50W10ge1xuICAgICAgY29uc3QgW3BrLCBzaywgY2hhaW5jb2RlXSA9IGFjYztcbiAgICAgIGNvbnN0IEkgPSBkZXJpdmVTZWNwMjU2azFIZWxwZXIoaW5kZXgsIGNoYWluY29kZSwgcGssIHNrKTtcbiAgICAgIGNvbnN0IGlsID0gYmlnSW50RnJvbUJ1ZmZlckJFKEkuc2xpY2UoMCwgMzIpKTtcbiAgICAgIGNvbnN0IGlyID0gYmlnSW50RnJvbUJ1ZmZlckJFKEkuc2xpY2UoMzIpKTtcbiAgICAgIGNvbnN0IGxlZnRfcGsgPSBTZWNwMjU2azFCaXAzMkhkVHJlZS5jdXJ2ZS5wb2ludEFkZChwaywgU2VjcDI1NmsxQmlwMzJIZFRyZWUuY3VydmUuYmFzZVBvaW50TXVsdChpbCkpO1xuICAgICAgY29uc3QgbGVmdF9zayA9IFNlY3AyNTZrMUJpcDMySGRUcmVlLmN1cnZlLnNjYWxhckFkZChzaywgaWwpO1xuICAgICAgcmV0dXJuIFtsZWZ0X3BrLCBsZWZ0X3NrLCBpcl07XG4gICAgfVxuICAgIGNvbnN0IFtwaywgc2ssIGNoYWluY29kZV0gPSBpbmRpY2VzLnJlZHVjZShcbiAgICAgIGRlcml2ZUluZGV4LFxuICAgICAgZGVyaXZlSW5kZXgoW2tleWNoYWluLnBrLCBrZXljaGFpbi5zaywga2V5Y2hhaW4uY2hhaW5jb2RlXSwgaW5kaWNlcy5zaGlmdCgpKVxuICAgICk7XG4gICAgcmV0dXJuIHsgcGssIHNrLCBjaGFpbmNvZGUgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZXJpdmVTZWNwMjU2azFIZWxwZXIoaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCA9IDAsIGNoYWluY29kZTogYmlnaW50LCBwazogYmlnaW50LCBzaz86IGJpZ2ludCk6IEJ1ZmZlciB7XG4gIGNvbnN0IGRhdGEgPSBCdWZmZXIuYWxsb2MoMzMgKyA0KTtcbiAgaWYgKCgoaW5kZXggPj4+IDApICYgMHg4MDAwMDAwMCkgPT09IDApIHtcbiAgICBiaWdJbnRUb0J1ZmZlckJFKHBrLCAzMykuY29weShkYXRhKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoc2sgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgcGVyZm9ybWVkIGhhcmRlbmVkIGRlcml2YXRpb24gd2l0aG91dCBwcml2YXRlIGtleVwiKTtcbiAgICB9XG4gICAgZGF0YVswXSA9IDA7XG4gICAgYmlnSW50VG9CdWZmZXJCRShzaywgMzIpLmNvcHkoZGF0YSwgMSk7XG4gIH1cbiAgZGF0YS53cml0ZVVJbnQzMkJFKGluZGV4LCAzMyk7XG4gIHJldHVybiBjcmVhdGVIbWFjKCdzaGE1MTInLCBiaWdJbnRUb0J1ZmZlckJFKGNoYWluY29kZSwgMzIpKS51cGRhdGUoZGF0YSkuZGlnZXN0KCk7XG59XG4iXX0=
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
export declare type PublicKeychain = {
|
|
1
|
+
export type PublicKeychain = {
|
|
3
2
|
pk: bigint;
|
|
4
3
|
chaincode: bigint;
|
|
5
4
|
};
|
|
6
|
-
export
|
|
5
|
+
export type PrivateKeychain = PublicKeychain & {
|
|
7
6
|
sk: bigint;
|
|
8
7
|
prefix?: bigint;
|
|
9
8
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/curves/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/curves/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAE3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAE7C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IAErE,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;CACzE;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IAGxB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGhC,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGhC,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEhC,YAAY,IAAI,MAAM,CAAC;IAGvB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGxC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGxC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzC,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvC,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvE,KAAK,EAAE,MAAM,MAAM,CAAC;IAEpB,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export declare function pathToIndices(path: string): number[];
|
|
2
|
+
export declare function auditEddsaPrivateKey(privateKey: string, commonKeychain: string): void;
|
|
3
|
+
export declare function auditEcdsaPrivateKey(privateKey: string, commonKeychain: string): void;
|
|
2
4
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/curves/util.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKpD"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/curves/util.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKpD;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAoBrF;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CASrF"}
|
package/dist/src/curves/util.js
CHANGED
|
@@ -1,11 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pathToIndices =
|
|
3
|
+
exports.pathToIndices = pathToIndices;
|
|
4
|
+
exports.auditEddsaPrivateKey = auditEddsaPrivateKey;
|
|
5
|
+
exports.auditEcdsaPrivateKey = auditEcdsaPrivateKey;
|
|
4
6
|
function pathToIndices(path) {
|
|
5
7
|
return path
|
|
6
8
|
.replace(/^m?\//, '')
|
|
7
9
|
.split('/')
|
|
8
10
|
.map((index) => parseInt(index, 10));
|
|
9
11
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
function auditEddsaPrivateKey(privateKey, commonKeychain) {
|
|
13
|
+
// For TSS validation, we would need GPG private key for full implementation
|
|
14
|
+
// This is a simplified validation of key format
|
|
15
|
+
if (commonKeychain.length !== 128) {
|
|
16
|
+
throw new Error('Invalid common keychain');
|
|
17
|
+
}
|
|
18
|
+
const parsedKey = JSON.parse(privateKey);
|
|
19
|
+
if ('uShare' in parsedKey) {
|
|
20
|
+
// If the key is in JSON format, we need to check the private key length
|
|
21
|
+
const privateKeyLength = parsedKey.uShare.seed.length + parsedKey.uShare.chaincode.length;
|
|
22
|
+
if (privateKeyLength !== 128) {
|
|
23
|
+
throw new Error('Invalid private key');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
// If the key is not in JSON format, we need to check the length directly
|
|
28
|
+
if (privateKey.length !== 128) {
|
|
29
|
+
throw new Error('Invalid private key');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function auditEcdsaPrivateKey(privateKey, commonKeychain) {
|
|
34
|
+
if (commonKeychain.length !== 130 && commonKeychain.length !== 0) {
|
|
35
|
+
throw new Error('Invalid common keychain');
|
|
36
|
+
}
|
|
37
|
+
// DKLs key chains do not have a fixed length but we know for sure they are greater than 192 in length
|
|
38
|
+
if (privateKey.length !== 128 && privateKey.length !== 192 && privateKey.length <= 192) {
|
|
39
|
+
throw new Error('Invalid private key');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHNDQUtDO0FBRUQsb0RBb0JDO0FBRUQsb0RBU0M7QUF0Q0QsU0FBZ0IsYUFBYSxDQUFDLElBQVk7SUFDeEMsT0FBTyxJQUFJO1NBQ1IsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDcEIsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxTQUFnQixvQkFBb0IsQ0FBQyxVQUFrQixFQUFFLGNBQXNCO0lBQzdFLDRFQUE0RTtJQUM1RSxnREFBZ0Q7SUFDaEQsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxJQUFJLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUMxQix3RUFBd0U7UUFDeEUsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQzFGLElBQUksZ0JBQWdCLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLHlFQUF5RTtRQUN6RSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLG9CQUFvQixDQUFDLFVBQWtCLEVBQUUsY0FBc0I7SUFDN0UsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsc0dBQXNHO0lBQ3RHLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2RixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcGF0aFRvSW5kaWNlcyhwYXRoOiBzdHJpbmcpOiBudW1iZXJbXSB7XG4gIHJldHVybiBwYXRoXG4gICAgLnJlcGxhY2UoL15tP1xcLy8sICcnKVxuICAgIC5zcGxpdCgnLycpXG4gICAgLm1hcCgoaW5kZXgpID0+IHBhcnNlSW50KGluZGV4LCAxMCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXVkaXRFZGRzYVByaXZhdGVLZXkocHJpdmF0ZUtleTogc3RyaW5nLCBjb21tb25LZXljaGFpbjogc3RyaW5nKTogdm9pZCB7XG4gIC8vIEZvciBUU1MgdmFsaWRhdGlvbiwgd2Ugd291bGQgbmVlZCBHUEcgcHJpdmF0ZSBrZXkgZm9yIGZ1bGwgaW1wbGVtZW50YXRpb25cbiAgLy8gVGhpcyBpcyBhIHNpbXBsaWZpZWQgdmFsaWRhdGlvbiBvZiBrZXkgZm9ybWF0XG4gIGlmIChjb21tb25LZXljaGFpbi5sZW5ndGggIT09IDEyOCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb21tb24ga2V5Y2hhaW4nKTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZEtleSA9IEpTT04ucGFyc2UocHJpdmF0ZUtleSk7XG4gIGlmICgndVNoYXJlJyBpbiBwYXJzZWRLZXkpIHtcbiAgICAvLyBJZiB0aGUga2V5IGlzIGluIEpTT04gZm9ybWF0LCB3ZSBuZWVkIHRvIGNoZWNrIHRoZSBwcml2YXRlIGtleSBsZW5ndGhcbiAgICBjb25zdCBwcml2YXRlS2V5TGVuZ3RoID0gcGFyc2VkS2V5LnVTaGFyZS5zZWVkLmxlbmd0aCArIHBhcnNlZEtleS51U2hhcmUuY2hhaW5jb2RlLmxlbmd0aDtcbiAgICBpZiAocHJpdmF0ZUtleUxlbmd0aCAhPT0gMTI4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcHJpdmF0ZSBrZXknKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgdGhlIGtleSBpcyBub3QgaW4gSlNPTiBmb3JtYXQsIHdlIG5lZWQgdG8gY2hlY2sgdGhlIGxlbmd0aCBkaXJlY3RseVxuICAgIGlmIChwcml2YXRlS2V5Lmxlbmd0aCAhPT0gMTI4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcHJpdmF0ZSBrZXknKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0RWNkc2FQcml2YXRlS2V5KHByaXZhdGVLZXk6IHN0cmluZywgY29tbW9uS2V5Y2hhaW46IHN0cmluZyk6IHZvaWQge1xuICBpZiAoY29tbW9uS2V5Y2hhaW4ubGVuZ3RoICE9PSAxMzAgJiYgY29tbW9uS2V5Y2hhaW4ubGVuZ3RoICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbW1vbiBrZXljaGFpbicpO1xuICB9XG5cbiAgLy8gREtMcyBrZXkgY2hhaW5zIGRvIG5vdCBoYXZlIGEgZml4ZWQgbGVuZ3RoIGJ1dCB3ZSBrbm93IGZvciBzdXJlIHRoZXkgYXJlIGdyZWF0ZXIgdGhhbiAxOTIgaW4gbGVuZ3RoXG4gIGlmIChwcml2YXRlS2V5Lmxlbmd0aCAhPT0gMTI4ICYmIHByaXZhdGVLZXkubGVuZ3RoICE9PSAxOTIgJiYgcHJpdmF0ZUtleS5sZW5ndGggPD0gMTkyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHByaXZhdGUga2V5Jyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashCommitment.d.ts","sourceRoot":"","sources":["../../src/hashCommitment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hashCommitment.d.ts","sourceRoot":"","sources":["../../src/hashCommitment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAK/D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAE,MAAyC,GAAG,kBAAkB,CAWjH;AAaD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,GAAG,OAAO,CAE7F"}
|