@bitgo-beta/sdk-core 8.2.1-beta.98 → 8.2.1-beta.980

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 (527) hide show
  1. package/CHANGELOG.md +2785 -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 +17 -3
  11. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  12. package/dist/src/account-lib/baseCoin/enum.js +32 -7
  13. package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
  14. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
  15. package/dist/src/account-lib/baseCoin/errors.js +8 -2
  16. package/dist/src/account-lib/baseCoin/iface.d.ts +11 -35
  17. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  18. package/dist/src/account-lib/baseCoin/iface.js +4 -18
  19. package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
  20. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  21. package/dist/src/account-lib/baseCoin/index.js +8 -5
  22. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +76 -0
  23. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  24. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +120 -0
  25. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +66 -0
  26. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  27. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +96 -0
  28. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  29. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  30. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +34 -0
  31. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +156 -0
  32. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  33. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  34. package/dist/src/account-lib/baseCoin/messages/index.d.ts +5 -0
  35. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  36. package/dist/src/account-lib/baseCoin/messages/index.js +21 -0
  37. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
  38. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  39. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
  40. package/dist/src/account-lib/index.js +23 -9
  41. package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
  42. package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
  43. package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
  44. package/dist/src/account-lib/mpc/index.d.ts +4 -4
  45. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  46. package/dist/src/account-lib/mpc/index.js +11 -7
  47. package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
  48. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
  49. package/dist/src/account-lib/mpc/shamir.js +6 -130
  50. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +38 -9
  51. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  52. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +497 -349
  53. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  54. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  55. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  56. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  57. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
  58. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  59. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  60. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -2
  61. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  62. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  63. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  64. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  65. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  66. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  67. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  68. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  69. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  70. package/dist/src/account-lib/mpc/util.js +19 -1
  71. package/dist/src/account-lib/staking/index.js +6 -2
  72. package/dist/src/account-lib/staking/utils.js +3 -3
  73. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  74. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  75. package/dist/src/account-lib/util/crypto.js +69 -38
  76. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
  77. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  78. package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
  79. package/dist/src/api/bip32path.js +2 -3
  80. package/dist/src/api/index.js +6 -2
  81. package/dist/src/api/types.d.ts +8 -0
  82. package/dist/src/api/types.d.ts.map +1 -1
  83. package/dist/src/api/types.js +1 -1
  84. package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
  85. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
  86. package/dist/src/bitgo/address-book/address-book.js +139 -0
  87. package/dist/src/bitgo/address-book/index.d.ts +3 -0
  88. package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
  89. package/dist/src/bitgo/address-book/index.js +19 -0
  90. package/dist/src/bitgo/address-book/types.d.ts +170 -0
  91. package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
  92. package/dist/src/bitgo/address-book/types.js +3 -0
  93. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +90 -10
  94. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  95. package/dist/src/bitgo/baseCoin/baseCoin.js +142 -16
  96. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +111 -19
  97. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  98. package/dist/src/bitgo/baseCoin/iBaseCoin.js +7 -3
  99. package/dist/src/bitgo/baseCoin/index.js +6 -2
  100. package/dist/src/bitgo/bip32util.d.ts +3 -16
  101. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  102. package/dist/src/bitgo/bip32util.js +4 -56
  103. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  104. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  105. package/dist/src/bitgo/bitcoin.js +26 -13
  106. package/dist/src/bitgo/bitgoBase.d.ts +6 -2
  107. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  108. package/dist/src/bitgo/bitgoBase.js +1 -1
  109. package/dist/src/bitgo/coinFactory.d.ts +17 -3
  110. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  111. package/dist/src/bitgo/coinFactory.js +26 -3
  112. package/dist/src/bitgo/config.d.ts +94 -20
  113. package/dist/src/bitgo/config.d.ts.map +1 -1
  114. package/dist/src/bitgo/config.js +26 -15
  115. package/dist/src/bitgo/ecdh.d.ts +0 -1
  116. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  117. package/dist/src/bitgo/ecdh.js +26 -13
  118. package/dist/src/bitgo/enterprise/enterprise.d.ts +16 -14
  119. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  120. package/dist/src/bitgo/enterprise/enterprise.js +64 -31
  121. package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
  122. package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
  123. package/dist/src/bitgo/enterprise/enterprises.js +48 -9
  124. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +6 -7
  125. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  126. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  127. package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
  128. package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
  129. package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
  130. package/dist/src/bitgo/enterprise/index.js +6 -2
  131. package/dist/src/bitgo/environments.d.ts +60 -5
  132. package/dist/src/bitgo/environments.d.ts.map +1 -1
  133. package/dist/src/bitgo/environments.js +96 -32
  134. package/dist/src/bitgo/errors.d.ts +6 -0
  135. package/dist/src/bitgo/errors.d.ts.map +1 -1
  136. package/dist/src/bitgo/errors.js +14 -2
  137. package/dist/src/bitgo/index.d.ts +1 -1
  138. package/dist/src/bitgo/index.d.ts.map +1 -1
  139. package/dist/src/bitgo/index.js +26 -11
  140. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  141. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  142. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  143. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  144. package/dist/src/bitgo/internal/index.js +6 -2
  145. package/dist/src/bitgo/internal/internal.js +5 -6
  146. package/dist/src/bitgo/internal/keycard.js +6 -7
  147. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +13 -0
  148. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  149. package/dist/src/bitgo/keychain/decryptKeychain.js +35 -0
  150. package/dist/src/bitgo/keychain/iKeychains.d.ts +63 -7
  151. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  152. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  153. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  154. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  155. package/dist/src/bitgo/keychain/index.js +7 -2
  156. package/dist/src/bitgo/keychain/keychains.d.ts +13 -3
  157. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  158. package/dist/src/bitgo/keychain/keychains.js +128 -37
  159. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  160. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  161. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  162. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  163. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  164. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  165. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  166. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  167. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  168. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  169. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  170. package/dist/src/bitgo/market/index.js +6 -2
  171. package/dist/src/bitgo/market/markets.js +23 -9
  172. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +1 -0
  173. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  174. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  175. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  176. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  177. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  178. package/dist/src/bitgo/pendingApproval/pendingApproval.js +221 -107
  179. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  180. package/dist/src/bitgo/recovery/index.js +6 -2
  181. package/dist/src/bitgo/recovery/initiate.d.ts +8 -2
  182. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  183. package/dist/src/bitgo/recovery/initiate.js +7 -8
  184. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +129 -0
  185. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  186. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  187. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  188. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  189. package/dist/src/bitgo/staking/goStakingWallet.js +143 -0
  190. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  191. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  192. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  193. package/dist/src/bitgo/staking/iStakingWallet.d.ts +120 -4
  194. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  195. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  196. package/dist/src/bitgo/staking/index.d.ts +3 -0
  197. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  198. package/dist/src/bitgo/staking/index.js +9 -2
  199. package/dist/src/bitgo/staking/stakingWallet.d.ts +13 -2
  200. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  201. package/dist/src/bitgo/staking/stakingWallet.js +45 -4
  202. package/dist/src/bitgo/trading/iTradingAccount.d.ts +2 -32
  203. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  204. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  205. package/dist/src/bitgo/trading/index.d.ts +1 -15
  206. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  207. package/dist/src/bitgo/trading/index.js +7 -17
  208. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  209. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  210. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  211. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  212. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  213. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  214. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  215. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  216. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  217. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  218. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  219. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  220. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  221. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  222. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  223. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  224. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  225. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  226. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  227. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  228. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  229. package/dist/src/bitgo/trading/network/index.d.ts +5 -0
  230. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
  231. package/dist/src/bitgo/trading/network/index.js +21 -0
  232. package/dist/src/bitgo/trading/network/network.d.ts +36 -0
  233. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
  234. package/dist/src/bitgo/trading/network/network.js +101 -0
  235. package/dist/src/bitgo/trading/network/types.d.ts +277 -0
  236. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
  237. package/dist/src/bitgo/trading/network/types.js +3 -0
  238. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  239. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  240. package/dist/src/bitgo/trading/network/utils.js +54 -0
  241. package/dist/src/bitgo/trading/tradingAccount.d.ts +11 -35
  242. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  243. package/dist/src/bitgo/trading/tradingAccount.js +9 -96
  244. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +27 -0
  245. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  246. package/dist/src/bitgo/tss/bitgoPubKeys.js +61 -0
  247. package/dist/src/bitgo/tss/common.d.ts +37 -5
  248. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  249. package/dist/src/bitgo/tss/common.js +103 -17
  250. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  251. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  252. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  253. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  254. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  255. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +162 -0
  256. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  257. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  258. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  259. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  260. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  261. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  262. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +11 -8
  263. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  264. package/dist/src/bitgo/tss/eddsa/eddsa.js +38 -41
  265. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  266. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  267. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  268. package/dist/src/bitgo/tss/index.d.ts +3 -2
  269. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  270. package/dist/src/bitgo/tss/index.js +26 -10
  271. package/dist/src/bitgo/tss/types.d.ts +3 -3
  272. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  273. package/dist/src/bitgo/tss/types.js +2 -2
  274. package/dist/src/bitgo/types.d.ts +3 -3
  275. package/dist/src/bitgo/types.d.ts.map +1 -1
  276. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +11 -0
  277. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  278. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +66 -10
  279. package/dist/src/bitgo/utils/codecProps.js +24 -11
  280. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  281. package/dist/src/bitgo/utils/decode.js +30 -16
  282. package/dist/src/bitgo/utils/index.d.ts +3 -2
  283. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  284. package/dist/src/bitgo/utils/index.js +26 -11
  285. package/dist/src/bitgo/utils/messageTypes.d.ts +34 -0
  286. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  287. package/dist/src/bitgo/utils/messageTypes.js +12 -0
  288. package/dist/src/bitgo/utils/mpcUtils.d.ts +2 -3
  289. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  290. package/dist/src/bitgo/utils/mpcUtils.js +34 -12
  291. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  292. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  293. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  294. package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -9
  295. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  296. package/dist/src/bitgo/utils/opengpgUtils.js +74 -73
  297. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
  298. package/dist/src/bitgo/utils/postWithCodec.js +4 -38
  299. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  300. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  301. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  302. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  303. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  304. package/dist/src/bitgo/utils/triple.js +2 -3
  305. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +38 -14
  306. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  307. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +141 -45
  308. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +202 -34
  309. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  310. package/dist/src/bitgo/utils/tss/baseTypes.js +22 -20
  311. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  312. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  313. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  314. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  315. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  316. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  317. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +20 -52
  318. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  319. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +145 -280
  320. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +199 -0
  321. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  322. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +950 -0
  323. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  324. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  325. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
  326. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
  327. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  328. package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
  329. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +15 -9
  330. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  331. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  332. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  333. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  334. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  335. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +5 -3
  336. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  337. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +75 -58
  338. package/dist/src/bitgo/utils/tss/eddsa/index.js +23 -9
  339. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
  340. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  341. package/dist/src/bitgo/utils/tss/index.js +23 -9
  342. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  343. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  344. package/dist/src/bitgo/utils/txRequest.js +47 -0
  345. package/dist/src/bitgo/utils/util.js +24 -10
  346. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  347. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  348. package/dist/src/bitgo/utils/wallet.js +48 -0
  349. package/dist/src/bitgo/wallet/BuildParams.d.ts +52 -8
  350. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  351. package/dist/src/bitgo/wallet/BuildParams.js +65 -19
  352. package/dist/src/bitgo/wallet/iWallet.d.ts +203 -19
  353. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  354. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  355. package/dist/src/bitgo/wallet/iWallets.d.ts +91 -16
  356. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  357. package/dist/src/bitgo/wallet/iWallets.js +43 -3
  358. package/dist/src/bitgo/wallet/index.js +6 -2
  359. package/dist/src/bitgo/wallet/wallet.d.ts +191 -25
  360. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  361. package/dist/src/bitgo/wallet/wallet.js +937 -303
  362. package/dist/src/bitgo/wallet/wallets.d.ts +96 -9
  363. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  364. package/dist/src/bitgo/wallet/wallets.js +816 -193
  365. package/dist/src/bitgo/webhook/index.js +6 -2
  366. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  367. package/dist/src/coins/fiataed.d.ts +32 -0
  368. package/dist/src/coins/fiataed.d.ts.map +1 -0
  369. package/dist/src/coins/fiataed.js +61 -0
  370. package/dist/src/coins/fiateur.d.ts +3 -2
  371. package/dist/src/coins/fiateur.d.ts.map +1 -1
  372. package/dist/src/coins/fiateur.js +5 -1
  373. package/dist/src/coins/fiatgbp.d.ts +3 -2
  374. package/dist/src/coins/fiatgbp.d.ts.map +1 -1
  375. package/dist/src/coins/fiatgbp.js +5 -1
  376. package/dist/src/coins/fiatsgd.d.ts +32 -0
  377. package/dist/src/coins/fiatsgd.d.ts.map +1 -0
  378. package/dist/src/coins/fiatsgd.js +61 -0
  379. package/dist/src/coins/fiatusd.d.ts +3 -2
  380. package/dist/src/coins/fiatusd.d.ts.map +1 -1
  381. package/dist/src/coins/fiatusd.js +5 -1
  382. package/dist/src/coins/index.d.ts +4 -0
  383. package/dist/src/coins/index.d.ts.map +1 -1
  384. package/dist/src/coins/index.js +10 -2
  385. package/dist/src/coins/ofc.d.ts +3 -2
  386. package/dist/src/coins/ofc.d.ts.map +1 -1
  387. package/dist/src/coins/ofc.js +6 -2
  388. package/dist/src/coins/ofcToken.js +2 -2
  389. package/dist/src/coins/susd.d.ts +3 -2
  390. package/dist/src/coins/susd.d.ts.map +1 -1
  391. package/dist/src/coins/susd.js +5 -1
  392. package/dist/src/coins/tfiataed.d.ts +11 -0
  393. package/dist/src/coins/tfiataed.d.ts.map +1 -0
  394. package/dist/src/coins/tfiataed.js +17 -0
  395. package/dist/src/coins/tfiatsgd.d.ts +11 -0
  396. package/dist/src/coins/tfiatsgd.d.ts.map +1 -0
  397. package/dist/src/coins/tfiatsgd.js +17 -0
  398. package/dist/src/common.js +27 -13
  399. package/dist/src/index.d.ts +2 -1
  400. package/dist/src/index.d.ts.map +1 -1
  401. package/dist/src/index.js +26 -11
  402. package/dist/src/units.js +5 -6
  403. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  404. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  405. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +204 -0
  406. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  407. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  408. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +130 -0
  409. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  410. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  411. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +86 -0
  412. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +36 -0
  413. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  414. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +70 -0
  415. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  416. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  417. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +233 -0
  418. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
  419. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
  420. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
  421. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  422. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  423. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  424. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
  425. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  426. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
  427. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  428. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  429. package/dist/test/unit/bitgo/utils/messageTypes.js +76 -0
  430. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  431. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  432. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  433. package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
  434. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  435. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  436. package/dist/test/unit/bitgo/utils/txRequest.js +105 -0
  437. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  438. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  439. package/dist/test/unit/bitgo/wallet/BuildParams.js +68 -0
  440. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +37 -17
  441. package/dist/test/unit/units.js +63 -63
  442. package/dist/tsconfig.tsbuildinfo +1 -1
  443. package/package.json +24 -21
  444. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  445. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  446. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  447. package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
  448. package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
  449. package/dist/src/account-lib/mpc/hdTree.js +0 -141
  450. package/dist/src/account-lib/mpc/types.d.ts +0 -5
  451. package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
  452. package/dist/src/account-lib/mpc/types.js +0 -3
  453. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  454. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  455. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  456. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  457. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  458. package/dist/src/bitgo/lightning/index.js +0 -17
  459. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  460. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  461. package/dist/src/bitgo/lightning/lightning.js +0 -111
  462. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  463. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  464. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  465. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  466. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  467. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  468. package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
  469. package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
  470. package/dist/src/bitgo/trading/affirmation.js +0 -53
  471. package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
  472. package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
  473. package/dist/src/bitgo/trading/affirmations.js +0 -45
  474. package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
  475. package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
  476. package/dist/src/bitgo/trading/iAffirmation.js +0 -13
  477. package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
  478. package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
  479. package/dist/src/bitgo/trading/iAffirmations.js +0 -3
  480. package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
  481. package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
  482. package/dist/src/bitgo/trading/iSettlement.js +0 -17
  483. package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
  484. package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
  485. package/dist/src/bitgo/trading/iSettlements.js +0 -3
  486. package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
  487. package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
  488. package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
  489. package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
  490. package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
  491. package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
  492. package/dist/src/bitgo/trading/lock.d.ts +0 -16
  493. package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
  494. package/dist/src/bitgo/trading/lock.js +0 -12
  495. package/dist/src/bitgo/trading/payload.d.ts +0 -22
  496. package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
  497. package/dist/src/bitgo/trading/payload.js +0 -3
  498. package/dist/src/bitgo/trading/settlement.d.ts +0 -16
  499. package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
  500. package/dist/src/bitgo/trading/settlement.js +0 -21
  501. package/dist/src/bitgo/trading/settlements.d.ts +0 -32
  502. package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
  503. package/dist/src/bitgo/trading/settlements.js +0 -61
  504. package/dist/src/bitgo/trading/trade.d.ts +0 -29
  505. package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
  506. package/dist/src/bitgo/trading/trade.js +0 -11
  507. package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
  508. package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
  509. package/dist/src/bitgo/trading/tradingPartner.js +0 -31
  510. package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
  511. package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
  512. package/dist/src/bitgo/trading/tradingPartners.js +0 -32
  513. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  514. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  515. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  516. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  517. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  518. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  519. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts +0 -71
  520. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts.map +0 -1
  521. package/dist/src/bitgo/wallet/SendTransactionRequest.js +0 -41
  522. package/dist/src/openssl/index.d.ts +0 -5
  523. package/dist/src/openssl/index.d.ts.map +0 -1
  524. package/dist/src/openssl/index.js +0 -9
  525. package/dist/test/unit/openssl.d.ts +0 -2
  526. package/dist/test/unit/openssl.d.ts.map +0 -1
  527. package/dist/test/unit/openssl.js +0 -39
