@bitgo-beta/sdk-core 8.2.1-beta.13 → 8.2.1-beta.131

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 (162) hide show
  1. package/CHANGELOG.md +432 -0
  2. package/dist/src/account-lib/baseCoin/enum.d.ts +6 -1
  3. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/enum.js +11 -1
  5. package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
  6. package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
  7. package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
  8. package/dist/src/account-lib/mpc/index.d.ts +4 -4
  9. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  10. package/dist/src/account-lib/mpc/index.js +6 -6
  11. package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
  12. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
  13. package/dist/src/account-lib/mpc/shamir.js +6 -130
  14. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +57 -9
  15. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  16. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +581 -57
  17. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +97 -55
  18. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  19. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  20. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -1
  21. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  22. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +1 -1
  23. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +0 -3
  24. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  25. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  26. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +16 -0
  27. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  28. package/dist/src/bitgo/baseCoin/baseCoin.js +15 -1
  29. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +20 -4
  30. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  31. package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
  32. package/dist/src/bitgo/bitgoBase.d.ts +2 -1
  33. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  34. package/dist/src/bitgo/bitgoBase.js +1 -1
  35. package/dist/src/bitgo/enterprise/enterprise.d.ts +13 -1
  36. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  37. package/dist/src/bitgo/enterprise/enterprise.js +29 -1
  38. package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
  39. package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
  40. package/dist/src/bitgo/enterprise/enterprises.js +26 -1
  41. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +4 -1
  42. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  43. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  44. package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
  45. package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
  46. package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
  47. package/dist/src/bitgo/environments.d.ts +7 -0
  48. package/dist/src/bitgo/environments.d.ts.map +1 -1
  49. package/dist/src/bitgo/environments.js +17 -3
  50. package/dist/src/bitgo/keychain/iKeychains.d.ts +6 -0
  51. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  52. package/dist/src/bitgo/keychain/iKeychains.js +1 -1
  53. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  54. package/dist/src/bitgo/keychain/keychains.js +30 -24
  55. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +124 -89
  56. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  57. package/dist/src/bitgo/keychain/ovcJsonCodec.js +31 -24
  58. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +2 -0
  59. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  60. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +1 -1
  61. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  62. package/dist/src/bitgo/pendingApproval/pendingApproval.js +13 -1
  63. package/dist/src/bitgo/recovery/initiate.d.ts +7 -1
  64. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  65. package/dist/src/bitgo/recovery/initiate.js +1 -1
  66. package/dist/src/bitgo/staking/iStakingWallet.d.ts +11 -1
  67. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  68. package/dist/src/bitgo/staking/iStakingWallet.js +1 -1
  69. package/dist/src/bitgo/staking/stakingWallet.d.ts +7 -1
  70. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  71. package/dist/src/bitgo/staking/stakingWallet.js +9 -1
  72. package/dist/src/bitgo/tss/common.d.ts +15 -4
  73. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  74. package/dist/src/bitgo/tss/common.js +26 -11
  75. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +11 -8
  76. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  77. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +36 -33
  78. package/dist/src/bitgo/tss/ecdsa/types.d.ts +2 -2
  79. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  80. package/dist/src/bitgo/tss/ecdsa/types.js +1 -1
  81. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +6 -5
  82. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  83. package/dist/src/bitgo/tss/eddsa/eddsa.js +20 -9
  84. package/dist/src/bitgo/tss/types.d.ts +19 -0
  85. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  86. package/dist/src/bitgo/tss/types.js +1 -1
  87. package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
  88. package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
  89. package/dist/src/bitgo/utils/codecProps.js +41 -0
  90. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  91. package/dist/src/bitgo/utils/opengpgUtils.js +7 -10
  92. package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
  93. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
  94. package/dist/src/bitgo/utils/postWithCodec.js +59 -0
  95. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +59 -12
  96. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  97. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +71 -9
  98. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +174 -9
  99. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  100. package/dist/src/bitgo/utils/tss/baseTypes.js +27 -2
  101. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +47 -7
  102. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  103. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +247 -119
  104. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +9 -0
  105. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  106. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  107. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +18 -5
  108. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  109. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +79 -25
  110. package/dist/src/bitgo/wallet/BuildParams.d.ts +112 -0
  111. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
  112. package/dist/src/bitgo/wallet/BuildParams.js +121 -0
  113. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts +93 -0
  114. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
  115. package/dist/src/bitgo/wallet/SendTransactionRequest.js +41 -0
  116. package/dist/src/bitgo/wallet/iWallet.d.ts +14 -1
  117. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  118. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  119. package/dist/src/bitgo/wallet/wallet.d.ts +11 -2
  120. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  121. package/dist/src/bitgo/wallet/wallet.js +140 -82
  122. package/dist/src/index.d.ts +4 -0
  123. package/dist/src/index.d.ts.map +1 -1
  124. package/dist/src/index.js +4 -2
  125. package/dist/src/openssl/index.d.ts +4 -1
  126. package/dist/src/openssl/index.d.ts.map +1 -1
  127. package/dist/src/openssl/index.js +7 -12
  128. package/dist/test/node.utils.d.ts +2 -0
  129. package/dist/test/node.utils.d.ts.map +1 -0
  130. package/dist/test/node.utils.js +5 -0
  131. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  132. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  133. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +185 -0
  134. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
  135. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
  136. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
  137. package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
  138. package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
  139. package/dist/test/unit/bitgo/utils/postWithCodec.js +79 -0
  140. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
  141. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
  142. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +49 -0
  143. package/dist/test/unit/openssl.d.ts +2 -0
  144. package/dist/test/unit/openssl.d.ts.map +1 -0
  145. package/dist/test/unit/openssl.js +39 -0
  146. package/dist/test/unit/units.d.ts +2 -0
  147. package/dist/test/unit/units.d.ts.map +1 -0
  148. package/dist/test/unit/units.js +98 -0
  149. package/dist/tsconfig.tsbuildinfo +1 -8279
  150. package/package.json +14 -13
  151. package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
  152. package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
  153. package/dist/src/account-lib/mpc/hdTree.js +0 -141
  154. package/dist/src/account-lib/mpc/types.d.ts +0 -5
  155. package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
  156. package/dist/src/account-lib/mpc/types.js +0 -3
  157. package/dist/src/openssl/openssl.d.ts +0 -12
  158. package/dist/src/openssl/openssl.d.ts.map +0 -1
  159. package/dist/src/openssl/openssl.js +0 -48
  160. package/dist/src/openssl/opensslbytes.d.ts +0 -4
  161. package/dist/src/openssl/opensslbytes.d.ts.map +0 -1
  162. package/dist/src/openssl/opensslbytes.js +0 -20
@@ -7,7 +7,11 @@ export * as coins from './coins';
7
7
  export * from './openssl';
8
8
  import { EddsaUtils } from './bitgo/utils/tss/eddsa/eddsa';
9
9
  export { EddsaUtils };
10
+ import { EcdsaUtils } from './bitgo/utils/tss/ecdsa/ecdsa';
11
+ export { EcdsaUtils };
10
12
  export { GShare, SignShare, YShare } from './account-lib/mpc/tss/eddsa/types';
13
+ export { TssEcdsaStep1ReturnMessage, TssEcdsaStep2ReturnMessage } from './bitgo/tss/types';
14
+ export { SShare } from './bitgo/tss/ecdsa/types';
11
15
  import * as common from './common';
12
16
  export * from './units';
13
17
  export { common };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,CAAC"}
package/dist/src/index.js CHANGED
@@ -22,7 +22,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  return result;
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.common = exports.EddsaUtils = exports.coins = exports.accountLib = void 0;
25
+ exports.common = exports.EcdsaUtils = exports.EddsaUtils = exports.coins = exports.accountLib = void 0;
26
26
  __exportStar(require("./account-lib"), exports);
27
27
  exports.accountLib = __importStar(require("./account-lib"));
28
28
  __exportStar(require("./api"), exports);
@@ -32,7 +32,9 @@ exports.coins = __importStar(require("./coins"));
32
32
  __exportStar(require("./openssl"), exports);
33
33
  const eddsa_1 = require("./bitgo/utils/tss/eddsa/eddsa");
34
34
  Object.defineProperty(exports, "EddsaUtils", { enumerable: true, get: function () { return eddsa_1.EddsaUtils; } });
35
+ const ecdsa_1 = require("./bitgo/utils/tss/ecdsa/ecdsa");
36
+ Object.defineProperty(exports, "EcdsaUtils", { enumerable: true, get: function () { return ecdsa_1.EcdsaUtils; } });
35
37
  const common = __importStar(require("./common"));
36
38
  exports.common = common;
