@bitgo-beta/sdk-core 8.2.1-beta.180 → 8.2.1-beta.1801

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 (600) hide show
  1. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
  2. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
  3. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
  4. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  5. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
  6. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
  7. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  8. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +41 -29
  9. package/dist/src/account-lib/baseCoin/enum.d.ts +50 -5
  10. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  11. package/dist/src/account-lib/baseCoin/enum.js +90 -10
  12. package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
  13. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
  14. package/dist/src/account-lib/baseCoin/errors.js +8 -2
  15. package/dist/src/account-lib/baseCoin/iface.d.ts +19 -35
  16. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  17. package/dist/src/account-lib/baseCoin/iface.js +26 -18
  18. package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
  19. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  20. package/dist/src/account-lib/baseCoin/index.js +8 -5
  21. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
  22. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  23. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
  24. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
  25. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  26. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
  27. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  28. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  29. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
  30. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
  31. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  32. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  33. package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
  34. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  35. package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
  36. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
  37. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
  38. package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
  39. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
  40. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
  41. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
  42. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
  43. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
  44. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
  45. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
  46. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  47. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
  48. package/dist/src/account-lib/index.js +23 -9
  49. package/dist/src/account-lib/mpc/index.d.ts +1 -1
  50. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  51. package/dist/src/account-lib/mpc/index.js +6 -2
  52. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -3
  53. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  54. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +376 -354
  55. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  56. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  57. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  58. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  59. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +46 -53
  60. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  61. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  62. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +0 -1
  63. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  64. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  65. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  66. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  67. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  68. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  69. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  70. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  71. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  72. package/dist/src/account-lib/mpc/util.js +24 -1
  73. package/dist/src/account-lib/staking/index.js +6 -2
  74. package/dist/src/account-lib/staking/utils.js +3 -3
  75. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  76. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  77. package/dist/src/account-lib/util/crypto.js +69 -38
  78. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
  79. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  80. package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
  81. package/dist/src/api/bip32path.js +2 -3
  82. package/dist/src/api/index.js +6 -2
  83. package/dist/src/api/types.d.ts +30 -0
  84. package/dist/src/api/types.d.ts.map +1 -1
  85. package/dist/src/api/types.js +1 -1
  86. package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
  87. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
  88. package/dist/src/bitgo/address-book/address-book.js +139 -0
  89. package/dist/src/bitgo/address-book/index.d.ts +3 -0
  90. package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
  91. package/dist/src/bitgo/address-book/index.js +19 -0
  92. package/dist/src/bitgo/address-book/types.d.ts +170 -0
  93. package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
  94. package/dist/src/bitgo/address-book/types.js +3 -0
  95. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +99 -11
  96. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  97. package/dist/src/bitgo/baseCoin/baseCoin.js +168 -16
  98. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +192 -28
  99. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  100. package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -3
  101. package/dist/src/bitgo/baseCoin/index.js +6 -2
  102. package/dist/src/bitgo/bip32util.d.ts +3 -16
  103. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  104. package/dist/src/bitgo/bip32util.js +4 -56
  105. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  106. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  107. package/dist/src/bitgo/bitcoin.js +26 -13
  108. package/dist/src/bitgo/bitgoBase.d.ts +8 -1
  109. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  110. package/dist/src/bitgo/bitgoBase.js +1 -1
  111. package/dist/src/bitgo/coinFactory.d.ts +17 -3
  112. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  113. package/dist/src/bitgo/coinFactory.js +26 -3
  114. package/dist/src/bitgo/config.d.ts +3 -95
  115. package/dist/src/bitgo/config.d.ts.map +1 -1
  116. package/dist/src/bitgo/config.js +26 -15
  117. package/dist/src/bitgo/ecdh.d.ts +0 -1
  118. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  119. package/dist/src/bitgo/ecdh.js +26 -13
  120. package/dist/src/bitgo/enterprise/enterprise.d.ts +3 -4
  121. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  122. package/dist/src/bitgo/enterprise/enterprise.js +39 -21
  123. package/dist/src/bitgo/enterprise/enterprises.js +27 -13
  124. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +2 -3
  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/index.js +6 -2
  128. package/dist/src/bitgo/environments.d.ts +69 -5
  129. package/dist/src/bitgo/environments.d.ts.map +1 -1
  130. package/dist/src/bitgo/environments.js +403 -40
  131. package/dist/src/bitgo/errors.d.ts +175 -0
  132. package/dist/src/bitgo/errors.d.ts.map +1 -1
  133. package/dist/src/bitgo/errors.js +166 -2
  134. package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
  135. package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
  136. package/dist/src/bitgo/evm/evmUtils.js +50 -0
  137. package/dist/src/bitgo/index.d.ts +3 -1
  138. package/dist/src/bitgo/index.d.ts.map +1 -1
  139. package/dist/src/bitgo/index.js +29 -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.d.ts +18 -6
  147. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
  148. package/dist/src/bitgo/internal/keycard.js +102 -44
  149. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +24 -0
  150. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  151. package/dist/src/bitgo/keychain/decryptKeychain.js +67 -0
  152. package/dist/src/bitgo/keychain/iKeychains.d.ts +93 -8
  153. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  154. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  155. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  156. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  157. package/dist/src/bitgo/keychain/index.js +7 -2
  158. package/dist/src/bitgo/keychain/keychains.d.ts +48 -6
  159. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  160. package/dist/src/bitgo/keychain/keychains.js +244 -46
  161. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  162. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  163. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  164. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  165. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  166. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  167. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  168. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  169. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  170. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  171. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  172. package/dist/src/bitgo/market/index.js +6 -2
  173. package/dist/src/bitgo/market/markets.js +23 -9
  174. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +1 -0
  175. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  176. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  177. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  178. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  179. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  180. package/dist/src/bitgo/pendingApproval/pendingApproval.js +228 -110
  181. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  182. package/dist/src/bitgo/proofs/WalletProofs.d.ts +19 -0
  183. package/dist/src/bitgo/proofs/WalletProofs.d.ts.map +1 -0
  184. package/dist/src/bitgo/proofs/WalletProofs.js +37 -0
  185. package/dist/src/bitgo/proofs/index.d.ts +2 -0
  186. package/dist/src/bitgo/proofs/index.d.ts.map +1 -0
  187. package/dist/src/bitgo/proofs/index.js +6 -0
  188. package/dist/src/bitgo/proofs/types.d.ts +80 -0
  189. package/dist/src/bitgo/proofs/types.d.ts.map +1 -0
  190. package/dist/src/bitgo/proofs/types.js +80 -0
  191. package/dist/src/bitgo/recovery/index.js +6 -2
  192. package/dist/src/bitgo/recovery/initiate.d.ts +24 -1
  193. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  194. package/dist/src/bitgo/recovery/initiate.js +88 -40
  195. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +132 -0
  196. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  197. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  198. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  199. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  200. package/dist/src/bitgo/staking/goStakingWallet.js +141 -0
  201. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  202. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  203. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  204. package/dist/src/bitgo/staking/iStakingWallet.d.ts +173 -7
  205. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  206. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  207. package/dist/src/bitgo/staking/index.d.ts +3 -0
  208. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  209. package/dist/src/bitgo/staking/index.js +9 -2
  210. package/dist/src/bitgo/staking/stakingWallet.d.ts +21 -8
  211. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  212. package/dist/src/bitgo/staking/stakingWallet.js +140 -7
  213. package/dist/src/bitgo/trading/iTradingAccount.d.ts +15 -1
  214. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  215. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  216. package/dist/src/bitgo/trading/index.d.ts +1 -0
  217. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  218. package/dist/src/bitgo/trading/index.js +7 -2
  219. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  220. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  221. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  222. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  223. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  224. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  225. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  226. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  227. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  228. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  229. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  230. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  231. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  232. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  233. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  234. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  235. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  236. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  237. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  238. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  239. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  240. package/dist/src/bitgo/trading/network/index.d.ts +5 -0
  241. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
  242. package/dist/src/bitgo/trading/network/index.js +21 -0
  243. package/dist/src/bitgo/trading/network/network.d.ts +36 -0
  244. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
  245. package/dist/src/bitgo/trading/network/network.js +99 -0
  246. package/dist/src/bitgo/trading/network/types.d.ts +277 -0
  247. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
  248. package/dist/src/bitgo/trading/network/types.js +3 -0
  249. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  250. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  251. package/dist/src/bitgo/trading/network/utils.js +54 -0
  252. package/dist/src/bitgo/trading/tradingAccount.d.ts +22 -1
  253. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  254. package/dist/src/bitgo/trading/tradingAccount.js +64 -7
  255. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +38 -0
  256. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  257. package/dist/src/bitgo/tss/bitgoPubKeys.js +72 -0
  258. package/dist/src/bitgo/tss/common.d.ts +39 -6
  259. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  260. package/dist/src/bitgo/tss/common.js +112 -17
  261. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  262. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  263. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  264. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  265. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  266. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +167 -0
  267. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  268. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  269. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  270. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  271. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  272. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  273. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +15 -6
  274. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  275. package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
  276. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts +37 -0
  277. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  278. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.js +95 -0
  279. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  280. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  281. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  282. package/dist/src/bitgo/tss/index.d.ts +3 -2
  283. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  284. package/dist/src/bitgo/tss/index.js +26 -10
  285. package/dist/src/bitgo/tss/types.d.ts +3 -3
  286. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  287. package/dist/src/bitgo/tss/types.js +2 -2
  288. package/dist/src/bitgo/types.d.ts +3 -3
  289. package/dist/src/bitgo/types.d.ts.map +1 -1
  290. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +8 -0
  291. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  292. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +55 -13
  293. package/dist/src/bitgo/utils/codecProps.js +24 -11
  294. package/dist/src/bitgo/utils/codecs.d.ts +11 -0
  295. package/dist/src/bitgo/utils/codecs.d.ts.map +1 -0
  296. package/dist/src/bitgo/utils/codecs.js +59 -0
  297. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  298. package/dist/src/bitgo/utils/decode.js +30 -16
  299. package/dist/src/bitgo/utils/index.d.ts +4 -2
  300. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  301. package/dist/src/bitgo/utils/index.js +27 -11
  302. package/dist/src/bitgo/utils/messageTypes.d.ts +38 -0
  303. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  304. package/dist/src/bitgo/utils/messageTypes.js +15 -0
  305. package/dist/src/bitgo/utils/mpcUtils.d.ts +4 -4
  306. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  307. package/dist/src/bitgo/utils/mpcUtils.js +109 -14
  308. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  309. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  310. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  311. package/dist/src/bitgo/utils/opengpgUtils.d.ts +12 -9
  312. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  313. package/dist/src/bitgo/utils/opengpgUtils.js +77 -64
  314. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
  315. package/dist/src/bitgo/utils/postWithCodec.js +4 -38
  316. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  317. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  318. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  319. package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
  320. package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
  321. package/dist/src/bitgo/utils/transactionUtils.js +29 -0
  322. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  323. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  324. package/dist/src/bitgo/utils/triple.js +2 -3
  325. package/dist/src/bitgo/utils/tss/addressVerification.d.ts +37 -0
  326. package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  327. package/dist/src/bitgo/utils/tss/addressVerification.js +82 -0
  328. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +90 -17
  329. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  330. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +278 -45
  331. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +367 -44
  332. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  333. package/dist/src/bitgo/utils/tss/baseTypes.js +47 -22
  334. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  335. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  336. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  337. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  338. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  339. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  340. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +21 -51
  341. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  342. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +162 -246
  343. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +203 -0
  344. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  345. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1075 -0
  346. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  347. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  348. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
  349. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
  350. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  351. package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
  352. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
  353. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  354. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  355. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  356. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  357. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  358. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +21 -0
  359. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
  360. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +118 -0
  361. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
  362. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
  363. package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -0
  364. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +28 -11
  365. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  366. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +208 -103
  367. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +88 -0
  368. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  369. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +565 -0
  370. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +6 -0
  371. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
  372. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +13 -0
  373. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +4 -0
  374. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
  375. package/dist/src/bitgo/utils/tss/eddsa/index.js +29 -8
  376. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
  377. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  378. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +40 -0
  379. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
  380. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +44 -0
  381. package/dist/src/bitgo/utils/tss/index.d.ts +1 -0
  382. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  383. package/dist/src/bitgo/utils/tss/index.js +24 -9
  384. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  385. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  386. package/dist/src/bitgo/utils/txRequest.js +49 -0
  387. package/dist/src/bitgo/utils/util.js +24 -10
  388. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  389. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  390. package/dist/src/bitgo/utils/wallet.js +48 -0
  391. package/dist/src/bitgo/wallet/BuildParams.d.ts +50 -1
  392. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  393. package/dist/src/bitgo/wallet/BuildParams.js +58 -11
  394. package/dist/src/bitgo/wallet/iWallet.d.ts +474 -21
  395. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  396. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  397. package/dist/src/bitgo/wallet/iWallets.d.ts +145 -19
  398. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  399. package/dist/src/bitgo/wallet/iWallets.js +63 -3
  400. package/dist/src/bitgo/wallet/index.js +6 -2
  401. package/dist/src/bitgo/wallet/wallet.d.ts +363 -24
  402. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  403. package/dist/src/bitgo/wallet/wallet.js +1957 -415
  404. package/dist/src/bitgo/wallet/wallets.d.ts +100 -9
  405. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  406. package/dist/src/bitgo/wallet/wallets.js +1043 -206
  407. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
  408. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
  409. package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
  410. package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
  411. package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
  412. package/dist/src/bitgo/walletUtil/index.js +19 -0
  413. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
  414. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
  415. package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
  416. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
  417. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
  418. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
  419. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
  420. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
  421. package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
  422. package/dist/src/bitgo/webhook/index.js +6 -2
  423. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  424. package/dist/src/coins/fiat.d.ts +45 -0
  425. package/dist/src/coins/fiat.d.ts.map +1 -0
  426. package/dist/src/coins/fiat.js +94 -0
  427. package/dist/src/coins/index.d.ts +1 -6
  428. package/dist/src/coins/index.d.ts.map +1 -1
  429. package/dist/src/coins/index.js +7 -8
  430. package/dist/src/coins/ofc.d.ts +17 -2
  431. package/dist/src/coins/ofc.d.ts.map +1 -1
  432. package/dist/src/coins/ofc.js +13 -2
  433. package/dist/src/coins/ofcToken.d.ts +15 -4
  434. package/dist/src/coins/ofcToken.d.ts.map +1 -1
  435. package/dist/src/coins/ofcToken.js +43 -5
  436. package/dist/src/coins/susd.d.ts +3 -2
  437. package/dist/src/coins/susd.d.ts.map +1 -1
  438. package/dist/src/coins/susd.js +5 -1
  439. package/dist/src/common.js +27 -13
  440. package/dist/src/index.d.ts +6 -1
  441. package/dist/src/index.d.ts.map +1 -1
  442. package/dist/src/index.js +32 -11
  443. package/dist/src/lightning.d.ts +20 -0
  444. package/dist/src/lightning.d.ts.map +1 -0
  445. package/dist/src/lightning.js +13 -0
  446. package/dist/src/units.js +5 -6
  447. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  448. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  449. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  450. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  451. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  452. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  453. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  454. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  455. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  456. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  457. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  458. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  459. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +91 -29
  460. package/dist/test/unit/account-lib/mpc/util.d.ts +2 -0
  461. package/dist/test/unit/account-lib/mpc/util.d.ts.map +1 -0
  462. package/dist/test/unit/account-lib/mpc/util.js +53 -0
  463. package/dist/test/unit/bitgo/environment.d.ts +2 -0
  464. package/dist/test/unit/bitgo/environment.d.ts.map +1 -0
  465. package/dist/test/unit/bitgo/environment.js +38 -0
  466. package/dist/test/unit/bitgo/errors.d.ts +2 -0
  467. package/dist/test/unit/bitgo/errors.d.ts.map +1 -0
  468. package/dist/test/unit/bitgo/errors.js +262 -0
  469. package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
  470. package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
  471. package/dist/test/unit/bitgo/recovery/initiate.js +230 -0
  472. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  473. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  474. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  475. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts +2 -0
  476. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts.map +1 -0
  477. package/dist/test/unit/bitgo/trading/tradingAccount.js +192 -0
  478. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +24 -4
  479. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  480. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  481. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  482. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  483. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  484. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  485. package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
  486. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts +2 -0
  487. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  488. package/dist/test/unit/bitgo/utils/tss/addressVerification.js +203 -0
  489. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts +2 -0
  490. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
  491. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +316 -0
  492. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
  493. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  494. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +826 -0
  495. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts +5 -0
  496. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts.map +1 -0
  497. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.js +36 -0
  498. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +2 -0
  499. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  500. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +1185 -0
  501. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
  502. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
  503. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +311 -0
  504. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  505. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  506. package/dist/test/unit/bitgo/utils/txRequest.js +179 -0
  507. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  508. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  509. package/dist/test/unit/bitgo/wallet/BuildParams.js +97 -0
  510. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +23 -9
  511. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts +2 -0
  512. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts.map +1 -0
  513. package/dist/test/unit/bitgo/wallet/getAccountResources.js +133 -0
  514. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts +2 -0
  515. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
  516. package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
  517. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
  518. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
  519. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
  520. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
  521. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
  522. package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
  523. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
  524. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
  525. package/dist/test/unit/bitgo/wallet/tokenApproval.js +135 -0
  526. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
  527. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
  528. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
  529. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts +2 -0
  530. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
  531. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +43 -0
  532. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
  533. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
  534. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
  535. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
  536. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
  537. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
  538. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
  539. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
  540. package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +200 -0
  541. package/dist/test/unit/coins/ofc.d.ts +2 -0
  542. package/dist/test/unit/coins/ofc.d.ts.map +1 -0
  543. package/dist/test/unit/coins/ofc.js +124 -0
  544. package/dist/test/unit/lightning.d.ts +2 -0
  545. package/dist/test/unit/lightning.d.ts.map +1 -0
  546. package/dist/test/unit/lightning.js +23 -0
  547. package/dist/test/unit/units.d.ts.map +1 -1
  548. package/dist/test/unit/units.js +64 -64
  549. package/dist/tsconfig.tsbuildinfo +1 -1
  550. package/package.json +24 -21
  551. package/.eslintignore +0 -5
  552. package/CHANGELOG.md +0 -1433
  553. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  554. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  555. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  556. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  557. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  558. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  559. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  560. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  561. package/dist/src/bitgo/lightning/index.js +0 -17
  562. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  563. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  564. package/dist/src/bitgo/lightning/lightning.js +0 -111
  565. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  566. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  567. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  568. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  569. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  570. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  571. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  572. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  573. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  574. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  575. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  576. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  577. package/dist/src/coins/fiateur.d.ts +0 -31
  578. package/dist/src/coins/fiateur.d.ts.map +0 -1
  579. package/dist/src/coins/fiateur.js +0 -57
  580. package/dist/src/coins/fiatgbp.d.ts +0 -31
  581. package/dist/src/coins/fiatgbp.d.ts.map +0 -1
  582. package/dist/src/coins/fiatgbp.js +0 -57
  583. package/dist/src/coins/fiatusd.d.ts +0 -31
  584. package/dist/src/coins/fiatusd.d.ts.map +0 -1
  585. package/dist/src/coins/fiatusd.js +0 -57
  586. package/dist/src/coins/tfiateur.d.ts +0 -11
  587. package/dist/src/coins/tfiateur.d.ts.map +0 -1
  588. package/dist/src/coins/tfiateur.js +0 -17
  589. package/dist/src/coins/tfiatgbp.d.ts +0 -11
  590. package/dist/src/coins/tfiatgbp.d.ts.map +0 -1
  591. package/dist/src/coins/tfiatgbp.js +0 -17
  592. package/dist/src/coins/tfiatusd.d.ts +0 -11
  593. package/dist/src/coins/tfiatusd.d.ts.map +0 -1
  594. package/dist/src/coins/tfiatusd.js +0 -17
  595. package/dist/src/openssl/index.d.ts +0 -5
  596. package/dist/src/openssl/index.d.ts.map +0 -1
  597. package/dist/src/openssl/index.js +0 -9
  598. package/dist/test/unit/openssl.d.ts +0 -2
  599. package/dist/test/unit/openssl.d.ts.map +0 -1
  600. package/dist/test/unit/openssl.js +0 -39
