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

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
@@ -3,13 +3,23 @@ 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.verifyWalletSignature = exports.getTSSSignature = exports.getInitializedMpcInstance = exports.encryptYShare = exports.sendUserToBitgoGShare = exports.getBitgoToUserRShare = exports.offerUserToBitgoRShare = exports.createUserToBitGoGShare = exports.createUserSignShare = exports.createCombinedKey = exports.sendSignatureShare = exports.getTxRequest = void 0;
6
+ exports.sendSignatureShare = exports.getTxRequest = void 0;
7
+ exports.createCombinedKey = createCombinedKey;
8
+ exports.createUserSignShare = createUserSignShare;
9
+ exports.createUserToBitGoGShare = createUserToBitGoGShare;
10
+ exports.offerUserToBitgoRShare = offerUserToBitgoRShare;
11
+ exports.getBitgoToUserRShare = getBitgoToUserRShare;
12
+ exports.sendUserToBitgoGShare = sendUserToBitgoGShare;
13
+ exports.encryptYShare = encryptYShare;
14
+ exports.getInitializedMpcInstance = getInitializedMpcInstance;
15
+ exports.getTSSSignature = getTSSSignature;
16
+ exports.verifyWalletSignature = verifyWalletSignature;
7
17
  const assert_1 = __importDefault(require("assert"));
8
18
  const libsodium_wrappers_sumo_1 = __importDefault(require("libsodium-wrappers-sumo"));
9
19
  const tss_1 = __importDefault(require("./../../../account-lib/mpc/tss"));
10
- const types_1 = require("./../types");
11
- const utils_1 = require("./../../utils");
12
- const hdTree_1 = require("./../../../account-lib/mpc/hdTree");
20
+ const types_1 = require("../types");
21
+ const utils_1 = require("../../utils");
22
+ const sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
13
23
  const _ = require("lodash");
14
24
  const common_1 = require("../common");
15
25
  Object.defineProperty(exports, "getTxRequest", { enumerable: true, get: function () { return common_1.getTxRequest; } });
