@bitgo-beta/sdk-core 8.2.1-beta.88 → 8.2.1-beta.880

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 (491) hide show
  1. package/CHANGELOG.md +2725 -0
  2. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
  3. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
  5. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  6. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
  7. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
  8. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  9. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +41 -29
  10. package/dist/src/account-lib/baseCoin/enum.d.ts +14 -2
  11. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  12. package/dist/src/account-lib/baseCoin/enum.js +28 -6
  13. package/dist/src/account-lib/baseCoin/errors.js +1 -1
  14. package/dist/src/account-lib/baseCoin/iface.d.ts +11 -35
  15. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  16. package/dist/src/account-lib/baseCoin/iface.js +4 -18
  17. package/dist/src/account-lib/baseCoin/index.d.ts +0 -1
  18. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  19. package/dist/src/account-lib/baseCoin/index.js +7 -5
  20. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
  21. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  22. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
  23. package/dist/src/account-lib/index.js +23 -9
  24. package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
  25. package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
  26. package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
  27. package/dist/src/account-lib/mpc/index.d.ts +4 -4
  28. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  29. package/dist/src/account-lib/mpc/index.js +11 -7
  30. package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
  31. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
  32. package/dist/src/account-lib/mpc/shamir.js +6 -130
  33. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +38 -9
  34. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  35. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +497 -349
  36. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  37. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  38. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  39. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  40. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
  41. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  42. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  43. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -2
  44. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  45. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  46. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  47. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  48. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  49. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  50. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  51. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  52. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  53. package/dist/src/account-lib/mpc/util.js +19 -1
  54. package/dist/src/account-lib/staking/index.js +6 -2
  55. package/dist/src/account-lib/staking/utils.js +3 -3
  56. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  57. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  58. package/dist/src/account-lib/util/crypto.js +61 -31
  59. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
  60. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  61. package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
  62. package/dist/src/api/bip32path.js +2 -3
  63. package/dist/src/api/index.js +6 -2
  64. package/dist/src/api/types.d.ts +8 -0
  65. package/dist/src/api/types.d.ts.map +1 -1
  66. package/dist/src/api/types.js +1 -1
  67. package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
  68. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
  69. package/dist/src/bitgo/address-book/address-book.js +139 -0
  70. package/dist/src/bitgo/address-book/index.d.ts +3 -0
  71. package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
  72. package/dist/src/bitgo/address-book/index.js +19 -0
  73. package/dist/src/bitgo/address-book/types.d.ts +170 -0
  74. package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
  75. package/dist/src/bitgo/address-book/types.js +3 -0
  76. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +80 -10
  77. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  78. package/dist/src/bitgo/baseCoin/baseCoin.js +130 -16
  79. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +83 -19
  80. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  81. package/dist/src/bitgo/baseCoin/iBaseCoin.js +7 -3
  82. package/dist/src/bitgo/baseCoin/index.js +6 -2
  83. package/dist/src/bitgo/bip32util.d.ts +0 -1
  84. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  85. package/dist/src/bitgo/bip32util.js +25 -12
  86. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  87. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  88. package/dist/src/bitgo/bitcoin.js +26 -13
  89. package/dist/src/bitgo/bitgoBase.d.ts +6 -2
  90. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  91. package/dist/src/bitgo/bitgoBase.js +1 -1
  92. package/dist/src/bitgo/coinFactory.d.ts +1 -1
  93. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  94. package/dist/src/bitgo/coinFactory.js +1 -1
  95. package/dist/src/bitgo/config.d.ts +62 -20
  96. package/dist/src/bitgo/config.d.ts.map +1 -1
  97. package/dist/src/bitgo/config.js +26 -15
  98. package/dist/src/bitgo/ecdh.d.ts +0 -1
  99. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  100. package/dist/src/bitgo/ecdh.js +26 -13
  101. package/dist/src/bitgo/enterprise/enterprise.d.ts +16 -14
  102. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  103. package/dist/src/bitgo/enterprise/enterprise.js +64 -31
  104. package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
  105. package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
  106. package/dist/src/bitgo/enterprise/enterprises.js +48 -9
  107. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +6 -7
  108. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  109. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  110. package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
  111. package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
  112. package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
  113. package/dist/src/bitgo/enterprise/index.js +6 -2
  114. package/dist/src/bitgo/environments.d.ts +52 -5
  115. package/dist/src/bitgo/environments.d.ts.map +1 -1
  116. package/dist/src/bitgo/environments.js +87 -18
  117. package/dist/src/bitgo/errors.d.ts +6 -0
  118. package/dist/src/bitgo/errors.d.ts.map +1 -1
  119. package/dist/src/bitgo/errors.js +14 -2
  120. package/dist/src/bitgo/index.d.ts +1 -1
  121. package/dist/src/bitgo/index.d.ts.map +1 -1
  122. package/dist/src/bitgo/index.js +26 -11
  123. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  124. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  125. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  126. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  127. package/dist/src/bitgo/internal/index.js +6 -2
  128. package/dist/src/bitgo/internal/internal.js +5 -6
  129. package/dist/src/bitgo/internal/keycard.js +6 -7
  130. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +13 -0
  131. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  132. package/dist/src/bitgo/keychain/decryptKeychain.js +35 -0
  133. package/dist/src/bitgo/keychain/iKeychains.d.ts +63 -7
  134. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  135. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  136. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  137. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  138. package/dist/src/bitgo/keychain/index.js +7 -2
  139. package/dist/src/bitgo/keychain/keychains.d.ts +13 -3
  140. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  141. package/dist/src/bitgo/keychain/keychains.js +128 -37
  142. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  143. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  144. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  145. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  146. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  147. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  148. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  149. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  150. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  151. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  152. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  153. package/dist/src/bitgo/market/index.js +6 -2
  154. package/dist/src/bitgo/market/markets.js +23 -9
  155. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +2 -0
  156. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  157. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  158. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  159. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  160. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  161. package/dist/src/bitgo/pendingApproval/pendingApproval.js +216 -107
  162. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  163. package/dist/src/bitgo/recovery/index.js +6 -2
  164. package/dist/src/bitgo/recovery/initiate.d.ts +8 -2
  165. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  166. package/dist/src/bitgo/recovery/initiate.js +7 -8
  167. package/dist/src/bitgo/staking/goStakingWallet.d.ts +36 -0
  168. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  169. package/dist/src/bitgo/staking/goStakingWallet.js +92 -0
  170. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +44 -0
  171. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  172. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  173. package/dist/src/bitgo/staking/iStakingWallet.d.ts +120 -4
  174. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  175. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  176. package/dist/src/bitgo/staking/index.d.ts +2 -0
  177. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  178. package/dist/src/bitgo/staking/index.js +8 -2
  179. package/dist/src/bitgo/staking/stakingWallet.d.ts +13 -2
  180. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  181. package/dist/src/bitgo/staking/stakingWallet.js +45 -4
  182. package/dist/src/bitgo/trading/iTradingAccount.d.ts +2 -32
  183. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  184. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  185. package/dist/src/bitgo/trading/index.d.ts +1 -15
  186. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  187. package/dist/src/bitgo/trading/index.js +7 -17
  188. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  189. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  190. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  191. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  192. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  193. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  194. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  195. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  196. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  197. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  198. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  199. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  200. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  201. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  202. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  203. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  204. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  205. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  206. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  207. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  208. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  209. package/dist/src/bitgo/trading/network/index.d.ts +5 -0
  210. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
  211. package/dist/src/bitgo/trading/network/index.js +21 -0
  212. package/dist/src/bitgo/trading/network/network.d.ts +36 -0
  213. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
  214. package/dist/src/bitgo/trading/network/network.js +101 -0
  215. package/dist/src/bitgo/trading/network/types.d.ts +277 -0
  216. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
  217. package/dist/src/bitgo/trading/network/types.js +3 -0
  218. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  219. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  220. package/dist/src/bitgo/trading/network/utils.js +54 -0
  221. package/dist/src/bitgo/trading/tradingAccount.d.ts +11 -35
  222. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  223. package/dist/src/bitgo/trading/tradingAccount.js +9 -96
  224. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +27 -0
  225. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  226. package/dist/src/bitgo/tss/bitgoPubKeys.js +61 -0
  227. package/dist/src/bitgo/tss/common.d.ts +37 -5
  228. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  229. package/dist/src/bitgo/tss/common.js +103 -17
  230. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  231. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  232. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  233. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  234. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  235. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +162 -0
  236. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  237. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  238. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  239. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  240. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  241. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  242. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +11 -8
  243. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  244. package/dist/src/bitgo/tss/eddsa/eddsa.js +38 -41
  245. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  246. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  247. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  248. package/dist/src/bitgo/tss/index.d.ts +3 -2
  249. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  250. package/dist/src/bitgo/tss/index.js +26 -10
  251. package/dist/src/bitgo/tss/types.d.ts +3 -3
  252. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  253. package/dist/src/bitgo/tss/types.js +2 -2
  254. package/dist/src/bitgo/types.d.ts +3 -3
  255. package/dist/src/bitgo/types.d.ts.map +1 -1
  256. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +11 -0
  257. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  258. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +66 -10
  259. package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
  260. package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
  261. package/dist/src/bitgo/utils/codecProps.js +54 -0
  262. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  263. package/dist/src/bitgo/utils/decode.js +30 -16
  264. package/dist/src/bitgo/utils/index.d.ts +2 -2
  265. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  266. package/dist/src/bitgo/utils/index.js +25 -11
  267. package/dist/src/bitgo/utils/mpcUtils.d.ts +2 -3
  268. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  269. package/dist/src/bitgo/utils/mpcUtils.js +34 -12
  270. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  271. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  272. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  273. package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -9
  274. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  275. package/dist/src/bitgo/utils/opengpgUtils.js +74 -73
  276. package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
  277. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
  278. package/dist/src/bitgo/utils/postWithCodec.js +25 -0
  279. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  280. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  281. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  282. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  283. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  284. package/dist/src/bitgo/utils/triple.js +2 -3
  285. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +39 -14
  286. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  287. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +145 -45
  288. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +202 -34
  289. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  290. package/dist/src/bitgo/utils/tss/baseTypes.js +22 -20
  291. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  292. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  293. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  294. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  295. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  296. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  297. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +20 -52
  298. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  299. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +145 -280
  300. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +199 -0
  301. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  302. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +950 -0
  303. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  304. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  305. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
  306. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
  307. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  308. package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
  309. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +15 -9
  310. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  311. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  312. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  313. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  314. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  315. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +5 -3
  316. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  317. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +75 -58
  318. package/dist/src/bitgo/utils/tss/eddsa/index.js +23 -9
  319. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
  320. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  321. package/dist/src/bitgo/utils/tss/index.js +23 -9
  322. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  323. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  324. package/dist/src/bitgo/utils/txRequest.js +47 -0
  325. package/dist/src/bitgo/utils/util.js +24 -10
  326. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  327. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  328. package/dist/src/bitgo/utils/wallet.js +48 -0
  329. package/dist/src/bitgo/wallet/BuildParams.d.ts +119 -0
  330. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
  331. package/dist/src/bitgo/wallet/BuildParams.js +140 -0
  332. package/dist/src/bitgo/wallet/iWallet.d.ts +201 -19
  333. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  334. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  335. package/dist/src/bitgo/wallet/iWallets.d.ts +91 -16
  336. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  337. package/dist/src/bitgo/wallet/iWallets.js +43 -3
  338. package/dist/src/bitgo/wallet/index.js +6 -2
  339. package/dist/src/bitgo/wallet/wallet.d.ts +192 -25
  340. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  341. package/dist/src/bitgo/wallet/wallet.js +912 -348
  342. package/dist/src/bitgo/wallet/wallets.d.ts +96 -9
  343. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  344. package/dist/src/bitgo/wallet/wallets.js +816 -193
  345. package/dist/src/bitgo/webhook/index.js +6 -2
  346. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  347. package/dist/src/coins/fiataed.d.ts +30 -0
  348. package/dist/src/coins/fiataed.d.ts.map +1 -0
  349. package/dist/src/coins/fiataed.js +57 -0
  350. package/dist/src/coins/fiateur.d.ts +0 -1
  351. package/dist/src/coins/fiateur.d.ts.map +1 -1
  352. package/dist/src/coins/fiatgbp.d.ts +0 -1
  353. package/dist/src/coins/fiatgbp.d.ts.map +1 -1
  354. package/dist/src/coins/fiatsgd.d.ts +30 -0
  355. package/dist/src/coins/fiatsgd.d.ts.map +1 -0
  356. package/dist/src/coins/fiatsgd.js +57 -0
  357. package/dist/src/coins/fiatusd.d.ts +0 -1
  358. package/dist/src/coins/fiatusd.d.ts.map +1 -1
  359. package/dist/src/coins/index.d.ts +4 -0
  360. package/dist/src/coins/index.d.ts.map +1 -1
  361. package/dist/src/coins/index.js +10 -2
  362. package/dist/src/coins/ofc.d.ts +0 -1
  363. package/dist/src/coins/ofc.d.ts.map +1 -1
  364. package/dist/src/coins/ofc.js +2 -2
  365. package/dist/src/coins/ofcToken.js +2 -2
  366. package/dist/src/coins/susd.d.ts +0 -1
  367. package/dist/src/coins/susd.d.ts.map +1 -1
  368. package/dist/src/coins/tfiataed.d.ts +11 -0
  369. package/dist/src/coins/tfiataed.d.ts.map +1 -0
  370. package/dist/src/coins/tfiataed.js +17 -0
  371. package/dist/src/coins/tfiatsgd.d.ts +11 -0
  372. package/dist/src/coins/tfiatsgd.d.ts.map +1 -0
  373. package/dist/src/coins/tfiatsgd.js +17 -0
  374. package/dist/src/common.js +27 -13
  375. package/dist/src/index.d.ts +2 -1
  376. package/dist/src/index.d.ts.map +1 -1
  377. package/dist/src/index.js +26 -11
  378. package/dist/src/units.js +5 -6
  379. package/dist/test/node.utils.d.ts +2 -0
  380. package/dist/test/node.utils.d.ts.map +1 -0
  381. package/dist/test/node.utils.js +5 -0
  382. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  383. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  384. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +233 -0
  385. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
  386. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
  387. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
  388. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  389. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  390. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  391. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
  392. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  393. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
  394. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  395. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  396. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  397. package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
  398. package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
  399. package/dist/test/unit/bitgo/utils/postWithCodec.js +73 -0
  400. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  401. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  402. package/dist/test/unit/bitgo/utils/txRequest.js +105 -0
  403. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  404. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  405. package/dist/test/unit/bitgo/wallet/BuildParams.js +68 -0
  406. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
  407. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
  408. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +58 -0
  409. package/dist/test/unit/units.d.ts +2 -0
  410. package/dist/test/unit/units.d.ts.map +1 -0
  411. package/dist/test/unit/units.js +98 -0
  412. package/dist/tsconfig.tsbuildinfo +1 -1
  413. package/package.json +25 -22
  414. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  415. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  416. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  417. package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
  418. package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
  419. package/dist/src/account-lib/mpc/hdTree.js +0 -141
  420. package/dist/src/account-lib/mpc/types.d.ts +0 -5
  421. package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
  422. package/dist/src/account-lib/mpc/types.js +0 -3
  423. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  424. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  425. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  426. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  427. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  428. package/dist/src/bitgo/lightning/index.js +0 -17
  429. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  430. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  431. package/dist/src/bitgo/lightning/lightning.js +0 -111
  432. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  433. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  434. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  435. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  436. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  437. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  438. package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
  439. package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
  440. package/dist/src/bitgo/trading/affirmation.js +0 -53
  441. package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
  442. package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
  443. package/dist/src/bitgo/trading/affirmations.js +0 -45
  444. package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
  445. package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
  446. package/dist/src/bitgo/trading/iAffirmation.js +0 -13
  447. package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
  448. package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
  449. package/dist/src/bitgo/trading/iAffirmations.js +0 -3
  450. package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
  451. package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
  452. package/dist/src/bitgo/trading/iSettlement.js +0 -17
  453. package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
  454. package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
  455. package/dist/src/bitgo/trading/iSettlements.js +0 -3
  456. package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
  457. package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
  458. package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
  459. package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
  460. package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
  461. package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
  462. package/dist/src/bitgo/trading/lock.d.ts +0 -16
  463. package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
  464. package/dist/src/bitgo/trading/lock.js +0 -12
  465. package/dist/src/bitgo/trading/payload.d.ts +0 -22
  466. package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
  467. package/dist/src/bitgo/trading/payload.js +0 -3
  468. package/dist/src/bitgo/trading/settlement.d.ts +0 -16
  469. package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
  470. package/dist/src/bitgo/trading/settlement.js +0 -21
  471. package/dist/src/bitgo/trading/settlements.d.ts +0 -32
  472. package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
  473. package/dist/src/bitgo/trading/settlements.js +0 -61
  474. package/dist/src/bitgo/trading/trade.d.ts +0 -29
  475. package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
  476. package/dist/src/bitgo/trading/trade.js +0 -11
  477. package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
  478. package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
  479. package/dist/src/bitgo/trading/tradingPartner.js +0 -31
  480. package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
  481. package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
  482. package/dist/src/bitgo/trading/tradingPartners.js +0 -32
  483. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  484. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  485. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  486. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  487. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  488. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  489. package/dist/src/openssl/index.d.ts +0 -5
  490. package/dist/src/openssl/index.d.ts.map +0 -1
  491. package/dist/src/openssl/index.js +0 -9
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,15 +15,28 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
21
35
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.validateParams = exports.getNetwork = exports.setNetwork = exports.Environments = void 0;
36
+ exports.Environments = void 0;
37
+ exports.setNetwork = setNetwork;
38
+ exports.getNetwork = getNetwork;
39
+ exports.validateParams = validateParams;
23
40
  /**
24
41
  * @prettier
25
42
  */