@@ -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
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
37
  };
@@ -26,13 +40,15 @@ exports.openpgpUtils = void 0;
26
40
  const openpgpUtils = __importStar(require("./opengpgUtils"));
27
41
  exports.openpgpUtils = openpgpUtils;
28
42
  __exportStar(require("./abstractUtxoCoinUtil"), exports);
29
- __exportStar(require("./blsUtils"), exports);
30
- __exportStar(require("./iBlsUtils"), exports);
31
43
  __exportStar(require("./mpcUtils"), exports);
32
44
  __exportStar(require("./opengpgUtils"), exports);
33
45
  __exportStar(require("./promise-utils"), exports);
34
46
  __exportStar(require("./triple"), exports);
35
47
  __exportStar(require("./tss"), exports);
36
48
  __exportStar(require("./util"), exports);
49
+ __exportStar(require("./codecs"), exports);
37
50
  __exportStar(require("./decode"), exports);
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUErQztBQWF0QyxvQ0FBWTtBQVhyQix5REFBdUM7QUFDdkMsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1Qiw2Q0FBMkI7QUFDM0IsaURBQStCO0FBQy9CLGtEQUFnQztBQUNoQywyQ0FBeUI7QUFDekIsd0NBQXNCO0FBQ3RCLHlDQUF1QjtBQUN2QiwyQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvcGVucGdwVXRpbHMgZnJvbSAnLi9vcGVuZ3BnVXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0VXR4b0NvaW5VdGlsJztcbmV4cG9ydCAqIGZyb20gJy4vYmxzVXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pQmxzVXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tcGNVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL29wZW5ncGdVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb21pc2UtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90cmlwbGUnO1xuZXhwb3J0ICogZnJvbSAnLi90c3MnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb2RlJztcblxuZXhwb3J0IHsgb3BlbnBncFV0aWxzIH07XG4iXX0=
51
+ __exportStar(require("./notEmpty"), exports);
52
+ __exportStar(require("./wallet"), exports);
53
+ __exportStar(require("./messageTypes"), exports);
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQStDO0FBZXRDLG9DQUFZO0FBYnJCLHlEQUF1QztBQUN2Qyw2Q0FBMkI7QUFDM0IsaURBQStCO0FBQy9CLGtEQUFnQztBQUNoQywyQ0FBeUI7QUFDekIsd0NBQXNCO0FBQ3RCLHlDQUF1QjtBQUN2QiwyQ0FBeUI7QUFDekIsMkNBQXlCO0FBQ3pCLDZDQUEyQjtBQUMzQiwyQ0FBeUI7QUFDekIsaURBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb3BlbnBncFV0aWxzIGZyb20gJy4vb3BlbmdwZ1V0aWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdFV0eG9Db2luVXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL21wY1V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlbmdwZ1V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvbWlzZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3RyaXBsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rzcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2RlY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RFbXB0eSc7XG5leHBvcnQgKiBmcm9tICcuL3dhbGxldCc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VUeXBlcyc7XG5cbmV4cG9ydCB7IG9wZW5wZ3BVdGlscyB9O1xuIl19
@@ -0,0 +1,38 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { SerializedSignature, Signature } from '../../account-lib';
3
+ /**
4
+ * Supported message signing standard types
5
+ */
6
+ export declare enum MessageStandardType {
7
+ UNKNOWN = "UNKNOWN",
8
+ SIMPLE = "SIMPLE",
9
+ EIP191 = "EIP191",
10
+ EIP712 = "EIP712",
11
+ CIP8 = "CIP8"
12
+ }
13
+ export type MessagePayload = string;
14
+ export type MessageMetadata = Record<string, unknown>;
15
+ /**
16
+ * Format for broadcasting a signed message
17
+ */
18
+ export interface BroadcastableMessage {
19
+ type: MessageStandardType;
20
+ payload: MessagePayload;
21
+ signablePayload?: string;
22
+ serializedSignatures?: SerializedSignature[];
23
+ signers?: string[];
24
+ metadata?: MessageMetadata;
25
+ }
26
+ /**
27
+ * Options to create a message
28
+ */
29
+ export interface MessageOptions {
30
+ coinConfig: Readonly<CoinConfig>;
31
+ payload: MessagePayload;
32
+ type?: MessageStandardType;
33
+ signablePayload?: string | Buffer;
34
+ metadata?: MessageMetadata;
35
+ signatures?: Signature[];
36
+ signers?: string[];
37
+ }
38
+ //# sourceMappingURL=messageTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageTypes.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/messageTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageStandardType = void 0;
4
+ /**
5
+ * Supported message signing standard types
6
+ */
7
+ var MessageStandardType;
8
+ (function (MessageStandardType) {
9
+ MessageStandardType["UNKNOWN"] = "UNKNOWN";
10
+ MessageStandardType["SIMPLE"] = "SIMPLE";
11
+ MessageStandardType["EIP191"] = "EIP191";
12
+ MessageStandardType["EIP712"] = "EIP712";
13
+ MessageStandardType["CIP8"] = "CIP8";
14
+ })(MessageStandardType || (exports.MessageStandardType = MessageStandardType = {}));
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZVR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL21lc3NhZ2VUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQTs7R0FFRztBQUNILElBQVksbUJBTVg7QUFORCxXQUFZLG1CQUFtQjtJQUM3QiwwQ0FBbUIsQ0FBQTtJQUNuQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQixvQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLG1CQUFtQixtQ0FBbkIsbUJBQW1CLFFBTTlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgU2VyaWFsaXplZFNpZ25hdHVyZSwgU2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vYWNjb3VudC1saWInO1xuXG4vKipcbiAqIFN1cHBvcnRlZCBtZXNzYWdlIHNpZ25pbmcgc3RhbmRhcmQgdHlwZXNcbiAqL1xuZXhwb3J0IGVudW0gTWVzc2FnZVN0YW5kYXJkVHlwZSB7XG4gIFVOS05PV04gPSAnVU5LTk9XTicsXG4gIFNJTVBMRSA9ICdTSU1QTEUnLFxuICBFSVAxOTEgPSAnRUlQMTkxJyxcbiAgRUlQNzEyID0gJ0VJUDcxMicsXG4gIENJUDggPSAnQ0lQOCcsXG59XG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2VQYXlsb2FkID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgTWVzc2FnZU1ldGFkYXRhID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbi8qKlxuICogRm9ybWF0IGZvciBicm9hZGNhc3RpbmcgYSBzaWduZWQgbWVzc2FnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyb2FkY2FzdGFibGVNZXNzYWdlIHtcbiAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgcGF5bG9hZDogTWVzc2FnZVBheWxvYWQ7XG4gIHNpZ25hYmxlUGF5bG9hZD86IHN0cmluZztcbiAgc2VyaWFsaXplZFNpZ25hdHVyZXM/OiBTZXJpYWxpemVkU2lnbmF0dXJlW107XG4gIHNpZ25lcnM/OiBzdHJpbmdbXTsgLy8gbGlzdCBvZiBhZGRyZXNzZXMgb3IgcHVibGljIGtleXMgb2YgdGhlIHNpZ25lcnNcbiAgbWV0YWRhdGE/OiBNZXNzYWdlTWV0YWRhdGE7XG59XG5cbi8qKlxuICogT3B0aW9ucyB0byBjcmVhdGUgYSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZU9wdGlvbnMge1xuICBjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPjtcbiAgcGF5bG9hZDogTWVzc2FnZVBheWxvYWQ7XG4gIHR5cGU/OiBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuICBzaWduYWJsZVBheWxvYWQ/OiBzdHJpbmcgfCBCdWZmZXI7XG4gIG1ldGFkYXRhPzogTWVzc2FnZU1ldGFkYXRhO1xuICBzaWduYXR1cmVzPzogU2lnbmF0dXJlW107XG4gIHNpZ25lcnM/OiBzdHJpbmdbXTtcbn1cbiJdfQ==
@@ -1,9 +1,8 @@
1
1
  import { SerializedKeyPair } from 'openpgp';