37
39
  __exportStar(require("./units"), exports);
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QjtBQUM5Qiw0REFBNEM7QUFDNUMsd0NBQXNCO0FBQ3RCLDBDQUF3QjtBQUN4QixpREFBK0I7QUFDL0IsaURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQix5REFBMkQ7QUFDbEQsMkZBREEsa0JBQVUsT0FDQTtBQUVuQixpREFBbUM7QUFFMUIsd0JBQU07QUFEZiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjY291bnQtbGliJztcbmV4cG9ydCAqIGFzIGFjY291bnRMaWIgZnJvbSAnLi9hY2NvdW50LWxpYic7XG5leHBvcnQgKiBmcm9tICcuL2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2JpdGdvJztcbmV4cG9ydCAqIGZyb20gJy4vYml0Z29qc0Vycm9yJztcbmV4cG9ydCAqIGFzIGNvaW5zIGZyb20gJy4vY29pbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9vcGVuc3NsJztcbmltcG9ydCB7IEVkZHNhVXRpbHMgfSBmcm9tICcuL2JpdGdvL3V0aWxzL3Rzcy9lZGRzYS9lZGRzYSc7XG5leHBvcnQgeyBFZGRzYVV0aWxzIH07XG5leHBvcnQgeyBHU2hhcmUsIFNpZ25TaGFyZSwgWVNoYXJlIH0gZnJvbSAnLi9hY2NvdW50LWxpYi9tcGMvdHNzL2VkZHNhL3R5cGVzJztcbmltcG9ydCAqIGFzIGNvbW1vbiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL3VuaXRzJztcbmV4cG9ydCB7IGNvbW1vbiB9O1xuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QjtBQUM5Qiw0REFBNEM7QUFDNUMsd0NBQXNCO0FBQ3RCLDBDQUF3QjtBQUN4QixpREFBK0I7QUFDL0IsaURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQix5REFBMkQ7QUFDbEQsMkZBREEsa0JBQVUsT0FDQTtBQUNuQix5REFBMkQ7QUFDbEQsMkZBREEsa0JBQVUsT0FDQTtBQUluQixpREFBbUM7QUFFMUIsd0JBQU07QUFEZiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjY291bnQtbGliJztcbmV4cG9ydCAqIGFzIGFjY291bnRMaWIgZnJvbSAnLi9hY2NvdW50LWxpYic7XG5leHBvcnQgKiBmcm9tICcuL2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2JpdGdvJztcbmV4cG9ydCAqIGZyb20gJy4vYml0Z29qc0Vycm9yJztcbmV4cG9ydCAqIGFzIGNvaW5zIGZyb20gJy4vY29pbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9vcGVuc3NsJztcbmltcG9ydCB7IEVkZHNhVXRpbHMgfSBmcm9tICcuL2JpdGdvL3V0aWxzL3Rzcy9lZGRzYS9lZGRzYSc7XG5leHBvcnQgeyBFZGRzYVV0aWxzIH07XG5pbXBvcnQgeyBFY2RzYVV0aWxzIH0gZnJvbSAnLi9iaXRnby91dGlscy90c3MvZWNkc2EvZWNkc2EnO1xuZXhwb3J0IHsgRWNkc2FVdGlscyB9O1xuZXhwb3J0IHsgR1NoYXJlLCBTaWduU2hhcmUsIFlTaGFyZSB9IGZyb20gJy4vYWNjb3VudC1saWIvbXBjL3Rzcy9lZGRzYS90eXBlcyc7XG5leHBvcnQgeyBUc3NFY2RzYVN0ZXAxUmV0dXJuTWVzc2FnZSwgVHNzRWNkc2FTdGVwMlJldHVybk1lc3NhZ2UgfSBmcm9tICcuL2JpdGdvL3Rzcy90eXBlcyc7XG5leHBvcnQgeyBTU2hhcmUgfSBmcm9tICcuL2JpdGdvL3Rzcy9lY2RzYS90eXBlcyc7XG5pbXBvcnQgKiBhcyBjb21tb24gZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi91bml0cyc7XG5leHBvcnQgeyBjb21tb24gfTtcbiJdfQ==
@@ -1,2 +1,5 @@
1
- export * from './openssl';
1
+ /**
2
+ * @deprecated Use OpenSSL from sdk-lib-mpc instead
3
+ */
4
+ export { OpenSSL } from '@bitgo-beta/sdk-lib-mpc';
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/openssl/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/openssl/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,14 +1,9 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
2
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./openssl"), exports);
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3BlbnNzbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL29wZW5zc2wnO1xuIl19
3
+ exports.OpenSSL = void 0;
4
+ /**
5
+ * @deprecated Use OpenSSL from sdk-lib-mpc instead
6
+ */
7
+ var sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
8
+ Object.defineProperty(exports, "OpenSSL", { enumerable: true, get: function () { return sdk_lib_mpc_1.OpenSSL; } });
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3BlbnNzbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILHVEQUFrRDtBQUF6QyxzR0FBQSxPQUFPLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXByZWNhdGVkIFVzZSBPcGVuU1NMIGZyb20gc2RrLWxpYi1tcGMgaW5zdGVhZFxuICovXG5leHBvcnQgeyBPcGVuU1NMIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1tcGMnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export declare const NODE_MAJOR_VERSION: number;
2
+ //# sourceMappingURL=node.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.utils.d.ts","sourceRoot":"","sources":["../../test/node.utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,QAA8C,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NODE_MAJOR_VERSION = void 0;
4
+ exports.NODE_MAJOR_VERSION = Number(process.versions.node.split('.')[0]);
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3Qvbm9kZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBOT0RFX01BSk9SX1ZFUlNJT04gPSBOdW1iZXIocHJvY2Vzcy52ZXJzaW9ucy5ub2RlLnNwbGl0KCcuJylbMF0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ import 'should';
2
+ //# sourceMappingURL=ecdsa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../../../test/unit/account-lib/mpc/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,CAAC"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const paillierBigint = __importStar(require("paillier-bigint"));
26
+ require("should");
27
+ const sinon_1 = __importDefault(require("sinon"));
28
+ const sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
29
+ const tss_1 = require("../../../../../../src/account-lib/mpc/tss");
30
+ const fixtures_1 = require("./fixtures");
31
+ describe('ecdsa tss', function () {
32
+ const ecdsa = new tss_1.Ecdsa();
33
+ let signCombine1, signCombine2;
34
+ before('generate key and sign phase 1 to 4', async function () {
35
+ const paillierKeyStub = sinon_1.default.stub(paillierBigint, 'generateRandomKeys');
36
+ paillierKeyStub.onCall(0).returns(Promise.resolve(fixtures_1.paillierKeyPairs[0]));
37
+ paillierKeyStub.onCall(1).returns(Promise.resolve(fixtures_1.paillierKeyPairs[1]));
38
+ paillierKeyStub.onCall(2).returns(Promise.resolve(fixtures_1.paillierKeyPairs[2]));
39
+ const [keyShare1, keyShare2, keyShare3] = await Promise.all([
40
+ ecdsa.keyShare(1, 2, 3),
41
+ ecdsa.keyShare(2, 2, 3),
42
+ ecdsa.keyShare(3, 2, 3),
43
+ ]);
44
+ const [keyCombined1, keyCombined2] = [
45
+ ecdsa.keyCombine(keyShare1.pShare, [keyShare2.nShares[1], keyShare3.nShares[1]]),
46
+ ecdsa.keyCombine(keyShare2.pShare, [keyShare1.nShares[2], keyShare3.nShares[2]]),
47
+ ];
48
+ const [ntilde1, ntilde2] = await Promise.all([
49
+ sdk_lib_mpc_1.EcdsaRangeProof.generateNtilde(512),
50
+ sdk_lib_mpc_1.EcdsaRangeProof.generateNtilde(512),
51
+ ]);
52
+ const [serializeNtilde1, serializeNtilde2] = [
53
+ sdk_lib_mpc_1.EcdsaTypes.serializeNtildeWithProofs(ntilde1),
54
+ sdk_lib_mpc_1.EcdsaTypes.serializeNtildeWithProofs(ntilde2),
55
+ ];
56
+ const [index1, index2] = [keyCombined1.xShare.i, keyCombined2.xShare.i];
57
+ const [paillierN1to2, paillierN2to1] = [keyCombined1.yShares[index2].n, keyCombined2.yShares[index1].n];
58
+ const [paillierChallenger1to2, paillierChallenger2to1] = await Promise.all([
59
+ sdk_lib_mpc_1.EcdsaPaillierProof.generateP(sdk_lib_mpc_1.hexToBigInt(paillierN1to2)),
60
+ sdk_lib_mpc_1.EcdsaPaillierProof.generateP(sdk_lib_mpc_1.hexToBigInt(paillierN2to1)),
61
+ ]);
62
+ const [xShare1, xShare2] = [
63
+ ecdsa.appendChallenge(keyCombined1.xShare, serializeNtilde1, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: paillierChallenger1to2 })),
64
+ ecdsa.appendChallenge(keyCombined2.xShare, serializeNtilde2, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: paillierChallenger2to1 })),
65
+ ];
66
+ const yShare2 = ecdsa.appendChallenge(keyCombined1.yShares[index2], serializeNtilde2, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: paillierChallenger2to1 }));
67
+ const signShares = await ecdsa.signShare(xShare1, yShare2);
68
+ const signConvertS21 = await ecdsa.signConvertStep1({
69
+ xShare: xShare2,
70
+ yShare: keyCombined2.yShares[index1],
71
+ kShare: signShares.kShare,
72
+ });
73
+ const signConvertS12 = await ecdsa.signConvertStep2({
74
+ aShare: signConvertS21.aShare,
75
+ wShare: signShares.wShare,
76
+ });
77
+ const signConvertS21_2 = await ecdsa.signConvertStep3({
78
+ muShare: signConvertS12.muShare,
79
+ bShare: signConvertS21.bShare,
80
+ });
81
+ [signCombine1, signCombine2] = [
82
+ ecdsa.signCombine({
83
+ gShare: signConvertS12.gShare,
84
+ signIndex: {
85
+ i: signConvertS12.muShare.i,
86
+ j: signConvertS12.muShare.j,
87
+ },
88
+ }),
89
+ ecdsa.signCombine({
90
+ gShare: signConvertS21_2.gShare,
91
+ signIndex: {
92
+ i: signConvertS21_2.signIndex.i,
93
+ j: signConvertS21_2.signIndex.j,
94
+ },
95
+ }),
96
+ ];
97
+ });
98
+ it('sign phase 5 should succeed', async function () {
99
+ // TODO(HSM-129): There is a bug signing unhashed message (although this deviates from DSA spec) if the message is a little long.
100
+ // Some discrepancy between Ecdsa.sign and secp256k1.recoverPublicKey on handling the message input.
101
+ const message = Buffer.from('GG18 PHASE 5');
102
+ // Starting phase 5
103
+ // In addition to returning s_i, Ecdsa.sign() now also calculates data needed for steps 5A and 5B:
104
+ // - sample random l_i and rho_i (5A)
105
+ // - computes V_i and A_i (5B)]
106
+ // - computes commitment and decommitment of (V_i, A_i) (5A, 5B)
107
+ // - generates proofs of knowledge of s_i, l_i, rho_i w.r.t. V_i, A_i (5B)
108
+ const [sign1, sign2] = [
109
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine1.oShare, signCombine2.dShare)),
110
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine2.oShare, signCombine1.dShare)),
111
+ ];
112
+ sign1.R.should.equal(sign2.R);
113
+ sign1.y.should.equal(sign2.y);
114
+ sign1.m.toString('hex').should.equal(sign2.m.toString('hex'));
115
+ // Step 5A: Calculations done by Ecdsa.sign() above, and broadcast commitment of (V_i, A_i) to other parties.
116
+ // The following values will be sent via communication channel at the end of 5A.
117
+ // const commitmentVA1 = sign1.comDecomVA.commitment;
118
+ // const commitmentVA2 = sign2.comDecomVA.commitment;
119
+ // Step 5B: After having received all commitments of (V_i, A_i) from other parties,
120
+ // each party will broadcast decommitment of (V_i, A_i) and ZK proofs returned by Ecdsa.sign() above
121
+ // to other parties. Then Ecdsa.verifyVAShares() below will:
122
+ // - verify commitments of (V_i, A_i) received from other parties (5B)
123
+ // - verify ZK proofs of (V_i, A_i) received from other parties (5B)
124
+ // - calculate V out of G, y, r, m, and all V_i, calculate A as sum of all A_i (5B)
125
+ // - calculate U_i and T_i and commitment and decommitment of (U_i, T_i) (5C)
126
+ const [publicVAShares_1, publicVAShares_2] = [sign1, sign2];
127
+ const [UT1, UT2] = [
128
+ ecdsa.verifyVAShares(sign1, [publicVAShares_2]),
129
+ ecdsa.verifyVAShares(sign2, [publicVAShares_1]),
130
+ ];
131
+ // Step 5C: Calculations of U_i, T_i done by Ecdsa.verifyVAShares above,
132
+ // and broadcast commitment of (U_i, T_i) to other parties.
133
+ // The following values will be sent via communication channel at the end of 5C.
134
+ // const commitmentUT1 = UT1.comDecomUT.commitment;
135
+ // const commitmentUT2 = UT2.comDecomUT.commitment;
136
+ // Step 5D: After having received all commitments of (U_i, T_i) from other parties,
137
+ // each party will broadcast decommitment of (U_i, T_i) returned by Ecdsa.verifyVAShares() above
138
+ // to other parties. Then Ecdsa.verifyUTShares() below will:
139
+ // - verify commitments of (U_i, T_i) received from other parties (5D)
140
+ // - calculate U as sum of all U_i, calculate T as sum of all T_i (5D)
141
+ // - if U equals T, then return own SShare which is being returned by Ecdsa.sign() right now (5E)
142
+ const [publicUTShares_1, publicUTShares_2] = [UT1, UT2];
143
+ const [signature1, signature2] = [
144
+ ecdsa.verifyUTShares(UT1, [publicUTShares_2]),
145
+ ecdsa.verifyUTShares(UT2, [publicUTShares_1]),
146
+ ];
147
+ // Step 5E: Broadcast s_i returned by Ecdsa.verifyUTShares() above to other parties.
148
+ // Verify the sum of s_i should be a valid signature.
149
+ const signature = ecdsa.constructSignature([signature1, signature2]);
150
+ ecdsa.verify(message, signature).should.be.true();
151
+ });
152
+ it('sign phase 5 fail - malicious player cheats with bad s share', async function () {
153
+ const message = Buffer.from('GG18 PHASE 5');
154
+ const [sign1, sign2] = [
155
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine1.oShare, signCombine2.dShare)),
156
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine2.oShare, signCombine1.dShare)),
157
+ ];
158
+ sign1.R.should.equal(sign2.R);
159
+ sign1.y.should.equal(sign2.y);
160
+ sign1.m.toString('hex').should.equal(sign2.m.toString('hex'));
161
+ // Change the s share of sign1, and recalcualte its V along with the commitment/proof by following protocol.
162
+ const bad_s = sdk_lib_mpc_1.hexToBigInt(sign1.s) + BigInt(1);
163
+ const bad_V = tss_1.Ecdsa.curve.pointAdd(tss_1.Ecdsa.curve.pointMultiply(sdk_lib_mpc_1.hexToBigInt(sign1.R), bad_s), tss_1.Ecdsa.curve.basePointMult(sign1.l));
164
+ const comDecom_V_A = sdk_lib_mpc_1.HashCommitment.createCommitment(Buffer.concat([
165
+ sdk_lib_mpc_1.bigIntToBufferBE(bad_V, tss_1.Ecdsa.curve.pointBytes),
166
+ sdk_lib_mpc_1.bigIntToBufferBE(sign1.A, tss_1.Ecdsa.curve.pointBytes),
167
+ ]));
168
+ const zkVProof = sdk_lib_mpc_1.EcdsaZkVProof.createZkVProof(bad_V, bad_s, sign1.l, sdk_lib_mpc_1.hexToBigInt(sign1.R), tss_1.Ecdsa.curve, sign1.proofContext);
169
+ sign1.s = sdk_lib_mpc_1.bigIntToBufferBE(bad_s, 32).toString('hex');
170
+ sign1.V = bad_V;
171
+ sign1.comDecomVA = comDecom_V_A;
172
+ sign1.zkVProofV = zkVProof;
173
+ // 5B will pass.
174
+ const [publicVAShares_1, publicVAShares_2] = [sign1, sign2];
175
+ const [UT1, UT2] = [
176
+ ecdsa.verifyVAShares(sign1, [publicVAShares_2]),
177
+ ecdsa.verifyVAShares(sign2, [publicVAShares_1]),
178
+ ];
179
+ // But verification at beginning of 5E will fail.
180
+ const [publicUTShares_1, publicUTShares_2] = [UT1, UT2];
181
+ (() => ecdsa.verifyUTShares(UT1, [publicUTShares_2])).should.throw('Sum of all U_i does not match sum of all T_i');
182
+ (() => ecdsa.verifyUTShares(UT2, [publicUTShares_1])).should.throw('Sum of all U_i does not match sum of all T_i');
183
+ });
184
+ });
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS9lY2RzYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBa0Q7QUFDbEQsa0JBQWdCO0FBQ2hCLGtEQUEwQjtBQUMxQix5REFRaUM7QUFDakMsbUVBQWtFO0FBTWxFLHlDQUE4QztBQUU5QyxRQUFRLENBQUMsV0FBVyxFQUFFO0lBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksV0FBSyxFQUFFLENBQUM7SUFFMUIsSUFBSSxZQUEyQixFQUFFLFlBQTJCLENBQUM7SUFFN0QsTUFBTSxDQUFDLG9DQUFvQyxFQUFFLEtBQUs7UUFDaEQsTUFBTSxlQUFlLEdBQUcsZUFBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUV6RSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDJCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDJCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDJCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4RSxNQUFNLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDMUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENB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QUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUNySCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGFpbGxpZXJCaWdpbnQgZnJvbSAncGFpbGxpZXItYmlnaW50JztcbmltcG9ydCAnc2hvdWxkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQge1xuICBFY2RzYVBhaWxsaWVyUHJvb2YsXG4gIEVjZHNhUmFuZ2VQcm9vZixcbiAgRWNkc2FUeXBlcyxcbiAgRWNkc2Faa1ZQcm9vZixcbiAgSGFzaENvbW1pdG1lbnQsXG4gIGhleFRvQmlnSW50LFxuICBiaWdJbnRUb0J1ZmZlckJFLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstbGliLW1wYyc7XG5pbXBvcnQgeyBFY2RzYSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9tcGMvdHNzJztcbmltcG9ydCB7XG4gIFB1YmxpY1VUU2hhcmUsXG4gIFB1YmxpY1ZBU2hhcmVXaXRoUHJvb2ZzLFxuICBTaWduQ29tYmluZVJULFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS90eXBlcyc7XG5pbXBvcnQgeyBwYWlsbGllcktleVBhaXJzIH0gZnJvbSAnLi9maXh0dXJlcyc7XG5cbmRlc2NyaWJlKCdlY2RzYSB0c3MnLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGVjZHNhID0gbmV3IEVjZHNhKCk7XG5cbiAgbGV0IHNpZ25Db21iaW5lMTogU2lnbkNvbWJpbmVSVCwgc2lnbkNvbWJpbmUyOiBTaWduQ29tYmluZVJUO1xuXG4gIGJlZm9yZSgnZ2VuZXJhdGUga2V5IGFuZCBzaWduIHBoYXNlIDEgdG8gNCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBwYWlsbGllcktleVN0dWIgPSBzaW5vbi5zdHViKHBhaWxsaWVyQmlnaW50LCAnZ2VuZXJhdGVSYW5kb21LZXlzJyk7XG5cbiAgICBwYWlsbGllcktleVN0dWIub25DYWxsKDApLnJldHVybnMoUHJvbWlzZS5yZXNvbHZlKHBhaWxsaWVyS2V5UGFpcnNbMF0pKTtcbiAgICBwYWlsbGllcktleVN0dWIub25DYWxsKDEpLnJldHVybnMoUHJvbWlzZS5yZXNvbHZlKHBhaWxsaWVyS2V5UGFpcnNbMV0pKTtcbiAgICBwYWlsbGllcktleVN0dWIub25DYWxsKDIpLnJldHVybnMoUHJvbWlzZS5yZXNvbHZlKHBhaWxsaWVyS2V5UGFpcnNbMl0pKTtcblxuICAgIGNvbnN0IFtrZXlTaGFyZTEsIGtleVNoYXJlMiwga2V5U2hhcmUzXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIGVjZHNhLmtleVNoYXJlKDEsIDIsIDMpLFxuICAgICAgZWNkc2Eua2V5U2hhcmUoMiwgMiwgMyksXG4gICAgICBlY2RzYS5rZXlTaGFyZSgzLCAyLCAzKSxcbiAgICBdKTtcblxuICAgIGNvbnN0IFtrZXlDb21iaW5lZDEsIGtleUNvbWJpbmVkMl0gPSBbXG4gICAgICBlY2RzYS5rZXlDb21iaW5lKGtleVNoYXJlMS5wU2hhcmUsIFtrZXlTaGFyZTIublNoYXJlc1sxXSwga2V5U2hhcmUzLm5TaGFyZXNbMV1dKSxcbiAgICAgIGVjZHNhLmtleUNvbWJpbmUoa2V5U2hhcmUyLnBTaGFyZSwgW2tleVNoYXJlMS5uU2hhcmVzWzJdLCBrZXlTaGFyZTMublNoYXJlc1syXV0pLFxuICAgIF07XG5cbiAgICBjb25zdCBbbnRpbGRlMSwgbnRpbGRlMl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBFY2RzYVJhbmdlUHJvb2YuZ2VuZXJhdGVOdGlsZGUoNTEyKSxcbiAgICAgIEVjZHNhUmFuZ2VQcm9vZi5nZW5lcmF0ZU50aWxkZSg1MTIpLFxuICAgIF0pO1xuXG4gICAgY29uc3QgW3NlcmlhbGl6ZU50aWxkZTEsIHNlcmlhbGl6ZU50aWxkZTJdID0gW1xuICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKG50aWxkZTEpLFxuICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKG50aWxkZTIpLFxuICAgIF07XG5cbiAgICBjb25zdCBbaW5kZXgxLCBpbmRleDJdID0gW2tleUNvbWJpbmVkMS54U2hhcmUuaSwga2V5Q29tYmluZWQyLnhTaGFyZS5pXTtcblxuICAgIGNvbnN0IFtwYWlsbGllck4xdG8yLCBwYWlsbGllck4ydG8xXSA9IFtrZXlDb21iaW5lZDEueVNoYXJlc1tpbmRleDJdLm4sIGtleUNvbWJpbmVkMi55U2hhcmVzW2luZGV4MV0ubl07XG5cbiAgICBjb25zdCBbcGFpbGxpZXJDaGFsbGVuZ2VyMXRvMiwgcGFpbGxpZXJDaGFsbGVuZ2VyMnRvMV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBFY2RzYVBhaWxsaWVyUHJvb2YuZ2VuZXJhdGVQKGhleFRvQmlnSW50KHBhaWxsaWVyTjF0bzIpKSxcbiAgICAgIEVjZHNhUGFpbGxpZXJQcm9vZi5nZW5lcmF0ZVAoaGV4VG9CaWdJbnQocGFpbGxpZXJOMnRvMSkpLFxuICAgIF0pO1xuXG4gICAgY29uc3QgW3hTaGFyZTEsIHhTaGFyZTJdID0gW1xuICAgICAgZWNkc2EuYXBwZW5kQ2hhbGxlbmdlKFxuICAgICAgICBrZXlDb21iaW5lZDEueFNoYXJlLFxuICAgICAgICBzZXJpYWxpemVOdGlsZGUxLFxuICAgICAgICBFY2RzYVR5cGVzLnNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlKHsgcDogcGFpbGxpZXJDaGFsbGVuZ2VyMXRvMiB9KVxuICAgICAgKSxcbiAgICAgIGVjZHNhLmFwcGVuZENoYWxsZW5nZShcbiAgICAgICAga2V5Q29tYmluZWQyLnhTaGFyZSxcbiAgICAgICAgc2VyaWFsaXplTnRpbGRlMixcbiAgICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZSh7IHA6IHBhaWxsaWVyQ2hhbGxlbmdlcjJ0bzEgfSlcbiAgICAgICksXG4gICAgXTtcblxuICAgIGNvbnN0IHlTaGFyZTIgPSBlY2RzYS5hcHBlbmRDaGFsbGVuZ2UoXG4gICAgICBrZXlDb21iaW5lZDEueVNoYXJlc1tpbmRleDJdLFxuICAgICAgc2VyaWFsaXplTnRpbGRlMixcbiAgICAgIEVjZHNhVHlwZXMuc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2UoeyBwOiBwYWlsbGllckNoYWxsZW5nZXIydG8xIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHNpZ25TaGFyZXMgPSBhd2FpdCBlY2RzYS5zaWduU2hhcmUoeFNoYXJlMSwgeVNoYXJlMik7XG5cbiAgICBjb25zdCBzaWduQ29udmVydFMyMSA9IGF3YWl0IGVjZHNhLnNpZ25Db252ZXJ0U3RlcDEoe1xuICAgICAgeFNoYXJlOiB4U2hhcmUyLFxuICAgICAgeVNoYXJlOiBrZXlDb21iaW5lZDIueVNoYXJlc1tpbmRleDFdLFxuICAgICAga1NoYXJlOiBzaWduU2hhcmVzLmtTaGFyZSxcbiAgICB9KTtcbiAgICBjb25zdCBzaWduQ29udmVydFMxMiA9IGF3YWl0IGVjZHNhLnNpZ25Db252ZXJ0U3RlcDIoe1xuICAgICAgYVNoYXJlOiBzaWduQ29udmVydFMyMS5hU2hhcmUsXG4gICAgICB3U2hhcmU6IHNpZ25TaGFyZXMud1NoYXJlLFxuICAgIH0pO1xuICAgIGNvbnN0IHNpZ25Db252ZXJ0UzIxXzIgPSBhd2FpdCBlY2RzYS5zaWduQ29udmVydFN0ZXAzKHtcbiAgICAgIG11U2hhcmU6IHNpZ25Db252ZXJ0UzEyLm11U2hhcmUsXG4gICAgICBiU2hhcmU6IHNpZ25Db252ZXJ0UzIxLmJTaGFyZSxcbiAgICB9KTtcblxuICAgIFtzaWduQ29tYmluZTEsIHNpZ25Db21iaW5lMl0gPSBbXG4gICAgICBlY2RzYS5zaWduQ29tYmluZSh7XG4gICAgICAgIGdTaGFyZTogc2lnbkNvbnZlcnRTMTIuZ1NoYXJlLFxuICAgICAgICBzaWduSW5kZXg6IHtcbiAgICAgICAgICBpOiBzaWduQ29udmVydFMxMi5tdVNoYXJlLmksXG4gICAgICAgICAgajogc2lnbkNvbnZlcnRTMTIubXVTaGFyZS5qLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBlY2RzYS5zaWduQ29tYmluZSh7XG4gICAgICAgIGdTaGFyZTogc2lnbkNvbnZlcnRTMjFfMi5nU2hhcmUsXG4gICAgICAgIHNpZ25JbmRleDoge1xuICAgICAgICAgIGk6IHNpZ25Db252ZXJ0UzIxXzIuc2lnbkluZGV4LmksXG4gICAgICAgICAgajogc2lnbkNvbnZlcnRTMjFfMi5zaWduSW5kZXguaixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIF07XG4gIH0pO1xuXG4gIGl0KCdzaWduIHBoYXNlIDUgc2hvdWxkIHN1Y2NlZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVE9ETyhIU00tMTI5KTogVGhlcmUgaXMgYSBidWcgc2lnbmluZyB1bmhhc2hlZCBtZXNzYWdlIChhbHRob3VnaCB0aGlzIGRldmlhdGVzIGZyb20gRFNBIHNwZWMpIGlmIHRoZSBtZXNzYWdlIGlzIGEgbGl0dGxlIGxvbmcuXG4gICAgLy8gICAgICAgU29tZSBkaXNjcmVwYW5jeSBiZXR3ZWVuIEVjZHNhLnNpZ24gYW5kIHNlY3AyNTZrMS5yZWNvdmVyUHVibGljS2V5IG9uIGhhbmRsaW5nIHRoZSBtZXNzYWdlIGlucHV0LlxuICAgIGNvbnN0IG1lc3NhZ2UgPSBCdWZmZXIuZnJvbSgnR0cxOCBQSEFTRSA1Jyk7XG5cbiAgICAvLyBTdGFydGluZyBwaGFzZSA1XG4gICAgLy8gSW4gYWRkaXRpb24gdG8gcmV0dXJuaW5nIHNfaSwgRWNkc2Euc2lnbigpIG5vdyBhbHNvIGNhbGN1bGF0ZXMgZGF0YSBuZWVkZWQgZm9yIHN0ZXBzIDVBIGFuZCA1QjpcbiAgICAvLyAgIC0gc2FtcGxlIHJhbmRvbSBsX2kgYW5kIHJob19pICg1QSlcbiAgICAvLyAgIC0gY29tcHV0ZXMgVl9pIGFuZCBBX2kgKDVCKV1cbiAgICAvLyAgIC0gY29tcHV0ZXMgY29tbWl0bWVudCBhbmQgZGVjb21taXRtZW50IG9mIChWX2ksIEFfaSkgKDVBLCA1QilcbiAgICAvLyAgIC0gZ2VuZXJhdGVzIHByb29mcyBvZiBrbm93bGVkZ2Ugb2Ygc19pLCBsX2ksIHJob19pIHcuci50LiBWX2ksIEFfaSAoNUIpXG4gICAgY29uc3QgW3NpZ24xLCBzaWduMl0gPSBbXG4gICAgICBlY2RzYS5nZW5lcmF0ZVZBUHJvb2ZzKG1lc3NhZ2UsIGVjZHNhLnNpZ24obWVzc2FnZSwgc2lnbkNvbWJpbmUxLm9TaGFyZSwgc2lnbkNvbWJpbmUyLmRTaGFyZSkpLFxuICAgICAgZWNkc2EuZ2VuZXJhdGVWQVByb29mcyhtZXNzYWdlLCBlY2RzYS5zaWduKG1lc3NhZ2UsIHNpZ25Db21iaW5lMi5vU2hhcmUsIHNpZ25Db21iaW5lMS5kU2hhcmUpKSxcbiAgICBdO1xuXG4gICAgc2lnbjEuUi5zaG91bGQuZXF1YWwoc2lnbjIuUik7XG4gICAgc2lnbjEueS5zaG91bGQuZXF1YWwoc2lnbjIueSk7XG4gICAgc2lnbjEubS50b1N0cmluZygnaGV4Jykuc2hvdWxkLmVxdWFsKHNpZ24yLm0udG9TdHJpbmcoJ2hleCcpKTtcblxuICAgIC8vIFN0ZXAgNUE6IENhbGN1bGF0aW9ucyBkb25lIGJ5IEVjZHNhLnNpZ24oKSBhYm92ZSwgYW5kIGJyb2FkY2FzdCBjb21taXRtZW50IG9mIChWX2ksIEFfaSkgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBUaGUgZm9sbG93aW5nIHZhbHVlcyB3aWxsIGJlIHNlbnQgdmlhIGNvbW11bmljYXRpb24gY2hhbm5lbCBhdCB0aGUgZW5kIG9mIDVBLlxuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRWQTEgPSBzaWduMS5jb21EZWNvbVZBLmNvbW1pdG1lbnQ7XG4gICAgLy8gY29uc3QgY29tbWl0bWVudFZBMiA9IHNpZ24yLmNvbURlY29tVkEuY29tbWl0bWVudDtcblxuICAgIC8vIFN0ZXAgNUI6IEFmdGVyIGhhdmluZyByZWNlaXZlZCBhbGwgY29tbWl0bWVudHMgb2YgKFZfaSwgQV9pKSBmcm9tIG90aGVyIHBhcnRpZXMsXG4gICAgLy8gICAgICAgICAgZWFjaCBwYXJ0eSB3aWxsIGJyb2FkY2FzdCBkZWNvbW1pdG1lbnQgb2YgKFZfaSwgQV9pKSBhbmQgWksgcHJvb2ZzIHJldHVybmVkIGJ5IEVjZHNhLnNpZ24oKSBhYm92ZVxuICAgIC8vICAgICAgICAgIHRvIG90aGVyIHBhcnRpZXMuICBUaGVuIEVjZHNhLnZlcmlmeVZBU2hhcmVzKCkgYmVsb3cgd2lsbDpcbiAgICAvLyAgIC0gdmVyaWZ5IGNvbW1pdG1lbnRzIG9mIChWX2ksIEFfaSkgcmVjZWl2ZWQgZnJvbSBvdGhlciBwYXJ0aWVzICg1QilcbiAgICAvLyAgIC0gdmVyaWZ5IFpLIHByb29mcyBvZiAoVl9pLCBBX2kpIHJlY2VpdmVkIGZyb20gb3RoZXIgcGFydGllcyAoNUIpXG4gICAgLy8gICAtIGNhbGN1bGF0ZSBWIG91dCBvZiBHLCB5LCByLCBtLCBhbmQgYWxsIFZfaSwgY2FsY3VsYXRlIEEgYXMgc3VtIG9mIGFsbCBBX2kgKDVCKVxuICAgIC8vICAgLSBjYWxjdWxhdGUgVV9pIGFuZCBUX2kgYW5kIGNvbW1pdG1lbnQgYW5kIGRlY29tbWl0bWVudCBvZiAoVV9pLCBUX2kpICg1QylcbiAgICBjb25zdCBbcHVibGljVkFTaGFyZXNfMSwgcHVibGljVkFTaGFyZXNfMl0gPSBbc2lnbjEgYXMgUHVibGljVkFTaGFyZVdpdGhQcm9vZnMsIHNpZ24yIGFzIFB1YmxpY1ZBU2hhcmVXaXRoUHJvb2ZzXTtcbiAgICBjb25zdCBbVVQxLCBVVDJdID0gW1xuICAgICAgZWNkc2EudmVyaWZ5VkFTaGFyZXMoc2lnbjEsIFtwdWJsaWNWQVNoYXJlc18yXSksXG4gICAgICBlY2RzYS52ZXJpZnlWQVNoYXJlcyhzaWduMiwgW3B1YmxpY1ZBU2hhcmVzXzFdKSxcbiAgICBdO1xuXG4gICAgLy8gU3RlcCA1QzogQ2FsY3VsYXRpb25zIG9mIFVfaSwgVF9pIGRvbmUgYnkgRWNkc2EudmVyaWZ5VkFTaGFyZXMgYWJvdmUsXG4gICAgLy8gICAgICAgICAgYW5kIGJyb2FkY2FzdCBjb21taXRtZW50IG9mIChVX2ksIFRfaSkgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBUaGUgZm9sbG93aW5nIHZhbHVlcyB3aWxsIGJlIHNlbnQgdmlhIGNvbW11bmljYXRpb24gY2hhbm5lbCBhdCB0aGUgZW5kIG9mIDVDLlxuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRVVDEgPSBVVDEuY29tRGVjb21VVC5jb21taXRtZW50O1xuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRVVDIgPSBVVDIuY29tRGVjb21VVC5jb21taXRtZW50O1xuXG4gICAgLy8gU3RlcCA1RDogQWZ0ZXIgaGF2aW5nIHJlY2VpdmVkIGFsbCBjb21taXRtZW50cyBvZiAoVV9pLCBUX2kpIGZyb20gb3RoZXIgcGFydGllcyxcbiAgICAvLyAgICAgICAgICBlYWNoIHBhcnR5IHdpbGwgYnJvYWRjYXN0IGRlY29tbWl0bWVudCBvZiAoVV9pLCBUX2kpIHJldHVybmVkIGJ5IEVjZHNhLnZlcmlmeVZBU2hhcmVzKCkgYWJvdmVcbiAgICAvLyAgICAgICAgICB0byBvdGhlciBwYXJ0aWVzLiAgVGhlbiBFY2RzYS52ZXJpZnlVVFNoYXJlcygpIGJlbG93IHdpbGw6XG4gICAgLy8gIC0gdmVyaWZ5IGNvbW1pdG1lbnRzIG9mIChVX2ksIFRfaSkgcmVjZWl2ZWQgZnJvbSBvdGhlciBwYXJ0aWVzICg1RClcbiAgICAvLyAgLSBjYWxjdWxhdGUgVSBhcyBzdW0gb2YgYWxsIFVfaSwgY2FsY3VsYXRlIFQgYXMgc3VtIG9mIGFsbCBUX2kgKDVEKVxuICAgIC8vICAtIGlmIFUgZXF1YWxzIFQsIHRoZW4gcmV0dXJuIG93biBTU2hhcmUgd2hpY2ggaXMgYmVpbmcgcmV0dXJuZWQgYnkgRWNkc2Euc2lnbigpIHJpZ2h0IG5vdyAoNUUpXG4gICAgY29uc3QgW3B1YmxpY1VUU2hhcmVzXzEsIHB1YmxpY1VUU2hhcmVzXzJdID0gW1VUMSBhcyBQdWJsaWNVVFNoYXJlLCBVVDIgYXMgUHVibGljVVRTaGFyZV07XG4gICAgY29uc3QgW3NpZ25hdHVyZTEsIHNpZ25hdHVyZTJdID0gW1xuICAgICAgZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQxLCBbcHVibGljVVRTaGFyZXNfMl0pLFxuICAgICAgZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQyLCBbcHVibGljVVRTaGFyZXNfMV0pLFxuICAgIF07XG5cbiAgICAvLyBTdGVwIDVFOiBCcm9hZGNhc3Qgc19pIHJldHVybmVkIGJ5IEVjZHNhLnZlcmlmeVVUU2hhcmVzKCkgYWJvdmUgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBWZXJpZnkgdGhlIHN1bSBvZiBzX2kgc2hvdWxkIGJlIGEgdmFsaWQgc2lnbmF0dXJlLlxuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGVjZHNhLmNvbnN0cnVjdFNpZ25hdHVyZShbc2lnbmF0dXJlMSwgc2lnbmF0dXJlMl0pO1xuICAgIGVjZHNhLnZlcmlmeShtZXNzYWdlLCBzaWduYXR1cmUpLnNob3VsZC5iZS50cnVlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaWduIHBoYXNlIDUgZmFpbCAtIG1hbGljaW91cyBwbGF5ZXIgY2hlYXRzIHdpdGggYmFkIHMgc2hhcmUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IEJ1ZmZlci5mcm9tKCdHRzE4IFBIQVNFIDUnKTtcblxuICAgIGNvbnN0IFtzaWduMSwgc2lnbjJdID0gW1xuICAgICAgZWNkc2EuZ2VuZXJhdGVWQVByb29mcyhtZXNzYWdlLCBlY2RzYS5zaWduKG1lc3NhZ2UsIHNpZ25Db21iaW5lMS5vU2hhcmUsIHNpZ25Db21iaW5lMi5kU2hhcmUpKSxcbiAgICAgIGVjZHNhLmdlbmVyYXRlVkFQcm9vZnMobWVzc2FnZSwgZWNkc2Euc2lnbihtZXNzYWdlLCBzaWduQ29tYmluZTIub1NoYXJlLCBzaWduQ29tYmluZTEuZFNoYXJlKSksXG4gICAgXTtcblxuICAgIHNpZ24xLlIuc2hvdWxkLmVxdWFsKHNpZ24yLlIpO1xuICAgIHNpZ24xLnkuc2hvdWxkLmVxdWFsKHNpZ24yLnkpO1xuICAgIHNpZ24xLm0udG9TdHJpbmcoJ2hleCcpLnNob3VsZC5lcXVhbChzaWduMi5tLnRvU3RyaW5nKCdoZXgnKSk7XG5cbiAgICAvLyBDaGFuZ2UgdGhlIHMgc2hhcmUgb2Ygc2lnbjEsIGFuZCByZWNhbGN1YWx0ZSBpdHMgViBhbG9uZyB3aXRoIHRoZSBjb21taXRtZW50L3Byb29mIGJ5IGZvbGxvd2luZyBwcm90b2NvbC5cbiAgICBjb25zdCBiYWRfcyA9IGhleFRvQmlnSW50KHNpZ24xLnMpICsgQmlnSW50KDEpO1xuXG4gICAgY29uc3QgYmFkX1YgPSBFY2RzYS5jdXJ2ZS5wb2ludEFkZChcbiAgICAgIEVjZHNhLmN1cnZlLnBvaW50TXVsdGlwbHkoaGV4VG9CaWdJbnQoc2lnbjEuUiksIGJhZF9zKSxcbiAgICAgIEVjZHNhLmN1cnZlLmJhc2VQb2ludE11bHQoc2lnbjEubClcbiAgICApO1xuXG4gICAgY29uc3QgY29tRGVjb21fVl9BID0gSGFzaENvbW1pdG1lbnQuY3JlYXRlQ29tbWl0bWVudChcbiAgICAgIEJ1ZmZlci5jb25jYXQoW1xuICAgICAgICBiaWdJbnRUb0J1ZmZlckJFKGJhZF9WLCBFY2RzYS5jdXJ2ZS5wb2ludEJ5dGVzKSxcbiAgICAgICAgYmlnSW50VG9CdWZmZXJCRShzaWduMS5BLCBFY2RzYS5jdXJ2ZS5wb2ludEJ5dGVzKSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICBjb25zdCB6a1ZQcm9vZiA9IEVjZHNhWmtWUHJvb2YuY3JlYXRlWmtWUHJvb2YoXG4gICAgICBiYWRfVixcbiAgICAgIGJhZF9zLFxuICAgICAgc2lnbjEubCxcbiAgICAgIGhleFRvQmlnSW50KHNpZ24xLlIpLFxuICAgICAgRWNkc2EuY3VydmUsXG4gICAgICBzaWduMS5wcm9vZkNvbnRleHRcbiAgICApO1xuXG4gICAgc2lnbjEucyA9IGJpZ0ludFRvQnVmZmVyQkUoYmFkX3MsIDMyKS50b1N0cmluZygnaGV4Jyk7XG4gICAgc2lnbjEuViA9IGJhZF9WO1xuICAgIHNpZ24xLmNvbURlY29tVkEgPSBjb21EZWNvbV9WX0E7XG4gICAgc2lnbjEuemtWUHJvb2ZWID0gemtWUHJvb2Y7XG5cbiAgICAvLyA1QiB3aWxsIHBhc3MuXG4gICAgY29uc3QgW3B1YmxpY1ZBU2hhcmVzXzEsIHB1YmxpY1ZBU2hhcmVzXzJdID0gW3NpZ24xIGFzIFB1YmxpY1ZBU2hhcmVXaXRoUHJvb2ZzLCBzaWduMiBhcyBQdWJsaWNWQVNoYXJlV2l0aFByb29mc107XG4gICAgY29uc3QgW1VUMSwgVVQyXSA9IFtcbiAgICAgIGVjZHNhLnZlcmlmeVZBU2hhcmVzKHNpZ24xLCBbcHVibGljVkFTaGFyZXNfMl0pLFxuICAgICAgZWNkc2EudmVyaWZ5VkFTaGFyZXMoc2lnbjIsIFtwdWJsaWNWQVNoYXJlc18xXSksXG4gICAgXTtcblxuICAgIC8vIEJ1dCB2ZXJpZmljYXRpb24gYXQgYmVnaW5uaW5nIG9mIDVFIHdpbGwgZmFpbC5cbiAgICBjb25zdCBbcHVibGljVVRTaGFyZXNfMSwgcHVibGljVVRTaGFyZXNfMl0gPSBbVVQxIGFzIFB1YmxpY1VUU2hhcmUsIFVUMiBhcyBQdWJsaWNVVFNoYXJlXTtcbiAgICAoKCkgPT4gZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQxLCBbcHVibGljVVRTaGFyZXNfMl0pKS5zaG91bGQudGhyb3coJ1N1bSBvZiBhbGwgVV9pIGRvZXMgbm90IG1hdGNoIHN1bSBvZiBhbGwgVF9pJyk7XG4gICAgKCgpID0+IGVjZHNhLnZlcmlmeVVUU2hhcmVzKFVUMiwgW3B1YmxpY1VUU2hhcmVzXzFdKSkuc2hvdWxkLnRocm93KCdTdW0gb2YgYWxsIFVfaSBkb2VzIG5vdCBtYXRjaCBzdW0gb2YgYWxsIFRfaScpO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,3 @@
1
+ import { KeyPair } from 'paillier-bigint';
2
+ export declare const paillierKeyPairs: KeyPair[];
3
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../../../test/unit/account-lib/mpc/tss/ecdsa/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAyB,MAAM,iBAAiB,CAAC;AA6BjE,eAAO,MAAM,gBAAgB,EAAE,OAAO,EAqCrC,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.paillierKeyPairs = void 0;
4
+ const paillier_bigint_1 = require("paillier-bigint");
5
+ const publicKeys = [
6
+ new paillier_bigint_1.PublicKey(BigInt('3518437730951145351153969405615976885875586612922496645574245445216127031520606514090684864227424249504620171792718618318655835059604176086895223218122130603374842608906490090932711342695619354823729164163589735935908909561112685272525215734959274995895515717131806923150148404489283604316199693295008904464797380143833569850254454949598061584597614947438096042565248068205540902771943608979235593863386467044938676089484432095685428898224875330156934212270475973429309610315940313257084886981308879490629114922982078201079417244035483684330790614496883015654779864250773139802691449242751809386246076508441033033875787438106769994777473773577843587255513766172186380773432893155094458795295071990045500434377066399973631859839350568832298574544541461460061653578379835264522618130938456287180741057752096598085536238545459812388164988574312272806538380482853107085667417368295731814476083012880248022728445941326804224018271'), BigInt('3518437730951145351153969405615976885875586612922496645574245445216127031520606514090684864227424249504620171792718618318655835059604176086895223218122130603374842608906490090932711342695619354823729164163589735935908909561112685272525215734959274995895515717131806923150148404489283604316199693295008904464797380143833569850254454949598061584597614947438096042565248068205540902771943608979235593863386467044938676089484432095685428898224875330156934212270475973429309610315940313257084886981308879490629114922982078201079417244035483684330790614496883015654779864250773139802691449242751809386246076508441033033875787438106769994777473773577843587255513766172186380773432893155094458795295071990045500434377066399973631859839350568832298574544541461460061653578379835264522618130938456287180741057752096598085536238545459812388164988574312272806538380482853107085667417368295731814476083012880248022728445941326804224018272')),
7
+ new paillier_bigint_1.PublicKey(BigInt('5559279982102141444483687527548862466257768598087122788426610602416162064004465528776910917990329895625440428771496688358581466716997674065782051738875573947418793741290139012268348264576190413578114255055671604260223691717578543938781643980699133860577846813263416457926621480274559671486488319475586691765346312212218798470822209682230082031002333646042617536574186379916249871150187713311378695878610901721126442273146929401590060078363876898020720156973622679680565202318187214826688272304101857520321139699616513839842158662252363133801939983380610980330143885493939422285231474104648426974953177208821263690228581092542272388157930405271490741811451046888215557955003418443038516373248925906108085466279774161055253482582107416413911841462314957021429394341038514727833235682738563988690797006010996604579336374384930524427328162055172570616748695177742616833011866538256329157653315812135551598449409199647174785933703'), BigInt('5559279982102141444483687527548862466257768598087122788426610602416162064004465528776910917990329895625440428771496688358581466716997674065782051738875573947418793741290139012268348264576190413578114255055671604260223691717578543938781643980699133860577846813263416457926621480274559671486488319475586691765346312212218798470822209682230082031002333646042617536574186379916249871150187713311378695878610901721126442273146929401590060078363876898020720156973622679680565202318187214826688272304101857520321139699616513839842158662252363133801939983380610980330143885493939422285231474104648426974953177208821263690228581092542272388157930405271490741811451046888215557955003418443038516373248925906108085466279774161055253482582107416413911841462314957021429394341038514727833235682738563988690797006010996604579336374384930524427328162055172570616748695177742616833011866538256329157653315812135551598449409199647174785933704')),
8
+ new paillier_bigint_1.PublicKey(BigInt('3419795036051751326232007976609200237604493563463109991478047849314540738441586840435257858661448011715038876170879818674634195871269424409935576422629843144716466096048216628110568712633256882853658852508028698815879196356826463950197968220243367168687232025957988052415497291486819014280368039809296103337800080444783056910949343036177594726564711241012248651433602320774425766350670709203417440194186446326630378750811782924476703620755611181053239997555445969329218286366661563286625968009269681111150677955327096002821916234533692380535533494097687662790678674730094453398816503818796605911919287632160967404198139265262300512143763101956262589394016636681910324066077224948906791740741253137197857372559384081568856164828041560293416959423584053432725168149054199495563681852826407211234156895393425911225194834032552105386598749926944086498223820699058520002597435086472729756391017927757198422498281513733520888377521'), BigInt('3419795036051751326232007976609200237604493563463109991478047849314540738441586840435257858661448011715038876170879818674634195871269424409935576422629843144716466096048216628110568712633256882853658852508028698815879196356826463950197968220243367168687232025957988052415497291486819014280368039809296103337800080444783056910949343036177594726564711241012248651433602320774425766350670709203417440194186446326630378750811782924476703620755611181053239997555445969329218286366661563286625968009269681111150677955327096002821916234533692380535533494097687662790678674730094453398816503818796605911919287632160967404198139265262300512143763101956262589394016636681910324066077224948906791740741253137197857372559384081568856164828041560293416959423584053432725168149054199495563681852826407211234156895393425911225194834032552105386598749926944086498223820699058520002597435086472729756391017927757198422498281513733520888377522')),
9
+ ];
10
+ exports.paillierKeyPairs = [
11
+ {
12
+ publicKey: publicKeys[0],
13
+ privateKey: new paillier_bigint_1.PrivateKey(BigInt('3518437730951145351153969405615976885875586612922496645574245445216127031520606514090684864227424249504620171792718618318655835059604176086895223218122130603374842608906490090932711342695619354823729164163589735935908909561112685272525215734959274995895515717131806923150148404489283604316199693295008904464797380143833569850254454949598061584597614947438096042565248068205540902771943608979235593863386467044938676089484432095685428898224875330156934212270475969536860960023565872542981123884909435922061427075627624118792704816165166060625127329513255846874385408994935858852843242812071436822307528079009173717956004927226512650675594687410809930673446058771235241963897840146296929794819397583948716190167670510409659790464657786142018565143984809488047070179789422758621705591900574320485887237441447809291057152861686147670005549463059161761401467501638476938463710644048912145287816435446796785861244973339835829254944'), BigInt('1435954335320361291464794961141454443124301305901245976109147112229398263957353646916618928299701387179724868183943223273223348983874015884972297309455012981285798675641531110051575263784014434045342072575481009715037360675724480765610962543673424293127443601559011683972147364827088075169004494067132256511169014997312801214885061126770368779683378359021702966973276409294576549331226890331970409259208324445765942474619117302113452059967277594783047695829628325417350082704697181786094004431225754002294780260390999767425213396610936573696235666130372117527334277864037293833144593848612399944960923930804637560601779615923939677804976892228458354767472520726635315271778474008095672038355051137074392455105389034276313836535861874150900910146438695047930390192784363171105023997452851042092518183452361840375191258825712627269056888057997955367097496433884792466698812320228030415823348387779142045639271717733178455170588'), publicKeys[0]),
14
+ },
15
+ {
16
+ publicKey: publicKeys[1],
17
+ privateKey: new paillier_bigint_1.PrivateKey(BigInt('5559279982102141444483687527548862466257768598087122788426610602416162064004465528776910917990329895625440428771496688358581466716997674065782051738875573947418793741290139012268348264576190413578114255055671604260223691717578543938781643980699133860577846813263416457926621480274559671486488319475586691765346312212218798470822209682230082031002333646042617536574186379916249871150187713311378695878610901721126442273146929401590060078363876898020720156973622674917459214741852516981345900007035403677655543520292447501136734695658903501552305868621939665603506890439535893633358635679388704173280597704407784249869083435825580096216792056951652777772325084790884033083743195194233984314273301619289847103060307323101937042652769346485033173578685962753829183263255881024651276523108073638392263520270836771809816056365714686576293840536576656859982412969784955920208267996229471137752388414453868181248934168448241697873608'), BigInt('3545087253251574958946231193307754302702496368842061322605701631179392682484049031268851879338829131287750409102008037785264714507264046091866620325457393115053993553783644546294566765944871675830223346977252181522821466317107259707356811291700597766153934439296020513412674480156405607631434604721517131582417198765391982589413968939353507687212812306398911792725606500867900528158960777454453478505967446238429787033128434906768211821087577157135160935007959241368826299527546564329165846336011830752936072262872818529509088846764172487072929096816657546604984652055659353423508142902833243417603835582239626159824444722637521781718306573132469763605215251474053073410251311302139397891051411492046755767298543679894449942777337267468963843621448649610266490767188327540471071350354239345098152253839232168131344777150952087212365717124179734902521127470811563197968130887499312162481083203285911422057154582020246591526195'), publicKeys[1]),
18
+ },
19
+ {
20
+ publicKey: publicKeys[2],
21
+ privateKey: new paillier_bigint_1.PrivateKey(BigInt('3419795036051751326232007976609200237604493563463109991478047849314540738441586840435257858661448011715038876170879818674634195871269424409935576422629843144716466096048216628110568712633256882853658852508028698815879196356826463950197968220243367168687232025957988052415497291486819014280368039809296103337800080444783056910949343036177594726564711241012248651433602320774425766350670709203417440194186446326630378750811782924476703620755611181053239997555445965288311782600378940005159266407018117662854937249701544829603784020603001619393915920275340316019024841092029013900679814459761895892825132589198134321972278571781649748713522270590229431348193168742886714422893464498090911746357134679085689195281601662838374180952780600462180009886822685921895449695925196876378752420029602659120654628004048931388507249168836539077599849871882190267877916525060795099055438192742273159506669200118769552637205556183311707520112'), BigInt('177120209763047308846671917872191766258562845716846148655573628204942743240582717211152959189705878616028740521793523875278152244758836582001026318687260190614615213016156379672576326076533776745348620135620215693753021483776984072519477214628504495730794382329142010286971822120920010303070395874054923954508028499887057775055090520569174838189376441304667334617739461014338785323126620499537690639064131257257591735087433704543050494588400620387334940102830080958234862328285508917888854545569053258410202932033998009097637980114327997627337605480896849551520859815576589836526732257865487110170226173726132568639349855332977922257053618578739508873290894794772916500559778515040297510082006588678525227147222353568201000290606883100277099893115190381331693317820325104044381663491604446803579063935129364599392501221854190092852624852720770267661722218603192935570194809928758099413718086915919666376302277952983105473163'), publicKeys[2]),
22
+ },
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBaUU7QUFFakUsTUFBTSxVQUFVLEdBQWdCO0lBQzlCLElBQUksMkJBQVMsQ0FDWCxNQUFNLENBQ0osKzVCQUErNUIsQ0FDaDZCLEVBQ0QsTUFBTSxDQUNKLCs1QkFBKzVCLENBQ2g2QixDQUNGO0lBQ0QsSUFBSSwyQkFBUyxDQUNYLE1BQU0sQ0FDSiwrNUJBQSs1QixDQUNoNkIsRUFDRCxNQUFNLENBQ0osKzVCQUErNUIsQ0FDaDZCLENBQ0Y7SUFDRCxJQUFJLDJCQUFTLENBQ1gsTUFBTSxDQUNKLCs1QkFBKzVCLENBQ2g2QixFQUNELE1BQU0sQ0FDSiwrNUJBQSs1QixDQUNoNkIsQ0FDRjtDQUNGLENBQUM7QUFFVyxRQUFBLGdCQUFnQixHQUFjO0lBQ3pDO1FBQ0UsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsVUFBVSxFQUFFLElBQUksNEJBQVUsQ0FDeEIsTUFBTSxDQUNKLCs1QkFBKzVCLENBQ2g2QixFQUNELE1BQU0sQ0FDSiwrNUJBQSs1QixDQUNoNkIsRUFDRCxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQ2Q7S0FDRjtJQUNEO1FBQ0UsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsVUFBVSxFQUFFLElBQUksNEJBQVUsQ0FDeEIsTUFBTSxDQUNKLCs1QkFBKzVCLENBQ2g2QixFQUNELE1BQU0sQ0FDSiwrNUJBQSs1QixDQUNoNkIsRUFDRCxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQ2Q7S0FDRjtJQUNEO1FBQ0UsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsVUFBVSxFQUFFLElBQUksNEJBQVUsQ0FDeEIsTUFBTSxDQUNKLCs1QkFBKzVCLENBQ2g2QixFQUNELE1BQU0sQ0FDSiw4NUJBQTg1QixDQUMvNUIsRUFDRCxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQ2Q7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXlQYWlyLCBQcml2YXRlS2V5LCBQdWJsaWNLZXkgfSBmcm9tICdwYWlsbGllci1iaWdpbnQnO1xuXG5jb25zdCBwdWJsaWNLZXlzOiBQdWJsaWNLZXlbXSA9IFtcbiAgbmV3IFB1YmxpY0tleShcbiAgICBCaWdJbnQoXG4gICAgICAnMzUxODQzNzczMDk1MTE0NTM1MTE1Mzk2OTQwNTYxNTk3Njg4NTg3NTU4NjYxMjkyMjQ5NjY0NTU3NDI0NTQ0NTIxNjEyNzAzMTUyMDYwNjUxNDA5MDY4NDg2NDIyNzQyNDI0OTUwNDYyMDE3MTc5MjcxODYxODMxODY1NTgzNTA1OTYwNDE3NjA4Njg5NTIyMzIxODEyMjEzMDYwMzM3NDg0MjYwODkwNjQ5MDA5MDkzMjcxMTM0MjY5NTYxOTM1NDgyMzcyOTE2NDE2MzU4OTczNTkzNTkwODkwOTU2MTExMjY4NTI3MjUyNTIxNTczNDk1OTI3NDk5NTg5NTUxNTcxNzEzMTgwNjkyMzE1MDE0ODQwNDQ4OTI4MzYwNDMxNjE5OTY5MzI5NTAwODkwNDQ2NDc5NzM4MDE0MzgzMzU2OTg1MDI1NDQ1NDk0OTU5ODA2MTU4NDU5NzYxNDk0NzQzODA5NjA0MjU2NTI0ODA2ODIwNTU0MDkwMjc3MTk0MzYwODk3OTIzNTU5Mzg2MzM4NjQ2NzA0NDkzODY3NjA4OTQ4NDQzMjA5NTY4NTQyODg5ODIyNDg3NTMzMDE1NjkzNDIxMjI3MDQ3NTk3MzQyOTMwOTYxMDMxNTk0MDMxMzI1NzA4NDg4Njk4MTMwODg3OTQ5MDYyOTExNDkyMjk4MjA3ODIwMTA3OTQxNzI0NDAzNTQ4MzY4NDMzMDc5MDYxNDQ5Njg4MzAxNTY1NDc3OTg2NDI1MDc3MzEzOTgwMjY5MTQ0OTI0Mjc1MTgwOTM4NjI0NjA3NjUwODQ0MTAzMzAzMzg3NTc4NzQzODEwNjc2OTk5NDc3NzQ3Mzc3MzU3Nzg0MzU4NzI1NTUxMzc2NjE3MjE4NjM4MDc3MzQzMjg5MzE1NTA5NDQ1ODc5NTI5NTA3MTk5MDA0NTUwMDQzNDM3NzA2NjM5OTk3MzYzMTg1OTgzOTM1MDU2ODgzMjI5ODU3NDU0NDU0MTQ2MTQ2MDA2MTY1MzU3ODM3OTgzNTI2NDUyMjYxODEzMDkzODQ1NjI4NzE4MDc0MTA1Nzc1MjA5NjU5ODA4NTUzNjIzODU0NTQ1OTgxMjM4ODE2NDk4ODU3NDMxMjI3MjgwNjUzODM4MDQ4Mjg1MzEwNzA4NTY2NzQxNzM2ODI5NTczMTgxNDQ3NjA4MzAxMjg4MDI0ODAyMjcyODQ0NTk0MTMyNjgwNDIyNDAxODI3MSdcbiAgICApLFxuICAgIEJpZ0ludChcbiAgICAgICczNTE4NDM3NzMwOTUxMTQ1MzUxMTUzOTY5NDA1NjE1OTc2ODg1ODc1NTg2NjEyOTIyNDk2NjQ1NTc0MjQ1NDQ1MjE2MTI3MDMxNTIwNjA2NTE0MDkwNjg0ODY0MjI3NDI0MjQ5NTA0NjIwMTcxNzkyNzE4NjE4MzE4NjU1ODM1MDU5NjA0MTc2MDg2ODk1MjIzMjE4MTIyMTMwNjAzMzc0ODQyNjA4OTA2NDkwMDkwOTMyNzExMzQyNjk1NjE5MzU0ODIzNzI5MTY0MTYzNTg5NzM1OTM1OTA4OTA5NTYxMTEyNjg1MjcyNTI1MjE1NzM0OTU5Mjc0OTk1ODk1NTE1NzE3MTMxODA2OTIzMTUwMTQ4NDA0NDg5MjgzNjA0MzE2MTk5NjkzMjk1MDA4OTA0NDY0Nzk3MzgwMTQzODMzNTY5ODUwMjU0NDU0OTQ5NTk4MDYxNTg0NTk3NjE0OTQ3NDM4MDk2MDQyNTY1MjQ4MDY4MjA1NTQwOTAyNzcxOTQzNjA4OTc5MjM1NTkzODYzMzg2NDY3MDQ0OTM4Njc2MDg5NDg0NDMyMDk1Njg1NDI4ODk4MjI0ODc1MzMwMTU2OTM0MjEyMjcwNDc1OTczNDI5MzA5NjEwMzE1OTQwMzEzMjU3MDg0ODg2OTgxMzA4ODc5NDkwNjI5MTE0OTIyOTgyMDc4MjAxMDc5NDE3MjQ0MDM1NDgzNjg0MzMwNzkwNjE0NDk2ODgzMDE1NjU0Nzc5ODY0MjUwNzczMTM5ODAyNjkxNDQ5MjQyNzUxODA5Mzg2MjQ2MDc2NTA4NDQxMDMzMDMzODc1Nzg3NDM4MTA2NzY5OTk0Nzc3NDczNzczNTc3ODQzNTg3MjU1NTEzNzY2MTcyMTg2MzgwNzczNDMyODkzMTU1MDk0NDU4Nzk1Mjk1MDcxOTkwMDQ1NTAwNDM0Mzc3MDY2Mzk5OTczNjMxODU5ODM5MzUwNTY4ODMyMjk4NTc0NTQ0NTQxNDYxNDYwMDYxNjUzNTc4Mzc5ODM1MjY0NTIyNjE4MTMwOTM4NDU2Mjg3MTgwNzQxMDU3NzUyMDk2NTk4MDg1NTM2MjM4NTQ1NDU5ODEyMzg4MTY0OTg4NTc0MzEyMjcyODA2NTM4MzgwNDgyODUzMTA3MDg1NjY3NDE3MzY4Mjk1NzMxODE0NDc2MDgzMDEyODgwMjQ4MDIyNzI4NDQ1OTQxMzI2ODA0MjI0MDE4MjcyJ1xuICAgIClcbiAgKSxcbiAgbmV3IFB1YmxpY0tleShcbiAgICBCaWdJbnQoXG4gICAgICAnNTU1OTI3OTk4MjEwMjE0MTQ0NDQ4MzY4NzUyNzU0ODg2MjQ2NjI1Nzc2ODU5ODA4NzEyMjc4ODQyNjYxMDYwMjQxNjE2MjA2NDAwNDQ2NTUyODc3NjkxMDkxNzk5MDMyOTg5NTYyNTQ0MDQyODc3MTQ5NjY4ODM1ODU4MTQ2NjcxNjk5NzY3NDA2NTc4MjA1MTczODg3NTU3Mzk0NzQxODc5Mzc0MTI5MDEzOTAxMjI2ODM0ODI2NDU3NjE5MDQxMzU3ODExNDI1NTA1NTY3MTYwNDI2MDIyMzY5MTcxNzU3ODU0MzkzODc4MTY0Mzk4MDY5OTEzMzg2MDU3Nzg0NjgxMzI2MzQxNjQ1NzkyNjYyMTQ4MDI3NDU1OTY3MTQ4NjQ4ODMxOTQ3NTU4NjY5MTc2NTM0NjMxMjIxMjIxODc5ODQ3MDgyMjIwOTY4MjIzMDA4MjAzMTAwMjMzMzY0NjA0MjYxNzUzNjU3NDE4NjM3OTkxNjI0OTg3MTE1MDE4NzcxMzMxMTM3ODY5NTg3ODYxMDkwMTcyMTEyNjQ0MjI3MzE0NjkyOTQwMTU5MDA2MDA3ODM2Mzg3Njg5ODAyMDcyMDE1Njk3MzYyMjY3OTY4MDU2NTIwMjMxODE4NzIxNDgyNjY4ODI3MjMwNDEwMTg1NzUyMDMyMTEzOTY5OTYxNjUxMzgzOTg0MjE1ODY2MjI1MjM2MzEzMzgwMTkzOTk4MzM4MDYxMDk4MDMzMDE0Mzg4NTQ5MzkzOTQyMjI4NTIzMTQ3NDEwNDY0ODQyNjk3NDk1MzE3NzIwODgyMTI2MzY5MDIyODU4MTA5MjU0MjI3MjM4ODE1NzkzMDQwNTI3MTQ5MDc0MTgxMTQ1MTA0Njg4ODIxNTU1Nzk1NTAwMzQxODQ0MzAzODUxNjM3MzI0ODkyNTkwNjEwODA4NTQ2NjI3OTc3NDE2MTA1NTI1MzQ4MjU4MjEwNzQxNjQxMzkxMTg0MTQ2MjMxNDk1NzAyMTQyOTM5NDM0MTAzODUxNDcyNzgzMzIzNTY4MjczODU2Mzk4ODY5MDc5NzAwNjAxMDk5NjYwNDU3OTMzNjM3NDM4NDkzMDUyNDQyNzMyODE2MjA1NTE3MjU3MDYxNjc0ODY5NTE3Nzc0MjYxNjgzMzAxMTg2NjUzODI1NjMyOTE1NzY1MzMxNTgxMjEzNTU1MTU5ODQ0OTQwOTE5OTY0NzE3NDc4NTkzMzcwMydcbiAgICApLFxuICAgIEJpZ0ludChcbiAgICAgICc1NTU5Mjc5OTgyMTAyMTQxNDQ0NDgzNjg3NTI3NTQ4ODYyNDY2MjU3NzY4NTk4MDg3MTIyNzg4NDI2NjEwNjAyNDE2MTYyMDY0MDA0NDY1NTI4Nzc2OTEwOTE3OTkwMzI5ODk1NjI1NDQwNDI4NzcxNDk2Njg4MzU4NTgxNDY2NzE2OTk3Njc0MDY1NzgyMDUxNzM4ODc1NTczOTQ3NDE4NzkzNzQxMjkwMTM5MDEyMjY4MzQ4MjY0NTc2MTkwNDEzNTc4MTE0MjU1MDU1NjcxNjA0MjYwMjIzNjkxNzE3NTc4NTQzOTM4NzgxNjQzOTgwNjk5MTMzODYwNTc3ODQ2ODEzMjYzNDE2NDU3OTI2NjIxNDgwMjc0NTU5NjcxNDg2NDg4MzE5NDc1NTg2NjkxNzY1MzQ2MzEyMjEyMjE4Nzk4NDcwODIyMjA5NjgyMjMwMDgyMDMxMDAyMzMzNjQ2MDQyNjE3NTM2NTc0MTg2Mzc5OTE2MjQ5ODcxMTUwMTg3NzEzMzExMzc4Njk1ODc4NjEwOTAxNzIxMTI2NDQyMjczMTQ2OTI5NDAxNTkwMDYwMDc4MzYzODc2ODk4MDIwNzIwMTU2OTczNjIyNjc5NjgwNTY1MjAyMzE4MTg3MjE0ODI2Njg4MjcyMzA0MTAxODU3NTIwMzIxMTM5Njk5NjE2NTEzODM5ODQyMTU4NjYyMjUyMzYzMTMzODAxOTM5OTgzMzgwNjEwOTgwMzMwMTQzODg1NDkzOTM5NDIyMjg1MjMxNDc0MTA0NjQ4NDI2OTc0OTUzMTc3MjA4ODIxMjYzNjkwMjI4NTgxMDkyNTQyMjcyMzg4MTU3OTMwNDA1MjcxNDkwNzQxODExNDUxMDQ2ODg4MjE1NTU3OTU1MDAzNDE4NDQzMDM4NTE2MzczMjQ4OTI1OTA2MTA4MDg1NDY2Mjc5Nzc0MTYxMDU1MjUzNDgyNTgyMTA3NDE2NDEzOTExODQxNDYyMzE0OTU3MDIxNDI5Mzk0MzQxMDM4NTE0NzI3ODMzMjM1NjgyNzM4NTYzOTg4NjkwNzk3MDA2MDEwOTk2NjA0NTc5MzM2Mzc0Mzg0OTMwNTI0NDI3MzI4MTYyMDU1MTcyNTcwNjE2NzQ4Njk1MTc3NzQyNjE2ODMzMDExODY2NTM4MjU2MzI5MTU3NjUzMzE1ODEyMTM1NTUxNTk4NDQ5NDA5MTk5NjQ3MTc0Nzg1OTMzNzA0J1xuICAgIClcbiAgKSxcbiAgbmV3IFB1YmxpY0tleShcbiAgICBCaWdJbnQoXG4gICAgICAnMzQxOTc5NTAzNjA1MTc1MTMyNjIzMjAwNzk3NjYwOTIwMDIzNzYwNDQ5MzU2MzQ2MzEwOTk5MTQ3ODA0Nzg0OTMxNDU0MDczODQ0MTU4Njg0MDQzNTI1Nzg1ODY2MTQ0ODAxMTcxNTAzODg3NjE3MDg3OTgxODY3NDYzNDE5NTg3MTI2OTQyNDQwOTkzNTU3NjQyMjYyOTg0MzE0NDcxNjQ2NjA5NjA0ODIxNjYyODExMDU2ODcxMjYzMzI1Njg4Mjg1MzY1ODg1MjUwODAyODY5ODgxNTg3OTE5NjM1NjgyNjQ2Mzk1MDE5Nzk2ODIyMDI0MzM2NzE2ODY4NzIzMjAyNTk1Nzk4ODA1MjQxNTQ5NzI5MTQ4NjgxOTAxNDI4MDM2ODAzOTgwOTI5NjEwMzMzNzgwMDA4MDQ0NDc4MzA1NjkxMDk0OTM0MzAzNjE3NzU5NDcyNjU2NDcxMTI0MTAxMjI0ODY1MTQzMzYwMjMyMDc3NDQyNTc2NjM1MDY3MDcwOTIwMzQxNzQ0MDE5NDE4NjQ0NjMyNjYzMDM3ODc1MDgxMTc4MjkyNDQ3NjcwMzYyMDc1NTYxMTE4MTA1MzIzOTk5NzU1NTQ0NTk2OTMyOTIxODI4NjM2NjY2MTU2MzI4NjYyNTk2ODAwOTI2OTY4MTExMTE1MDY3Nzk1NTMyNzA5NjAwMjgyMTkxNjIzNDUzMzY5MjM4MDUzNTUzMzQ5NDA5NzY4NzY2Mjc5MDY3ODY3NDczMDA5NDQ1MzM5ODgxNjUwMzgxODc5NjYwNTkxMTkxOTI4NzYzMjE2MDk2NzQwNDE5ODEzOTI2NTI2MjMwMDUxMjE0Mzc2MzEwMTk1NjI2MjU4OTM5NDAxNjYzNjY4MTkxMDMyNDA2NjA3NzIyNDk0ODkwNjc5MTc0MDc0MTI1MzEzNzE5Nzg1NzM3MjU1OTM4NDA4MTU2ODg1NjE2NDgyODA0MTU2MDI5MzQxNjk1OTQyMzU4NDA1MzQzMjcyNTE2ODE0OTA1NDE5OTQ5NTU2MzY4MTg1MjgyNjQwNzIxMTIzNDE1Njg5NTM5MzQyNTkxMTIyNTE5NDgzNDAzMjU1MjEwNTM4NjU5ODc0OTkyNjk0NDA4NjQ5ODIyMzgyMDY5OTA1ODUyMDAwMjU5NzQzNTA4NjQ3MjcyOTc1NjM5MTAxNzkyNzc1NzE5ODQyMjQ5ODI4MTUxMzczMzUyMDg4ODM3NzUyMSdcbiAgICApLFxuICAgIEJpZ0ludChcbiAgICAgICczNDE5Nzk1MDM2MDUxNzUxMzI2MjMyMDA3OTc2NjA5MjAwMjM3NjA0NDkzNTYzNDYzMTA5OTkxNDc4MDQ3ODQ5MzE0NTQwNzM4NDQxNTg2ODQwNDM1MjU3ODU4NjYxNDQ4MDExNzE1MDM4ODc2MTcwODc5ODE4Njc0NjM0MTk1ODcxMjY5NDI0NDA5OTM1NTc2NDIyNjI5ODQzMTQ0NzE2NDY2MDk2MDQ4MjE2NjI4MTEwNTY4NzEyNjMzMjU2ODgyODUzNjU4ODUyNTA4MDI4Njk4ODE1ODc5MTk2MzU2ODI2NDYzOTUwMTk3OTY4MjIwMjQzMzY3MTY4Njg3MjMyMDI1OTU3OTg4MDUyNDE1NDk3MjkxNDg2ODE5MDE0MjgwMzY4MDM5ODA5Mjk2MTAzMzM3ODAwMDgwNDQ0NzgzMDU2OTEwOTQ5MzQzMDM2MTc3NTk0NzI2NTY0NzExMjQxMDEyMjQ4NjUxNDMzNjAyMzIwNzc0NDI1NzY2MzUwNjcwNzA5MjAzNDE3NDQwMTk0MTg2NDQ2MzI2NjMwMzc4NzUwODExNzgyOTI0NDc2NzAzNjIwNzU1NjExMTgxMDUzMjM5OTk3NTU1NDQ1OTY5MzI5MjE4Mjg2MzY2NjYxNTYzMjg2NjI1OTY4MDA5MjY5NjgxMTExMTUwNjc3OTU1MzI3MDk2MDAyODIxOTE2MjM0NTMzNjkyMzgwNTM1NTMzNDk0MDk3Njg3NjYyNzkwNjc4Njc0NzMwMDk0NDUzMzk4ODE2NTAzODE4Nzk2NjA1OTExOTE5Mjg3NjMyMTYwOTY3NDA0MTk4MTM5MjY1MjYyMzAwNTEyMTQzNzYzMTAxOTU2MjYyNTg5Mzk0MDE2NjM2NjgxOTEwMzI0MDY2MDc3MjI0OTQ4OTA2NzkxNzQwNzQxMjUzMTM3MTk3ODU3MzcyNTU5Mzg0MDgxNTY4ODU2MTY0ODI4MDQxNTYwMjkzNDE2OTU5NDIzNTg0MDUzNDMyNzI1MTY4MTQ5MDU0MTk5NDk1NTYzNjgxODUyODI2NDA3MjExMjM0MTU2ODk1MzkzNDI1OTExMjI1MTk0ODM0MDMyNTUyMTA1Mzg2NTk4NzQ5OTI2OTQ0MDg2NDk4MjIzODIwNjk5MDU4NTIwMDAyNTk3NDM1MDg2NDcyNzI5NzU2MzkxMDE3OTI3NzU3MTk4NDIyNDk4MjgxNTEzNzMzNTIwODg4Mzc3NTIyJ1xuICAgIClcbiAgKSxcbl07XG5cbmV4cG9ydCBjb25zdCBwYWlsbGllcktleVBhaXJzOiBLZXlQYWlyW10gPSBbXG4gIHtcbiAgICBwdWJsaWNLZXk6IHB1YmxpY0tleXNbMF0sXG4gICAgcHJpdmF0ZUtleTogbmV3IFByaXZhdGVLZXkoXG4gICAgICBCaWdJbnQoXG4gICAgICAgICczNTE4NDM3NzMwOTUxMTQ1MzUxMTUzOTY5NDA1NjE1OTc2ODg1ODc1NTg2NjEyOTIyNDk2NjQ1NTc0MjQ1NDQ1MjE2MTI3MDMxNTIwNjA2NTE0MDkwNjg0ODY0MjI3NDI0MjQ5NTA0NjIwMTcxNzkyNzE4NjE4MzE4NjU1ODM1MDU5NjA0MTc2MDg2ODk1MjIzMjE4MTIyMTMwNjAzMzc0ODQyNjA4OTA2NDkwMDkwOTMyNzExMzQyNjk1NjE5MzU0ODIzNzI5MTY0MTYzNTg5NzM1OTM1OTA4OTA5NTYxMTEyNjg1MjcyNTI1MjE1NzM0OTU5Mjc0OTk1ODk1NTE1NzE3MTMxODA2OTIzMTUwMTQ4NDA0NDg5MjgzNjA0MzE2MTk5NjkzMjk1MDA4OTA0NDY0Nzk3MzgwMTQzODMzNTY5ODUwMjU0NDU0OTQ5NTk4MDYxNTg0NTk3NjE0OTQ3NDM4MDk2MDQyNTY1MjQ4MDY4MjA1NTQwOTAyNzcxOTQzNjA4OTc5MjM1NTkzODYzMzg2NDY3MDQ0OTM4Njc2MDg5NDg0NDMyMDk1Njg1NDI4ODk4MjI0ODc1MzMwMTU2OTM0MjEyMjcwNDc1OTY5NTM2ODYwOTYwMDIzNTY1ODcyNTQyOTgxMTIzODg0OTA5NDM1OTIyMDYxNDI3MDc1NjI3NjI0MTE4NzkyNzA0ODE2MTY1MTY2MDYwNjI1MTI3MzI5NTEzMjU1ODQ2ODc0Mzg1NDA4OTk0OTM1ODU4ODUyODQzMjQyODEyMDcxNDM2ODIyMzA3NTI4MDc5MDA5MTczNzE3OTU2MDA0OTI3MjI2NTEyNjUwNjc1NTk0Njg3NDEwODA5OTMwNjczNDQ2MDU4NzcxMjM1MjQxOTYzODk3ODQwMTQ2Mjk2OTI5Nzk0ODE5Mzk3NTgzOTQ4NzE2MTkwMTY3NjcwNTEwNDA5NjU5NzkwNDY0NjU3Nzg2MTQyMDE4NTY1MTQzOTg0ODA5NDg4MDQ3MDcwMTc5Nzg5NDIyNzU4NjIxNzA1NTkxOTAwNTc0MzIwNDg1ODg3MjM3NDQxNDQ3ODA5MjkxMDU3MTUyODYxNjg2MTQ3NjcwMDA1NTQ5NDYzMDU5MTYxNzYxNDAxNDY3NTAxNjM4NDc2OTM4NDYzNzEwNjQ0MDQ4OTEyMTQ1Mjg3ODE2NDM1NDQ2Nzk2Nzg1ODYxMjQ0OTczMzM5ODM1ODI5MjU0OTQ0J1xuICAgICAgKSxcbiAgICAgIEJpZ0ludChcbiAgICAgICAgJzE0MzU5NTQzMzUzMjAzNjEyOTE0NjQ3OTQ5NjExNDE0NTQ0NDMxMjQzMDEzMDU5MDEyNDU5NzYxMDkxNDcxMTIyMjkzOTgyNjM5NTczNTM2NDY5MTY2MTg5MjgyOTk3MDEzODcxNzk3MjQ4NjgxODM5NDMyMjMyNzMyMjMzNDg5ODM4NzQwMTU4ODQ5NzIyOTczMDk0NTUwMTI5ODEyODU3OTg2NzU2NDE1MzExMTAwNTE1NzUyNjM3ODQwMTQ0MzQwNDUzNDIwNzI1NzU0ODEwMDk3MTUwMzczNjA2NzU3MjQ0ODA3NjU2MTA5NjI1NDM2NzM0MjQyOTMxMjc0NDM2MDE1NTkwMTE2ODM5NzIxNDczNjQ4MjcwODgwNzUxNjkwMDQ0OTQwNjcxMzIyNTY1MTExNjkwMTQ5OTczMTI4MDEyMTQ4ODUwNjExMjY3NzAzNjg3Nzk2ODMzNzgzNTkwMjE3MDI5NjY5NzMyNzY0MDkyOTQ1NzY1NDkzMzEyMjY4OTAzMzE5NzA0MDkyNTkyMDgzMjQ0NDU3NjU5NDI0NzQ2MTkxMTczMDIxMTM0NTIwNTk5NjcyNzc1OTQ3ODMwNDc2OTU4Mjk2MjgzMjU0MTczNTAwODI3MDQ2OTcxODE3ODYwOTQwMDQ0MzEyMjU3NTQwMDIyOTQ3ODAyNjAzOTA5OTk3Njc0MjUyMTMzOTY2MTA5MzY1NzM2OTYyMzU2NjYxMzAzNzIxMTc1MjczMzQyNzc4NjQwMzcyOTM4MzMxNDQ1OTM4NDg2MTIzOTk5NDQ5NjA5MjM5MzA4MDQ2Mzc1NjA2MDE3Nzk2MTU5MjM5Mzk2Nzc4MDQ5NzY4OTIyMjg0NTgzNTQ3Njc0NzI1MjA3MjY2MzUzMTUyNzE3Nzg0NzQwMDgwOTU2NzIwMzgzNTUwNTExMzcwNzQzOTI0NTUxMDUzODkwMzQyNzYzMTM4MzY1MzU4NjE4NzQxNTA5MDA5MTAxNDY0Mzg2OTUwNDc5MzAzOTAxOTI3ODQzNjMxNzExMDUwMjM5OTc0NTI4NTEwNDIwOTI1MTgxODM0NTIzNjE4NDAzNzUxOTEyNTg4MjU3MTI2MjcyNjkwNTY4ODgwNTc5OTc5NTUzNjcwOTc0OTY0MzM4ODQ3OTI0NjY2OTg4MTIzMjAyMjgwMzA0MTU4MjMzNDgzODc3NzkxNDIwNDU2MzkyNzE3MTc3MzMxNzg0NTUxNzA1ODgnXG4gICAgICApLFxuICAgICAgcHVibGljS2V5c1swXVxuICAgICksXG4gIH0sXG4gIHtcbiAgICBwdWJsaWNLZXk6IHB1YmxpY0tleXNbMV0sXG4gICAgcHJpdmF0ZUtleTogbmV3IFByaXZhdGVLZXkoXG4gICAgICBCaWdJbnQoXG4gICAgICAgICc1NTU5Mjc5OTgyMTAyMTQxNDQ0NDgzNjg3NTI3NTQ4ODYyNDY2MjU3NzY4NTk4MDg3MTIyNzg4NDI2NjEwNjAyNDE2MTYyMDY0MDA0NDY1NTI4Nzc2OTEwOTE3OTkwMzI5ODk1NjI1NDQwNDI4NzcxNDk2Njg4MzU4NTgxNDY2NzE2OTk3Njc0MDY1NzgyMDUxNzM4ODc1NTczOTQ3NDE4NzkzNzQxMjkwMTM5MDEyMjY4MzQ4MjY0NTc2MTkwNDEzNTc4MTE0MjU1MDU1NjcxNjA0MjYwMjIzNjkxNzE3NTc4NTQzOTM4NzgxNjQzOTgwNjk5MTMzODYwNTc3ODQ2ODEzMjYzNDE2NDU3OTI2NjIxNDgwMjc0NTU5NjcxNDg2NDg4MzE5NDc1NTg2NjkxNzY1MzQ2MzEyMjEyMjE4Nzk4NDcwODIyMjA5NjgyMjMwMDgyMDMxMDAyMzMzNjQ2MDQyNjE3NTM2NTc0MTg2Mzc5OTE2MjQ5ODcxMTUwMTg3NzEzMzExMzc4Njk1ODc4NjEwOTAxNzIxMTI2NDQyMjczMTQ2OTI5NDAxNTkwMDYwMDc4MzYzODc2ODk4MDIwNzIwMTU2OTczNjIyNjc0OTE3NDU5MjE0NzQxODUyNTE2OTgxMzQ1OTAwMDA3MDM1NDAzNjc3NjU1NTQzNTIwMjkyNDQ3NTAxMTM2NzM0Njk1NjU4OTAzNTAxNTUyMzA1ODY4NjIxOTM5NjY1NjAzNTA2ODkwNDM5NTM1ODkzNjMzMzU4NjM1Njc5Mzg4NzA0MTczMjgwNTk3NzA0NDA3Nzg0MjQ5ODY5MDgzNDM1ODI1NTgwMDk2MjE2NzkyMDU2OTUxNjUyNzc3NzcyMzI1MDg0NzkwODg0MDMzMDgzNzQzMTk1MTk0MjMzOTg0MzE0MjczMzAxNjE5Mjg5ODQ3MTAzMDYwMzA3MzIzMTAxOTM3MDQyNjUyNzY5MzQ2NDg1MDMzMTczNTc4Njg1OTYyNzUzODI5MTgzMjYzMjU1ODgxMDI0NjUxMjc2NTIzMTA4MDczNjM4MzkyMjYzNTIwMjcwODM2NzcxODA5ODE2MDU2MzY1NzE0Njg2NTc2MjkzODQwNTM2NTc2NjU2ODU5OTgyNDEyOTY5Nzg0OTU1OTIwMjA4MjY3OTk2MjI5NDcxMTM3NzUyMzg4NDE0NDUzODY4MTgxMjQ4OTM0MTY4NDQ4MjQxNjk3ODczNjA4J1xuICAgICAgKSxcbiAgICAgIEJpZ0ludChcbiAgICAgICAgJzM1NDUwODcyNTMyNTE1NzQ5NTg5NDYyMzExOTMzMDc3NTQzMDI3MDI0OTYzNjg4NDIwNjEzMjI2MDU3MDE2MzExNzkzOTI2ODI0ODQwNDkwMzEyNjg4NTE4NzkzMzg4MjkxMzEyODc3NTA0MDkxMDIwMDgwMzc3ODUyNjQ3MTQ1MDcyNjQwNDYwOTE4NjY2MjAzMjU0NTczOTMxMTUwNTM5OTM1NTM3ODM2NDQ1NDYyOTQ1NjY3NjU5NDQ4NzE2NzU4MzAyMjMzNDY5NzcyNTIxODE1MjI4MjE0NjYzMTcxMDcyNTk3MDczNTY4MTEyOTE3MDA1OTc3NjYxNTM5MzQ0MzkyOTYwMjA1MTM0MTI2NzQ0ODAxNTY0MDU2MDc2MzE0MzQ2MDQ3MjE1MTcxMzE1ODI0MTcxOTg3NjUzOTE5ODI1ODk0MTM5Njg5MzkzNTM1MDc2ODcyMTI4MTIzMDYzOTg5MTE3OTI3MjU2MDY1MDA4Njc5MDA1MjgxNTg5NjA3Nzc0NTQ0NTM0Nzg1MDU5Njc0NDYyMzg0Mjk3ODcwMzMxMjg0MzQ5MDY3NjgyMTE4MjEwODc1NzcxNTcxMzUxNjA5MzUwMDc5NTkyNDEzNjg4MjYyOTk1Mjc1NDY1NjQzMjkxNjU4NDYzMzYwMTE4MzA3NTI5MzYwNzIyNjI4NzI4MTg1Mjk1MDkwODg4NDY3NjQxNzI0ODcwNzI5MjkwOTY4MTY2NTc1NDY2MDQ5ODQ2NTIwNTU2NTkzNTM0MjM1MDgxNDI5MDI4MzMyNDM0MTc2MDM4MzU1ODIyMzk2MjYxNTk4MjQ0NDQ3MjI2Mzc1MjE3ODE3MTgzMDY1NzMxMzI0Njk3NjM2MDUyMTUyNTE0NzQwNTMwNzM0MTAyNTEzMTEzMDIxMzkzOTc4OTEwNTE0MTE0OTIwNDY3NTU3NjcyOTg1NDM2Nzk4OTQ0NDk5NDI3NzczMzcyNjc0Njg5NjM4NDM2MjE0NDg2NDk2MTAyNjY0OTA3NjcxODgzMjc1NDA0NzEwNzEzNTAzNTQyMzkzNDUwOTgxNTIyNTM4MzkyMzIxNjgxMzEzNDQ3NzcxNTA5NTIwODcyMTIzNjU3MTcxMjQxNzk3MzQ5MDI1MjExMjc0NzA4MTE1NjMxOTc5NjgxMzA4ODc0OTkzMTIxNjI0ODEwODMyMDMyODU5MTE0MjIwNTcxNTQ1ODIwMjAyNDY1OTE1MjYxOTUnXG4gICAgICApLFxuICAgICAgcHVibGljS2V5c1sxXVxuICAgICksXG4gIH0sXG4gIHtcbiAgICBwdWJsaWNLZXk6IHB1YmxpY0tleXNbMl0sXG4gICAgcHJpdmF0ZUtleTogbmV3IFByaXZhdGVLZXkoXG4gICAgICBCaWdJbnQoXG4gICAgICAgICczNDE5Nzk1MDM2MDUxNzUxMzI2MjMyMDA3OTc2NjA5MjAwMjM3NjA0NDkzNTYzNDYzMTA5OTkxNDc4MDQ3ODQ5MzE0NTQwNzM4NDQxNTg2ODQwNDM1MjU3ODU4NjYxNDQ4MDExNzE1MDM4ODc2MTcwODc5ODE4Njc0NjM0MTk1ODcxMjY5NDI0NDA5OTM1NTc2NDIyNjI5ODQzMTQ0NzE2NDY2MDk2MDQ4MjE2NjI4MTEwNTY4NzEyNjMzMjU2ODgyODUzNjU4ODUyNTA4MDI4Njk4ODE1ODc5MTk2MzU2ODI2NDYzOTUwMTk3OTY4MjIwMjQzMzY3MTY4Njg3MjMyMDI1OTU3OTg4MDUyNDE1NDk3MjkxNDg2ODE5MDE0MjgwMzY4MDM5ODA5Mjk2MTAzMzM3ODAwMDgwNDQ0NzgzMDU2OTEwOTQ5MzQzMDM2MTc3NTk0NzI2NTY0NzExMjQxMDEyMjQ4NjUxNDMzNjAyMzIwNzc0NDI1NzY2MzUwNjcwNzA5MjAzNDE3NDQwMTk0MTg2NDQ2MzI2NjMwMzc4NzUwODExNzgyOTI0NDc2NzAzNjIwNzU1NjExMTgxMDUzMjM5OTk3NTU1NDQ1OTY1Mjg4MzExNzgyNjAwMzc4OTQwMDA1MTU5MjY2NDA3MDE4MTE3NjYyODU0OTM3MjQ5NzAxNTQ0ODI5NjAzNzg0MDIwNjAzMDAxNjE5MzkzOTE1OTIwMjc1MzQwMzE2MDE5MDI0ODQxMDkyMDI5MDEzOTAwNjc5ODE0NDU5NzYxODk1ODkyODI1MTMyNTg5MTk4MTM0MzIxOTcyMjc4NTcxNzgxNjQ5NzQ4NzEzNTIyMjcwNTkwMjI5NDMxMzQ4MTkzMTY4NzQyODg2NzE0NDIyODkzNDY0NDk4MDkwOTExNzQ2MzU3MTM0Njc5MDg1Njg5MTk1MjgxNjAxNjYyODM4Mzc0MTgwOTUyNzgwNjAwNDYyMTgwMDA5ODg2ODIyNjg1OTIxODk1NDQ5Njk1OTI1MTk2ODc2Mzc4NzUyNDIwMDI5NjAyNjU5MTIwNjU0NjI4MDA0MDQ4OTMxMzg4NTA3MjQ5MTY4ODM2NTM5MDc3NTk5ODQ5ODcxODgyMTkwMjY3ODc3OTE2NTI1MDYwNzk1MDk5MDU1NDM4MTkyNzQyMjczMTU5NTA2NjY5MjAwMTE4NzY5NTUyNjM3MjA1NTU2MTgzMzExNzA3NTIwMTEyJ1xuICAgICAgKSxcbiAgICAgIEJpZ0ludChcbiAgICAgICAgJzE3NzEyMDIwOTc2MzA0NzMwODg0NjY3MTkxNzg3MjE5MTc2NjI1ODU2Mjg0NTcxNjg0NjE0ODY1NTU3MzYyODIwNDk0Mjc0MzI0MDU4MjcxNzIxMTE1Mjk1OTE4OTcwNTg3ODYxNjAyODc0MDUyMTc5MzUyMzg3NTI3ODE1MjI0NDc1ODgzNjU4MjAwMTAyNjMxODY4NzI2MDE5MDYxNDYxNTIxMzAxNjE1NjM3OTY3MjU3NjMyNjA3NjUzMzc3Njc0NTM0ODYyMDEzNTYyMDIxNTY5Mzc1MzAyMTQ4Mzc3Njk4NDA3MjUxOTQ3NzIxNDYyODUwNDQ5NTczMDc5NDM4MjMyOTE0MjAxMDI4Njk3MTgyMjEyMDkyMDAxMDMwMzA3MDM5NTg3NDA1NDkyMzk1NDUwODAyODQ5OTg4NzA1Nzc3NTA1NTA5MDUyMDU2OTE3NDgzODE4OTM3NjQ0MTMwNDY2NzMzNDYxNzczOTQ2MTAxNDMzODc4NTMyMzEyNjYyMDQ5OTUzNzY5MDYzOTA2NDEzMTI1NzI1NzU5MTczNTA4NzQzMzcwNDU0MzA1MDQ5NDU4ODQwMDYyMDM4NzMzNDk0MDEwMjgzMDA4MDk1ODIzNDg2MjMyODI4NTUwODkxNzg4ODg1NDU0NTU2OTA1MzI1ODQxMDIwMjkzMjAzMzk5ODAwOTA5NzYzNzk4MDExNDMyNzk5NzYyNzMzNzYwNTQ4MDg5Njg0OTU1MTUyMDg1OTgxNTU3NjU4OTgzNjUyNjczMjI1Nzg2NTQ4NzExMDE3MDIyNjE3MzcyNjEzMjU2ODYzOTM0OTg1NTMzMjk3NzkyMjI1NzA1MzYxODU3ODczOTUwODg3MzI5MDg5NDc5NDc3MjkxNjUwMDU1OTc3ODUxNTA0MDI5NzUxMDA4MjAwNjU4ODY3ODUyNTIyNzE0NzIyMjM1MzU2ODIwMTAwMDI5MDYwNjg4MzEwMDI3NzA5OTg5MzExNTE5MDM4MTMzMTY5MzMxNzgyMDMyNTEwNDA0NDM4MTY2MzQ5MTYwNDQ0NjgwMzU3OTA2MzkzNTEyOTM2NDU5OTM5MjUwMTIyMTg1NDE5MDA5Mjg1MjYyNDg1MjcyMDc3MDI2NzY2MTcyMjIxODYwMzE5MjkzNTU3MDE5NDgwOTkyODc1ODA5OTQxMzcxODA4NjkxNTkxOTY2NjM3NjMwMjI3Nzk1Mjk4MzEwNTQ3MzE2MydcbiAgICAgICksXG4gICAgICBwdWJsaWNLZXlzWzJdXG4gICAgKSxcbiAgfSxcbl07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=postWithCodec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postWithCodec.d.ts","sourceRoot":"","sources":["../../../../../test/unit/bitgo/utils/postWithCodec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const assert_1 = __importDefault(require("assert"));
26
+ const t = __importStar(require("io-ts"));
27
+ const superagent_1 = require("superagent");
28
+ const postWithCodec_1 = require("../../../../src/bitgo/utils/postWithCodec");
29
+ describe('postWithCodec', function () {
30
+ function getRequest(codec, body, { useEncodedBody = true } = {}) {
31
+ const request = postWithCodec_1.postWithCodec(superagent_1.agent(), 'http://example.com', codec, body, {
32
+ useEncodedBody,
33
+ });
34
+ return {
35
+ headers: request.header,
36
+ body: request._data,
37
+ };
38
+ }
39
+ function assertRequestContains(request, body, headers) {
40
+ assert_1.default.deepStrictEqual(request.body, body);
41
+ for (const [key, value] of Object.entries(headers)) {
42
+ assert_1.default.deepStrictEqual(request.headers[key], value, `header ${key} does not match`);
43
+ }
44
+ }
45
+ const codec = t.exact(t.intersection([t.type({ foo: t.string }), t.partial({ bar: t.unknown })]));
46
+ it('has expected values with value matching codec', function () {
47
+ assertRequestContains(getRequest(codec, { foo: 'bar' }), { foo: 'bar' }, {
48
+ 'io-ts-codec-encode-error': 'false',
49
+ 'io-ts-codec-decode-error': '',
50
+ 'io-ts-unknown-properties': '',
51
+ });
52
+ assertRequestContains(getRequest(codec, { foo: 'bar', bar: null }), { foo: 'bar', bar: null }, {
53
+ 'io-ts-codec-encode-error': 'false',
54
+ 'io-ts-codec-decode-error': '',
55
+ 'io-ts-unknown-properties': '',
56
+ });
57
+ });
58
+ it('has expected values with value not matching codec', function () {
59
+ // invalid value
60
+ assertRequestContains(getRequest(codec, { foo: null }), { foo: null }, {
61
+ 'io-ts-codec-encode-error': 'false',
62
+ 'io-ts-codec-decode-error': '0.foo',
63
+ 'io-ts-unknown-properties': '',
64
+ });
65
+ // non-exact value
66
+ assertRequestContains(getRequest(codec, { foo: 'bar', boo: 1 }), { foo: 'bar' }, {
67
+ 'io-ts-codec-encode-error': 'false',
68
+ 'io-ts-codec-decode-error': '',
69
+ 'io-ts-unknown-properties': 'boo',
70
+ });
71
+ // non-exact value, useEncodedBody=false
72
+ assertRequestContains(getRequest(codec, { foo: 'bar', boo: 1 }, { useEncodedBody: false }), { foo: 'bar', boo: 1 }, {
73
+ 'io-ts-codec-encode-error': 'false',
74
+ 'io-ts-codec-decode-error': '',
75
+ 'io-ts-unknown-properties': 'boo',
76
+ });
77
+ });
78
+ });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdFdpdGhDb2RlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby91dGlscy9wb3N0V2l0aENvZGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUM1Qix5Q0FBMkI7QUFDM0IsMkNBQXNEO0FBRXRELDZFQUEwRTtBQUUxRSxRQUFRLENBQUMsZUFBZSxFQUFFO0lBRXhCLFNBQVMsVUFBVSxDQUNqQixLQUFtQixFQUNuQixJQUFPLEVBQ1AsRUFBRSxjQUFjLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRTtRQUs5QixNQUFNLE9BQU8sR0FBRyw2QkFBYSxDQUFDLGtCQUFLLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQ3hFLGNBQWM7U0FDZixDQU9BLENBQUM7UUFDRixPQUFPO1lBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3ZCLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSztTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMscUJBQXFCLENBQzVCLE9BR0MsRUFDRCxJQUFhLEVBQ2IsT0FBZ0I7UUFFaEIsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsRCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztTQUNyRjtJQUNILENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEcsRUFBRSxDQUFDLCtDQUErQyxFQUFFO1FBQ2xELHFCQUFxQixDQUNuQixVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQ2pDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUNkO1lBQ0UsMEJBQTBCLEVBQUUsT0FBTztZQUNuQywwQkFBMEIsRUFBRSxFQUFFO1lBQzlCLDBCQUEwQixFQUFFLEVBQUU7U0FDL0IsQ0FDRixDQUFDO1FBRUYscUJBQXFCLENBQ25CLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUM1QyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUN6QjtZQUNFLDBCQUEwQixFQUFFLE9BQU87WUFDbkMsMEJBQTBCLEVBQUUsRUFBRTtZQUM5QiwwQkFBMEIsRUFBRSxFQUFFO1NBQy9CLENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG1EQUFtRCxFQUFFO1FBQ3RELGdCQUFnQjtRQUNoQixxQkFBcUIsQ0FDbkIsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQVMsQ0FBQyxFQUN2QyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFDYjtZQUNFLDBCQUEwQixFQUFFLE9BQU87WUFDbkMsMEJBQTBCLEVBQUUsT0FBTztZQUNuQywwQkFBMEIsRUFBRSxFQUFFO1NBQy9CLENBQ0YsQ0FBQztRQUVGLGtCQUFrQjtRQUNsQixxQkFBcUIsQ0FDbkIsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBUyxDQUFDLEVBQ2hELEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUNkO1lBQ0UsMEJBQTBCLEVBQUUsT0FBTztZQUNuQywwQkFBMEIsRUFBRSxFQUFFO1lBQzlCLDBCQUEwQixFQUFFLEtBQUs7U0FDbEMsQ0FDRixDQUFDO1FBRUYsd0NBQXdDO1FBQ3hDLHFCQUFxQixDQUNuQixVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFDM0UsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFDdEI7WUFDRSwwQkFBMEIsRUFBRSxPQUFPO1lBQ25DLDBCQUEwQixFQUFFLEVBQUU7WUFDOUIsMEJBQTBCLEVBQUUsS0FBSztTQUNsQyxDQUNGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5pbXBvcnQgeyBhZ2VudCwgU3VwZXJBZ2VudFJlcXVlc3QgfSBmcm9tICdzdXBlcmFnZW50JztcblxuaW1wb3J0IHsgcG9zdFdpdGhDb2RlYyB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy9wb3N0V2l0aENvZGVjJztcblxuZGVzY3JpYmUoJ3Bvc3RXaXRoQ29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gIHR5cGUgSGVhZGVycyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBmdW5jdGlvbiBnZXRSZXF1ZXN0PEEgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgTyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgICBjb2RlYzogdC5UeXBlPEEsIE8+LFxuICAgIGJvZHk6IEEsXG4gICAgeyB1c2VFbmNvZGVkQm9keSA9IHRydWUgfSA9IHt9XG4gICk6IHtcbiAgICBib2R5OiB1bmtub3duO1xuICAgIGhlYWRlcnM6IEhlYWRlcnM7XG4gIH0ge1xuICAgIGNvbnN0IHJlcXVlc3QgPSBwb3N0V2l0aENvZGVjKGFnZW50KCksICdodHRwOi8vZXhhbXBsZS5jb20nLCBjb2RlYywgYm9keSwge1xuICAgICAgdXNlRW5jb2RlZEJvZHksXG4gICAgfSkgYXMgU3VwZXJBZ2VudFJlcXVlc3QgJiB7XG4gICAgICAvKlxuICAgICAgU29tZSBwcml2YXRlIHByb3BlcnRpZXMuIEEgYml0IHVnbHksIGJ1dCB0aGUgYWx0ZXJuYXRpdmUgaXMgdG8gbWFrZSBhbiBhY3R1YWwgcmVxdWVzdCBhZ2FpbnN0XG4gICAgICBhIG5vY2ssIGFuZCB0ZWFzZSBvdXQgdGhlIGhlYWRlcnMgZnJvbSB0aGVyZS4gTm90IHByZXR0eSBlaXRoZXIuXG4gICAgICAqL1xuICAgICAgX2RhdGE6IHVua25vd247XG4gICAgICBoZWFkZXI6IEhlYWRlcnM7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXIsXG4gICAgICBib2R5OiByZXF1ZXN0Ll9kYXRhLFxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBhc3NlcnRSZXF1ZXN0Q29udGFpbnMoXG4gICAgcmVxdWVzdDoge1xuICAgICAgYm9keTogdW5rbm93bjtcbiAgICAgIGhlYWRlcnM6IEhlYWRlcnM7XG4gICAgfSxcbiAgICBib2R5OiB1bmtub3duLFxuICAgIGhlYWRlcnM6IEhlYWRlcnNcbiAgKSB7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChyZXF1ZXN0LmJvZHksIGJvZHkpO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGhlYWRlcnMpKSB7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHJlcXVlc3QuaGVhZGVyc1trZXldLCB2YWx1ZSwgYGhlYWRlciAke2tleX0gZG9lcyBub3QgbWF0Y2hgKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBjb2RlYyA9IHQuZXhhY3QodC5pbnRlcnNlY3Rpb24oW3QudHlwZSh7IGZvbzogdC5zdHJpbmcgfSksIHQucGFydGlhbCh7IGJhcjogdC51bmtub3duIH0pXSkpO1xuXG4gIGl0KCdoYXMgZXhwZWN0ZWQgdmFsdWVzIHdpdGggdmFsdWUgbWF0Y2hpbmcgY29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKFxuICAgICAgZ2V0UmVxdWVzdChjb2RlYywgeyBmb286ICdiYXInIH0pLFxuICAgICAgeyBmb286ICdiYXInIH0sXG4gICAgICB7XG4gICAgICAgICdpby10cy1jb2RlYy1lbmNvZGUtZXJyb3InOiAnZmFsc2UnLFxuICAgICAgICAnaW8tdHMtY29kZWMtZGVjb2RlLWVycm9yJzogJycsXG4gICAgICAgICdpby10cy11bmtub3duLXByb3BlcnRpZXMnOiAnJyxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKFxuICAgICAgZ2V0UmVxdWVzdChjb2RlYywgeyBmb286ICdiYXInLCBiYXI6IG51bGwgfSksXG4gICAgICB7IGZvbzogJ2JhcicsIGJhcjogbnVsbCB9LFxuICAgICAge1xuICAgICAgICAnaW8tdHMtY29kZWMtZW5jb2RlLWVycm9yJzogJ2ZhbHNlJyxcbiAgICAgICAgJ2lvLXRzLWNvZGVjLWRlY29kZS1lcnJvcic6ICcnLFxuICAgICAgICAnaW8tdHMtdW5rbm93bi1wcm9wZXJ0aWVzJzogJycsXG4gICAgICB9XG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2hhcyBleHBlY3RlZCB2YWx1ZXMgd2l0aCB2YWx1ZSBub3QgbWF0Y2hpbmcgY29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gaW52YWxpZCB2YWx1ZVxuICAgIGFzc2VydFJlcXVlc3RDb250YWlucyhcbiAgICAgIGdldFJlcXVlc3QoY29kZWMsIHsgZm9vOiBudWxsIH0gYXMgYW55KSxcbiAgICAgIHsgZm9vOiBudWxsIH0sXG4gICAgICB7XG4gICAgICAgICdpby10cy1jb2RlYy1lbmNvZGUtZXJyb3InOiAnZmFsc2UnLFxuICAgICAgICAnaW8tdHMtY29kZWMtZGVjb2RlLWVycm9yJzogJzAuZm9vJyxcbiAgICAgICAgJ2lvLXRzLXVua25vd24tcHJvcGVydGllcyc6ICcnLFxuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBub24tZXhhY3QgdmFsdWVcbiAgICBhc3NlcnRSZXF1ZXN0Q29udGFpbnMoXG4gICAgICBnZXRSZXF1ZXN0KGNvZGVjLCB7IGZvbzogJ2JhcicsIGJvbzogMSB9IGFzIGFueSksXG4gICAgICB7IGZvbzogJ2JhcicgfSxcbiAgICAgIHtcbiAgICAgICAgJ2lvLXRzLWNvZGVjLWVuY29kZS1lcnJvcic6ICdmYWxzZScsXG4gICAgICAgICdpby10cy1jb2RlYy1kZWNvZGUtZXJyb3InOiAnJyxcbiAgICAgICAgJ2lvLXRzLXVua25vd24tcHJvcGVydGllcyc6ICdib28nLFxuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBub24tZXhhY3QgdmFsdWUsIHVzZUVuY29kZWRCb2R5PWZhbHNlXG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKFxuICAgICAgZ2V0UmVxdWVzdChjb2RlYywgeyBmb286ICdiYXInLCBib286IDEgfSBhcyBhbnksIHsgdXNlRW5jb2RlZEJvZHk6IGZhbHNlIH0pLFxuICAgICAgeyBmb286ICdiYXInLCBib286IDEgfSxcbiAgICAgIHtcbiAgICAgICAgJ2lvLXRzLWNvZGVjLWVuY29kZS1lcnJvcic6ICdmYWxzZScsXG4gICAgICAgICdpby10cy1jb2RlYy1kZWNvZGUtZXJyb3InOiAnJyxcbiAgICAgICAgJ2lvLXRzLXVua25vd24tcHJvcGVydGllcyc6ICdib28nLFxuICAgICAgfVxuICAgICk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SendTransactionRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SendTransactionRequest.d.ts","sourceRoot":"","sources":["../../../../../test/unit/bitgo/wallet/SendTransactionRequest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const assert = __importStar(require("assert"));
23
+ const SendTransactionRequest_1 = require("../../../../src/bitgo/wallet/SendTransactionRequest");
24
+ const BuildParams_1 = require("../../../../src/bitgo/wallet/BuildParams");
25
+ const codecProps_1 = require("../../../../src/bitgo/utils/codecProps");
26
+ describe('SendTransactionRequest', function () {
27
+ it('has expected property count', function () {
28
+ assert.strictEqual(codecProps_1.getCodecProperties(BuildParams_1.BuildParams).length, 74);
29
+ });
30
+ it('enforces codec', function () {
31
+ assert.deepStrictEqual(BuildParams_1.BuildParams.encode({
32
+ addressType: 'p2sh',
33
+ txFormat: 'psbt',
34
+ comment: 'foo',
35
+ unknown: 'bar',
36
+ }), {
37
+ addressType: 'p2sh',
38
+ txFormat: 'psbt',
39
+ comment: 'foo',
40
+ // drops unknown properties
41
+ });
42
+ assert.deepStrictEqual(SendTransactionRequest_1.SendTransactionRequest.encode({ txHex: '00' }), { txHex: '00' });
43
+ assert.deepStrictEqual(SendTransactionRequest_1.SendTransactionRequest.encode({ txHex: '00', addressType: 'p2sh', bar: 'omit' }), {
44
+ txHex: '00',
45
+ addressType: 'p2sh',
46
+ });
47
+ });
48
+ });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby93YWxsZXQvU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsZ0dBQTZGO0FBQzdGLDBFQUF1RTtBQUN2RSx1RUFBNEU7QUFFNUUsUUFBUSxDQUFDLHdCQUF3QixFQUFFO0lBQ2pDLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtRQUNoQyxNQUFNLENBQUMsV0FBVyxDQUFDLCtCQUFrQixDQUFDLHlCQUFXLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0JBQWdCLEVBQUU7UUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FDcEIseUJBQVcsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFLE1BQU07WUFDbkIsUUFBUSxFQUFFLE1BQU07WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsS0FBSztTQUNSLENBQUMsRUFDVDtZQUNFLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsMkJBQTJCO1NBQzVCLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxlQUFlLENBQUMsK0NBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RixNQUFNLENBQUMsZUFBZSxDQUFDLCtDQUFzQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFTLENBQUMsRUFBRTtZQUM5RyxLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRSxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IFNlbmRUcmFuc2FjdGlvblJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vd2FsbGV0L1NlbmRUcmFuc2FjdGlvblJlcXVlc3QnO1xuaW1wb3J0IHsgQnVpbGRQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vd2FsbGV0L0J1aWxkUGFyYW1zJztcbmltcG9ydCB7IGdldENvZGVjUHJvcGVydGllcyB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy9jb2RlY1Byb3BzJztcblxuZGVzY3JpYmUoJ1NlbmRUcmFuc2FjdGlvblJlcXVlc3QnLCBmdW5jdGlvbiAoKSB7XG4gIGl0KCdoYXMgZXhwZWN0ZWQgcHJvcGVydHkgY291bnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldENvZGVjUHJvcGVydGllcyhCdWlsZFBhcmFtcykubGVuZ3RoLCA3NCk7XG4gIH0pO1xuXG4gIGl0KCdlbmZvcmNlcyBjb2RlYycsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFxuICAgICAgQnVpbGRQYXJhbXMuZW5jb2RlKHtcbiAgICAgICAgYWRkcmVzc1R5cGU6ICdwMnNoJyxcbiAgICAgICAgdHhGb3JtYXQ6ICdwc2J0JyxcbiAgICAgICAgY29tbWVudDogJ2ZvbycsXG4gICAgICAgIHVua25vd246ICdiYXInLFxuICAgICAgfSBhcyBhbnkpLFxuICAgICAge1xuICAgICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgICAgICB0eEZvcm1hdDogJ3BzYnQnLFxuICAgICAgICBjb21tZW50OiAnZm9vJyxcbiAgICAgICAgLy8gZHJvcHMgdW5rbm93biBwcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5lbmNvZGUoeyB0eEhleDogJzAwJyB9KSwgeyB0eEhleDogJzAwJyB9KTtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFNlbmRUcmFuc2FjdGlvblJlcXVlc3QuZW5jb2RlKHsgdHhIZXg6ICcwMCcsIGFkZHJlc3NUeXBlOiAncDJzaCcsIGJhcjogJ29taXQnIH0gYXMgYW55KSwge1xuICAgICAgdHhIZXg6ICcwMCcsXG4gICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ import 'should';
2
+ //# sourceMappingURL=openssl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openssl.d.ts","sourceRoot":"","sources":["../../../test/unit/openssl.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}