@@ -32,7 +42,7 @@ async function createCombinedKey(params) {
32
42
  let userYShare;
33
43
  let backupYShare;
34
44
  for (const encryptedYShare of encryptedYShares) {
35
- const privateShare = await utils_1.readSignedMessage(encryptedYShare.yShare.encryptedPrivateShare, encryptedYShare.senderPublicArmor, encryptedYShare.recipientPrivateArmor);
45
+ const privateShare = await (0, utils_1.readSignedMessage)(encryptedYShare.yShare.encryptedPrivateShare, encryptedYShare.senderPublicArmor, encryptedYShare.recipientPrivateArmor);
36
46
  const yShare = {
37
47
  i: encryptedYShare.yShare.i,
38
48
  j: encryptedYShare.yShare.j,
@@ -74,7 +84,6 @@ async function createCombinedKey(params) {
74
84
  commonKeychain,
75
85
  };
76
86
  }
77
- exports.createCombinedKey = createCombinedKey;
78
87
  /**
79
88
  * Creates the User Sign Share containing the User XShare , the User to Bitgo RShare and User to Bitgo commitment
80
89
  *
@@ -90,7 +99,6 @@ async function createUserSignShare(signablePayload, pShare) {
90
99
  const jShare = { i: types_1.ShareKeyPosition.BITGO, j: types_1.ShareKeyPosition.USER };
91
100
  return MPC.signShare(signablePayload, pShare, [jShare]);
92
101
  }
93
- exports.createUserSignShare = createUserSignShare;
94
102
  /**
95
103
  * Creates the User to Bitgo GShare
96
104
  *
@@ -114,6 +122,12 @@ async function createUserToBitGoGShare(userSignShare, bitgoToUserRShare, backupT
114
122
  if (backupToUserYShare.j !== types_1.ShareKeyPosition.BACKUP) {
115
123
  throw new Error('Invalid YShare, is not backup key');
116
124
  }
125
+ if (bitgoToUserCommitment.from !== utils_1.SignatureShareType.BITGO || bitgoToUserCommitment.to !== utils_1.SignatureShareType.USER) {
126
+ throw new Error('Invalid Commitment, is not from Bitgo to User');
127
+ }
128
+ if (bitgoToUserCommitment.type !== utils_1.CommitmentType.COMMITMENT) {
129
+ throw new Error('Invalid Commitment type, got: ' + bitgoToUserCommitment.type + ' expected: commitment');
130
+ }
117
131
  let v, r, R;
118
132
  if (bitgoToUserRShare.share.length > 128) {
119
133
  v = bitgoToUserRShare.share.substring(0, 64);
@@ -124,6 +138,7 @@ async function createUserToBitGoGShare(userSignShare, bitgoToUserRShare, backupT
124
138
  r = bitgoToUserRShare.share.substring(0, 64);
125
139
  R = bitgoToUserRShare.share.substring(64, 128);
126
140
  }
141
+ const MPC = await tss_1.default.initialize();
127
142
  const updatedBitgoToUserRShare = {
128
143
  i: types_1.ShareKeyPosition.USER,
129
144
  j: types_1.ShareKeyPosition.BITGO,
@@ -131,21 +146,10 @@ async function createUserToBitGoGShare(userSignShare, bitgoToUserRShare, backupT
131
146
  v,
132
147
  r,
133
148
  R,
149
+ commitment: bitgoToUserCommitment.share,
134
150
  };
135
- const MPC = await tss_1.default.initialize();
136
- if (bitgoToUserCommitment) {
137
- if (bitgoToUserCommitment.from !== utils_1.SignatureShareType.BITGO ||
138
- bitgoToUserCommitment.to !== utils_1.SignatureShareType.USER) {
139
- throw new Error('Invalid Commitment, is not from Bitgo to User');
140
- }
141
- if (bitgoToUserCommitment.type !== utils_1.CommitmentType.COMMITMENT) {
142
- throw new Error('Invalid Commitment type, got: ' + bitgoToUserCommitment.type + ' expected: commitment');
143
- }
144
- updatedBitgoToUserRShare.commitment = bitgoToUserCommitment.share;
145
- }
146
151
  return MPC.sign(signablePayload, userSignShare.xShare, [updatedBitgoToUserRShare], [backupToUserYShare]);
147
152
  }
148
- exports.createUserToBitGoGShare = createUserToBitGoGShare;
149
153
  /**
150
154
  * Sends the User to Bitgo RShare to Bitgo
151
155
  * @param {BitGoBase} bitgo - the bitgo instance
@@ -154,8 +158,9 @@ exports.createUserToBitGoGShare = createUserToBitGoGShare;
154
158
  * @param {SignShare} userSignShare - the user Sign Share
155
159
  * @param {String} encryptedSignerShare - signer share encrypted to bitgo key
156
160
  * @returns {Promise<void>}
161
+ * @param {IRequestTracer} reqId - the request tracer request id
157
162
  */
158
- async function offerUserToBitgoRShare(bitgo, walletId, txRequestId, userSignShare, encryptedSignerShare, apiMode = 'lite', vssProof, privateShareProof, userPublicGpgKey, publicShare) {
163
+ async function offerUserToBitgoRShare(bitgo, walletId, txRequestId, userSignShare, encryptedSignerShare, apiMode = 'lite', reqId) {
159
164
  const rShare = userSignShare.rShares[types_1.ShareKeyPosition.BITGO];
160
165
  if (_.isNil(rShare)) {
161
166
  throw new Error('userToBitgo RShare not found');
@@ -167,27 +172,24 @@ async function offerUserToBitgoRShare(bitgo, walletId, txRequestId, userSignShar
167
172
  from: utils_1.SignatureShareType.USER,
168
173
  to: utils_1.SignatureShareType.BITGO,
169
174
  share: rShare.r + rShare.R,
170
- vssProof,
171
- privateShareProof,
172
- publicShare,
173
175
  };
174
176
  // TODO (BG-57944): implement message signing for EDDSA
175
- await common_1.sendSignatureShare(bitgo, walletId, txRequestId, signatureShare, utils_1.RequestType.tx, encryptedSignerShare, 'eddsa', apiMode, userPublicGpgKey);
177
+ await (0, common_1.sendSignatureShare)(bitgo, walletId, txRequestId, signatureShare, utils_1.RequestType.tx, encryptedSignerShare, 'eddsa', apiMode, undefined, reqId);
176
178
  }
177
- exports.offerUserToBitgoRShare = offerUserToBitgoRShare;
178
179
  /**
179
180
  * Gets the Bitgo to User RShare from Bitgo
180
181
  *
181
182
  * @param {BitGoBase} bitgo - the bitgo instance
182
183
  * @param {String} walletId - the wallet id
183
184
  * @param {String} txRequestId - the txRequest Id
185
+ * @param {IRequestTracer} reqId - the request tracer request id
184
186
  * @returns {Promise<SignatureShareRecord>} - a Signature Share
185
187
  */
186
- async function getBitgoToUserRShare(bitgo, walletId, txRequestId) {
187
- const txRequest = await common_1.getTxRequest(bitgo, walletId, txRequestId);
188
+ async function getBitgoToUserRShare(bitgo, walletId, txRequestId, reqId) {
189
+ const txRequest = await (0, common_1.getTxRequest)(bitgo, walletId, txRequestId, reqId);
188
190
  let signatureShares;
189
191
  if (txRequest.apiVersion === 'full') {
190
- assert_1.default(txRequest.transactions, 'transactions required as part of txRequest');
192
+ (0, assert_1.default)(txRequest.transactions, 'transactions required as part of txRequest');
191
193
  signatureShares = txRequest.transactions[0].signatureShares;
192
194
  }
193
195
  else {
@@ -203,7 +205,6 @@ async function getBitgoToUserRShare(bitgo, walletId, txRequestId) {
203
205
  }
204
206
  return bitgoToUserRShare;
205
207
  }
206
- exports.getBitgoToUserRShare = getBitgoToUserRShare;
207
208
  /**
208
209
  * Sends the User to Bitgo GShare to Bitgo
209
210
  *
@@ -211,9 +212,10 @@ exports.getBitgoToUserRShare = getBitgoToUserRShare;
211
212
  * @param {String} walletId - the wallet id
212
213
  * @param {String} txRequestId - the txRequest Id
213
214
  * @param {GShare} userToBitgoGShare - the User to Bitgo GShare
215
+ * @param {IRequestTracer} reqId - the request tracer request id
214
216
  * @returns {Promise<void>}
215
217
  */
216
- async function sendUserToBitgoGShare(bitgo, walletId, txRequestId, userToBitgoGShare, apiMode = 'lite') {
218
+ async function sendUserToBitgoGShare(bitgo, walletId, txRequestId, userToBitgoGShare, apiMode = 'lite', reqId) {
217
219
  if (userToBitgoGShare.i !== types_1.ShareKeyPosition.USER) {
218
220
  throw new Error('Invalid GShare, doesnt belong to the User');
219
221
  }
@@ -223,9 +225,8 @@ async function sendUserToBitgoGShare(bitgo, walletId, txRequestId, userToBitgoGS
223
225
  share: userToBitgoGShare.R + userToBitgoGShare.gamma,
224
226
  };
225
227
  // TODO (BG-57944): implement message signing for EDDSA
226
- await common_1.sendSignatureShare(bitgo, walletId, txRequestId, signatureShare, utils_1.RequestType.tx, undefined, 'eddsa', apiMode);
228
+ await (0, common_1.sendSignatureShare)(bitgo, walletId, txRequestId, signatureShare, utils_1.RequestType.tx, undefined, 'eddsa', apiMode, undefined, reqId);
227
229
  }
228
- exports.sendUserToBitgoGShare = sendUserToBitgoGShare;
229
230
  /**
230
231
  * Prepares a YShare to be exchanged with other key holders.
231
232
  * Output is in a format that is usable within BitGo's ecosystem.
@@ -248,7 +249,7 @@ async function encryptYShare(params) {
248
249
  Buffer.from(keyShare.uShare.chaincode, 'hex'),
249
250
  ]).toString('hex');
250
251
  const privateShare = Buffer.concat([Buffer.from(yShare.u, 'hex'), Buffer.from(yShare.chaincode, 'hex')]).toString('hex');
251
- const encryptedPrivateShare = await utils_1.encryptAndSignText(privateShare, recipientGpgPublicArmor, senderGpgPrivateArmor);
252
+ const encryptedPrivateShare = await (0, utils_1.encryptAndSignText)(privateShare, recipientGpgPublicArmor, senderGpgPrivateArmor);
252
253
  return {
253
254
  i: yShare.i,
254
255
  j: yShare.j,
@@ -256,7 +257,6 @@ async function encryptYShare(params) {
256
257
  encryptedPrivateShare,
257
258
  };
258
259
  }
259
- exports.encryptYShare = encryptYShare;
260
260
  /**
261
261
  *
262
262
  * Initializes Eddsa instance
@@ -264,10 +264,9 @@ exports.encryptYShare = encryptYShare;
264
264
  * @returns {Promise<Eddsa>} the Eddsa instance
265
265
  */
266
266
  async function getInitializedMpcInstance() {
267
- const hdTree = await hdTree_1.Ed25519BIP32.initialize();
267
+ const hdTree = await sdk_lib_mpc_1.Ed25519Bip32HdTree.initialize();
268
268
  return await tss_1.default.initialize(hdTree);
269
269
  }
270
- exports.getInitializedMpcInstance = getInitializedMpcInstance;
271
270
  /**
272
271
  *
273
272
  * Generates a TSS signature using the user and backup key
@@ -306,18 +305,16 @@ async function getTSSSignature(userSigningMaterial, backupSigningMaterial, path
306
305
  const rawSignature = Buffer.concat([Buffer.from(signature.R, 'hex'), Buffer.from(signature.sigma, 'hex')]);
307
306
  return rawSignature;
308
307
  }
309
- exports.getTSSSignature = getTSSSignature;
310
308
  /**
311
309
  * Verifies that a TSS wallet signature was produced with the expected key and that the signed data contains the
312
310
  * expected common keychain, the expected user and backup key ids as well as the public share that is generated from the
313
311
  * private share that was passed in.
314
312
  */
315
313
  async function verifyWalletSignature(params) {
316
- const rawNotations = await common_1.commonVerifyWalletSignature(params);
314
+ const rawNotations = await (0, common_1.commonVerifyWalletSignature)(params);
317
315
  const { decryptedShare, verifierIndex } = params;
318
316
  const publicShare = Buffer.from(await libsodium_wrappers_sumo_1.default.crypto_scalarmult_ed25519_base_noclamp(Buffer.from(decryptedShare.slice(0, 64), 'hex'))).toString('hex') + decryptedShare.slice(64);
319
317
  const publicShareRawNotationIndex = 2 + verifierIndex;
320
- assert_1.default(publicShare === Buffer.from(rawNotations[publicShareRawNotationIndex].value).toString(), 'bitgo share mismatch');
318
+ (0, assert_1.default)(publicShare === Buffer.from(rawNotations[publicShareRawNotationIndex].value).toString(), 'bitgo share mismatch');
321
319
  }
322
- exports.verifyWalletSignature = verifyWalletSignature;
323
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VkZHNhL2VkZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUU1QixzRkFBNkM7QUFDN0MseUVBQW9IO0FBVXBILHNDQUE4QztBQUM5Qyx5Q0FRdUI7QUFFdkIsOERBQWlFO0FBQ2pFLDRCQUE2QjtBQUM3QixzQ0FBMEY7QUFFakYsNkZBRjZCLHFCQUFZLE9BRTdCO0FBQUUsbUdBRjZCLDJCQUFrQixPQUU3QjtBQUV6Qzs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxNQUl2QztJQUNDLE1BQU0sYUFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBSyxFQUFFLENBQUM7SUFFeEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDOUQsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO0lBRTdCLElBQUksV0FBK0IsQ0FBQztJQUNwQyxJQUFJLFVBQThCLENBQUM7SUFDbkMsSUFBSSxZQUFnQyxDQUFDO0lBRXJDLEtBQUssTUFBTSxlQUFlLElBQUksZ0JBQWdCLEVBQUU7UUFDOUMsTUFBTSxZQUFZLEdBQUcsTUFBTSx5QkFBaUIsQ0FDMUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFDNUMsZUFBZSxDQUFDLGlCQUFpQixFQUNqQyxlQUFlLENBQUMscUJBQXFCLENBQ3RDLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBVztZQUNyQixDQUFDLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLENBQUMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVB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WSxHQUFHLE1BQU0sb0NBQTJCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFL0QsTUFBTSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFakQsTUFBTSxXQUFXLEdBQ2YsTUFBTSxDQUFDLElBQUksQ0FDVCxNQUFNLGlDQUFNLENBQUMsc0NBQXNDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUNyRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztJQUV0RCxnQkFBTSxDQUNKLFdBQVcsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUN2RixzQkFBc0IsQ0FDdkIsQ0FBQztBQUNKLENBQUM7QUF2QkQsc0RBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IG9wZW5wZ3AgZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgc29kaXVtIGZyb20gJ2xpYnNvZGl1bS13cmFwcGVycy1zdW1vJztcbmltcG9ydCBFZGRzYSwgeyBHU2hhcmUsIEpTaGFyZSwgS2V5U2hhcmUsIFBTaGFyZSwgUlNoYXJlLCBTaWduU2hhcmUsIFlTaGFyZSB9IGZyb20gJy4vLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLy4uLy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQge1xuICBEZWNyeXB0YWJsZVlTaGFyZSxcbiAgQ29tYmluZWRLZXksXG4gIFNpZ25pbmdNYXRlcmlhbCxcbiAgRW5jcnlwdGVkWVNoYXJlLFxuICBVc2VyU2lnbmluZ01hdGVyaWFsLFxuICBCYWNrdXBTaWduaW5nTWF0ZXJpYWwsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU2hhcmVLZXlQb3NpdGlvbiB9IGZyb20gJy4vLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgZW5jcnlwdEFuZFNpZ25UZXh0LFxuICByZWFkU2lnbmVkTWVzc2FnZSxcbiAgU2lnbmF0dXJlU2hhcmVSZWNvcmQsXG4gIFNpZ25hdHVyZVNoYXJlVHlwZSxcbiAgUmVxdWVzdFR5cGUsXG4gIENvbW1pdG1lbnRTaGFyZVJlY29yZCxcbiAgQ29tbWl0bWVudFR5cGUsXG59IGZyb20gJy4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9iYXNlQ29pbi9iYXNlVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRWQyNTUxOUJJUDMyIH0gZnJvbSAnLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMvaGRUcmVlJztcbmltcG9ydCBfID0gcmVxdWlyZSgnbG9kYXNoJyk7XG5pbXBvcnQgeyBjb21tb25WZXJpZnlXYWxsZXRTaWduYXR1cmUsIGdldFR4UmVxdWVzdCwgc2VuZFNpZ25hdHVyZVNoYXJlIH0gZnJvbSAnLi4vY29tbW9uJztcblxuZXhwb3J0IHsgZ2V0VHhSZXF1ZXN0LCBzZW5kU2lnbmF0dXJlU2hhcmUgfTtcblxuLyoqXG4gKiBDb21iaW5lcyBZU2hhcmVzIHRvIGNvbWJpbmUgdGhlIGZpbmFsIFRTUyBrZXlcbiAqIFRoaXMgY2FuIG9ubHkgYmUgdXNlZCB0byBjcmVhdGUgdGhlIFVzZXIgb3IgQmFja3VwIGtleSBzaW5jZSBpdCByZXF1aXJlcyB0aGUgY29tbW9uIGtleWNoYWluIGZyb20gQml0R28gZmlyc3RcbiAqXG4gKiBAcGFyYW0gcGFyYW1zLmtleVNoYXJlIC0gVFNTIGtleSBzaGFyZVxuICogQHBhcmFtIHBhcmFtcy5lbmNyeXB0ZWRZU2hhcmVzIC0gZW5jcnlwdGVkIFlTaGFyZXMgd2l0aCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gZGVjcnlwdFxuICogQHBhcmFtIHBhcmFtcy5jb21tb25LZXljaGFpbiAtIGV4cGVjdGVkIGNvbW1vbiBrZXljaGFpbiBvZiB0aGUgY29tYmluZWQga2V5XG4gKiBAcmV0dXJucyB7Q29tYmluZWRLZXl9IGNvbWJpbmVkIFRTUyBrZXlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUNvbWJpbmVkS2V5KHBhcmFtczoge1xuICBrZXlTaGFyZTogS2V5U2hhcmU7XG4gIGVuY3J5cHRlZFlTaGFyZXM6IERlY3J5cHRhYmxlWVNoYXJlW107XG4gIGNvbW1vbktleWNoYWluOiBzdHJpbmc7XG59KTogUHJvbWlzZTxDb21iaW5lZEtleT4ge1xuICBhd2FpdCBFZGRzYS5pbml0aWFsaXplKCk7XG4gIGNvbnN0IE1QQyA9IG5ldyBFZGRzYSgpO1xuXG4gIGNvbnN0IHsga2V5U2hhcmUsIGVuY3J5cHRlZFlTaGFyZXMsIGNvbW1vbktleWNoYWluIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHlTaGFyZXM6IFlTaGFyZVtdID0gW107XG5cbiAgbGV0IGJpdGdvWVNoYXJlOiBZU2hhcmUgfCB1bmRlZmluZWQ7XG4gIGxldCB1c2VyWVNoYXJlOiBZU2hhcmUgfCB1bmRlZmluZWQ7XG4gIGxldCBiYWNrdXBZU2hhcmU6IFlTaGFyZSB8IHVuZGVmaW5lZDtcblxuICBmb3IgKGNvbnN0IGVuY3J5cHRlZFlTaGFyZSBvZiBlbmNyeXB0ZWRZU2hhcmVzKSB7XG4gICAgY29uc3QgcHJpdmF0ZVNoYXJlID0gYXdhaXQgcmVhZFNpZ25lZE1lc3NhZ2UoXG4gICAgICBlbmNyeXB0ZWRZU2hhcmUueVNoYXJlLmVuY3J5cHRlZFByaXZhdGVTaGFyZSxcbiAgICAgIGVuY3J5cHRlZFlTaGFyZS5zZW5kZXJQdWJsaWNBcm1vcixcbiAgICAgIGVuY3J5cHRlZFlTaGFyZS5yZWNpcGllbnRQcml2YXRlQXJtb3JcbiAgICApO1xuXG4gICAgY29uc3QgeVNoYXJlOiBZU2hhcmUgPSB7XG4gICAgICBpOiBlbmNyeXB0ZWRZU2hhcmUueVNoYXJlLmksXG4gICAgICBqOiBlbmNyeXB0ZWRZU2hhcmUueVNoYXJlLmosXG4gICAgICB5OiBlbmNyeXB0ZWRZU2hhcmUueVNoYXJlLnB1YmxpY1NoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgIHY6IGVuY3J5cHRlZFlTaGFyZS55U2hhcmUucHVibGljU2hhcmUuc2xpY2UoNjQsIDEyOCksXG4gICAgICB1OiBwcml2YXRlU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgY2hhaW5jb2RlOiBwcml2YXRlU2hhcmUuc2xpY2UoNjQpLFxuICAgIH07XG5cbiAgICBzd2l0Y2ggKGVuY3J5cHRlZFlTaGFyZS55U2hhcmUuaikge1xuICAgICAgY2FzZSAxOlxuICAgICAgICB1c2VyWVNoYXJlID0geVNoYXJlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgYmFja3VwWVNoYXJlID0geVNoYXJlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMzpcbiAgICAgICAgYml0Z29ZU2hhcmUgPSB5U2hhcmU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFlTaGFyZSBpbmRleCcpO1xuICAgIH1cblxuICAgIHlTaGFyZXMucHVzaCh5U2hhcmUpO1xuICB9XG5cbiAgY29uc3QgY29tYmluZWRLZXkgPSBNUEMua2V5Q29tYmluZShrZXlTaGFyZS51U2hhcmUsIHlTaGFyZXMpO1xuICBpZiAoY29tYmluZWRLZXkucFNoYXJlLnkgKyBjb21iaW5lZEtleS5wU2hhcmUuY2hhaW5jb2RlICE9PSBjb21tb25LZXljaGFpbikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ29tbW9uIGtleWNoYWlucyBkbyBub3QgbWF0Y2gnKTtcbiAgfVxuICBpZiAoIWJpdGdvWVNoYXJlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIFkgU2hhcmUnKTtcbiAgfVxuXG4gIGNvbnN0IHNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0ge1xuICAgIHVTaGFyZToga2V5U2hhcmUudVNoYXJlLFxuICAgIGJpdGdvWVNoYXJlLFxuICAgIGJhY2t1cFlTaGFyZSxcbiAgICB1c2VyWVNoYXJlLFxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgc2lnbmluZ01hdGVyaWFsLFxuICAgIGNvbW1vbktleWNoYWluLFxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIFVzZXIgU2lnbiBTaGFyZSBjb250YWluaW5nIHRoZSBVc2VyIFhTaGFyZSAsIHRoZSBVc2VyIHRvIEJpdGdvIFJTaGFyZSBhbmQgVXNlciB0byBCaXRnbyBjb21taXRtZW50XG4gKlxuICogQHBhcmFtIHtCdWZmZXJ9IHNpZ25hYmxlUGF5bG9hZCAtIHRoZSBzaWduYWJsZVBheWxvYWQgYXMgYSBidWZmZXJcbiAqIEBwYXJhbSB7UFNoYXJlfSBwU2hhcmUgLSBVc2VyJ3Mgc2lnbmluZyBtYXRlcmlhbFxuICogQHJldHVybnMge1Byb21pc2U8U2lnblNoYXJlPn0gLSBVc2VyIFNpZ24gU2hhcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVVzZXJTaWduU2hhcmUoc2lnbmFibGVQYXlsb2FkOiBCdWZmZXIsIHBTaGFyZTogUFNoYXJlKTogUHJvbWlzZTxTaWduU2hhcmU+IHtcbiAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuXG4gIGlmIChwU2hhcmUuaSAhPT0gU2hhcmVLZXlQb3NpdGlvbi5VU0VSKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFBTaGFyZSwgUFNoYXJlIGRvZXNudCBiZWxvbmcgdG8gdGhlIFVzZXInKTtcbiAgfVxuICBjb25zdCBqU2hhcmU6IEpTaGFyZSA9IHsgaTogU2hhcmVLZXlQb3NpdGlvbi5CSVRHTywgajogU2hhcmVLZXlQb3NpdGlvbi5VU0VSIH07XG4gIHJldHVybiBNUEMuc2lnblNoYXJlKHNpZ25hYmxlUGF5bG9hZCwgcFNoYXJlLCBbalNoYXJlXSk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgVXNlciB0byBCaXRnbyBHU2hhcmVcbiAqXG4gKiBAcGFyYW0ge1NpZ25TaGFyZX0gdXNlclNpZ25TaGFyZSAtIHRoZSBVc2VyIFNpZ24gU2hhcmVcbiAqIEBwYXJhbSB7U2lnbmF0dXJlU2hhcmVSZWNvcmR9IGJpdGdvVG9Vc2VyUlNoYXJlIC0gdGhlIEJpdGdvIHRvIFVzZXIgUlNoYXJlXG4gKiBAcGFyYW0ge1lTaGFyZX0gYmFja3VwVG9Vc2VyWVNoYXJlIC0gdGhlIGJhY2t1cCBrZXkgWSBzaGFyZSByZWNlaXZlZCBkdXJpbmcgd2FsbGV0IGNyZWF0aW9uXG4gKiBAcGFyYW0ge0J1ZmZlcn0gc2lnbmFibGVQYXlsb2FkIC0gdGhlIHNpZ25hYmxlIHBheWxvYWQgZnJvbSBhIHR4XG4gKiBAcGFyYW0ge0NvbW1pdG1lbnRTaGFyZVJlY29yZH0gW2JpdGdvVG9Vc2VyQ29tbWl0bWVudF0gLSB0aGUgQml0Z28gdG8gVXNlciBDb21taXRtZW50XG4gKiBAcmV0dXJucyB7UHJvbWlzZTxHU2hhcmU+fSAtIHRoZSBVc2VyIHRvIEJpdGdvIEdTaGFyZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVXNlclRvQml0R29HU2hhcmUoXG4gIHVzZXJTaWduU2hhcmU6IFNpZ25TaGFyZSxcbiAgYml0Z29Ub1VzZXJSU2hhcmU6IFNpZ25hdHVyZVNoYXJlUmVjb3JkLFxuICBiYWNrdXBUb1VzZXJZU2hhcmU6IFlTaGFyZSxcbiAgYml0Z29Ub1VzZXJZU2hhcmU6IFlTaGFyZSxcbiAgc2lnbmFibGVQYXlsb2FkOiBCdWZmZXIsXG4gIGJpdGdvVG9Vc2VyQ29tbWl0bWVudD86IENvbW1pdG1lbnRTaGFyZVJlY29yZFxuKTogUHJvbWlzZTxHU2hhcmU+IHtcbiAgaWYgKHVzZXJTaWduU2hhcmUueFNoYXJlLmkgIT09IFNoYXJlS2V5UG9zaXRpb24uVVNFUikge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBYU2hhcmUsIGRvZXNudCBiZWxvbmcgdG8gdGhlIFVzZXInKTtcbiAgfVxuICBpZiAoYml0Z29Ub1VzZXJSU2hhcmUuZnJvbSAhPT0gU2lnbmF0dXJlU2hhcmVUeXBlLkJJVEdPIHx8IGJpdGdvVG9Vc2VyUlNoYXJlLnRvICE9PSBTaWduYXR1cmVTaGFyZVR5cGUuVVNFUikge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBSU2hhcmUsIGlzIG5vdCBmcm9tIEJpdGdvIHRvIFVzZXInKTtcbiAgfVxuICBpZiAoYmFja3VwVG9Vc2VyWVNoYXJlLmkgIT09IFNoYXJlS2V5UG9zaXRpb24uVVNFUikge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBZU2hhcmUsIGRvZXNudCBiZWxvbmcgdG8gdGhlIFVzZXInKTtcbiAgfVxuICBpZiAoYmFja3VwVG9Vc2VyWVNoYXJlLmogIT09IFNoYXJlS2V5UG9zaXRpb24uQkFDS1VQKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFlTaGFyZSwgaXMgbm90IGJhY2t1cCBrZXknKTtcbiAgfVxuXG4gIGxldCB2LCByLCBSO1xuICBpZiAoYml0Z29Ub1VzZXJSU2hhcmUuc2hhcmUubGVuZ3RoID4gMTI4KSB7XG4gICAgdiA9IGJpdGdvVG9Vc2VyUlNoYXJlLnNoYXJlLnN1YnN0cmluZygwLCA2NCk7XG4gICAgciA9IGJpdGdvVG9Vc2VyUlNoYXJlLnNoYXJlLnN1YnN0cmluZyg2NCwgMTI4KTtcbiAgICBSID0gYml0Z29Ub1VzZXJSU2hhcmUuc2hhcmUuc3Vic3RyaW5nKDEyOCwgMTkyKTtcbiAgfSBlbHNlIHtcbiAgICByID0gYml0Z29Ub1VzZXJSU2hhcmUuc2hhcmUuc3Vic3RyaW5nKDAsIDY0KTtcbiAgICBSID0gYml0Z29Ub1VzZXJSU2hhcmUuc2hhcmUuc3Vic3RyaW5nKDY0LCAxMjgpO1xuICB9XG5cbiAgY29uc3QgdXBkYXRlZEJpdGdvVG9Vc2VyUlNoYXJlOiBSU2hhcmUgPSB7XG4gICAgaTogU2hhcmVLZXlQb3NpdGlvbi5VU0VSLFxuICAgIGo6IFNoYXJlS2V5UG9zaXRpb24uQklUR08sXG4gICAgdTogYml0Z29Ub1VzZXJZU2hhcmUudSxcbiAgICB2LFxuICAgIHIsXG4gICAgUixcbiAgfTtcblxuICBjb25zdCBNUEMgPSBhd2FpdCBFZGRzYS5pbml0aWFsaXplKCk7XG5cbiAgaWYgKGJpdGdvVG9Vc2VyQ29tbWl0bWVudCkge1xuICAgIGlmIChcbiAgICAgIGJpdGdvVG9Vc2VyQ29tbWl0bWVudC5mcm9tICE9PSBTaWduYXR1cmVTaGFyZVR5cGUuQklUR08gfHxcbiAgICAgIGJpdGdvVG9Vc2VyQ29tbWl0bWVudC50byAhPT0gU2lnbmF0dXJlU2hhcmVUeXBlLlVTRVJcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBDb21taXRtZW50LCBpcyBub3QgZnJvbSBCaXRnbyB0byBVc2VyJyk7XG4gICAgfVxuICAgIGlmIChiaXRnb1RvVXNlckNvbW1pdG1lbnQudHlwZSAhPT0gQ29tbWl0bWVudFR5cGUuQ09NTUlUTUVOVCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIENvbW1pdG1lbnQgdHlwZSwgZ290OiAnICsgYml0Z29Ub1VzZXJDb21taXRtZW50LnR5cGUgKyAnIGV4cGVjdGVkOiBjb21taXRtZW50Jyk7XG4gICAgfVxuICAgIHVwZGF0ZWRCaXRnb1RvVXNlclJTaGFyZS5jb21taXRtZW50ID0gYml0Z29Ub1VzZXJDb21taXRtZW50LnNoYXJlO1xuICB9XG5cbiAgcmV0dXJuIE1QQy5zaWduKHNpZ25hYmxlUGF5bG9hZCwgdXNlclNpZ25TaGFyZS54U2hhcmUsIFt1cGRhdGVkQml0Z29Ub1VzZXJSU2hhcmVdLCBbYmFja3VwVG9Vc2VyWVNoYXJlXSk7XG59XG5cbi8qKlxuICogU2VuZHMgdGhlIFVzZXIgdG8gQml0Z28gUlNoYXJlIHRvIEJpdGdvXG4gKiBAcGFyYW0ge0JpdEdvQmFzZX0gYml0Z28gLSB0aGUgYml0Z28gaW5zdGFuY2VcbiAqIEBwYXJhbSB7U3RyaW5nfSB3YWxsZXRJZCAtIHRoZSB3YWxsZXQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSB0eFJlcXVlc3RJZCAtIHRoZSB0eFJlcXVlc3QgSWRcbiAqIEBwYXJhbSB7U2lnblNoYXJlfSB1c2VyU2lnblNoYXJlIC0gdGhlIHVzZXIgU2lnbiBTaGFyZVxuICogQHBhcmFtIHtTdHJpbmd9IGVuY3J5cHRlZFNpZ25lclNoYXJlIC0gc2lnbmVyIHNoYXJlIGVuY3J5cHRlZCB0byBiaXRnbyBrZXlcbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gb2ZmZXJVc2VyVG9CaXRnb1JTaGFyZShcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgd2FsbGV0SWQ6IHN0cmluZyxcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZyxcbiAgdXNlclNpZ25TaGFyZTogU2lnblNoYXJlLFxuICBlbmNyeXB0ZWRTaWduZXJTaGFyZTogc3RyaW5nLFxuICBhcGlNb2RlOiAnZnVsbCcgfCAnbGl0ZScgPSAnbGl0ZScsXG4gIHZzc1Byb29mPzogc3RyaW5nLFxuICBwcml2YXRlU2hhcmVQcm9vZj86IHN0cmluZyxcbiAgdXNlclB1YmxpY0dwZ0tleT86IHN0cmluZyxcbiAgcHVibGljU2hhcmU/OiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByU2hhcmU6IFJTaGFyZSA9IHVzZXJTaWduU2hhcmUuclNoYXJlc1tTaGFyZUtleVBvc2l0aW9uLkJJVEdPXTtcbiAgaWYgKF8uaXNOaWwoclNoYXJlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlclRvQml0Z28gUlNoYXJlIG5vdCBmb3VuZCcpO1xuICB9XG4gIGlmIChyU2hhcmUuaSAhPT0gU2hhcmVLZXlQb3NpdGlvbi5CSVRHTyB8fCByU2hhcmUuaiAhPT0gU2hhcmVLZXlQb3NpdGlvbi5VU0VSKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFJTaGFyZSwgaXMgbm90IGZyb20gVXNlciB0byBCaXRnbycpO1xuICB9XG4gIGNvbnN0IHNpZ25hdHVyZVNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZCA9IHtcbiAgICBmcm9tOiBTaWduYXR1cmVTaGFyZVR5cGUuVVNFUixcbiAgICB0bzogU2lnbmF0dXJlU2hhcmVUeXBlLkJJVEdPLFxuICAgIHNoYXJlOiByU2hhcmUuciArIHJTaGFyZS5SLFxuICAgIHZzc1Byb29mLFxuICAgIHByaXZhdGVTaGFyZVByb29mLFxuICAgIHB1YmxpY1NoYXJlLFxuICB9O1xuXG4gIC8vIFRPRE8gKEJHLTU3OTQ0KTogaW1wbGVtZW50IG1lc3NhZ2Ugc2lnbmluZyBmb3IgRUREU0FcbiAgYXdhaXQgc2VuZFNpZ25hdHVyZVNoYXJlKFxuICAgIGJpdGdvLFxuICAgIHdhbGxldElkLFxuICAgIHR4UmVxdWVzdElkLFxuICAgIHNpZ25hdHVyZVNoYXJlLFxuICAgIFJlcXVlc3RUeXBlLnR4LFxuICAgIGVuY3J5cHRlZFNpZ25lclNoYXJlLFxuICAgICdlZGRzYScsXG4gICAgYXBpTW9kZSxcbiAgICB1c2VyUHVibGljR3BnS2V5XG4gICk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgQml0Z28gdG8gVXNlciBSU2hhcmUgZnJvbSBCaXRnb1xuICpcbiAqIEBwYXJhbSB7Qml0R29CYXNlfSBiaXRnbyAtIHRoZSBiaXRnbyBpbnN0YW5jZVxuICogQHBhcmFtIHtTdHJpbmd9IHdhbGxldElkIC0gdGhlIHdhbGxldCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IHR4UmVxdWVzdElkIC0gdGhlIHR4UmVxdWVzdCBJZFxuICogQHJldHVybnMge1Byb21pc2U8U2lnbmF0dXJlU2hhcmVSZWNvcmQ+fSAtIGEgU2lnbmF0dXJlIFNoYXJlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCaXRnb1RvVXNlclJTaGFyZShcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgd2FsbGV0SWQ6IHN0cmluZyxcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZ1xuKTogUHJvbWlzZTxTaWduYXR1cmVTaGFyZVJlY29yZD4ge1xuICBjb25zdCB0eFJlcXVlc3QgPSBhd2FpdCBnZXRUeFJlcXVlc3QoYml0Z28sIHdhbGxldElkLCB0eFJlcXVlc3RJZCk7XG4gIGxldCBzaWduYXR1cmVTaGFyZXM7XG4gIGlmICh0eFJlcXVlc3QuYXBpVmVyc2lvbiA9PT0gJ2Z1bGwnKSB7XG4gICAgYXNzZXJ0KHR4UmVxdWVzdC50cmFuc2FjdGlvbnMsICd0cmFuc2FjdGlvbnMgcmVxdWlyZWQgYXMgcGFydCBvZiB0eFJlcXVlc3QnKTtcbiAgICBzaWduYXR1cmVTaGFyZXMgPSB0eFJlcXVlc3QudHJhbnNhY3Rpb25zWzBdLnNpZ25hdHVyZVNoYXJlcztcbiAgfSBlbHNlIHtcbiAgICBzaWduYXR1cmVTaGFyZXMgPSB0eFJlcXVlc3Quc2lnbmF0dXJlU2hhcmVzO1xuICB9XG4gIGlmIChfLmlzTmlsKHNpZ25hdHVyZVNoYXJlcykgfHwgXy5pc0VtcHR5KHNpZ25hdHVyZVNoYXJlcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHNpZ25hdHVyZXMgc2hhcmVzIGZvdW5kIGZvciBpZDogJHt0eFJlcXVlc3RJZH1gKTtcbiAgfVxuICAvLyBhdCB0aGlzIHBvaW50IHdlIGV4cGVjdCB0aGUgb25seSBzaGFyZSB0byBiZSB0aGUgUlNoYXJlXG4gIGNvbnN0IGJpdGdvVG9Vc2VyUlNoYXJlID0gc2lnbmF0dXJlU2hhcmVzLmZpbmQoXG4gICAgKHNpZ1NoYXJlKSA9PiBzaWdTaGFyZS5mcm9tID09PSBTaWduYXR1cmVTaGFyZVR5cGUuQklUR08gJiYgc2lnU2hhcmUudG8gPT09IFNpZ25hdHVyZVNoYXJlVHlwZS5VU0VSXG4gICk7XG4gIGlmIChfLmlzTmlsKGJpdGdvVG9Vc2VyUlNoYXJlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQml0Z28gdG8gVXNlciBSU2hhcmUgbm90IGZvdW5kIGZvciBpZDogJHt0eFJlcXVlc3RJZH1gKTtcbiAgfVxuICByZXR1cm4gYml0Z29Ub1VzZXJSU2hhcmU7XG59XG5cbi8qKlxuICogU2VuZHMgdGhlIFVzZXIgdG8gQml0Z28gR1NoYXJlIHRvIEJpdGdvXG4gKlxuICogQHBhcmFtIHtCaXRHb0Jhc2V9IGJpdGdvIC0gdGhlIGJpdGdvIGluc3RhbmNlXG4gKiBAcGFyYW0ge1N0cmluZ30gd2FsbGV0SWQgLSB0aGUgd2FsbGV0IGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gdHhSZXF1ZXN0SWQgLSB0aGUgdHhSZXF1ZXN0IElkXG4gKiBAcGFyYW0ge0dTaGFyZX0gdXNlclRvQml0Z29HU2hhcmUgLSB0aGUgVXNlciB0byBCaXRnbyBHU2hhcmVcbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VuZFVzZXJUb0JpdGdvR1NoYXJlKFxuICBiaXRnbzogQml0R29CYXNlLFxuICB3YWxsZXRJZDogc3RyaW5nLFxuICB0eFJlcXVlc3RJZDogc3RyaW5nLFxuICB1c2VyVG9CaXRnb0dTaGFyZTogR1NoYXJlLFxuICBhcGlNb2RlOiAnZnVsbCcgfCAnbGl0ZScgPSAnbGl0ZSdcbik6IFByb21pc2U8dm9pZD4ge1xuICBpZiAodXNlclRvQml0Z29HU2hhcmUuaSAhPT0gU2hhcmVLZXlQb3NpdGlvbi5VU0VSKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIEdTaGFyZSwgZG9lc250IGJlbG9uZyB0byB0aGUgVXNlcicpO1xuICB9XG4gIGNvbnN0IHNpZ25hdHVyZVNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZCA9IHtcbiAgICBmcm9tOiBTaWduYXR1cmVTaGFyZVR5cGUuVVNFUixcbiAgICB0bzogU2lnbmF0dXJlU2hhcmVUeXBlLkJJVEdPLFxuICAgIHNoYXJlOiB1c2VyVG9CaXRnb0dTaGFyZS5SICsgdXNlclRvQml0Z29HU2hhcmUuZ2FtbWEsXG4gIH07XG5cbiAgLy8gVE9ETyAoQkctNTc5NDQpOiBpbXBsZW1lbnQgbWVzc2FnZSBzaWduaW5nIGZvciBFRERTQVxuICBhd2FpdCBzZW5kU2lnbmF0dXJlU2hhcmUoYml0Z28sIHdhbGxldElkLCB0eFJlcXVlc3RJZCwgc2lnbmF0dXJlU2hhcmUsIFJlcXVlc3RUeXBlLnR4LCB1bmRlZmluZWQsICdlZGRzYScsIGFwaU1vZGUpO1xufVxuXG4vKipcbiAqIFByZXBhcmVzIGEgWVNoYXJlIHRvIGJlIGV4Y2hhbmdlZCB3aXRoIG90aGVyIGtleSBob2xkZXJzLlxuICogT3V0cHV0IGlzIGluIGEgZm9ybWF0IHRoYXQgaXMgdXNhYmxlIHdpdGhpbiBCaXRHbydzIGVjb3N5c3RlbS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zLmtleVNoYXJlIC0gVFNTIGtleSBzaGFyZSBvZiB0aGUgcGFydHkgcHJlcGFyaW5nIGV4Y2hhbmdlIG1hdGVyaWFsc1xuICogQHBhcmFtIHBhcmFtcy5yZWNpcGllbnRJbmRleCAtIGluZGV4IG9mIHRoZSByZWNpcGllbnQgKDEsIDIsIG9yIDMpXG4gKiBAcGFyYW0gcGFyYW1zLnJlY2lwaWVudEdwZ1B1YmxpY0FybW9yIC0gcmVjaXBpZW50J3MgcHVibGljIGdwZyBrZXkgaW4gYXJtb3IgZm9ybWF0XG4gKiBAcGFyYW0gcGFyYW1zLnNlbmRlckdwZ1ByaXZhdGVBcm1vciAtIHNlbmRlcidzIHByaXZhdGUgZ3BnIGtleSBpbiBhcm1vciBmb3JtYXRcbiAqIEByZXR1cm5zIHsgRW5jcnlwdGVkWVNoYXJlIH0gZW5jcnlwdGVkIFkgU2hhcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRZU2hhcmUocGFyYW1zOiB7XG4gIGtleVNoYXJlOiBLZXlTaGFyZTtcbiAgcmVjaXBpZW50SW5kZXg6IG51bWJlcjtcbiAgcmVjaXBpZW50R3BnUHVibGljQXJtb3I6IHN0cmluZztcbiAgc2VuZGVyR3BnUHJpdmF0ZUFybW9yOiBzdHJpbmc7XG59KTogUHJvbWlzZTxFbmNyeXB0ZWRZU2hhcmU+IHtcbiAgY29uc3QgeyBrZXlTaGFyZSwgcmVjaXBpZW50SW5kZXgsIHJlY2lwaWVudEdwZ1B1YmxpY0FybW9yLCBzZW5kZXJHcGdQcml2YXRlQXJtb3IgfSA9IHBhcmFtcztcblxuICBjb25zdCB5U2hhcmUgPSBrZXlTaGFyZS55U2hhcmVzW3JlY2lwaWVudEluZGV4XTtcbiAgaWYgKCF5U2hhcmUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVjaXBpZW50Jyk7XG4gIH1cblxuICBjb25zdCBwdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgIEJ1ZmZlci5mcm9tKGtleVNoYXJlLnVTaGFyZS55LCAnaGV4JyksXG4gICAgQnVmZmVyLmZyb20oeVNoYXJlLnYhLCAnaGV4JyksXG4gICAgQnVmZmVyLmZyb20oa2V5U2hhcmUudVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICBdKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgY29uc3QgcHJpdmF0ZVNoYXJlID0gQnVmZmVyLmNvbmNhdChbQnVmZmVyLmZyb20oeVNoYXJlLnUsICdoZXgnKSwgQnVmZmVyLmZyb20oeVNoYXJlLmNoYWluY29kZSwgJ2hleCcpXSkudG9TdHJpbmcoXG4gICAgJ2hleCdcbiAgKTtcblxuICBjb25zdCBlbmNyeXB0ZWRQcml2YXRlU2hhcmUgPSBhd2FpdCBlbmNyeXB0QW5kU2lnblRleHQocHJpdmF0ZVNoYXJlLCByZWNpcGllbnRHcGdQdWJsaWNBcm1vciwgc2VuZGVyR3BnUHJpdmF0ZUFybW9yKTtcblxuICByZXR1cm4ge1xuICAgIGk6IHlTaGFyZS5pLFxuICAgIGo6IHlTaGFyZS5qLFxuICAgIHB1YmxpY1NoYXJlLFxuICAgIGVuY3J5cHRlZFByaXZhdGVTaGFyZSxcbiAgfTtcbn1cblxuLyoqXG4gKlxuICogSW5pdGlhbGl6ZXMgRWRkc2EgaW5zdGFuY2VcbiAqXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxFZGRzYT59IHRoZSBFZGRzYSBpbnN0YW5jZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0SW5pdGlhbGl6ZWRNcGNJbnN0YW5jZSgpIHtcbiAgY29uc3QgaGRUcmVlID0gYXdhaXQgRWQyNTUxOUJJUDMyLmluaXRpYWxpemUoKTtcbiAgcmV0dXJuIGF3YWl0IEVkZHNhLmluaXRpYWxpemUoaGRUcmVlKTtcbn1cblxuLyoqXG4gKlxuICogR2VuZXJhdGVzIGEgVFNTIHNpZ25hdHVyZSB1c2luZyB0aGUgdXNlciBhbmQgYmFja3VwIGtleVxuICpcbiAqIEBwYXJhbSB7VXNlclNpZ25pbmdNYXRlcmlhbH0gdXNlclNpZ25pbmdNYXRlcmlhbCBkZWNyeXB0ZWQgdXNlciBUU1Mga2V5XG4gKiBAcGFyYW0ge0JhY2t1cFNpZ25pbmdNYXRlcmlhbH0gYmFja3VwU2lnbmluZ01hdGVyaWFsIGRlY3J5cHRlZCBiYWNrdXAgVFNTIGtleVxuICogQHBhcmFtIHtzdHJpbmd9IHBhdGggYmlwMzIgZGVyaXZhdGlvbiBwYXRoXG4gKiBAcGFyYW0ge0Jhc2VUcmFuc2FjdGlvbn0gdHJhbnNhY3Rpb24gdGhlIHRyYW5zYWN0aW9uIHRvIHNpZ25cbiAqIEByZXR1cm5zIHtCdWZmZXJ9IHRoZSBzaWduYXR1cmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFRTU1NpZ25hdHVyZShcbiAgdXNlclNpZ25pbmdNYXRlcmlhbDogVXNlclNpZ25pbmdNYXRlcmlhbCxcbiAgYmFja3VwU2lnbmluZ01hdGVyaWFsOiBCYWNrdXBTaWduaW5nTWF0ZXJpYWwsXG4gIHBhdGggPSAnbS8wJyxcbiAgdHJhbnNhY3Rpb246IEJhc2VUcmFuc2FjdGlvblxuKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgY29uc3QgTVBDID0gYXdhaXQgZ2V0SW5pdGlhbGl6ZWRNcGNJbnN0YW5jZSgpO1xuXG4gIGNvbnN0IHVzZXJDb21iaW5lID0gTVBDLmtleUNvbWJpbmUodXNlclNpZ25pbmdNYXRlcmlhbC51U2hhcmUsIFtcbiAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlLFxuICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlLFxuICBdKTtcbiAgY29uc3QgYmFja3VwQ29tYmluZSA9IE1QQy5rZXlDb21iaW5lKGJhY2t1cFNpZ25pbmdNYXRlcmlhbC51U2hhcmUsIFtcbiAgICBiYWNrdXBTaWduaW5nTWF0ZXJpYWwuYml0Z29ZU2hhcmUsXG4gICAgYmFja3VwU2lnbmluZ01hdGVyaWFsLnVzZXJZU2hhcmUsXG4gIF0pO1xuXG4gIGNvbnN0IHVzZXJTdWJrZXkgPSBNUEMua2V5RGVyaXZlKFxuICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwudVNoYXJlLFxuICAgIFt1c2VyU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlLCB1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZV0sXG4gICAgcGF0aFxuICApO1xuXG4gIGNvbnN0IGJhY2t1cFN1YmtleSA9IE1QQy5rZXlDb21iaW5lKGJhY2t1cFNpZ25pbmdNYXRlcmlhbC51U2hhcmUsIFtcbiAgICB1c2VyU3Via2V5LnlTaGFyZXNbMl0sXG4gICAgYmFja3VwU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlLFxuICBdKTtcblxuICBjb25zdCBtZXNzYWdlQnVmZmVyID0gdHJhbnNhY3Rpb24uc2lnbmFibGVQYXlsb2FkO1xuICBjb25zdCB1c2VyU2lnblNoYXJlID0gTVBDLnNpZ25TaGFyZShtZXNzYWdlQnVmZmVyLCB1c2VyU3Via2V5LnBTaGFyZSwgW3VzZXJDb21iaW5lLmpTaGFyZXNbMl1dKTtcbiAgY29uc3QgYmFja3VwU2lnblNoYXJlID0gTVBDLnNpZ25TaGFyZShtZXNzYWdlQnVmZmVyLCBiYWNrdXBTdWJrZXkucFNoYXJlLCBbYmFja3VwQ29tYmluZS5qU2hhcmVzWzFdXSk7XG4gIGNvbnN0IHVzZXJTaWduID0gTVBDLnNpZ24oXG4gICAgbWVzc2FnZUJ1ZmZlcixcbiAgICB1c2VyU2lnblNoYXJlLnhTaGFyZSxcbiAgICBbYmFja3VwU2lnblNoYXJlLnJTaGFyZXNbMV1dLFxuICAgIFt1c2VyU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlXVxuICApO1xuICBjb25zdCBiYWNrdXBTaWduID0gTVBDLnNpZ24oXG4gICAgbWVzc2FnZUJ1ZmZlcixcbiAgICBiYWNrdXBTaWduU2hhcmUueFNoYXJlLFxuICAgIFt1c2VyU2lnblNoYXJlLnJTaGFyZXNbMl1dLFxuICAgIFtiYWNrdXBTaWduaW5nTWF0ZXJpYWwuYml0Z29ZU2hhcmVdXG4gICk7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IE1QQy5zaWduQ29tYmluZShbdXNlclNpZ24sIGJhY2t1cFNpZ25dKTtcbiAgY29uc3QgcmVzdWx0ID0gTVBDLnZlcmlmeShtZXNzYWdlQnVmZmVyLCBzaWduYXR1cmUpO1xuICBpZiAoIXJlc3VsdCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzaWduYXR1cmUnKTtcbiAgfVxuICBjb25zdCByYXdTaWduYXR1cmUgPSBCdWZmZXIuY29uY2F0KFtCdWZmZXIuZnJvbShzaWduYXR1cmUuUiwgJ2hleCcpLCBCdWZmZXIuZnJvbShzaWduYXR1cmUuc2lnbWEsICdoZXgnKV0pO1xuICByZXR1cm4gcmF3U2lnbmF0dXJlO1xufVxuXG4vKipcbiAqIFZlcmlmaWVzIHRoYXQgYSBUU1Mgd2FsbGV0IHNpZ25hdHVyZSB3YXMgcHJvZHVjZWQgd2l0aCB0aGUgZXhwZWN0ZWQga2V5IGFuZCB0aGF0IHRoZSBzaWduZWQgZGF0YSBjb250YWlucyB0aGVcbiAqIGV4cGVjdGVkIGNvbW1vbiBrZXljaGFpbiwgdGhlIGV4cGVjdGVkIHVzZXIgYW5kIGJhY2t1cCBrZXkgaWRzIGFzIHdlbGwgYXMgdGhlIHB1YmxpYyBzaGFyZSB0aGF0IGlzIGdlbmVyYXRlZCBmcm9tIHRoZVxuICogcHJpdmF0ZSBzaGFyZSB0aGF0IHdhcyBwYXNzZWQgaW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlXYWxsZXRTaWduYXR1cmUocGFyYW1zOiB7XG4gIHdhbGxldFNpZ25hdHVyZTogb3BlbnBncC5LZXk7XG4gIGJpdGdvUHViOiBvcGVucGdwLktleTtcbiAgY29tbW9uS2V5Y2hhaW46IHN0cmluZztcbiAgdXNlcktleUlkOiBzdHJpbmc7XG4gIGJhY2t1cEtleUlkOiBzdHJpbmc7XG4gIGRlY3J5cHRlZFNoYXJlOiBzdHJpbmc7XG4gIHZlcmlmaWVySW5kZXg6IDEgfCAyOyAvLyB0aGUgaW5kZXggb2YgdGhlIHZlcmlmaWVyLCAxIG1lYW5zIHVzZXIsIDIgbWVhbnMgYmFja3VwXG59KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJhd05vdGF0aW9ucyA9IGF3YWl0IGNvbW1vblZlcmlmeVdhbGxldFNpZ25hdHVyZShwYXJhbXMpO1xuXG4gIGNvbnN0IHsgZGVjcnlwdGVkU2hhcmUsIHZlcmlmaWVySW5kZXggfSA9IHBhcmFtcztcblxuICBjb25zdCBwdWJsaWNTaGFyZSA9XG4gICAgQnVmZmVyLmZyb20oXG4gICAgICBhd2FpdCBzb2RpdW0uY3J5cHRvX3NjYWxhcm11bHRfZWQyNTUxOV9iYXNlX25vY2xhbXAoQnVmZmVyLmZyb20oZGVjcnlwdGVkU2hhcmUuc2xpY2UoMCwgNjQpLCAnaGV4JykpXG4gICAgKS50b1N0cmluZygnaGV4JykgKyBkZWNyeXB0ZWRTaGFyZS5zbGljZSg2NCk7XG4gIGNvbnN0IHB1YmxpY1NoYXJlUmF3Tm90YXRpb25JbmRleCA9IDIgKyB2ZXJpZmllckluZGV4O1xuXG4gIGFzc2VydChcbiAgICBwdWJsaWNTaGFyZSA9PT0gQnVmZmVyLmZyb20ocmF3Tm90YXRpb25zW3B1YmxpY1NoYXJlUmF3Tm90YXRpb25JbmRleF0udmFsdWUpLnRvU3RyaW5nKCksXG4gICAgJ2JpdGdvIHNoYXJlIG1pc21hdGNoJ1xuICApO1xufVxuIl19
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VkZHNhL2VkZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQXdDQSw4Q0FtRUM7QUFTRCxrREFRQztBQVlELDBEQWtEQztBQVlELHdEQW1DQztBQVdELG9EQXlCQztBQVlELHNEQThCQztBQVlELHNDQStCQztBQVFELDhEQUdDO0FBWUQsMENBa0RDO0FBT0Qsc0RBdUJDO0FBemNELG9EQUE0QjtBQUU1QixzRkFBNkM7QUFDN0MseUVBQW9IO0FBVXBILG9DQUE0QztBQUM1Qyx1Q0FRcUI7QUFFckIseURBQTZEO0FBQzdELDRCQUE2QjtBQUM3QixzQ0FBMEY7QUFHakYsNkZBSDZCLHFCQUFZLE9BRzdCO0FBQUUsbUdBSDZCLDJCQUFrQixPQUc3QjtBQUV6Qzs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxNQUl2QztJQUNDLE1BQU0sYUFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBSyxFQUFFLENBQUM7SUFFeEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDOUQsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO0lBRTdCLElBQUksV0FBK0IsQ0FBQztJQUNwQyxJQUFJLFVBQThCLENBQUM7SUFDbkMsSUFBSSxZQUFnQyxDQUFDO0lBRXJDLEtBQUssTUFBTSxlQUFlLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUEseUJBQWlCLEVBQzFDLGVBQWUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQzVDLGVBQWUsQ0FBQyxpQkFBaUIsRUFDakMsZUFBZSxDQUFDLHFCQUFxQixDQUN0QyxDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQVc7WUFDckIsQ0FBQyxFQUFF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QUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0csT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUscUJBQXFCLENBQUMsTUFRM0M7SUFDQyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUEsb0NBQTJCLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFFL0QsTUFBTSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFakQsTUFBTSxXQUFXLEdBQ2YsTUFBTSxDQUFDLElBQUksQ0FDVCxNQUFNLGlDQUFNLENBQUMsc0NBQXNDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUNyRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztJQUV0RCxJQUFBLGdCQUFNLEVBQ0osV0FBVyxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQ3ZGLHNCQUFzQixDQUN2QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBvcGVucGdwIGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHNvZGl1bSBmcm9tICdsaWJzb2RpdW0td3JhcHBlcnMtc3Vtbyc7XG5pbXBvcnQgRWRkc2EsIHsgR1NoYXJlLCBKU2hhcmUsIEtleVNoYXJlLCBQU2hhcmUsIFJTaGFyZSwgU2lnblNoYXJlLCBZU2hhcmUgfSBmcm9tICcuLy4uLy4uLy4uL2FjY291bnQtbGliL21wYy90c3MnO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vLi4vYml0Z29CYXNlJztcbmltcG9ydCB7XG4gIERlY3J5cHRhYmxlWVNoYXJlLFxuICBDb21iaW5lZEtleSxcbiAgU2lnbmluZ01hdGVyaWFsLFxuICBFbmNyeXB0ZWRZU2hhcmUsXG4gIFVzZXJTaWduaW5nTWF0ZXJpYWwsXG4gIEJhY2t1cFNpZ25pbmdNYXRlcmlhbCxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBTaGFyZUtleVBvc2l0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgZW5jcnlwdEFuZFNpZ25UZXh0LFxuICByZWFkU2lnbmVkTWVzc2FnZSxcbiAgU2lnbmF0dXJlU2hhcmVSZWNvcmQsXG4gIFNpZ25hdHVyZVNoYXJlVHlwZSxcbiAgUmVxdWVzdFR5cGUsXG4gIENvbW1pdG1lbnRTaGFyZVJlY29yZCxcbiAgQ29tbWl0bWVudFR5cGUsXG59IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2FjY291bnQtbGliJztcbmltcG9ydCB7IEVkMjU1MTlCaXAzMkhkVHJlZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1saWItbXBjJztcbmltcG9ydCBfID0gcmVxdWlyZSgnbG9kYXNoJyk7XG5pbXBvcnQgeyBjb21tb25WZXJpZnlXYWxsZXRTaWduYXR1cmUsIGdldFR4UmVxdWVzdCwgc2VuZFNpZ25hdHVyZVNoYXJlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IElSZXF1ZXN0VHJhY2VyIH0gZnJvbSAnLi4vLi4vLi4vYXBpJztcblxuZXhwb3J0IHsgZ2V0VHhSZXF1ZXN0LCBzZW5kU2lnbmF0dXJlU2hhcmUgfTtcblxuLyoqXG4gKiBDb21iaW5lcyBZU2hhcmVzIHRvIGNvbWJpbmUgdGhlIGZpbmFsIFRTUyBrZXlcbiAqIFRoaXMgY2FuIG9ubHkgYmUgdXNlZCB0byBjcmVhdGUgdGhlIFVzZXIgb3IgQmFja3VwIGtleSBzaW5jZSBpdCByZXF1aXJlcyB0aGUgY29tbW9uIGtleWNoYWluIGZyb20gQml0R28gZmlyc3RcbiAqXG4gKiBAcGFyYW0gcGFyYW1zLmtleVNoYXJlIC0gVFNTIGtleSBzaGFyZVxuICogQHBhcmFtIHBhcmFtcy5lbmNyeXB0ZWRZU2hhcmVzIC0gZW5jcnlwdGVkIFlTaGFyZXMgd2l0aCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gZGVjcnlwdFxuICogQHBhcmFtIHBhcmFtcy5jb21tb25LZXljaGFpbiAtIGV4cGVjdGVkIGNvbW1vbiBrZXljaGFpbiBvZiB0aGUgY29tYmluZWQga2V5XG4gKiBAcmV0dXJucyB7Q29tYmluZWRLZXl9IGNvbWJpbmVkIFRTUyBrZXlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUNvbWJpbmVkS2V5KHBhcmFtczoge1xuICBrZXlTaGFyZTogS2V5U2hhcmU7XG4gIGVuY3J5cHRlZFlTaGFyZXM6IERlY3J5cHRhYmxlWVNoYXJlW107XG4gIGNvbW1vbktleWNoYWluOiBzdHJpbmc7XG59KTogUHJvbWlzZTxDb21iaW5lZEtleT4ge1xuICBhd2FpdCBFZGRzYS5pbml0aWFsaXplKCk7XG4gIGNvbnN0IE1QQyA9IG5ldyBFZGRzYSgpO1xuXG4gIGNvbnN0IHsga2V5U2hhcmUsIGVuY3J5cHRlZFlTaGFyZXMsIGNvbW1vbktleWNoYWluIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHlTaGFyZXM6IFlTaGFyZVtdID0gW107XG5cbiAgbGV0IGJpdGdvWVNoYXJlOiBZU2hhcmUgfCB1bmRlZmluZWQ7XG4gIGxldCB1c2VyWVNoYXJlOiBZU2hhcmUgfCB1bmRlZmluZWQ7XG4gIGxldCBiYWNrdXBZU2hhcmU6IFlTaGFyZSB8IHVuZGVmaW5lZDtcblxuICBmb3IgKGNvbnN0IGVuY3J5cHRlZFlTaGFyZSBvZiBlbmNyeXB0ZWRZU2hhcmVzKSB7XG4gICAgY29uc3QgcHJpdmF0ZVNoYXJlID0gYXdhaXQgcmVhZFNpZ25lZE1lc3NhZ2UoXG4gICAgICBlbmNyeXB0ZWRZU2hhcmUueVNoYXJlLmVuY3J5cHRlZFByaXZhdGVTaGFyZSxcbiAgICAgIGVuY3J5cHRlZFlTaGFyZS5zZW5kZXJQdWJsaWNBcm1vcixcbiAgICAgIGVuY3J5cHRlZFlTaGFyZS5yZWNpcGllbnRQcml2YXRlQXJtb3JcbiAgICApO1xuXG4gICAgY29uc3QgeVNoYXJlOiBZU2hhcmUgPSB7XG4gICAgICBpOiBlbmNyeXB0ZWRZU2hhcmUueVNoYXJlLmksXG4gICAgICBqOiBlbmNyeXB0ZWRZU2hhcmUueVNoYXJlLmosXG4gICAgICB5OiBlbmNyeXB0ZWRZU2hhcmUueVNoYXJlLnB1YmxpY1NoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgIHY6IGVuY3J5cHRlZFlTaGFyZS55U2hhcmUucHVibGljU2hhcmUuc2xpY2UoNjQsIDEyOCksXG4gICAgICB1OiBwcml2YXRlU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgY2hhaW5jb2RlOiBwcml2YXRlU2hhcmUuc2xpY2UoNjQpLFxuICAgIH07XG5cbiAgICBzd2l0Y2ggKGVuY3J5cHRlZFlTaGFyZS55U2hhcmUuaikge1xuICAgICAgY2FzZSAxOlxuICAgICAgICB1c2VyWVNoYXJlID0geVNoYXJlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgYmFja3VwWVNoYXJlID0geVNoYXJlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMzpcbiAgICAgICAgYml0Z29ZU2hhcmUgPSB5U2hhcmU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFlTaGFyZSBpbmRleCcpO1xuICAgIH1cblxuICAgIHlTaGFyZXMucHVzaCh5U2hhcmUpO1xuICB9XG5cbiAgY29uc3QgY29tYmluZWRLZXkgPSBNUEMua2V5Q29tYmluZShrZXlTaGFyZS51U2hhcmUsIHlTaGFyZXMpO1xuICBpZiAoY29tYmluZWRLZXkucFNoYXJlLnkgKyBjb21iaW5lZEtleS5wU2hhcmUuY2hhaW5jb2RlICE9PSBjb21tb25LZXljaGFpbikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ29tbW9uIGtleWNoYWlucyBkbyBub3QgbWF0Y2gnKTtcbiAgfVxuICBpZiAoIWJpdGdvWVNoYXJlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIFkgU2hhcmUnKTtcbiAgfVxuXG4gIGNvbnN0IHNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0ge1xuICAgIHVTaGFyZToga2V5U2hhcmUudVNoYXJlLFxuICAgIGJpdGdvWVNoYXJlLFxuICAgIGJhY2t1cFlTaGFyZSxcbiAgICB1c2VyWVNoYXJlLFxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgc2lnbmluZ01hdGVyaWFsLFxuICAgIGNvbW1vbktleWNoYWluLFxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIFVzZXIgU2lnbiBTaGFyZSBjb250YWluaW5nIHRoZSBVc2VyIFhTaGFyZSAsIHRoZSBVc2VyIHRvIEJpdGdvIFJTaGFyZSBhbmQgVXNlciB0byBCaXRnbyBjb21taXRtZW50XG4gKlxuICogQHBhcmFtIHtCdWZmZXJ9IHNpZ25hYmxlUGF5bG9hZCAtIHRoZSBzaWduYWJsZVBheWxvYWQgYXMgYSBidWZmZXJcbiAqIEBwYXJhbSB7UFNoYXJlfSBwU2hhcmUgLSBVc2VyJ3Mgc2lnbmluZyBtYXRlcmlhbFxuICogQHJldHVybnMge1Byb21pc2U8U2lnblNoYXJlPn0gLSBVc2VyIFNpZ24gU2hhcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVVzZXJTaWduU2hhcmUoc2lnbmFibGVQYXlsb2FkOiBCdWZmZXIsIHBTaGFyZTogUFNoYXJlKTogUHJvbWlzZTxTaWduU2hhcmU+IHtcbiAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuXG4gIGlmIChwU2hhcmUuaSAhPT0gU2hhcmVLZXlQb3NpdGlvbi5VU0VSKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFBTaGFyZSwgUFNoYXJlIGRvZXNudCBiZWxvbmcgdG8gdGhlIFVzZXInKTtcbiAgfVxuICBjb25zdCBqU2hhcmU6IEpTaGFyZSA9IHsgaTogU2hhcmVLZXlQb3NpdGlvbi5CSVRHTywgajogU2hhcmVLZXlQb3NpdGlvbi5VU0VSIH07XG4gIHJldHVybiBNUEMuc2lnblNoYXJlKHNpZ25hYmxlUGF5bG9hZCwgcFNoYXJlLCBbalNoYXJlXSk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgVXNlciB0byBCaXRnbyBHU2hhcmVcbiAqXG4gKiBAcGFyYW0ge1NpZ25TaGFyZX0gdXNlclNpZ25TaGFyZSAtIHRoZSBVc2VyIFNpZ24gU2hhcmVcbiAqIEBwYXJhbSB7U2lnbmF0dXJlU2hhcmVSZWNvcmR9IGJpdGdvVG9Vc2VyUlNoYXJlIC0gdGhlIEJpdGdvIHRvIFVzZXIgUlNoYXJlXG4gKiBAcGFyYW0ge1lTaGFyZX0gYmFja3VwVG9Vc2VyWVNoYXJlIC0gdGhlIGJhY2t1cCBrZXkgWSBzaGFyZSByZWNlaXZlZCBkdXJpbmcgd2FsbGV0IGNyZWF0aW9uXG4gKiBAcGFyYW0ge0J1ZmZlcn0gc2lnbmFibGVQYXlsb2FkIC0gdGhlIHNpZ25hYmxlIHBheWxvYWQgZnJvbSBhIHR4XG4gKiBAcGFyYW0ge0NvbW1pdG1lbnRTaGFyZVJlY29yZH0gW2JpdGdvVG9Vc2VyQ29tbWl0bWVudF0gLSB0aGUgQml0Z28gdG8gVXNlciBDb21taXRtZW50XG4gKiBAcmV0dXJucyB7UHJvbWlzZTxHU2hhcmU+fSAtIHRoZSBVc2VyIHRvIEJpdGdvIEdTaGFyZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVXNlclRvQml0R29HU2hhcmUoXG4gIHVzZXJTaWduU2hhcmU6IFNpZ25TaGFyZSxcbiAgYml0Z29Ub1VzZXJSU2hhcmU6IFNpZ25hdHVyZVNoYXJlUmVjb3JkLFxuICBiYWNrdXBUb1VzZXJZU2hhcmU6IFlTaGFyZSxcbiAgYml0Z29Ub1VzZXJZU2hhcmU6IFlTaGFyZSxcbiAgc2lnbmFibGVQYXlsb2FkOiBCdWZmZXIsXG4gIGJpdGdvVG9Vc2VyQ29tbWl0bWVudDogQ29tbWl0bWVudFNoYXJlUmVjb3JkXG4pOiBQcm9taXNlPEdTaGFyZT4ge1xuICBpZiAodXNlclNpZ25TaGFyZS54U2hhcmUuaSAhPT0gU2hhcmVLZXlQb3NpdGlvbi5VU0VSKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFhTaGFyZSwgZG9lc250IGJlbG9uZyB0byB0aGUgVXNlcicpO1xuICB9XG4gIGlmIChiaXRnb1RvVXNlclJTaGFyZS5mcm9tICE9PSBTaWduYXR1cmVTaGFyZVR5cGUuQklUR08gfHwgYml0Z29Ub1VzZXJSU2hhcmUudG8gIT09IFNpZ25hdHVyZVNoYXJlVHlwZS5VU0VSKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFJTaGFyZSwgaXMgbm90IGZyb20gQml0Z28gdG8gVXNlcicpO1xuICB9XG4gIGlmIChiYWNrdXBUb1VzZXJZU2hhcmUuaSAhPT0gU2hhcmVLZXlQb3NpdGlvbi5VU0VSKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFlTaGFyZSwgZG9lc250IGJlbG9uZyB0byB0aGUgVXNlcicpO1xuICB9XG4gIGlmIChiYWNrdXBUb1VzZXJZU2hhcmUuaiAhPT0gU2hhcmVLZXlQb3NpdGlvbi5CQUNLVVApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgWVNoYXJlLCBpcyBub3QgYmFja3VwIGtleScpO1xuICB9XG4gIGlmIChiaXRnb1RvVXNlckNvbW1pdG1lbnQuZnJvbSAhPT0gU2lnbmF0dXJlU2hhcmVUeXBlLkJJVEdPIHx8IGJpdGdvVG9Vc2VyQ29tbWl0bWVudC50byAhPT0gU2lnbmF0dXJlU2hhcmVUeXBlLlVTRVIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgQ29tbWl0bWVudCwgaXMgbm90IGZyb20gQml0Z28gdG8gVXNlcicpO1xuICB9XG4gIGlmIChiaXRnb1RvVXNlckNvbW1pdG1lbnQudHlwZSAhPT0gQ29tbWl0bWVudFR5cGUuQ09NTUlUTUVOVCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBDb21taXRtZW50IHR5cGUsIGdvdDogJyArIGJpdGdvVG9Vc2VyQ29tbWl0bWVudC50eXBlICsgJyBleHBlY3RlZDogY29tbWl0bWVudCcpO1xuICB9XG5cbiAgbGV0IHYsIHIsIFI7XG4gIGlmIChiaXRnb1RvVXNlclJTaGFyZS5zaGFyZS5sZW5ndGggPiAxMjgpIHtcbiAgICB2ID0gYml0Z29Ub1VzZXJSU2hhcmUuc2hhcmUuc3Vic3RyaW5nKDAsIDY0KTtcbiAgICByID0gYml0Z29Ub1VzZXJSU2hhcmUuc2hhcmUuc3Vic3RyaW5nKDY0LCAxMjgpO1xuICAgIFIgPSBiaXRnb1RvVXNlclJTaGFyZS5zaGFyZS5zdWJzdHJpbmcoMTI4LCAxOTIpO1xuICB9IGVsc2Uge1xuICAgIHIgPSBiaXRnb1RvVXNlclJTaGFyZS5zaGFyZS5zdWJzdHJpbmcoMCwgNjQpO1xuICAgIFIgPSBiaXRnb1RvVXNlclJTaGFyZS5zaGFyZS5zdWJzdHJpbmcoNjQsIDEyOCk7XG4gIH1cblxuICBjb25zdCBNUEMgPSBhd2FpdCBFZGRzYS5pbml0aWFsaXplKCk7XG5cbiAgY29uc3QgdXBkYXRlZEJpdGdvVG9Vc2VyUlNoYXJlOiBSU2hhcmUgPSB7XG4gICAgaTogU2hhcmVLZXlQb3NpdGlvbi5VU0VSLFxuICAgIGo6IFNoYXJlS2V5UG9zaXRpb24uQklUR08sXG4gICAgdTogYml0Z29Ub1VzZXJZU2hhcmUudSxcbiAgICB2LFxuICAgIHIsXG4gICAgUixcbiAgICBjb21taXRtZW50OiBiaXRnb1RvVXNlckNvbW1pdG1lbnQuc2hhcmUsXG4gIH07XG5cbiAgcmV0dXJuIE1QQy5zaWduKHNpZ25hYmxlUGF5bG9hZCwgdXNlclNpZ25TaGFyZS54U2hhcmUsIFt1cGRhdGVkQml0Z29Ub1VzZXJSU2hhcmVdLCBbYmFja3VwVG9Vc2VyWVNoYXJlXSk7XG59XG5cbi8qKlxuICogU2VuZHMgdGhlIFVzZXIgdG8gQml0Z28gUlNoYXJlIHRvIEJpdGdvXG4gKiBAcGFyYW0ge0JpdEdvQmFzZX0gYml0Z28gLSB0aGUgYml0Z28gaW5zdGFuY2VcbiAqIEBwYXJhbSB7U3RyaW5nfSB3YWxsZXRJZCAtIHRoZSB3YWxsZXQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSB0eFJlcXVlc3RJZCAtIHRoZSB0eFJlcXVlc3QgSWRcbiAqIEBwYXJhbSB7U2lnblNoYXJlfSB1c2VyU2lnblNoYXJlIC0gdGhlIHVzZXIgU2lnbiBTaGFyZVxuICogQHBhcmFtIHtTdHJpbmd9IGVuY3J5cHRlZFNpZ25lclNoYXJlIC0gc2lnbmVyIHNoYXJlIGVuY3J5cHRlZCB0byBiaXRnbyBrZXlcbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICogQHBhcmFtIHtJUmVxdWVzdFRyYWNlcn0gcmVxSWQgLSB0aGUgcmVxdWVzdCB0cmFjZXIgcmVxdWVzdCBpZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gb2ZmZXJVc2VyVG9CaXRnb1JTaGFyZShcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgd2FsbGV0SWQ6IHN0cmluZyxcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZyxcbiAgdXNlclNpZ25TaGFyZTogU2lnblNoYXJlLFxuICBlbmNyeXB0ZWRTaWduZXJTaGFyZTogc3RyaW5nLFxuICBhcGlNb2RlOiAnZnVsbCcgfCAnbGl0ZScgPSAnbGl0ZScsXG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXJcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByU2hhcmU6IFJTaGFyZSA9IHVzZXJTaWduU2hhcmUuclNoYXJlc1tTaGFyZUtleVBvc2l0aW9uLkJJVEdPXTtcbiAgaWYgKF8uaXNOaWwoclNoYXJlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlclRvQml0Z28gUlNoYXJlIG5vdCBmb3VuZCcpO1xuICB9XG4gIGlmIChyU2hhcmUuaSAhPT0gU2hhcmVLZXlQb3NpdGlvbi5CSVRHTyB8fCByU2hhcmUuaiAhPT0gU2hhcmVLZXlQb3NpdGlvbi5VU0VSKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFJTaGFyZSwgaXMgbm90IGZyb20gVXNlciB0byBCaXRnbycpO1xuICB9XG4gIGNvbnN0IHNpZ25hdHVyZVNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZCA9IHtcbiAgICBmcm9tOiBTaWduYXR1cmVTaGFyZVR5cGUuVVNFUixcbiAgICB0bzogU2lnbmF0dXJlU2hhcmVUeXBlLkJJVEdPLFxuICAgIHNoYXJlOiByU2hhcmUuciArIHJTaGFyZS5SLFxuICB9O1xuXG4gIC8vIFRPRE8gKEJHLTU3OTQ0KTogaW1wbGVtZW50IG1lc3NhZ2Ugc2lnbmluZyBmb3IgRUREU0FcbiAgYXdhaXQgc2VuZFNpZ25hdHVyZVNoYXJlKFxuICAgIGJpdGdvLFxuICAgIHdhbGxldElkLFxuICAgIHR4UmVxdWVzdElkLFxuICAgIHNpZ25hdHVyZVNoYXJlLFxuICAgIFJlcXVlc3RUeXBlLnR4LFxuICAgIGVuY3J5cHRlZFNpZ25lclNoYXJlLFxuICAgICdlZGRzYScsXG4gICAgYXBpTW9kZSxcbiAgICB1bmRlZmluZWQsXG4gICAgcmVxSWRcbiAgKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBCaXRnbyB0byBVc2VyIFJTaGFyZSBmcm9tIEJpdGdvXG4gKlxuICogQHBhcmFtIHtCaXRHb0Jhc2V9IGJpdGdvIC0gdGhlIGJpdGdvIGluc3RhbmNlXG4gKiBAcGFyYW0ge1N0cmluZ30gd2FsbGV0SWQgLSB0aGUgd2FsbGV0IGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gdHhSZXF1ZXN0SWQgLSB0aGUgdHhSZXF1ZXN0IElkXG4gKiBAcGFyYW0ge0lSZXF1ZXN0VHJhY2VyfSByZXFJZCAtIHRoZSByZXF1ZXN0IHRyYWNlciByZXF1ZXN0IGlkXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxTaWduYXR1cmVTaGFyZVJlY29yZD59IC0gYSBTaWduYXR1cmUgU2hhcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJpdGdvVG9Vc2VyUlNoYXJlKFxuICBiaXRnbzogQml0R29CYXNlLFxuICB3YWxsZXRJZDogc3RyaW5nLFxuICB0eFJlcXVlc3RJZDogc3RyaW5nLFxuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyXG4pOiBQcm9taXNlPFNpZ25hdHVyZVNoYXJlUmVjb3JkPiB7XG4gIGNvbnN0IHR4UmVxdWVzdCA9IGF3YWl0IGdldFR4UmVxdWVzdChiaXRnbywgd2FsbGV0SWQsIHR4UmVxdWVzdElkLCByZXFJZCk7XG4gIGxldCBzaWduYXR1cmVTaGFyZXM7XG4gIGlmICh0eFJlcXVlc3QuYXBpVmVyc2lvbiA9PT0gJ2Z1bGwnKSB7XG4gICAgYXNzZXJ0KHR4UmVxdWVzdC50cmFuc2FjdGlvbnMsICd0cmFuc2FjdGlvbnMgcmVxdWlyZWQgYXMgcGFydCBvZiB0eFJlcXVlc3QnKTtcbiAgICBzaWduYXR1cmVTaGFyZXMgPSB0eFJlcXVlc3QudHJhbnNhY3Rpb25zWzBdLnNpZ25hdHVyZVNoYXJlcztcbiAgfSBlbHNlIHtcbiAgICBzaWduYXR1cmVTaGFyZXMgPSB0eFJlcXVlc3Quc2lnbmF0dXJlU2hhcmVzO1xuICB9XG4gIGlmIChfLmlzTmlsKHNpZ25hdHVyZVNoYXJlcykgfHwgXy5pc0VtcHR5KHNpZ25hdHVyZVNoYXJlcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHNpZ25hdHVyZXMgc2hhcmVzIGZvdW5kIGZvciBpZDogJHt0eFJlcXVlc3RJZH1gKTtcbiAgfVxuICAvLyBhdCB0aGlzIHBvaW50IHdlIGV4cGVjdCB0aGUgb25seSBzaGFyZSB0byBiZSB0aGUgUlNoYXJlXG4gIGNvbnN0IGJpdGdvVG9Vc2VyUlNoYXJlID0gc2lnbmF0dXJlU2hhcmVzLmZpbmQoXG4gICAgKHNpZ1NoYXJlKSA9PiBzaWdTaGFyZS5mcm9tID09PSBTaWduYXR1cmVTaGFyZVR5cGUuQklUR08gJiYgc2lnU2hhcmUudG8gPT09IFNpZ25hdHVyZVNoYXJlVHlwZS5VU0VSXG4gICk7XG4gIGlmIChfLmlzTmlsKGJpdGdvVG9Vc2VyUlNoYXJlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQml0Z28gdG8gVXNlciBSU2hhcmUgbm90IGZvdW5kIGZvciBpZDogJHt0eFJlcXVlc3RJZH1gKTtcbiAgfVxuICByZXR1cm4gYml0Z29Ub1VzZXJSU2hhcmU7XG59XG5cbi8qKlxuICogU2VuZHMgdGhlIFVzZXIgdG8gQml0Z28gR1NoYXJlIHRvIEJpdGdvXG4gKlxuICogQHBhcmFtIHtCaXRHb0Jhc2V9IGJpdGdvIC0gdGhlIGJpdGdvIGluc3RhbmNlXG4gKiBAcGFyYW0ge1N0cmluZ30gd2FsbGV0SWQgLSB0aGUgd2FsbGV0IGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gdHhSZXF1ZXN0SWQgLSB0aGUgdHhSZXF1ZXN0IElkXG4gKiBAcGFyYW0ge0dTaGFyZX0gdXNlclRvQml0Z29HU2hhcmUgLSB0aGUgVXNlciB0byBCaXRnbyBHU2hhcmVcbiAqIEBwYXJhbSB7SVJlcXVlc3RUcmFjZXJ9IHJlcUlkIC0gdGhlIHJlcXVlc3QgdHJhY2VyIHJlcXVlc3QgaWRcbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VuZFVzZXJUb0JpdGdvR1NoYXJlKFxuICBiaXRnbzogQml0R29CYXNlLFxuICB3YWxsZXRJZDogc3RyaW5nLFxuICB0eFJlcXVlc3RJZDogc3RyaW5nLFxuICB1c2VyVG9CaXRnb0dTaGFyZTogR1NoYXJlLFxuICBhcGlNb2RlOiAnZnVsbCcgfCAnbGl0ZScgPSAnbGl0ZScsXG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXJcbik6IFByb21pc2U8dm9pZD4ge1xuICBpZiAodXNlclRvQml0Z29HU2hhcmUuaSAhPT0gU2hhcmVLZXlQb3NpdGlvbi5VU0VSKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIEdTaGFyZSwgZG9lc250IGJlbG9uZyB0byB0aGUgVXNlcicpO1xuICB9XG4gIGNvbnN0IHNpZ25hdHVyZVNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZCA9IHtcbiAgICBmcm9tOiBTaWduYXR1cmVTaGFyZVR5cGUuVVNFUixcbiAgICB0bzogU2lnbmF0dXJlU2hhcmVUeXBlLkJJVEdPLFxuICAgIHNoYXJlOiB1c2VyVG9CaXRnb0dTaGFyZS5SICsgdXNlclRvQml0Z29HU2hhcmUuZ2FtbWEsXG4gIH07XG5cbiAgLy8gVE9ETyAoQkctNTc5NDQpOiBpbXBsZW1lbnQgbWVzc2FnZSBzaWduaW5nIGZvciBFRERTQVxuICBhd2FpdCBzZW5kU2lnbmF0dXJlU2hhcmUoXG4gICAgYml0Z28sXG4gICAgd2FsbGV0SWQsXG4gICAgdHhSZXF1ZXN0SWQsXG4gICAgc2lnbmF0dXJlU2hhcmUsXG4gICAgUmVxdWVzdFR5cGUudHgsXG4gICAgdW5kZWZpbmVkLFxuICAgICdlZGRzYScsXG4gICAgYXBpTW9kZSxcbiAgICB1bmRlZmluZWQsXG4gICAgcmVxSWRcbiAgKTtcbn1cblxuLyoqXG4gKiBQcmVwYXJlcyBhIFlTaGFyZSB0byBiZSBleGNoYW5nZWQgd2l0aCBvdGhlciBrZXkgaG9sZGVycy5cbiAqIE91dHB1dCBpcyBpbiBhIGZvcm1hdCB0aGF0IGlzIHVzYWJsZSB3aXRoaW4gQml0R28ncyBlY29zeXN0ZW0uXG4gKlxuICogQHBhcmFtIHBhcmFtcy5rZXlTaGFyZSAtIFRTUyBrZXkgc2hhcmUgb2YgdGhlIHBhcnR5IHByZXBhcmluZyBleGNoYW5nZSBtYXRlcmlhbHNcbiAqIEBwYXJhbSBwYXJhbXMucmVjaXBpZW50SW5kZXggLSBpbmRleCBvZiB0aGUgcmVjaXBpZW50ICgxLCAyLCBvciAzKVxuICogQHBhcmFtIHBhcmFtcy5yZWNpcGllbnRHcGdQdWJsaWNBcm1vciAtIHJlY2lwaWVudCdzIHB1YmxpYyBncGcga2V5IGluIGFybW9yIGZvcm1hdFxuICogQHBhcmFtIHBhcmFtcy5zZW5kZXJHcGdQcml2YXRlQXJtb3IgLSBzZW5kZXIncyBwcml2YXRlIGdwZyBrZXkgaW4gYXJtb3IgZm9ybWF0XG4gKiBAcmV0dXJucyB7IEVuY3J5cHRlZFlTaGFyZSB9IGVuY3J5cHRlZCBZIFNoYXJlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbmNyeXB0WVNoYXJlKHBhcmFtczoge1xuICBrZXlTaGFyZTogS2V5U2hhcmU7XG4gIHJlY2lwaWVudEluZGV4OiBudW1iZXI7XG4gIHJlY2lwaWVudEdwZ1B1YmxpY0FybW9yOiBzdHJpbmc7XG4gIHNlbmRlckdwZ1ByaXZhdGVBcm1vcjogc3RyaW5nO1xufSk6IFByb21pc2U8RW5jcnlwdGVkWVNoYXJlPiB7XG4gIGNvbnN0IHsga2V5U2hhcmUsIHJlY2lwaWVudEluZGV4LCByZWNpcGllbnRHcGdQdWJsaWNBcm1vciwgc2VuZGVyR3BnUHJpdmF0ZUFybW9yIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgeVNoYXJlID0ga2V5U2hhcmUueVNoYXJlc1tyZWNpcGllbnRJbmRleF07XG4gIGlmICgheVNoYXJlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlY2lwaWVudCcpO1xuICB9XG5cbiAgY29uc3QgcHVibGljU2hhcmUgPSBCdWZmZXIuY29uY2F0KFtcbiAgICBCdWZmZXIuZnJvbShrZXlTaGFyZS51U2hhcmUueSwgJ2hleCcpLFxuICAgIEJ1ZmZlci5mcm9tKHlTaGFyZS52ISwgJ2hleCcpLFxuICAgIEJ1ZmZlci5mcm9tKGtleVNoYXJlLnVTaGFyZS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgXSkudG9TdHJpbmcoJ2hleCcpO1xuXG4gIGNvbnN0IHByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW0J1ZmZlci5mcm9tKHlTaGFyZS51LCAnaGV4JyksIEJ1ZmZlci5mcm9tKHlTaGFyZS5jaGFpbmNvZGUsICdoZXgnKV0pLnRvU3RyaW5nKFxuICAgICdoZXgnXG4gICk7XG5cbiAgY29uc3QgZW5jcnlwdGVkUHJpdmF0ZVNoYXJlID0gYXdhaXQgZW5jcnlwdEFuZFNpZ25UZXh0KHByaXZhdGVTaGFyZSwgcmVjaXBpZW50R3BnUHVibGljQXJtb3IsIHNlbmRlckdwZ1ByaXZhdGVBcm1vcik7XG5cbiAgcmV0dXJuIHtcbiAgICBpOiB5U2hhcmUuaSxcbiAgICBqOiB5U2hhcmUuaixcbiAgICBwdWJsaWNTaGFyZSxcbiAgICBlbmNyeXB0ZWRQcml2YXRlU2hhcmUsXG4gIH07XG59XG5cbi8qKlxuICpcbiAqIEluaXRpYWxpemVzIEVkZHNhIGluc3RhbmNlXG4gKlxuICogQHJldHVybnMge1Byb21pc2U8RWRkc2E+fSB0aGUgRWRkc2EgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEluaXRpYWxpemVkTXBjSW5zdGFuY2UoKSB7XG4gIGNvbnN0IGhkVHJlZSA9IGF3YWl0IEVkMjU1MTlCaXAzMkhkVHJlZS5pbml0aWFsaXplKCk7XG4gIHJldHVybiBhd2FpdCBFZGRzYS5pbml0aWFsaXplKGhkVHJlZSk7XG59XG5cbi8qKlxuICpcbiAqIEdlbmVyYXRlcyBhIFRTUyBzaWduYXR1cmUgdXNpbmcgdGhlIHVzZXIgYW5kIGJhY2t1cCBrZXlcbiAqXG4gKiBAcGFyYW0ge1VzZXJTaWduaW5nTWF0ZXJpYWx9IHVzZXJTaWduaW5nTWF0ZXJpYWwgZGVjcnlwdGVkIHVzZXIgVFNTIGtleVxuICogQHBhcmFtIHtCYWNrdXBTaWduaW5nTWF0ZXJpYWx9IGJhY2t1cFNpZ25pbmdNYXRlcmlhbCBkZWNyeXB0ZWQgYmFja3VwIFRTUyBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIGJpcDMyIGRlcml2YXRpb24gcGF0aFxuICogQHBhcmFtIHtCYXNlVHJhbnNhY3Rpb259IHRyYW5zYWN0aW9uIHRoZSB0cmFuc2FjdGlvbiB0byBzaWduXG4gKiBAcmV0dXJucyB7QnVmZmVyfSB0aGUgc2lnbmF0dXJlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUU1NTaWduYXR1cmUoXG4gIHVzZXJTaWduaW5nTWF0ZXJpYWw6IFVzZXJTaWduaW5nTWF0ZXJpYWwsXG4gIGJhY2t1cFNpZ25pbmdNYXRlcmlhbDogQmFja3VwU2lnbmluZ01hdGVyaWFsLFxuICBwYXRoID0gJ20vMCcsXG4gIHRyYW5zYWN0aW9uOiBCYXNlVHJhbnNhY3Rpb25cbik6IFByb21pc2U8QnVmZmVyPiB7XG4gIGNvbnN0IE1QQyA9IGF3YWl0IGdldEluaXRpYWxpemVkTXBjSW5zdGFuY2UoKTtcblxuICBjb25zdCB1c2VyQ29tYmluZSA9IE1QQy5rZXlDb21iaW5lKHVzZXJTaWduaW5nTWF0ZXJpYWwudVNoYXJlLCBbXG4gICAgdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSxcbiAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZSxcbiAgXSk7XG4gIGNvbnN0IGJhY2t1cENvbWJpbmUgPSBNUEMua2V5Q29tYmluZShiYWNrdXBTaWduaW5nTWF0ZXJpYWwudVNoYXJlLCBbXG4gICAgYmFja3VwU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlLFxuICAgIGJhY2t1cFNpZ25pbmdNYXRlcmlhbC51c2VyWVNoYXJlLFxuICBdKTtcblxuICBjb25zdCB1c2VyU3Via2V5ID0gTVBDLmtleURlcml2ZShcbiAgICB1c2VyU2lnbmluZ01hdGVyaWFsLnVTaGFyZSxcbiAgICBbdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSwgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmVdLFxuICAgIHBhdGhcbiAgKTtcblxuICBjb25zdCBiYWNrdXBTdWJrZXkgPSBNUEMua2V5Q29tYmluZShiYWNrdXBTaWduaW5nTWF0ZXJpYWwudVNoYXJlLCBbXG4gICAgdXNlclN1YmtleS55U2hhcmVzWzJdLFxuICAgIGJhY2t1cFNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSxcbiAgXSk7XG5cbiAgY29uc3QgbWVzc2FnZUJ1ZmZlciA9IHRyYW5zYWN0aW9uLnNpZ25hYmxlUGF5bG9hZDtcbiAgY29uc3QgdXNlclNpZ25TaGFyZSA9IE1QQy5zaWduU2hhcmUobWVzc2FnZUJ1ZmZlciwgdXNlclN1YmtleS5wU2hhcmUsIFt1c2VyQ29tYmluZS5qU2hhcmVzWzJdXSk7XG4gIGNvbnN0IGJhY2t1cFNpZ25TaGFyZSA9IE1QQy5zaWduU2hhcmUobWVzc2FnZUJ1ZmZlciwgYmFja3VwU3Via2V5LnBTaGFyZSwgW2JhY2t1cENvbWJpbmUualNoYXJlc1sxXV0pO1xuICBjb25zdCB1c2VyU2lnbiA9IE1QQy5zaWduKFxuICAgIG1lc3NhZ2VCdWZmZXIsXG4gICAgdXNlclNpZ25TaGFyZS54U2hhcmUsXG4gICAgW2JhY2t1cFNpZ25TaGFyZS5yU2hhcmVzWzFdXSxcbiAgICBbdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZV1cbiAgKTtcbiAgY29uc3QgYmFja3VwU2lnbiA9IE1QQy5zaWduKFxuICAgIG1lc3NhZ2VCdWZmZXIsXG4gICAgYmFja3VwU2lnblNoYXJlLnhTaGFyZSxcbiAgICBbdXNlclNpZ25TaGFyZS5yU2hhcmVzWzJdXSxcbiAgICBbYmFja3VwU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlXVxuICApO1xuICBjb25zdCBzaWduYXR1cmUgPSBNUEMuc2lnbkNvbWJpbmUoW3VzZXJTaWduLCBiYWNrdXBTaWduXSk7XG4gIGNvbnN0IHJlc3VsdCA9IE1QQy52ZXJpZnkobWVzc2FnZUJ1ZmZlciwgc2lnbmF0dXJlKTtcbiAgaWYgKCFyZXN1bHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgc2lnbmF0dXJlJyk7XG4gIH1cbiAgY29uc3QgcmF3U2lnbmF0dXJlID0gQnVmZmVyLmNvbmNhdChbQnVmZmVyLmZyb20oc2lnbmF0dXJlLlIsICdoZXgnKSwgQnVmZmVyLmZyb20oc2lnbmF0dXJlLnNpZ21hLCAnaGV4JyldKTtcbiAgcmV0dXJuIHJhd1NpZ25hdHVyZTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IGEgVFNTIHdhbGxldCBzaWduYXR1cmUgd2FzIHByb2R1Y2VkIHdpdGggdGhlIGV4cGVjdGVkIGtleSBhbmQgdGhhdCB0aGUgc2lnbmVkIGRhdGEgY29udGFpbnMgdGhlXG4gKiBleHBlY3RlZCBjb21tb24ga2V5Y2hhaW4sIHRoZSBleHBlY3RlZCB1c2VyIGFuZCBiYWNrdXAga2V5IGlkcyBhcyB3ZWxsIGFzIHRoZSBwdWJsaWMgc2hhcmUgdGhhdCBpcyBnZW5lcmF0ZWQgZnJvbSB0aGVcbiAqIHByaXZhdGUgc2hhcmUgdGhhdCB3YXMgcGFzc2VkIGluLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5V2FsbGV0U2lnbmF0dXJlKHBhcmFtczoge1xuICB3YWxsZXRTaWduYXR1cmU6IG9wZW5wZ3AuS2V5O1xuICBiaXRnb1B1Yjogb3BlbnBncC5LZXk7XG4gIGNvbW1vbktleWNoYWluOiBzdHJpbmc7XG4gIHVzZXJLZXlJZDogc3RyaW5nO1xuICBiYWNrdXBLZXlJZDogc3RyaW5nO1xuICBkZWNyeXB0ZWRTaGFyZTogc3RyaW5nO1xuICB2ZXJpZmllckluZGV4OiAxIHwgMjsgLy8gdGhlIGluZGV4IG9mIHRoZSB2ZXJpZmllciwgMSBtZWFucyB1c2VyLCAyIG1lYW5zIGJhY2t1cFxufSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByYXdOb3RhdGlvbnMgPSBhd2FpdCBjb21tb25WZXJpZnlXYWxsZXRTaWduYXR1cmUocGFyYW1zKTtcblxuICBjb25zdCB7IGRlY3J5cHRlZFNoYXJlLCB2ZXJpZmllckluZGV4IH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgcHVibGljU2hhcmUgPVxuICAgIEJ1ZmZlci5mcm9tKFxuICAgICAgYXdhaXQgc29kaXVtLmNyeXB0b19zY2FsYXJtdWx0X2VkMjU1MTlfYmFzZV9ub2NsYW1wKEJ1ZmZlci5mcm9tKGRlY3J5cHRlZFNoYXJlLnNsaWNlKDAsIDY0KSwgJ2hleCcpKVxuICAgICkudG9TdHJpbmcoJ2hleCcpICsgZGVjcnlwdGVkU2hhcmUuc2xpY2UoNjQpO1xuICBjb25zdCBwdWJsaWNTaGFyZVJhd05vdGF0aW9uSW5kZXggPSAyICsgdmVyaWZpZXJJbmRleDtcblxuICBhc3NlcnQoXG4gICAgcHVibGljU2hhcmUgPT09IEJ1ZmZlci5mcm9tKHJhd05vdGF0aW9uc1twdWJsaWNTaGFyZVJhd05vdGF0aW9uSW5kZXhdLnZhbHVlKS50b1N0cmluZygpLFxuICAgICdiaXRnbyBzaGFyZSBtaXNtYXRjaCdcbiAgKTtcbn1cbiJdfQ==
@@ -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,13 +15,23 @@ 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
36
  exports.encryptYShare = exports.sendSignatureShare = exports.getTxRequest = exports.sendUserToBitgoGShare = exports.getBitgoToUserRShare = exports.offerUserToBitgoRShare = exports.createUserToBitGoGShare = exports.createUserSignShare = exports.createCombinedKey = exports.EDDSAMethodTypes = void 0;
23
37
  const EDDSAMethods = __importStar(require("./eddsa"));
@@ -34,4 +48,4 @@ Object.defineProperty(exports, "sendUserToBitgoGShare", { enumerable: true, get:
34
48
  Object.defineProperty(exports, "getTxRequest", { enumerable: true, get: function () { return eddsa_1.getTxRequest; } });
35
49
  Object.defineProperty(exports, "sendSignatureShare", { enumerable: true, get: function () { return eddsa_1.sendSignatureShare; } });
36
50
  Object.defineProperty(exports, "encryptYShare", { enumerable: true, get: function () { return eddsa_1.encryptYShare; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VkZHNhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBd0M7QUFDeEMsNERBQTRDO0FBRTVDLGtCQUFlLFlBQVksQ0FBQztBQUU1QixtREFBbUQ7QUFDbkQsaUNBVWlCO0FBVGYsMEdBQUEsaUJBQWlCLE9BQUE7QUFDakIsNEdBQUEsbUJBQW1CLE9BQUE7QUFDbkIsZ0hBQUEsdUJBQXVCLE9BQUE7QUFDdkIsK0dBQUEsc0JBQXNCLE9BQUE7QUFDdEIsNkdBQUEsb0JBQW9CLE9BQUE7QUFDcEIsOEdBQUEscUJBQXFCLE9BQUE7QUFDckIscUdBQUEsWUFBWSxPQUFBO0FBQ1osMkdBQUEsa0JBQWtCLE9BQUE7QUFDbEIsc0dBQUEsYUFBYSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgRUREU0FNZXRob2RzIGZyb20gJy4vZWRkc2EnO1xuZXhwb3J0ICogYXMgRUREU0FNZXRob2RUeXBlcyBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgRUREU0FNZXRob2RzO1xuXG4vLyBleHBvcnRpbmcgdGhpcyB0eXBlcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbmV4cG9ydCB7XG4gIGNyZWF0ZUNvbWJpbmVkS2V5LFxuICBjcmVhdGVVc2VyU2lnblNoYXJlLFxuICBjcmVhdGVVc2VyVG9CaXRHb0dTaGFyZSxcbiAgb2ZmZXJVc2VyVG9CaXRnb1JTaGFyZSxcbiAgZ2V0Qml0Z29Ub1VzZXJSU2hhcmUsXG4gIHNlbmRVc2VyVG9CaXRnb0dTaGFyZSxcbiAgZ2V0VHhSZXF1ZXN0LFxuICBzZW5kU2lnbmF0dXJlU2hhcmUsXG4gIGVuY3J5cHRZU2hhcmUsXG59IGZyb20gJy4vZWRkc2EnO1xuXG5leHBvcnQgeyBFbmNyeXB0ZWRZU2hhcmUsIERlY3J5cHRhYmxlWVNoYXJlLCBDb21iaW5lZEtleSwgU2lnbmluZ01hdGVyaWFsIH0gZnJvbSAnLi90eXBlcyc7XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VkZHNhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF3QztBQUN4Qyw0REFBNEM7QUFFNUMsa0JBQWUsWUFBWSxDQUFDO0FBRTVCLG1EQUFtRDtBQUNuRCxpQ0FVaUI7QUFUZiwwR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiw0R0FBQSxtQkFBbUIsT0FBQTtBQUNuQixnSEFBQSx1QkFBdUIsT0FBQTtBQUN2QiwrR0FBQSxzQkFBc0IsT0FBQTtBQUN0Qiw2R0FBQSxvQkFBb0IsT0FBQTtBQUNwQiw4R0FBQSxxQkFBcUIsT0FBQTtBQUNyQixxR0FBQSxZQUFZLE9BQUE7QUFDWiwyR0FBQSxrQkFBa0IsT0FBQTtBQUNsQixzR0FBQSxhQUFhLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBFRERTQU1ldGhvZHMgZnJvbSAnLi9lZGRzYSc7XG5leHBvcnQgKiBhcyBFRERTQU1ldGhvZFR5cGVzIGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBFRERTQU1ldGhvZHM7XG5cbi8vIGV4cG9ydGluZyB0aGlzIHR5cGVzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuZXhwb3J0IHtcbiAgY3JlYXRlQ29tYmluZWRLZXksXG4gIGNyZWF0ZVVzZXJTaWduU2hhcmUsXG4gIGNyZWF0ZVVzZXJUb0JpdEdvR1NoYXJlLFxuICBvZmZlclVzZXJUb0JpdGdvUlNoYXJlLFxuICBnZXRCaXRnb1RvVXNlclJTaGFyZSxcbiAgc2VuZFVzZXJUb0JpdGdvR1NoYXJlLFxuICBnZXRUeFJlcXVlc3QsXG4gIHNlbmRTaWduYXR1cmVTaGFyZSxcbiAgZW5jcnlwdFlTaGFyZSxcbn0gZnJvbSAnLi9lZGRzYSc7XG5cbmV4cG9ydCB7IEVuY3J5cHRlZFlTaGFyZSwgRGVjcnlwdGFibGVZU2hhcmUsIENvbWJpbmVkS2V5LCBTaWduaW5nTWF0ZXJpYWwgfSBmcm9tICcuL3R5cGVzJztcbiJdfQ==
@@ -1,21 +1,21 @@
1
1
  import { UShare, YShare } from './../../../account-lib/mpc/tss';
2
2
  import { EDDSA } from './../../../account-lib/mpc/tss/eddsa';
3
- export declare type EncryptedYShare = {
3
+ export type EncryptedYShare = {
4
4
  i: number;
5
5
  j: number;
6
6
  publicShare: string;
7
7
  encryptedPrivateShare: string;
8
8
  };
9
- export declare type DecryptableYShare = {
9
+ export type DecryptableYShare = {
10
10
  yShare: EncryptedYShare;
11
11
  recipientPrivateArmor: string;
12
12
  senderPublicArmor: string;
13
13
  };
14
- export declare type CombinedKey = {
14
+ export type CombinedKey = {
15
15
  commonKeychain: string;
16
16
  signingMaterial: SigningMaterial;
17
17
  };
18
- export declare type SigningMaterial = {
18
+ export type SigningMaterial = {
19
19
  uShare: UShare;
20
20
  bitgoYShare: YShare;
21
21
  backupYShare?: YShare;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/eddsa/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAG7D,oBAAY,eAAe,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IAEpB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAGF,oBAAY,iBAAiB,GAAG;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAGF,oBAAY,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAGF,oBAAY,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAC1B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/eddsa/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAG7D,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IAEpB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAGF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAGF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAC1B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;CAC7B"}
@@ -1,7 +1,8 @@
1
1
  import EDDSAMethods, { EDDSAMethodTypes } from './eddsa';
2
- import ECDSAMethods, { ECDSAMethodTypes } from './ecdsa';
3
- export { EDDSAMethods, EDDSAMethodTypes, ECDSAMethods, ECDSAMethodTypes };
2
+ import ECDSAMethods, { ECDSAMethodTypes, DKLSMethods } from './ecdsa';
3
+ export { EDDSAMethods, EDDSAMethodTypes, ECDSAMethods, ECDSAMethodTypes, DKLSMethods };
4
4
  export { ShareKeyPosition } from './types';
5
+ export * as BitgoMpcGpgPubKeys from './bitgoPubKeys';
5
6
  /** @deprecated Use EDDSAMethods */
6
7
  export { createCombinedKey, createUserSignShare, createUserToBitGoGShare, offerUserToBitgoRShare, getBitgoToUserRShare, sendUserToBitgoGShare, getTxRequest, sendSignatureShare, encryptYShare, EncryptedYShare, DecryptableYShare, CombinedKey, SigningMaterial, } from './eddsa';
7
8
  export * as commonTssMethods from './common';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/tss/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,mCAAmC;AACnC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,gBAAgB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/tss/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,kBAAkB,MAAM,gBAAgB,CAAC;AAGrD,mCAAmC;AACnC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,gBAAgB,MAAM,UAAU,CAAC"}
@@ -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,23 +15,35 @@ 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.commonTssMethods = exports.encryptYShare = exports.sendSignatureShare = exports.getTxRequest = exports.sendUserToBitgoGShare = exports.getBitgoToUserRShare = exports.offerUserToBitgoRShare = exports.createUserToBitGoGShare = exports.createUserSignShare = exports.createCombinedKey = exports.ShareKeyPosition = exports.ECDSAMethodTypes = exports.ECDSAMethods = exports.EDDSAMethodTypes = exports.EDDSAMethods = void 0;
36
+ exports.commonTssMethods = exports.encryptYShare = exports.sendSignatureShare = exports.getTxRequest = exports.sendUserToBitgoGShare = exports.getBitgoToUserRShare = exports.offerUserToBitgoRShare = exports.createUserToBitGoGShare = exports.createUserSignShare = exports.createCombinedKey = exports.BitgoMpcGpgPubKeys = exports.ShareKeyPosition = exports.DKLSMethods = exports.ECDSAMethodTypes = exports.ECDSAMethods = exports.EDDSAMethodTypes = exports.EDDSAMethods = void 0;
23
37
  const eddsa_1 = __importStar(require("./eddsa"));
24
38
  exports.EDDSAMethods = eddsa_1.default;
25
39
  Object.defineProperty(exports, "EDDSAMethodTypes", { enumerable: true, get: function () { return eddsa_1.EDDSAMethodTypes; } });
26
40
  const ecdsa_1 = __importStar(require("./ecdsa"));
27
41
  exports.ECDSAMethods = ecdsa_1.default;
28
42
  Object.defineProperty(exports, "ECDSAMethodTypes", { enumerable: true, get: function () { return ecdsa_1.ECDSAMethodTypes; } });
43
+ Object.defineProperty(exports, "DKLSMethods", { enumerable: true, get: function () { return ecdsa_1.DKLSMethods; } });
29
44
  var types_1 = require("./types");
30
45
  Object.defineProperty(exports, "ShareKeyPosition", { enumerable: true, get: function () { return types_1.ShareKeyPosition; } });
46
+ exports.BitgoMpcGpgPubKeys = __importStar(require("./bitgoPubKeys"));
31
47
  // exporting this types for backward compatibility.
32
48
  /** @deprecated Use EDDSAMethods */
33
49
  var eddsa_2 = require("./eddsa");
@@ -41,4 +57,4 @@ Object.defineProperty(exports, "getTxRequest", { enumerable: true, get: function
41
57
  Object.defineProperty(exports, "sendSignatureShare", { enumerable: true, get: function () { return eddsa_2.sendSignatureShare; } });
42
58
  Object.defineProperty(exports, "encryptYShare", { enumerable: true, get: function () { return eddsa_2.encryptYShare; } });
43
59
  exports.commonTssMethods = __importStar(require("./common"));
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBeUQ7QUFHaEQsdUJBSEYsZUFBWSxDQUdFO0FBQUUsaUdBSEEsd0JBQWdCLE9BR0E7QUFGdkMsaURBQXlEO0FBRWhCLHVCQUZsQyxlQUFZLENBRWtDO0FBQUUsaUdBRmhDLHdCQUFnQixPQUVnQztBQUN2RSxpQ0FBMkM7QUFBbEMseUdBQUEsZ0JBQWdCLE9BQUE7QUFFekIsbURBQW1EO0FBQ25ELG1DQUFtQztBQUNuQyxpQ0FjaUI7QUFiZiwwR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiw0R0FBQSxtQkFBbUIsT0FBQTtBQUNuQixnSEFBQSx1QkFBdUIsT0FBQTtBQUN2QiwrR0FBQSxzQkFBc0IsT0FBQTtBQUN0Qiw2R0FBQSxvQkFBb0IsT0FBQTtBQUNwQiw4R0FBQSxxQkFBcUIsT0FBQTtBQUNyQixxR0FBQSxZQUFZLE9BQUE7QUFDWiwyR0FBQSxrQkFBa0IsT0FBQTtBQUNsQixzR0FBQSxhQUFhLE9BQUE7QUFPZiw2REFBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRUREU0FNZXRob2RzLCB7IEVERFNBTWV0aG9kVHlwZXMgfSBmcm9tICcuL2VkZHNhJztcbmltcG9ydCBFQ0RTQU1ldGhvZHMsIHsgRUNEU0FNZXRob2RUeXBlcyB9IGZyb20gJy4vZWNkc2EnO1xuXG5leHBvcnQgeyBFRERTQU1ldGhvZHMsIEVERFNBTWV0aG9kVHlwZXMsIEVDRFNBTWV0aG9kcywgRUNEU0FNZXRob2RUeXBlcyB9O1xuZXhwb3J0IHsgU2hhcmVLZXlQb3NpdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBleHBvcnRpbmcgdGhpcyB0eXBlcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgRUREU0FNZXRob2RzICovXG5leHBvcnQge1xuICBjcmVhdGVDb21iaW5lZEtleSxcbiAgY3JlYXRlVXNlclNpZ25TaGFyZSxcbiAgY3JlYXRlVXNlclRvQml0R29HU2hhcmUsXG4gIG9mZmVyVXNlclRvQml0Z29SU2hhcmUsXG4gIGdldEJpdGdvVG9Vc2VyUlNoYXJlLFxuICBzZW5kVXNlclRvQml0Z29HU2hhcmUsXG4gIGdldFR4UmVxdWVzdCxcbiAgc2VuZFNpZ25hdHVyZVNoYXJlLFxuICBlbmNyeXB0WVNoYXJlLFxuICBFbmNyeXB0ZWRZU2hhcmUsXG4gIERlY3J5cHRhYmxlWVNoYXJlLFxuICBDb21iaW5lZEtleSxcbiAgU2lnbmluZ01hdGVyaWFsLFxufSBmcm9tICcuL2VkZHNhJztcblxuZXhwb3J0ICogYXMgY29tbW9uVHNzTWV0aG9kcyBmcm9tICcuL2NvbW1vbic7XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUF5RDtBQUdoRCx1QkFIRixlQUFZLENBR0U7QUFBRSxpR0FIQSx3QkFBZ0IsT0FHQTtBQUZ2QyxpREFBc0U7QUFFN0IsdUJBRmxDLGVBQVksQ0FFa0M7QUFBRSxpR0FGaEMsd0JBQWdCLE9BRWdDO0FBQUUsNEZBRmhDLG1CQUFXLE9BRWdDO0FBQ3BGLGlDQUEyQztBQUFsQyx5R0FBQSxnQkFBZ0IsT0FBQTtBQUN6QixxRUFBcUQ7QUFFckQsbURBQW1EO0FBQ25ELG1DQUFtQztBQUNuQyxpQ0FjaUI7QUFiZiwwR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiw0R0FBQSxtQkFBbUIsT0FBQTtBQUNuQixnSEFBQSx1QkFBdUIsT0FBQTtBQUN2QiwrR0FBQSxzQkFBc0IsT0FBQTtBQUN0Qiw2R0FBQSxvQkFBb0IsT0FBQTtBQUNwQiw4R0FBQSxxQkFBcUIsT0FBQTtBQUNyQixxR0FBQSxZQUFZLE9BQUE7QUFDWiwyR0FBQSxrQkFBa0IsT0FBQTtBQUNsQixzR0FBQSxhQUFhLE9BQUE7QUFPZiw2REFBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRUREU0FNZXRob2RzLCB7IEVERFNBTWV0aG9kVHlwZXMgfSBmcm9tICcuL2VkZHNhJztcbmltcG9ydCBFQ0RTQU1ldGhvZHMsIHsgRUNEU0FNZXRob2RUeXBlcywgREtMU01ldGhvZHMgfSBmcm9tICcuL2VjZHNhJztcblxuZXhwb3J0IHsgRUREU0FNZXRob2RzLCBFRERTQU1ldGhvZFR5cGVzLCBFQ0RTQU1ldGhvZHMsIEVDRFNBTWV0aG9kVHlwZXMsIERLTFNNZXRob2RzIH07XG5leHBvcnQgeyBTaGFyZUtleVBvc2l0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBhcyBCaXRnb01wY0dwZ1B1YktleXMgZnJvbSAnLi9iaXRnb1B1YktleXMnO1xuXG4vLyBleHBvcnRpbmcgdGhpcyB0eXBlcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgRUREU0FNZXRob2RzICovXG5leHBvcnQge1xuICBjcmVhdGVDb21iaW5lZEtleSxcbiAgY3JlYXRlVXNlclNpZ25TaGFyZSxcbiAgY3JlYXRlVXNlclRvQml0R29HU2hhcmUsXG4gIG9mZmVyVXNlclRvQml0Z29SU2hhcmUsXG4gIGdldEJpdGdvVG9Vc2VyUlNoYXJlLFxuICBzZW5kVXNlclRvQml0Z29HU2hhcmUsXG4gIGdldFR4UmVxdWVzdCxcbiAgc2VuZFNpZ25hdHVyZVNoYXJlLFxuICBlbmNyeXB0WVNoYXJlLFxuICBFbmNyeXB0ZWRZU2hhcmUsXG4gIERlY3J5cHRhYmxlWVNoYXJlLFxuICBDb21iaW5lZEtleSxcbiAgU2lnbmluZ01hdGVyaWFsLFxufSBmcm9tICcuL2VkZHNhJztcblxuZXhwb3J0ICogYXMgY29tbW9uVHNzTWV0aG9kcyBmcm9tICcuL2NvbW1vbic7XG4iXX0=
@@ -6,10 +6,10 @@ export declare enum ShareKeyPosition {
6
6
  BACKUP = 2,
7
7
  BITGO = 3
8
8
  }
9
- export declare type TxRequestChallengeResponse = EcdsaTypes.SerializedEcdsaChallenges & {
9
+ export type TxRequestChallengeResponse = EcdsaTypes.SerializedEcdsaChallenges & {
10
10
  n: string;
11
11
  };
12
- export declare type TssEcdsaStep1ReturnMessage = {
12
+ export type TssEcdsaStep1ReturnMessage = {
13
13
  privateShareProof: string;
14
14
  vssProof?: string;
15
15
  userPublicGpgKey: string;
@@ -18,7 +18,7 @@ export declare type TssEcdsaStep1ReturnMessage = {
18
18
  kShare: KShare;
19
19
  wShare: WShare | string;
20
20
  };
21
- export declare type TssEcdsaStep2ReturnMessage = {
21
+ export type TssEcdsaStep2ReturnMessage = {
22
22
  muDShare: MuDShare;
23
23
  oShare: OShare | string;
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/tss/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,oBAAY,gBAAgB;IAC1B,IAAI,IAAI;IACR,MAAM,IAAI;IACV,KAAK,IAAI;CACV;AAED,oBAAY,0BAA0B,GAAG,UAAU,CAAC,yBAAyB,GAAG;IAC9E,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,oBAAY,0BAA0B,GAAG;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,EAAE,MAAM,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC;AAEF,oBAAY,0BAA0B,GAAG;IACvC,QAAQ,EAAE,QAAQ,CAAC;IAEnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/tss/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,oBAAY,gBAAgB;IAC1B,IAAI,IAAI;IACR,MAAM,IAAI;IACV,KAAK,IAAI;CACV;AAED,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,yBAAyB,GAAG;IAC9E,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,EAAE,MAAM,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,QAAQ,CAAC;IAEnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC"}
@@ -6,5 +6,5 @@ var ShareKeyPosition;
6
6
  ShareKeyPosition[ShareKeyPosition["USER"] = 1] = "USER";
7
7
  ShareKeyPosition[ShareKeyPosition["BACKUP"] = 2] = "BACKUP";
8
8
  ShareKeyPosition[ShareKeyPosition["BITGO"] = 3] = "BITGO";
9
- })(ShareKeyPosition = exports.ShareKeyPosition || (exports.ShareKeyPosition = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQix1REFBUSxDQUFBO0lBQ1IsMkRBQVUsQ0FBQTtJQUNWLHlEQUFTLENBQUE7QUFDWCxDQUFDLEVBSlcsZ0JBQWdCLEdBQWhCLHdCQUFnQixLQUFoQix3QkFBZ0IsUUFJM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFY2RzYVR5cGVzIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgS1NoYXJlLCBPU2hhcmUsIFdTaGFyZSB9IGZyb20gJy4vZWNkc2EvdHlwZXMnO1xuaW1wb3J0IHsgTXVEU2hhcmUgfSBmcm9tICcuL2VjZHNhL2VjZHNhJztcblxuZXhwb3J0IGVudW0gU2hhcmVLZXlQb3NpdGlvbiB7XG4gIFVTRVIgPSAxLFxuICBCQUNLVVAgPSAyLFxuICBCSVRHTyA9IDMsXG59XG5cbmV4cG9ydCB0eXBlIFR4UmVxdWVzdENoYWxsZW5nZVJlc3BvbnNlID0gRWNkc2FUeXBlcy5TZXJpYWxpemVkRWNkc2FDaGFsbGVuZ2VzICYge1xuICBuOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUc3NFY2RzYVN0ZXAxUmV0dXJuTWVzc2FnZSA9IHtcbiAgcHJpdmF0ZVNoYXJlUHJvb2Y6IHN0cmluZztcbiAgdnNzUHJvb2Y/OiBzdHJpbmc7XG4gIHVzZXJQdWJsaWNHcGdLZXk6IHN0cmluZztcbiAgcHVibGljU2hhcmU6IHN0cmluZztcbiAgZW5jcnlwdGVkU2lnbmVyT2Zmc2V0U2hhcmU6IHN0cmluZztcbiAga1NoYXJlOiBLU2hhcmU7XG4gIC8vIHdTaGFyZSBjb3VsZCBiZSBlbmNyeXB0ZWQuIElmIGl0IGlzIGVuY3J5cHRlZCwgaXQgd2lsbCBiZSBhIHN0cmluZywgb3RoZXJ3aXNlIGl0IHdpbGwgYmUgYSBXU2hhcmUuXG4gIHdTaGFyZTogV1NoYXJlIHwgc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVHNzRWNkc2FTdGVwMlJldHVybk1lc3NhZ2UgPSB7XG4gIG11RFNoYXJlOiBNdURTaGFyZTtcbiAgLy8gb1NoYXJlIGNvdWxkIGJlIGVuY3J5cHRlZC4gSWYgaXQgaXMgZW5jcnlwdGVkLCBpdCB3aWxsIGJlIGEgc3RyaW5nLCBvdGhlcndpc2UgaXQgd2lsbCBiZSBhbiBPU2hhcmUuXG4gIG9TaGFyZTogT1NoYXJlIHwgc3RyaW5nO1xufTtcbiJdfQ==
9
+ })(ShareKeyPosition || (exports.ShareKeyPosition = ShareKeyPosition = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQix1REFBUSxDQUFBO0lBQ1IsMkRBQVUsQ0FBQTtJQUNWLHlEQUFTLENBQUE7QUFDWCxDQUFDLEVBSlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFJM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFY2RzYVR5cGVzIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgS1NoYXJlLCBPU2hhcmUsIFdTaGFyZSB9IGZyb20gJy4vZWNkc2EvdHlwZXMnO1xuaW1wb3J0IHsgTXVEU2hhcmUgfSBmcm9tICcuL2VjZHNhL2VjZHNhJztcblxuZXhwb3J0IGVudW0gU2hhcmVLZXlQb3NpdGlvbiB7XG4gIFVTRVIgPSAxLFxuICBCQUNLVVAgPSAyLFxuICBCSVRHTyA9IDMsXG59XG5cbmV4cG9ydCB0eXBlIFR4UmVxdWVzdENoYWxsZW5nZVJlc3BvbnNlID0gRWNkc2FUeXBlcy5TZXJpYWxpemVkRWNkc2FDaGFsbGVuZ2VzICYge1xuICBuOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUc3NFY2RzYVN0ZXAxUmV0dXJuTWVzc2FnZSA9IHtcbiAgcHJpdmF0ZVNoYXJlUHJvb2Y6IHN0cmluZztcbiAgdnNzUHJvb2Y/OiBzdHJpbmc7XG4gIHVzZXJQdWJsaWNHcGdLZXk6IHN0cmluZztcbiAgcHVibGljU2hhcmU6IHN0cmluZztcbiAgZW5jcnlwdGVkU2lnbmVyT2Zmc2V0U2hhcmU6IHN0cmluZztcbiAga1NoYXJlOiBLU2hhcmU7XG4gIC8vIHdTaGFyZSBjb3VsZCBiZSBlbmNyeXB0ZWQuIElmIGl0IGlzIGVuY3J5cHRlZCwgaXQgd2lsbCBiZSBhIHN0cmluZywgb3RoZXJ3aXNlIGl0IHdpbGwgYmUgYSBXU2hhcmUuXG4gIHdTaGFyZTogV1NoYXJlIHwgc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVHNzRWNkc2FTdGVwMlJldHVybk1lc3NhZ2UgPSB7XG4gIG11RFNoYXJlOiBNdURTaGFyZTtcbiAgLy8gb1NoYXJlIGNvdWxkIGJlIGVuY3J5cHRlZC4gSWYgaXQgaXMgZW5jcnlwdGVkLCBpdCB3aWxsIGJlIGEgc3RyaW5nLCBvdGhlcndpc2UgaXQgd2lsbCBiZSBhbiBPU2hhcmUuXG4gIG9TaGFyZTogT1NoYXJlIHwgc3RyaW5nO1xufTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- export declare type V1Network = 'bitcoin' | 'testnet';
2
- export declare type TokenManagementType = 'enabletoken' | 'disabletoken';
3
- export declare type ExplainTokenTxType = 'enableToken' | 'disableToken' | 'transferToken';
1
+ export type V1Network = 'bitcoin' | 'testnet';
2
+ export type TokenManagementType = 'enabletoken' | 'disabletoken';
3
+ export type ExplainTokenTxType = 'enableToken' | 'disableToken' | 'transferToken';
4
4
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/bitgo/types.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9C,oBAAY,mBAAmB,GAAG,aAAa,GAAG,cAAc,CAAC;AAEjE,oBAAY,kBAAkB,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/bitgo/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,cAAc,CAAC;AAEjE,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC"}