2
2
  import { IBaseCoin, KeychainsTriplet } from '../baseCoin';
3
3
  import { BitGoBase } from '../bitgoBase';
4
- import { Keychain, KeyType } from '../keychain';
5
- import { BackupProvider } from '../wallet';
6
- import { PopulatedIntent, PrebuildTransactionWithIntentOptions } from './tss/baseTypes';
4
+ import { Keychain, KeyType, WebauthnKeyEncryptionInfo } from '../keychain';
5
+ import { PopulatedIntent, PrebuildTransactionWithIntentOptions, TokenTransferRecipientParams } from './tss/baseTypes';
7
6
  export interface MpcKeyShare {
8
7
  publicShare: string;
9
8
  privateShare: string;
@@ -27,7 +26,7 @@ export declare abstract class MpcUtils {
27
26
  passphrase: string;
28
27
  enterprise?: string;
29
28
  originalPasscodeEncryptionCode?: string;
30
- backupProvider?: BackupProvider;
29
+ webauthnInfo?: WebauthnKeyEncryptionInfo;
31
30
  }): Promise<KeychainsTriplet>;
32
31
  /**
33
32
  * This function would be responsible for populating intents
@@ -37,5 +36,6 @@ export declare abstract class MpcUtils {
37
36
  * @returns {Record<string, unknown>}
38
37
  */
39
38
  populateIntent(baseCoin: IBaseCoin, params: PrebuildTransactionWithIntentOptions): PopulatedIntent;
39
+ getTokenName(baseCoin: IBaseCoin, tokenData: TokenTransferRecipientParams): string | undefined;
40
40
  }
41
41
  //# sourceMappingURL=mpcUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mpcUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/mpcUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwC,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAsB,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAmB,eAAe,EAAE,oCAAoC,EAAE,MAAM,iBAAiB,CAAC;AAEzG,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8BAAsB,QAAQ;IAC5B,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAElB,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;cAKjC,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;cAiBjG,uBAAuB,CACrC,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACrC,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACvC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,OAAO,EAAE,OAAO,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC;IAkCpB;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAE7B;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,oCAAoC,GAAG,eAAe;CAiFnG"}
1
+ {"version":3,"file":"mpcUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/mpcUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwC,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAsB,QAAQ,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE/F,OAAO,EAEL,eAAe,EACf,oCAAoC,EACpC,4BAA4B,EAC7B,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8BAAsB,QAAQ;IAC5B,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAElB,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;cAKjC,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;cAiBjG,uBAAuB,CACrC,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACrC,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACvC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,OAAO,EAAE,OAAO,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC;IAsCpB;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,YAAY,CAAC,EAAE,yBAAyB,CAAC;KAC1C,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAE7B;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,oCAAoC,GAAG,eAAe;IA4LlG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,4BAA4B,GAAG,MAAM,GAAG,SAAS;CAY/F"}
@@ -10,17 +10,19 @@ exports.MpcUtils = void 0;
10
10
  const assert_1 = __importDefault(require("assert"));
11
11
  const openpgp_1 = require("openpgp");
12
12
  const opengpgUtils_1 = require("./opengpgUtils");
