@bitgo/sdk-core 2.0.0-rc.6 → 2.0.0-rc.9

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 (64) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/src/account-lib/baseCoin/enum.d.ts +2 -3
  3. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/enum.js +1 -3
  5. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +5 -5
  6. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  7. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +9 -10
  8. package/dist/src/account-lib/mpc/index.d.ts +2 -1
  9. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  10. package/dist/src/account-lib/mpc/index.js +7 -2
  11. package/dist/src/account-lib/mpc/shamir.d.ts +3 -2
  12. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
  13. package/dist/src/account-lib/mpc/shamir.js +41 -27
  14. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  15. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +4 -3
  16. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  17. package/dist/src/account-lib/util/crypto.js +9 -10
  18. package/dist/src/bitgo/baseCoin/baseCoin.js +4 -4
  19. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +3 -2
  20. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  21. package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
  22. package/dist/src/bitgo/bip32util.d.ts +3 -3
  23. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  24. package/dist/src/bitgo/bip32util.js +1 -1
  25. package/dist/src/bitgo/bitcoin.d.ts +4 -3
  26. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  27. package/dist/src/bitgo/bitcoin.js +1 -1
  28. package/dist/src/bitgo/config.d.ts +0 -6
  29. package/dist/src/bitgo/config.d.ts.map +1 -1
  30. package/dist/src/bitgo/ecdh.d.ts +3 -3
  31. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  32. package/dist/src/bitgo/ecdh.js +1 -1
  33. package/dist/src/bitgo/environments.d.ts +1 -0
  34. package/dist/src/bitgo/environments.d.ts.map +1 -1
  35. package/dist/src/bitgo/environments.js +3 -1
  36. package/dist/src/bitgo/legacyBitcoin.d.ts +4 -3
  37. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  38. package/dist/src/bitgo/legacyBitcoin.js +4 -4
  39. package/dist/src/bitgo/lightning/iLightning.d.ts +16 -0
  40. package/dist/src/bitgo/lightning/iLightning.d.ts.map +1 -1
  41. package/dist/src/bitgo/lightning/iLightning.js +13 -2
  42. package/dist/src/bitgo/lightning/lightning.d.ts +2 -1
  43. package/dist/src/bitgo/lightning/lightning.d.ts.map +1 -1
  44. package/dist/src/bitgo/lightning/lightning.js +13 -1
  45. package/dist/src/bitgo/recovery/initiate.d.ts +3 -3
  46. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  47. package/dist/src/bitgo/recovery/initiate.js +5 -24
  48. package/dist/src/bitgo/staking/iStakingWallet.d.ts +32 -0
  49. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  50. package/dist/src/bitgo/staking/iStakingWallet.js +10 -1
  51. package/dist/src/bitgo/staking/stakingWallet.d.ts +9 -1
  52. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  53. package/dist/src/bitgo/staking/stakingWallet.js +19 -4
  54. package/dist/src/bitgo/utils/opengpgUtils.d.ts +33 -0
  55. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  56. package/dist/src/bitgo/utils/opengpgUtils.js +105 -2
  57. package/dist/src/bitgo/utils/util.js +4 -4
  58. package/dist/src/bitgo/wallet/wallet.d.ts +1 -2
  59. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  60. package/dist/src/bitgo/wallet/wallet.js +22 -8
  61. package/dist/src/bitgo/wallet/wallets.js +3 -3
  62. package/dist/src/coins/ofc.js +4 -23
  63. package/dist/tsconfig.tsbuildinfo +506 -439
  64. package/package.json +6 -6