@@ -41,7 +58,6 @@ function setNetwork(network) {
41
58
  bitcoinNetwork = 'testnet';
42
59
  }
43
60
  }
44
- exports.setNetwork = setNetwork;
45
61
  /**
46
62
  * Get the global Bitcoin network. Used for v1 only.
47
63
  *
@@ -50,7 +66,6 @@ exports.setNetwork = setNetwork;
50
66
  function getNetwork() {
51
67
  return bitcoinNetwork;
52
68
  }
53
- exports.getNetwork = getNetwork;
54
69
  /**
55
70
  * Helper function to validate the input parameters to an SDK method.
56
71
  * Only validates for strings - if parameter is different, check that manually
@@ -87,5 +102,4 @@ params, expectedParams, optionalParams = [], optionalCallback) {
87
102
  }
88
103
  return true;
89
104
  }
90
- exports.validateParams = validateParams;
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCwwQ0FBNEI7QUFDNUIsbUNBQWtEO0FBR3pDLDZGQUhBLG9CQUFZLE9BR0E7QUFFckIsSUFBSSxjQUF5QixDQUFDO0FBRTlCOzs7O0dBSUc7QUFDSCxTQUFnQixVQUFVLENBQUMsT0FBa0I7SUFDM0MsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQ3pCLGNBQWMsR0FBRyxTQUFTLENBQUM7S0FDNUI7U0FBTTtRQUNMLGVBQWU7UUFDZixjQUFjLEdBQUcsU0FBUyxDQUFDO0tBQzVCO0FBQ0gsQ0FBQztBQVBELGdDQU9DO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLFVBQVU7SUFDeEIsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQztBQUZELGdDQUVDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLGNBQWM7QUFDNUIsd0RBQXdEO0FBQ3hELE1BQWMsRUFDZCxjQUF3QixFQUN4QixpQkFBMkIsRUFBRSxFQUM3QixnQkFBa0Q7SUFFbEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsY0FBYyxHQUFHLGNBQWMsSUFBSSxFQUFFLENBQUM7SUFFdEMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLGFBQWE7UUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixHQUFHLGFBQWEsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxhQUFhLEdBQUcsYUFBYSxHQUFHLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDaEg7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxhQUFhO1FBQzVDLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRTtZQUMvRCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixHQUFHLGFBQWEsR0FBRyxhQUFhLEdBQUcsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUNoSDtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7S0FDOUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFqQ0Qsd0NBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRzLCBWMU5ldHdvcmsgfSBmcm9tICcuL2JpdGdvJztcblxuLy8gcmUtZXhwb3J0IGZyb20gaGVyZSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcmVhc29uc1xuZXhwb3J0IHsgRW52aXJvbm1lbnRzIH07XG5cbmxldCBiaXRjb2luTmV0d29yazogVjFOZXR3b3JrO1xuXG4vKipcbiAqIFNldCB0aGUgZ2xvYmFsIEJpdGNvaW4gbmV0d29yay4gVXNlZCBmb3IgdjEgb25seS5cbiAqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0TmV0d29yayhuZXR3b3JrOiBWMU5ldHdvcmspOiB2b2lkIHtcbiAgaWYgKG5ldHdvcmsgPT09ICdiaXRjb2luJykge1xuICAgIGJpdGNvaW5OZXR3b3JrID0gJ2JpdGNvaW4nO1xuICB9IGVsc2Uge1xuICAgIC8vIHRlc3QgbmV0d29ya1xuICAgIGJpdGNvaW5OZXR3b3JrID0gJ3Rlc3RuZXQnO1xuICB9XG59XG5cbi8qKlxuICogR2V0IHRoZSBnbG9iYWwgQml0Y29pbiBuZXR3b3JrLiBVc2VkIGZvciB2MSBvbmx5LlxuICpcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXR3b3JrKCk6IFYxTmV0d29yayB7XG4gIHJldHVybiBiaXRjb2luTmV0d29yaztcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIGlucHV0IHBhcmFtZXRlcnMgdG8gYW4gU0RLIG1ldGhvZC5cbiAqIE9ubHkgdmFsaWRhdGVzIGZvciBzdHJpbmdzIC0gaWYgcGFyYW1ldGVyIGlzIGRpZmZlcmVudCwgY2hlY2sgdGhhdCBtYW51YWxseVxuICpcbiAqIEBkZXByZWNhdGVkXG4gKiBAcGFyYW0gcGFyYW1zIGRpY3Rpb25hcnkgb2YgcGFyYW1ldGVyIGtleS12YWx1ZSBwYWlyc1xuICogQHBhcmFtIGV4cGVjdGVkUGFyYW1zIGxpc3Qgb2YgZXhwZWN0ZWQgc3RyaW5nIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSBvcHRpb25hbFBhcmFtcyBsaXN0IG9mIG9wdGlvbmFsIHN0cmluZyBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0gb3B0aW9uYWxDYWxsYmFjayBpZiBjYWxsYmFjayBwcm92aWRlZCwgbXVzdCBiZSBhIGZ1bmN0aW9uXG4gKiBAcmV0dXJucyB0cnVlIGlmIHZhbGlkYXRlZCwgdGhyb3dzIHdpdGggcmVhc29uIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVQYXJhbXMoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIHBhcmFtczogb2JqZWN0LFxuICBleHBlY3RlZFBhcmFtczogc3RyaW5nW10sXG4gIG9wdGlvbmFsUGFyYW1zOiBzdHJpbmdbXSA9IFtdLFxuICBvcHRpb25hbENhbGxiYWNrPzogPFI+KGVycjogRXJyb3IsIHJlczogUikgPT4gdm9pZFxuKTogYm9vbGVhbiB7XG4gIGlmICghXy5pc09iamVjdChwYXJhbXMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHBhc3MgaW4gcGFyYW1ldGVycyBkaWN0aW9uYXJ5Jyk7XG4gIH1cblxuICBleHBlY3RlZFBhcmFtcyA9IGV4cGVjdGVkUGFyYW1zIHx8IFtdO1xuXG4gIGV4cGVjdGVkUGFyYW1zLmZvckVhY2goZnVuY3Rpb24gKGV4cGVjdGVkUGFyYW0pIHtcbiAgICBpZiAoIXBhcmFtc1tleHBlY3RlZFBhcmFtXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHBhcmFtZXRlcjogJyArIGV4cGVjdGVkUGFyYW0pO1xuICAgIH1cbiAgICBpZiAoIV8uaXNTdHJpbmcocGFyYW1zW2V4cGVjdGVkUGFyYW1dKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RpbmcgcGFyYW1ldGVyIHN0cmluZzogJyArIGV4cGVjdGVkUGFyYW0gKyAnIGJ1dCBmb3VuZCAnICsgdHlwZW9mIHBhcmFtc1tleHBlY3RlZFBhcmFtXSk7XG4gICAgfVxuICB9KTtcblxuICBvcHRpb25hbFBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9uIChvcHRpb25hbFBhcmFtKSB7XG4gICAgaWYgKHBhcmFtc1tvcHRpb25hbFBhcmFtXSAmJiAhXy5pc1N0cmluZyhwYXJhbXNbb3B0aW9uYWxQYXJhbV0pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGluZyBwYXJhbWV0ZXIgc3RyaW5nOiAnICsgb3B0aW9uYWxQYXJhbSArICcgYnV0IGZvdW5kICcgKyB0eXBlb2YgcGFyYW1zW29wdGlvbmFsUGFyYW1dKTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChvcHRpb25hbENhbGxiYWNrICYmICFfLmlzRnVuY3Rpb24ob3B0aW9uYWxDYWxsYmFjaykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2lsbGVnYWwgY2FsbGJhY2sgYXJndW1lbnQnKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsZ0NBT0M7QUFPRCxnQ0FFQztBQWFELHdDQWlDQztBQTlFRDs7R0FFRztBQUNILDBDQUE0QjtBQUM1QixtQ0FBa0Q7QUFHekMsNkZBSEEsb0JBQVksT0FHQTtBQUVyQixJQUFJLGNBQXlCLENBQUM7QUFFOUI7Ozs7R0FJRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxPQUFrQjtJQUMzQyxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMxQixjQUFjLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7U0FBTSxDQUFDO1FBQ04sZUFBZTtRQUNmLGNBQWMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsVUFBVTtJQUN4QixPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLGNBQWM7QUFDNUIsd0RBQXdEO0FBQ3hELE1BQWMsRUFDZCxjQUF3QixFQUN4QixpQkFBMkIsRUFBRSxFQUM3QixnQkFBa0Q7SUFFbEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGNBQWMsR0FBRyxjQUFjLElBQUksRUFBRSxDQUFDO0lBRXRDLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxhQUFhO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsYUFBYSxHQUFHLGFBQWEsR0FBRyxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ2pILENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxhQUFhO1FBQzVDLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsYUFBYSxHQUFHLGFBQWEsR0FBRyxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ2pILENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztRQUN4RCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEVudmlyb25tZW50cywgVjFOZXR3b3JrIH0gZnJvbSAnLi9iaXRnbyc7XG5cbi8vIHJlLWV4cG9ydCBmcm9tIGhlcmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHJlYXNvbnNcbmV4cG9ydCB7IEVudmlyb25tZW50cyB9O1xuXG5sZXQgYml0Y29pbk5ldHdvcms6IFYxTmV0d29yaztcblxuLyoqXG4gKiBTZXQgdGhlIGdsb2JhbCBCaXRjb2luIG5ldHdvcmsuIFVzZWQgZm9yIHYxIG9ubHkuXG4gKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldE5ldHdvcmsobmV0d29yazogVjFOZXR3b3JrKTogdm9pZCB7XG4gIGlmIChuZXR3b3JrID09PSAnYml0Y29pbicpIHtcbiAgICBiaXRjb2luTmV0d29yayA9ICdiaXRjb2luJztcbiAgfSBlbHNlIHtcbiAgICAvLyB0ZXN0IG5ldHdvcmtcbiAgICBiaXRjb2luTmV0d29yayA9ICd0ZXN0bmV0JztcbiAgfVxufVxuXG4vKipcbiAqIEdldCB0aGUgZ2xvYmFsIEJpdGNvaW4gbmV0d29yay4gVXNlZCBmb3IgdjEgb25seS5cbiAqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29yaygpOiBWMU5ldHdvcmsge1xuICByZXR1cm4gYml0Y29pbk5ldHdvcms7XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIHRvIGFuIFNESyBtZXRob2QuXG4gKiBPbmx5IHZhbGlkYXRlcyBmb3Igc3RyaW5ncyAtIGlmIHBhcmFtZXRlciBpcyBkaWZmZXJlbnQsIGNoZWNrIHRoYXQgbWFudWFsbHlcbiAqXG4gKiBAZGVwcmVjYXRlZFxuICogQHBhcmFtIHBhcmFtcyBkaWN0aW9uYXJ5IG9mIHBhcmFtZXRlciBrZXktdmFsdWUgcGFpcnNcbiAqIEBwYXJhbSBleHBlY3RlZFBhcmFtcyBsaXN0IG9mIGV4cGVjdGVkIHN0cmluZyBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0gb3B0aW9uYWxQYXJhbXMgbGlzdCBvZiBvcHRpb25hbCBzdHJpbmcgcGFyYW1ldGVyc1xuICogQHBhcmFtIG9wdGlvbmFsQ2FsbGJhY2sgaWYgY2FsbGJhY2sgcHJvdmlkZWQsIG11c3QgYmUgYSBmdW5jdGlvblxuICogQHJldHVybnMgdHJ1ZSBpZiB2YWxpZGF0ZWQsIHRocm93cyB3aXRoIHJlYXNvbiBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUGFyYW1zKFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICBwYXJhbXM6IG9iamVjdCxcbiAgZXhwZWN0ZWRQYXJhbXM6IHN0cmluZ1tdLFxuICBvcHRpb25hbFBhcmFtczogc3RyaW5nW10gPSBbXSxcbiAgb3B0aW9uYWxDYWxsYmFjaz86IDxSPihlcnI6IEVycm9yLCByZXM6IFIpID0+IHZvaWRcbik6IGJvb2xlYW4ge1xuICBpZiAoIV8uaXNPYmplY3QocGFyYW1zKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBwYXNzIGluIHBhcmFtZXRlcnMgZGljdGlvbmFyeScpO1xuICB9XG5cbiAgZXhwZWN0ZWRQYXJhbXMgPSBleHBlY3RlZFBhcmFtcyB8fCBbXTtcblxuICBleHBlY3RlZFBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9uIChleHBlY3RlZFBhcmFtKSB7XG4gICAgaWYgKCFwYXJhbXNbZXhwZWN0ZWRQYXJhbV0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwYXJhbWV0ZXI6ICcgKyBleHBlY3RlZFBhcmFtKTtcbiAgICB9XG4gICAgaWYgKCFfLmlzU3RyaW5nKHBhcmFtc1tleHBlY3RlZFBhcmFtXSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0aW5nIHBhcmFtZXRlciBzdHJpbmc6ICcgKyBleHBlY3RlZFBhcmFtICsgJyBidXQgZm91bmQgJyArIHR5cGVvZiBwYXJhbXNbZXhwZWN0ZWRQYXJhbV0pO1xuICAgIH1cbiAgfSk7XG5cbiAgb3B0aW9uYWxQYXJhbXMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9uYWxQYXJhbSkge1xuICAgIGlmIChwYXJhbXNbb3B0aW9uYWxQYXJhbV0gJiYgIV8uaXNTdHJpbmcocGFyYW1zW29wdGlvbmFsUGFyYW1dKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RpbmcgcGFyYW1ldGVyIHN0cmluZzogJyArIG9wdGlvbmFsUGFyYW0gKyAnIGJ1dCBmb3VuZCAnICsgdHlwZW9mIHBhcmFtc1tvcHRpb25hbFBhcmFtXSk7XG4gICAgfVxuICB9KTtcblxuICBpZiAob3B0aW9uYWxDYWxsYmFjayAmJiAhXy5pc0Z1bmN0aW9uKG9wdGlvbmFsQ2FsbGJhY2spKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbGxlZ2FsIGNhbGxiYWNrIGFyZ3VtZW50Jyk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ==
@@ -4,11 +4,12 @@ export * from './api';
4
4
  export * from './bitgo';
5
5
  export * from './bitgojsError';
6
6
  export * as coins from './coins';
7
- export * from './openssl';
8
7
  import { EddsaUtils } from './bitgo/utils/tss/eddsa/eddsa';
9
8
  export { EddsaUtils };
10
9
  import { EcdsaUtils } from './bitgo/utils/tss/ecdsa/ecdsa';
11
10
  export { EcdsaUtils };
11
+ import { EcdsaMPCv2Utils } from './bitgo/utils/tss/ecdsa/ecdsaMPCv2';
12
+ export { EcdsaMPCv2Utils };
12
13
  export { GShare, SignShare, YShare } from './account-lib/mpc/tss/eddsa/types';
13
14
  export { TssEcdsaStep1ReturnMessage, TssEcdsaStep2ReturnMessage } from './bitgo/tss/types';
14
15
  export { SShare } from './bitgo/tss/ecdsa/types';
@@ -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,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"}
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,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,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,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
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -14,27 +18,38 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
14
18
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
20
  };
17
- var __importStar = (this && this.__importStar) || function (mod) {
18
- if (mod && mod.__esModule) return mod;
19
- var result = {};
20
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
- __setModuleDefault(result, mod);
22
- return result;
23
- };
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
24
38
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.common = exports.EcdsaUtils = exports.EddsaUtils = exports.coins = exports.accountLib = void 0;
39
+ exports.common = exports.EcdsaMPCv2Utils = exports.EcdsaUtils = exports.EddsaUtils = exports.coins = exports.accountLib = void 0;
26
40
  __exportStar(require("./account-lib"), exports);
27
41
  exports.accountLib = __importStar(require("./account-lib"));
28
42
  __exportStar(require("./api"), exports);
29
43
  __exportStar(require("./bitgo"), exports);
30
44
  __exportStar(require("./bitgojsError"), exports);
31
45
  exports.coins = __importStar(require("./coins"));
32
- __exportStar(require("./openssl"), exports);
33
46
  const eddsa_1 = require("./bitgo/utils/tss/eddsa/eddsa");
34
47
  Object.defineProperty(exports, "EddsaUtils", { enumerable: true, get: function () { return eddsa_1.EddsaUtils; } });
35
48
  const ecdsa_1 = require("./bitgo/utils/tss/ecdsa/ecdsa");
36
49
  Object.defineProperty(exports, "EcdsaUtils", { enumerable: true, get: function () { return ecdsa_1.EcdsaUtils; } });
50
+ const ecdsaMPCv2_1 = require("./bitgo/utils/tss/ecdsa/ecdsaMPCv2");
51
+ Object.defineProperty(exports, "EcdsaMPCv2Utils", { enumerable: true, get: function () { return ecdsaMPCv2_1.EcdsaMPCv2Utils; } });
37
52
  const common = __importStar(require("./common"));
38
53
  exports.common = common;
39
54
  __exportStar(require("./units"), exports);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QjtBQUM5Qiw0REFBNEM7QUFDNUMsd0NBQXNCO0FBQ3RCLDBDQUF3QjtBQUN4QixpREFBK0I7QUFDL0IsaURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQix5REFBMkQ7QUFDbEQsMkZBREEsa0JBQVUsT0FDQTtBQUNuQix5REFBMkQ7QUFDbEQsMkZBREEsa0JBQVUsT0FDQTtBQUluQixpREFBbUM7QUFFMUIsd0JBQU07QUFEZiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjY291bnQtbGliJztcbmV4cG9ydCAqIGFzIGFjY291bnRMaWIgZnJvbSAnLi9hY2NvdW50LWxpYic7XG5leHBvcnQgKiBmcm9tICcuL2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2JpdGdvJztcbmV4cG9ydCAqIGZyb20gJy4vYml0Z29qc0Vycm9yJztcbmV4cG9ydCAqIGFzIGNvaW5zIGZyb20gJy4vY29pbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9vcGVuc3NsJztcbmltcG9ydCB7IEVkZHNhVXRpbHMgfSBmcm9tICcuL2JpdGdvL3V0aWxzL3Rzcy9lZGRzYS9lZGRzYSc7XG5leHBvcnQgeyBFZGRzYVV0aWxzIH07XG5pbXBvcnQgeyBFY2RzYVV0aWxzIH0gZnJvbSAnLi9iaXRnby91dGlscy90c3MvZWNkc2EvZWNkc2EnO1xuZXhwb3J0IHsgRWNkc2FVdGlscyB9O1xuZXhwb3J0IHsgR1NoYXJlLCBTaWduU2hhcmUsIFlTaGFyZSB9IGZyb20gJy4vYWNjb3VudC1saWIvbXBjL3Rzcy9lZGRzYS90eXBlcyc7XG5leHBvcnQgeyBUc3NFY2RzYVN0ZXAxUmV0dXJuTWVzc2FnZSwgVHNzRWNkc2FTdGVwMlJldHVybk1lc3NhZ2UgfSBmcm9tICcuL2JpdGdvL3Rzcy90eXBlcyc7XG5leHBvcnQgeyBTU2hhcmUgfSBmcm9tICcuL2JpdGdvL3Rzcy9lY2RzYS90eXBlcyc7XG5pbXBvcnQgKiBhcyBjb21tb24gZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi91bml0cyc7XG5leHBvcnQgeyBjb21tb24gfTtcbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQThCO0FBQzlCLDREQUE0QztBQUM1Qyx3Q0FBc0I7QUFDdEIsMENBQXdCO0FBQ3hCLGlEQUErQjtBQUMvQixpREFBaUM7QUFDakMseURBQTJEO0FBQ2xELDJGQURBLGtCQUFVLE9BQ0E7QUFDbkIseURBQTJEO0FBQ2xELDJGQURBLGtCQUFVLE9BQ0E7QUFDbkIsbUVBQXFFO0FBQzVELGdHQURBLDRCQUFlLE9BQ0E7QUFJeEIsaURBQW1DO0FBRTFCLHdCQUFNO0FBRGYsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvdW50LWxpYic7XG5leHBvcnQgKiBhcyBhY2NvdW50TGliIGZyb20gJy4vYWNjb3VudC1saWInO1xuZXhwb3J0ICogZnJvbSAnLi9hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9iaXRnbyc7XG5leHBvcnQgKiBmcm9tICcuL2JpdGdvanNFcnJvcic7XG5leHBvcnQgKiBhcyBjb2lucyBmcm9tICcuL2NvaW5zJztcbmltcG9ydCB7IEVkZHNhVXRpbHMgfSBmcm9tICcuL2JpdGdvL3V0aWxzL3Rzcy9lZGRzYS9lZGRzYSc7XG5leHBvcnQgeyBFZGRzYVV0aWxzIH07XG5pbXBvcnQgeyBFY2RzYVV0aWxzIH0gZnJvbSAnLi9iaXRnby91dGlscy90c3MvZWNkc2EvZWNkc2EnO1xuZXhwb3J0IHsgRWNkc2FVdGlscyB9O1xuaW1wb3J0IHsgRWNkc2FNUEN2MlV0aWxzIH0gZnJvbSAnLi9iaXRnby91dGlscy90c3MvZWNkc2EvZWNkc2FNUEN2Mic7XG5leHBvcnQgeyBFY2RzYU1QQ3YyVXRpbHMgfTtcbmV4cG9ydCB7IEdTaGFyZSwgU2lnblNoYXJlLCBZU2hhcmUgfSBmcm9tICcuL2FjY291bnQtbGliL21wYy90c3MvZWRkc2EvdHlwZXMnO1xuZXhwb3J0IHsgVHNzRWNkc2FTdGVwMVJldHVybk1lc3NhZ2UsIFRzc0VjZHNhU3RlcDJSZXR1cm5NZXNzYWdlIH0gZnJvbSAnLi9iaXRnby90c3MvdHlwZXMnO1xuZXhwb3J0IHsgU1NoYXJlIH0gZnJvbSAnLi9iaXRnby90c3MvZWNkc2EvdHlwZXMnO1xuaW1wb3J0ICogYXMgY29tbW9uIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pdHMnO1xuZXhwb3J0IHsgY29tbW9uIH07XG4iXX0=
package/dist/src/units.js CHANGED
@@ -3,7 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.toMarketValueBaseUnits = exports.toBaseUnits = exports.toFullUnitsFixed = exports.toFullUnits = void 0;
6
+ exports.toFullUnits = toFullUnits;
7
+ exports.toFullUnitsFixed = toFullUnitsFixed;
8
+ exports.toBaseUnits = toBaseUnits;
9
+ exports.toMarketValueBaseUnits = toMarketValueBaseUnits;
7
10
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
11
  const statics_1 = require("@bitgo-beta/statics");
9
12
  /**
@@ -14,7 +17,6 @@ const statics_1 = require("@bitgo-beta/statics");
14
17
  function toFullUnits(baseUnits, coin) {
15
18
  return new bignumber_js_1.default(baseUnits).div(10 ** statics_1.coins.get(coin).decimalPlaces).toString();
16
19
  }
17
- exports.toFullUnits = toFullUnits;
18
20
  /**
19
21
  * Converts an amount of coin in base units (such as satoshis, cents, or wei) to full units (such as bitcoin, dollars, or ether) fixed amount
20
22
  * @param baseUnits number of base units
@@ -24,7 +26,6 @@ function toFullUnitsFixed(baseUnits, coin) {
24
26
  const decimalPlaces = statics_1.coins.get(coin).decimalPlaces;
25
27
  return new bignumber_js_1.default(baseUnits).div(10 ** decimalPlaces).toFixed(decimalPlaces);
26
28
  }
27
- exports.toFullUnitsFixed = toFullUnitsFixed;
28
29
  /**
29
30
  * Converts an amount of coin in full units (such as bitcoin, dollars, or ether) to base units (such as satoshis, cents, or wei)
30
31
  * @param fullUnits number of full units
@@ -33,7 +34,6 @@ exports.toFullUnitsFixed = toFullUnitsFixed;
33
34
  function toBaseUnits(fullUnits, coin) {
34
35
  return new bignumber_js_1.default(fullUnits).times(10 ** statics_1.coins.get(coin).decimalPlaces).toString();
35
36
  }
36
- exports.toBaseUnits = toBaseUnits;
37
37
  /**
38
38
  * Converts price and quantity for a coin into base units market value
39
39
  * (note, price might be 2 decimal places longer than priceIn decimal places for base units)
@@ -48,5 +48,4 @@ function toMarketValueBaseUnits(coin, price, quantity, priceIn = 'tsusd') {
48
48
  const decimalPlacesCoinBy100 = BigInt(toBaseUnits(1, coin)) * BigInt(100);
49
49
  return (roundFactor * BigInt(quantity) * BigInt(priceInBaseUnitsBy100)) / (decimalPlacesCoinBy100 * roundFactor);
50
50
  }
51
- exports.toMarketValueBaseUnits = toMarketValueBaseUnits;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBRXJDLGlEQUE0QztBQUU1Qzs7OztHQUlHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLFNBQXNDLEVBQUUsSUFBWTtJQUM5RSxPQUFPLElBQUksc0JBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDdEYsQ0FBQztBQUZELGtDQUVDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLFNBQXNDLEVBQUUsSUFBWTtJQUNuRixNQUFNLGFBQWEsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNwRCxPQUFPLElBQUksc0JBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNsRixDQUFDO0FBSEQsNENBR0M7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLFNBQXNDLEVBQUUsSUFBWTtJQUM5RSxPQUFPLElBQUksc0JBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDeEYsQ0FBQztBQUZELGtDQUVDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLHNCQUFzQixDQUNwQyxJQUFZLEVBQ1osS0FBa0MsRUFDbEMsUUFBa0MsRUFDbEMsT0FBTyxHQUFHLE9BQU87SUFFakIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUUsT0FBTyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLHNCQUFzQixHQUFHLFdBQVcsQ0FBQyxDQUFDO0FBQ25ILENBQUM7QUFWRCx3REFVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhbW91bnQgb2YgY29pbiBpbiBiYXNlIHVuaXRzIChzdWNoIGFzIHNhdG9zaGlzLCBjZW50cywgb3Igd2VpKSB0byBmdWxsIHVuaXRzIChzdWNoIGFzIGJpdGNvaW4sIGRvbGxhcnMsIG9yIGV0aGVyKVxuICogQHBhcmFtIGJhc2VVbml0cyBudW1iZXIgb2YgYmFzZSB1bml0c1xuICogQHBhcmFtIGNvaW4gY29pbiB0aWNrZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRnVsbFVuaXRzKGJhc2VVbml0czogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLCBjb2luOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IEJpZ051bWJlcihiYXNlVW5pdHMpLmRpdigxMCAqKiBjb2lucy5nZXQoY29pbikuZGVjaW1hbFBsYWNlcykudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhbW91bnQgb2YgY29pbiBpbiBiYXNlIHVuaXRzIChzdWNoIGFzIHNhdG9zaGlzLCBjZW50cywgb3Igd2VpKSB0byBmdWxsIHVuaXRzIChzdWNoIGFzIGJpdGNvaW4sIGRvbGxhcnMsIG9yIGV0aGVyKSBmaXhlZCBhbW91bnRcbiAqIEBwYXJhbSBiYXNlVW5pdHMgbnVtYmVyIG9mIGJhc2UgdW5pdHNcbiAqIEBwYXJhbSBjb2luIGNvaW4gdGlja2VyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Z1bGxVbml0c0ZpeGVkKGJhc2VVbml0czogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLCBjb2luOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBkZWNpbWFsUGxhY2VzID0gY29pbnMuZ2V0KGNvaW4pLmRlY2ltYWxQbGFjZXM7XG4gIHJldHVybiBuZXcgQmlnTnVtYmVyKGJhc2VVbml0cykuZGl2KDEwICoqIGRlY2ltYWxQbGFjZXMpLnRvRml4ZWQoZGVjaW1hbFBsYWNlcyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYW1vdW50IG9mIGNvaW4gaW4gZnVsbCB1bml0cyAoc3VjaCBhcyBiaXRjb2luLCBkb2xsYXJzLCBvciBldGhlcikgdG8gYmFzZSB1bml0cyAoc3VjaCBhcyBzYXRvc2hpcywgY2VudHMsIG9yIHdlaSlcbiAqIEBwYXJhbSBmdWxsVW5pdHMgbnVtYmVyIG9mIGZ1bGwgdW5pdHNcbiAqIEBwYXJhbSBjb2luIGNvaW4gdGlja2VyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Jhc2VVbml0cyhmdWxsVW5pdHM6IG51bWJlciB8IHN0cmluZyB8IEJpZ051bWJlciwgY29pbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5ldyBCaWdOdW1iZXIoZnVsbFVuaXRzKS50aW1lcygxMCAqKiBjb2lucy5nZXQoY29pbikuZGVjaW1hbFBsYWNlcykudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBwcmljZSBhbmQgcXVhbnRpdHkgZm9yIGEgY29pbiBpbnRvIGJhc2UgdW5pdHMgbWFya2V0IHZhbHVlXG4gKiAobm90ZSwgcHJpY2UgbWlnaHQgYmUgMiBkZWNpbWFsIHBsYWNlcyBsb25nZXIgdGhhbiBwcmljZUluIGRlY2ltYWwgcGxhY2VzIGZvciBiYXNlIHVuaXRzKVxuICogQHBhcmFtIGNvaW4gLSB3aGljaCBjb2luIHRvIGNhbGN1bGF0ZSBmb3JcbiAqIEBwYXJhbSBwcmljZSAtIHByaWNlIG9mIGEgdW5pdCBvZiB0aGUgY29pbiBzcGVjaWZpZWRcbiAqIEBwYXJhbSBxdWFudGl0eSAtIG51bWJlciBvZiBjb2luc1xuICogQHBhcmFtIHByaWNlSW4gLSBudW1lcmF0b3Igb2YgdHJhZGluZyBwYWlyLCBmb3IgZXhhbXBsZSBVU0Qgb2YgQlRDL1VTRFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9NYXJrZXRWYWx1ZUJhc2VVbml0cyhcbiAgY29pbjogc3RyaW5nLFxuICBwcmljZTogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLFxuICBxdWFudGl0eTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50LFxuICBwcmljZUluID0gJ3RzdXNkJ1xuKTogYmlnaW50IHtcbiAgY29uc3Qgcm91bmRGYWN0b3IgPSBCaWdJbnQoMTAwMDAwMCk7XG4gIGNvbnN0IHByaWNlSW5CYXNlVW5pdHNCeTEwMCA9IE1hdGgucm91bmQoTnVtYmVyKHRvQmFzZVVuaXRzKHByaWNlLCBwcmljZUluKSkgKiAxMDApO1xuICBjb25zdCBkZWNpbWFsUGxhY2VzQ29pbkJ5MTAwID0gQmlnSW50KHRvQmFzZVVuaXRzKDEsIGNvaW4pKSAqIEJpZ0ludCgxMDApO1xuICByZXR1cm4gKHJvdW5kRmFjdG9yICogQmlnSW50KHF1YW50aXR5KSAqIEJpZ0ludChwcmljZUluQmFzZVVuaXRzQnkxMDApKSAvIChkZWNpbWFsUGxhY2VzQ29pbkJ5MTAwICogcm91bmRGYWN0b3IpO1xufVxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSxrQ0FFQztBQU9ELDRDQUdDO0FBT0Qsa0NBRUM7QUFVRCx3REFVQztBQWxERCxnRUFBcUM7QUFFckMsaURBQTRDO0FBRTVDOzs7O0dBSUc7QUFDSCxTQUFnQixXQUFXLENBQUMsU0FBc0MsRUFBRSxJQUFZO0lBQzlFLE9BQU8sSUFBSSxzQkFBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN0RixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLFNBQXNDLEVBQUUsSUFBWTtJQUNuRixNQUFNLGFBQWEsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNwRCxPQUFPLElBQUksc0JBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNsRixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxTQUFzQyxFQUFFLElBQVk7SUFDOUUsT0FBTyxJQUFJLHNCQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3hGLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQ3BDLElBQVksRUFDWixLQUFrQyxFQUNsQyxRQUFrQyxFQUNsQyxPQUFPLEdBQUcsT0FBTztJQUVqQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDcEYsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxRSxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEdBQUcsV0FBVyxDQUFDLENBQUM7QUFDbkgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhbW91bnQgb2YgY29pbiBpbiBiYXNlIHVuaXRzIChzdWNoIGFzIHNhdG9zaGlzLCBjZW50cywgb3Igd2VpKSB0byBmdWxsIHVuaXRzIChzdWNoIGFzIGJpdGNvaW4sIGRvbGxhcnMsIG9yIGV0aGVyKVxuICogQHBhcmFtIGJhc2VVbml0cyBudW1iZXIgb2YgYmFzZSB1bml0c1xuICogQHBhcmFtIGNvaW4gY29pbiB0aWNrZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRnVsbFVuaXRzKGJhc2VVbml0czogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLCBjb2luOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IEJpZ051bWJlcihiYXNlVW5pdHMpLmRpdigxMCAqKiBjb2lucy5nZXQoY29pbikuZGVjaW1hbFBsYWNlcykudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhbW91bnQgb2YgY29pbiBpbiBiYXNlIHVuaXRzIChzdWNoIGFzIHNhdG9zaGlzLCBjZW50cywgb3Igd2VpKSB0byBmdWxsIHVuaXRzIChzdWNoIGFzIGJpdGNvaW4sIGRvbGxhcnMsIG9yIGV0aGVyKSBmaXhlZCBhbW91bnRcbiAqIEBwYXJhbSBiYXNlVW5pdHMgbnVtYmVyIG9mIGJhc2UgdW5pdHNcbiAqIEBwYXJhbSBjb2luIGNvaW4gdGlja2VyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Z1bGxVbml0c0ZpeGVkKGJhc2VVbml0czogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLCBjb2luOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBkZWNpbWFsUGxhY2VzID0gY29pbnMuZ2V0KGNvaW4pLmRlY2ltYWxQbGFjZXM7XG4gIHJldHVybiBuZXcgQmlnTnVtYmVyKGJhc2VVbml0cykuZGl2KDEwICoqIGRlY2ltYWxQbGFjZXMpLnRvRml4ZWQoZGVjaW1hbFBsYWNlcyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYW1vdW50IG9mIGNvaW4gaW4gZnVsbCB1bml0cyAoc3VjaCBhcyBiaXRjb2luLCBkb2xsYXJzLCBvciBldGhlcikgdG8gYmFzZSB1bml0cyAoc3VjaCBhcyBzYXRvc2hpcywgY2VudHMsIG9yIHdlaSlcbiAqIEBwYXJhbSBmdWxsVW5pdHMgbnVtYmVyIG9mIGZ1bGwgdW5pdHNcbiAqIEBwYXJhbSBjb2luIGNvaW4gdGlja2VyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Jhc2VVbml0cyhmdWxsVW5pdHM6IG51bWJlciB8IHN0cmluZyB8IEJpZ051bWJlciwgY29pbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5ldyBCaWdOdW1iZXIoZnVsbFVuaXRzKS50aW1lcygxMCAqKiBjb2lucy5nZXQoY29pbikuZGVjaW1hbFBsYWNlcykudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBwcmljZSBhbmQgcXVhbnRpdHkgZm9yIGEgY29pbiBpbnRvIGJhc2UgdW5pdHMgbWFya2V0IHZhbHVlXG4gKiAobm90ZSwgcHJpY2UgbWlnaHQgYmUgMiBkZWNpbWFsIHBsYWNlcyBsb25nZXIgdGhhbiBwcmljZUluIGRlY2ltYWwgcGxhY2VzIGZvciBiYXNlIHVuaXRzKVxuICogQHBhcmFtIGNvaW4gLSB3aGljaCBjb2luIHRvIGNhbGN1bGF0ZSBmb3JcbiAqIEBwYXJhbSBwcmljZSAtIHByaWNlIG9mIGEgdW5pdCBvZiB0aGUgY29pbiBzcGVjaWZpZWRcbiAqIEBwYXJhbSBxdWFudGl0eSAtIG51bWJlciBvZiBjb2luc1xuICogQHBhcmFtIHByaWNlSW4gLSBudW1lcmF0b3Igb2YgdHJhZGluZyBwYWlyLCBmb3IgZXhhbXBsZSBVU0Qgb2YgQlRDL1VTRFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9NYXJrZXRWYWx1ZUJhc2VVbml0cyhcbiAgY29pbjogc3RyaW5nLFxuICBwcmljZTogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLFxuICBxdWFudGl0eTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50LFxuICBwcmljZUluID0gJ3RzdXNkJ1xuKTogYmlnaW50IHtcbiAgY29uc3Qgcm91bmRGYWN0b3IgPSBCaWdJbnQoMTAwMDAwMCk7XG4gIGNvbnN0IHByaWNlSW5CYXNlVW5pdHNCeTEwMCA9IE1hdGgucm91bmQoTnVtYmVyKHRvQmFzZVVuaXRzKHByaWNlLCBwcmljZUluKSkgKiAxMDApO1xuICBjb25zdCBkZWNpbWFsUGxhY2VzQ29pbkJ5MTAwID0gQmlnSW50KHRvQmFzZVVuaXRzKDEsIGNvaW4pKSAqIEJpZ0ludCgxMDApO1xuICByZXR1cm4gKHJvdW5kRmFjdG9yICogQmlnSW50KHF1YW50aXR5KSAqIEJpZ0ludChwcmljZUluQmFzZVVuaXRzQnkxMDApKSAvIChkZWNpbWFsUGxhY2VzQ29pbkJ5MTAwICogcm91bmRGYWN0b3IpO1xufVxuIl19
@@ -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,233 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const paillierBigint = __importStar(require("paillier-bigint"));
40
+ require("should");
41
+ const sinon_1 = __importDefault(require("sinon"));
42
+ const sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
43
+ const tss_1 = require("../../../../../../src/account-lib/mpc/tss");
44
+ const fixtures_1 = require("./fixtures");
45
+ const sdk_opensslbytes_1 = require("@bitgo-beta/sdk-opensslbytes");
46
+ const openSSLBytes = (0, sdk_opensslbytes_1.loadWebAssembly)().buffer;
47
+ describe('ecdsa tss', function () {
48
+ const ecdsa = new tss_1.Ecdsa();
49
+ let signCombine1, signCombine2;
50
+ before('generate key and sign phase 1 to 4', async function () {
51
+ const paillierKeyStub = sinon_1.default.stub(paillierBigint, 'generateRandomKeys');
52
+ paillierKeyStub.onCall(0).returns(Promise.resolve(fixtures_1.paillierKeyPairs[0]));
53
+ paillierKeyStub.onCall(1).returns(Promise.resolve(fixtures_1.paillierKeyPairs[1]));
54
+ paillierKeyStub.onCall(2).returns(Promise.resolve(fixtures_1.paillierKeyPairs[2]));
55
+ const [keyShare1, keyShare2, keyShare3] = await Promise.all([
56
+ ecdsa.keyShare(1, 2, 3),
57
+ ecdsa.keyShare(2, 2, 3),
58
+ ecdsa.keyShare(3, 2, 3),
59
+ ]);
60
+ const [keyCombined1, keyCombined2, keyCombined3] = [
61
+ ecdsa.keyCombine(keyShare1.pShare, [keyShare2.nShares[1], keyShare3.nShares[1]]),
62
+ ecdsa.keyCombine(keyShare2.pShare, [keyShare1.nShares[2], keyShare3.nShares[2]]),
63
+ ecdsa.keyCombine(keyShare3.pShare, [keyShare1.nShares[3], keyShare2.nShares[3]]),
64
+ ];
65
+ keyCombined1.xShare.y.should.equal(keyCombined2.xShare.y);
66
+ keyCombined1.xShare.y.should.equal(keyCombined3.xShare.y);
67
+ // Collect all VSS from nShares and verify Schnorr proofs against X_i.
68
+ // Note that this is something WP needs to do after keyCombine/keyDerive.
69
+ const Y = (0, sdk_lib_mpc_1.hexToBigInt)(keyCombined1.xShare.y);
70
+ const VSSs = [
71
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyShare1.nShares[2].v)],
72
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyShare2.nShares[3].v)],
73
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyShare3.nShares[1].v)],
74
+ ];
75
+ ecdsa.verifySchnorrProofX(Y, VSSs, 1, keyCombined1.xShare.schnorrProofX).should.be.true();
76
+ ecdsa.verifySchnorrProofX(Y, VSSs, 2, keyCombined2.xShare.schnorrProofX).should.be.true();
77
+ ecdsa.verifySchnorrProofX(Y, VSSs, 3, keyCombined3.xShare.schnorrProofX).should.be.true();
78
+ // Verify Schnorr proofs against X_i for keyDerive and subsequent keyCombine.
79
+ const path = 'm/0/1/2';
80
+ const keyDerive1 = ecdsa.keyDerive(keyShare1.pShare, [keyShare2.nShares[1], keyShare3.nShares[1]], path);
81
+ // Note the VSSs used here are different from the ones used above.
82
+ const derivedY = (0, sdk_lib_mpc_1.hexToBigInt)(keyDerive1.xShare.y);
83
+ const derivedVSSs = [
84
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyDerive1.nShares[2].v)],
85
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyShare2.nShares[3].v)],
86
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyShare3.nShares[1].v)],
87
+ ];
88
+ ecdsa.verifySchnorrProofX(derivedY, derivedVSSs, 1, keyDerive1.xShare.schnorrProofX).should.be.true();
89
+ const keyCombined2FromKeyDerive1 = ecdsa.keyCombine(keyShare2.pShare, [
90
+ keyDerive1.nShares[2],
91
+ keyShare3.nShares[2],
92
+ ]);
93
+ ecdsa
94
+ .verifySchnorrProofX(derivedY, derivedVSSs, 2, keyCombined2FromKeyDerive1.xShare.schnorrProofX)
95
+ .should.be.true();
96
+ const [ntilde1, ntilde2] = await Promise.all([
97
+ sdk_lib_mpc_1.EcdsaRangeProof.generateNtilde(openSSLBytes, 512),
98
+ sdk_lib_mpc_1.EcdsaRangeProof.generateNtilde(openSSLBytes, 512),
99
+ ]);
100
+ const [serializeNtilde1, serializeNtilde2] = [
101
+ sdk_lib_mpc_1.EcdsaTypes.serializeNtildeWithProofs(ntilde1),
102
+ sdk_lib_mpc_1.EcdsaTypes.serializeNtildeWithProofs(ntilde2),
103
+ ];
104
+ const [index1, index2] = [keyCombined1.xShare.i, keyCombined2.xShare.i];
105
+ const [paillierN1to2, paillierN2to1] = [keyCombined1.yShares[index2].n, keyCombined2.yShares[index1].n];
106
+ const [paillierChallenger1to2, paillierChallenger2to1] = await Promise.all([
107
+ sdk_lib_mpc_1.EcdsaPaillierProof.generateP((0, sdk_lib_mpc_1.hexToBigInt)(paillierN1to2)),
108
+ sdk_lib_mpc_1.EcdsaPaillierProof.generateP((0, sdk_lib_mpc_1.hexToBigInt)(paillierN2to1)),
109
+ ]);
110
+ const [xShare1, xShare2] = [
111
+ ecdsa.appendChallenge(keyCombined1.xShare, serializeNtilde1, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: paillierChallenger1to2 })),
112
+ ecdsa.appendChallenge(keyCombined2.xShare, serializeNtilde2, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: paillierChallenger2to1 })),
113
+ ];
114
+ const yShare2 = ecdsa.appendChallenge(keyCombined1.yShares[index2], serializeNtilde2, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: paillierChallenger2to1 }));
115
+ const signShares = await ecdsa.signShare(xShare1, yShare2);
116
+ const signConvertS21 = await ecdsa.signConvertStep1({
117
+ xShare: xShare2,
118
+ yShare: keyCombined2.yShares[index1],
119
+ kShare: signShares.kShare,
120
+ });
121
+ const signConvertS12 = await ecdsa.signConvertStep2({
122
+ aShare: signConvertS21.aShare,
123
+ wShare: signShares.wShare,
124
+ });
125
+ const signConvertS21_2 = await ecdsa.signConvertStep3({
126
+ muShare: signConvertS12.muShare,
127
+ bShare: signConvertS21.bShare,
128
+ });
129
+ [signCombine1, signCombine2] = [
130
+ ecdsa.signCombine({
131
+ gShare: signConvertS12.gShare,
132
+ signIndex: {
133
+ i: signConvertS12.muShare.i,
134
+ j: signConvertS12.muShare.j,
135
+ },
136
+ }),
137
+ ecdsa.signCombine({
138
+ gShare: signConvertS21_2.gShare,
139
+ signIndex: {
140
+ i: signConvertS21_2.signIndex.i,
141
+ j: signConvertS21_2.signIndex.j,
142
+ },
143
+ }),
144
+ ];
145
+ });
146
+ it('sign phase 5 should succeed', async function () {
147
+ // TODO(HSM-129): There is a bug signing unhashed message (although this deviates from DSA spec) if the message is a little long.
148
+ // Some discrepancy between Ecdsa.sign and secp256k1.recoverPublicKey on handling the message input.
149
+ const message = Buffer.from('GG18 PHASE 5');
150
+ // Starting phase 5
151
+ // In addition to returning s_i, Ecdsa.sign() now also calculates data needed for steps 5A and 5B:
152
+ // - sample random l_i and rho_i (5A)
153
+ // - computes V_i and A_i (5B)]
154
+ // - computes commitment and decommitment of (V_i, A_i) (5A, 5B)
155
+ // - generates proofs of knowledge of s_i, l_i, rho_i w.r.t. V_i, A_i (5B)
156
+ const [sign1, sign2] = [
157
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine1.oShare, signCombine2.dShare)),
158
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine2.oShare, signCombine1.dShare)),
159
+ ];
160
+ sign1.R.should.equal(sign2.R);
161
+ sign1.y.should.equal(sign2.y);
162
+ sign1.m.toString('hex').should.equal(sign2.m.toString('hex'));
163
+ // Step 5A: Calculations done by Ecdsa.sign() above, and broadcast commitment of (V_i, A_i) to other parties.
164
+ // The following values will be sent via communication channel at the end of 5A.
165
+ // const commitmentVA1 = sign1.comDecomVA.commitment;
166
+ // const commitmentVA2 = sign2.comDecomVA.commitment;
167
+ // Step 5B: After having received all commitments of (V_i, A_i) from other parties,
168
+ // each party will broadcast decommitment of (V_i, A_i) and ZK proofs returned by Ecdsa.sign() above
169
+ // to other parties. Then Ecdsa.verifyVAShares() below will:
170
+ // - verify commitments of (V_i, A_i) received from other parties (5B)
171
+ // - verify ZK proofs of (V_i, A_i) received from other parties (5B)
172
+ // - calculate V out of G, y, r, m, and all V_i, calculate A as sum of all A_i (5B)
173
+ // - calculate U_i and T_i and commitment and decommitment of (U_i, T_i) (5C)
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
+ // Step 5C: Calculations of U_i, T_i done by Ecdsa.verifyVAShares above,
180
+ // and broadcast commitment of (U_i, T_i) to other parties.
181
+ // The following values will be sent via communication channel at the end of 5C.
182
+ // const commitmentUT1 = UT1.comDecomUT.commitment;
183
+ // const commitmentUT2 = UT2.comDecomUT.commitment;
184
+ // Step 5D: After having received all commitments of (U_i, T_i) from other parties,
185
+ // each party will broadcast decommitment of (U_i, T_i) returned by Ecdsa.verifyVAShares() above
186
+ // to other parties. Then Ecdsa.verifyUTShares() below will:
187
+ // - verify commitments of (U_i, T_i) received from other parties (5D)
188
+ // - calculate U as sum of all U_i, calculate T as sum of all T_i (5D)
189
+ // - if U equals T, then return own SShare which is being returned by Ecdsa.sign() right now (5E)
190
+ const [publicUTShares_1, publicUTShares_2] = [UT1, UT2];
191
+ const [signature1, signature2] = [
192
+ ecdsa.verifyUTShares(UT1, [publicUTShares_2]),
193
+ ecdsa.verifyUTShares(UT2, [publicUTShares_1]),
194
+ ];
195
+ // Step 5E: Broadcast s_i returned by Ecdsa.verifyUTShares() above to other parties.
196
+ // Verify the sum of s_i should be a valid signature.
197
+ const signature = ecdsa.constructSignature([signature1, signature2]);
198
+ ecdsa.verify(message, signature).should.be.true();
199
+ });
200
+ it('sign phase 5 fail - malicious player cheats with bad s share', async function () {
201
+ const message = Buffer.from('GG18 PHASE 5');
202
+ const [sign1, sign2] = [
203
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine1.oShare, signCombine2.dShare)),
204
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine2.oShare, signCombine1.dShare)),
205
+ ];
206
+ sign1.R.should.equal(sign2.R);
207
+ sign1.y.should.equal(sign2.y);
208
+ sign1.m.toString('hex').should.equal(sign2.m.toString('hex'));
209
+ // Change the s share of sign1, and recalcualte its V along with the commitment/proof by following protocol.
210
+ const bad_s = (0, sdk_lib_mpc_1.hexToBigInt)(sign1.s) + BigInt(1);
211
+ const bad_V = tss_1.Ecdsa.curve.pointAdd(tss_1.Ecdsa.curve.pointMultiply((0, sdk_lib_mpc_1.hexToBigInt)(sign1.R), bad_s), tss_1.Ecdsa.curve.basePointMult(sign1.l));
212
+ const comDecom_V_A = sdk_lib_mpc_1.HashCommitment.createCommitment(Buffer.concat([
213
+ (0, sdk_lib_mpc_1.bigIntToBufferBE)(bad_V, tss_1.Ecdsa.curve.pointBytes),
214
+ (0, sdk_lib_mpc_1.bigIntToBufferBE)(sign1.A, tss_1.Ecdsa.curve.pointBytes),
215
+ ]));
216
+ const zkVProof = sdk_lib_mpc_1.EcdsaZkVProof.createZkVProof(bad_V, bad_s, sign1.l, (0, sdk_lib_mpc_1.hexToBigInt)(sign1.R), tss_1.Ecdsa.curve, sign1.proofContext);
217
+ sign1.s = (0, sdk_lib_mpc_1.bigIntToBufferBE)(bad_s, 32).toString('hex');
218
+ sign1.V = bad_V;
219
+ sign1.comDecomVA = comDecom_V_A;
220
+ sign1.zkVProofV = zkVProof;
221
+ // 5B will pass.
222
+ const [publicVAShares_1, publicVAShares_2] = [sign1, sign2];
223
+ const [UT1, UT2] = [
224
+ ecdsa.verifyVAShares(sign1, [publicVAShares_2]),
225
+ ecdsa.verifyVAShares(sign2, [publicVAShares_1]),
226
+ ];
227
+ // But verification at beginning of 5E will fail.
228
+ const [publicUTShares_1, publicUTShares_2] = [UT1, UT2];
229
+ (() => ecdsa.verifyUTShares(UT1, [publicUTShares_2])).should.throw('Sum of all U_i does not match sum of all T_i');
230
+ (() => ecdsa.verifyUTShares(UT2, [publicUTShares_1])).should.throw('Sum of all U_i does not match sum of all T_i');
231
+ });
232
+ });
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS9lY2RzYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdFQUFrRDtBQUNsRCxrQkFBZ0I7QUFDaEIsa0RBQTBCO0FBQzFCLHlEQVFpQztBQUNqQyxtRUFBa0U7QUFNbEUseUNBQThDO0FBQzlDLG1FQUErRDtBQUUvRCxNQUFNLFlBQVksR0FBRyxJQUFBLGtDQUFlLEdBQUUsQ0FBQyxNQUFNLENBQUM7QUFFOUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtJQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQUssRUFBRSxDQUFDO0lBRTFCLElBQUksWUFBMkIsRUFBRSxZQUEyQixDQUFDO0lBRTdELE1BQU0sQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLO1FBQ2hELE1BQU0sZUFBZSxHQUFHLGVBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFFekUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQywyQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQywyQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQywyQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEUsTUFBTSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFD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S0FBSyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNoRCxDQUFDO1FBRUYsaURBQWlEO1FBQ2pELE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBb0IsRUFBRSxHQUFvQixDQUFDLENBQUM7UUFDMUYsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUNuSCxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0lBQ3JILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYWlsbGllckJpZ2ludCBmcm9tICdwYWlsbGllci1iaWdpbnQnO1xuaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCB7XG4gIEVjZHNhUGFpbGxpZXJQcm9vZixcbiAgRWNkc2FSYW5nZVByb29mLFxuICBFY2RzYVR5cGVzLFxuICBFY2RzYVprVlByb29mLFxuICBIYXNoQ29tbWl0bWVudCxcbiAgaGV4VG9CaWdJbnQsXG4gIGJpZ0ludFRvQnVmZmVyQkUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1saWItbXBjJztcbmltcG9ydCB7IEVjZHNhIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL21wYy90c3MnO1xuaW1wb3J0IHtcbiAgUHVibGljVVRTaGFyZSxcbiAgUHVibGljVkFTaGFyZVdpdGhQcm9vZnMsXG4gIFNpZ25Db21iaW5lUlQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9tcGMvdHNzL2VjZHNhL3R5cGVzJztcbmltcG9ydCB7IHBhaWxsaWVyS2V5UGFpcnMgfSBmcm9tICcuL2ZpeHR1cmVzJztcbmltcG9ydCB7IGxvYWRXZWJBc3NlbWJseSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1vcGVuc3NsYnl0ZXMnO1xuXG5jb25zdCBvcGVuU1NMQnl0ZXMgPSBsb2FkV2ViQXNzZW1ibHkoKS5idWZmZXI7XG5cbmRlc2NyaWJlKCdlY2RzYSB0c3MnLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGVjZHNhID0gbmV3IEVjZHNhKCk7XG5cbiAgbGV0IHNpZ25Db21iaW5lMTogU2lnbkNvbWJpbmVSVCwgc2lnbkNvbWJpbmUyOiBTaWduQ29tYmluZVJUO1xuXG4gIGJlZm9yZSgnZ2VuZXJhdGUga2V5IGFuZCBzaWduIHBoYXNlIDEgdG8gNCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBwYWlsbGllcktleVN0dWIgPSBzaW5vbi5zdHViKHBhaWxsaWVyQmlnaW50LCAnZ2VuZXJhdGVSYW5kb21LZXlzJyk7XG5cbiAgICBwYWlsbGllcktleVN0dWIub25DYWxsKDApLnJldHVybnMoUHJvbWlzZS5yZXNvbHZlKHBhaWxsaWVyS2V5UGFpcnNbMF0pKTtcbiAgICBwYWlsbGllcktleVN0dWIub25DYWxsKDEpLnJldHVybnMoUHJvbWlzZS5yZXNvbHZlKHBhaWxsaWVyS2V5UGFpcnNbMV0pKTtcbiAgICBwYWlsbGllcktleVN0dWIub25DYWxsKDIpLnJldHVybnMoUHJvbWlzZS5yZXNvbHZlKHBhaWxsaWVyS2V5UGFpcnNbMl0pKTtcblxuICAgIGNvbnN0IFtrZXlTaGFyZTEsIGtleVNoYXJlMiwga2V5U2hhcmUzXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIGVjZHNhLmtleVNoYXJlKDEsIDIsIDMpLFxuICAgICAgZWNkc2Eua2V5U2hhcmUoMiwgMiwgMyksXG4gICAgICBlY2RzYS5rZXlTaGFyZSgzLCAyLCAzKSxcbiAgICBdKTtcblxuICAgIGNvbnN0IFtrZXlDb21iaW5lZDEsIGtleUNvbWJpbmVkMiwga2V5Q29tYmluZWQzXSA9IFtcbiAgICAgIGVjZHNhLmtleUNvbWJpbmUoa2V5U2hhcmUxLnBTaGFyZSwgW2tleVNoYXJlMi5uU2hhcmVzWzFdLCBrZXlTaGFyZTMublNoYXJlc1sxXV0pLFxuICAgICAgZWNkc2Eua2V5Q29tYmluZShrZXlTaGFyZTIucFNoYXJlLCBba2V5U2hhcmUxLm5TaGFyZXNbMl0sIGtleVNoYXJlMy5uU2hhcmVzWzJdXSksXG4gICAgICBlY2RzYS5rZXlDb21iaW5lKGtleVNoYXJlMy5wU2hhcmUsIFtrZXlTaGFyZTEublNoYXJlc1szXSwga2V5U2hhcmUyLm5TaGFyZXNbM11dKSxcbiAgICBdO1xuXG4gICAga2V5Q29tYmluZWQxLnhTaGFyZS55LnNob3VsZC5lcXVhbChrZXlDb21iaW5lZDIueFNoYXJlLnkpO1xuICAgIGtleUNvbWJpbmVkMS54U2hhcmUueS5zaG91bGQuZXF1YWwoa2V5Q29tYmluZWQzLnhTaGFyZS55KTtcblxuICAgIC8vIENvbGxlY3QgYWxsIFZTUyBmcm9tIG5TaGFyZXMgYW5kIHZlcmlmeSBTY2hub3JyIHByb29mcyBhZ2FpbnN0IFhfaS5cbiAgICAvLyBOb3RlIHRoYXQgdGhpcyBpcyBzb21ldGhpbmcgV1AgbmVlZHMgdG8gZG8gYWZ0ZXIga2V5Q29tYmluZS9rZXlEZXJpdmUuXG4gICAgY29uc3QgWSA9IGhleFRvQmlnSW50KGtleUNvbWJpbmVkMS54U2hhcmUueSk7XG5cbiAgICBjb25zdCBWU1NzID0gW1xuICAgICAgW2hleFRvQmlnSW50KGtleVNoYXJlMS5uU2hhcmVzWzJdLnYhKV0sXG4gICAgICBbaGV4VG9CaWdJbnQoa2V5U2hhcmUyLm5TaGFyZXNbM10udiEpXSxcbiAgICAgIFtoZXhUb0JpZ0ludChrZXlTaGFyZTMublNoYXJlc1sxXS52ISldLFxuICAgIF07XG5cbiAgICBlY2RzYS52ZXJpZnlTY2hub3JyUHJvb2ZYKFksIFZTU3MsIDEsIGtleUNvbWJpbmVkMS54U2hhcmUuc2Nobm9yclByb29mWCkuc2hvdWxkLmJlLnRydWUoKTtcbiAgICBlY2RzYS52ZXJpZnlTY2hub3JyUHJvb2ZYKFksIFZTU3MsIDIsIGtleUNvbWJpbmVkMi54U2hhcmUuc2Nobm9yclByb29mWCkuc2hvdWxkLmJlLnRydWUoKTtcbiAgICBlY2RzYS52ZXJpZnlTY2hub3JyUHJvb2ZYKFksIFZTU3MsIDMsIGtleUNvbWJpbmVkMy54U2hhcmUuc2Nobm9yclByb29mWCkuc2hvdWxkLmJlLnRydWUoKTtcblxuICAgIC8vIFZlcmlmeSBTY2hub3JyIHByb29mcyBhZ2FpbnN0IFhfaSBmb3Iga2V5RGVyaXZlIGFuZCBzdWJzZXF1ZW50IGtleUNvbWJpbmUuXG4gICAgY29uc3QgcGF0aCA9ICdtLzAvMS8yJztcbiAgICBjb25zdCBrZXlEZXJpdmUxID0gZWNkc2Eua2V5RGVyaXZlKGtleVNoYXJlMS5wU2hhcmUsIFtrZXlTaGFyZTIublNoYXJlc1sxXSwga2V5U2hhcmUzLm5TaGFyZXNbMV1dLCBwYXRoKTtcblxuICAgIC8vIE5vdGUgdGhlIFZTU3MgdXNlZCBoZXJlIGFyZSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lcyB1c2VkIGFib3ZlLlxuICAgIGNvbnN0IGRlcml2ZWRZID0gaGV4VG9CaWdJbnQoa2V5RGVyaXZlMS54U2hhcmUueSk7XG4gICAgY29uc3QgZGVyaXZlZFZTU3MgPSBbXG4gICAgICBbaGV4VG9CaWdJbnQoa2V5RGVyaXZlMS5uU2hhcmVzWzJdLnYhKV0sXG4gICAgICBbaGV4VG9CaWdJbnQoa2V5U2hhcmUyLm5TaGFyZXNbM10udiEpXSxcbiAgICAgIFtoZXhUb0JpZ0ludChrZXlTaGFyZTMublNoYXJlc1sxXS52ISldLFxuICAgIF07XG4gICAgZWNkc2EudmVyaWZ5U2Nobm9yclByb29mWChkZXJpdmVkWSwgZGVyaXZlZFZTU3MsIDEsIGtleURlcml2ZTEueFNoYXJlLnNjaG5vcnJQcm9vZlgpLnNob3VsZC5iZS50cnVlKCk7XG5cbiAgICBjb25zdCBrZXlDb21iaW5lZDJGcm9tS2V5RGVyaXZlMSA9IGVjZHNhLmtleUNvbWJpbmUoa2V5U2hhcmUyLnBTaGFyZSwgW1xuICAgICAga2V5RGVyaXZlMS5uU2hhcmVzWzJdLFxuICAgICAga2V5U2hhcmUzLm5TaGFyZXNbMl0sXG4gICAgXSk7XG4gICAgZWNkc2FcbiAgICAgIC52ZXJpZnlTY2hub3JyUHJvb2ZYKGRlcml2ZWRZLCBkZXJpdmVkVlNTcywgMiwga2V5Q29tYmluZWQyRnJvbUtleURlcml2ZTEueFNoYXJlLnNjaG5vcnJQcm9vZlgpXG4gICAgICAuc2hvdWxkLmJlLnRydWUoKTtcblxuICAgIGNvbnN0IFtudGlsZGUxLCBudGlsZGUyXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIEVjZHNhUmFuZ2VQcm9vZi5nZW5lcmF0ZU50aWxkZShvcGVuU1NMQnl0ZXMsIDUxMiksXG4gICAgICBFY2RzYVJhbmdlUHJvb2YuZ2VuZXJhdGVOdGlsZGUob3BlblNTTEJ5dGVzLCA1MTIpLFxuICAgIF0pO1xuXG4gICAgY29uc3QgW3NlcmlhbGl6ZU50aWxkZTEsIHNlcmlhbGl6ZU50aWxkZTJdID0gW1xuICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKG50aWxkZTEpLFxuICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKG50aWxkZTIpLFxuICAgIF07XG5cbiAgICBjb25zdCBbaW5kZXgxLCBpbmRleDJdID0gW2tleUNvbWJpbmVkMS54U2hhcmUuaSwga2V5Q29tYmluZWQyLnhTaGFyZS5pXTtcblxuICAgIGNvbnN0IFtwYWlsbGllck4xdG8yLCBwYWlsbGllck4ydG8xXSA9IFtrZXlDb21iaW5lZDEueVNoYXJlc1tpbmRleDJdLm4sIGtleUNvbWJpbmVkMi55U2hhcmVzW2luZGV4MV0ubl07XG5cbiAgICBjb25zdCBbcGFpbGxpZXJDaGFsbGVuZ2VyMXRvMiwgcGFpbGxpZXJDaGFsbGVuZ2VyMnRvMV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBFY2RzYVBhaWxsaWVyUHJvb2YuZ2VuZXJhdGVQKGhleFRvQmlnSW50KHBhaWxsaWVyTjF0bzIpKSxcbiAgICAgIEVjZHNhUGFpbGxpZXJQcm9vZi5nZW5lcmF0ZVAoaGV4VG9CaWdJbnQocGFpbGxpZXJOMnRvMSkpLFxuICAgIF0pO1xuXG4gICAgY29uc3QgW3hTaGFyZTEsIHhTaGFyZTJdID0gW1xuICAgICAgZWNkc2EuYXBwZW5kQ2hhbGxlbmdlKFxuICAgICAgICBrZXlDb21iaW5lZDEueFNoYXJlLFxuICAgICAgICBzZXJpYWxpemVOdGlsZGUxLFxuICAgICAgICBFY2RzYVR5cGVzLnNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlKHsgcDogcGFpbGxpZXJDaGFsbGVuZ2VyMXRvMiB9KVxuICAgICAgKSxcbiAgICAgIGVjZHNhLmFwcGVuZENoYWxsZW5nZShcbiAgICAgICAga2V5Q29tYmluZWQyLnhTaGFyZSxcbiAgICAgICAgc2VyaWFsaXplTnRpbGRlMixcbiAgICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZSh7IHA6IHBhaWxsaWVyQ2hhbGxlbmdlcjJ0bzEgfSlcbiAgICAgICksXG4gICAgXTtcblxuICAgIGNvbnN0IHlTaGFyZTIgPSBlY2RzYS5hcHBlbmRDaGFsbGVuZ2UoXG4gICAgICBrZXlDb21iaW5lZDEueVNoYXJlc1tpbmRleDJdLFxuICAgICAgc2VyaWFsaXplTnRpbGRlMixcbiAgICAgIEVjZHNhVHlwZXMuc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2UoeyBwOiBwYWlsbGllckNoYWxsZW5nZXIydG8xIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHNpZ25TaGFyZXMgPSBhd2FpdCBlY2RzYS5zaWduU2hhcmUoeFNoYXJlMSwgeVNoYXJlMik7XG5cbiAgICBjb25zdCBzaWduQ29udmVydFMyMSA9IGF3YWl0IGVjZHNhLnNpZ25Db252ZXJ0U3RlcDEoe1xuICAgICAgeFNoYXJlOiB4U2hhcmUyLFxuICAgICAgeVNoYXJlOiBrZXlDb21iaW5lZDIueVNoYXJlc1tpbmRleDFdLFxuICAgICAga1NoYXJlOiBzaWduU2hhcmVzLmtTaGFyZSxcbiAgICB9KTtcbiAgICBjb25zdCBzaWduQ29udmVydFMxMiA9IGF3YWl0IGVjZHNhLnNpZ25Db252ZXJ0U3RlcDIoe1xuICAgICAgYVNoYXJlOiBzaWduQ29udmVydFMyMS5hU2hhcmUsXG4gICAgICB3U2hhcmU6IHNpZ25TaGFyZXMud1NoYXJlLFxuICAgIH0pO1xuICAgIGNvbnN0IHNpZ25Db252ZXJ0UzIxXzIgPSBhd2FpdCBlY2RzYS5zaWduQ29udmVydFN0ZXAzKHtcbiAgICAgIG11U2hhcmU6IHNpZ25Db252ZXJ0UzEyLm11U2hhcmUsXG4gICAgICBiU2hhcmU6IHNpZ25Db252ZXJ0UzIxLmJTaGFyZSxcbiAgICB9KTtcblxuICAgIFtzaWduQ29tYmluZTEsIHNpZ25Db21iaW5lMl0gPSBbXG4gICAgICBlY2RzYS5zaWduQ29tYmluZSh7XG4gICAgICAgIGdTaGFyZTogc2lnbkNvbnZlcnRTMTIuZ1NoYXJlLFxuICAgICAgICBzaWduSW5kZXg6IHtcbiAgICAgICAgICBpOiBzaWduQ29udmVydFMxMi5tdVNoYXJlLmksXG4gICAgICAgICAgajogc2lnbkNvbnZlcnRTMTIubXVTaGFyZS5qLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBlY2RzYS5zaWduQ29tYmluZSh7XG4gICAgICAgIGdTaGFyZTogc2lnbkNvbnZlcnRTMjFfMi5nU2hhcmUsXG4gICAgICAgIHNpZ25JbmRleDoge1xuICAgICAgICAgIGk6IHNpZ25Db252ZXJ0UzIxXzIuc2lnbkluZGV4LmksXG4gICAgICAgICAgajogc2lnbkNvbnZlcnRTMjFfMi5zaWduSW5kZXguaixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIF07XG4gIH0pO1xuXG4gIGl0KCdzaWduIHBoYXNlIDUgc2hvdWxkIHN1Y2NlZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVE9ETyhIU00tMTI5KTogVGhlcmUgaXMgYSBidWcgc2lnbmluZyB1bmhhc2hlZCBtZXNzYWdlIChhbHRob3VnaCB0aGlzIGRldmlhdGVzIGZyb20gRFNBIHNwZWMpIGlmIHRoZSBtZXNzYWdlIGlzIGEgbGl0dGxlIGxvbmcuXG4gICAgLy8gICAgICAgU29tZSBkaXNjcmVwYW5jeSBiZXR3ZWVuIEVjZHNhLnNpZ24gYW5kIHNlY3AyNTZrMS5yZWNvdmVyUHVibGljS2V5IG9uIGhhbmRsaW5nIHRoZSBtZXNzYWdlIGlucHV0LlxuICAgIGNvbnN0IG1lc3NhZ2UgPSBCdWZmZXIuZnJvbSgnR0cxOCBQSEFTRSA1Jyk7XG5cbiAgICAvLyBTdGFydGluZyBwaGFzZSA1XG4gICAgLy8gSW4gYWRkaXRpb24gdG8gcmV0dXJuaW5nIHNfaSwgRWNkc2Euc2lnbigpIG5vdyBhbHNvIGNhbGN1bGF0ZXMgZGF0YSBuZWVkZWQgZm9yIHN0ZXBzIDVBIGFuZCA1QjpcbiAgICAvLyAgIC0gc2FtcGxlIHJhbmRvbSBsX2kgYW5kIHJob19pICg1QSlcbiAgICAvLyAgIC0gY29tcHV0ZXMgVl9pIGFuZCBBX2kgKDVCKV1cbiAgICAvLyAgIC0gY29tcHV0ZXMgY29tbWl0bWVudCBhbmQgZGVjb21taXRtZW50IG9mIChWX2ksIEFfaSkgKDVBLCA1QilcbiAgICAvLyAgIC0gZ2VuZXJhdGVzIHByb29mcyBvZiBrbm93bGVkZ2Ugb2Ygc19pLCBsX2ksIHJob19pIHcuci50LiBWX2ksIEFfaSAoNUIpXG4gICAgY29uc3QgW3NpZ24xLCBzaWduMl0gPSBbXG4gICAgICBlY2RzYS5nZW5lcmF0ZVZBUHJvb2ZzKG1lc3NhZ2UsIGVjZHNhLnNpZ24obWVzc2FnZSwgc2lnbkNvbWJpbmUxLm9TaGFyZSwgc2lnbkNvbWJpbmUyLmRTaGFyZSkpLFxuICAgICAgZWNkc2EuZ2VuZXJhdGVWQVByb29mcyhtZXNzYWdlLCBlY2RzYS5zaWduKG1lc3NhZ2UsIHNpZ25Db21iaW5lMi5vU2hhcmUsIHNpZ25Db21iaW5lMS5kU2hhcmUpKSxcbiAgICBdO1xuXG4gICAgc2lnbjEuUi5zaG91bGQuZXF1YWwoc2lnbjIuUik7XG4gICAgc2lnbjEueS5zaG91bGQuZXF1YWwoc2lnbjIueSk7XG4gICAgc2lnbjEubS50b1N0cmluZygnaGV4Jykuc2hvdWxkLmVxdWFsKHNpZ24yLm0udG9TdHJpbmcoJ2hleCcpKTtcblxuICAgIC8vIFN0ZXAgNUE6IENhbGN1bGF0aW9ucyBkb25lIGJ5IEVjZHNhLnNpZ24oKSBhYm92ZSwgYW5kIGJyb2FkY2FzdCBjb21taXRtZW50IG9mIChWX2ksIEFfaSkgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBUaGUgZm9sbG93aW5nIHZhbHVlcyB3aWxsIGJlIHNlbnQgdmlhIGNvbW11bmljYXRpb24gY2hhbm5lbCBhdCB0aGUgZW5kIG9mIDVBLlxuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRWQTEgPSBzaWduMS5jb21EZWNvbVZBLmNvbW1pdG1lbnQ7XG4gICAgLy8gY29uc3QgY29tbWl0bWVudFZBMiA9IHNpZ24yLmNvbURlY29tVkEuY29tbWl0bWVudDtcblxuICAgIC8vIFN0ZXAgNUI6IEFmdGVyIGhhdmluZyByZWNlaXZlZCBhbGwgY29tbWl0bWVudHMgb2YgKFZfaSwgQV9pKSBmcm9tIG90aGVyIHBhcnRpZXMsXG4gICAgLy8gICAgICAgICAgZWFjaCBwYXJ0eSB3aWxsIGJyb2FkY2FzdCBkZWNvbW1pdG1lbnQgb2YgKFZfaSwgQV9pKSBhbmQgWksgcHJvb2ZzIHJldHVybmVkIGJ5IEVjZHNhLnNpZ24oKSBhYm92ZVxuICAgIC8vICAgICAgICAgIHRvIG90aGVyIHBhcnRpZXMuICBUaGVuIEVjZHNhLnZlcmlmeVZBU2hhcmVzKCkgYmVsb3cgd2lsbDpcbiAgICAvLyAgIC0gdmVyaWZ5IGNvbW1pdG1lbnRzIG9mIChWX2ksIEFfaSkgcmVjZWl2ZWQgZnJvbSBvdGhlciBwYXJ0aWVzICg1QilcbiAgICAvLyAgIC0gdmVyaWZ5IFpLIHByb29mcyBvZiAoVl9pLCBBX2kpIHJlY2VpdmVkIGZyb20gb3RoZXIgcGFydGllcyAoNUIpXG4gICAgLy8gICAtIGNhbGN1bGF0ZSBWIG91dCBvZiBHLCB5LCByLCBtLCBhbmQgYWxsIFZfaSwgY2FsY3VsYXRlIEEgYXMgc3VtIG9mIGFsbCBBX2kgKDVCKVxuICAgIC8vICAgLSBjYWxjdWxhdGUgVV9pIGFuZCBUX2kgYW5kIGNvbW1pdG1lbnQgYW5kIGRlY29tbWl0bWVudCBvZiAoVV9pLCBUX2kpICg1QylcbiAgICBjb25zdCBbcHVibGljVkFTaGFyZXNfMSwgcHVibGljVkFTaGFyZXNfMl0gPSBbc2lnbjEgYXMgUHVibGljVkFTaGFyZVdpdGhQcm9vZnMsIHNpZ24yIGFzIFB1YmxpY1ZBU2hhcmVXaXRoUHJvb2ZzXTtcbiAgICBjb25zdCBbVVQxLCBVVDJdID0gW1xuICAgICAgZWNkc2EudmVyaWZ5VkFTaGFyZXMoc2lnbjEsIFtwdWJsaWNWQVNoYXJlc18yXSksXG4gICAgICBlY2RzYS52ZXJpZnlWQVNoYXJlcyhzaWduMiwgW3B1YmxpY1ZBU2hhcmVzXzFdKSxcbiAgICBdO1xuXG4gICAgLy8gU3RlcCA1QzogQ2FsY3VsYXRpb25zIG9mIFVfaSwgVF9pIGRvbmUgYnkgRWNkc2EudmVyaWZ5VkFTaGFyZXMgYWJvdmUsXG4gICAgLy8gICAgICAgICAgYW5kIGJyb2FkY2FzdCBjb21taXRtZW50IG9mIChVX2ksIFRfaSkgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBUaGUgZm9sbG93aW5nIHZhbHVlcyB3aWxsIGJlIHNlbnQgdmlhIGNvbW11bmljYXRpb24gY2hhbm5lbCBhdCB0aGUgZW5kIG9mIDVDLlxuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRVVDEgPSBVVDEuY29tRGVjb21VVC5jb21taXRtZW50O1xuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRVVDIgPSBVVDIuY29tRGVjb21VVC5jb21taXRtZW50O1xuXG4gICAgLy8gU3RlcCA1RDogQWZ0ZXIgaGF2aW5nIHJlY2VpdmVkIGFsbCBjb21taXRtZW50cyBvZiAoVV9pLCBUX2kpIGZyb20gb3RoZXIgcGFydGllcyxcbiAgICAvLyAgICAgICAgICBlYWNoIHBhcnR5IHdpbGwgYnJvYWRjYXN0IGRlY29tbWl0bWVudCBvZiAoVV9pLCBUX2kpIHJldHVybmVkIGJ5IEVjZHNhLnZlcmlmeVZBU2hhcmVzKCkgYWJvdmVcbiAgICAvLyAgICAgICAgICB0byBvdGhlciBwYXJ0aWVzLiAgVGhlbiBFY2RzYS52ZXJpZnlVVFNoYXJlcygpIGJlbG93IHdpbGw6XG4gICAgLy8gIC0gdmVyaWZ5IGNvbW1pdG1lbnRzIG9mIChVX2ksIFRfaSkgcmVjZWl2ZWQgZnJvbSBvdGhlciBwYXJ0aWVzICg1RClcbiAgICAvLyAgLSBjYWxjdWxhdGUgVSBhcyBzdW0gb2YgYWxsIFVfaSwgY2FsY3VsYXRlIFQgYXMgc3VtIG9mIGFsbCBUX2kgKDVEKVxuICAgIC8vICAtIGlmIFUgZXF1YWxzIFQsIHRoZW4gcmV0dXJuIG93biBTU2hhcmUgd2hpY2ggaXMgYmVpbmcgcmV0dXJuZWQgYnkgRWNkc2Euc2lnbigpIHJpZ2h0IG5vdyAoNUUpXG4gICAgY29uc3QgW3B1YmxpY1VUU2hhcmVzXzEsIHB1YmxpY1VUU2hhcmVzXzJdID0gW1VUMSBhcyBQdWJsaWNVVFNoYXJlLCBVVDIgYXMgUHVibGljVVRTaGFyZV07XG4gICAgY29uc3QgW3NpZ25hdHVyZTEsIHNpZ25hdHVyZTJdID0gW1xuICAgICAgZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQxLCBbcHVibGljVVRTaGFyZXNfMl0pLFxuICAgICAgZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQyLCBbcHVibGljVVRTaGFyZXNfMV0pLFxuICAgIF07XG5cbiAgICAvLyBTdGVwIDVFOiBCcm9hZGNhc3Qgc19pIHJldHVybmVkIGJ5IEVjZHNhLnZlcmlmeVVUU2hhcmVzKCkgYWJvdmUgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBWZXJpZnkgdGhlIHN1bSBvZiBzX2kgc2hvdWxkIGJlIGEgdmFsaWQgc2lnbmF0dXJlLlxuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGVjZHNhLmNvbnN0cnVjdFNpZ25hdHVyZShbc2lnbmF0dXJlMSwgc2lnbmF0dXJlMl0pO1xuICAgIGVjZHNhLnZlcmlmeShtZXNzYWdlLCBzaWduYXR1cmUpLnNob3VsZC5iZS50cnVlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaWduIHBoYXNlIDUgZmFpbCAtIG1hbGljaW91cyBwbGF5ZXIgY2hlYXRzIHdpdGggYmFkIHMgc2hhcmUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IEJ1ZmZlci5mcm9tKCdHRzE4IFBIQVNFIDUnKTtcblxuICAgIGNvbnN0IFtzaWduMSwgc2lnbjJdID0gW1xuICAgICAgZWNkc2EuZ2VuZXJhdGVWQVByb29mcyhtZXNzYWdlLCBlY2RzYS5zaWduKG1lc3NhZ2UsIHNpZ25Db21iaW5lMS5vU2hhcmUsIHNpZ25Db21iaW5lMi5kU2hhcmUpKSxcbiAgICAgIGVjZHNhLmdlbmVyYXRlVkFQcm9vZnMobWVzc2FnZSwgZWNkc2Euc2lnbihtZXNzYWdlLCBzaWduQ29tYmluZTIub1NoYXJlLCBzaWduQ29tYmluZTEuZFNoYXJlKSksXG4gICAgXTtcblxuICAgIHNpZ24xLlIuc2hvdWxkLmVxdWFsKHNpZ24yLlIpO1xuICAgIHNpZ24xLnkuc2hvdWxkLmVxdWFsKHNpZ24yLnkpO1xuICAgIHNpZ24xLm0udG9TdHJpbmcoJ2hleCcpLnNob3VsZC5lcXVhbChzaWduMi5tLnRvU3RyaW5nKCdoZXgnKSk7XG5cbiAgICAvLyBDaGFuZ2UgdGhlIHMgc2hhcmUgb2Ygc2lnbjEsIGFuZCByZWNhbGN1YWx0ZSBpdHMgViBhbG9uZyB3aXRoIHRoZSBjb21taXRtZW50L3Byb29mIGJ5IGZvbGxvd2luZyBwcm90b2NvbC5cbiAgICBjb25zdCBiYWRfcyA9IGhleFRvQmlnSW50KHNpZ24xLnMpICsgQmlnSW50KDEpO1xuXG4gICAgY29uc3QgYmFkX1YgPSBFY2RzYS5jdXJ2ZS5wb2ludEFkZChcbiAgICAgIEVjZHNhLmN1cnZlLnBvaW50TXVsdGlwbHkoaGV4VG9CaWdJbnQoc2lnbjEuUiksIGJhZF9zKSxcbiAgICAgIEVjZHNhLmN1cnZlLmJhc2VQb2ludE11bHQoc2lnbjEubClcbiAgICApO1xuXG4gICAgY29uc3QgY29tRGVjb21fVl9BID0gSGFzaENvbW1pdG1lbnQuY3JlYXRlQ29tbWl0bWVudChcbiAgICAgIEJ1ZmZlci5jb25jYXQoW1xuICAgICAgICBiaWdJbnRUb0J1ZmZlckJFKGJhZF9WLCBFY2RzYS5jdXJ2ZS5wb2ludEJ5dGVzKSxcbiAgICAgICAgYmlnSW50VG9CdWZmZXJCRShzaWduMS5BLCBFY2RzYS5jdXJ2ZS5wb2ludEJ5dGVzKSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICBjb25zdCB6a1ZQcm9vZiA9IEVjZHNhWmtWUHJvb2YuY3JlYXRlWmtWUHJvb2YoXG4gICAgICBiYWRfVixcbiAgICAgIGJhZF9zLFxuICAgICAgc2lnbjEubCxcbiAgICAgIGhleFRvQmlnSW50KHNpZ24xLlIpLFxuICAgICAgRWNkc2EuY3VydmUsXG4gICAgICBzaWduMS5wcm9vZkNvbnRleHRcbiAgICApO1xuXG4gICAgc2lnbjEucyA9IGJpZ0ludFRvQnVmZmVyQkUoYmFkX3MsIDMyKS50b1N0cmluZygnaGV4Jyk7XG4gICAgc2lnbjEuViA9IGJhZF9WO1xuICAgIHNpZ24xLmNvbURlY29tVkEgPSBjb21EZWNvbV9WX0E7XG4gICAgc2lnbjEuemtWUHJvb2ZWID0gemtWUHJvb2Y7XG5cbiAgICAvLyA1QiB3aWxsIHBhc3MuXG4gICAgY29uc3QgW3B1YmxpY1ZBU2hhcmVzXzEsIHB1YmxpY1ZBU2hhcmVzXzJdID0gW3NpZ24xIGFzIFB1YmxpY1ZBU2hhcmVXaXRoUHJvb2ZzLCBzaWduMiBhcyBQdWJsaWNWQVNoYXJlV2l0aFByb29mc107XG4gICAgY29uc3QgW1VUMSwgVVQyXSA9IFtcbiAgICAgIGVjZHNhLnZlcmlmeVZBU2hhcmVzKHNpZ24xLCBbcHVibGljVkFTaGFyZXNfMl0pLFxuICAgICAgZWNkc2EudmVyaWZ5VkFTaGFyZXMoc2lnbjIsIFtwdWJsaWNWQVNoYXJlc18xXSksXG4gICAgXTtcblxuICAgIC8vIEJ1dCB2ZXJpZmljYXRpb24gYXQgYmVnaW5uaW5nIG9mIDVFIHdpbGwgZmFpbC5cbiAgICBjb25zdCBbcHVibGljVVRTaGFyZXNfMSwgcHVibGljVVRTaGFyZXNfMl0gPSBbVVQxIGFzIFB1YmxpY1VUU2hhcmUsIFVUMiBhcyBQdWJsaWNVVFNoYXJlXTtcbiAgICAoKCkgPT4gZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQxLCBbcHVibGljVVRTaGFyZXNfMl0pKS5zaG91bGQudGhyb3coJ1N1bSBvZiBhbGwgVV9pIGRvZXMgbm90IG1hdGNoIHN1bSBvZiBhbGwgVF9pJyk7XG4gICAgKCgpID0+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"}