13
+ const bitgoPubKeys_1 = require("../tss/bitgoPubKeys");
14
+ const statics_1 = require("@bitgo-beta/statics");
13
15
  class MpcUtils {
14
16
  constructor(bitgo, baseCoin) {
15
17
  this.bitgo = bitgo;
16
18
  this.baseCoin = baseCoin;
17
19
  }
18
20
  async decryptPrivateShare(privateShare, userGpgKey) {
19
- const privateShareMessage = await openpgp_1.readMessage({
21
+ const privateShareMessage = await (0, openpgp_1.readMessage)({
20
22
  armoredMessage: privateShare,
21
23
  });
22
- const userGpgPrivateKey = await openpgp_1.readPrivateKey({ armoredKey: userGpgKey.privateKey });
23
- const decryptedPrivateShare = (await openpgp_1.decrypt({
24
+ const userGpgPrivateKey = await (0, openpgp_1.readPrivateKey)({ armoredKey: userGpgKey.privateKey });
25
+ const decryptedPrivateShare = (await (0, openpgp_1.decrypt)({
24
26
  message: privateShareMessage,
25
27
  decryptionKeys: [userGpgPrivateKey],
26
28
  format: 'utf8',
@@ -28,9 +30,13 @@ class MpcUtils {
28
30
  return decryptedPrivateShare;
29
31
  }
30
32
  async createBitgoKeychainInWP(userGpgKey, backupGpgKey, userKeyShare, backupKeyShare, keyType, enterprise) {
31
- const bitgoKey = await opengpgUtils_1.getBitgoGpgPubKey(this.bitgo);
32
- const encUserToBitGoMessage = await opengpgUtils_1.encryptText(userKeyShare.privateShare, bitgoKey);
33
- const encBackupToBitGoMessage = await opengpgUtils_1.encryptText(backupKeyShare.privateShare, bitgoKey);
33
+ const bitgoKey = (await (0, opengpgUtils_1.getBitgoGpgPubKey)(this.bitgo)).mpcV1;
34
+ if ((0, bitgoPubKeys_1.envRequiresBitgoPubGpgKeyConfig)(this.bitgo.getEnv())) {
35
+ // Ensure the public key is one of the expected BitGo public keys when in test or prod.
36
+ (0, assert_1.default)((0, bitgoPubKeys_1.isBitgoMpcPubKey)(bitgoKey.armor(), 'mpcv1'), 'Invalid BitGo GPG public key');
37
+ }
38
+ const encUserToBitGoMessage = await (0, opengpgUtils_1.encryptText)(userKeyShare.privateShare, bitgoKey);
39
+ const encBackupToBitGoMessage = await (0, opengpgUtils_1.encryptText)(backupKeyShare.privateShare, bitgoKey);
34
40
  const createBitGoMPCParams = {
35
41
  keyType,
36
42
  source: 'bitgo',
@@ -66,12 +72,50 @@ class MpcUtils {
66
72
  * @returns {Record<string, unknown>}
67
73
  */
68
74
  populateIntent(baseCoin, params) {
69
- var _a, _b, _c;
70
75
  const chain = this.baseCoin.getChain();
71
- if (!['acceleration', 'fillNonce', 'transferToken'].includes(params.intentType)) {
72
- assert_1.default(params.recipients, `'recipients' is a required parameter for ${params.intentType} intent`);
76
+ if (params.intentType === 'customTx' && baseCoin.getFamily() === 'sol') {
77
+ const hasSolInstructions = params.solInstructions && params.solInstructions.length > 0;
78
+ const hasVersionedData = params.solVersionedTransactionData &&
79
+ params.solVersionedTransactionData.versionedInstructions &&
80
+ params.solVersionedTransactionData.versionedInstructions.length > 0;
81
+ (0, assert_1.default)(hasSolInstructions || hasVersionedData, `'solInstructions' or 'solVersionedTransactionData' is required for customTx intent`);
82
+ }
83
+ if (params.intentType === 'customTx' && baseCoin.getFamily() === 'apt') {
84
+ (0, assert_1.default)(params.aptosCustomTransactionParams, `'aptosCustomTransactionParams' is a required parameter for customTx intent`);
85
+ }
86
+ if (['transferAccept', 'transferReject'].includes(params.intentType) && baseCoin.getFamily() === 'canton') {
87
+ (0, assert_1.default)(params.txRequestId, `'txRequestId' is required parameter for ${params.intentType} intent`);
88
+ }
89
+ if (params.intentType === 'transferOfferWithdrawn' && baseCoin.getFamily() === 'canton') {
90
+ (0, assert_1.default)(params.transferOfferId, `'transferOfferId' is required parameter for ${params.intentType} intent`);
73
91
  }
74
- const intentRecipients = (_a = params.recipients) === null || _a === void 0 ? void 0 : _a.map((recipient) => {
92
+ if (params.intentType === 'cantonCommand') {
93
+ (0, assert_1.default)(baseCoin.getFamily() === 'canton', `'cantonCommand' intent is only supported for the canton coin family`);
94
+ const { cantonCommandParams } = params;
95
+ (0, assert_1.default)(cantonCommandParams, `'cantonCommandParams' is required for ${params.intentType} intent`);
96
+ const isPlainObject = (v) => v !== null && v !== undefined && typeof v === 'object' && !Array.isArray(v);
97
+ const { command, actAs } = cantonCommandParams;
98
+ (0, assert_1.default)(isPlainObject(command), `'cantonCommandParams.command' must be a non-null plain object`);
99
+ const hasCreate = 'CreateCommand' in command && isPlainObject(command['CreateCommand']);
100
+ const hasExercise = 'ExerciseCommand' in command && isPlainObject(command['ExerciseCommand']);
101
+ (0, assert_1.default)(hasCreate !== hasExercise, `'cantonCommandParams.command' must contain exactly one of CreateCommand or ExerciseCommand as a non-null plain object`);
102
+ (0, assert_1.default)(Array.isArray(actAs) && actAs.length > 0 && actAs.every((p) => typeof p === 'string' && p.trim() !== ''), `'cantonCommandParams.actAs' must be a non-empty array of non-empty strings for ${params.intentType} intent`);
103
+ }
104
+ if (![
105
+ 'acceleration',
106
+ 'fillNonce',
107
+ 'transferToken',
108
+ 'tokenApproval',
109
+ 'customTx',
110
+ 'transferAccept',
111
+ 'transferReject',
112
+ 'transferOfferWithdrawn',
113
+ 'bridgeFunds',
114
+ 'cantonCommand',
115
+ ].includes(params.intentType)) {
116
+ (0, assert_1.default)(params.recipients, `'recipients' is a required parameter for ${params.intentType} intent`);
117
+ }
118
+ const intentRecipients = params.recipients?.map((recipient) => {
75
119
  const formattedRecipient = {
76
120
  address: { address: recipient.address },
77
121
  amount: { value: `${recipient.amount}`, symbol: recipient.tokenName ? recipient.tokenName : chain },
@@ -85,6 +129,10 @@ class MpcUtils {
85
129
  if (!(tokenData.tokenType && tokenData.tokenQuantity)) {
86
130
  throw new Error('token type and quantity is required to request a transaction with intent to transfer a token');
87
131
  }
132
+ tokenData.tokenName = this.getTokenName(baseCoin, tokenData);
133
+ if (tokenData.tokenName) {
134
+ formattedRecipient.amount.symbol = tokenData.tokenName;
135
+ }
88
136
  formattedRecipient.tokenData = tokenData;
89
137
  }
90
138
  return formattedRecipient;
@@ -95,8 +143,10 @@ class MpcUtils {
95
143
  comment: params.comment,
96
144
  nonce: params.nonce,
97
145
  recipients: intentRecipients,
146
+ tokenName: params.tokenName,
147
+ isTestTransaction: params.isTestTransaction,
98
148
  };
99
- if (baseCoin.getFamily() === 'eth' || baseCoin.getFamily() === 'polygon' || baseCoin.getFamily() === 'bsc') {
149
+ if (baseCoin.isEVM() && baseCoin.supportsTss()) {
100
150
  switch (params.intentType) {
101
151
  case 'payment':
102
152
  case 'transferToken':
@@ -105,6 +155,7 @@ class MpcUtils {
105
155
  ...baseIntent,
106
156
  selfSend: params.selfSend,
107
157
  feeOptions: params.feeOptions,
158
+ feeToken: params.feeToken,
108
159
  hopParams: params.hopParams,
109
160
  isTss: params.isTss,
110
161
  nonce: params.nonce,
@@ -117,27 +168,71 @@ class MpcUtils {
117
168
  txid: params.lowFeeTxid,
118
169
  receiveAddress: params.receiveAddress,
119
170
  feeOptions: params.feeOptions,
171
+ feeToken: params.feeToken,
172
+ };
173
+ case 'tokenApproval':
174
+ return {
175
+ ...baseIntent,
176
+ tokenName: params.tokenName,
177
+ feeOptions: params.feeOptions,
178
+ feeToken: params.feeToken,
179
+ };
180
+ case 'bridgeFunds':
181
+ return {
182
+ ...baseIntent,
183
+ amount: params.amount,
184
+ feeOptions: params.feeOptions,
185
+ feeToken: params.feeToken,
186
+ };
187
+ case 'export':
188
+ return {
189
+ ...baseIntent,
190
+ feeOptions: params.feeOptions,
191
+ feeToken: params.feeToken,
192
+ nonce: params.nonce,
193
+ };
194
+ case 'enableToken':
195
+ return {
196
+ ...baseIntent,
197
+ enableTokens: params.enableTokens,
198
+ feeOptions: params.feeOptions,
199
+ feeToken: params.feeToken,
120
200
  };
121
201
  default:
122
202
  throw new Error(`Unsupported intent type ${params.intentType}`);
123
203
  }
124
204
  }
205
+ this.baseCoin.setCoinSpecificFieldsInIntent(baseIntent, params);
125
206
  if (params.feeOptions !== undefined) {
126
207
  return {
127
208
  ...baseIntent,
128
- memo: (_b = params.memo) === null || _b === void 0 ? void 0 : _b.value,
209
+ memo: params.memo?.value,
129
210
  token: params.tokenName,
130
211
  enableTokens: params.enableTokens,
131
212
  feeOptions: params.feeOptions,
213
+ feeToken: params.feeToken,
132
214
  };
133
215
  }
134
216
  return {
135
217
  ...baseIntent,
136
- memo: (_c = params.memo) === null || _c === void 0 ? void 0 : _c.value,
218
+ memo: params.memo?.value,
137
219
  token: params.tokenName,
138
220
  enableTokens: params.enableTokens,
221
+ feeToken: params.feeToken,
139
222
  };
140
223
  }
224
+ getTokenName(baseCoin, tokenData) {
225
+ if (tokenData.tokenName) {
226
+ return tokenData.tokenName;
227
+ }
228
+ const networkPrefix = baseCoin.getConfig().network.type === statics_1.NetworkType.TESTNET ? 't' : '';
229
+ const tokenStaticsKey = `${networkPrefix}${baseCoin.getFamily()}:${tokenData.tokenContractAddress}`;
230
+ if (statics_1.coins.has(tokenStaticsKey)) {
231
+ const tokenStatics = statics_1.coins.get(tokenStaticsKey);
232
+ tokenData.tokenName = tokenStatics.name;
233
+ }
234
+ return tokenData.tokenName;
235
+ }
141
236
  }
142
237
  exports.MpcUtils = MpcUtils;
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXBjVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvbXBjVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxvREFBNEI7QUFDNUIscUNBQWtGO0FBS2xGLGlEQUFnRTtBQVVoRSxNQUFzQixRQUFRO0lBSTVCLFlBQVksS0FBZ0IsRUFBRSxRQUFtQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRVMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFlBQW9CLEVBQUUsVUFBcUM7UUFDN0YsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLHFCQUFXLENBQUM7WUFDNUMsY0FBYyxFQUFFLFlBQVk7U0FDN0IsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLHdCQUFjLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFdEYsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixNQUFNLGlCQUFPLENBQUM7WUFDWixPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLGNBQWMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQ25DLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUFDO1FBRVAsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0lBRVMsS0FBSyxDQUFDLHVCQUF1QixDQUNyQyxVQUFxQyxFQUNyQyxZQUF1QyxFQUN2QyxZQUF5QixFQUN6QixjQUEyQixFQUMzQixPQUFnQixFQUNoQixVQUFtQjtRQUVuQixNQUFNLFFBQVEsR0FBRyxNQUFNLGdDQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sMEJBQVcsQ0FBQyxZQUFZLENB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SSwwQ0FBRSxLQUFLO2dCQUN4QixLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVM7Z0JBQ3ZCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtnQkFDakMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO2FBQzlCLENBQUM7U0FDSDtRQUVELE9BQU87WUFDTCxHQUFHLFVBQVU7WUFDYixJQUFJLEVBQUUsTUFBQSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxLQUFLO1lBQ3hCLEtBQUssRUFBRSxNQUFNLENBQUMsU0FBUztZQUN2QixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7U0FDbEMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXpLRCw0QkF5S0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBkZWNyeXB0LCByZWFkTWVzc2FnZSwgcmVhZFByaXZhdGVLZXksIFNlcmlhbGl6ZWRLZXlQYWlyIH0gZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBJQmFzZUNvaW4sIEtleWNoYWluc1RyaXBsZXQgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgQWRkS2V5Y2hhaW5PcHRpb25zLCBLZXljaGFpbiwgS2V5VHlwZSB9IGZyb20gJy4uL2tleWNoYWluJztcbmltcG9ydCB7IEJhY2t1cFByb3ZpZGVyIH0gZnJvbSAnLi4vd2FsbGV0JztcbmltcG9ydCB7IGVuY3J5cHRUZXh0LCBnZXRCaXRnb0dwZ1B1YktleSB9IGZyb20gJy4vb3BlbmdwZ1V0aWxzJztcbmltcG9ydCB7IEludGVudFJlY2lwaWVudCwgUG9wdWxhdGVkSW50ZW50LCBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMgfSBmcm9tICcuL3Rzcy9iYXNlVHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1wY0tleVNoYXJlIHtcbiAgcHVibGljU2hhcmU6IHN0cmluZztcbiAgcHJpdmF0ZVNoYXJlOiBzdHJpbmc7XG4gIHByaXZhdGVTaGFyZVByb29mPzogc3RyaW5nO1xuICB2c3NQcm9vZj86IHN0cmluZztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1wY1V0aWxzIHtcbiAgcHJvdGVjdGVkIGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByb3RlY3RlZCBiYXNlQ29pbjogSUJhc2VDb2luO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIGJhc2VDb2luOiBJQmFzZUNvaW4pIHtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gICAgdGhpcy5iYXNlQ29pbiA9IGJhc2VDb2luO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGRlY3J5cHRQcml2YXRlU2hhcmUocHJpdmF0ZVNoYXJlOiBzdHJpbmcsIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4pOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHByaXZhdGVTaGFyZU1lc3NhZ2UgPSBhd2FpdCByZWFkTWVzc2FnZSh7XG4gICAgICBhcm1vcmVkTWVzc2FnZTogcHJpdmF0ZVNoYXJlLFxuICAgIH0pO1xuICAgIGNvbnN0IHVzZXJHcGdQcml2YXRlS2V5ID0gYXdhaXQgcmVhZFByaXZhdGVLZXkoeyBhcm1vcmVkS2V5OiB1c2VyR3BnS2V5LnByaXZhdGVLZXkgfSk7XG5cbiAgICBjb25zdCBkZWNyeXB0ZWRQcml2YXRlU2hhcmUgPSAoXG4gICAgICBhd2FpdCBkZWNyeXB0KHtcbiAgICAgICAgbWVzc2FnZTogcHJpdmF0ZVNoYXJlTWVzc2FnZSxcbiAgICAgICAgZGVjcnlwdGlvbktleXM6IFt1c2VyR3BnUHJpdmF0ZUtleV0sXG4gICAgICAgIGZvcm1hdDogJ3V0ZjgnLFxuICAgICAgfSlcbiAgICApLmRhdGE7XG5cbiAgICByZXR1cm4gZGVjcnlwdGVkUHJpdmF0ZVNoYXJlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZUJpdGdvS2V5Y2hhaW5JbldQKFxuICAgIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgYmFja3VwR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIHVzZXJLZXlTaGFyZTogTXBjS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmU6IE1wY0tleVNoYXJlLFxuICAgIGtleVR5cGU6IEtleVR5cGUsXG4gICAgZW50ZXJwcmlzZT86IHN0cmluZ1xuICApOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29uc3QgYml0Z29LZXkgPSBhd2FpdCBnZXRCaXRnb0dwZ1B1YktleSh0aGlzLmJpdGdvKTtcbiAgICBjb25zdCBlbmNVc2VyVG9CaXRHb01lc3NhZ2UgPSBhd2FpdCBlbmNyeXB0VGV4dCh1c2VyS2V5U2hhcmUucHJpdmF0ZVNoYXJlLCBiaXRnb0tleSk7XG4gICAgY29uc3QgZW5jQmFja3VwVG9CaXRHb01lc3NhZ2UgPSBhd2FpdCBlbmNyeXB0VGV4dChiYWNrdXBLZXlTaGFyZS5wcml2YXRlU2hhcmUsIGJpdGdvS2V5KTtcblxuICAgIGNvbnN0IGNyZWF0ZUJpdEdvTVBDUGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7XG4gICAgICBrZXlUeXBlLFxuICAgICAgc291cmNlOiAnYml0Z28nLFxuICAgICAga2V5U2hhcmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tOiAndXNlcicsXG4gICAgICAgICAgdG86ICdiaXRnbycsXG4gICAgICAgICAgcHVibGljU2hhcmU6IHVzZXJLZXlTaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmU6IGVuY1VzZXJUb0JpdEdvTWVzc2FnZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmVQcm9vZjogdXNlcktleVNoYXJlLnByaXZhdGVTaGFyZVByb29mLFxuICAgICAgICAgIHZzc1Byb29mOiB1c2VyS2V5U2hhcmUudnNzUHJvb2YsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tOiAnYmFja3VwJyxcbiAgICAgICAgICB0bzogJ2JpdGdvJyxcbiAgICAgICAgICBwdWJsaWNTaGFyZTogYmFja3VwS2V5U2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgICAgcHJpdmF0ZVNoYXJlOiBlbmNCYWNrdXBUb0JpdEdvTWVzc2FnZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmVQcm9vZjogYmFja3VwS2V5U2hhcmUucHJpdmF0ZVNoYXJlUHJvb2YsXG4gICAgICAgICAgdnNzUHJvb2Y6IGJhY2t1cEtleVNoYXJlLnZzc1Byb29mLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHVzZXJHUEdQdWJsaWNLZXk6IHVzZXJHcGdLZXkucHVibGljS2V5LFxuICAgICAgYmFja3VwR1BHUHVibGljS2V5OiBiYWNrdXBHcGdLZXkucHVibGljS2V5LFxuICAgICAgZW50ZXJwcmlzZTogZW50ZXJwcmlzZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuYWRkKGNyZWF0ZUJpdEdvTVBDUGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIFVzZXIsIEJhY2t1cCwgYW5kIEJpdEdvIE1QQyBLZXljaGFpbnMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMucGFzc3BocmFzZSAtIHBhc3NwaHJhc2UgdXNlZCB0byBlbmNyeXB0IHNpZ25pbmcgbWF0ZXJpYWxzIGNyZWF0ZWQgZm9yIFVzZXIgYW5kIEJhY2t1cFxuICAgKiBAcGFyYW0gcGFyYW1zLmVudGVycHJpc2UgLSBvcHRpb25hbCBlbnRlcnByaXNlIGlkIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUgQml0R28gS2V5Y2hhaW5cbiAgICogQHBhcmFtIHBhcmFtcy5vcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUgLSBvcHRpb25hbCBlbmNyeXB0aW9uIGNvZGUgdXNlZCB0byByZXNldCB0aGUgdXNlcidzIHBhc3N3b3JkLCBpZiBhYnNlbnQsIHBhc3N3b3JkIHJlY292ZXJ5IHdpbGwgbm90IHdvcmtcbiAgICovXG4gIGFic3RyYWN0IGNyZWF0ZUtleWNoYWlucyhwYXJhbXM6IHtcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmc7XG4gICAgZW50ZXJwcmlzZT86IHN0cmluZztcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmc7XG4gICAgYmFja3VwUHJvdmlkZXI/OiBCYWNrdXBQcm92aWRlcjtcbiAgfSk6IFByb21pc2U8S2V5Y2hhaW5zVHJpcGxldD47XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gd291bGQgYmUgcmVzcG9uc2libGUgZm9yIHBvcHVsYXRpbmcgaW50ZW50c1xuICAgKiBiYXNlZCBvbiB0aGUgdHlwZSBvZiBjb2luIC8gc2lnIHNjaGVtZSB0aGUgY29pbiB1c2VzXG4gICAqIEBwYXJhbSB7SUJhc2VDb2lufSBiYXNlQ29pblxuICAgKiBAcGFyYW0ge1ByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9uc30gcGFyYW1zXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn1cbiAgICovXG4gIHBvcHVsYXRlSW50ZW50KGJhc2VDb2luOiBJQmFzZUNvaW4sIHBhcmFtczogUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zKTogUG9wdWxhdGVkSW50ZW50IHtcbiAgICBjb25zdCBjaGFpbiA9IHRoaXMuYmFzZUNvaW4uZ2V0Q2hhaW4oKTtcblxuICAgIGlmICghWydhY2NlbGVyYXRpb24nLCAnZmlsbE5vbmNlJywgJ3RyYW5zZmVyVG9rZW4nXS5pbmNsdWRlcyhwYXJhbXMuaW50ZW50VHlwZSkpIHtcbiAgICAgIGFzc2VydChwYXJhbXMucmVjaXBpZW50cywgYCdyZWNpcGllbnRzJyBpcyBhIHJlcXVpcmVkIHBhcmFtZXRlciBmb3IgJHtwYXJhbXMuaW50ZW50VHlwZX0gaW50ZW50YCk7XG4gICAgfVxuICAgIGNvbnN0IGludGVudFJlY2lwaWVudHMgPSBwYXJhbXMucmVjaXBpZW50cz8ubWFwKChyZWNpcGllbnQpID0+IHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZFJlY2lwaWVudDogSW50ZW50UmVjaXBpZW50ID0ge1xuICAgICAgICBhZGRyZXNzOiB7IGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzIH0sXG4gICAgICAgIGFtb3VudDogeyB2YWx1ZTogYCR7cmVjaXBpZW50LmFtb3VudH1gLCBzeW1ib2w6IHJlY2lwaWVudC50b2tlbk5hbWUgPyByZWNpcGllbnQudG9rZW5OYW1lIDogY2hhaW4gfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChyZWNpcGllbnQuZGF0YSkge1xuICAgICAgICBmb3JtYXR0ZWRSZWNpcGllbnQuZGF0YSA9IHJlY2lwaWVudC5kYXRhO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHRva2VuRGF0YSB9ID0gcmVjaXBpZW50O1xuICAgICAgaWYgKHRva2VuRGF0YSAmJiAodG9rZW5EYXRhLnRva2VuQ29udHJhY3RBZGRyZXNzIHx8IHRva2VuRGF0YS50b2tlbk5hbWUpKSB7XG4gICAgICAgIC8vIHRva2VuIHJlbGF0ZWQgcmVjaXBpZW50IGRhdGEgZ2V0cyB2YWxpZGF0ZWQgaW4gV1BcbiAgICAgICAgaWYgKCEodG9rZW5EYXRhLnRva2VuVHlwZSAmJiB0b2tlbkRhdGEudG9rZW5RdWFudGl0eSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAndG9rZW4gdHlwZSBhbmQgcXVhbnRpdHkgaXMgcmVxdWlyZWQgdG8gcmVxdWVzdCBhIHRyYW5zYWN0aW9uIHdpdGggaW50ZW50IHRvIHRyYW5zZmVyIGEgdG9rZW4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBmb3JtYXR0ZWRSZWNpcGllbnQudG9rZW5EYXRhID0gdG9rZW5EYXRhO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZvcm1hdHRlZFJlY2lwaWVudDtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VJbnRlbnQgPSB7XG4gICAgICBpbnRlbnRUeXBlOiBwYXJhbXMuaW50ZW50VHlwZSxcbiAgICAgIHNlcXVlbmNlSWQ6IHBhcmFtcy5zZXF1ZW5jZUlkLFxuICAgICAgY29tbWVudDogcGFyYW1zLmNvbW1lbnQsXG4gICAgICBub25jZTogcGFyYW1zLm5vbmNlLFxuICAgICAgcmVjaXBpZW50czogaW50ZW50UmVjaXBpZW50cyxcbiAgICB9O1xuXG4gICAgaWYgKGJhc2VDb2luLmdldEZhbWlseSgpID09PSAnZXRoJyB8fCBiYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gJ3BvbHlnb24nIHx8IGJhc2VDb2luLmdldEZhbWlseSgpID09PSAnYnNjJykge1xuICAgICAgc3dpdGNoIChwYXJhbXMuaW50ZW50VHlwZSkge1xuICAgICAgICBjYXNlICdwYXltZW50JzpcbiAgICAgICAgY2FzZSAndHJhbnNmZXJUb2tlbic6XG4gICAgICAgIGNhc2UgJ2ZpbGxOb25jZSc6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmJhc2VJbnRlbnQsXG4gICAgICAgICAgICBzZWxmU2VuZDogcGFyYW1zLnNlbGZTZW5kLFxuICAgICAgICAgICAgZmVlT3B0aW9uczogcGFyYW1zLmZlZU9wdGlvbnMsXG4gICAgICAgICAgICBob3BQYXJhbXM6IHBhcmFtcy5ob3BQYXJhbXMsXG4gICAgICAgICAgICBpc1RzczogcGFyYW1zLmlzVHNzLFxuICAgICAgICAgICAgbm9uY2U6IHBhcmFtcy5ub25jZSxcbiAgICAgICAgICAgIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ6IHBhcmFtcy5jdXN0b2RpYW5UcmFuc2FjdGlvbklkLFxuICAgICAgICAgICAgcmVjZWl2ZUFkZHJlc3M6IHBhcmFtcy5yZWNlaXZlQWRkcmVzcyxcbiAgICAgICAgICB9O1xuICAgICAgICBjYXNlICdhY2NlbGVyYXRpb24nOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5iYXNlSW50ZW50LFxuICAgICAgICAgICAgdHhpZDogcGFyYW1zLmxvd0ZlZVR4aWQsXG4gICAgICAgICAgICByZWNlaXZlQWRkcmVzczogcGFyYW1zLnJlY2VpdmVBZGRyZXNzLFxuICAgICAgICAgICAgZmVlT3B0aW9uczogcGFyYW1zLmZlZU9wdGlvbnMsXG4gICAgICAgICAgfTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGludGVudCB0eXBlICR7cGFyYW1zLmludGVudFR5cGV9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5mZWVPcHRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmJhc2VJbnRlbnQsXG4gICAgICAgIG1lbW86IHBhcmFtcy5tZW1vPy52YWx1ZSxcbiAgICAgICAgdG9rZW46IHBhcmFtcy50b2tlbk5hbWUsXG4gICAgICAgIGVuYWJsZVRva2VuczogcGFyYW1zLmVuYWJsZVRva2VucyxcbiAgICAgICAgZmVlT3B0aW9uczogcGFyYW1zLmZlZU9wdGlvbnMsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5iYXNlSW50ZW50LFxuICAgICAgbWVtbzogcGFyYW1zLm1lbW8/LnZhbHVlLFxuICAgICAgdG9rZW46IHBhcmFtcy50b2tlbk5hbWUsXG4gICAgICBlbmFibGVUb2tlbnM6IHBhcmFtcy5lbmFibGVUb2tlbnMsXG4gICAgfTtcbiAgfVxufVxuIl19
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXBjVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvbXBjVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxvREFBNEI7QUFDNUIscUNBQWtGO0FBSWxGLGlEQUFnRTtBQU9oRSxzREFBd0Y7QUFDeEYsaURBQXlEO0FBU3pELE1BQXNCLFFBQVE7SUFJNUIsWUFBWSxLQUFnQixFQUFFLFFBQW1CO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFUyxLQUFLLENBQUMsbUJBQW1CLENBQUMsWUFBb0IsRUFBRSxVQUFxQztRQUM3RixNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBQSxxQkFBVyxFQUFDO1lBQzVDLGNBQWMsRUFBRSxZQUFZO1NBQzdCLENBQUMsQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFBLHdCQUFjLEVBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFdEYsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixNQUFNLElBQUEsaUJBQU8sRUFBQztZQUNaLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsY0FBYyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDbkMsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDLENBQ0gsQ0FBQyxJQUFJLENBQUM7UUFFUCxPQUFPLHFCQUFxQixDQUFDO0lBQy9CLENBQUM7SUFFUyxLQUFLLENBQUMsdUJBQXVCLENBQ3JDLFVBQXFDLEVBQ3JDLFlBQXVDLEVBQ3ZDLFlBQXlCLEVBQ3pCLGNBQTJCLEVBQzNCLE9BQWdCLEVBQ2hCLFVBQW1CO1FBRW5CLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxJQUFBLGdDQUFpQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMs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QUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUsscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNGLE1BQU0sZUFBZSxHQUFHLEdBQUcsYUFBYSxHQUFHLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxTQUFTLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNwRyxJQUFJLGVBQUssQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUMvQixNQUFNLFlBQVksR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2hELFNBQVMsQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQzdCLENBQUM7Q0FDRjtBQXBTRCw0QkFvU0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBkZWNyeXB0LCByZWFkTWVzc2FnZSwgcmVhZFByaXZhdGVLZXksIFNlcmlhbGl6ZWRLZXlQYWlyIH0gZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBJQmFzZUNvaW4sIEtleWNoYWluc1RyaXBsZXQgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgQWRkS2V5Y2hhaW5PcHRpb25zLCBLZXljaGFpbiwgS2V5VHlwZSwgV2ViYXV0aG5LZXlFbmNyeXB0aW9uSW5mbyB9IGZyb20gJy4uL2tleWNoYWluJztcbmltcG9ydCB7IGVuY3J5cHRUZXh0LCBnZXRCaXRnb0dwZ1B1YktleSB9IGZyb20gJy4vb3BlbmdwZ1V0aWxzJztcbmltcG9ydCB7XG4gIEludGVudFJlY2lwaWVudCxcbiAgUG9wdWxhdGVkSW50ZW50LFxuICBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMsXG4gIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsXG59IGZyb20gJy4vdHNzL2Jhc2VUeXBlcyc7XG5pbXBvcnQgeyBlbnZSZXF1aXJlc0JpdGdvUHViR3BnS2V5Q29uZmlnLCBpc0JpdGdvTXBjUHViS2V5IH0gZnJvbSAnLi4vdHNzL2JpdGdvUHViS2V5cyc7XG5pbXBvcnQgeyBjb2lucywgTmV0d29ya1R5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZXhwb3J0IGludGVyZmFjZSBNcGNLZXlTaGFyZSB7XG4gIHB1YmxpY1NoYXJlOiBzdHJpbmc7XG4gIHByaXZhdGVTaGFyZTogc3RyaW5nO1xuICBwcml2YXRlU2hhcmVQcm9vZj86IHN0cmluZztcbiAgdnNzUHJvb2Y/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNcGNVdGlscyB7XG4gIHByb3RlY3RlZCBiaXRnbzogQml0R29CYXNlO1xuICBwcm90ZWN0ZWQgYmFzZUNvaW46IElCYXNlQ29pbjtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBiYXNlQ29pbjogSUJhc2VDb2luKSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMuYmFzZUNvaW4gPSBiYXNlQ29pbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBkZWNyeXB0UHJpdmF0ZVNoYXJlKHByaXZhdGVTaGFyZTogc3RyaW5nLCB1c2VyR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBwcml2YXRlU2hhcmVNZXNzYWdlID0gYXdhaXQgcmVhZE1lc3NhZ2Uoe1xuICAgICAgYXJtb3JlZE1lc3NhZ2U6IHByaXZhdGVTaGFyZSxcbiAgICB9KTtcbiAgICBjb25zdCB1c2VyR3BnUHJpdmF0ZUtleSA9IGF3YWl0IHJlYWRQcml2YXRlS2V5KHsgYXJtb3JlZEtleTogdXNlckdwZ0tleS5wcml2YXRlS2V5IH0pO1xuXG4gICAgY29uc3QgZGVjcnlwdGVkUHJpdmF0ZVNoYXJlID0gKFxuICAgICAgYXdhaXQgZGVjcnlwdCh7XG4gICAgICAgIG1lc3NhZ2U6IHByaXZhdGVTaGFyZU1lc3NhZ2UsXG4gICAgICAgIGRlY3J5cHRpb25LZXlzOiBbdXNlckdwZ1ByaXZhdGVLZXldLFxuICAgICAgICBmb3JtYXQ6ICd1dGY4JyxcbiAgICAgIH0pXG4gICAgKS5kYXRhO1xuXG4gICAgcmV0dXJuIGRlY3J5cHRlZFByaXZhdGVTaGFyZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjcmVhdGVCaXRnb0tleWNoYWluSW5XUChcbiAgICB1c2VyR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIGJhY2t1cEdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IE1wY0tleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlOiBNcGNLZXlTaGFyZSxcbiAgICBrZXlUeXBlOiBLZXlUeXBlLFxuICAgIGVudGVycHJpc2U/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IGJpdGdvS2V5ID0gKGF3YWl0IGdldEJpdGdvR3BnUHViS2V5KHRoaXMuYml0Z28pKS5tcGNWMTtcbiAgICBpZiAoZW52UmVxdWlyZXNCaXRnb1B1YkdwZ0tleUNvbmZpZyh0aGlzLmJpdGdvLmdldEVudigpKSkge1xuICAgICAgLy8gRW5zdXJlIHRoZSBwdWJsaWMga2V5IGlzIG9uZSBvZiB0aGUgZXhwZWN0ZWQgQml0R28gcHVibGljIGtleXMgd2hlbiBpbiB0ZXN0IG9yIHByb2QuXG4gICAgICBhc3NlcnQoaXNCaXRnb01wY1B1YktleShiaXRnb0tleS5hcm1vcigpLCAnbXBjdjEnKSwgJ0ludmFsaWQgQml0R28gR1BHIHB1YmxpYyBrZXknKTtcbiAgICB9XG4gICAgY29uc3QgZW5jVXNlclRvQml0R29NZXNzYWdlID0gYXdhaXQgZW5jcnlwdFRleHQodXNlcktleVNoYXJlLnByaXZhdGVTaGFyZSwgYml0Z29LZXkpO1xuICAgIGNvbnN0IGVuY0JhY2t1cFRvQml0R29NZXNzYWdlID0gYXdhaXQgZW5jcnlwdFRleHQoYmFja3VwS2V5U2hhcmUucHJpdmF0ZVNoYXJlLCBiaXRnb0tleSk7XG5cbiAgICBjb25zdCBjcmVhdGVCaXRHb01QQ1BhcmFtczogQWRkS2V5Y2hhaW5PcHRpb25zID0ge1xuICAgICAga2V5VHlwZSxcbiAgICAgIHNvdXJjZTogJ2JpdGdvJyxcbiAgICAgIGtleVNoYXJlczogW1xuICAgICAgICB7XG4gICAgICAgICAgZnJvbTogJ3VzZXInLFxuICAgICAgICAgIHRvOiAnYml0Z28nLFxuICAgICAgICAgIHB1YmxpY1NoYXJlOiB1c2VyS2V5U2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgICAgcHJpdmF0ZVNoYXJlOiBlbmNVc2VyVG9CaXRHb01lc3NhZ2UsXG4gICAgICAgICAgcHJpdmF0ZVNoYXJlUHJvb2Y6IHVzZXJLZXlTaGFyZS5wcml2YXRlU2hhcmVQcm9vZixcbiAgICAgICAgICB2c3NQcm9vZjogdXNlcktleVNoYXJlLnZzc1Byb29mLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZnJvbTogJ2JhY2t1cCcsXG4gICAgICAgICAgdG86ICdiaXRnbycsXG4gICAgICAgICAgcHVibGljU2hhcmU6IGJhY2t1cEtleVNoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgICAgIHByaXZhdGVTaGFyZTogZW5jQmFja3VwVG9CaXRHb01lc3NhZ2UsXG4gICAgICAgICAgcHJpdmF0ZVNoYXJlUHJvb2Y6IGJhY2t1cEtleVNoYXJlLnByaXZhdGVTaGFyZVByb29mLFxuICAgICAgICAgIHZzc1Byb29mOiBiYWNrdXBLZXlTaGFyZS52c3NQcm9vZixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB1c2VyR1BHUHVibGljS2V5OiB1c2VyR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIGJhY2t1cEdQR1B1YmxpY0tleTogYmFja3VwR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIGVudGVycHJpc2U6IGVudGVycHJpc2UsXG4gICAgfTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJhc2VDb2luLmtleWNoYWlucygpLmFkZChjcmVhdGVCaXRHb01QQ1BhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBVc2VyLCBCYWNrdXAsIGFuZCBCaXRHbyBNUEMgS2V5Y2hhaW5zLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zLnBhc3NwaHJhc2UgLSBwYXNzcGhyYXNlIHVzZWQgdG8gZW5jcnlwdCBzaWduaW5nIG1hdGVyaWFscyBjcmVhdGVkIGZvciBVc2VyIGFuZCBCYWNrdXBcbiAgICogQHBhcmFtIHBhcmFtcy5lbnRlcnByaXNlIC0gb3B0aW9uYWwgZW50ZXJwcmlzZSBpZCB0aGF0IHdpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIEJpdEdvIEtleWNoYWluXG4gICAqIEBwYXJhbSBwYXJhbXMub3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlIC0gb3B0aW9uYWwgZW5jcnlwdGlvbiBjb2RlIHVzZWQgdG8gcmVzZXQgdGhlIHVzZXIncyBwYXNzd29yZCwgaWYgYWJzZW50LCBwYXNzd29yZCByZWNvdmVyeSB3aWxsIG5vdCB3b3JrXG4gICAqL1xuICBhYnN0cmFjdCBjcmVhdGVLZXljaGFpbnMocGFyYW1zOiB7XG4gICAgcGFzc3BocmFzZTogc3RyaW5nO1xuICAgIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nO1xuICAgIHdlYmF1dGhuSW5mbz86IFdlYmF1dGhuS2V5RW5jcnlwdGlvbkluZm87XG4gIH0pOiBQcm9taXNlPEtleWNoYWluc1RyaXBsZXQ+O1xuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHdvdWxkIGJlIHJlc3BvbnNpYmxlIGZvciBwb3B1bGF0aW5nIGludGVudHNcbiAgICogYmFzZWQgb24gdGhlIHR5cGUgb2YgY29pbiAvIHNpZyBzY2hlbWUgdGhlIGNvaW4gdXNlc1xuICAgKiBAcGFyYW0ge0lCYXNlQ29pbn0gYmFzZUNvaW5cbiAgICogQHBhcmFtIHtQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnN9IHBhcmFtc1xuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59XG4gICAqL1xuICBwb3B1bGF0ZUludGVudChiYXNlQ29pbjogSUJhc2VDb2luLCBwYXJhbXM6IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyk6IFBvcHVsYXRlZEludGVudCB7XG4gICAgY29uc3QgY2hhaW4gPSB0aGlzLmJhc2VDb2luLmdldENoYWluKCk7XG5cbiAgICBpZiAocGFyYW1zLmludGVudFR5cGUgPT09ICdjdXN0b21UeCcgJiYgYmFzZUNvaW4uZ2V0RmFtaWx5KCkgPT09ICdzb2wnKSB7XG4gICAgICBjb25zdCBoYXNTb2xJbnN0cnVjdGlvbnMgPSBwYXJhbXMuc29sSW5zdHJ1Y3Rpb25zICYmIHBhcmFtcy5zb2xJbnN0cnVjdGlvbnMubGVuZ3RoID4gMDtcbiAgICAgIGNvbnN0IGhhc1ZlcnNpb25lZERhdGEgPVxuICAgICAgICBwYXJhbXMuc29sVmVyc2lvbmVkVHJhbnNhY3Rpb25EYXRhICYmXG4gICAgICAgIHBhcmFtcy5zb2xWZXJzaW9uZWRUcmFuc2FjdGlvbkRhdGEudmVyc2lvbmVkSW5zdHJ1Y3Rpb25zICYmXG4gICAgICAgIHBhcmFtcy5zb2xWZXJzaW9uZWRUcmFuc2FjdGlvbkRhdGEudmVyc2lvbmVkSW5zdHJ1Y3Rpb25zLmxlbmd0aCA+IDA7XG5cbiAgICAgIGFzc2VydChcbiAgICAgICAgaGFzU29sSW5zdHJ1Y3Rpb25zIHx8IGhhc1ZlcnNpb25lZERhdGEsXG4gICAgICAgIGAnc29sSW5zdHJ1Y3Rpb25zJyBvciAnc29sVmVyc2lvbmVkVHJhbnNhY3Rpb25EYXRhJyBpcyByZXF1aXJlZCBmb3IgY3VzdG9tVHggaW50ZW50YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLmludGVudFR5cGUgPT09ICdjdXN0b21UeCcgJiYgYmFzZUNvaW4uZ2V0RmFtaWx5KCkgPT09ICdhcHQnKSB7XG4gICAgICBhc3NlcnQoXG4gICAgICAgIHBhcmFtcy5hcHRvc0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zLFxuICAgICAgICBgJ2FwdG9zQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMnIGlzIGEgcmVxdWlyZWQgcGFyYW1ldGVyIGZvciBjdXN0b21UeCBpbnRlbnRgXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChbJ3RyYW5zZmVyQWNjZXB0JywgJ3RyYW5zZmVyUmVqZWN0J10uaW5jbHVkZXMocGFyYW1zLmludGVudFR5cGUpICYmIGJhc2VDb2luLmdldEZhbWlseSgpID09PSAnY2FudG9uJykge1xuICAgICAgYXNzZXJ0KHBhcmFtcy50eFJlcXVlc3RJZCwgYCd0eFJlcXVlc3RJZCcgaXMgcmVxdWlyZWQgcGFyYW1ldGVyIGZvciAke3BhcmFtcy5pbnRlbnRUeXBlfSBpbnRlbnRgKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLmludGVudFR5cGUgPT09ICd0cmFuc2Zlck9mZmVyV2l0aGRyYXduJyAmJiBiYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gJ2NhbnRvbicpIHtcbiAgICAgIGFzc2VydChwYXJhbXMudHJhbnNmZXJPZmZlcklkLCBgJ3RyYW5zZmVyT2ZmZXJJZCcgaXMgcmVxdWlyZWQgcGFyYW1ldGVyIGZvciAke3BhcmFtcy5pbnRlbnRUeXBlfSBpbnRlbnRgKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLmludGVudFR5cGUgPT09ICdjYW50b25Db21tYW5kJykge1xuICAgICAgYXNzZXJ0KGJhc2VDb2luLmdldEZhbWlseSgpID09PSAnY2FudG9uJywgYCdjYW50b25Db21tYW5kJyBpbnRlbnQgaXMgb25seSBzdXBwb3J0ZWQgZm9yIHRoZSBjYW50b24gY29pbiBmYW1pbHlgKTtcblxuICAgICAgY29uc3QgeyBjYW50b25Db21tYW5kUGFyYW1zIH0gPSBwYXJhbXM7XG4gICAgICBhc3NlcnQoY2FudG9uQ29tbWFuZFBhcmFtcywgYCdjYW50b25Db21tYW5kUGFyYW1zJyBpcyByZXF1aXJlZCBmb3IgJHtwYXJhbXMuaW50ZW50VHlwZX0gaW50ZW50YCk7XG5cbiAgICAgIGNvbnN0IGlzUGxhaW5PYmplY3QgPSAodjogdW5rbm93bik6IGJvb2xlYW4gPT5cbiAgICAgICAgdiAhPT0gbnVsbCAmJiB2ICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIHYgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHYpO1xuXG4gICAgICBjb25zdCB7IGNvbW1hbmQsIGFjdEFzIH0gPSBjYW50b25Db21tYW5kUGFyYW1zO1xuICAgICAgYXNzZXJ0KGlzUGxhaW5PYmplY3QoY29tbWFuZCksIGAnY2FudG9uQ29tbWFuZFBhcmFtcy5jb21tYW5kJyBtdXN0IGJlIGEgbm9uLW51bGwgcGxhaW4gb2JqZWN0YCk7XG5cbiAgICAgIGNvbnN0IGhhc0NyZWF0ZSA9ICdDcmVhdGVDb21tYW5kJyBpbiBjb21tYW5kICYmIGlzUGxhaW5PYmplY3QoY29tbWFuZFsnQ3JlYXRlQ29tbWFuZCddKTtcbiAgICAgIGNvbnN0IGhhc0V4ZXJjaXNlID0gJ0V4ZXJjaXNlQ29tbWFuZCcgaW4gY29tbWFuZCAmJiBpc1BsYWluT2JqZWN0KGNvbW1hbmRbJ0V4ZXJjaXNlQ29tbWFuZCddKTtcbiAgICAgIGFzc2VydChcbiAgICAgICAgaGFzQ3JlYXRlICE9PSBoYXNFeGVyY2lzZSxcbiAgICAgICAgYCdjYW50b25Db21tYW5kUGFyYW1zLmNvbW1hbmQnIG11c3QgY29udGFpbiBleGFjdGx5IG9uZSBvZiBDcmVhdGVDb21tYW5kIG9yIEV4ZXJjaXNlQ29tbWFuZCBhcyBhIG5vbi1udWxsIHBsYWluIG9iamVjdGBcbiAgICAgICk7XG5cbiAgICAgIGFzc2VydChcbiAgICAgICAgQXJyYXkuaXNBcnJheShhY3RBcykgJiYgYWN0QXMubGVuZ3RoID4gMCAmJiBhY3RBcy5ldmVyeSgocCkgPT4gdHlwZW9mIHAgPT09ICdzdHJpbmcnICYmIHAudHJpbSgpICE9PSAnJyksXG4gICAgICAgIGAnY2FudG9uQ29tbWFuZFBhcmFtcy5hY3RBcycgbXVzdCBiZSBhIG5vbi1lbXB0eSBhcnJheSBvZiBub24tZW1wdHkgc3RyaW5ncyBmb3IgJHtwYXJhbXMuaW50ZW50VHlwZX0gaW50ZW50YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhW1xuICAgICAgICAnYWNjZWxlcmF0aW9uJyxcbiAgICAgICAgJ2ZpbGxOb25jZScsXG4gICAgICAgICd0cmFuc2ZlclRva2VuJyxcbiAgICAgICAgJ3Rva2VuQXBwcm92YWwnLFxuICAgICAgICAnY3VzdG9tVHgnLFxuICAgICAgICAndHJhbnNmZXJBY2NlcHQnLFxuICAgICAgICAndHJhbnNmZXJSZWplY3QnLFxuICAgICAgICAndHJhbnNmZXJPZmZlcldpdGhkcmF3bicsXG4gICAgICAgICdicmlkZ2VGdW5kcycsXG4gICAgICAgICdjYW50b25Db21tYW5kJyxcbiAgICAgIF0uaW5jbHVkZXMocGFyYW1zLmludGVudFR5cGUpXG4gICAgKSB7XG4gICAgICBhc3NlcnQocGFyYW1zLnJlY2lwaWVudHMsIGAncmVjaXBpZW50cycgaXMgYSByZXF1aXJlZCBwYXJhbWV0ZXIgZm9yICR7cGFyYW1zLmludGVudFR5cGV9IGludGVudGApO1xuICAgIH1cbiAgICBjb25zdCBpbnRlbnRSZWNpcGllbnRzID0gcGFyYW1zLnJlY2lwaWVudHM/Lm1hcCgocmVjaXBpZW50KSA9PiB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRSZWNpcGllbnQ6IEludGVudFJlY2lwaWVudCA9IHtcbiAgICAgICAgYWRkcmVzczogeyBhZGRyZXNzOiByZWNpcGllbnQuYWRkcmVzcyB9LFxuICAgICAgICBhbW91bnQ6IHsgdmFsdWU6IGAke3JlY2lwaWVudC5hbW91bnR9YCwgc3ltYm9sOiByZWNpcGllbnQudG9rZW5OYW1lID8gcmVjaXBpZW50LnRva2VuTmFtZSA6IGNoYWluIH0sXG4gICAgICB9O1xuXG4gICAgICBpZiAocmVjaXBpZW50LmRhdGEpIHtcbiAgICAgICAgZm9ybWF0dGVkUmVjaXBpZW50LmRhdGEgPSByZWNpcGllbnQuZGF0YTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyB0b2tlbkRhdGEgfSA9IHJlY2lwaWVudDtcbiAgICAgIGlmICh0b2tlbkRhdGEgJiYgKHRva2VuRGF0YS50b2tlbkNvbnRyYWN0QWRkcmVzcyB8fCB0b2tlbkRhdGEudG9rZW5OYW1lKSkge1xuICAgICAgICAvLyB0b2tlbiByZWxhdGVkIHJlY2lwaWVudCBkYXRhIGdldHMgdmFsaWRhdGVkIGluIFdQXG4gICAgICAgIGlmICghKHRva2VuRGF0YS50b2tlblR5cGUgJiYgdG9rZW5EYXRhLnRva2VuUXVhbnRpdHkpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ3Rva2VuIHR5cGUgYW5kIHF1YW50aXR5IGlzIHJlcXVpcmVkIHRvIHJlcXVlc3QgYSB0cmFuc2FjdGlvbiB3aXRoIGludGVudCB0byB0cmFuc2ZlciBhIHRva2VuJ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdG9rZW5EYXRhLnRva2VuTmFtZSA9IHRoaXMuZ2V0VG9rZW5OYW1lKGJhc2VDb2luLCB0b2tlbkRhdGEpO1xuICAgICAgICBpZiAodG9rZW5EYXRhLnRva2VuTmFtZSkge1xuICAgICAgICAgIGZvcm1hdHRlZFJlY2lwaWVudC5hbW91bnQuc3ltYm9sID0gdG9rZW5EYXRhLnRva2VuTmFtZTtcbiAgICAgICAgfVxuICAgICAgICBmb3JtYXR0ZWRSZWNpcGllbnQudG9rZW5EYXRhID0gdG9rZW5EYXRhO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZvcm1hdHRlZFJlY2lwaWVudDtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VJbnRlbnQ6IFBvcHVsYXRlZEludGVudCA9IHtcbiAgICAgIGludGVudFR5cGU6IHBhcmFtcy5pbnRlbnRUeXBlLFxuICAgICAgc2VxdWVuY2VJZDogcGFyYW1zLnNlcXVlbmNlSWQsXG4gICAgICBjb21tZW50OiBwYXJhbXMuY29tbWVudCxcbiAgICAgIG5vbmNlOiBwYXJhbXMubm9uY2UsXG4gICAgICByZWNpcGllbnRzOiBpbnRlbnRSZWNpcGllbnRzLFxuICAgICAgdG9rZW5OYW1lOiBwYXJhbXMudG9rZW5OYW1lLFxuICAgICAgaXNUZXN0VHJhbnNhY3Rpb246IHBhcmFtcy5pc1Rlc3RUcmFuc2FjdGlvbixcbiAgICB9O1xuXG4gICAgaWYgKGJhc2VDb2luLmlzRVZNKCkgJiYgYmFzZUNvaW4uc3VwcG9ydHNUc3MoKSkge1xuICAgICAgc3dpdGNoIChwYXJhbXMuaW50ZW50VHlwZSkge1xuICAgICAgICBjYXNlICdwYXltZW50JzpcbiAgICAgICAgY2FzZSAndHJhbnNmZXJUb2tlbic6XG4gICAgICAgIGNhc2UgJ2ZpbGxOb25jZSc6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmJhc2VJbnRlbnQsXG4gICAgICAgICAgICBzZWxmU2VuZDogcGFyYW1zLnNlbGZTZW5kLFxuICAgICAgICAgICAgZmVlT3B0aW9uczogcGFyYW1zLmZlZU9wdGlvbnMsXG4gICAgICAgICAgICBmZWVUb2tlbjogcGFyYW1zLmZlZVRva2VuLFxuICAgICAgICAgICAgaG9wUGFyYW1zOiBwYXJhbXMuaG9wUGFyYW1zLFxuICAgICAgICAgICAgaXNUc3M6IHBhcmFtcy5pc1RzcyxcbiAgICAgICAgICAgIG5vbmNlOiBwYXJhbXMubm9uY2UsXG4gICAgICAgICAgICBjdXN0b2RpYW5UcmFuc2FjdGlvbklkOiBwYXJhbXMuY3VzdG9kaWFuVHJhbnNhY3Rpb25JZCxcbiAgICAgICAgICAgIHJlY2VpdmVBZGRyZXNzOiBwYXJhbXMucmVjZWl2ZUFkZHJlc3MsXG4gICAgICAgICAgfTtcbiAgICAgICAgY2FzZSAnYWNjZWxlcmF0aW9uJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZUludGVudCxcbiAgICAgICAgICAgIHR4aWQ6IHBhcmFtcy5sb3dGZWVUeGlkLFxuICAgICAgICAgICAgcmVjZWl2ZUFkZHJlc3M6IHBhcmFtcy5yZWNlaXZlQWRkcmVzcyxcbiAgICAgICAgICAgIGZlZU9wdGlvbnM6IHBhcmFtcy5mZWVPcHRpb25zLFxuICAgICAgICAgICAgZmVlVG9rZW46IHBhcmFtcy5mZWVUb2tlbixcbiAgICAgICAgICB9O1xuICAgICAgICBjYXNlICd0b2tlbkFwcHJvdmFsJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZUludGVudCxcbiAgICAgICAgICAgIHRva2VuTmFtZTogcGFyYW1zLnRva2VuTmFtZSxcbiAgICAgICAgICAgIGZlZU9wdGlvbnM6IHBhcmFtcy5mZWVPcHRpb25zLFxuICAgICAgICAgICAgZmVlVG9rZW46IHBhcmFtcy5mZWVUb2tlbixcbiAgICAgICAgICB9O1xuICAgICAgICBjYXNlICdicmlkZ2VGdW5kcyc6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmJhc2VJbnRlbnQsXG4gICAgICAgICAgICBhbW91bnQ6IHBhcmFtcy5hbW91bnQsXG4gICAgICAgICAgICBmZWVPcHRpb25zOiBwYXJhbXMuZmVlT3B0aW9ucyxcbiAgICAgICAgICAgIGZlZVRva2VuOiBwYXJhbXMuZmVlVG9rZW4sXG4gICAgICAgICAgfTtcbiAgICAgICAgY2FzZSAnZXhwb3J0JzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZUludGVudCxcbiAgICAgICAgICAgIGZlZU9wdGlvbnM6IHBhcmFtcy5mZWVPcHRpb25zLFxuICAgICAgICAgICAgZmVlVG9rZW46IHBhcmFtcy5mZWVUb2tlbixcbiAgICAgICAgICAgIG5vbmNlOiBwYXJhbXMubm9uY2UsXG4gICAgICAgICAgfTtcbiAgICAgICAgY2FzZSAnZW5hYmxlVG9rZW4nOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5iYXNlSW50ZW50LFxuICAgICAgICAgICAgZW5hYmxlVG9rZW5zOiBwYXJhbXMuZW5hYmxlVG9rZW5zLFxuICAgICAgICAgICAgZmVlT3B0aW9uczogcGFyYW1zLmZlZU9wdGlvbnMsXG4gICAgICAgICAgICBmZWVUb2tlbjogcGFyYW1zLmZlZVRva2VuLFxuICAgICAgICAgIH07XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBpbnRlbnQgdHlwZSAke3BhcmFtcy5pbnRlbnRUeXBlfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuYmFzZUNvaW4uc2V0Q29pblNwZWNpZmljRmllbGRzSW5JbnRlbnQoYmFzZUludGVudCwgcGFyYW1zKTtcblxuICAgIGlmIChwYXJhbXMuZmVlT3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5iYXNlSW50ZW50LFxuICAgICAgICBtZW1vOiBwYXJhbXMubWVtbz8udmFsdWUsXG4gICAgICAgIHRva2VuOiBwYXJhbXMudG9rZW5OYW1lLFxuICAgICAgICBlbmFibGVUb2tlbnM6IHBhcmFtcy5lbmFibGVUb2tlbnMsXG4gICAgICAgIGZlZU9wdGlvbnM6IHBhcmFtcy5mZWVPcHRpb25zLFxuICAgICAgICBmZWVUb2tlbjogcGFyYW1zLmZlZVRva2VuLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmFzZUludGVudCxcbiAgICAgIG1lbW86IHBhcmFtcy5tZW1vPy52YWx1ZSxcbiAgICAgIHRva2VuOiBwYXJhbXMudG9rZW5OYW1lLFxuICAgICAgZW5hYmxlVG9rZW5zOiBwYXJhbXMuZW5hYmxlVG9rZW5zLFxuICAgICAgZmVlVG9rZW46IHBhcmFtcy5mZWVUb2tlbixcbiAgICB9O1xuICB9XG5cbiAgZ2V0VG9rZW5OYW1lKGJhc2VDb2luOiBJQmFzZUNvaW4sIHRva2VuRGF0YTogVG9rZW5UcmFuc2ZlclJlY2lwaWVudFBhcmFtcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRva2VuRGF0YS50b2tlbk5hbWUpIHtcbiAgICAgIHJldHVybiB0b2tlbkRhdGEudG9rZW5OYW1lO1xuICAgIH1cbiAgICBjb25zdCBuZXR3b3JrUHJlZml4ID0gYmFzZUNvaW4uZ2V0Q29uZmlnKCkubmV0d29yay50eXBlID09PSBOZXR3b3JrVHlwZS5URVNUTkVUID8gJ3QnIDogJyc7XG4gICAgY29uc3QgdG9rZW5TdGF0aWNzS2V5ID0gYCR7bmV0d29ya1ByZWZpeH0ke2Jhc2VDb2luLmdldEZhbWlseSgpfToke3Rva2VuRGF0YS50b2tlbkNvbnRyYWN0QWRkcmVzc31gO1xuICAgIGlmIChjb2lucy5oYXModG9rZW5TdGF0aWNzS2V5KSkge1xuICAgICAgY29uc3QgdG9rZW5TdGF0aWNzID0gY29pbnMuZ2V0KHRva2VuU3RhdGljc0tleSk7XG4gICAgICB0b2tlbkRhdGEudG9rZW5OYW1lID0gdG9rZW5TdGF0aWNzLm5hbWU7XG4gICAgfVxuICAgIHJldHVybiB0b2tlbkRhdGEudG9rZW5OYW1lO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export declare function notEmpty<TValue>(value: TValue | null | undefined): value is TValue;
2
+ //# sourceMappingURL=notEmpty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notEmpty.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/notEmpty.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,MAAM,CAElF"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.notEmpty = notEmpty;
4
+ function notEmpty(value) {
5
+ return !(value === null || value === undefined);
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90RW1wdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvbm90RW1wdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0QkFFQztBQUZELFNBQWdCLFFBQVEsQ0FBUyxLQUFnQztJQUMvRCxPQUFPLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIG5vdEVtcHR5PFRWYWx1ZT4odmFsdWU6IFRWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpOiB2YWx1ZSBpcyBUVmFsdWUge1xuICByZXR1cm4gISh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKTtcbn1cbiJdfQ==
@@ -1,16 +1,24 @@
1
1
  import * as pgp from 'openpgp';
2
2
  import { Key } from 'openpgp';
3
3
  import { BitGoBase } from '../bitgoBase';
4
- export declare type KeyValidityDict = {
4
+ export type KeyValidityDict = {
5
5
  keyID: pgp.KeyID;
6
6
  valid: boolean | null;
7
7
  }[];
8
+ export type AuthEncMessage = {
9
+ encryptedMessage: string;
10
+ signature: string;
11
+ };
8
12
  /**
9
- * Fetches BitGo's pubic gpg key used in MPC flows
10
- * @param {BitGo} bitgo BitGo object
13
+ * Fetches BitGo's public gpg key used in MPC flows
14
+ * @param {BitGoBase} bitgo BitGo object
11
15
  * @return {Key} public gpg key
12
16
  */
13
- export declare function getBitgoGpgPubKey(bitgo: BitGoBase): Promise<Key>;
17
+ export declare function getBitgoGpgPubKey(bitgo: BitGoBase): Promise<{
18
+ mpcV1: Key;
19
+ mpcV2: Key | undefined;
20
+ eddsaMpcV2: Key | undefined;
21
+ }>;
14
22
  /**
15
23
  * Verifies the primary user on a GPG key using a reference key representing the user to be checked.
16
24
  * Allows a verification without a date check by wrapping verifyPrimaryUser of openpgp.
@@ -20,11 +28,6 @@ export declare function getBitgoGpgPubKey(bitgo: BitGoBase): Promise<Key>;
20
28
  * @return {KeyValidityDict} list of users checked and whether each passed as a primary user in pubKey or not.
21
29
  */
22
30
  export declare function verifyPrimaryUserWrapper(pubKey: Key, primaryUser: Key, checkDates: boolean): Promise<KeyValidityDict>;
23
- /**
24
- * Fetches Trust pub key string
25
- * @param bitgo
26
- */
27
- export declare function getTrustGpgPubKey(bitgo: BitGoBase): Promise<Key>;
28
31
  /**
29
32
  * Verify an Eddsa or Ecdsa KeyShare Proof.
30
33
  *
@@ -1 +1 @@
1
- {"version":3,"file":"opengpgUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/opengpgUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,OAAO,EAIL,GAAG,EAOJ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,oBAAY,eAAe,GAAG;IAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;IACjB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACvB,EAAE,CAAC;AAEJ;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAQtE;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,GAAG,EAChB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAMtE;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GAAG,OAAO,GACtB,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9C,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,iBAAiB,EAAE,MAAM,EACzB,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAC3C,OAAO,CAAC,MAAM,CAAC,CAmDjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6D1G;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAczE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBjH;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAclH;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWlF;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoBnH;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAkBxC"}
1
+ {"version":3,"file":"opengpgUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/opengpgUtils.ts"],"names":[],"mappings":"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"}