package/CHANGELOG.md CHANGED
@@ -3,6 +3,63 @@
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
+ # [2.0.0-rc.9](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@2.0.0-rc.8...@bitgo/sdk-core@2.0.0-rc.9) (2022-08-25)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * allow token enablement for cold wallet ([557e79b](https://github.com/BitGo/BitGoJS/commit/557e79bb543dde8cbddd89ec13f424e9827aa4c3))
12
+
13
+
14
+ ### Features
15
+
16
+ * **sdk-core:** add support for delegation in staking flow ([0c91edb](https://github.com/BitGo/BitGoJS/commit/0c91edb8ef4c76b577726abb3f4899f318f8ca17))
17
+
18
+
19
+
20
+
21
+
22
+ # [2.0.0-rc.8](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@2.0.0-rc.7...@bitgo/sdk-core@2.0.0-rc.8) (2022-08-23)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **core:** fix bip32/ecpair, API vs Interface ([bec9c1e](https://github.com/BitGo/BitGoJS/commit/bec9c1e6ff0c23108dc27e171abdd3e4d2cfdfb1))
28
+ * **sdk-core:** eth supports tss ([c0ec96f](https://github.com/BitGo/BitGoJS/commit/c0ec96fac7c5b4131d4f32d09463a78c0e1f8900))
29
+
30
+
31
+ ### Features
32
+
33
+ * **sdk-coin-ethw:** add ethw sdk module ([63e9850](https://github.com/BitGo/BitGoJS/commit/63e9850c27039d1b614d14426a1d9b090d454b76))
34
+ * **sdk-core:** added verification of private share proofs ([66d6c63](https://github.com/BitGo/BitGoJS/commit/66d6c63bd102da49727e3bdb275cfa6231859ce5))
35
+ * update to work with bitcoinjs-lib@6 ([1950934](https://github.com/BitGo/BitGoJS/commit/1950934d9426385ee12b204cc7456327e4480618))
36
+
37
+
38
+
39
+
40
+
41
+ # [2.0.0-rc.7](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@2.0.0-rc.6...@bitgo/sdk-core@2.0.0-rc.7) (2022-08-22)
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * **account-lib:** shamir secret indices validity ([4e22783](https://github.com/BitGo/BitGoJS/commit/4e227839d5c1fb84a583f17d8754b46324f4eef9))
47
+
48
+
49
+ ### Features
50
+
51
+ * **account-lib:** custom salt shamir share ([fa34652](https://github.com/BitGo/BitGoJS/commit/fa346529b5dc9897b6bbf6fb4a05ac77f2f05b2d))
52
+ * **sdk-core:** add getInvoices to lightning object ([232bea3](https://github.com/BitGo/BitGoJS/commit/232bea30d95a4b6f9554cc0416c54f0f73a979ad))
53
+
54
+
55
+ ### Reverts
56
+
57
+ * Revert "feat: add keypair to acala module" ([ac4f700](https://github.com/BitGo/BitGoJS/commit/ac4f7001f7e77e6bfce4bb49d7fe4307d51c70b7))
58
+
59
+
60
+
61
+
62
+
6
63
  # [2.0.0-rc.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@2.0.0-rc.5...@bitgo/sdk-core@2.0.0-rc.6) (2022-08-17)
7
64
 
8
65
 
@@ -36,10 +36,9 @@ export declare enum AddressFormat {
36
36
  }
37
37
  export declare enum DotAddressFormat {
38
38
  substrate = 42,
39
- polkadot = 0,
40
- acala = 10
39
+ polkadot = 0
41
40
  }
42
- export declare type DotAssetTypes = 'dot' | 'tdot' | 'aca' | 'taca';
41
+ export declare type DotAssetTypes = 'dot' | 'tdot';
43
42
  export declare enum StakingOperationTypes {
44
43
  LOCK = 0,
45
44
  VOTE = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/enum.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,IAAA;IAEJ,UAAU,IAAA;IAEV,WAAW,IAAA;IAEX,oBAAoB,IAAA;IAEpB,qBAAqB,IAAA;IAErB,oCAAoC,IAAA;IAEpC,WAAW,IAAA;IAEX,UAAU,IAAA;IAEV,aAAa,IAAA;IAEb,aAAa,IAAA;IAEb,WAAW,KAAA;IAEX,WAAW,KAAA;IAEX,aAAa,KAAA;IAEb,eAAe,KAAA;IAEf,aAAa,KAAA;IAEb,eAAe,KAAA;IAEf,YAAY,KAAA;IAEZ,iBAAiB,KAAA;IAEjB,KAAK,KAAA;IAEL,YAAY,KAAA;IAEZ,YAAY,KAAA;IAEZ,YAAY,KAAA;CACb;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAID,oBAAY,gBAAgB;IAE1B,SAAS,KAAK;IAEd,QAAQ,IAAI;IAEZ,KAAK,KAAK;CACX;AAED,oBAAY,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAE5D,oBAAY,qBAAqB;IAC/B,IAAI,IAAA;IACJ,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,MAAM,IAAA;IACN,QAAQ,IAAA;CACT"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/enum.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,IAAA;IAEJ,UAAU,IAAA;IAEV,WAAW,IAAA;IAEX,oBAAoB,IAAA;IAEpB,qBAAqB,IAAA;IAErB,oCAAoC,IAAA;IAEpC,WAAW,IAAA;IAEX,UAAU,IAAA;IAEV,aAAa,IAAA;IAEb,aAAa,IAAA;IAEb,WAAW,KAAA;IAEX,WAAW,KAAA;IAEX,aAAa,KAAA;IAEb,eAAe,KAAA;IAEf,aAAa,KAAA;IAEb,eAAe,KAAA;IAEf,YAAY,KAAA;IAEZ,iBAAiB,KAAA;IAEjB,KAAK,KAAA;IAEL,YAAY,KAAA;IAEZ,YAAY,KAAA;IAEZ,YAAY,KAAA;CACb;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAID,oBAAY,gBAAgB;IAE1B,SAAS,KAAK;IAEd,QAAQ,IAAI;CACb;AAED,oBAAY,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,oBAAY,qBAAqB;IAC/B,IAAI,IAAA;IACJ,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,MAAM,IAAA;IACN,QAAQ,IAAA;CACT"}
@@ -68,8 +68,6 @@ var DotAddressFormat;
68
68
  DotAddressFormat[DotAddressFormat["substrate"] = 42] = "substrate";
69
69
  // format for polkadot mainnet addresses
70
70
  DotAddressFormat[DotAddressFormat["polkadot"] = 0] = "polkadot";
71
- // format for acala mainnet addresses
72
- DotAddressFormat[DotAddressFormat["acala"] = 10] = "acala";
73
71
  })(DotAddressFormat = exports.DotAddressFormat || (exports.DotAddressFormat = {}));
74
72
  var StakingOperationTypes;
75
73
  (function (StakingOperationTypes) {
@@ -80,4 +78,4 @@ var StakingOperationTypes;
80
78
  StakingOperationTypes[StakingOperationTypes["UNLOCK"] = 4] = "UNLOCK";
81
79
  StakingOperationTypes[StakingOperationTypes["WITHDRAW"] = 5] = "WITHDRAW";
82
80
  })(StakingOperationTypes = exports.StakingOperationTypes || (exports.StakingOperationTypes = {}));
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsSUFBWSxlQTRDWDtBQTVDRCxXQUFZLGVBQWU7SUFDekIscURBQUksQ0FBQTtJQUNKLCtCQUErQjtJQUMvQixpRUFBVSxDQUFBO0lBQ1YsZ0NBQWdDO0lBQ2hDLG1FQUFXLENBQUE7SUFDWCxvRUFBb0U7SUFDcEUscUZBQW9CLENBQUE7SUFDcEIscUVBQXFFO0lBQ3JFLHVGQUFxQixDQUFBO0lBQ3JCLDBDQUEwQztJQUMxQyxxSEFBb0MsQ0FBQTtJQUNwQyw0REFBNEQ7SUFDNUQsbUVBQVcsQ0FBQTtJQUNYLHdFQUF3RTtJQUN4RSxpRUFBVSxDQUFBO0lBQ1Ysb0NBQW9DO0lBQ3BDLHVFQUFhLENBQUE7SUFDYiw4RUFBOEU7SUFDOUUsdUVBQWEsQ0FBQTtJQUNiLE9BQU87SUFDUCxvRUFBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG9FQUFXLENBQUE7SUFDWCxTQUFTO0lBQ1Qsd0VBQWEsQ0FBQTtJQUNiLFdBQVc7SUFDWCw0RUFBZSxDQUFBO0lBQ2YsU0FBUztJQUNULHdFQUFhLENBQUE7SUFDYixXQUFXO0lBQ1gsNEVBQWUsQ0FBQTtJQUNmLDhCQUE4QjtJQUM5QixzRUFBWSxDQUFBO0lBQ1osYUFBYTtJQUNiLGdGQUFpQixDQUFBO0lBQ2pCLG1FQUFtRTtJQUNuRSx3REFBSyxDQUFBO0lBQ0wsNEJBQTRCO0lBQzVCLHNFQUFZLENBQUE7SUFDWiwyQkFBMkI7SUFDM0Isc0VBQVksQ0FBQTtJQUNaLDJCQUEyQjtJQUMzQixzRUFBWSxDQUFBO0FBQ2QsQ0FBQyxFQTVDVyxlQUFlLEdBQWYsdUJBQWUsS0FBZix1QkFBZSxRQTRDMUI7QUFFRDs7R0FFRztBQUNILElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUN2Qiw0QkFBVyxDQUFBO0lBQ1gsa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsb0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBS3hCO0FBRUQseURBQXlEO0FBQ3pELHVEQUF1RDtBQUN2RCxJQUFZLGdCQU9YO0FBUEQsV0FBWSxnQkFBZ0I7SUFDMUIsbURBQW1EO0lBQ25ELGtFQUFjLENBQUE7SUFDZCx3Q0FBd0M7SUFDeEMsK0RBQVksQ0FBQTtJQUNaLHFDQUFxQztJQUNyQywwREFBVSxDQUFBO0FBQ1osQ0FBQyxFQVBXLGdCQUFnQixHQUFoQix3QkFBZ0IsS0FBaEIsd0JBQWdCLFFBTzNCO0FBSUQsSUFBWSxxQkFPWDtBQVBELFdBQVkscUJBQXFCO0lBQy9CLGlFQUFJLENBQUE7SUFDSixpRUFBSSxDQUFBO0lBQ0oscUVBQU0sQ0FBQTtJQUNOLHlFQUFRLENBQUE7SUFDUixxRUFBTSxDQUFBO0lBQ04seUVBQVEsQ0FBQTtBQUNWLENBQUMsRUFQVyxxQkFBcUIsR0FBckIsNkJBQXFCLEtBQXJCLDZCQUFxQixRQU9oQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50ZXJuYWwgbWV0YWRhdGEuIERlZmluZXMgdGhlIHR5cGUgb2YgdHJhbnNhY3Rpb24uXG4gKi9cbmV4cG9ydCBlbnVtIFRyYW5zYWN0aW9uVHlwZSB7XG4gIFNlbmQsXG4gIC8vIFNlbmQgRVJDNzIxIGNvbXBsaWFudCB0b2tlbnNcbiAgU2VuZEVSQzcyMSxcbiAgLy8gU2VuZCBFUkMxMTU1IGNvbXBsaWFudCB0b2tlbnNcbiAgU2VuZEVSQzExNTUsXG4gIC8vIEluaXRpYWxpemUgYSB3YWxsZXQgb24tY2hhaW4gKGUuZy4gTXVsdGktc2lnIGNvbnRyYWN0IGRlcGxveW1lbnQpXG4gIFdhbGxldEluaXRpYWxpemF0aW9uLFxuICAvLyBJbml0aWFsaXplIGFuIGFkZHJlc3Mgb24tY2hhaW4oZS5nLiBGb3J3YXJkZXIgY29udHJhY3QgZGVwbG95bWVudClcbiAgQWRkcmVzc0luaXRpYWxpemF0aW9uLFxuICAvLyBJbml0aWFsaXplZCBhbiBhc3NvY2lhdGVkIHRva2VuIGFjY291bnRcbiAgQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uLFxuICAvLyBGbHVzaCB0b2tlbnMgZnJvbSBhIGZvcndhcmRlciBhZGRyZXNzIHRvIGl0cyBiYXNlIGFkZHJlc3NcbiAgRmx1c2hUb2tlbnMsXG4gIC8vIEZsdXNoIG5hdGl2ZSBjb2lucyAoZWcuIEVUSCkgZnJvbSBhIGZvcndhcmRlciBhZGRyZXNzIHRvIGJhc2UgYWRkcmVzc1xuICBGbHVzaENvaW5zLFxuICAvLyBTZW5kIGEgcmF3IHNpbmdsZS1zaWcgdHJhbnNhY3Rpb25cbiAgU2luZ2xlU2lnU2VuZCxcbiAgLy8gVXBkYXRlIGFuIGFjY291bnQgb24tY2hhaW4gKGUuZy4gUHVibGljIGtleSByZXZlbGF0aW9uIG9wZXJhdGlvbiBmb3IgVGV6b3MpXG4gIEFjY291bnRVcGRhdGUsXG4gIC8vIExvY2tcbiAgU3Rha2luZ0xvY2ssXG4gIC8vIFZvdGVcbiAgU3Rha2luZ1ZvdGUsXG4gIC8vIFVudm90ZVxuICBTdGFraW5nVW52b3RlLFxuICAvLyBBY3RpdmF0ZVxuICBTdGFraW5nQWN0aXZhdGUsXG4gIC8vIFVubG9ja1xuICBTdGFraW5nVW5sb2NrLFxuICAvLyBXaXRoZHJhd1xuICBTdGFraW5nV2l0aGRyYXcsXG4gIC8vIEhhbmRsZSBzbWFydCBjb250cmFjdCBjYWxsc1xuICBDb250cmFjdENhbGwsXG4gIC8vIERlYWN0aXZhdGVcbiAgU3Rha2luZ0RlYWN0aXZhdGUsXG4gIC8vIEJhdGNoIG9mIG11bHRpcGxlIHRyYW5zYWN0aW9ucyBicm9hZGNhc3QgYXMgYSBzaW5nbGUgdHJhbnNhY3Rpb25cbiAgQmF0Y2gsXG4gIC8vIENsYWltIHRoZSBzdGFraW5nIHJld2FyZHNcbiAgU3Rha2luZ0NsYWltLFxuICAvLyBBZGQgZGVsZWdhdG9yIHRvIHAtY2hhaW5cbiAgYWRkRGVsZWdhdG9yLFxuICAvLyBBZGQgdmFsaWRhdG9yIHRvIHAtY2hhaW5cbiAgYWRkVmFsaWRhdG9yLFxufVxuXG4vKipcbiAqIEdlbmVyaWMgbGlzdCBvZiBlbmNvZGluZyBmb3JtYXRzLiBDYW4gYmUgdXNlZCBhcyBhcmd1bWVudHMgZm9yIG1ldGhvZHMgaW5wdXRzLlxuICovXG5leHBvcnQgZW51bSBBZGRyZXNzRm9ybWF0IHtcbiAgaGV4ID0gJ2hleCcsXG4gIGJhc2U1OCA9ICdiYXNlNTgnLFxuICBtYWlubmV0ID0gJ21haW5uZXQnLFxuICB0ZXN0bmV0ID0gJ3Rlc3RuZXQnLFxufVxuXG4vLyBUT0RPKCk6IGNyZWF0ZSB1bmlvbiB0eXBlIG9mIGFsbCBhZGRyZXNzIGZvcm1hdHMgZW51bXNcbi8vIGxpc3Qgb2Ygc3M1OCBmb3JtYXQgZW5jb2RpbmcgdHlwZXMgZm9yIERvdCBlY29zeXN0ZW1cbmV4cG9ydCBlbnVtIERvdEFkZHJlc3NGb3JtYXQge1xuICAvLyBmb3JtYXQgZm9yIHdlc3RlbmQgKGdlbmVyaWMgc3Vic3RyYXRlKSBhZGRyZXNzZXNcbiAgc3Vic3RyYXRlID0gNDIsXG4gIC8vIGZvcm1hdCBmb3IgcG9sa2Fkb3QgbWFpbm5ldCBhZGRyZXNzZXNcbiAgcG9sa2Fkb3QgPSAwLFxuICAvLyBmb3JtYXQgZm9yIGFjYWxhIG1haW5uZXQgYWRkcmVzc2VzXG4gIGFjYWxhID0gMTAsXG59XG5cbmV4cG9ydCB0eXBlIERvdEFzc2V0VHlwZXMgPSAnZG90JyB8ICd0ZG90JyB8ICdhY2EnIHwgJ3RhY2EnO1xuXG5leHBvcnQgZW51bSBTdGFraW5nT3BlcmF0aW9uVHlwZXMge1xuICBMT0NLLFxuICBWT1RFLFxuICBVTlZPVEUsXG4gIEFDVElWQVRFLFxuICBVTkxPQ0ssXG4gIFdJVEhEUkFXLFxufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsSUFBWSxlQTRDWDtBQTVDRCxXQUFZLGVBQWU7SUFDekIscURBQUksQ0FBQTtJQUNKLCtCQUErQjtJQUMvQixpRUFBVSxDQUFBO0lBQ1YsZ0NBQWdDO0lBQ2hDLG1FQUFXLENBQUE7SUFDWCxvRUFBb0U7SUFDcEUscUZBQW9CLENBQUE7SUFDcEIscUVBQXFFO0lBQ3JFLHVGQUFxQixDQUFBO0lBQ3JCLDBDQUEwQztJQUMxQyxxSEFBb0MsQ0FBQTtJQUNwQyw0REFBNEQ7SUFDNUQsbUVBQVcsQ0FBQTtJQUNYLHdFQUF3RTtJQUN4RSxpRUFBVSxDQUFBO0lBQ1Ysb0NBQW9DO0lBQ3BDLHVFQUFhLENBQUE7SUFDYiw4RUFBOEU7SUFDOUUsdUVBQWEsQ0FBQTtJQUNiLE9BQU87SUFDUCxvRUFBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG9FQUFXLENBQUE7SUFDWCxTQUFTO0lBQ1Qsd0VBQWEsQ0FBQTtJQUNiLFdBQVc7SUFDWCw0RUFBZSxDQUFBO0lBQ2YsU0FBUztJQUNULHdFQUFhLENBQUE7SUFDYixXQUFXO0lBQ1gsNEVBQWUsQ0FBQTtJQUNmLDhCQUE4QjtJQUM5QixzRUFBWSxDQUFBO0lBQ1osYUFBYTtJQUNiLGdGQUFpQixDQUFBO0lBQ2pCLG1FQUFtRTtJQUNuRSx3REFBSyxDQUFBO0lBQ0wsNEJBQTRCO0lBQzVCLHNFQUFZLENBQUE7SUFDWiwyQkFBMkI7SUFDM0Isc0VBQVksQ0FBQTtJQUNaLDJCQUEyQjtJQUMzQixzRUFBWSxDQUFBO0FBQ2QsQ0FBQyxFQTVDVyxlQUFlLEdBQWYsdUJBQWUsS0FBZix1QkFBZSxRQTRDMUI7QUFFRDs7R0FFRztBQUNILElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUN2Qiw0QkFBVyxDQUFBO0lBQ1gsa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsb0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBS3hCO0FBRUQseURBQXlEO0FBQ3pELHVEQUF1RDtBQUN2RCxJQUFZLGdCQUtYO0FBTEQsV0FBWSxnQkFBZ0I7SUFDMUIsbURBQW1EO0lBQ25ELGtFQUFjLENBQUE7SUFDZCx3Q0FBd0M7SUFDeEMsK0RBQVksQ0FBQTtBQUNkLENBQUMsRUFMVyxnQkFBZ0IsR0FBaEIsd0JBQWdCLEtBQWhCLHdCQUFnQixRQUszQjtBQUlELElBQVkscUJBT1g7QUFQRCxXQUFZLHFCQUFxQjtJQUMvQixpRUFBSSxDQUFBO0lBQ0osaUVBQUksQ0FBQTtJQUNKLHFFQUFNLENBQUE7SUFDTix5RUFBUSxDQUFBO0lBQ1IscUVBQU0sQ0FBQTtJQUNOLHlFQUFRLENBQUE7QUFDVixDQUFDLEVBUFcscUJBQXFCLEdBQXJCLDZCQUFxQixLQUFyQiw2QkFBcUIsUUFPaEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVybmFsIG1ldGFkYXRhLiBEZWZpbmVzIHRoZSB0eXBlIG9mIHRyYW5zYWN0aW9uLlxuICovXG5leHBvcnQgZW51bSBUcmFuc2FjdGlvblR5cGUge1xuICBTZW5kLFxuICAvLyBTZW5kIEVSQzcyMSBjb21wbGlhbnQgdG9rZW5zXG4gIFNlbmRFUkM3MjEsXG4gIC8vIFNlbmQgRVJDMTE1NSBjb21wbGlhbnQgdG9rZW5zXG4gIFNlbmRFUkMxMTU1LFxuICAvLyBJbml0aWFsaXplIGEgd2FsbGV0IG9uLWNoYWluIChlLmcuIE11bHRpLXNpZyBjb250cmFjdCBkZXBsb3ltZW50KVxuICBXYWxsZXRJbml0aWFsaXphdGlvbixcbiAgLy8gSW5pdGlhbGl6ZSBhbiBhZGRyZXNzIG9uLWNoYWluKGUuZy4gRm9yd2FyZGVyIGNvbnRyYWN0IGRlcGxveW1lbnQpXG4gIEFkZHJlc3NJbml0aWFsaXphdGlvbixcbiAgLy8gSW5pdGlhbGl6ZWQgYW4gYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50XG4gIEFzc29jaWF0ZWRUb2tlbkFjY291bnRJbml0aWFsaXphdGlvbixcbiAgLy8gRmx1c2ggdG9rZW5zIGZyb20gYSBmb3J3YXJkZXIgYWRkcmVzcyB0byBpdHMgYmFzZSBhZGRyZXNzXG4gIEZsdXNoVG9rZW5zLFxuICAvLyBGbHVzaCBuYXRpdmUgY29pbnMgKGVnLiBFVEgpIGZyb20gYSBmb3J3YXJkZXIgYWRkcmVzcyB0byBiYXNlIGFkZHJlc3NcbiAgRmx1c2hDb2lucyxcbiAgLy8gU2VuZCBhIHJhdyBzaW5nbGUtc2lnIHRyYW5zYWN0aW9uXG4gIFNpbmdsZVNpZ1NlbmQsXG4gIC8vIFVwZGF0ZSBhbiBhY2NvdW50IG9uLWNoYWluIChlLmcuIFB1YmxpYyBrZXkgcmV2ZWxhdGlvbiBvcGVyYXRpb24gZm9yIFRlem9zKVxuICBBY2NvdW50VXBkYXRlLFxuICAvLyBMb2NrXG4gIFN0YWtpbmdMb2NrLFxuICAvLyBWb3RlXG4gIFN0YWtpbmdWb3RlLFxuICAvLyBVbnZvdGVcbiAgU3Rha2luZ1Vudm90ZSxcbiAgLy8gQWN0aXZhdGVcbiAgU3Rha2luZ0FjdGl2YXRlLFxuICAvLyBVbmxvY2tcbiAgU3Rha2luZ1VubG9jayxcbiAgLy8gV2l0aGRyYXdcbiAgU3Rha2luZ1dpdGhkcmF3LFxuICAvLyBIYW5kbGUgc21hcnQgY29udHJhY3QgY2FsbHNcbiAgQ29udHJhY3RDYWxsLFxuICAvLyBEZWFjdGl2YXRlXG4gIFN0YWtpbmdEZWFjdGl2YXRlLFxuICAvLyBCYXRjaCBvZiBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgYnJvYWRjYXN0IGFzIGEgc2luZ2xlIHRyYW5zYWN0aW9uXG4gIEJhdGNoLFxuICAvLyBDbGFpbSB0aGUgc3Rha2luZyByZXdhcmRzXG4gIFN0YWtpbmdDbGFpbSxcbiAgLy8gQWRkIGRlbGVnYXRvciB0byBwLWNoYWluXG4gIGFkZERlbGVnYXRvcixcbiAgLy8gQWRkIHZhbGlkYXRvciB0byBwLWNoYWluXG4gIGFkZFZhbGlkYXRvcixcbn1cblxuLyoqXG4gKiBHZW5lcmljIGxpc3Qgb2YgZW5jb2RpbmcgZm9ybWF0cy4gQ2FuIGJlIHVzZWQgYXMgYXJndW1lbnRzIGZvciBtZXRob2RzIGlucHV0cy5cbiAqL1xuZXhwb3J0IGVudW0gQWRkcmVzc0Zvcm1hdCB7XG4gIGhleCA9ICdoZXgnLFxuICBiYXNlNTggPSAnYmFzZTU4JyxcbiAgbWFpbm5ldCA9ICdtYWlubmV0JyxcbiAgdGVzdG5ldCA9ICd0ZXN0bmV0Jyxcbn1cblxuLy8gVE9ETygpOiBjcmVhdGUgdW5pb24gdHlwZSBvZiBhbGwgYWRkcmVzcyBmb3JtYXRzIGVudW1zXG4vLyBsaXN0IG9mIHNzNTggZm9ybWF0IGVuY29kaW5nIHR5cGVzIGZvciBEb3QgZWNvc3lzdGVtXG5leHBvcnQgZW51bSBEb3RBZGRyZXNzRm9ybWF0IHtcbiAgLy8gZm9ybWF0IGZvciB3ZXN0ZW5kIChnZW5lcmljIHN1YnN0cmF0ZSkgYWRkcmVzc2VzXG4gIHN1YnN0cmF0ZSA9IDQyLFxuICAvLyBmb3JtYXQgZm9yIHBvbGthZG90IG1haW5uZXQgYWRkcmVzc2VzXG4gIHBvbGthZG90ID0gMCxcbn1cblxuZXhwb3J0IHR5cGUgRG90QXNzZXRUeXBlcyA9ICdkb3QnIHwgJ3Rkb3QnO1xuXG5leHBvcnQgZW51bSBTdGFraW5nT3BlcmF0aW9uVHlwZXMge1xuICBMT0NLLFxuICBWT1RFLFxuICBVTlZPVEUsXG4gIEFDVElWQVRFLFxuICBVTkxPQ0ssXG4gIFdJVEhEUkFXLFxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
- import * as bip32 from 'bip32';
3
- import { ECPair } from 'bitcoinjs-lib';
2
+ import { BIP32Interface } from 'bip32';
3
+ import { ECPairInterface } from 'ecpair';
4
4
  import { KeyPairOptions, ExtendedKeys } from './iface';
5
5
  import { BaseKeyPair } from './baseKeyPair';
6
6
  import { AddressFormat } from './enum';
@@ -8,9 +8,9 @@ import { AddressFormat } from './enum';
8
8
  * Base class for SECP256K1 extended keypairs.
9
9
  */
10
10
  export declare abstract class Secp256k1ExtendedKeyPair implements BaseKeyPair {
11
- static toKeyPair(hdNode: bip32.BIP32Interface): ECPair.ECPairInterface;
12
- protected hdNode?: bip32.BIP32Interface;
13
- protected keyPair: ECPair.ECPairInterface;
11
+ static toKeyPair(hdNode: BIP32Interface): ECPairInterface;
12
+ protected hdNode?: BIP32Interface;
13
+ protected keyPair: ECPairInterface;
14
14
  protected source?: KeyPairOptions;
15
15
  /**
16
16
  * Public constructor. By default, creates a key pair with a random master seed.
@@ -1 +1 @@
1
- {"version":3,"file":"secp256k1ExtendedKeyPair.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/secp256k1ExtendedKeyPair.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGvC;;GAEG;AACH,8BAAsB,wBAAyB,YAAW,WAAW;IACnE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,eAAe;IAUtE,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IACxC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC;IAC1C,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAClC;;;;;OAKG;IACH,SAAS,aAAa,MAAM,CAAC,EAAE,cAAc;IAI7C;;;OAGG;IACH,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;IAI7D;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,SAAS;IAInC;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW3C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW1C;;;;;OAKG;IACH,eAAe,IAAI,YAAY;IAc/B,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM;IAI1C,OAAO,IAAI,GAAG;CAGf"}
1
+ {"version":3,"file":"secp256k1ExtendedKeyPair.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/secp256k1ExtendedKeyPair.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGvC;;GAEG;AACH,8BAAsB,wBAAyB,YAAW,WAAW;IACnE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe;IAUzD,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC;IACnC,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAClC;;;;;OAKG;IACH,SAAS,aAAa,MAAM,CAAC,EAAE,cAAc;IAI7C;;;OAGG;IACH,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;IAI7D;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,SAAS;IAInC;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW3C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW1C;;;;;OAKG;IACH,eAAe,IAAI,YAAY;IAc/B,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM;IAI1C,OAAO,IAAI,GAAG;CAGf"}
@@ -20,8 +20,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.Secp256k1ExtendedKeyPair = void 0;
23
- const bip32 = __importStar(require("bip32"));
24
- const bitcoinjs_lib_1 = require("bitcoinjs-lib");
23
+ const utxo_lib_1 = require("@bitgo/utxo-lib");
25
24
  const Crypto = __importStar(require("../util/crypto"));
26
25
  const errors_1 = require("./errors");
27
26
  /**
@@ -39,10 +38,10 @@ class Secp256k1ExtendedKeyPair {
39
38
  }
40
39
  static toKeyPair(hdNode) {
41
40
  if (hdNode.privateKey) {
42
- return bitcoinjs_lib_1.ECPair.fromPrivateKey(hdNode.privateKey);
41
+ return utxo_lib_1.ECPair.fromPrivateKey(hdNode.privateKey);
43
42
  }
44
43
  else {
45
- return bitcoinjs_lib_1.ECPair.fromPublicKey(hdNode.publicKey);
44
+ return utxo_lib_1.ECPair.fromPublicKey(hdNode.publicKey);
46
45
  }
47
46
  }
48
47
  /**
@@ -51,7 +50,7 @@ class Secp256k1ExtendedKeyPair {
51
50
  */
52
51
  getPublicKey({ compressed }) {
53
52
  var _a;
54
- return bitcoinjs_lib_1.ECPair.fromPublicKey((_a = this.keyPair) === null || _a === void 0 ? void 0 : _a.publicKey, { compressed }).publicKey;
53
+ return utxo_lib_1.ECPair.fromPublicKey((_a = this.keyPair) === null || _a === void 0 ? void 0 : _a.publicKey, { compressed }).publicKey;
55
54
  }
56
55
  /**
57
56
  * @return Buffer 32 bytes in standard libsecp256k1 format
@@ -67,11 +66,11 @@ class Secp256k1ExtendedKeyPair {
67
66
  */
68
67
  recordKeysFromPrivateKey(prv) {
69
68
  if (Crypto.isValidXprv(prv)) {
70
- this.hdNode = bip32.fromBase58(prv);
69
+ this.hdNode = utxo_lib_1.bip32.fromBase58(prv);
71
70
  }
72
71
  else if (Crypto.isValidPrv(prv)) {
73
72
  // Cannot create the HD node without the chain code, so create a regular Key Chain
74
- this.keyPair = bitcoinjs_lib_1.ECPair.fromPrivateKey(Buffer.from(prv, 'hex'));
73
+ this.keyPair = utxo_lib_1.ECPair.fromPrivateKey(Buffer.from(prv, 'hex'));
75
74
  }
76
75
  else {
77
76
  throw new Error('Unsupported private key');
@@ -84,11 +83,11 @@ class Secp256k1ExtendedKeyPair {
84
83
  */
85
84
  recordKeysFromPublicKey(pub) {
86
85
  if (Crypto.isValidXpub(pub)) {
87
- this.hdNode = bip32.fromBase58(pub);
86
+ this.hdNode = utxo_lib_1.bip32.fromBase58(pub);
88
87
  }
89
88
  else if (Crypto.isValidPub(pub)) {
90
89
  // Cannot create an HD node without the chain code, so create a regular Key Chain
91
- this.keyPair = bitcoinjs_lib_1.ECPair.fromPublicKey(Buffer.from(pub, 'hex'));
90
+ this.keyPair = utxo_lib_1.ECPair.fromPublicKey(Buffer.from(pub, 'hex'));
92
91
  }
93
92
  else {
94
93
  throw new Error('Unsupported public key: ' + pub);
@@ -121,4 +120,4 @@ class Secp256k1ExtendedKeyPair {
121
120
  }
122
121
  }
123
122
  exports.Secp256k1ExtendedKeyPair = Secp256k1ExtendedKeyPair;
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL2Jhc2VDb2luL3NlY3AyNTZrMUV4dGVuZGVkS2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQStCO0FBQy9CLGlEQUF1QztBQUN2Qyx1REFBeUM7QUFJekMscUNBQStDO0FBRS9DOztHQUVHO0FBQ0gsTUFBc0Isd0JBQXdCO0lBYzVDOzs7OztPQUtHO0lBQ0gsWUFBc0IsTUFBdUI7UUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQXJCRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQTRCO1FBQzNDLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUNyQixPQUFPLHNCQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNqRDthQUFNO1lBQ0wsT0FBTyxzQkFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBaUJEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBMkI7O1FBQ2xELE9BQU8sc0JBQU0sQ0FBQyxhQUFhLENBQUMsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhOztRQUNYLE9BQU8sTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxVQUFVLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx3QkFBd0IsQ0FBQyxHQUFXO1FBQ2xDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakMsa0ZBQWtGO1lBQ2xGLElBQUksQ0FBQyxPQUFPLEdBQUcsc0JBQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMvRDthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx1QkFBdUIsQ0FBQyxHQUFXO1FBQ2pDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakMsaUZBQWlGO1lBQ2pGLElBQUksQ0FBQyxPQUFPLEdBQUcsc0JBQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUM5RDthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsR0FBRyxHQUFHLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDN0M7UUFDRCxNQUFNLE1BQU0sR0FBaUI7WUFDM0IsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1NBQ3hDLENBQUM7UUFDRix1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDN0IsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFzQjtRQUMvQixNQUFNLElBQUksNEJBQW1CLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sSUFBSSw0QkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRjtBQWxHRCw0REFrR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiaXAzMiBmcm9tICdiaXAzMic7XG5pbXBvcnQgeyBFQ1BhaXIgfSBmcm9tICdiaXRjb2luanMtbGliJztcbmltcG9ydCAqIGFzIENyeXB0byBmcm9tICcuLi91dGlsL2NyeXB0byc7XG5pbXBvcnQgeyBLZXlQYWlyT3B0aW9ucywgRXh0ZW5kZWRLZXlzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBCYXNlS2V5UGFpciB9IGZyb20gJy4vYmFzZUtleVBhaXInO1xuaW1wb3J0IHsgQWRkcmVzc0Zvcm1hdCB9IGZyb20gJy4vZW51bSc7XG5pbXBvcnQgeyBOb3RJbXBsZW1lbnRlZEVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIFNFQ1AyNTZLMSBleHRlbmRlZCBrZXlwYWlycy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpciBpbXBsZW1lbnRzIEJhc2VLZXlQYWlyIHtcbiAgc3RhdGljIHRvS2V5UGFpcihoZE5vZGU6IGJpcDMyLkJJUDMySW50ZXJmYWNlKTogRUNQYWlyLkVDUGFpckludGVyZmFjZSB7XG4gICAgaWYgKGhkTm9kZS5wcml2YXRlS2V5KSB7XG4gICAgICByZXR1cm4gRUNQYWlyLmZyb21Qcml2YXRlS2V5KGhkTm9kZS5wcml2YXRlS2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEVDUGFpci5mcm9tUHVibGljS2V5KGhkTm9kZS5wdWJsaWNLZXkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEltcGxlbWVudGF0aW9uIG9mIHRoZSBIRCBwcm90b2NvbCAoQklQMzIpLiBPbmx5IGF2YWlsYWJsZSB3aGVuIGNyZWF0aW5nIGEgS2V5UGFpciBmcm9tIGEgc2VlZCxcbiAgLy8gb3IgZXh0ZW5kZWQga2V5c1xuICBwcm90ZWN0ZWQgaGROb2RlPzogYmlwMzIuQklQMzJJbnRlcmZhY2U7XG4gIHByb3RlY3RlZCBrZXlQYWlyOiBFQ1BhaXIuRUNQYWlySW50ZXJmYWNlO1xuICBwcm90ZWN0ZWQgc291cmNlPzogS2V5UGFpck9wdGlvbnM7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0ge0tleVBhaXJPcHRpb25zfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXkgKGV4dGVuZGVkIG9yIHJhdyksIG9yIGEgcHVibGljIGtleVxuICAgKiAgICAgKGV4dGVuZGVkLCBjb21wcmVzc2VkLCBvciB1bmNvbXByZXNzZWQpXG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gY29tcHJlc3NlZFxuICAgKiBAcmV0dXJuIEJ1ZmZlciAzMyBieXRlcyBpZiBgY29tcHJlc3NlZGAgaXMgc2V0LCA2NSBieXRlcyBvdGhlcndpc2UuIFN0YW5kYXJkIGxpYnNlY3AyNTZrMSBmb3JtYXQuXG4gICAqL1xuICBnZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkIH06IHsgY29tcHJlc3NlZDogYm9vbGVhbiB9KTogQnVmZmVyIHtcbiAgICByZXR1cm4gRUNQYWlyLmZyb21QdWJsaWNLZXkodGhpcy5rZXlQYWlyPy5wdWJsaWNLZXksIHsgY29tcHJlc3NlZCB9KS5wdWJsaWNLZXk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybiBCdWZmZXIgMzIgYnl0ZXMgaW4gc3RhbmRhcmQgbGlic2VjcDI1NmsxIGZvcm1hdFxuICAgKi9cbiAgZ2V0UHJpdmF0ZUtleSgpOiBCdWZmZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmtleVBhaXI/LnByaXZhdGVLZXk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBIaWVyYXJjaGljYWwgRGV0ZXJtaW5pc3RpYyBub2RlIG9yIGFuIEVDUGFpciBmcm9tIGEgcHJpdmF0ZSBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcnYgQW4gZXh0ZW5kZWQgb3IgcmF3IHByaXZhdGUga2V5XG4gICAqL1xuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkocHJ2OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoQ3J5cHRvLmlzVmFsaWRYcHJ2KHBydikpIHtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbUJhc2U1OChwcnYpO1xuICAgIH0gZWxzZSBpZiAoQ3J5cHRvLmlzVmFsaWRQcnYocHJ2KSkge1xuICAgICAgLy8gQ2Fubm90IGNyZWF0ZSB0aGUgSEQgbm9kZSB3aXRob3V0IHRoZSBjaGFpbiBjb2RlLCBzbyBjcmVhdGUgYSByZWd1bGFyIEtleSBDaGFpblxuICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21Qcml2YXRlS2V5KEJ1ZmZlci5mcm9tKHBydiwgJ2hleCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBwcml2YXRlIGtleScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIEhpZXJhcmNoaWNhbCBEZXRlcm1pbmlzdGljIG5vZGUgb3IgYW4gRUNQYWlyIGZyb20gYSBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHViIC0gQW4gZXh0ZW5kZWQsIGNvbXByZXNzZWQsIG9yIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5XG4gICAqL1xuICByZWNvcmRLZXlzRnJvbVB1YmxpY0tleShwdWI6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChDcnlwdG8uaXNWYWxpZFhwdWIocHViKSkge1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tQmFzZTU4KHB1Yik7XG4gICAgfSBlbHNlIGlmIChDcnlwdG8uaXNWYWxpZFB1YihwdWIpKSB7XG4gICAgICAvLyBDYW5ub3QgY3JlYXRlIGFuIEhEIG5vZGUgd2l0aG91dCB0aGUgY2hhaW4gY29kZSwgc28gY3JlYXRlIGEgcmVndWxhciBLZXkgQ2hhaW5cbiAgICAgIHRoaXMua2V5UGFpciA9IEVDUGFpci5mcm9tUHVibGljS2V5KEJ1ZmZlci5mcm9tKHB1YiwgJ2hleCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBwdWJsaWMga2V5OiAnICsgcHViKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBleHRlbmRlZCBwdWJsaWMga2V5LCBhbmQgdGhlIHByaXZhdGUga2V5IGlmIG9uZSBpcyBhdmFpbGFibGUuIFRoaXMgaXMgb25seSBwb3NzaWJsZVxuICAgKiB3aGVuIHRoZSBrZXkgcGFpciB3YXMgY3JlYXRlZCBmcm9tIGEgc2VlZCBvciBleHRlbmRlZCBrZXlzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RXh0ZW5kZWRLZXlzfSBUaGUgRXh0ZW5kZWQga2V5cyBvYmplY3RcbiAgICovXG4gIGdldEV4dGVuZGVkS2V5cygpOiBFeHRlbmRlZEtleXMge1xuICAgIGlmICghdGhpcy5oZE5vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGdldCBleHRlbmRlZCBrZXlzJyk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogRXh0ZW5kZWRLZXlzID0ge1xuICAgICAgeHB1YjogdGhpcy5oZE5vZGUubmV1dGVyZWQoKS50b0Jhc2U1OCgpLFxuICAgIH07XG4gICAgLy8gQSBuZXV0ZXJlZCBIRCBub2RlIG1lYW5zIGl0IG9ubHkgY29udGFpbnMgdGhlIHB1YmxpYyBrZXkgaW5mb3JtYXRpb25cbiAgICBpZiAoIXRoaXMuaGROb2RlLmlzTmV1dGVyZWQoKSkge1xuICAgICAgcmVzdWx0LnhwcnYgPSB0aGlzLmhkTm9kZS50b0Jhc2U1OCgpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0QWRkcmVzcyhmb3JtYXQ/OiBBZGRyZXNzRm9ybWF0KTogc3RyaW5nIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignZ2V0QWRkcmVzcyBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldEtleXMoKTogYW55IHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignZ2V0S2V5cyBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufVxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL2Jhc2VDb2luL3NlY3AyNTZrMUV4dGVuZGVkS2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQWdEO0FBR2hELHVEQUF5QztBQUl6QyxxQ0FBK0M7QUFFL0M7O0dBRUc7QUFDSCxNQUFzQix3QkFBd0I7SUFjNUM7Ozs7O09BS0c7SUFDSCxZQUFzQixNQUF1QjtRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBckJELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBc0I7UUFDckMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3JCLE9BQU8saUJBQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxPQUFPLGlCQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFpQkQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLEVBQUUsVUFBVSxFQUEyQjs7UUFDbEQsT0FBTyxpQkFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7O1FBQ1gsT0FBTyxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFVBQVUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHdCQUF3QixDQUFDLEdBQVc7UUFDbEMsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakMsa0ZBQWtGO1lBQ2xGLElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMvRDthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx1QkFBdUIsQ0FBQyxHQUFXO1FBQ2pDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLGdCQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLGlGQUFpRjtZQUNqRixJQUFJLENBQUMsT0FBTyxHQUFHLGlCQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDOUQ7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsTUFBTSxNQUFNLEdBQWlCO1lBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUN4QyxDQUFDO1FBQ0YsdUVBQXVFO1FBQ3ZFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN0QztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBc0I7UUFDL0IsTUFBTSxJQUFJLDRCQUFtQixDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLElBQUksNEJBQW1CLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUFsR0QsNERBa0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmlwMzIsIEVDUGFpciB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBCSVAzMkludGVyZmFjZSB9IGZyb20gJ2JpcDMyJztcbmltcG9ydCB7IEVDUGFpckludGVyZmFjZSB9IGZyb20gJ2VjcGFpcic7XG5pbXBvcnQgKiBhcyBDcnlwdG8gZnJvbSAnLi4vdXRpbC9jcnlwdG8nO1xuaW1wb3J0IHsgS2V5UGFpck9wdGlvbnMsIEV4dGVuZGVkS2V5cyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQmFzZUtleVBhaXIgfSBmcm9tICcuL2Jhc2VLZXlQYWlyJztcbmltcG9ydCB7IEFkZHJlc3NGb3JtYXQgfSBmcm9tICcuL2VudW0nO1xuaW1wb3J0IHsgTm90SW1wbGVtZW50ZWRFcnJvciB9IGZyb20gJy4vZXJyb3JzJztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBTRUNQMjU2SzEgZXh0ZW5kZWQga2V5cGFpcnMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIgaW1wbGVtZW50cyBCYXNlS2V5UGFpciB7XG4gIHN0YXRpYyB0b0tleVBhaXIoaGROb2RlOiBCSVAzMkludGVyZmFjZSk6IEVDUGFpckludGVyZmFjZSB7XG4gICAgaWYgKGhkTm9kZS5wcml2YXRlS2V5KSB7XG4gICAgICByZXR1cm4gRUNQYWlyLmZyb21Qcml2YXRlS2V5KGhkTm9kZS5wcml2YXRlS2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEVDUGFpci5mcm9tUHVibGljS2V5KGhkTm9kZS5wdWJsaWNLZXkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEltcGxlbWVudGF0aW9uIG9mIHRoZSBIRCBwcm90b2NvbCAoQklQMzIpLiBPbmx5IGF2YWlsYWJsZSB3aGVuIGNyZWF0aW5nIGEgS2V5UGFpciBmcm9tIGEgc2VlZCxcbiAgLy8gb3IgZXh0ZW5kZWQga2V5c1xuICBwcm90ZWN0ZWQgaGROb2RlPzogQklQMzJJbnRlcmZhY2U7XG4gIHByb3RlY3RlZCBrZXlQYWlyOiBFQ1BhaXJJbnRlcmZhY2U7XG4gIHByb3RlY3RlZCBzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucztcbiAgLyoqXG4gICAqIFB1YmxpYyBjb25zdHJ1Y3Rvci4gQnkgZGVmYXVsdCwgY3JlYXRlcyBhIGtleSBwYWlyIHdpdGggYSByYW5kb20gbWFzdGVyIHNlZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7S2V5UGFpck9wdGlvbnN9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSAoZXh0ZW5kZWQgb3IgcmF3KSwgb3IgYSBwdWJsaWMga2V5XG4gICAqICAgICAoZXh0ZW5kZWQsIGNvbXByZXNzZWQsIG9yIHVuY29tcHJlc3NlZClcbiAgICovXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBjb21wcmVzc2VkXG4gICAqIEByZXR1cm4gQnVmZmVyIDMzIGJ5dGVzIGlmIGBjb21wcmVzc2VkYCBpcyBzZXQsIDY1IGJ5dGVzIG90aGVyd2lzZS4gU3RhbmRhcmQgbGlic2VjcDI1NmsxIGZvcm1hdC5cbiAgICovXG4gIGdldFB1YmxpY0tleSh7IGNvbXByZXNzZWQgfTogeyBjb21wcmVzc2VkOiBib29sZWFuIH0pOiBCdWZmZXIge1xuICAgIHJldHVybiBFQ1BhaXIuZnJvbVB1YmxpY0tleSh0aGlzLmtleVBhaXI/LnB1YmxpY0tleSwgeyBjb21wcmVzc2VkIH0pLnB1YmxpY0tleTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJuIEJ1ZmZlciAzMiBieXRlcyBpbiBzdGFuZGFyZCBsaWJzZWNwMjU2azEgZm9ybWF0XG4gICAqL1xuICBnZXRQcml2YXRlS2V5KCk6IEJ1ZmZlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMua2V5UGFpcj8ucHJpdmF0ZUtleTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIEhpZXJhcmNoaWNhbCBEZXRlcm1pbmlzdGljIG5vZGUgb3IgYW4gRUNQYWlyIGZyb20gYSBwcml2YXRlIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBydiBBbiBleHRlbmRlZCBvciByYXcgcHJpdmF0ZSBrZXlcbiAgICovXG4gIHJlY29yZEtleXNGcm9tUHJpdmF0ZUtleShwcnY6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChDcnlwdG8uaXNWYWxpZFhwcnYocHJ2KSkge1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tQmFzZTU4KHBydik7XG4gICAgfSBlbHNlIGlmIChDcnlwdG8uaXNWYWxpZFBydihwcnYpKSB7XG4gICAgICAvLyBDYW5ub3QgY3JlYXRlIHRoZSBIRCBub2RlIHdpdGhvdXQgdGhlIGNoYWluIGNvZGUsIHNvIGNyZWF0ZSBhIHJlZ3VsYXIgS2V5IENoYWluXG4gICAgICB0aGlzLmtleVBhaXIgPSBFQ1BhaXIuZnJvbVByaXZhdGVLZXkoQnVmZmVyLmZyb20ocHJ2LCAnaGV4JykpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHByaXZhdGUga2V5Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgSGllcmFyY2hpY2FsIERldGVybWluaXN0aWMgbm9kZSBvciBhbiBFQ1BhaXIgZnJvbSBhIHB1YmxpYyBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwdWIgLSBBbiBleHRlbmRlZCwgY29tcHJlc3NlZCwgb3IgdW5jb21wcmVzc2VkIHB1YmxpYyBrZXlcbiAgICovXG4gIHJlY29yZEtleXNGcm9tUHVibGljS2V5KHB1Yjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKENyeXB0by5pc1ZhbGlkWHB1YihwdWIpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21CYXNlNTgocHViKTtcbiAgICB9IGVsc2UgaWYgKENyeXB0by5pc1ZhbGlkUHViKHB1YikpIHtcbiAgICAgIC8vIENhbm5vdCBjcmVhdGUgYW4gSEQgbm9kZSB3aXRob3V0IHRoZSBjaGFpbiBjb2RlLCBzbyBjcmVhdGUgYSByZWd1bGFyIEtleSBDaGFpblxuICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21QdWJsaWNLZXkoQnVmZmVyLmZyb20ocHViLCAnaGV4JykpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHB1YmxpYyBrZXk6ICcgKyBwdWIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGV4dGVuZGVkIHB1YmxpYyBrZXksIGFuZCB0aGUgcHJpdmF0ZSBrZXkgaWYgb25lIGlzIGF2YWlsYWJsZS4gVGhpcyBpcyBvbmx5IHBvc3NpYmxlXG4gICAqIHdoZW4gdGhlIGtleSBwYWlyIHdhcyBjcmVhdGVkIGZyb20gYSBzZWVkIG9yIGV4dGVuZGVkIGtleXMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtFeHRlbmRlZEtleXN9IFRoZSBFeHRlbmRlZCBrZXlzIG9iamVjdFxuICAgKi9cbiAgZ2V0RXh0ZW5kZWRLZXlzKCk6IEV4dGVuZGVkS2V5cyB7XG4gICAgaWYgKCF0aGlzLmhkTm9kZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZ2V0IGV4dGVuZGVkIGtleXMnKTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0OiBFeHRlbmRlZEtleXMgPSB7XG4gICAgICB4cHViOiB0aGlzLmhkTm9kZS5uZXV0ZXJlZCgpLnRvQmFzZTU4KCksXG4gICAgfTtcbiAgICAvLyBBIG5ldXRlcmVkIEhEIG5vZGUgbWVhbnMgaXQgb25seSBjb250YWlucyB0aGUgcHVibGljIGtleSBpbmZvcm1hdGlvblxuICAgIGlmICghdGhpcy5oZE5vZGUuaXNOZXV0ZXJlZCgpKSB7XG4gICAgICByZXN1bHQueHBydiA9IHRoaXMuaGROb2RlLnRvQmFzZTU4KCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRBZGRyZXNzKGZvcm1hdD86IEFkZHJlc3NGb3JtYXQpOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdnZXRBZGRyZXNzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZ2V0S2V5cygpOiBhbnkge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdnZXRLZXlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59XG4iXX0=
@@ -1,8 +1,9 @@
1
1
  import HDTree, { Ed25519BIP32 } from './hdTree';
2
2
  import { EDDSA } from './tss';
3
+ import ShamirSecret from './shamir';
3
4
  export { Ecdsa, ECDSA, Eddsa, EDDSA } from './tss';
4
5
  export * from './curves';
5
6
  export * from './util';
6
7
  declare type KeyShare = EDDSA.KeyShare;
7
- export { Ed25519BIP32, HDTree, KeyShare };
8
+ export { Ed25519BIP32, HDTree, KeyShare, ShamirSecret };
8
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,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnD,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,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/mpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,YAAY,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnD,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,CAAC"}
@@ -9,10 +9,15 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
9
9
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
12
15
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.Ed25519BIP32 = exports.EDDSA = exports.Eddsa = exports.ECDSA = exports.Ecdsa = void 0;
16
+ exports.ShamirSecret = exports.Ed25519BIP32 = exports.EDDSA = exports.Eddsa = exports.ECDSA = exports.Ecdsa = void 0;
14
17
  const hdTree_1 = require("./hdTree");
15
18
  Object.defineProperty(exports, "Ed25519BIP32", { enumerable: true, get: function () { return hdTree_1.Ed25519BIP32; } });
19
+ const shamir_1 = __importDefault(require("./shamir"));
20
+ exports.ShamirSecret = shamir_1.default;
16
21
  var tss_1 = require("./tss");
17
22
  Object.defineProperty(exports, "Ecdsa", { enumerable: true, get: function () { return tss_1.Ecdsa; } });
18
23
  Object.defineProperty(exports, "ECDSA", { enumerable: true, get: function () { return tss_1.ECDSA; } });
@@ -20,4 +25,4 @@ Object.defineProperty(exports, "Eddsa", { enumerable: true, get: function () { r
20
25
  Object.defineProperty(exports, "EDDSA", { enumerable: true, get: function () { return tss_1.EDDSA; } });
21
26
  __exportStar(require("./curves"), exports);
22
27
  __exportStar(require("./util"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBZ0Q7QUFVdkMsNkZBVlEscUJBQVksT0FVUjtBQVByQiw2QkFBbUQ7QUFBMUMsNEZBQUEsS0FBSyxPQUFBO0FBQUUsNEZBQUEsS0FBSyxPQUFBO0FBQUUsNEZBQUEsS0FBSyxPQUFBO0FBQUUsNEZBQUEsS0FBSyxPQUFBO0FBRW5DLDJDQUF5QjtBQUN6Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSERUcmVlLCB7IEVkMjU1MTlCSVAzMiB9IGZyb20gJy4vaGRUcmVlJztcbmltcG9ydCB7IEVERFNBIH0gZnJvbSAnLi90c3MnO1xuXG5leHBvcnQgeyBFY2RzYSwgRUNEU0EsIEVkZHNhLCBFRERTQSB9IGZyb20gJy4vdHNzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jdXJ2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsJztcblxudHlwZSBLZXlTaGFyZSA9IEVERFNBLktleVNoYXJlO1xuXG5leHBvcnQgeyBFZDI1NTE5QklQMzIsIEhEVHJlZSwgS2V5U2hhcmUgfTtcbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBZ0Q7QUFXdkMsNkZBWFEscUJBQVksT0FXUjtBQVRyQixzREFBb0M7QUFTSyx1QkFUbEMsZ0JBQVksQ0FTa0M7QUFQckQsNkJBQW1EO0FBQTFDLDRGQUFBLEtBQUssT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUVuQywyQ0FBeUI7QUFDekIseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEhEVHJlZSwgeyBFZDI1NTE5QklQMzIgfSBmcm9tICcuL2hkVHJlZSc7XG5pbXBvcnQgeyBFRERTQSB9IGZyb20gJy4vdHNzJztcbmltcG9ydCBTaGFtaXJTZWNyZXQgZnJvbSAnLi9zaGFtaXInO1xuXG5leHBvcnQgeyBFY2RzYSwgRUNEU0EsIEVkZHNhLCBFRERTQSB9IGZyb20gJy4vdHNzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jdXJ2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsJztcblxudHlwZSBLZXlTaGFyZSA9IEVERFNBLktleVNoYXJlO1xuXG5leHBvcnQgeyBFZDI1NTE5QklQMzIsIEhEVHJlZSwgS2V5U2hhcmUsIFNoYW1pclNlY3JldCB9O1xuIl19
@@ -9,11 +9,12 @@ export default class Shamir {
9
9
  * @param secret secret to split
10
10
  * @param threshold share threshold required to reconstruct secret
11
11
  * @param numShares total number of shares to split to split secret into
12
- * @param indices
12
+ * @param indices optional indices which can be used while generating the shares
13
+ * @param salt optional salt which could be used while generating the shares
13
14
  * @returns Dictionary of shares. Each key is an int in the range 1<=x<=numShares
14
15
  * representing that share's free term.
15
16
  */
16
- split(secret: bigint, threshold: number, numShares: number, indices?: Array<number>): Record<number, bigint>;
17
+ split(secret: bigint, threshold: number, numShares: number, indices?: Array<number>, salt?: bigint): Record<number, bigint>;
17
18
  /**
18
19
  * Reconstitute a secret from a dictionary of shares. The number of shares must
19
20
  * be equal to `t` to reconstitute the original secret.
@@ -1 +1 @@
1
- {"version":3,"file":"shamir.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/mpc/shamir.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,UAAU,CAAC;AAG7B,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,KAAK;IAIxB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiC5G;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CA2BhD"}
1
+ {"version":3,"file":"shamir.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/mpc/shamir.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,UAAU,CAAC;AAG7B,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,KAAK;IAIxB;;;;;;;;;;;OAWG;IACH,KAAK,CACH,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACvB,IAAI,SAAY,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA4CzB;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CA+BhD"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const assert = require('assert');
4
3
  const crypto = require('crypto');
5
4
  const util_1 = require("./util");
6
5
  class Shamir {
@@ -14,14 +13,20 @@ class Shamir {
14
13
  * @param secret secret to split
15
14
  * @param threshold share threshold required to reconstruct secret
16
15
  * @param numShares total number of shares to split to split secret into
17
- * @param indices
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
18
  * @returns Dictionary of shares. Each key is an int in the range 1<=x<=numShares
19
19
  * representing that share's free term.
20
20
  */
21
- split(secret, threshold, numShares, indices) {
21
+ split(secret, threshold, numShares, indices, salt = BigInt(0)) {
22
22
  let bigIndices;
23
23
  if (indices) {
24
- bigIndices = indices.map((i) => BigInt(i));
24
+ bigIndices = indices.map((i) => {
25
+ if (i < 1) {
26
+ throw new Error('Invalid value supplied for indices');
27
+ }
28
+ return BigInt(i);
29
+ });
25
30
  }
26
31
  else {
27
32
  // make range(1, n + 1)
@@ -29,8 +34,12 @@ class Shamir {
29
34
  .fill(null)
30
35
  .map((_, i) => BigInt(i + 1));
31
36
  }
32
- assert(threshold > 1);
33
- assert(threshold <= numShares);
37
+ if (threshold < 2) {
38
+ throw new Error('Threshold cannot be less than two');
39
+ }
40
+ if (threshold > numShares) {
41
+ throw new Error('Threshold cannot be greater than the total number of shares');
42
+ }
34
43
  const coefs = [];
35
44
  for (let ind = 0; ind < threshold - 1; ind++) {
36
45
  const coeff = util_1.clamp(util_1.bigIntFromBufferLE(crypto.createHmac('sha256', ind.toString(10)).update(util_1.bigIntToBufferLE(secret, 32)).digest()));
@@ -56,31 +65,36 @@ class Shamir {
56
65
  * @returns secret
57
66
  */
58
67
  combine(shares) {
59
- let s = BigInt(0);
60
- for (const i in shares) {
61
- const yi = shares[i];
62
- const xi = BigInt(i);
63
- let num = BigInt(1);
64
- let denum = BigInt(1);
65
- for (const j in shares) {
66
- const xj = BigInt(j);
67
- if (xi !== xj) {
68
- num = this.curve.scalarMult(num, xj);
68
+ try {
69
+ let s = BigInt(0);
70
+ for (const i in shares) {
71
+ const yi = shares[i];
72
+ const xi = BigInt(i);
73
+ let num = BigInt(1);
74
+ let denum = BigInt(1);
75
+ for (const j in shares) {
76
+ const xj = BigInt(j);
77
+ if (xi !== xj) {
78
+ num = this.curve.scalarMult(num, xj);
79
+ }
69
80
  }
70
- }
71
- for (const j in shares) {
72
- const xj = BigInt(j);
73
- if (xi !== xj) {
74
- denum = this.curve.scalarMult(denum, this.curve.scalarSub(xj, xi));
81
+ for (const j in shares) {
82
+ const xj = BigInt(j);
83
+ if (xi !== xj) {
84
+ denum = this.curve.scalarMult(denum, this.curve.scalarSub(xj, xi));
85
+ }
75
86
  }
87
+ const inverted = this.curve.scalarInvert(denum);
88
+ const innerMultiplied = this.curve.scalarMult(num, inverted);
89
+ const multiplied = this.curve.scalarMult(innerMultiplied, yi);
90
+ s = this.curve.scalarAdd(multiplied, s);
76
91
  }
77
- const inverted = this.curve.scalarInvert(denum);
78
- const innerMultiplied = this.curve.scalarMult(num, inverted);
79
- const multiplied = this.curve.scalarMult(innerMultiplied, yi);
80
- s = this.curve.scalarAdd(multiplied, s);
92
+ return s;
93
+ }
94
+ catch (error) {
95
+ throw new Error('Failed to combine Shamir shares , ' + error);
81
96
  }
82
- return s;
83
97
  }
84
98
  }
85
99
  exports.default = Shamir;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhbWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL21wYy9zaGFtaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRWpDLGlDQUFxRTtBQUVyRSxNQUFxQixNQUFNO0lBR3pCLFlBQVksS0FBWTtRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxNQUFjLEVBQUUsU0FBaUIsRUFBRSxTQUFpQixFQUFFLE9BQXVCO1FBQ2pGLElBQUksVUFBeUIsQ0FBQztRQUM5QixJQUFJLE9BQU8sRUFBRTtZQUNYLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsdUJBQXVCO1lBQ3ZCLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2lCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQztRQUNELE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsQ0FBQztRQUMvQixNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDM0IsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLFNBQVMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDNUMs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QUssQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0NBQ0Y7QUFyRkQseUJBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7XG5jb25zdCBjcnlwdG8gPSByZXF1aXJlKCdjcnlwdG8nKTtcbmltcG9ydCBDdXJ2ZSBmcm9tICcuL2N1cnZlcyc7XG5pbXBvcnQgeyBiaWdJbnRGcm9tQnVmZmVyTEUsIGJpZ0ludFRvQnVmZmVyTEUsIGNsYW1wIH0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2hhbWlyIHtcbiAgY3VydmU6IEN1cnZlO1xuXG4gIGNvbnN0cnVjdG9yKGN1cnZlOiBDdXJ2ZSkge1xuICAgIHRoaXMuY3VydmUgPSBjdXJ2ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtIFNoYW1pciBzaGFyaW5nIG9uIHRoZSBzZWNyZXQgYHNlY3JldGAgdG8gdGhlIGRlZ3JlZSBgdGhyZXNob2xkIC0gMWAgc3BsaXQgYG51bVNoYXJlc2BcbiAgICogd2F5cy4gVGhlIHNwbGl0IHNlY3JldCByZXF1aXJlcyBgdGhyZXNob2xkYCBzaGFyZXMgdG8gYmUgcmVjb25zdHJ1Y3RlZC5cbiAgICpcbiAgICogQHBhcmFtIHNlY3JldCBzZWNyZXQgdG8gc3BsaXRcbiAgICogQHBhcmFtIHRocmVzaG9sZCBzaGFyZSB0aHJlc2hvbGQgcmVxdWlyZWQgdG8gcmVjb25zdHJ1Y3Qgc2VjcmV0XG4gICAqIEBwYXJhbSBudW1TaGFyZXMgdG90YWwgbnVtYmVyIG9mIHNoYXJlcyB0byBzcGxpdCB0byBzcGxpdCBzZWNyZXQgaW50b1xuICAgKiBAcGFyYW0gaW5kaWNlc1xuICAgKiBAcmV0dXJucyBEaWN0aW9uYXJ5IG9mIHNoYXJlcy4gRWFjaCBrZXkgaXMgYW4gaW50IGluIHRoZSByYW5nZSAxPD14PD1udW1TaGFyZXNcbiAgICogcmVwcmVzZW50aW5nIHRoYXQgc2hhcmUncyBmcmVlIHRlcm0uXG4gICAqL1xuICBzcGxpdChzZWNyZXQ6IGJpZ2ludCwgdGhyZXNob2xkOiBudW1iZXIsIG51bVNoYXJlczogbnVtYmVyLCBpbmRpY2VzPzogQXJyYXk8bnVtYmVyPik6IFJlY29yZDxudW1iZXIsIGJpZ2ludD4ge1xuICAgIGxldCBiaWdJbmRpY2VzOiBBcnJheTxiaWdpbnQ+O1xuICAgIGlmIChpbmRpY2VzKSB7XG4gICAgICBiaWdJbmRpY2VzID0gaW5kaWNlcy5tYXAoKGkpID0+IEJpZ0ludChpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1ha2UgcmFuZ2UoMSwgbiArIDEpXG4gICAgICBiaWdJbmRpY2VzID0gQXJyYXkobnVtU2hhcmVzKVxuICAgICAgICAuZmlsbChudWxsKVxuICAgICAgICAubWFwKChfLCBpKSA9PiBCaWdJbnQoaSArIDEpKTtcbiAgICB9XG4gICAgYXNzZXJ0KHRocmVzaG9sZCA+IDEpO1xuICAgIGFzc2VydCh0aHJlc2hvbGQgPD0gbnVtU2hhcmVzKTtcbiAgICBjb25zdCBjb2VmczogYmlnaW50W10gPSBbXTtcbiAgICBmb3IgKGxldCBpbmQgPSAwOyBpbmQgPCB0aHJlc2hvbGQgLSAxOyBpbmQrKykge1xuICAgICAgY29uc3QgY29lZmYgPSBjbGFtcChcbiAgICAgICAgYmlnSW50RnJvbUJ1ZmZlckxFKGNyeXB0by5jcmVhdGVIbWFjKCdzaGEyNTYnLCBpbmQudG9TdHJpbmcoMTApKS51cGRhdGUoYmlnSW50VG9CdWZmZXJMRShzZWNyZXQsIDMyKSkuZGlnZXN0KCkpXG4gICAgICApO1xuICAgICAgY29lZnMucHVzaChjb2VmZik7XG4gICAgfVxuICAgIGNvZWZzLnB1c2goc2VjcmV0KTtcblxuICAgIGNvbnN0IHNoYXJlczogUmVjb3JkPG51bWJlciwgYmlnaW50PiA9IHt9O1xuICAgIGZvciAobGV0IGluZCA9IDA7IGluZCA8IGJpZ0luZGljZXMubGVuZ3RoOyBpbmQrKykge1xuICAgICAgY29uc3QgeCA9IGJpZ0luZGljZXNbaW5kXTtcbiAgICAgIGxldCBwYXJ0aWFsID0gY29lZnNbMF07XG4gICAgICBmb3IgKGxldCBvdGhlciA9IDE7IG90aGVyIDwgY29lZnMubGVuZ3RoOyBvdGhlcisrKSB7XG4gICAgICAgIHBhcnRpYWwgPSB0aGlzLmN1cnZlLnNjYWxhckFkZChjb2Vmc1tvdGhlcl0sIHRoaXMuY3VydmUuc2NhbGFyTXVsdChwYXJ0aWFsLCB4KSk7XG4gICAgICB9XG4gICAgICBzaGFyZXNbcGFyc2VJbnQoeC50b1N0cmluZygpLCAxMCldID0gcGFydGlhbDtcbiAgICB9XG4gICAgcmV0dXJuIHNoYXJlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvbnN0aXR1dGUgYSBzZWNyZXQgZnJvbSBhIGRpY3Rpb25hcnkgb2Ygc2hhcmVzLiBUaGUgbnVtYmVyIG9mIHNoYXJlcyBtdXN0XG4gICAqIGJlIGVxdWFsIHRvIGB0YCB0byByZWNvbnN0aXR1dGUgdGhlIG9yaWdpbmFsIHNlY3JldC5cbiAgICpcbiAgICogQHBhcmFtIHNoYXJlcyBkaWN0aW9uYXJ5IG9mIHNoYXJlcy4gZWFjaCBrZXkgaXMgdGhlIGZyZWUgdGVybSBvZiB0aGUgc2hhcmVcbiAgICogQHJldHVybnMgc2VjcmV0XG4gICAqL1xuICBjb21iaW5lKHNoYXJlczogUmVjb3JkPG51bWJlciwgYmlnaW50Pik6IGJpZ2ludCB7XG4gICAgbGV0IHMgPSBCaWdJbnQoMCk7XG4gICAgZm9yIChjb25zdCBpIGluIHNoYXJlcykge1xuICAgICAgY29uc3QgeWkgPSBzaGFyZXNbaV07XG4gICAgICBjb25zdCB4aSA9IEJpZ0ludChpKTtcbiAgICAgIGxldCBudW0gPSBCaWdJbnQoMSk7XG4gICAgICBsZXQgZGVudW0gPSBCaWdJbnQoMSk7XG5cbiAgICAgIGZvciAoY29uc3QgaiBpbiBzaGFyZXMpIHtcbiAgICAgICAgY29uc3QgeGogPSBCaWdJbnQoaik7XG4gICAgICAgIGlmICh4aSAhPT0geGopIHtcbiAgICAgICAgICBudW0gPSB0aGlzLmN1cnZlLnNjYWxhck11bHQobnVtLCB4aik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgaiBpbiBzaGFyZXMpIHtcbiAgICAgICAgY29uc3QgeGogPSBCaWdJbnQoaik7XG4gICAgICAgIGlmICh4aSAhPT0geGopIHtcbiAgICAgICAgICBkZW51bSA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdChkZW51bSwgdGhpcy5jdXJ2ZS5zY2FsYXJTdWIoeGosIHhpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGludmVydGVkID0gdGhpcy5jdXJ2ZS5zY2FsYXJJbnZlcnQoZGVudW0pO1xuICAgICAgY29uc3QgaW5uZXJNdWx0aXBsaWVkID0gdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KG51bSwgaW52ZXJ0ZWQpO1xuICAgICAgY29uc3QgbXVsdGlwbGllZCA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdChpbm5lck11bHRpcGxpZWQsIHlpKTtcbiAgICAgIHMgPSB0aGlzLmN1cnZlLnNjYWxhckFkZChtdWx0aXBsaWVkLCBzKTtcbiAgICB9XG4gICAgcmV0dXJuIHM7XG4gIH1cbn1cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhbWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL21wYy9zaGFtaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFakMsaUNBQXFFO0FBRXJFLE1BQXFCLE1BQU07SUFHekIsWUFBWSxLQUFZO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILEtBQUssQ0FDSCxNQUFjLEVBQ2QsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsT0FBdUIsRUFDdkIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFaEIsSUFBSSxVQUF5QixDQUFDO1FBQzlCLElBQUksT0FBTyxFQUFFO1lBQ1gsVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztpQkFDdkQ7Z0JBQ0QsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsdUJBQXVCO1lBQ3ZCLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2lCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQztRQUNELElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7U0FDdEQ7UUFFRCxJQUFJLFNBQVMsR0FBRyxTQUFT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LENBQUMsQ0FBQztnQkFDaEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzlELENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekM7WUFDRCxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztDQUNGO0FBM0dELHlCQTJHQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNyeXB0byA9IHJlcXVpcmUoJ2NyeXB0bycpO1xuaW1wb3J0IEN1cnZlIGZyb20gJy4vY3VydmVzJztcbmltcG9ydCB7IGJpZ0ludEZyb21CdWZmZXJMRSwgYmlnSW50VG9CdWZmZXJMRSwgY2xhbXAgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaGFtaXIge1xuICBjdXJ2ZTogQ3VydmU7XG5cbiAgY29uc3RydWN0b3IoY3VydmU6IEN1cnZlKSB7XG4gICAgdGhpcy5jdXJ2ZSA9IGN1cnZlO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gU2hhbWlyIHNoYXJpbmcgb24gdGhlIHNlY3JldCBgc2VjcmV0YCB0byB0aGUgZGVncmVlIGB0aHJlc2hvbGQgLSAxYCBzcGxpdCBgbnVtU2hhcmVzYFxuICAgKiB3YXlzLiBUaGUgc3BsaXQgc2VjcmV0IHJlcXVpcmVzIGB0aHJlc2hvbGRgIHNoYXJlcyB0byBiZSByZWNvbnN0cnVjdGVkLlxuICAgKlxuICAgKiBAcGFyYW0gc2VjcmV0IHNlY3JldCB0byBzcGxpdFxuICAgKiBAcGFyYW0gdGhyZXNob2xkIHNoYXJlIHRocmVzaG9sZCByZXF1aXJlZCB0byByZWNvbnN0cnVjdCBzZWNyZXRcbiAgICogQHBhcmFtIG51bVNoYXJlcyB0b3RhbCBudW1iZXIgb2Ygc2hhcmVzIHRvIHNwbGl0IHRvIHNwbGl0IHNlY3JldCBpbnRvXG4gICAqIEBwYXJhbSBpbmRpY2VzIG9wdGlvbmFsIGluZGljZXMgd2hpY2ggY2FuIGJlIHVzZWQgd2hpbGUgZ2VuZXJhdGluZyB0aGUgc2hhcmVzXG4gICAqIEBwYXJhbSBzYWx0IG9wdGlvbmFsIHNhbHQgd2hpY2ggY291bGQgYmUgdXNlZCB3aGlsZSBnZW5lcmF0aW5nIHRoZSBzaGFyZXNcbiAgICogQHJldHVybnMgRGljdGlvbmFyeSBvZiBzaGFyZXMuIEVhY2gga2V5IGlzIGFuIGludCBpbiB0aGUgcmFuZ2UgMTw9eDw9bnVtU2hhcmVzXG4gICAqIHJlcHJlc2VudGluZyB0aGF0IHNoYXJlJ3MgZnJlZSB0ZXJtLlxuICAgKi9cbiAgc3BsaXQoXG4gICAgc2VjcmV0OiBiaWdpbnQsXG4gICAgdGhyZXNob2xkOiBudW1iZXIsXG4gICAgbnVtU2hhcmVzOiBudW1iZXIsXG4gICAgaW5kaWNlcz86IEFycmF5PG51bWJlcj4sXG4gICAgc2FsdCA9IEJpZ0ludCgwKVxuICApOiBSZWNvcmQ8bnVtYmVyLCBiaWdpbnQ+IHtcbiAgICBsZXQgYmlnSW5kaWNlczogQXJyYXk8YmlnaW50PjtcbiAgICBpZiAoaW5kaWNlcykge1xuICAgICAgYmlnSW5kaWNlcyA9IGluZGljZXMubWFwKChpKSA9PiB7XG4gICAgICAgIGlmIChpIDwgMSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB2YWx1ZSBzdXBwbGllZCBmb3IgaW5kaWNlcycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBCaWdJbnQoaSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gbWFrZSByYW5nZSgxLCBuICsgMSlcbiAgICAgIGJpZ0luZGljZXMgPSBBcnJheShudW1TaGFyZXMpXG4gICAgICAgIC5maWxsKG51bGwpXG4gICAgICAgIC5tYXAoKF8sIGkpID0+IEJpZ0ludChpICsgMSkpO1xuICAgIH1cbiAgICBpZiAodGhyZXNob2xkIDwgMikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaHJlc2hvbGQgY2Fubm90IGJlIGxlc3MgdGhhbiB0d28nKTtcbiAgICB9XG5cbiAgICBpZiAodGhyZXNob2xkID4gbnVtU2hhcmVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RocmVzaG9sZCBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2hhcmVzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgY29lZnM6IGJpZ2ludFtdID0gW107XG4gICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgdGhyZXNob2xkIC0gMTsgaW5kKyspIHtcbiAgICAgIGNvbnN0IGNvZWZmID0gY2xhbXAoXG4gICAgICAgIGJpZ0ludEZyb21CdWZmZXJMRShjcnlwdG8uY3JlYXRlSG1hYygnc2hhMjU2JywgaW5kLnRvU3RyaW5nKDEwKSkudXBkYXRlKGJpZ0ludFRvQnVmZmVyTEUoc2VjcmV0LCAzMikpLmRpZ2VzdCgpKVxuICAgICAgKTtcbiAgICAgIGNvZWZzLnB1c2goY29lZmYpO1xuICAgIH1cbiAgICBjb2Vmcy5wdXNoKHNlY3JldCk7XG5cbiAgICBjb25zdCBzaGFyZXM6IFJlY29yZDxudW1iZXIsIGJpZ2ludD4gPSB7fTtcbiAgICBmb3IgKGxldCBpbmQgPSAwOyBpbmQgPCBiaWdJbmRpY2VzLmxlbmd0aDsgaW5kKyspIHtcbiAgICAgIGNvbnN0IHggPSBiaWdJbmRpY2VzW2luZF07XG4gICAgICBsZXQgcGFydGlhbCA9IGNvZWZzWzBdO1xuICAgICAgZm9yIChsZXQgb3RoZXIgPSAxOyBvdGhlciA8IGNvZWZzLmxlbmd0aDsgb3RoZXIrKykge1xuICAgICAgICBwYXJ0aWFsID0gdGhpcy5jdXJ2ZS5zY2FsYXJBZGQoY29lZnNbb3RoZXJdLCB0aGlzLmN1cnZlLnNjYWxhck11bHQocGFydGlhbCwgeCkpO1xuICAgICAgfVxuICAgICAgc2hhcmVzW3BhcnNlSW50KHgudG9TdHJpbmcoKSwgMTApXSA9IHBhcnRpYWw7XG4gICAgfVxuICAgIHJldHVybiBzaGFyZXM7XG4gIH1cblxuICAvKipcbiAgICogUmVjb25zdGl0dXRlIGEgc2VjcmV0IGZyb20gYSBkaWN0aW9uYXJ5IG9mIHNoYXJlcy4gVGhlIG51bWJlciBvZiBzaGFyZXMgbXVzdFxuICAgKiBiZSBlcXVhbCB0byBgdGAgdG8gcmVjb25zdGl0dXRlIHRoZSBvcmlnaW5hbCBzZWNyZXQuXG4gICAqXG4gICAqIEBwYXJhbSBzaGFyZXMgZGljdGlvbmFyeSBvZiBzaGFyZXMuIGVhY2gga2V5IGlzIHRoZSBmcmVlIHRlcm0gb2YgdGhlIHNoYXJlXG4gICAqIEByZXR1cm5zIHNlY3JldFxuICAgKi9cbiAgY29tYmluZShzaGFyZXM6IFJlY29yZDxudW1iZXIsIGJpZ2ludD4pOiBiaWdpbnQge1xuICAgIHRyeSB7XG4gICAgICBsZXQgcyA9IEJpZ0ludCgwKTtcbiAgICAgIGZvciAoY29uc3QgaSBpbiBzaGFyZXMpIHtcbiAgICAgICAgY29uc3QgeWkgPSBzaGFyZXNbaV07XG4gICAgICAgIGNvbnN0IHhpID0gQmlnSW50KGkpO1xuICAgICAgICBsZXQgbnVtID0gQmlnSW50KDEpO1xuICAgICAgICBsZXQgZGVudW0gPSBCaWdJbnQoMSk7XG5cbiAgICAgICAgZm9yIChjb25zdCBqIGluIHNoYXJlcykge1xuICAgICAgICAgIGNvbnN0IHhqID0gQmlnSW50KGopO1xuICAgICAgICAgIGlmICh4aSAhPT0geGopIHtcbiAgICAgICAgICAgIG51bSA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdChudW0sIHhqKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBqIGluIHNoYXJlcykge1xuICAgICAgICAgIGNvbnN0IHhqID0gQmlnSW50KGopO1xuICAgICAgICAgIGlmICh4aSAhPT0geGopIHtcbiAgICAgICAgICAgIGRlbnVtID0gdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KGRlbnVtLCB0aGlzLmN1cnZlLnNjYWxhclN1Yih4aiwgeGkpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW52ZXJ0ZWQgPSB0aGlzLmN1cnZlLnNjYWxhckludmVydChkZW51bSk7XG4gICAgICAgIGNvbnN0IGlubmVyTXVsdGlwbGllZCA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdChudW0sIGludmVydGVkKTtcbiAgICAgICAgY29uc3QgbXVsdGlwbGllZCA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdChpbm5lck11bHRpcGxpZWQsIHlpKTtcbiAgICAgICAgcyA9IHRoaXMuY3VydmUuc2NhbGFyQWRkKG11bHRpcGxpZWQsIHMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHM7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNvbWJpbmUgU2hhbWlyIHNoYXJlcyAsICcgKyBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../../src/account-lib/mpc/tss/eddsa/eddsa.ts"],"names":[],"mappings":";AAiCA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAU,EACV,MAAM,EACN,WAAW,EACX,MAAM,EACN,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACP,MAAM,SAAS,CAAC;AAKjB,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,MAAM,CAAC,KAAK,EAAE,YAAY,CAAsB;IAChD,MAAM,CAAC,MAAM,EAAE,MAAM,CAA2B;IAChD,MAAM,CAAC,WAAW,UAAS;WAEd,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IASxD,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,MAAM,CAAC,EAAE,MAAM;IAI3B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ;IA0CtF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU;IAgCzD;;;;;;OAMG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAqB9D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;IA0DvE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS;IA6CvF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAM,EAAO,GAAG,MAAM;IA0B7F,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS;IAkBxC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;CAKvD"}
1
+ {"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../../src/account-lib/mpc/tss/eddsa/eddsa.ts"],"names":[],"mappings":";AAgCA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAU,EACV,MAAM,EACN,WAAW,EACX,MAAM,EACN,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACP,MAAM,SAAS,CAAC;AAKjB,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,MAAM,CAAC,KAAK,EAAE,YAAY,CAAsB;IAChD,MAAM,CAAC,MAAM,EAAE,MAAM,CAA2B;IAChD,MAAM,CAAC,WAAW,UAAS;WAEd,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IASxD,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,MAAM,CAAC,EAAE,MAAM;IAI3B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ;IA4CtF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU;IAgCzD;;;;;;OAMG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAqB9D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;IA0DvE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS;IA6CvF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAM,EAAO,GAAG,MAAM;IA0B7F,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS;IAkBxC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;CAKvD"}