@@ -1,237 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BlsUtils = void 0;
4
- /**
5
- * @prettier
6
- */
7
- const crypto_1 = require("crypto");
8
- const openpgp_1 = require("openpgp");
9
- const baseCoin_1 = require("../../account-lib/baseCoin");
10
- const mpcUtils_1 = require("./mpcUtils");
11
- /**
12
- * Utility functions for BLS-DKG work flows.
13
- */
14
- class BlsUtils extends mpcUtils_1.MpcUtils {
15
- constructor(bitgo, baseCoin) {
16
- super(bitgo, baseCoin);
17
- }
18
- /**
19
- * Creates a Keychain containing the User's BLS-DKG signing materials.
20
- *
21
- * @param userGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between user and server
22
- * @param userKeyShare - user's BLS-DKG key share
23
- * @param backupKeyShare - backup's BLS-DKG key share
24
- * @param bitgoKeychain - previously created BitGo keychain; must be compatible with user and backup key shares
25
- * @param passphrase - wallet passphrase used to encrypt user's signing materials
26
- */
27
- async createUserKeychain(userGpgKey, userKeyShare, backupKeyShare, bitgoKeychain, passphrase, originalPasscodeEncryptionCode) {
28
- const bitgoKeyShares = bitgoKeychain.keyShares;
29
- if (!bitgoKeyShares) {
30
- throw new Error('Missing BitGo key shares');
31
- }
32
- const bitGoToUserShare = bitgoKeyShares.find((keyShare) => keyShare.from === 'bitgo' && keyShare.to === 'user');
33
- if (!bitGoToUserShare) {
34
- throw new Error('Missing BitGo to User key share');
35
- }
36
- if (!userKeyShare.secretShares || !userKeyShare.pub) {
37
- throw new Error('Invalid user key shares');
38
- }
39
- if (!backupKeyShare.secretShares || !backupKeyShare.pub) {
40
- throw new Error('Invalid backup key shares');
41
- }
42
- const bitGoToUserPublicShare = bitGoToUserShare.publicShare.slice(0, 96);
43
- const bitGoToUserChaincode = bitGoToUserShare.publicShare.slice(96);
44
- const commonPub = baseCoin_1.BlsKeyPair.aggregatePubkeys([userKeyShare.pub, backupKeyShare.pub, bitGoToUserPublicShare]);
45
- const commonChaincode = baseCoin_1.BlsKeyPair.aggregateChaincodes([
46
- userKeyShare.chaincode,
47
- backupKeyShare.chaincode,
48
- bitGoToUserChaincode,
49
- ]);
50
- const commonKeychain = commonPub + commonChaincode;
51
- if (commonKeychain !== bitgoKeychain.commonKeychain) {
52
- throw new Error('Failed to create user keychain - commonKeychains do not match.');
53
- }
54
- const bitGoToUserPrivateShare = await this.decryptPrivateShare(bitGoToUserShare.privateShare, userGpgKey);
55
- if (bitGoToUserPrivateShare.slice(64) !== bitGoToUserChaincode) {
56
- throw new Error('Failed to create user keychain - bitgo to user chaincode do not match.');
57
- }
58
- const userSigningMaterial = {
59
- userShare: {
60
- pub: userKeyShare.pub,
61
- priv: userKeyShare.secretShares[0],
62
- seed: userKeyShare.seed,
63
- chaincode: userKeyShare.chaincode,
64
- },
65
- backupShare: {
66
- pub: backupKeyShare.pub,
67
- priv: backupKeyShare.secretShares[0],
68
- chaincode: backupKeyShare.chaincode,
69
- },
70
- bitgoShare: {
71
- pub: bitGoToUserPublicShare,
72
- priv: bitGoToUserPrivateShare.slice(0, 64),
73
- chaincode: bitGoToUserChaincode,
74
- },
75
- };
76
- const userKeychainParams = {
77
- source: 'user',
78
- keyType: 'blsdkg',
79
- commonKeychain: commonKeychain,
80
- encryptedPrv: this.bitgo.encrypt({ input: JSON.stringify(userSigningMaterial), password: passphrase }),
81
- originalPasscodeEncryptionCode,
82
- };
83
- return await this.baseCoin.keychains().add(userKeychainParams);
84
- }
85
- /**
86
- * Creates a Keychain containing the Backup party's BLS-DKG signing materials.
87
- *
88
- * @param backupGpgKey - ephemeral GPG key to encrypt / decrypt sensitive data exchanged between backup and server
89
- * @param userKeyShare - User's BLS-DKG Keyshare
90
- * @param backupKeyShare - Backup's BLS-DKG Keyshare
91
- * @param bitgoKeychain - previously created BitGo keychain; must be compatible with user and backup key shares
92
- * @param passphrase - wallet passphrase used to encrypt user's signing materials
93
- */
94
- async createBackupKeychain(backupGpgKey, userKeyShare, backupKeyShare, bitgoKeychain, passphrase) {
95
- const bitgoKeyShares = bitgoKeychain.keyShares;
96
- if (!bitgoKeyShares) {
97
- throw new Error('Invalid bitgo keyshares');
98
- }
99
- const bitGoToBackupShare = bitgoKeyShares.find((keyShare) => keyShare.from === 'bitgo' && keyShare.to === 'backup');
100
- if (!bitGoToBackupShare) {
101
- throw new Error('Missing BitGo to backup key share');
102
- }
103
- if (!userKeyShare.secretShares || !userKeyShare.pub) {
104
- throw new Error('Invalid user key shares');
105
- }
106
- if (!backupKeyShare.secretShares || !backupKeyShare.pub) {
107
- throw new Error('Invalid backup key shares');
108
- }
109
- const bitGoToBackupPublicShare = bitGoToBackupShare.publicShare.slice(0, 96);
110
- const bitGoToBackupChaincode = bitGoToBackupShare.publicShare.slice(96);
111
- const commonPub = baseCoin_1.BlsKeyPair.aggregatePubkeys([
112
- userKeyShare.pub,
113
- backupKeyShare.pub,
114
- bitGoToBackupPublicShare,
115
- ]);
116
- const commonChaincode = baseCoin_1.BlsKeyPair.aggregateChaincodes([
117
- userKeyShare.chaincode,
118
- backupKeyShare.chaincode,
119
- bitGoToBackupChaincode,
120
- ]);
121
- const commonKeychain = commonPub + commonChaincode;
122
- if (commonKeychain !== bitgoKeychain.commonKeychain) {
123
- throw new Error('Failed to create backup keychain - commonKeychains do not match.');
124
- }
125
- const bitGoToBackupPrivateShare = await this.decryptPrivateShare(bitGoToBackupShare.privateShare, backupGpgKey);
126
- if (bitGoToBackupPrivateShare.slice(64) !== bitGoToBackupChaincode) {
127
- throw new Error('Failed to create user keychain - bitgo to user chaincode do not match.');
128
- }
129
- const backupSigningMaterial = {
130
- userShare: {
131
- pub: userKeyShare.pub,
132
- priv: userKeyShare.secretShares[1],
133
- chaincode: userKeyShare.chaincode,
134
- },
135
- backupShare: {
136
- pub: backupKeyShare.pub,
137
- priv: backupKeyShare.secretShares[1],
138
- chaincode: backupKeyShare.chaincode,
139
- seed: backupKeyShare.seed,
140
- },
141
- bitgoShare: {
142
- pub: bitGoToBackupPublicShare,
143
- priv: bitGoToBackupPrivateShare.slice(0, 64),
144
- chaincode: bitGoToBackupChaincode,
145
- },
146
- };
147
- const prv = JSON.stringify(backupSigningMaterial);
148
- return await this.baseCoin.keychains().createBackup({
149
- source: 'backup',
150
- keyType: 'blsdkg',
151
- commonKeychain: commonKeychain,
152
- prv,
153
- encryptedPrv: this.bitgo.encrypt({ input: prv, password: passphrase }),
154
- });
155
- }
156
- /**
157
- * Creates a Keychain containing BitGo's BLS-DKG signing materials.
158
- *
159
- * @param userGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between user and server
160
- * @param backupGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between backup and server
161
- * @param userKeyShare - user's BLS-DKG key share
162
- * @param backupKeyShare - backup's BLS-DKG key share
163
- */
164
- async createBitgoKeychain(userGpgKey, backupGpgKey, userKeyShare, backupKeyShare, enterprise) {
165
- if (!userKeyShare.secretShares || !userKeyShare.pub) {
166
- throw new Error('Invalid user key shares');
167
- }
168
- if (!backupKeyShare.secretShares || !backupKeyShare.pub) {
169
- throw new Error('Invalid backup key shares');
170
- }
171
- const userToBitgoPublicShare = Buffer.concat([
172
- Buffer.from(userKeyShare.pub, 'hex'),
173
- Buffer.from(userKeyShare.chaincode, 'hex'),
174
- ]).toString('hex');
175
- const userToBitgoPrivateShare = Buffer.concat([
176
- Buffer.from(userKeyShare.secretShares[2], 'hex'),
177
- Buffer.from(userKeyShare.chaincode, 'hex'),
178
- ]).toString('hex');
179
- const userToBitgoKeyShare = {
180
- publicShare: userToBitgoPublicShare,
181
- privateShare: userToBitgoPrivateShare,
182
- };
183
- const backupToBitgoPublicShare = Buffer.concat([
184
- Buffer.from(backupKeyShare.pub, 'hex'),
185
- Buffer.from(backupKeyShare.chaincode, 'hex'),
186
- ]).toString('hex');
187
- const backupToBitgoPrivateShare = Buffer.concat([
188
- Buffer.from(backupKeyShare.secretShares[2], 'hex'),
189
- Buffer.from(backupKeyShare.chaincode, 'hex'),
190
- ]).toString('hex');
191
- const backupToBitgoKeyShare = {
192
- publicShare: backupToBitgoPublicShare,
193
- privateShare: backupToBitgoPrivateShare,
194
- };
195
- return await this.createBitgoKeychainInWP(userGpgKey, backupGpgKey, userToBitgoKeyShare, backupToBitgoKeyShare, 'blsdkg', enterprise);
196
- }
197
- /**
198
- * Creates User, Backup, and BitGo BLS-DKG Keychains.
199
- *
200
- * @param params.passphrase - passphrase used to encrypt signing materials created for User and Backup
201
- */
202
- async createKeychains(params) {
203
- const userKeyShare = this.baseCoin.generateKeyPair();
204
- const backupKeyShare = this.baseCoin.generateKeyPair();
205
- const randomHexString = crypto_1.randomBytes(12).toString('hex');
206
- const randomHexString2 = crypto_1.randomBytes(12).toString('hex');
207
- const userGpgKey = await openpgp_1.generateKey({
208
- userIDs: [
209
- {
210
- name: randomHexString,
211
- email: `${randomHexString}@${randomHexString}.com`,
212
- },
213
- ],
214
- });
215
- const backupGpgKey = await openpgp_1.generateKey({
216
- userIDs: [
217
- {
218
- name: randomHexString2,
219
- email: `${randomHexString2}@${randomHexString2}.com`,
220
- },
221
- ],
222
- });
223
- const bitgoKeychain = await this.createBitgoKeychain(userGpgKey, backupGpgKey, userKeyShare, backupKeyShare, params.enterprise);
224
- const userKeychainPromise = this.createUserKeychain(userGpgKey, userKeyShare, backupKeyShare, bitgoKeychain, params.passphrase, params.originalPasscodeEncryptionCode);
225
- const backupKeychainPromise = this.createBackupKeychain(backupGpgKey, userKeyShare, backupKeyShare, bitgoKeychain, params.passphrase);
226
- const [userKeychain, backupKeychain] = await Promise.all([userKeychainPromise, backupKeychainPromise]);
227
- // create wallet
228
- const keychains = {
229
- userKeychain,
230
- backupKeychain,
231
- bitgoKeychain,
232
- };
233
- return keychains;
234
- }
235
- }
236
- exports.BlsUtils = BlsUtils;
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxzVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvYmxzVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxtQ0FBcUM7QUFDckMscUNBQXlEO0FBQ3pELHlEQUEyRTtBQU0zRSx5Q0FBc0M7QUFldEM7O0dBRUc7QUFDSCxNQUFhLFFBQVMsU0FBUSxtQkFBUTtJQUNwQyxZQUFZLEtBQWdCLEVBQUUsUUFBbUI7UUFDL0MsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQ3RCLFVBQXFDLEVBQ3JDLFlBQXlCLEVBQ3pCLGNBQTJCLEVBQzNCLGFBQXVCLEVBQ3ZCLFVBQWtCLEVBQ2xCLDhCQUF1QztRQUV2QyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxRQUFRLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ2hILElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLElBQUksQ0FBQyxjQUFj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cG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IGdlbmVyYXRlS2V5LCBTZXJpYWxpemVkS2V5UGFpciB9IGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHsgQmxzS2V5UGFpciBhcyBCbHNLZXlQYWlyQ2xhc3MgfSBmcm9tICcuLi8uLi9hY2NvdW50LWxpYi9iYXNlQ29pbic7XG5pbXBvcnQgeyBJQmFzZUNvaW4sIElCbHNLZXlQYWlyLCBLZXljaGFpbnNUcmlwbGV0IH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IEtleWNoYWluIH0gZnJvbSAnLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgQWRkS2V5Y2hhaW5PcHRpb25zIH0gZnJvbSAnLi4va2V5Y2hhaW4vaUtleWNoYWlucyc7XG5pbXBvcnQgeyBJQmxzVXRpbHMgfSBmcm9tICcuL2lCbHNVdGlscyc7XG5pbXBvcnQgeyBNcGNVdGlscyB9IGZyb20gJy4vbXBjVXRpbHMnO1xuXG50eXBlIFNpZ25pbmdTaGFyZSA9IHtcbiAgc2VlZD86IHN0cmluZztcbiAgcHViOiBzdHJpbmc7XG4gIHByaXY6IHN0cmluZztcbiAgY2hhaW5jb2RlOiBzdHJpbmc7XG59O1xuXG50eXBlIFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgdXNlclNoYXJlOiBTaWduaW5nU2hhcmU7XG4gIGJhY2t1cFNoYXJlOiBTaWduaW5nU2hhcmU7XG4gIGJpdGdvU2hhcmU6IFNpZ25pbmdTaGFyZTtcbn07XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIEJMUy1ES0cgd29yayBmbG93cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJsc1V0aWxzIGV4dGVuZHMgTXBjVXRpbHMgaW1wbGVtZW50cyBJQmxzVXRpbHMge1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBiYXNlQ29pbjogSUJhc2VDb2luKSB7XG4gICAgc3VwZXIoYml0Z28sIGJhc2VDb2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgS2V5Y2hhaW4gY29udGFpbmluZyB0aGUgVXNlcidzIEJMUy1ES0cgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBCTFMtREtHIGtleSBzaGFyZVxuICAgKiBAcGFyYW0gYmFja3VwS2V5U2hhcmUgLSBiYWNrdXAncyBCTFMtREtHIGtleSBzaGFyZVxuICAgKiBAcGFyYW0gYml0Z29LZXljaGFpbiAtIHByZXZpb3VzbHkgY3JlYXRlZCBCaXRHbyBrZXljaGFpbjsgbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggdXNlciBhbmQgYmFja3VwIGtleSBzaGFyZXNcbiAgICogQHBhcmFtIHBhc3NwaHJhc2UgLSB3YWxsZXQgcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgdXNlcidzIHNpZ25pbmcgbWF0ZXJpYWxzXG4gICAqL1xuICBhc3luYyBjcmVhdGVVc2VyS2V5Y2hhaW4oXG4gICAgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IElCbHNLZXlQYWlyLFxuICAgIGJhY2t1cEtleVNoYXJlOiBJQmxzS2V5UGFpcixcbiAgICBiaXRnb0tleWNoYWluOiBLZXljaGFpbixcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmcsXG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBjb25zdCBiaXRnb0tleVNoYXJlcyA9IGJpdGdvS2V5Y2hhaW4ua2V5U2hhcmVzO1xuICAgIGlmICghYml0Z29LZXlTaGFyZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCaXRHbyBrZXkgc2hhcmVzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0R29Ub1VzZXJTaGFyZSA9IGJpdGdvS2V5U2hhcmVzLmZpbmQoKGtleVNoYXJlKSA9PiBrZXlTaGFyZS5mcm9tID09PSAnYml0Z28nICYmIGtleVNoYXJlLnRvID09PSAndXNlcicpO1xuICAgIGlmICghYml0R29Ub1VzZXJTaGFyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIHRvIFVzZXIga2V5IHNoYXJlJyk7XG4gICAgfVxuXG4gICAgaWYgKCF1c2VyS2V5U2hhcmUuc2VjcmV0U2hhcmVzIHx8ICF1c2VyS2V5U2hhcmUucHViKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgc2hhcmVzJyk7XG4gICAgfVxuICAgIGlmICghYmFja3VwS2V5U2hhcmUuc2VjcmV0U2hhcmVzIHx8ICFiYWNrdXBLZXlTaGFyZS5wdWIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBiYWNrdXAga2V5IHNoYXJlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9Vc2VyUHVibGljU2hhcmUgPSBiaXRHb1RvVXNlclNoYXJlLnB1YmxpY1NoYXJlLnNsaWNlKDAsIDk2KTtcbiAgICBjb25zdCBiaXRHb1RvVXNlckNoYWluY29kZSA9IGJpdEdvVG9Vc2VyU2hhcmUucHVibGljU2hhcmUuc2xpY2UoOTYpO1xuICAgIGNvbnN0IGNvbW1vblB1YiA9IEJsc0tleVBhaXJDbGFzcy5hZ2dyZWdhdGVQdWJrZXlzKFt1c2VyS2V5U2hhcmUucHViLCBiYWNrdXBLZXlTaGFyZS5wdWIsIGJpdEdvVG9Vc2VyUHVibGljU2hhcmVdKTtcbiAgICBjb25zdCBjb21tb25DaGFpbmNvZGUgPSBCbHNLZXlQYWlyQ2xhc3MuYWdncmVnYXRlQ2hhaW5jb2RlcyhbXG4gICAgICB1c2VyS2V5U2hhcmUuY2hhaW5jb2RlLFxuICAgICAgYmFja3VwS2V5U2hhcmUuY2hhaW5jb2RlLFxuICAgICAgYml0R29Ub1VzZXJDaGFpbmNvZGUsXG4gICAgXSk7XG4gICAgY29uc3QgY29tbW9uS2V5Y2hhaW4gPSBjb21tb25QdWIgKyBjb21tb25DaGFpbmNvZGU7XG4gICAgaWYgKGNvbW1vbktleWNoYWluICE9PSBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgdXNlciBrZXljaGFpbiAtIGNvbW1vbktleWNoYWlucyBkbyBub3QgbWF0Y2guJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0R29Ub1VzZXJQcml2YXRlU2hhcmUgPSBhd2FpdCB0aGlzLmRlY3J5cHRQcml2YXRlU2hhcmUoYml0R29Ub1VzZXJTaGFyZS5wcml2YXRlU2hhcmUsIHVzZXJHcGdLZXkpO1xuICAgIGlmIChiaXRHb1RvVXNlclByaXZhdGVTaGFyZS5zbGljZSg2NCkgIT09IGJpdEdvVG9Vc2VyQ2hhaW5jb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgdXNlciBrZXljaGFpbiAtIGJpdGdvIHRvIHVzZXIgY2hhaW5jb2RlIGRvIG5vdCBtYXRjaC4nKTtcbiAgICB9XG4gICAgY29uc3QgdXNlclNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0ge1xuICAgICAgdXNlclNoYXJlOiB7XG4gICAgICAgIHB1YjogdXNlcktleVNoYXJlLnB1YixcbiAgICAgICAgcHJpdjogdXNlcktleVNoYXJlLnNlY3JldFNoYXJlc1swXSxcbiAgICAgICAgc2VlZDogdXNlcktleVNoYXJlLnNlZWQsXG4gICAgICAgIGNoYWluY29kZTogdXNlcktleVNoYXJlLmNoYWluY29kZSxcbiAgICAgIH0sXG4gICAgICBiYWNrdXBTaGFyZToge1xuICAgICAgICBwdWI6IGJhY2t1cEtleVNoYXJlLnB1YixcbiAgICAgICAgcHJpdjogYmFja3VwS2V5U2hhcmUuc2VjcmV0U2hhcmVzWzBdLFxuICAgICAgICBjaGFpbmNvZGU6IGJhY2t1cEtleVNoYXJlLmNoYWluY29kZSxcbiAgICAgIH0sXG4gICAgICBiaXRnb1NoYXJlOiB7XG4gICAgICAgIHB1YjogYml0R29Ub1VzZXJQdWJsaWNTaGFyZSxcbiAgICAgICAgcHJpdjogYml0R29Ub1VzZXJQcml2YXRlU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgICBjaGFpbmNvZGU6IGJpdEdvVG9Vc2VyQ2hhaW5jb2RlLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgdXNlcktleWNoYWluUGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7XG4gICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgIGtleVR5cGU6ICdibHNka2cnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGNvbW1vbktleWNoYWluLFxuICAgICAgZW5jcnlwdGVkUHJ2OiB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogSlNPTi5zdHJpbmdpZnkodXNlclNpZ25pbmdNYXRlcmlhbCksIHBhc3N3b3JkOiBwYXNzcGhyYXNlIH0pLFxuICAgICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlLFxuICAgIH07XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5hZGQodXNlcktleWNoYWluUGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgS2V5Y2hhaW4gY29udGFpbmluZyB0aGUgQmFja3VwIHBhcnR5J3MgQkxTLURLRyBzaWduaW5nIG1hdGVyaWFscy5cbiAgICpcbiAgICogQHBhcmFtIGJhY2t1cEdwZ0tleSAtIGVwaGVtZXJhbCBHUEcga2V5IHRvIGVuY3J5cHQgLyBkZWNyeXB0IHNlbnNpdGl2ZSBkYXRhIGV4Y2hhbmdlZCBiZXR3ZWVuIGJhY2t1cCBhbmQgc2VydmVyXG4gICAqIEBwYXJhbSB1c2VyS2V5U2hhcmUgLSBVc2VyJ3MgQkxTLURLRyBLZXlzaGFyZVxuICAgKiBAcGFyYW0gYmFja3VwS2V5U2hhcmUgLSBCYWNrdXAncyBCTFMtREtHIEtleXNoYXJlXG4gICAqIEBwYXJhbSBiaXRnb0tleWNoYWluIC0gcHJldmlvdXNseSBjcmVhdGVkIEJpdEdvIGtleWNoYWluOyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCB1c2VyIGFuZCBiYWNrdXAga2V5IHNoYXJlc1xuICAgKiBAcGFyYW0gcGFzc3BocmFzZSAtIHdhbGxldCBwYXNzcGhyYXNlIHVzZWQgdG8gZW5jcnlwdCB1c2VyJ3Mgc2lnbmluZyBtYXRlcmlhbHNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUJhY2t1cEtleWNoYWluKFxuICAgIGJhY2t1cEdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IElCbHNLZXlQYWlyLFxuICAgIGJhY2t1cEtleVNoYXJlOiBJQmxzS2V5UGFpcixcbiAgICBiaXRnb0tleWNoYWluOiBLZXljaGFpbixcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IGJpdGdvS2V5U2hhcmVzID0gYml0Z29LZXljaGFpbi5rZXlTaGFyZXM7XG4gICAgaWYgKCFiaXRnb0tleVNoYXJlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJpdGdvIGtleXNoYXJlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9CYWNrdXBTaGFyZSA9IGJpdGdvS2V5U2hhcmVzLmZpbmQoKGtleVNoYXJlKSA9PiBrZXlTaGFyZS5mcm9tID09PSAnYml0Z28nICYmIGtleVNoYXJlLnRvID09PSAnYmFja3VwJyk7XG4gICAgaWYgKCFiaXRHb1RvQmFja3VwU2hhcmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCaXRHbyB0byBiYWNrdXAga2V5IHNoYXJlJyk7XG4gICAgfVxuXG4gICAgaWYgKCF1c2VyS2V5U2hhcmUuc2VjcmV0U2hhcmVzIHx8ICF1c2VyS2V5U2hhcmUucHViKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgc2hhcmVzJyk7XG4gICAgfVxuICAgIGlmICghYmFja3VwS2V5U2hhcmUuc2VjcmV0U2hhcmVzIHx8ICFiYWNrdXBLZXlTaGFyZS5wdWIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBiYWNrdXAga2V5IHNoYXJlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9CYWNrdXBQdWJsaWNTaGFyZSA9IGJpdEdvVG9CYWNrdXBTaGFyZS5wdWJsaWNTaGFyZS5zbGljZSgwLCA5Nik7XG4gICAgY29uc3QgYml0R29Ub0JhY2t1cENoYWluY29kZSA9IGJpdEdvVG9CYWNrdXBTaGFyZS5wdWJsaWNTaGFyZS5zbGljZSg5Nik7XG4gICAgY29uc3QgY29tbW9uUHViID0gQmxzS2V5UGFpckNsYXNzLmFnZ3JlZ2F0ZVB1YmtleXMoW1xuICAgICAgdXNlcktleVNoYXJlLnB1YixcbiAgICAgIGJhY2t1cEtleVNoYXJlLnB1YixcbiAgICAgIGJpdEdvVG9CYWNrdXBQdWJsaWNTaGFyZSxcbiAgICBdKTtcbiAgICBjb25zdCBjb21tb25DaGFpbmNvZGUgPSBCbHNLZXlQYWlyQ2xhc3MuYWdncmVnYXRlQ2hhaW5jb2RlcyhbXG4gICAgICB1c2VyS2V5U2hhcmUuY2hhaW5jb2RlLFxuICAgICAgYmFja3VwS2V5U2hhcmUuY2hhaW5jb2RlLFxuICAgICAgYml0R29Ub0JhY2t1cENoYWluY29kZSxcbiAgICBdKTtcbiAgICBjb25zdCBjb21tb25LZXljaGFpbiA9IGNvbW1vblB1YiArIGNvbW1vbkNoYWluY29kZTtcbiAgICBpZiAoY29tbW9uS2V5Y2hhaW4gIT09IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBiYWNrdXAga2V5Y2hhaW4gLSBjb21tb25LZXljaGFpbnMgZG8gbm90IG1hdGNoLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9CYWNrdXBQcml2YXRlU2hhcmUgPSBhd2FpdCB0aGlzLmRlY3J5cHRQcml2YXRlU2hhcmUoYml0R29Ub0JhY2t1cFNoYXJlLnByaXZhdGVTaGFyZSwgYmFja3VwR3BnS2V5KTtcbiAgICBpZiAoYml0R29Ub0JhY2t1cFByaXZhdGVTaGFyZS5zbGljZSg2NCkgIT09IGJpdEdvVG9CYWNrdXBDaGFpbmNvZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSB1c2VyIGtleWNoYWluIC0gYml0Z28gdG8gdXNlciBjaGFpbmNvZGUgZG8gbm90IG1hdGNoLicpO1xuICAgIH1cbiAgICBjb25zdCBiYWNrdXBTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgICAgIHVzZXJTaGFyZToge1xuICAgICAgICBwdWI6IHVzZXJLZXlTaGFyZS5wdWIsXG4gICAgICAgIHByaXY6IHVzZXJLZXlTaGFyZS5zZWNyZXRTaGFyZXNbMV0sXG4gICAgICAgIGNoYWluY29kZTogdXNlcktleVNoYXJlLmNoYWluY29kZSxcbiAgICAgIH0sXG4gICAgICBiYWNrdXBTaGFyZToge1xuICAgICAgICBwdWI6IGJhY2t1cEtleVNoYXJlLnB1YixcbiAgICAgICAgcHJpdjogYmFja3VwS2V5U2hhcmUuc2VjcmV0U2hhcmVzWzFdLFxuICAgICAgICBjaGFpbmNvZGU6IGJhY2t1cEtleVNoYXJlLmNoYWluY29kZSxcbiAgICAgICAgc2VlZDogYmFja3VwS2V5U2hhcmUuc2VlZCxcbiAgICAgIH0sXG4gICAgICBiaXRnb1NoYXJlOiB7XG4gICAgICAgIHB1YjogYml0R29Ub0JhY2t1cFB1YmxpY1NoYXJlLFxuICAgICAgICBwcml2OiBiaXRHb1RvQmFja3VwUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgICAgY2hhaW5jb2RlOiBiaXRHb1RvQmFja3VwQ2hhaW5jb2RlLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IHBydiA9IEpTT04uc3RyaW5naWZ5KGJhY2t1cFNpZ25pbmdNYXRlcmlhbCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5jcmVhdGVCYWNrdXAoe1xuICAgICAgc291cmNlOiAnYmFja3VwJyxcbiAgICAgIGtleVR5cGU6ICdibHNka2cnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGNvbW1vbktleWNoYWluLFxuICAgICAgcHJ2LFxuICAgICAgZW5jcnlwdGVkUHJ2OiB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogcHJ2LCBwYXNzd29yZDogcGFzc3BocmFzZSB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgS2V5Y2hhaW4gY29udGFpbmluZyBCaXRHbydzIEJMUy1ES0cgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIGJhY2t1cEdwZ0tleSAtIGVwaGVtZXJhbCBHUEcga2V5IHRvIGVuY3J5cHQgLyBkZWNyeXB0IHNlbnNpdHZlIGRhdGEgZXhjaGFuZ2VkIGJldHdlZW4gYmFja3VwIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBCTFMtREtHIGtleSBzaGFyZVxuICAgKiBAcGFyYW0gYmFja3VwS2V5U2hhcmUgLSBiYWNrdXAncyBCTFMtREtHIGtleSBzaGFyZVxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQml0Z29LZXljaGFpbihcbiAgICB1c2VyR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIGJhY2t1cEdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IElCbHNLZXlQYWlyLFxuICAgIGJhY2t1cEtleVNoYXJlOiBJQmxzS2V5UGFpcixcbiAgICBlbnRlcnByaXNlPzogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBpZiAoIXVzZXJLZXlTaGFyZS5zZWNyZXRTaGFyZXMgfHwgIXVzZXJLZXlTaGFyZS5wdWIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1c2VyIGtleSBzaGFyZXMnKTtcbiAgICB9XG4gICAgaWYgKCFiYWNrdXBLZXlTaGFyZS5zZWNyZXRTaGFyZXMgfHwgIWJhY2t1cEtleVNoYXJlLnB1Yikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJhY2t1cCBrZXkgc2hhcmVzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlclRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnB1YiwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCB1c2VyVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnNlY3JldFNoYXJlc1syXSwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIGNvbnN0IHVzZXJUb0JpdGdvS2V5U2hhcmUgPSB7XG4gICAgICBwdWJsaWNTaGFyZTogdXNlclRvQml0Z29QdWJsaWNTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZTogdXNlclRvQml0Z29Qcml2YXRlU2hhcmUsXG4gICAgfTtcblxuICAgIGNvbnN0IGJhY2t1cFRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUucHViLCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgICBdKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgYmFja3VwVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUuc2VjcmV0U2hhcmVzWzJdLCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgICBdKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgYmFja3VwVG9CaXRnb0tleVNoYXJlID0ge1xuICAgICAgcHVibGljU2hhcmU6IGJhY2t1cFRvQml0Z29QdWJsaWNTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZTogYmFja3VwVG9CaXRnb1ByaXZhdGVTaGFyZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlQml0Z29LZXljaGFpbkluV1AoXG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgYmFja3VwR3BnS2V5LFxuICAgICAgdXNlclRvQml0Z29LZXlTaGFyZSxcbiAgICAgIGJhY2t1cFRvQml0Z29LZXlTaGFyZSxcbiAgICAgICdibHNka2cnLFxuICAgICAgZW50ZXJwcmlzZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBVc2VyLCBCYWNrdXAsIGFuZCBCaXRHbyBCTFMtREtHIEtleWNoYWlucy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy5wYXNzcGhyYXNlIC0gcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgc2lnbmluZyBtYXRlcmlhbHMgY3JlYXRlZCBmb3IgVXNlciBhbmQgQmFja3VwXG4gICAqL1xuICBhc3luYyBjcmVhdGVLZXljaGFpbnMocGFyYW1zOiB7XG4gICAgcGFzc3BocmFzZTogc3RyaW5nO1xuICAgIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PiB7XG4gICAgY29uc3QgdXNlcktleVNoYXJlID0gdGhpcy5iYXNlQ29pbi5nZW5lcmF0ZUtleVBhaXIoKSBhcyBJQmxzS2V5UGFpcjtcbiAgICBjb25zdCBiYWNrdXBLZXlTaGFyZSA9IHRoaXMuYmFzZUNvaW4uZ2VuZXJhdGVLZXlQYWlyKCkgYXMgSUJsc0tleVBhaXI7XG5cbiAgICBjb25zdCByYW5kb21IZXhTdHJpbmcgPSByYW5kb21CeXRlcygxMikudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHJhbmRvbUhleFN0cmluZzIgPSByYW5kb21CeXRlcygxMikudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgY29uc3QgdXNlckdwZ0tleSA9IGF3YWl0IGdlbmVyYXRlS2V5KHtcbiAgICAgIHVzZXJJRHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IHJhbmRvbUhleFN0cmluZyxcbiAgICAgICAgICBlbWFpbDogYCR7cmFuZG9tSGV4U3RyaW5nfUAke3JhbmRvbUhleFN0cmluZ30uY29tYCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBiYWNrdXBHcGdLZXkgPSBhd2FpdCBnZW5lcmF0ZUtleSh7XG4gICAgICB1c2VySURzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiByYW5kb21IZXhTdHJpbmcyLFxuICAgICAgICAgIGVtYWlsOiBgJHtyYW5kb21IZXhTdHJpbmcyfUAke3JhbmRvbUhleFN0cmluZzJ9LmNvbWAsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYml0Z29LZXljaGFpbiA9IGF3YWl0IHRoaXMuY3JlYXRlQml0Z29LZXljaGFpbihcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICBiYWNrdXBHcGdLZXksXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIHBhcmFtcy5lbnRlcnByaXNlXG4gICAgKTtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW5Qcm9taXNlID0gdGhpcy5jcmVhdGVVc2VyS2V5Y2hhaW4oXG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgdXNlcktleVNoYXJlLFxuICAgICAgYmFja3VwS2V5U2hhcmUsXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgcGFyYW1zLnBhc3NwaHJhc2UsXG4gICAgICBwYXJhbXMub3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlXG4gICAgKTtcbiAgICBjb25zdCBiYWNrdXBLZXljaGFpblByb21pc2UgPSB0aGlzLmNyZWF0ZUJhY2t1cEtleWNoYWluKFxuICAgICAgYmFja3VwR3BnS2V5LFxuICAgICAgdXNlcktleVNoYXJlLFxuICAgICAgYmFja3VwS2V5U2hhcmUsXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgcGFyYW1zLnBhc3NwaHJhc2VcbiAgICApO1xuICAgIGNvbnN0IFt1c2VyS2V5Y2hhaW4sIGJhY2t1cEtleWNoYWluXSA9IGF3YWl0IFByb21pc2UuYWxsKFt1c2VyS2V5Y2hhaW5Qcm9taXNlLCBiYWNrdXBLZXljaGFpblByb21pc2VdKTtcblxuICAgIC8vIGNyZWF0ZSB3YWxsZXRcbiAgICBjb25zdCBrZXljaGFpbnMgPSB7XG4gICAgICB1c2VyS2V5Y2hhaW4sXG4gICAgICBiYWNrdXBLZXljaGFpbixcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgfTtcblxuICAgIHJldHVybiBrZXljaGFpbnM7XG4gIH1cbn1cbiJdfQ==
@@ -1,14 +0,0 @@
1
- import { SerializedKeyPair } from 'openpgp';
2
- import { IBlsKeyPair, KeychainsTriplet } from '../baseCoin';
3
- import { Keychain } from '../keychain';
4
- export interface IBlsUtils {
5
- createUserKeychain(userGpgKey: SerializedKeyPair<string>, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, bitgoKeychain: Keychain, passphrase: string, originalPasscodeEncryptionCode: string): Promise<Keychain>;
6
- createBackupKeychain(backupGpgKey: SerializedKeyPair<string>, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, bitgoKeychain: Keychain, passphrase: string): Promise<Keychain>;
7
- createBitgoKeychain(userGpgKey: SerializedKeyPair<string>, backupGpgKey: SerializedKeyPair<string>, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, enterprise: string): Promise<Keychain>;
8
- createKeychains(params: {
9
- passphrase: string;
10
- enterprise?: string;
11
- originalPasscodeEncryptionCode?: string;
12
- }): Promise<KeychainsTriplet>;
13
- }
14
- //# sourceMappingURL=iBlsUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iBlsUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/iBlsUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,SAAS;IACxB,kBAAkB,CAChB,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACrC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,MAAM,EAClB,8BAA8B,EAAE,MAAM,GACrC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,oBAAoB,CAClB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACvC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,mBAAmB,CACjB,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACrC,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACvC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,eAAe,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8BAA8B,CAAC,EAAE,MAAM,CAAC;KACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC/B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUJsc1V0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL2lCbHNVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VyaWFsaXplZEtleVBhaXIgfSBmcm9tICdvcGVucGdwJztcbmltcG9ydCB7IElCbHNLZXlQYWlyLCBLZXljaGFpbnNUcmlwbGV0IH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsc1V0aWxzIHtcbiAgY3JlYXRlVXNlcktleWNoYWluKFxuICAgIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgdXNlcktleVNoYXJlOiBJQmxzS2V5UGFpcixcbiAgICBiYWNrdXBLZXlTaGFyZTogSUJsc0tleVBhaXIsXG4gICAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZTogc3RyaW5nLFxuICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZTogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+O1xuICBjcmVhdGVCYWNrdXBLZXljaGFpbihcbiAgICBiYWNrdXBHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgdXNlcktleVNoYXJlOiBJQmxzS2V5UGFpcixcbiAgICBiYWNrdXBLZXlTaGFyZTogSUJsc0tleVBhaXIsXG4gICAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZTogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+O1xuICBjcmVhdGVCaXRnb0tleWNoYWluKFxuICAgIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgYmFja3VwR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIHVzZXJLZXlTaGFyZTogSUJsc0tleVBhaXIsXG4gICAgYmFja3VwS2V5U2hhcmU6IElCbHNLZXlQYWlyLFxuICAgIGVudGVycHJpc2U6IHN0cmluZ1xuICApOiBQcm9taXNlPEtleWNoYWluPjtcbiAgY3JlYXRlS2V5Y2hhaW5zKHBhcmFtczoge1xuICAgIHBhc3NwaHJhc2U6IHN0cmluZztcbiAgICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgfSk6IFByb21pc2U8S2V5Y2hhaW5zVHJpcGxldD47XG59XG4iXX0=
@@ -1,71 +0,0 @@
1
- import * as t from 'io-ts';
2
- export declare const SendTransactionRequest: t.ExactC<t.IntersectionC<[t.PartialC<{
3
- otp: t.StringC;
4
- txHex: t.StringC;
5
- halfSigned: t.UnknownC;
6
- comment: t.UnknownC;
7
- suppressBroadcast: t.BooleanC;
8
- txRequestId: t.UnknownC;
9
- sequenceId: t.UnknownC;
10
- consolidateId: t.UnknownC;
11
- invoice: t.UnknownC;
12
- videoApprovers: t.ArrayC<t.UnknownC>;
13
- }>, t.IntersectionC<[t.PartialC<{
14
- addressType: t.UnknownC;
15
- changeAddress: t.UnknownC;
16
- cpfpFeeRate: t.UnknownC;
17
- cpfpTxIds: t.UnknownC;
18
- unspents: t.UnknownC;
19
- minValue: t.UnknownC;
20
- maxValue: t.UnknownC;
21
- targetWalletUnspents: t.UnknownC;
22
- strategy: t.UnknownC;
23
- noSplitChange: t.UnknownC;
24
- enforceMinConfirmsForChange: t.UnknownC;
25
- txFormat: t.UnknownC;
26
- }>, t.PartialC<{
27
- apiVersion: t.UnknownC;
28
- consolidateAddresses: t.UnknownC;
29
- feeRate: t.UnknownC;
30
- gasLimit: t.UnknownC;
31
- gasPrice: t.UnknownC;
32
- hopParams: t.UnknownC;
33
- idfSignedTimestamp: t.UnknownC;
34
- idfUserId: t.UnknownC;
35
- idfVersion: t.UnknownC;
36
- instant: t.UnknownC;
37
- lastLedgerSequence: t.UnknownC;
38
- ledgerSequenceDelta: t.UnknownC;
39
- maxFee: t.UnknownC;
40
- maxFeeRate: t.UnknownC;
41
- memo: t.UnknownC;
42
- transferId: t.UnknownC;
43
- message: t.UnknownC;
44
- minConfirms: t.UnknownC;
45
- numBlocks: t.UnknownC;
46
- nonce: t.UnknownC;
47
- pendingApprovalId: t.UnknownC;
48
- preview: t.UnknownC;
49
- previewPendingTxs: t.UnknownC;
50
- receiveAddress: t.UnknownC;
51
- recipients: t.UnknownC;
52
- reservation: t.UnknownC;
53
- sequenceId: t.UnknownC;
54
- sourceChain: t.UnknownC;
55
- destinationChain: t.UnknownC;
56
- trustlines: t.UnknownC;
57
- type: t.UnknownC;
58
- nonParticipation: t.UnknownC;
59
- validFromBlock: t.UnknownC;
60
- validToBlock: t.UnknownC;
61
- messageKey: t.UnknownC;
62
- stakingOptions: t.UnknownC;
63
- eip1559: t.UnknownC;
64
- keyregTxBase64: t.UnknownC;
65
- closeRemainderTo: t.UnknownC;
66
- tokenName: t.UnknownC;
67
- enableTokens: t.UnknownC;
68
- emergency: t.UnknownC;
69
- }>]>]>>;
70
- export declare type SendTransactionRequest = t.TypeOf<typeof SendTransactionRequest>;
71
- //# sourceMappingURL=SendTransactionRequest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SendTransactionRequest.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/SendTransactionRequest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAG3B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgBlC,CAAC;AAEF,oBAAY,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.SendTransactionRequest = void 0;
23
- /* eslint no-redeclare: off */
24
- const t = __importStar(require("io-ts"));
25
- const BuildParams_1 = require("./BuildParams");
26
- exports.SendTransactionRequest = t.exact(t.intersection([
27
- t.partial({
28
- otp: t.string,
29
- txHex: t.string,
30
- halfSigned: t.unknown,
31
- comment: t.unknown,
32
- suppressBroadcast: t.boolean,
33
- txRequestId: t.unknown,
34
- sequenceId: t.unknown,
35
- consolidateId: t.unknown,
36
- invoice: t.unknown,
37
- videoApprovers: t.array(t.unknown),
38
- }),
39
- BuildParams_1.BuildParams,
40
- ]));
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXQvU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOEJBQThCO0FBQzlCLHlDQUEyQjtBQUMzQiwrQ0FBNEM7QUFFL0IsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUMzQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ2IsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNSLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNiLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNmLFVBQVUsRUFBRSxDQUFDLENBQUMsT0FBTztRQUNyQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87UUFDbEIsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLE9BQU87UUFDNUIsV0FBVyxFQUFFLENBQUMsQ0FBQyxPQUFPO1FBQ3RCLFVBQVUsRUFBRSxDQUFDLENBQUMsT0FBTztRQUNyQixhQUFhLEVBQUUsQ0FBQyxDQUFDLE9BQU87UUFDeEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO1FBQ2xCLGNBQWMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7S0FDbkMsQ0FBQztJQUNGLHlCQUFXO0NBQ1osQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tcmVkZWNsYXJlOiBvZmYgKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgQnVpbGRQYXJhbXMgfSBmcm9tICcuL0J1aWxkUGFyYW1zJztcblxuZXhwb3J0IGNvbnN0IFNlbmRUcmFuc2FjdGlvblJlcXVlc3QgPSB0LmV4YWN0KFxuICB0LmludGVyc2VjdGlvbihbXG4gICAgdC5wYXJ0aWFsKHtcbiAgICAgIG90cDogdC5zdHJpbmcsXG4gICAgICB0eEhleDogdC5zdHJpbmcsXG4gICAgICBoYWxmU2lnbmVkOiB0LnVua25vd24sXG4gICAgICBjb21tZW50OiB0LnVua25vd24sXG4gICAgICBzdXBwcmVzc0Jyb2FkY2FzdDogdC5ib29sZWFuLFxuICAgICAgdHhSZXF1ZXN0SWQ6IHQudW5rbm93bixcbiAgICAgIHNlcXVlbmNlSWQ6IHQudW5rbm93bixcbiAgICAgIGNvbnNvbGlkYXRlSWQ6IHQudW5rbm93bixcbiAgICAgIGludm9pY2U6IHQudW5rbm93bixcbiAgICAgIHZpZGVvQXBwcm92ZXJzOiB0LmFycmF5KHQudW5rbm93biksXG4gICAgfSksXG4gICAgQnVpbGRQYXJhbXMsXG4gIF0pXG4pO1xuXG5leHBvcnQgdHlwZSBTZW5kVHJhbnNhY3Rpb25SZXF1ZXN0ID0gdC5UeXBlT2Y8dHlwZW9mIFNlbmRUcmFuc2FjdGlvblJlcXVlc3Q+O1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * @deprecated Use OpenSSL from sdk-lib-mpc instead
3
- */
4
- export { OpenSSL } from '@bitgo-beta/sdk-lib-mpc';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/openssl/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpenSSL = void 0;
4
- /**
5
- * @deprecated Use OpenSSL from sdk-lib-mpc instead
6
- */
7
- var sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
8
- Object.defineProperty(exports, "OpenSSL", { enumerable: true, get: function () { return sdk_lib_mpc_1.OpenSSL; } });
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3BlbnNzbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILHVEQUFrRDtBQUF6QyxzR0FBQSxPQUFPLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXByZWNhdGVkIFVzZSBPcGVuU1NMIGZyb20gc2RrLWxpYi1tcGMgaW5zdGVhZFxuICovXG5leHBvcnQgeyBPcGVuU1NMIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1tcGMnO1xuIl19
@@ -1,2 +0,0 @@
1
- import 'should';
2
- //# sourceMappingURL=openssl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openssl.d.ts","sourceRoot":"","sources":["../../../test/unit/openssl.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("should");
4
- const sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
5
- const bigint_crypto_utils_1 = require("bigint-crypto-utils");
6
- const node_utils_1 = require("../node.utils");
7
- describe('openssl', function () {
8
- it('should throw an error if module is not initialized', async function () {
9
- const openssl = new sdk_lib_mpc_1.OpenSSL();
10
- await openssl
11
- .generateSafePrime(sdk_lib_mpc_1.minModulusBitLength)
12
- .should.be.rejectedWith('The OpenSSl class is not initialized! Please call OpenSSL.init().');
13
- });
14
- // node 14 requires --experimental-wasm-bigint node flag
15
- if (node_utils_1.NODE_MAJOR_VERSION > 14) {
16
- it('should generate a safe prime number of a certain bitLength', async function () {
17
- const openssl = new sdk_lib_mpc_1.OpenSSL();
18
- await openssl.init();
19
- const safePrime = await openssl.generateSafePrime(512);
20
- bigint_crypto_utils_1.bitLength(safePrime).should.equal(512);
21
- });
22
- it('should generate a safe prime number', async function () {
23
- const openssl = new sdk_lib_mpc_1.OpenSSL();
24
- await openssl.init();
25
- const safePrime = await openssl.generateSafePrime(512);
26
- let isPrime = await bigint_crypto_utils_1.isProbablyPrime(safePrime);
27
- isPrime.should.be.true();
28
- isPrime = await bigint_crypto_utils_1.isProbablyPrime((safePrime - BigInt(1)) / BigInt(2));
29
- isPrime.should.be.true();
30
- });
31
- it('should be able to generate multiple safe primes with the same openssl instance', async function () {
32
- const openssl = new sdk_lib_mpc_1.OpenSSL();
33
- await openssl.init();
34
- const safePrimes = await Promise.all([openssl.generateSafePrime(512), openssl.generateSafePrime(512)]);
35
- safePrimes.length.should.equal(2);
36
- });
37
- }
38
- });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnNzbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9vcGVuc3NsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0JBQWdCO0FBQ2hCLHlEQUF1RTtBQUN2RSw2REFBaUU7QUFDakUsOENBQW1EO0FBRW5ELFFBQVEsQ0FBQyxTQUFTLEVBQUU7SUFDbEIsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEtBQUs7UUFDNUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBTyxFQUFFLENBQUM7UUFDOUIsTUFBTSxPQUFPO2FBQ1YsaUJBQWlCLENBQUMsaUNBQW1CLENBQUM7YUFDdEMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsbUVBQW1FLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztJQUVILHdEQUF3RDtJQUN4RCxJQUFJLCtCQUFrQixHQUFHLEVBQUUsRUFBRTtRQUMzQixFQUFFLENBQUMsNERBQTRELEVBQUUsS0FBSztZQUNwRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RCwrQkFBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSztZQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RCxJQUFJLE9BQU8sR0FBRyxNQUFNLHFDQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsT0FBTyxHQUFHLE1BQU0scUNBQWUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxnRkFBZ0YsRUFBRSxLQUFLO1lBQ3hGLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQU8sRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBPcGVuU1NMLCBtaW5Nb2R1bHVzQml0TGVuZ3RoIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgYml0TGVuZ3RoLCBpc1Byb2JhYmx5UHJpbWUgfSBmcm9tICdiaWdpbnQtY3J5cHRvLXV0aWxzJztcbmltcG9ydCB7IE5PREVfTUFKT1JfVkVSU0lPTiB9IGZyb20gJy4uL25vZGUudXRpbHMnO1xuXG5kZXNjcmliZSgnb3BlbnNzbCcsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiBtb2R1bGUgaXMgbm90IGluaXRpYWxpemVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IG9wZW5zc2wgPSBuZXcgT3BlblNTTCgpO1xuICAgIGF3YWl0IG9wZW5zc2xcbiAgICAgIC5nZW5lcmF0ZVNhZmVQcmltZShtaW5Nb2R1bHVzQml0TGVuZ3RoKVxuICAgICAgLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ1RoZSBPcGVuU1NsIGNsYXNzIGlzIG5vdCBpbml0aWFsaXplZCEgUGxlYXNlIGNhbGwgT3BlblNTTC5pbml0KCkuJyk7XG4gIH0pO1xuXG4gIC8vIG5vZGUgMTQgcmVxdWlyZXMgLS1leHBlcmltZW50YWwtd2FzbS1iaWdpbnQgbm9kZSBmbGFnXG4gIGlmIChOT0RFX01BSk9SX1ZFUlNJT04gPiAxNCkge1xuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUgYSBzYWZlIHByaW1lIG51bWJlciBvZiBhIGNlcnRhaW4gYml0TGVuZ3RoJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3BlbnNzbCA9IG5ldyBPcGVuU1NMKCk7XG4gICAgICBhd2FpdCBvcGVuc3NsLmluaXQoKTtcbiAgICAgIGNvbnN0IHNhZmVQcmltZSA9IGF3YWl0IG9wZW5zc2wuZ2VuZXJhdGVTYWZlUHJpbWUoNTEyKTtcbiAgICAgIGJpdExlbmd0aChzYWZlUHJpbWUpLnNob3VsZC5lcXVhbCg1MTIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSBhIHNhZmUgcHJpbWUgbnVtYmVyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3BlbnNzbCA9IG5ldyBPcGVuU1NMKCk7XG4gICAgICBhd2FpdCBvcGVuc3NsLmluaXQoKTtcbiAgICAgIGNvbnN0IHNhZmVQcmltZSA9IGF3YWl0IG9wZW5zc2wuZ2VuZXJhdGVTYWZlUHJpbWUoNTEyKTtcbiAgICAgIGxldCBpc1ByaW1lID0gYXdhaXQgaXNQcm9iYWJseVByaW1lKHNhZmVQcmltZSk7XG4gICAgICBpc1ByaW1lLnNob3VsZC5iZS50cnVlKCk7XG4gICAgICBpc1ByaW1lID0gYXdhaXQgaXNQcm9iYWJseVByaW1lKChzYWZlUHJpbWUgLSBCaWdJbnQoMSkpIC8gQmlnSW50KDIpKTtcbiAgICAgIGlzUHJpbWUuc2hvdWxkLmJlLnRydWUoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYmUgYWJsZSB0byBnZW5lcmF0ZSBtdWx0aXBsZSBzYWZlIHByaW1lcyB3aXRoIHRoZSBzYW1lIG9wZW5zc2wgaW5zdGFuY2UnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBvcGVuc3NsID0gbmV3IE9wZW5TU0woKTtcbiAgICAgIGF3YWl0IG9wZW5zc2wuaW5pdCgpO1xuICAgICAgY29uc3Qgc2FmZVByaW1lcyA9IGF3YWl0IFByb21pc2UuYWxsKFtvcGVuc3NsLmdlbmVyYXRlU2FmZVByaW1lKDUxMiksIG9wZW5zc2wuZ2VuZXJhdGVTYWZlUHJpbWUoNTEyKV0pO1xuICAgICAgc2FmZVByaW1lcy5sZW5ndGguc2hvdWxkLmVxdWFsKDIpO1xuICAgIH0pO1xuICB9XG59KTtcbiJdfQ==