@bitgo/sdk-core 8.15.0 → 8.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
  3. package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
  4. package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
  5. package/dist/src/account-lib/mpc/index.d.ts +4 -4
  6. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  7. package/dist/src/account-lib/mpc/index.js +6 -6
  8. package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
  9. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
  10. package/dist/src/account-lib/mpc/shamir.js +6 -130
  11. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +1 -2
  12. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  13. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +5 -6
  14. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -1
  15. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  16. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +1 -1
  17. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +2 -2
  18. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  19. package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
  20. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +3 -3
  21. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  22. package/dist/src/bitgo/tss/eddsa/eddsa.js +5 -5
  23. package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
  24. package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
  25. package/dist/src/bitgo/utils/codecProps.js +41 -0
  26. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +1 -0
  27. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  28. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +5 -1
  29. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  30. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +4 -4
  31. package/dist/src/bitgo/wallet/BuildParams.d.ts +110 -0
  32. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
  33. package/dist/src/bitgo/wallet/BuildParams.js +119 -0
  34. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts +92 -0
  35. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
  36. package/dist/src/bitgo/wallet/SendTransactionRequest.js +41 -0
  37. package/dist/src/bitgo/wallet/iWallet.d.ts +1 -0
  38. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  39. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  40. package/dist/src/bitgo/wallet/wallet.d.ts +1 -0
  41. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  42. package/dist/src/bitgo/wallet/wallet.js +29 -69
  43. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
  44. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
  45. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +49 -0
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -3,6 +3,46 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [8.17.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@8.13.0...@bitgo/sdk-core@8.17.0) (2023-08-25)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **sdk-core:** add pendingappr id in build api ([3ace9ac](https://github.com/BitGo/BitGoJS/commit/3ace9ac74a0729f8ade84e8a0c8cd67429563147))
11
+ - **sdk-core:** export bip32HdTree as BIP32 ([cc80aa6](https://github.com/BitGo/BitGoJS/commit/cc80aa6dfc7ba7ac0657df6a685c7ebd6dc094a0))
12
+ - **sdk-core:** handle txRequest full PA before signing ([9de0eae](https://github.com/BitGo/BitGoJS/commit/9de0eae7cab1ad406e80a818555a7c8557b47eb3))
13
+ - **sdk-core:** include tests in tsconfig.json ([91c1c6c](https://github.com/BitGo/BitGoJS/commit/91c1c6c47f809cbd826db2a7a59c96b74f0273e9))
14
+ - **sdk-core:** move --recursive flag to package.json ([1147ebe](https://github.com/BitGo/BitGoJS/commit/1147ebe3d2ab1868fe1c6bbf343f68becc7d1169))
15
+
16
+ ### Features
17
+
18
+ - **express:** add external signer support for signig with derivation paths ([ceb89dd](https://github.com/BitGo/BitGoJS/commit/ceb89dd72b7f5f7c59484d5517ac32c4f499fd32))
19
+ - **sdk-coin-sol:** add transaction message authorize builder ([649b7df](https://github.com/BitGo/BitGoJS/commit/649b7df0f65c2eee08e7c1e009ebb3c03cf4d011))
20
+ - **sdk-core:** add postWithCodec utility function ([ff1ad07](https://github.com/BitGo/BitGoJS/commit/ff1ad07dfe476d38ae17cfb691ef0e6375a394ea))
21
+ - **sdk-core:** add, use SendTransactionRequest and BuildParams codecs ([724fc6c](https://github.com/BitGo/BitGoJS/commit/724fc6c3adee3ef7dbeb39e023f2270ff36a233d))
22
+ - **sdk-core:** extend build param codec ([e224ca3](https://github.com/BitGo/BitGoJS/commit/e224ca306608e9618d080fdb623db09307a91910))
23
+ - **sdk-core:** use BuildParams codec in Wallet.accelerateTransaction ([a9fab81](https://github.com/BitGo/BitGoJS/commit/a9fab813f27cdb40123c49b01570ecb6b9a67d91))
24
+ - **sdk-core:** use BuildParams codec in Wallet.sendAccountConsolidation ([7d340ec](https://github.com/BitGo/BitGoJS/commit/7d340ec674116badf3b05aadf1d9aae130a8c69d))
25
+ - **sdk-lib-mpc:** move ecdsa hdtree from core ([f0311a8](https://github.com/BitGo/BitGoJS/commit/f0311a8606b1a6aa82309ef7bb9a349782819c28))
26
+ - **sdk-lib-mpc:** move shamir ([42fc946](https://github.com/BitGo/BitGoJS/commit/42fc946c8a5c4a1f7a09e5a9cb6c64a0b266a2a7))
27
+ - **sdk-lib-mpc:** move types to types.ts ([cf2f482](https://github.com/BitGo/BitGoJS/commit/cf2f4821792172b1657fbcecd8886df5bacd817a))
28
+
29
+ # [8.16.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@8.13.0...@bitgo/sdk-core@8.16.0) (2023-08-24)
30
+
31
+ ### Bug Fixes
32
+
33
+ - **sdk-core:** add pendingappr id in build api ([3ace9ac](https://github.com/BitGo/BitGoJS/commit/3ace9ac74a0729f8ade84e8a0c8cd67429563147))
34
+ - **sdk-core:** handle txRequest full PA before signing ([9de0eae](https://github.com/BitGo/BitGoJS/commit/9de0eae7cab1ad406e80a818555a7c8557b47eb3))
35
+ - **sdk-core:** include tests in tsconfig.json ([91c1c6c](https://github.com/BitGo/BitGoJS/commit/91c1c6c47f809cbd826db2a7a59c96b74f0273e9))
36
+ - **sdk-core:** move --recursive flag to package.json ([1147ebe](https://github.com/BitGo/BitGoJS/commit/1147ebe3d2ab1868fe1c6bbf343f68becc7d1169))
37
+
38
+ ### Features
39
+
40
+ - **sdk-coin-sol:** add transaction message authorize builder ([649b7df](https://github.com/BitGo/BitGoJS/commit/649b7df0f65c2eee08e7c1e009ebb3c03cf4d011))
41
+ - **sdk-core:** add postWithCodec utility function ([ff1ad07](https://github.com/BitGo/BitGoJS/commit/ff1ad07dfe476d38ae17cfb691ef0e6375a394ea))
42
+ - **sdk-core:** add, use SendTransactionRequest and BuildParams codecs ([724fc6c](https://github.com/BitGo/BitGoJS/commit/724fc6c3adee3ef7dbeb39e023f2270ff36a233d))
43
+ - **sdk-core:** extend build param codec ([e224ca3](https://github.com/BitGo/BitGoJS/commit/e224ca306608e9618d080fdb623db09307a91910))
44
+ - **sdk-core:** use BuildParams codec in Wallet.accelerateTransaction ([a9fab81](https://github.com/BitGo/BitGoJS/commit/a9fab813f27cdb40123c49b01570ecb6b9a67d91))
45
+
6
46
  # [8.15.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@8.13.0...@bitgo/sdk-core@8.15.0) (2023-08-16)
7
47
 
8
48
  ### Bug Fixes
@@ -1,19 +1,5 @@
1
- /// <reference types="node" />
2
- import BaseCurve from './baseCurve';
3
- export declare class Ed25519Curve implements BaseCurve {
4
- static initialized: boolean;
5
- static initialize(): Promise<Ed25519Curve>;
6
- scalarRandom(): bigint;
7
- scalarReduce(s: bigint): bigint;
8
- scalarNegate(s: bigint): bigint;
9
- scalarInvert(s: bigint): bigint;
10
- scalarAdd(x: bigint, y: bigint): bigint;
11
- scalarSub(x: bigint, y: bigint): bigint;
12
- scalarMult(x: bigint, y: bigint): bigint;
13
- basePointMult(n: bigint): bigint;
14
- pointAdd(p: bigint, q: bigint): bigint;
15
- pointMultiply(p: bigint, s: bigint): bigint;
16
- verify(message: Buffer, signature: Buffer, publicKey: bigint): boolean;
17
- order(): bigint;
18
- }
1
+ /**
2
+ * @deprecated use Ed25519Curve from sdk-lib-mpc instead
3
+ */
4
+ export { Ed25519Curve } from '@bitgo/sdk-lib-mpc';
19
5
  //# sourceMappingURL=ed25519.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/mpc/curves/ed25519.ts"],"names":[],"mappings":";AAGA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,qBAAa,YAAa,YAAW,SAAS;IAC5C,MAAM,CAAC,WAAW,UAAS;WAEd,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC;IAShD,YAAY,IAAI,MAAM;IAMtB,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,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAMvC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAMvC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAMxC,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIhC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAMtC,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAM3C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAYtE,KAAK,IAAI,MAAM;CAGhB"}
1
+ {"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/mpc/curves/ed25519.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,63 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Ed25519Curve = void 0;
4
- const sodium = require('libsodium-wrappers-sumo');
5
- const crypto_1 = require("crypto");
6
- const util_1 = require("../util");
7
- class Ed25519Curve {
8
- static async initialize() {
9
- if (!Ed25519Curve.initialized) {
10
- await sodium.ready;
11
- Ed25519Curve.initialized = true;
12
- }
13
- return new Ed25519Curve();
14
- }
15
- scalarRandom() {
16
- return util_1.bigIntFromBufferLE(Buffer.from(sodium.crypto_core_ed25519_scalar_reduce(util_1.bigIntFromBufferLE(crypto_1.randomBytes(64)))));
17
- }
18
- scalarReduce(s) {
19
- return util_1.bigIntFromBufferLE(Buffer.from(sodium.crypto_core_ed25519_scalar_reduce(util_1.bigIntToBufferLE(s, 64))));
20
- }
21
- scalarNegate(s) {
22
- return util_1.bigIntFromBufferLE(Buffer.from(sodium.crypto_core_ed25519_scalar_negate(util_1.bigIntToBufferLE(s, 32))));
23
- }
24
- scalarInvert(s) {
25
- return util_1.bigIntFromBufferLE(Buffer.from(sodium.crypto_core_ed25519_scalar_invert(util_1.bigIntToBufferLE(s, 32))));
26
- }
27
- scalarAdd(x, y) {
28
- return util_1.bigIntFromBufferLE(Buffer.from(sodium.crypto_core_ed25519_scalar_add(util_1.bigIntToBufferLE(x, 32), util_1.bigIntToBufferLE(y, 32))));
29
- }
30
- scalarSub(x, y) {
31
- return util_1.bigIntFromBufferLE(Buffer.from(sodium.crypto_core_ed25519_scalar_sub(util_1.bigIntToBufferLE(x, 32), util_1.bigIntToBufferLE(y, 32))));
32
- }
33
- scalarMult(x, y) {
34
- return util_1.bigIntFromBufferLE(Buffer.from(sodium.crypto_core_ed25519_scalar_mul(util_1.bigIntToBufferLE(x, 32), util_1.bigIntToBufferLE(y, 32))));
35
- }
36
- basePointMult(n) {
37
- return util_1.bigIntFromBufferLE(Buffer.from(sodium.crypto_scalarmult_ed25519_base_noclamp(util_1.bigIntToBufferLE(n, 32))));
38
- }
39
- pointAdd(p, q) {
40
- return util_1.bigIntFromBufferLE(Buffer.from(sodium.crypto_core_ed25519_add(util_1.bigIntToBufferLE(p, 32), util_1.bigIntToBufferLE(q, 32))));
41
- }
42
- pointMultiply(p, s) {
43
- return util_1.bigIntFromBufferLE(Buffer.from(sodium.crypto_scalarmult_ed25519_noclamp(util_1.bigIntToBufferLE(s, 32), util_1.bigIntToBufferLE(p, 32))));
44
- }
45
- verify(message, signature, publicKey) {
46
- const signedMessage = Buffer.concat([signature, message]);
47
- try {
48
- // Returns the message which was signed if the signature is valid
49
- const result = Buffer.from(sodium.crypto_sign_open(signedMessage, util_1.bigIntToBufferLE(publicKey, 32)));
50
- return Buffer.compare(message, result) === 0;
51
- }
52
- catch (error) {
53
- // Invalid signature causes an exception
54
- return false;
55
- }
56
- }
57
- order() {
58
- return BigInt('0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed') * BigInt('0x08');
59
- }
60
- }
61
- exports.Ed25519Curve = Ed25519Curve;
62
- Ed25519Curve.initialized = false;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWQyNTUxOS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9tcGMvY3VydmVzL2VkMjU1MTkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDbEQsbUNBQXFDO0FBQ3JDLGtDQUErRDtBQUcvRCxNQUFhLFlBQVk7SUFHdkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQzdCLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNuQixZQUFZLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUNqQztRQUVELE9BQU8sSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8seUJBQWtCLENBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLHlCQUFrQixDQUFDLG9CQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzNGLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVM7UUFDcEIsT0FBTyx5QkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyx1QkFBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFTO1FBQ3BCLE9BQU8seUJBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsaUNBQWlDLENBQUMsdUJBQWdCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUztRQUNwQixPQUFPLHlCQUFrQixDQUFDLE1BQU0s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c29kaXVtLXdyYXBwZXJzLXN1bW8nKTtcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IGJpZ0ludEZyb21CdWZmZXJMRSwgYmlnSW50VG9CdWZmZXJMRSB9IGZyb20gJy4uL3V0aWwnO1xuaW1wb3J0IEJhc2VDdXJ2ZSBmcm9tICcuL2Jhc2VDdXJ2ZSc7XG5cbmV4cG9ydCBjbGFzcyBFZDI1NTE5Q3VydmUgaW1wbGVtZW50cyBCYXNlQ3VydmUge1xuICBzdGF0aWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBzdGF0aWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPEVkMjU1MTlDdXJ2ZT4ge1xuICAgIGlmICghRWQyNTUxOUN1cnZlLmluaXRpYWxpemVkKSB7XG4gICAgICBhd2FpdCBzb2RpdW0ucmVhZHk7XG4gICAgICBFZDI1NTE5Q3VydmUuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRWQyNTUxOUN1cnZlKCk7XG4gIH1cblxuICBzY2FsYXJSYW5kb20oKTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX3JlZHVjZShiaWdJbnRGcm9tQnVmZmVyTEUocmFuZG9tQnl0ZXMoNjQpKSkpXG4gICAgKTtcbiAgfVxuXG4gIHNjYWxhclJlZHVjZShzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX3JlZHVjZShiaWdJbnRUb0J1ZmZlckxFKHMsIDY0KSkpKTtcbiAgfVxuXG4gIHNjYWxhck5lZ2F0ZShzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX25lZ2F0ZShiaWdJbnRUb0J1ZmZlckxFKHMsIDMyKSkpKTtcbiAgfVxuXG4gIHNjYWxhckludmVydChzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX2ludmVydChiaWdJbnRUb0J1ZmZlckxFKHMsIDMyKSkpKTtcbiAgfVxuXG4gIHNjYWxhckFkZCh4OiBiaWdpbnQsIHk6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJMRShcbiAgICAgIEJ1ZmZlci5mcm9tKHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9hZGQoYmlnSW50VG9CdWZmZXJMRSh4LCAzMiksIGJpZ0ludFRvQnVmZmVyTEUoeSwgMzIpKSlcbiAgICApO1xuICB9XG5cbiAgc2NhbGFyU3ViKHg6IGJpZ2ludCwgeTogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX3N1YihiaWdJbnRUb0J1ZmZlckxFKHgsIDMyKSwgYmlnSW50VG9CdWZmZXJMRSh5LCAzMikpKVxuICAgICk7XG4gIH1cblxuICBzY2FsYXJNdWx0KHg6IGJpZ2ludCwgeTogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX211bChiaWdJbnRUb0J1ZmZlckxFKHgsIDMyKSwgYmlnSW50VG9CdWZmZXJMRSh5LCAzMikpKVxuICAgICk7XG4gIH1cblxuICBiYXNlUG9pbnRNdWx0KG46IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJMRShCdWZmZXIuZnJvbShzb2RpdW0uY3J5cHRvX3NjYWxhcm11bHRfZWQyNTUxOV9iYXNlX25vY2xhbXAoYmlnSW50VG9CdWZmZXJMRShuLCAzMikpKSk7XG4gIH1cblxuICBwb2ludEFkZChwOiBiaWdpbnQsIHE6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJMRShcbiAgICAgIEJ1ZmZlci5mcm9tKHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X2FkZChiaWdJbnRUb0J1ZmZlckxFKHAsIDMyKSwgYmlnSW50VG9CdWZmZXJMRShxLCAzMikpKVxuICAgICk7XG4gIH1cblxuICBwb2ludE11bHRpcGx5KHA6IGJpZ2ludCwgczogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19zY2FsYXJtdWx0X2VkMjU1MTlfbm9jbGFtcChiaWdJbnRUb0J1ZmZlckxFKHMsIDMyKSwgYmlnSW50VG9CdWZmZXJMRShwLCAzMikpKVxuICAgICk7XG4gIH1cblxuICB2ZXJpZnkobWVzc2FnZTogQnVmZmVyLCBzaWduYXR1cmU6IEJ1ZmZlciwgcHVibGljS2V5OiBiaWdpbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzaWduZWRNZXNzYWdlID0gQnVmZmVyLmNvbmNhdChbc2lnbmF0dXJlLCBtZXNzYWdlXSk7XG4gICAgdHJ5IHtcbiAgICAgIC8vIFJldHVybnMgdGhlIG1lc3NhZ2Ugd2hpY2ggd2FzIHNpZ25lZCBpZiB0aGUgc2lnbmF0dXJlIGlzIHZhbGlkXG4gICAgICBjb25zdCByZXN1bHQgPSBCdWZmZXIuZnJvbShzb2RpdW0uY3J5cHRvX3NpZ25fb3BlbihzaWduZWRNZXNzYWdlLCBiaWdJbnRUb0J1ZmZlckxFKHB1YmxpY0tleSwgMzIpKSk7XG4gICAgICByZXR1cm4gQnVmZmVyLmNvbXBhcmUobWVzc2FnZSwgcmVzdWx0KSA9PT0gMDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSW52YWxpZCBzaWduYXR1cmUgY2F1c2VzIGFuIGV4Y2VwdGlvblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9yZGVyKCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIEJpZ0ludCgnMHgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0ZGVmOWRlYTJmNzljZDY1ODEyNjMxYTVjZjVkM2VkJykgKiBCaWdJbnQoJzB4MDgnKTtcbiAgfVxufVxuIl19
4
+ /**
5
+ * @deprecated use Ed25519Curve from sdk-lib-mpc instead
6
+ */
7
+ var sdk_lib_mpc_1 = require("@bitgo/sdk-lib-mpc");
8
+ Object.defineProperty(exports, "Ed25519Curve", { enumerable: true, get: function () { return sdk_lib_mpc_1.Ed25519Curve; } });
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWQyNTUxOS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9tcGMvY3VydmVzL2VkMjU1MTkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxrREFBa0Q7QUFBekMsMkdBQUEsWUFBWSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgRWQyNTUxOUN1cnZlIGZyb20gc2RrLWxpYi1tcGMgaW5zdGVhZFxuICovXG5leHBvcnQgeyBFZDI1NTE5Q3VydmUgfSBmcm9tICdAYml0Z28vc2RrLWxpYi1tcGMnO1xuIl19
@@ -1,9 +1,9 @@
1
- import HDTree, { Ed25519BIP32, BIP32 } from './hdTree';
1
+ import { HDTree, Ed25519Bip32HdTree, Secp256k1Bip32HdTree } from '@bitgo/sdk-lib-mpc';
2
2
  import { EDDSA } from './tss';
3
3
  import ShamirSecret from './shamir';
4
- export { Ecdsa, ECDSA, Eddsa, EDDSA, rangeProof } from './tss';
4
+ declare type KeyShare = EDDSA.KeyShare;
5
5
  export * from './curves';
6
6
  export * from './util';
7
- declare type KeyShare = EDDSA.KeyShare;
8
- export { Ed25519BIP32, HDTree, KeyShare, ShamirSecret, BIP32 };
7
+ export { Ecdsa, ECDSA, Eddsa, EDDSA, rangeProof } from './tss';
8
+ export { Ed25519Bip32HdTree as Ed25519BIP32, HDTree, KeyShare, ShamirSecret, Secp256k1Bip32HdTree as BIP32 };
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/mpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,YAAY,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE/D,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AAEvB,aAAK,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/mpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,YAAY,MAAM,UAAU,CAAC;AAEpC,aAAK,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAE/B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,kBAAkB,IAAI,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,IAAI,KAAK,EAAE,CAAC"}
@@ -14,17 +14,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.BIP32 = exports.ShamirSecret = exports.Ed25519BIP32 = exports.rangeProof = exports.EDDSA = exports.Eddsa = exports.ECDSA = exports.Ecdsa = void 0;
17
- const hdTree_1 = require("./hdTree");
18
- Object.defineProperty(exports, "Ed25519BIP32", { enumerable: true, get: function () { return hdTree_1.Ed25519BIP32; } });
19
- Object.defineProperty(exports, "BIP32", { enumerable: true, get: function () { return hdTree_1.BIP32; } });
17
+ const sdk_lib_mpc_1 = require("@bitgo/sdk-lib-mpc");
18
+ Object.defineProperty(exports, "Ed25519BIP32", { enumerable: true, get: function () { return sdk_lib_mpc_1.Ed25519Bip32HdTree; } });
19
+ Object.defineProperty(exports, "BIP32", { enumerable: true, get: function () { return sdk_lib_mpc_1.Secp256k1Bip32HdTree; } });
20
20
  const shamir_1 = __importDefault(require("./shamir"));
21
21
  exports.ShamirSecret = shamir_1.default;
22
+ __exportStar(require("./curves"), exports);
23
+ __exportStar(require("./util"), exports);
22
24
  var tss_1 = require("./tss");
23
25
  Object.defineProperty(exports, "Ecdsa", { enumerable: true, get: function () { return tss_1.Ecdsa; } });
24
26
  Object.defineProperty(exports, "ECDSA", { enumerable: true, get: function () { return tss_1.ECDSA; } });
25
27
  Object.defineProperty(exports, "Eddsa", { enumerable: true, get: function () { return tss_1.Eddsa; } });
26
28
  Object.defineProperty(exports, "EDDSA", { enumerable: true, get: function () { return tss_1.EDDSA; } });
27
29
  Object.defineProperty(exports, "rangeProof", { enumerable: true, get: function () { return tss_1.rangeProof; } });
28
- __exportStar(require("./curves"), exports);
29
- __exportStar(require("./util"), exports);
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBdUQ7QUFXOUMsNkZBWFEscUJBQVksT0FXUjtBQUFrQyxzRkFYeEIsY0FBSyxPQVd3QjtBQVQ1RCxzREFBb0M7QUFTSyx1QkFUbEMsZ0JBQVksQ0FTa0M7QUFQckQsNkJBQStEO0FBQXRELDRGQUFBLEtBQUssT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLGlHQUFBLFVBQVUsT0FBQTtBQUUvQywyQ0FBeUI7QUFDekIseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEhEVHJlZSwgeyBFZDI1NTE5QklQMzIsIEJJUDMyIH0gZnJvbSAnLi9oZFRyZWUnO1xuaW1wb3J0IHsgRUREU0EgfSBmcm9tICcuL3Rzcyc7XG5pbXBvcnQgU2hhbWlyU2VjcmV0IGZyb20gJy4vc2hhbWlyJztcblxuZXhwb3J0IHsgRWNkc2EsIEVDRFNBLCBFZGRzYSwgRUREU0EsIHJhbmdlUHJvb2YgfSBmcm9tICcuL3Rzcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3VydmVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG5cbnR5cGUgS2V5U2hhcmUgPSBFRERTQS5LZXlTaGFyZTtcblxuZXhwb3J0IHsgRWQyNTUxOUJJUDMyLCBIRFRyZWUsIEtleVNoYXJlLCBTaGFtaXJTZWNyZXQsIEJJUDMyIH07XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBc0Y7QUFTdkQsNkZBVGQsZ0NBQWtCLE9BU1E7QUFBMEQsc0ZBVGhFLGtDQUFvQixPQVNpRDtBQVAxRyxzREFBb0M7QUFPMkIsdUJBUHhELGdCQUFZLENBT3dEO0FBSDNFLDJDQUF5QjtBQUN6Qix5Q0FBdUI7QUFDdkIsNkJBQStEO0FBQXRELDRGQUFBLEtBQUssT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLGlHQUFBLFVBQVUsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhEVHJlZSwgRWQyNTUxOUJpcDMySGRUcmVlLCBTZWNwMjU2azFCaXAzMkhkVHJlZSB9IGZyb20gJ0BiaXRnby9zZGstbGliLW1wYyc7XG5pbXBvcnQgeyBFRERTQSB9IGZyb20gJy4vdHNzJztcbmltcG9ydCBTaGFtaXJTZWNyZXQgZnJvbSAnLi9zaGFtaXInO1xuXG50eXBlIEtleVNoYXJlID0gRUREU0EuS2V5U2hhcmU7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3VydmVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG5leHBvcnQgeyBFY2RzYSwgRUNEU0EsIEVkZHNhLCBFRERTQSwgcmFuZ2VQcm9vZiB9IGZyb20gJy4vdHNzJztcbmV4cG9ydCB7IEVkMjU1MTlCaXAzMkhkVHJlZSBhcyBFZDI1NTE5QklQMzIsIEhEVHJlZSwgS2V5U2hhcmUsIFNoYW1pclNlY3JldCwgU2VjcDI1NmsxQmlwMzJIZFRyZWUgYXMgQklQMzIgfTtcbiJdfQ==
@@ -1,38 +1,6 @@
1
- import Curve from './curves';
2
- import { SplitSecret } from './types';
3
- export default class Shamir {
4
- curve: Curve;
5
- constructor(curve: Curve);
6
- /**
7
- * Perform Shamir sharing on the secret `secret` to the degree `threshold - 1` split `numShares`
8
- * ways. The split secret requires `threshold` shares to be reconstructed.
9
- *
10
- * @param secret secret to split
11
- * @param threshold share threshold required to reconstruct secret
12
- * @param numShares total number of shares to split to split secret into
13
- * @param indices optional indices which can be used while generating the shares
14
- * @param salt optional salt which could be used while generating the shares
15
- * @returns Dictionary containing `shares`, a dictionary where each key is an int
16
- * in the range 1<=x<=numShares representing that share's free term, and `v`, an
17
- * array of proofs to be shared with all participants.
18
- */
19
- split(secret: bigint, threshold: number, numShares: number, indices?: Array<number>, salt?: bigint): SplitSecret;
20
- /**
21
- * Verify a VSS share.
22
- *
23
- * @param u Secret share received from other party.
24
- * @param v Verification values received from other party.
25
- * @param index Verifier's index.
26
- * @returns True on success; otherwise throws Error.
27
- */
28
- verify(u: bigint, v: Array<bigint>, index: number): boolean;
29
- /**
30
- * Reconstitute a secret from a dictionary of shares. The number of shares must
31
- * be equal to `t` to reconstitute the original secret.
32
- *
33
- * @param shares dictionary of shares. each key is the free term of the share
34
- * @returns secret
35
- */
36
- combine(shares: Record<number, bigint>): bigint;
37
- }
1
+ import { Shamir } from '@bitgo/sdk-lib-mpc';
2
+ /**
3
+ * @deprecated use Shamir from sdk-lib-mpc instead
4
+ */
5
+ export default Shamir;
38
6
  //# sourceMappingURL=shamir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shamir.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/mpc/shamir.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,KAAK;IAIxB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,SAAY,GAAG,WAAW;IA8CnH;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAsB3D;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CA+BhD"}
1
+ {"version":3,"file":"shamir.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/mpc/shamir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C;;GAEG;AACH,eAAe,MAAM,CAAC"}
@@ -1,132 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const crypto = require('crypto');
4
- const util_1 = require("./util");
5
- class Shamir {
6
- constructor(curve) {
7
- this.curve = curve;
8
- }
9
- /**
10
- * Perform Shamir sharing on the secret `secret` to the degree `threshold - 1` split `numShares`
11
- * ways. The split secret requires `threshold` shares to be reconstructed.
12
- *
13
- * @param secret secret to split
14
- * @param threshold share threshold required to reconstruct secret
15
- * @param numShares total number of shares to split to split secret into
16
- * @param indices optional indices which can be used while generating the shares
17
- * @param salt optional salt which could be used while generating the shares
18
- * @returns Dictionary containing `shares`, a dictionary where each key is an int
19
- * in the range 1<=x<=numShares representing that share's free term, and `v`, an
20
- * array of proofs to be shared with all participants.
21
- */
22
- split(secret, threshold, numShares, indices, salt = BigInt(0)) {
23
- let bigIndices;
24
- if (indices) {
25
- bigIndices = indices.map((i) => {
26
- if (i < 1) {
27
- throw new Error('Invalid value supplied for indices');
28
- }
29
- return BigInt(i);
30
- });
31
- }
32
- else {
33
- // make range(1, n + 1)
34
- bigIndices = Array(numShares)
35
- .fill(null)
36
- .map((_, i) => BigInt(i + 1));
37
- }
38
- if (threshold < 2) {
39
- throw new Error('Threshold cannot be less than two');
40
- }
41
- if (threshold > numShares) {
42
- throw new Error('Threshold cannot be greater than the total number of shares');
43
- }
44
- const coefs = [];
45
- const v = [];
46
- for (let ind = 0; ind < threshold - 1; ind++) {
47
- const coeff = util_1.clamp(util_1.bigIntFromBufferLE(crypto.createHmac('sha256', ind.toString(10)).update(util_1.bigIntToBufferLE(secret, 32)).digest()));
48
- coefs.push(coeff);
49
- v.unshift(this.curve.basePointMult(coeff));
50
- }
51
- coefs.push(secret);
52
- const shares = {};
53
- for (let ind = 0; ind < bigIndices.length; ind++) {
54
- const x = bigIndices[ind];
55
- let partial = coefs[0];
56
- for (let other = 1; other < coefs.length; other++) {
57
- partial = this.curve.scalarAdd(coefs[other], this.curve.scalarMult(partial, x));
58
- }
59
- shares[parseInt(x.toString(), 10)] = partial;
60
- }
61
- return { shares, v };
62
- }
63
- /**
64
- * Verify a VSS share.
65
- *
66
- * @param u Secret share received from other party.
67
- * @param v Verification values received from other party.
68
- * @param index Verifier's index.
69
- * @returns True on success; otherwise throws Error.
70
- */
71
- verify(u, v, index) {
72
- if (v.length < 2) {
73
- throw new Error('Threshold cannot be less than two');
74
- }
75
- if (index < 1) {
76
- throw new Error('Invalid value supplied for index');
77
- }
78
- const i = BigInt(index);
79
- let x = v[0];
80
- let t = BigInt(1);
81
- for (const vsj of v.slice(1)) {
82
- t = this.curve.scalarMult(t, i);
83
- const vjt = this.curve.pointMultiply(vsj, t);
84
- x = this.curve.pointAdd(x, vjt);
85
- }
86
- const sigmaG = this.curve.basePointMult(u);
87
- if (x !== sigmaG) {
88
- throw new Error('Could not verify share');
89
- }
90
- return true;
91
- }
92
- /**
93
- * Reconstitute a secret from a dictionary of shares. The number of shares must
94
- * be equal to `t` to reconstitute the original secret.
95
- *
96
- * @param shares dictionary of shares. each key is the free term of the share
97
- * @returns secret
98
- */
99
- combine(shares) {
100
- try {
101
- let s = BigInt(0);
102
- for (const i in shares) {
103
- const yi = shares[i];
104
- const xi = BigInt(i);
105
- let num = BigInt(1);
106
- let denum = BigInt(1);
107
- for (const j in shares) {
108
- const xj = BigInt(j);
109
- if (xi !== xj) {
110
- num = this.curve.scalarMult(num, xj);
111
- }
112
- }
113
- for (const j in shares) {
114
- const xj = BigInt(j);
115
- if (xi !== xj) {
116
- denum = this.curve.scalarMult(denum, this.curve.scalarSub(xj, xi));
117
- }
118
- }
119
- const inverted = this.curve.scalarInvert(denum);
120
- const innerMultiplied = this.curve.scalarMult(num, inverted);
121
- const multiplied = this.curve.scalarMult(innerMultiplied, yi);
122
- s = this.curve.scalarAdd(multiplied, s);
123
- }
124
- return s;
125
- }
126
- catch (error) {
127
- throw new Error('Failed to combine Shamir shares , ' + error);
128
- }
129
- }
130
- }
131
- exports.default = Shamir;
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhbWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL21wYy9zaGFtaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFakMsaUNBQXFFO0FBR3JFLE1BQXFCLE1BQU07SUFHekIsWUFBWSxLQUFZO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxLQUFLLENBQUMsTUFBYyxFQUFFLFNBQWlCLEVBQUUsU0FBaUIsRUFBRSxPQUF1QixFQUFFLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25HLElBQUksVUFBeUIsQ0FBQztRQUM5QixJQUFJLE9BQU8sRUFBRTtZQUNYLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDVCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7aUJBQ3ZEO2dCQUNELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLHVCQUF1QjtZQUN2QixVQUFVLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztpQkFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakM7UUFDRCxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsSUFBSSxTQUFTLEdBQUcsU0FBUyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQztTQUNoRjtRQUVELE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUMzQixNQUFNLENBQUMsR0FBa0IsRUFBRSxDQUFDO1FBQzVCLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxTQUFTLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVDLE1BQU0sS0FBSyxHQUFHLFlBQUssQ0FDakIseUJBQWtCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx1QkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUNoSCxDQUFDO1lBQ0YsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDNUM7UUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5CLE1BQU0sTUFBTSxHQUEyQixFQUFFLENBQUM7UUFDMUMsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDakQsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNqRjtZQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxDQUFTLEVBQUUsQ0FBZ0IsRUFBRSxLQUFhO1FBQy9DLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixLQUFLLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNoQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNqQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLE1BQU0sRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDM0M7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQUMsTUFBOEI7UUFDcEMsSUFBSTtZQUNGLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRTtnQkFDdEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUV0QixLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRTtvQkFDdEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyQixJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7d0JBQ2IsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztxQkFDdEM7aUJBQ0Y7Z0JBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUU7b0JBQ3RCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckIsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO3dCQUNiLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ3BFO2lCQUNGO2dCQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzdELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDOUQsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QztZQUNELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDL0Q7SUFDSCxDQUFDO0NBQ0Y7QUF0SUQseUJBc0lDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY3J5cHRvID0gcmVxdWlyZSgnY3J5cHRvJyk7XG5pbXBvcnQgQ3VydmUgZnJvbSAnLi9jdXJ2ZXMnO1xuaW1wb3J0IHsgYmlnSW50RnJvbUJ1ZmZlckxFLCBiaWdJbnRUb0J1ZmZlckxFLCBjbGFtcCB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBTcGxpdFNlY3JldCB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaGFtaXIge1xuICBjdXJ2ZTogQ3VydmU7XG5cbiAgY29uc3RydWN0b3IoY3VydmU6IEN1cnZlKSB7XG4gICAgdGhpcy5jdXJ2ZSA9IGN1cnZlO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gU2hhbWlyIHNoYXJpbmcgb24gdGhlIHNlY3JldCBgc2VjcmV0YCB0byB0aGUgZGVncmVlIGB0aHJlc2hvbGQgLSAxYCBzcGxpdCBgbnVtU2hhcmVzYFxuICAgKiB3YXlzLiBUaGUgc3BsaXQgc2VjcmV0IHJlcXVpcmVzIGB0aHJlc2hvbGRgIHNoYXJlcyB0byBiZSByZWNvbnN0cnVjdGVkLlxuICAgKlxuICAgKiBAcGFyYW0gc2VjcmV0IHNlY3JldCB0byBzcGxpdFxuICAgKiBAcGFyYW0gdGhyZXNob2xkIHNoYXJlIHRocmVzaG9sZCByZXF1aXJlZCB0byByZWNvbnN0cnVjdCBzZWNyZXRcbiAgICogQHBhcmFtIG51bVNoYXJlcyB0b3RhbCBudW1iZXIgb2Ygc2hhcmVzIHRvIHNwbGl0IHRvIHNwbGl0IHNlY3JldCBpbnRvXG4gICAqIEBwYXJhbSBpbmRpY2VzIG9wdGlvbmFsIGluZGljZXMgd2hpY2ggY2FuIGJlIHVzZWQgd2hpbGUgZ2VuZXJhdGluZyB0aGUgc2hhcmVzXG4gICAqIEBwYXJhbSBzYWx0IG9wdGlvbmFsIHNhbHQgd2hpY2ggY291bGQgYmUgdXNlZCB3aGlsZSBnZW5lcmF0aW5nIHRoZSBzaGFyZXNcbiAgICogQHJldHVybnMgRGljdGlvbmFyeSBjb250YWluaW5nIGBzaGFyZXNgLCBhIGRpY3Rpb25hcnkgd2hlcmUgZWFjaCBrZXkgaXMgYW4gaW50XG4gICAqIGluIHRoZSByYW5nZSAxPD14PD1udW1TaGFyZXMgcmVwcmVzZW50aW5nIHRoYXQgc2hhcmUncyBmcmVlIHRlcm0sIGFuZCBgdmAsIGFuXG4gICAqIGFycmF5IG9mIHByb29mcyB0byBiZSBzaGFyZWQgd2l0aCBhbGwgcGFydGljaXBhbnRzLlxuICAgKi9cbiAgc3BsaXQoc2VjcmV0OiBiaWdpbnQsIHRocmVzaG9sZDogbnVtYmVyLCBudW1TaGFyZXM6IG51bWJlciwgaW5kaWNlcz86IEFycmF5PG51bWJlcj4sIHNhbHQgPSBCaWdJbnQoMCkpOiBTcGxpdFNlY3JldCB7XG4gICAgbGV0IGJpZ0luZGljZXM6IEFycmF5PGJpZ2ludD47XG4gICAgaWYgKGluZGljZXMpIHtcbiAgICAgIGJpZ0luZGljZXMgPSBpbmRpY2VzLm1hcCgoaSkgPT4ge1xuICAgICAgICBpZiAoaSA8IDEpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmFsdWUgc3VwcGxpZWQgZm9yIGluZGljZXMnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gQmlnSW50KGkpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1ha2UgcmFuZ2UoMSwgbiArIDEpXG4gICAgICBiaWdJbmRpY2VzID0gQXJyYXkobnVtU2hhcmVzKVxuICAgICAgICAuZmlsbChudWxsKVxuICAgICAgICAubWFwKChfLCBpKSA9PiBCaWdJbnQoaSArIDEpKTtcbiAgICB9XG4gICAgaWYgKHRocmVzaG9sZCA8IDIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhyZXNob2xkIGNhbm5vdCBiZSBsZXNzIHRoYW4gdHdvJyk7XG4gICAgfVxuXG4gICAgaWYgKHRocmVzaG9sZCA+IG51bVNoYXJlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaHJlc2hvbGQgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB0aGUgdG90YWwgbnVtYmVyIG9mIHNoYXJlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvZWZzOiBiaWdpbnRbXSA9IFtdO1xuICAgIGNvbnN0IHY6IEFycmF5PGJpZ2ludD4gPSBbXTtcbiAgICBmb3IgKGxldCBpbmQgPSAwOyBpbmQgPCB0aHJlc2hvbGQgLSAxOyBpbmQrKykge1xuICAgICAgY29uc3QgY29lZmYgPSBjbGFtcChcbiAgICAgICAgYmlnSW50RnJvbUJ1ZmZlckxFKGNyeXB0by5jcmVhdGVIbWFjKCdzaGEyNTYnLCBpbmQudG9TdHJpbmcoMTApKS51cGRhdGUoYmlnSW50VG9CdWZmZXJMRShzZWNyZXQsIDMyKSkuZGlnZXN0KCkpXG4gICAgICApO1xuICAgICAgY29lZnMucHVzaChjb2VmZik7XG4gICAgICB2LnVuc2hpZnQodGhpcy5jdXJ2ZS5iYXNlUG9pbnRNdWx0KGNvZWZmKSk7XG4gICAgfVxuICAgIGNvZWZzLnB1c2goc2VjcmV0KTtcblxuICAgIGNvbnN0IHNoYXJlczogUmVjb3JkPG51bWJlciwgYmlnaW50PiA9IHt9O1xuICAgIGZvciAobGV0IGluZCA9IDA7IGluZCA8IGJpZ0luZGljZXMubGVuZ3RoOyBpbmQrKykge1xuICAgICAgY29uc3QgeCA9IGJpZ0luZGljZXNbaW5kXTtcbiAgICAgIGxldCBwYXJ0aWFsID0gY29lZnNbMF07XG4gICAgICBmb3IgKGxldCBvdGhlciA9IDE7IG90aGVyIDwgY29lZnMubGVuZ3RoOyBvdGhlcisrKSB7XG4gICAgICAgIHBhcnRpYWwgPSB0aGlzLmN1cnZlLnNjYWxhckFkZChjb2Vmc1tvdGhlcl0sIHRoaXMuY3VydmUuc2NhbGFyTXVsdChwYXJ0aWFsLCB4KSk7XG4gICAgICB9XG4gICAgICBzaGFyZXNbcGFyc2VJbnQoeC50b1N0cmluZygpLCAxMCldID0gcGFydGlhbDtcbiAgICB9XG4gICAgcmV0dXJuIHsgc2hhcmVzLCB2IH07XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZ5IGEgVlNTIHNoYXJlLlxuICAgKlxuICAgKiBAcGFyYW0gdSBTZWNyZXQgc2hhcmUgcmVjZWl2ZWQgZnJvbSBvdGhlciBwYXJ0eS5cbiAgICogQHBhcmFtIHYgVmVyaWZpY2F0aW9uIHZhbHVlcyByZWNlaXZlZCBmcm9tIG90aGVyIHBhcnR5LlxuICAgKiBAcGFyYW0gaW5kZXggVmVyaWZpZXIncyBpbmRleC5cbiAgICogQHJldHVybnMgVHJ1ZSBvbiBzdWNjZXNzOyBvdGhlcndpc2UgdGhyb3dzIEVycm9yLlxuICAgKi9cbiAgdmVyaWZ5KHU6IGJpZ2ludCwgdjogQXJyYXk8YmlnaW50PiwgaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICh2Lmxlbmd0aCA8IDIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhyZXNob2xkIGNhbm5vdCBiZSBsZXNzIHRoYW4gdHdvJyk7XG4gICAgfVxuICAgIGlmIChpbmRleCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB2YWx1ZSBzdXBwbGllZCBmb3IgaW5kZXgnKTtcbiAgICB9XG4gICAgY29uc3QgaSA9IEJpZ0ludChpbmRleCk7XG4gICAgbGV0IHggPSB2WzBdO1xuICAgIGxldCB0ID0gQmlnSW50KDEpO1xuICAgIGZvciAoY29uc3QgdnNqIG9mIHYuc2xpY2UoMSkpIHtcbiAgICAgIHQgPSB0aGlzLmN1cnZlLnNjYWxhck11bHQodCwgaSk7XG4gICAgICBjb25zdCB2anQgPSB0aGlzLmN1cnZlLnBvaW50TXVsdGlwbHkodnNqLCB0KTtcbiAgICAgIHggPSB0aGlzLmN1cnZlLnBvaW50QWRkKHgsIHZqdCk7XG4gICAgfVxuICAgIGNvbnN0IHNpZ21hRyA9IHRoaXMuY3VydmUuYmFzZVBvaW50TXVsdCh1KTtcbiAgICBpZiAoeCAhPT0gc2lnbWFHKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCB2ZXJpZnkgc2hhcmUnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogUmVjb25zdGl0dXRlIGEgc2VjcmV0IGZyb20gYSBkaWN0aW9uYXJ5IG9mIHNoYXJlcy4gVGhlIG51bWJlciBvZiBzaGFyZXMgbXVzdFxuICAgKiBiZSBlcXVhbCB0byBgdGAgdG8gcmVjb25zdGl0dXRlIHRoZSBvcmlnaW5hbCBzZWNyZXQuXG4gICAqXG4gICAqIEBwYXJhbSBzaGFyZXMgZGljdGlvbmFyeSBvZiBzaGFyZXMuIGVhY2gga2V5IGlzIHRoZSBmcmVlIHRlcm0gb2YgdGhlIHNoYXJlXG4gICAqIEByZXR1cm5zIHNlY3JldFxuICAgKi9cbiAgY29tYmluZShzaGFyZXM6IFJlY29yZDxudW1iZXIsIGJpZ2ludD4pOiBiaWdpbnQge1xuICAgIHRyeSB7XG4gICAgICBsZXQgcyA9IEJpZ0ludCgwKTtcbiAgICAgIGZvciAoY29uc3QgaSBpbiBzaGFyZXMpIHtcbiAgICAgICAgY29uc3QgeWkgPSBzaGFyZXNbaV07XG4gICAgICAgIGNvbnN0IHhpID0gQmlnSW50KGkpO1xuICAgICAgICBsZXQgbnVtID0gQmlnSW50KDEpO1xuICAgICAgICBsZXQgZGVudW0gPSBCaWdJbnQoMSk7XG5cbiAgICAgICAgZm9yIChjb25zdCBqIGluIHNoYXJlcykge1xuICAgICAgICAgIGNvbnN0IHhqID0gQmlnSW50KGopO1xuICAgICAgICAgIGlmICh4aSAhPT0geGopIHtcbiAgICAgICAgICAgIG51bSA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdChudW0sIHhqKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBqIGluIHNoYXJlcykge1xuICAgICAgICAgIGNvbnN0IHhqID0gQmlnSW50KGopO1xuICAgICAgICAgIGlmICh4aSAhPT0geGopIHtcbiAgICAgICAgICAgIGRlbnVtID0gdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KGRlbnVtLCB0aGlzLmN1cnZlLnNjYWxhclN1Yih4aiwgeGkpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW52ZXJ0ZWQgPSB0aGlzLmN1cnZlLnNjYWxhckludmVydChkZW51bSk7XG4gICAgICAgIGNvbnN0IGlubmVyTXVsdGlwbGllZCA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdChudW0sIGludmVydGVkKTtcbiAgICAgICAgY29uc3QgbXVsdGlwbGllZCA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdChpbm5lck11bHRpcGxpZWQsIHlpKTtcbiAgICAgICAgcyA9IHRoaXMuY3VydmUuc2NhbGFyQWRkKG11bHRpcGxpZWQsIHMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHM7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNvbWJpbmUgU2hhbWlyIHNoYXJlcyAsICcgKyBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
3
+ const sdk_lib_mpc_1 = require("@bitgo/sdk-lib-mpc");
4
+ /**
5
+ * @deprecated use Shamir from sdk-lib-mpc instead
6
+ */
7
+ exports.default = sdk_lib_mpc_1.Shamir;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhbWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL21wYy9zaGFtaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxvREFBNEM7QUFDNUM7O0dBRUc7QUFDSCxrQkFBZSxvQkFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2hhbWlyIH0gZnJvbSAnQGJpdGdvL3Nkay1saWItbXBjJztcbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIFNoYW1pciBmcm9tIHNkay1saWItbXBjIGluc3RlYWRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgU2hhbWlyO1xuIl19
@@ -1,9 +1,8 @@
1
1
  /// <reference types="node" />
2
- import HDTree from '../../hdTree';
3
2
  import { Hash } from 'crypto';
4
3
  import { Secp256k1Curve } from '../../curves';
5
4
  import Shamir from '../../shamir';
6
- import { EcdsaTypes } from '@bitgo/sdk-lib-mpc';
5
+ import { EcdsaTypes, HDTree } from '@bitgo/sdk-lib-mpc';
7
6
  import { DShare, KeyCombined, KeyShare, NShare, OShare, PShare, Signature, SignCombine, SignCombineRT, SignConvert, SignConvertRT, SignConvertStep1, SignConvertStep1Response, SignConvertStep2, SignConvertStep2Response, SignConvertStep3, SignConvertStep3Response, SignShareRT, SShare, SubkeyShare, XShareWithChallenges, YShareWithChallenges } from './types';
8
7
  /**
9
8
  * ECDSA TSS implementation supporting 2:n Threshold
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../../src/account-lib/mpc/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../../src/account-lib/mpc/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"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"}