@bitgo-beta/sdk-core 8.2.1-beta.113 → 8.2.1-beta.1130

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 (528) hide show
  1. package/CHANGELOG.md +2760 -0
  2. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
  3. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
  5. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  6. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
  7. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
  8. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  9. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +41 -29
  10. package/dist/src/account-lib/baseCoin/enum.d.ts +17 -3
  11. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  12. package/dist/src/account-lib/baseCoin/enum.js +32 -7
  13. package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
  14. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
  15. package/dist/src/account-lib/baseCoin/errors.js +8 -2
  16. package/dist/src/account-lib/baseCoin/iface.d.ts +19 -35
  17. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  18. package/dist/src/account-lib/baseCoin/iface.js +26 -18
  19. package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
  20. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  21. package/dist/src/account-lib/baseCoin/index.js +8 -5
  22. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
  23. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  24. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
  25. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
  26. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  27. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
  28. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  29. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  30. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
  31. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
  32. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  33. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  34. package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
  35. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  36. package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
  37. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
  38. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
  39. package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
  40. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
  41. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
  42. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
  43. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
  44. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
  45. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
  46. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
  47. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  48. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
  49. package/dist/src/account-lib/index.js +23 -9
  50. package/dist/src/account-lib/mpc/index.d.ts +1 -1
  51. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  52. package/dist/src/account-lib/mpc/index.js +6 -2
  53. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +38 -8
  54. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  55. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +493 -344
  56. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  57. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  58. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  59. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  60. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
  61. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  62. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  63. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +0 -1
  64. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  65. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  66. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  67. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  68. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  69. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  70. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  71. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  72. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  73. package/dist/src/account-lib/mpc/util.js +19 -1
  74. package/dist/src/account-lib/staking/index.js +6 -2
  75. package/dist/src/account-lib/staking/utils.js +3 -3
  76. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  77. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  78. package/dist/src/account-lib/util/crypto.js +69 -38
  79. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
  80. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  81. package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
  82. package/dist/src/api/bip32path.js +2 -3
  83. package/dist/src/api/index.js +6 -2
  84. package/dist/src/api/types.d.ts +8 -0
  85. package/dist/src/api/types.d.ts.map +1 -1
  86. package/dist/src/api/types.js +1 -1
  87. package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
  88. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
  89. package/dist/src/bitgo/address-book/address-book.js +139 -0
  90. package/dist/src/bitgo/address-book/index.d.ts +3 -0
  91. package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
  92. package/dist/src/bitgo/address-book/index.js +19 -0
  93. package/dist/src/bitgo/address-book/types.d.ts +170 -0
  94. package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
  95. package/dist/src/bitgo/address-book/types.js +3 -0
  96. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +90 -10
  97. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  98. package/dist/src/bitgo/baseCoin/baseCoin.js +142 -16
  99. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +114 -19
  100. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  101. package/dist/src/bitgo/baseCoin/iBaseCoin.js +7 -3
  102. package/dist/src/bitgo/baseCoin/index.js +6 -2
  103. package/dist/src/bitgo/bip32util.d.ts +3 -16
  104. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  105. package/dist/src/bitgo/bip32util.js +4 -56
  106. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  107. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  108. package/dist/src/bitgo/bitcoin.js +26 -13
  109. package/dist/src/bitgo/bitgoBase.d.ts +4 -1
  110. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  111. package/dist/src/bitgo/bitgoBase.js +1 -1
  112. package/dist/src/bitgo/coinFactory.d.ts +17 -3
  113. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  114. package/dist/src/bitgo/coinFactory.js +26 -3
  115. package/dist/src/bitgo/config.d.ts +116 -20
  116. package/dist/src/bitgo/config.d.ts.map +1 -1
  117. package/dist/src/bitgo/config.js +26 -15
  118. package/dist/src/bitgo/ecdh.d.ts +0 -1
  119. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  120. package/dist/src/bitgo/ecdh.js +26 -13
  121. package/dist/src/bitgo/enterprise/enterprise.d.ts +3 -13
  122. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  123. package/dist/src/bitgo/enterprise/enterprise.js +39 -34
  124. package/dist/src/bitgo/enterprise/enterprises.js +27 -13
  125. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +2 -6
  126. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  127. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  128. package/dist/src/bitgo/enterprise/index.js +6 -2
  129. package/dist/src/bitgo/environments.d.ts +69 -5
  130. package/dist/src/bitgo/environments.d.ts.map +1 -1
  131. package/dist/src/bitgo/environments.js +183 -32
  132. package/dist/src/bitgo/errors.d.ts +9 -0
  133. package/dist/src/bitgo/errors.d.ts.map +1 -1
  134. package/dist/src/bitgo/errors.js +20 -2
  135. package/dist/src/bitgo/index.d.ts +2 -1
  136. package/dist/src/bitgo/index.d.ts.map +1 -1
  137. package/dist/src/bitgo/index.js +28 -11
  138. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  139. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  140. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  141. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  142. package/dist/src/bitgo/internal/index.js +6 -2
  143. package/dist/src/bitgo/internal/internal.js +5 -6
  144. package/dist/src/bitgo/internal/keycard.js +6 -7
  145. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +13 -0
  146. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  147. package/dist/src/bitgo/keychain/decryptKeychain.js +35 -0
  148. package/dist/src/bitgo/keychain/iKeychains.d.ts +58 -7
  149. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  150. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  151. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  152. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  153. package/dist/src/bitgo/keychain/index.js +7 -2
  154. package/dist/src/bitgo/keychain/keychains.d.ts +13 -3
  155. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  156. package/dist/src/bitgo/keychain/keychains.js +128 -37
  157. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  158. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  159. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  160. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  161. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  162. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  163. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  164. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  165. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  166. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  167. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  168. package/dist/src/bitgo/market/index.js +6 -2
  169. package/dist/src/bitgo/market/markets.js +23 -9
  170. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +1 -0
  171. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  172. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  173. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  174. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  175. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  176. package/dist/src/bitgo/pendingApproval/pendingApproval.js +221 -107
  177. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  178. package/dist/src/bitgo/proofs/WalletProofs.d.ts +19 -0
  179. package/dist/src/bitgo/proofs/WalletProofs.d.ts.map +1 -0
  180. package/dist/src/bitgo/proofs/WalletProofs.js +37 -0
  181. package/dist/src/bitgo/proofs/index.d.ts +2 -0
  182. package/dist/src/bitgo/proofs/index.d.ts.map +1 -0
  183. package/dist/src/bitgo/proofs/index.js +6 -0
  184. package/dist/src/bitgo/proofs/types.d.ts +80 -0
  185. package/dist/src/bitgo/proofs/types.d.ts.map +1 -0
  186. package/dist/src/bitgo/proofs/types.js +80 -0
  187. package/dist/src/bitgo/recovery/index.js +6 -2
  188. package/dist/src/bitgo/recovery/initiate.d.ts +8 -1
  189. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  190. package/dist/src/bitgo/recovery/initiate.js +14 -8
  191. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +129 -0
  192. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  193. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  194. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  195. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  196. package/dist/src/bitgo/staking/goStakingWallet.js +143 -0
  197. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  198. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  199. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  200. package/dist/src/bitgo/staking/iStakingWallet.d.ts +121 -4
  201. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  202. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  203. package/dist/src/bitgo/staking/index.d.ts +3 -0
  204. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  205. package/dist/src/bitgo/staking/index.js +9 -2
  206. package/dist/src/bitgo/staking/stakingWallet.d.ts +13 -2
  207. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  208. package/dist/src/bitgo/staking/stakingWallet.js +46 -5
  209. package/dist/src/bitgo/trading/iTradingAccount.d.ts +2 -32
  210. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  211. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  212. package/dist/src/bitgo/trading/index.d.ts +1 -15
  213. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  214. package/dist/src/bitgo/trading/index.js +7 -17
  215. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  216. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  217. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  218. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  219. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  220. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  221. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  222. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  223. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  224. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  225. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  226. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  227. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  228. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  229. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  230. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  231. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  232. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  233. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  234. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  235. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  236. package/dist/src/bitgo/trading/network/index.d.ts +5 -0
  237. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
  238. package/dist/src/bitgo/trading/network/index.js +21 -0
  239. package/dist/src/bitgo/trading/network/network.d.ts +36 -0
  240. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
  241. package/dist/src/bitgo/trading/network/network.js +101 -0
  242. package/dist/src/bitgo/trading/network/types.d.ts +277 -0
  243. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
  244. package/dist/src/bitgo/trading/network/types.js +3 -0
  245. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  246. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  247. package/dist/src/bitgo/trading/network/utils.js +54 -0
  248. package/dist/src/bitgo/trading/tradingAccount.d.ts +11 -35
  249. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  250. package/dist/src/bitgo/trading/tradingAccount.js +9 -96
  251. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +27 -0
  252. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  253. package/dist/src/bitgo/tss/bitgoPubKeys.js +61 -0
  254. package/dist/src/bitgo/tss/common.d.ts +37 -5
  255. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  256. package/dist/src/bitgo/tss/common.js +103 -17
  257. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  258. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  259. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  260. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  261. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  262. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +162 -0
  263. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  264. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  265. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  266. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  267. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  268. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  269. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +15 -6
  270. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  271. package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
  272. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  273. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  274. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  275. package/dist/src/bitgo/tss/index.d.ts +3 -2
  276. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  277. package/dist/src/bitgo/tss/index.js +26 -10
  278. package/dist/src/bitgo/tss/types.d.ts +3 -3
  279. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  280. package/dist/src/bitgo/tss/types.js +2 -2
  281. package/dist/src/bitgo/types.d.ts +3 -3
  282. package/dist/src/bitgo/types.d.ts.map +1 -1
  283. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +11 -0
  284. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  285. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +66 -10
  286. package/dist/src/bitgo/utils/codecProps.js +24 -11
  287. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  288. package/dist/src/bitgo/utils/decode.js +30 -16
  289. package/dist/src/bitgo/utils/index.d.ts +3 -2
  290. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  291. package/dist/src/bitgo/utils/index.js +26 -11
  292. package/dist/src/bitgo/utils/messageTypes.d.ts +37 -0
  293. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  294. package/dist/src/bitgo/utils/messageTypes.js +14 -0
  295. package/dist/src/bitgo/utils/mpcUtils.d.ts +2 -3
  296. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  297. package/dist/src/bitgo/utils/mpcUtils.js +45 -13
  298. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  299. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  300. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  301. package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -9
  302. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  303. package/dist/src/bitgo/utils/opengpgUtils.js +68 -64
  304. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
  305. package/dist/src/bitgo/utils/postWithCodec.js +4 -38
  306. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  307. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  308. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  309. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  310. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  311. package/dist/src/bitgo/utils/triple.js +2 -3
  312. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +52 -14
  313. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  314. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +186 -44
  315. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +158 -37
  316. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  317. package/dist/src/bitgo/utils/tss/baseTypes.js +22 -20
  318. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  319. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  320. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  321. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  322. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  323. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  324. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +17 -50
  325. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  326. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +132 -238
  327. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +199 -0
  328. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  329. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +950 -0
  330. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  331. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  332. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
  333. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
  334. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  335. package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
  336. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
  337. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  338. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  339. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  340. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  341. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  342. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +22 -8
  343. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  344. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +111 -60
  345. package/dist/src/bitgo/utils/tss/eddsa/index.js +23 -9
  346. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
  347. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  348. package/dist/src/bitgo/utils/tss/index.js +23 -9
  349. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  350. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  351. package/dist/src/bitgo/utils/txRequest.js +47 -0
  352. package/dist/src/bitgo/utils/util.js +24 -10
  353. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  354. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  355. package/dist/src/bitgo/utils/wallet.js +48 -0
  356. package/dist/src/bitgo/wallet/BuildParams.d.ts +23 -1
  357. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  358. package/dist/src/bitgo/wallet/BuildParams.js +40 -12
  359. package/dist/src/bitgo/wallet/iWallet.d.ts +220 -19
  360. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  361. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  362. package/dist/src/bitgo/wallet/iWallets.d.ts +91 -16
  363. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  364. package/dist/src/bitgo/wallet/iWallets.js +43 -3
  365. package/dist/src/bitgo/wallet/index.js +6 -2
  366. package/dist/src/bitgo/wallet/wallet.d.ts +198 -25
  367. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  368. package/dist/src/bitgo/wallet/wallet.js +997 -310
  369. package/dist/src/bitgo/wallet/wallets.d.ts +97 -9
  370. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  371. package/dist/src/bitgo/wallet/wallets.js +870 -193
  372. package/dist/src/bitgo/webhook/index.js +6 -2
  373. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  374. package/dist/src/coins/fiataed.d.ts +32 -0
  375. package/dist/src/coins/fiataed.d.ts.map +1 -0
  376. package/dist/src/coins/fiataed.js +61 -0
  377. package/dist/src/coins/fiateur.d.ts +3 -2
  378. package/dist/src/coins/fiateur.d.ts.map +1 -1
  379. package/dist/src/coins/fiateur.js +5 -1
  380. package/dist/src/coins/fiatgbp.d.ts +3 -2
  381. package/dist/src/coins/fiatgbp.d.ts.map +1 -1
  382. package/dist/src/coins/fiatgbp.js +5 -1
  383. package/dist/src/coins/fiatsgd.d.ts +32 -0
  384. package/dist/src/coins/fiatsgd.d.ts.map +1 -0
  385. package/dist/src/coins/fiatsgd.js +61 -0
  386. package/dist/src/coins/fiatusd.d.ts +3 -2
  387. package/dist/src/coins/fiatusd.d.ts.map +1 -1
  388. package/dist/src/coins/fiatusd.js +5 -1
  389. package/dist/src/coins/index.d.ts +4 -0
  390. package/dist/src/coins/index.d.ts.map +1 -1
  391. package/dist/src/coins/index.js +10 -2
  392. package/dist/src/coins/ofc.d.ts +3 -2
  393. package/dist/src/coins/ofc.d.ts.map +1 -1
  394. package/dist/src/coins/ofc.js +6 -2
  395. package/dist/src/coins/ofcToken.js +2 -2
  396. package/dist/src/coins/susd.d.ts +3 -2
  397. package/dist/src/coins/susd.d.ts.map +1 -1
  398. package/dist/src/coins/susd.js +5 -1
  399. package/dist/src/coins/tfiataed.d.ts +11 -0
  400. package/dist/src/coins/tfiataed.d.ts.map +1 -0
  401. package/dist/src/coins/tfiataed.js +17 -0
  402. package/dist/src/coins/tfiatsgd.d.ts +11 -0
  403. package/dist/src/coins/tfiatsgd.d.ts.map +1 -0
  404. package/dist/src/coins/tfiatsgd.js +17 -0
  405. package/dist/src/common.js +27 -13
  406. package/dist/src/index.d.ts +2 -1
  407. package/dist/src/index.d.ts.map +1 -1
  408. package/dist/src/index.js +26 -11
  409. package/dist/src/units.js +5 -6
  410. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  411. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  412. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  413. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  414. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  415. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  416. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  417. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  418. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  419. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  420. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  421. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  422. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  423. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  424. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +233 -0
  425. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
  426. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
  427. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
  428. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  429. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  430. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  431. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
  432. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  433. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
  434. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  435. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  436. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  437. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  438. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  439. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  440. package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
  441. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  442. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  443. package/dist/test/unit/bitgo/utils/txRequest.js +105 -0
  444. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  445. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  446. package/dist/test/unit/bitgo/wallet/BuildParams.js +68 -0
  447. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +27 -18
  448. package/dist/test/unit/units.js +63 -63
  449. package/dist/tsconfig.tsbuildinfo +1 -1
  450. package/package.json +23 -20
  451. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  452. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  453. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  454. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  455. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  456. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  457. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  458. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  459. package/dist/src/bitgo/lightning/index.js +0 -17
  460. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  461. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  462. package/dist/src/bitgo/lightning/lightning.js +0 -111
  463. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  464. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  465. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  466. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  467. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  468. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  469. package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
  470. package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
  471. package/dist/src/bitgo/trading/affirmation.js +0 -53
  472. package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
  473. package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
  474. package/dist/src/bitgo/trading/affirmations.js +0 -45
  475. package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
  476. package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
  477. package/dist/src/bitgo/trading/iAffirmation.js +0 -13
  478. package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
  479. package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
  480. package/dist/src/bitgo/trading/iAffirmations.js +0 -3
  481. package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
  482. package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
  483. package/dist/src/bitgo/trading/iSettlement.js +0 -17
  484. package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
  485. package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
  486. package/dist/src/bitgo/trading/iSettlements.js +0 -3
  487. package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
  488. package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
  489. package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
  490. package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
  491. package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
  492. package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
  493. package/dist/src/bitgo/trading/lock.d.ts +0 -16
  494. package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
  495. package/dist/src/bitgo/trading/lock.js +0 -12
  496. package/dist/src/bitgo/trading/payload.d.ts +0 -22
  497. package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
  498. package/dist/src/bitgo/trading/payload.js +0 -3
  499. package/dist/src/bitgo/trading/settlement.d.ts +0 -16
  500. package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
  501. package/dist/src/bitgo/trading/settlement.js +0 -21
  502. package/dist/src/bitgo/trading/settlements.d.ts +0 -32
  503. package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
  504. package/dist/src/bitgo/trading/settlements.js +0 -61
  505. package/dist/src/bitgo/trading/trade.d.ts +0 -29
  506. package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
  507. package/dist/src/bitgo/trading/trade.js +0 -11
  508. package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
  509. package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
  510. package/dist/src/bitgo/trading/tradingPartner.js +0 -31
  511. package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
  512. package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
  513. package/dist/src/bitgo/trading/tradingPartners.js +0 -32
  514. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  515. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  516. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  517. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  518. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  519. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  520. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts +0 -92
  521. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts.map +0 -1
  522. package/dist/src/bitgo/wallet/SendTransactionRequest.js +0 -41
  523. package/dist/src/openssl/index.d.ts +0 -5
  524. package/dist/src/openssl/index.d.ts.map +0 -1
  525. package/dist/src/openssl/index.js +0 -9
  526. package/dist/test/unit/openssl.d.ts +0 -2
  527. package/dist/test/unit/openssl.d.ts.map +0 -1
  528. package/dist/test/unit/openssl.js +0 -39
@@ -1 +0,0 @@
1
- {"version":3,"file":"trade.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/trade.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TradeStatus = void 0;
4
- var TradeStatus;
5
- (function (TradeStatus) {
6
- TradeStatus["CANCELED"] = "canceled";
7
- TradeStatus["EXECUTED"] = "executed";
8
- TradeStatus["PENDING"] = "pending";
9
- TradeStatus["FAILED"] = "failed";
10
- })(TradeStatus = exports.TradeStatus || (exports.TradeStatus = {}));
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy90cmFkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1QkEsSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ3JCLG9DQUFxQixDQUFBO0lBQ3JCLG9DQUFxQixDQUFBO0lBQ3JCLGtDQUFtQixDQUFBO0lBQ25CLGdDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxXQUFXLEdBQVgsbUJBQVcsS0FBWCxtQkFBVyxRQUt0QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSB0cmFkZSB0byBiZSBzZXR0bGVkIGFzIHBhcnQgb2YgYSBzZXR0bGVtZW50LiBPbmx5IG9mZi1jaGFpbiAoT0ZDKSBjdXJyZW5jaWVzIGFyZSBzdXBwb3J0ZWQsIGFuZFxuICogYWxsIGFtb3VudHMgbXVzdCBiZSByZXByZXNlbnRlZCBpbiBiYXNlIHVuaXRzIChzdWNoIGFzIGNlbnRzLCBzYXRvc2hpLCBvciB3ZWkpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhZGUge1xuICBpZD86IHN0cmluZztcbiAgZXh0ZXJuYWxJZDogc3RyaW5nO1xuICBiYXNlQWNjb3VudElkOiBzdHJpbmc7XG4gIHF1b3RlQWNjb3VudElkOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogRGF0ZTtcbiAgc3RhdHVzOiBUcmFkZVN0YXR1cztcbiAgYmFzZUFtb3VudDogc3RyaW5nO1xuICBxdW90ZUFtb3VudDogc3RyaW5nO1xuICBiYXNlQ3VycmVuY3k6IHN0cmluZztcbiAgcXVvdGVDdXJyZW5jeTogc3RyaW5nO1xuICBiYXNlUmVjZWl2ZUFtb3VudD86IHN0cmluZztcbiAgcXVvdGVSZWNlaXZlQW1vdW50Pzogc3RyaW5nO1xuICBiYXNlUmVjZWl2ZUN1cnJlbmN5Pzogc3RyaW5nO1xuICBxdW90ZVJlY2VpdmVDdXJyZW5jeT86IHN0cmluZztcbiAgY29zdEJhc2lzOiBzdHJpbmc7XG4gIGNvc3RCYXNpc0N1cnJlbmN5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFRyYWRlU3RhdHVzIHtcbiAgQ0FOQ0VMRUQgPSAnY2FuY2VsZWQnLFxuICBFWEVDVVRFRCA9ICdleGVjdXRlZCcsXG4gIFBFTkRJTkcgPSAncGVuZGluZycsXG4gIEZBSUxFRCA9ICdmYWlsZWQnLFxufVxuIl19
@@ -1,26 +0,0 @@
1
- /**
2
- * @prettier
3
- */
4
- import { BitGoBase } from '../bitgoBase';
5
- import { ITradingPartner, TradingAccount, TradingPartnerStatus, TradingPartnerType } from '../trading';
6
- export declare class TradingPartner implements ITradingPartner {
7
- private bitgo;
8
- private enterpriseId;
9
- private currentAccount;
10
- id: string;
11
- primaryEnterpriseName: string;
12
- primaryAccountId: string;
13
- secondaryEnterpriseName: string;
14
- secondaryAccountId: string;
15
- requesterAccountId: string;
16
- status: TradingPartnerStatus;
17
- type: TradingPartnerType;
18
- constructor(tradingPartnerData: any, bitgo: BitGoBase, enterpriseId: string, currentAccount: TradingAccount);
19
- /**
20
- * Check if a trading partner has enough funds to cover the cost of a trade.
21
- * @param currency the currency to check
22
- * @param amount the amount of currency to check, represented in base units (such as cents, satoshi, or wei)
23
- */
24
- checkBalance(currency: string, amount: string): Promise<boolean>;
25
- }
26
- //# sourceMappingURL=tradingPartner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tradingPartner.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/tradingPartner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEvG,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAiB;IAEhC,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,kBAAkB,CAAC;gBAEpB,kBAAkB,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc;IAe3G;;;;OAIG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAWvE"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TradingPartner = void 0;
4
- class TradingPartner {
5
- constructor(tradingPartnerData, bitgo, enterpriseId, currentAccount) {
6
- this.id = tradingPartnerData.id;
7
- this.primaryEnterpriseName = tradingPartnerData.primaryEnterpriseName;
8
- this.primaryAccountId = tradingPartnerData.primaryAccountId;
9
- this.secondaryEnterpriseName = tradingPartnerData.secondaryEnterpriseName;
10
- this.secondaryAccountId = tradingPartnerData.secondaryAccountId;
11
- this.requesterAccountId = tradingPartnerData.requesterAccountId;
12
- this.status = tradingPartnerData.status;
13
- this.type = tradingPartnerData.type;
14
- this.bitgo = bitgo;
15
- this.enterpriseId = enterpriseId;
16
- this.currentAccount = currentAccount;
17
- }
18
- /**
19
- * Check if a trading partner has enough funds to cover the cost of a trade.
20
- * @param currency the currency to check
21
- * @param amount the amount of currency to check, represented in base units (such as cents, satoshi, or wei)
22
- */
23
- async checkBalance(currency, amount) {
24
- const partnerAccountId = this.primaryAccountId === this.currentAccount.id ? this.secondaryAccountId : this.primaryAccountId;
25
- const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.currentAccount.id}/tradingpartners/${partnerAccountId}/balance`);
26
- const response = (await this.bitgo.get(url).query({ currency, amount }).result());
27
- return response.check;
28
- }
29
- }
30
- exports.TradingPartner = TradingPartner;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZGluZ1BhcnRuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy90cmFkaW5nUGFydG5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxNQUFhLGNBQWM7SUFjekIsWUFBWSxrQkFBdUIsRUFBRSxLQUFnQixFQUFFLFlBQW9CLEVBQUUsY0FBOEI7UUFDekcsSUFBSSxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDO1FBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM1RCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7UUFDMUUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUVwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBZ0IsRUFBRSxNQUFjO1FBQ2pELE1BQU0sZ0JBQWdCLEdBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDckcsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDckMsNEJBQTRCLElBQUksQ0FBQyxZQUFZLFlBQVksSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLG9CQUFvQixnQkFBZ0IsVUFBVSxDQUM5SCxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFRLENBQUM7UUFFekYsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQTdDRCx3Q0E2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSVRyYWRpbmdQYXJ0bmVyLCBUcmFkaW5nQWNjb3VudCwgVHJhZGluZ1BhcnRuZXJTdGF0dXMsIFRyYWRpbmdQYXJ0bmVyVHlwZSB9IGZyb20gJy4uL3RyYWRpbmcnO1xuXG5leHBvcnQgY2xhc3MgVHJhZGluZ1BhcnRuZXIgaW1wbGVtZW50cyBJVHJhZGluZ1BhcnRuZXIge1xuICBwcml2YXRlIGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgY3VycmVudEFjY291bnQ6IFRyYWRpbmdBY2NvdW50OyAvLyBhY2NvdW50IG9mIHRoZSB1c2VyIHVzaW5nIHRoZSBTREssIG5lZWRlZCB0byBjb25zdHJ1Y3QgYmFsYW5jZSBjaGVjayBVUkxcblxuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIHByaW1hcnlFbnRlcnByaXNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcHJpbWFyeUFjY291bnRJZDogc3RyaW5nO1xuICBwdWJsaWMgc2Vjb25kYXJ5RW50ZXJwcmlzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIHNlY29uZGFyeUFjY291bnRJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVxdWVzdGVyQWNjb3VudElkOiBzdHJpbmc7XG4gIHB1YmxpYyBzdGF0dXM6IFRyYWRpbmdQYXJ0bmVyU3RhdHVzO1xuICBwdWJsaWMgdHlwZTogVHJhZGluZ1BhcnRuZXJUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHRyYWRpbmdQYXJ0bmVyRGF0YTogYW55LCBiaXRnbzogQml0R29CYXNlLCBlbnRlcnByaXNlSWQ6IHN0cmluZywgY3VycmVudEFjY291bnQ6IFRyYWRpbmdBY2NvdW50KSB7XG4gICAgdGhpcy5pZCA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5pZDtcbiAgICB0aGlzLnByaW1hcnlFbnRlcnByaXNlTmFtZSA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5wcmltYXJ5RW50ZXJwcmlzZU5hbWU7XG4gICAgdGhpcy5wcmltYXJ5QWNjb3VudElkID0gdHJhZGluZ1BhcnRuZXJEYXRhLnByaW1hcnlBY2NvdW50SWQ7XG4gICAgdGhpcy5zZWNvbmRhcnlFbnRlcnByaXNlTmFtZSA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5zZWNvbmRhcnlFbnRlcnByaXNlTmFtZTtcbiAgICB0aGlzLnNlY29uZGFyeUFjY291bnRJZCA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5zZWNvbmRhcnlBY2NvdW50SWQ7XG4gICAgdGhpcy5yZXF1ZXN0ZXJBY2NvdW50SWQgPSB0cmFkaW5nUGFydG5lckRhdGEucmVxdWVzdGVyQWNjb3VudElkO1xuICAgIHRoaXMuc3RhdHVzID0gdHJhZGluZ1BhcnRuZXJEYXRhLnN0YXR1cztcbiAgICB0aGlzLnR5cGUgPSB0cmFkaW5nUGFydG5lckRhdGEudHlwZTtcblxuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLmVudGVycHJpc2VJZCA9IGVudGVycHJpc2VJZDtcbiAgICB0aGlzLmN1cnJlbnRBY2NvdW50ID0gY3VycmVudEFjY291bnQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSB0cmFkaW5nIHBhcnRuZXIgaGFzIGVub3VnaCBmdW5kcyB0byBjb3ZlciB0aGUgY29zdCBvZiBhIHRyYWRlLlxuICAgKiBAcGFyYW0gY3VycmVuY3kgdGhlIGN1cnJlbmN5IHRvIGNoZWNrXG4gICAqIEBwYXJhbSBhbW91bnQgdGhlIGFtb3VudCBvZiBjdXJyZW5jeSB0byBjaGVjaywgcmVwcmVzZW50ZWQgaW4gYmFzZSB1bml0cyAoc3VjaCBhcyBjZW50cywgc2F0b3NoaSwgb3Igd2VpKVxuICAgKi9cbiAgYXN5bmMgY2hlY2tCYWxhbmNlKGN1cnJlbmN5OiBzdHJpbmcsIGFtb3VudDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGFydG5lckFjY291bnRJZCA9XG4gICAgICB0aGlzLnByaW1hcnlBY2NvdW50SWQgPT09IHRoaXMuY3VycmVudEFjY291bnQuaWQgPyB0aGlzLnNlY29uZGFyeUFjY291bnRJZCA6IHRoaXMucHJpbWFyeUFjY291bnRJZDtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS90cmFkZS92MS9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWR9L2FjY291bnQvJHt0aGlzLmN1cnJlbnRBY2NvdW50LmlkfS90cmFkaW5ncGFydG5lcnMvJHtwYXJ0bmVyQWNjb3VudElkfS9iYWxhbmNlYFxuICAgICk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCB0aGlzLmJpdGdvLmdldCh1cmwpLnF1ZXJ5KHsgY3VycmVuY3ksIGFtb3VudCB9KS5yZXN1bHQoKSkgYXMgYW55O1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmNoZWNrO1xuICB9XG59XG4iXX0=
@@ -1,24 +0,0 @@
1
- /**
2
- * @prettier
3
- */
4
- import { BitGoBase } from '../bitgoBase';
5
- import { ITradingPartners, TradingAccount, TradingPartner, TradingPartnerAddByCodeParameters } from '../trading';
6
- export declare class TradingPartners implements ITradingPartners {
7
- private bitgo;
8
- private enterpriseId;
9
- private account;
10
- constructor(bitgo: BitGoBase, enterpriseId: string, account: TradingAccount);
11
- /**
12
- * List all trading partners of your trading account. Your trading partners are the accounts you are allowed to settle with.
13
- */
14
- list(): Promise<TradingPartner[]>;
15
- /**
16
- * Add trading partner given the unique referralCode provided by trading partner.
17
- * @param params
18
- * @param params.referralCode unique referral code provided by counterparty
19
- * @param params.type type of trading partnership
20
- * @param params.requesterSide side of the requester (primary or secondary) important for agency relationships
21
- */
22
- addByCode(params: TradingPartnerAddByCodeParameters): Promise<TradingPartner>;
23
- }
24
- //# sourceMappingURL=tradingPartners.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tradingPartners.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/tradingPartners.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAEjH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,KAAK,CAAY;IAEzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAiB;gBAEpB,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAM3E;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAWvC;;;;;;OAMG;IACG,SAAS,CAAC,MAAM,EAAE,iCAAiC,GAAG,OAAO,CAAC,cAAc,CAAC;CAMpF"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TradingPartners = void 0;
4
- const trading_1 = require("../trading");
5
- class TradingPartners {
6
- constructor(bitgo, enterpriseId, account) {
7
- this.bitgo = bitgo;
8
- this.enterpriseId = enterpriseId;
9
- this.account = account;
10
- }
11
- /**
12
- * List all trading partners of your trading account. Your trading partners are the accounts you are allowed to settle with.
13
- */
14
- async list() {
15
- const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.account.id}/tradingpartners`);
16
- const response = (await this.bitgo.get(url).result());
17
- return response.tradingPartners.map((partner) => new trading_1.TradingPartner(partner, this.bitgo, this.enterpriseId, this.account));
18
- }
19
- /**
20
- * Add trading partner given the unique referralCode provided by trading partner.
21
- * @param params
22
- * @param params.referralCode unique referral code provided by counterparty
23
- * @param params.type type of trading partnership
24
- * @param params.requesterSide side of the requester (primary or secondary) important for agency relationships
25
- */
26
- async addByCode(params) {
27
- const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.account.id}/tradingpartners`);
28
- return await this.bitgo.post(url).send(params).result();
29
- }
30
- }
31
- exports.TradingPartners = TradingPartners;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZGluZ1BhcnRuZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3RyYWRpbmcvdHJhZGluZ1BhcnRuZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHdDQUFpSDtBQUVqSCxNQUFhLGVBQWU7SUFNMUIsWUFBWSxLQUFnQixFQUFFLFlBQW9CLEVBQUUsT0FBdUI7UUFDekUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUNyQyw0QkFBNEIsSUFBSSxDQUFDLFlBQVksWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsa0JBQWtCLENBQzNGLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQVEsQ0FBQztRQUU3RCxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUNqQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSx3QkFBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUN0RixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBeUM7UUFDdkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDckMsNEJBQTRCLElBQUksQ0FBQyxZQUFZLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLGtCQUFrQixDQUMzRixDQUFDO1FBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUF2Q0QsMENBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IElUcmFkaW5nUGFydG5lcnMsIFRyYWRpbmdBY2NvdW50LCBUcmFkaW5nUGFydG5lciwgVHJhZGluZ1BhcnRuZXJBZGRCeUNvZGVQYXJhbWV0ZXJzIH0gZnJvbSAnLi4vdHJhZGluZyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFkaW5nUGFydG5lcnMgaW1wbGVtZW50cyBJVHJhZGluZ1BhcnRuZXJzIHtcbiAgcHJpdmF0ZSBiaXRnbzogQml0R29CYXNlO1xuXG4gIHByaXZhdGUgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgYWNjb3VudDogVHJhZGluZ0FjY291bnQ7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgZW50ZXJwcmlzZUlkOiBzdHJpbmcsIGFjY291bnQ6IFRyYWRpbmdBY2NvdW50KSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMuZW50ZXJwcmlzZUlkID0gZW50ZXJwcmlzZUlkO1xuICAgIHRoaXMuYWNjb3VudCA9IGFjY291bnQ7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBhbGwgdHJhZGluZyBwYXJ0bmVycyBvZiB5b3VyIHRyYWRpbmcgYWNjb3VudC4gWW91ciB0cmFkaW5nIHBhcnRuZXJzIGFyZSB0aGUgYWNjb3VudHMgeW91IGFyZSBhbGxvd2VkIHRvIHNldHRsZSB3aXRoLlxuICAgKi9cbiAgYXN5bmMgbGlzdCgpOiBQcm9taXNlPFRyYWRpbmdQYXJ0bmVyW10+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS90cmFkZS92MS9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWR9L2FjY291bnQvJHt0aGlzLmFjY291bnQuaWR9L3RyYWRpbmdwYXJ0bmVyc2BcbiAgICApO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IHRoaXMuYml0Z28uZ2V0KHVybCkucmVzdWx0KCkpIGFzIGFueTtcblxuICAgIHJldHVybiByZXNwb25zZS50cmFkaW5nUGFydG5lcnMubWFwKFxuICAgICAgKHBhcnRuZXIpID0+IG5ldyBUcmFkaW5nUGFydG5lcihwYXJ0bmVyLCB0aGlzLmJpdGdvLCB0aGlzLmVudGVycHJpc2VJZCwgdGhpcy5hY2NvdW50KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHRyYWRpbmcgcGFydG5lciBnaXZlbiB0aGUgdW5pcXVlIHJlZmVycmFsQ29kZSBwcm92aWRlZCBieSB0cmFkaW5nIHBhcnRuZXIuXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5yZWZlcnJhbENvZGUgdW5pcXVlIHJlZmVycmFsIGNvZGUgcHJvdmlkZWQgYnkgY291bnRlcnBhcnR5XG4gICAqIEBwYXJhbSBwYXJhbXMudHlwZSB0eXBlIG9mIHRyYWRpbmcgcGFydG5lcnNoaXBcbiAgICogQHBhcmFtIHBhcmFtcy5yZXF1ZXN0ZXJTaWRlIHNpZGUgb2YgdGhlIHJlcXVlc3RlciAocHJpbWFyeSBvciBzZWNvbmRhcnkpIGltcG9ydGFudCBmb3IgYWdlbmN5IHJlbGF0aW9uc2hpcHNcbiAgICovXG4gIGFzeW5jIGFkZEJ5Q29kZShwYXJhbXM6IFRyYWRpbmdQYXJ0bmVyQWRkQnlDb2RlUGFyYW1ldGVycyk6IFByb21pc2U8VHJhZGluZ1BhcnRuZXI+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS90cmFkZS92MS9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWR9L2FjY291bnQvJHt0aGlzLmFjY291bnQuaWR9L3RyYWRpbmdwYXJ0bmVyc2BcbiAgICApO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,52 +0,0 @@
1
- import { SerializedKeyPair } from 'openpgp';
2
- import { IBaseCoin, IBlsKeyPair, KeychainsTriplet } from '../baseCoin';
3
- import { BitGoBase } from '../bitgoBase';
4
- import { Keychain } from '../keychain';
5
- import { IBlsUtils } from './iBlsUtils';
6
- import { MpcUtils } from './mpcUtils';
7
- /**
8
- * Utility functions for BLS-DKG work flows.
9
- */
10
- export declare class BlsUtils extends MpcUtils implements IBlsUtils {
11
- constructor(bitgo: BitGoBase, baseCoin: IBaseCoin);
12
- /**
13
- * Creates a Keychain containing the User's BLS-DKG signing materials.
14
- *
15
- * @param userGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between user and server
16
- * @param userKeyShare - user's BLS-DKG key share
17
- * @param backupKeyShare - backup's BLS-DKG key share
18
- * @param bitgoKeychain - previously created BitGo keychain; must be compatible with user and backup key shares
19
- * @param passphrase - wallet passphrase used to encrypt user's signing materials
20
- */
21
- createUserKeychain(userGpgKey: SerializedKeyPair<string>, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, bitgoKeychain: Keychain, passphrase: string, originalPasscodeEncryptionCode?: string): Promise<Keychain>;
22
- /**
23
- * Creates a Keychain containing the Backup party's BLS-DKG signing materials.
24
- *
25
- * @param backupGpgKey - ephemeral GPG key to encrypt / decrypt sensitive data exchanged between backup and server
26
- * @param userKeyShare - User's BLS-DKG Keyshare
27
- * @param backupKeyShare - Backup's BLS-DKG Keyshare
28
- * @param bitgoKeychain - previously created BitGo keychain; must be compatible with user and backup key shares
29
- * @param passphrase - wallet passphrase used to encrypt user's signing materials
30
- */
31
- createBackupKeychain(backupGpgKey: SerializedKeyPair<string>, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, bitgoKeychain: Keychain, passphrase: string): Promise<Keychain>;
32
- /**
33
- * Creates a Keychain containing BitGo's BLS-DKG signing materials.
34
- *
35
- * @param userGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between user and server
36
- * @param backupGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between backup and server
37
- * @param userKeyShare - user's BLS-DKG key share
38
- * @param backupKeyShare - backup's BLS-DKG key share
39
- */
40
- createBitgoKeychain(userGpgKey: SerializedKeyPair<string>, backupGpgKey: SerializedKeyPair<string>, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, enterprise?: string): Promise<Keychain>;
41
- /**
42
- * Creates User, Backup, and BitGo BLS-DKG Keychains.
43
- *
44
- * @param params.passphrase - passphrase used to encrypt signing materials created for User and Backup
45
- */
46
- createKeychains(params: {
47
- passphrase: string;
48
- enterprise?: string;
49
- originalPasscodeEncryptionCode?: string;
50
- }): Promise<KeychainsTriplet>;
51
- }
52
- //# sourceMappingURL=blsUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blsUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/blsUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAetC;;GAEG;AACH,qBAAa,QAAS,SAAQ,QAAS,YAAW,SAAS;gBAC7C,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;IAIjD;;;;;;;;OAQG;IACG,kBAAkB,CACtB,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACrC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,MAAM,EAClB,8BAA8B,CAAC,EAAE,MAAM,GACtC,OAAO,CAAC,QAAQ,CAAC;IAiEpB;;;;;;;;OAQG;IACG,oBAAoB,CACxB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACvC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC;IAoEpB;;;;;;;OAOG;IACG,mBAAmB,CACvB,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACrC,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACvC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC;IA6CpB;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8BAA8B,CAAC,EAAE,MAAM,CAAC;KACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA0D9B"}
@@ -1,237 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BlsUtils = void 0;
4
- /**
5
- * @prettier
6
- */
7
- const crypto_1 = require("crypto");
8
- const openpgp_1 = require("openpgp");
9
- const baseCoin_1 = require("../../account-lib/baseCoin");
10
- const mpcUtils_1 = require("./mpcUtils");
11
- /**
12
- * Utility functions for BLS-DKG work flows.
13
- */
14
- class BlsUtils extends mpcUtils_1.MpcUtils {
15
- constructor(bitgo, baseCoin) {
16
- super(bitgo, baseCoin);
17
- }
18
- /**
19
- * Creates a Keychain containing the User's BLS-DKG signing materials.
20
- *
21
- * @param userGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between user and server
22
- * @param userKeyShare - user's BLS-DKG key share
23
- * @param backupKeyShare - backup's BLS-DKG key share
24
- * @param bitgoKeychain - previously created BitGo keychain; must be compatible with user and backup key shares
25
- * @param passphrase - wallet passphrase used to encrypt user's signing materials
26
- */
27
- async createUserKeychain(userGpgKey, userKeyShare, backupKeyShare, bitgoKeychain, passphrase, originalPasscodeEncryptionCode) {
28
- const bitgoKeyShares = bitgoKeychain.keyShares;
29
- if (!bitgoKeyShares) {
30
- throw new Error('Missing BitGo key shares');
31
- }
32
- const bitGoToUserShare = bitgoKeyShares.find((keyShare) => keyShare.from === 'bitgo' && keyShare.to === 'user');
33
- if (!bitGoToUserShare) {
34
- throw new Error('Missing BitGo to User key share');
35
- }
36
- if (!userKeyShare.secretShares || !userKeyShare.pub) {
37
- throw new Error('Invalid user key shares');
38
- }
39
- if (!backupKeyShare.secretShares || !backupKeyShare.pub) {
40
- throw new Error('Invalid backup key shares');
41
- }
42
- const bitGoToUserPublicShare = bitGoToUserShare.publicShare.slice(0, 96);
43
- const bitGoToUserChaincode = bitGoToUserShare.publicShare.slice(96);
44
- const commonPub = baseCoin_1.BlsKeyPair.aggregatePubkeys([userKeyShare.pub, backupKeyShare.pub, bitGoToUserPublicShare]);
45
- const commonChaincode = baseCoin_1.BlsKeyPair.aggregateChaincodes([
46
- userKeyShare.chaincode,
47
- backupKeyShare.chaincode,
48
- bitGoToUserChaincode,
49
- ]);
50
- const commonKeychain = commonPub + commonChaincode;
51
- if (commonKeychain !== bitgoKeychain.commonKeychain) {
52
- throw new Error('Failed to create user keychain - commonKeychains do not match.');
53
- }
54
- const bitGoToUserPrivateShare = await this.decryptPrivateShare(bitGoToUserShare.privateShare, userGpgKey);
55
- if (bitGoToUserPrivateShare.slice(64) !== bitGoToUserChaincode) {
56
- throw new Error('Failed to create user keychain - bitgo to user chaincode do not match.');
57
- }
58
- const userSigningMaterial = {
59
- userShare: {
60
- pub: userKeyShare.pub,
61
- priv: userKeyShare.secretShares[0],
62
- seed: userKeyShare.seed,
63
- chaincode: userKeyShare.chaincode,
64
- },
65
- backupShare: {
66
- pub: backupKeyShare.pub,
67
- priv: backupKeyShare.secretShares[0],
68
- chaincode: backupKeyShare.chaincode,
69
- },
70
- bitgoShare: {
71
- pub: bitGoToUserPublicShare,
72
- priv: bitGoToUserPrivateShare.slice(0, 64),
73
- chaincode: bitGoToUserChaincode,
74
- },
75
- };
76
- const userKeychainParams = {
77
- source: 'user',
78
- keyType: 'blsdkg',
79
- commonKeychain: commonKeychain,
80
- encryptedPrv: this.bitgo.encrypt({ input: JSON.stringify(userSigningMaterial), password: passphrase }),
81
- originalPasscodeEncryptionCode,
82
- };
83
- return await this.baseCoin.keychains().add(userKeychainParams);
84
- }
85
- /**
86
- * Creates a Keychain containing the Backup party's BLS-DKG signing materials.
87
- *
88
- * @param backupGpgKey - ephemeral GPG key to encrypt / decrypt sensitive data exchanged between backup and server
89
- * @param userKeyShare - User's BLS-DKG Keyshare
90
- * @param backupKeyShare - Backup's BLS-DKG Keyshare
91
- * @param bitgoKeychain - previously created BitGo keychain; must be compatible with user and backup key shares
92
- * @param passphrase - wallet passphrase used to encrypt user's signing materials
93
- */
94
- async createBackupKeychain(backupGpgKey, userKeyShare, backupKeyShare, bitgoKeychain, passphrase) {
95
- const bitgoKeyShares = bitgoKeychain.keyShares;
96
- if (!bitgoKeyShares) {
97
- throw new Error('Invalid bitgo keyshares');
98
- }
99
- const bitGoToBackupShare = bitgoKeyShares.find((keyShare) => keyShare.from === 'bitgo' && keyShare.to === 'backup');
100
- if (!bitGoToBackupShare) {
101
- throw new Error('Missing BitGo to backup key share');
102
- }
103
- if (!userKeyShare.secretShares || !userKeyShare.pub) {
104
- throw new Error('Invalid user key shares');
105
- }
106
- if (!backupKeyShare.secretShares || !backupKeyShare.pub) {
107
- throw new Error('Invalid backup key shares');
108
- }
109
- const bitGoToBackupPublicShare = bitGoToBackupShare.publicShare.slice(0, 96);
110
- const bitGoToBackupChaincode = bitGoToBackupShare.publicShare.slice(96);
111
- const commonPub = baseCoin_1.BlsKeyPair.aggregatePubkeys([
112
- userKeyShare.pub,
113
- backupKeyShare.pub,
114
- bitGoToBackupPublicShare,
115
- ]);
116
- const commonChaincode = baseCoin_1.BlsKeyPair.aggregateChaincodes([
117
- userKeyShare.chaincode,
118
- backupKeyShare.chaincode,
119
- bitGoToBackupChaincode,
120
- ]);
121
- const commonKeychain = commonPub + commonChaincode;
122
- if (commonKeychain !== bitgoKeychain.commonKeychain) {
123
- throw new Error('Failed to create backup keychain - commonKeychains do not match.');
124
- }
125
- const bitGoToBackupPrivateShare = await this.decryptPrivateShare(bitGoToBackupShare.privateShare, backupGpgKey);
126
- if (bitGoToBackupPrivateShare.slice(64) !== bitGoToBackupChaincode) {
127
- throw new Error('Failed to create user keychain - bitgo to user chaincode do not match.');
128
- }
129
- const backupSigningMaterial = {
130
- userShare: {
131
- pub: userKeyShare.pub,
132
- priv: userKeyShare.secretShares[1],
133
- chaincode: userKeyShare.chaincode,
134
- },
135
- backupShare: {
136
- pub: backupKeyShare.pub,
137
- priv: backupKeyShare.secretShares[1],
138
- chaincode: backupKeyShare.chaincode,
139
- seed: backupKeyShare.seed,
140
- },
141
- bitgoShare: {
142
- pub: bitGoToBackupPublicShare,
143
- priv: bitGoToBackupPrivateShare.slice(0, 64),
144
- chaincode: bitGoToBackupChaincode,
145
- },
146
- };
147
- const prv = JSON.stringify(backupSigningMaterial);
148
- return await this.baseCoin.keychains().createBackup({
149
- source: 'backup',
150
- keyType: 'blsdkg',
151
- commonKeychain: commonKeychain,
152
- prv,
153
- encryptedPrv: this.bitgo.encrypt({ input: prv, password: passphrase }),
154
- });
155
- }
156
- /**
157
- * Creates a Keychain containing BitGo's BLS-DKG signing materials.
158
- *
159
- * @param userGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between user and server
160
- * @param backupGpgKey - ephemeral GPG key to encrypt / decrypt sensitve data exchanged between backup and server
161
- * @param userKeyShare - user's BLS-DKG key share
162
- * @param backupKeyShare - backup's BLS-DKG key share
163
- */
164
- async createBitgoKeychain(userGpgKey, backupGpgKey, userKeyShare, backupKeyShare, enterprise) {
165
- if (!userKeyShare.secretShares || !userKeyShare.pub) {
166
- throw new Error('Invalid user key shares');
167
- }
168
- if (!backupKeyShare.secretShares || !backupKeyShare.pub) {
169
- throw new Error('Invalid backup key shares');
170
- }
171
- const userToBitgoPublicShare = Buffer.concat([
172
- Buffer.from(userKeyShare.pub, 'hex'),
173
- Buffer.from(userKeyShare.chaincode, 'hex'),
174
- ]).toString('hex');
175
- const userToBitgoPrivateShare = Buffer.concat([
176
- Buffer.from(userKeyShare.secretShares[2], 'hex'),
177
- Buffer.from(userKeyShare.chaincode, 'hex'),
178
- ]).toString('hex');
179
- const userToBitgoKeyShare = {
180
- publicShare: userToBitgoPublicShare,
181
- privateShare: userToBitgoPrivateShare,
182
- };
183
- const backupToBitgoPublicShare = Buffer.concat([
184
- Buffer.from(backupKeyShare.pub, 'hex'),
185
- Buffer.from(backupKeyShare.chaincode, 'hex'),
186
- ]).toString('hex');
187
- const backupToBitgoPrivateShare = Buffer.concat([
188
- Buffer.from(backupKeyShare.secretShares[2], 'hex'),
189
- Buffer.from(backupKeyShare.chaincode, 'hex'),
190
- ]).toString('hex');
191
- const backupToBitgoKeyShare = {
192
- publicShare: backupToBitgoPublicShare,
193
- privateShare: backupToBitgoPrivateShare,
194
- };
195
- return await this.createBitgoKeychainInWP(userGpgKey, backupGpgKey, userToBitgoKeyShare, backupToBitgoKeyShare, 'blsdkg', enterprise);
196
- }
197
- /**
198
- * Creates User, Backup, and BitGo BLS-DKG Keychains.
199
- *
200
- * @param params.passphrase - passphrase used to encrypt signing materials created for User and Backup
201
- */
202
- async createKeychains(params) {
203
- const userKeyShare = this.baseCoin.generateKeyPair();
204
- const backupKeyShare = this.baseCoin.generateKeyPair();
205
- const randomHexString = crypto_1.randomBytes(12).toString('hex');
206
- const randomHexString2 = crypto_1.randomBytes(12).toString('hex');
207
- const userGpgKey = await openpgp_1.generateKey({
208
- userIDs: [
209
- {
210
- name: randomHexString,
211
- email: `${randomHexString}@${randomHexString}.com`,
212
- },
213
- ],
214
- });
215
- const backupGpgKey = await openpgp_1.generateKey({
216
- userIDs: [
217
- {
218
- name: randomHexString2,
219
- email: `${randomHexString2}@${randomHexString2}.com`,
220
- },
221
- ],
222
- });
223
- const bitgoKeychain = await this.createBitgoKeychain(userGpgKey, backupGpgKey, userKeyShare, backupKeyShare, params.enterprise);
224
- const userKeychainPromise = this.createUserKeychain(userGpgKey, userKeyShare, backupKeyShare, bitgoKeychain, params.passphrase, params.originalPasscodeEncryptionCode);
225
- const backupKeychainPromise = this.createBackupKeychain(backupGpgKey, userKeyShare, backupKeyShare, bitgoKeychain, params.passphrase);
226
- const [userKeychain, backupKeychain] = await Promise.all([userKeychainPromise, backupKeychainPromise]);
227
- // create wallet
228
- const keychains = {
229
- userKeychain,
230
- backupKeychain,
231
- bitgoKeychain,
232
- };
233
- return keychains;
234
- }
235
- }
236
- exports.BlsUtils = BlsUtils;
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxzVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvYmxzVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxtQ0FBcUM7QUFDckMscUNBQXlEO0FBQ3pELHlEQUEyRTtBQU0zRSx5Q0FBc0M7QUFldEM7O0dBRUc7QUFDSCxNQUFhLFFBQVMsU0FBUSxtQkFBUTtJQUNwQyxZQUFZLEtBQWdCLEVBQUUsUUFBbUI7UUFDL0MsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQ3RCLFVBQXFDLEVBQ3JDLFlBQXlCLEVBQ3pCLGNBQTJCLEVBQzNCLGFBQXVCLEVBQ3ZCLFVBQWtCLEVBQ2xCLDhCQUF1QztRQUV2QyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxRQUFRLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ2hILElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLElBQUksQ0FBQyxjQUFj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cG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IGdlbmVyYXRlS2V5LCBTZXJpYWxpemVkS2V5UGFpciB9IGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHsgQmxzS2V5UGFpciBhcyBCbHNLZXlQYWlyQ2xhc3MgfSBmcm9tICcuLi8uLi9hY2NvdW50LWxpYi9iYXNlQ29pbic7XG5pbXBvcnQgeyBJQmFzZUNvaW4sIElCbHNLZXlQYWlyLCBLZXljaGFpbnNUcmlwbGV0IH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IEtleWNoYWluIH0gZnJvbSAnLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgQWRkS2V5Y2hhaW5PcHRpb25zIH0gZnJvbSAnLi4va2V5Y2hhaW4vaUtleWNoYWlucyc7XG5pbXBvcnQgeyBJQmxzVXRpbHMgfSBmcm9tICcuL2lCbHNVdGlscyc7XG5pbXBvcnQgeyBNcGNVdGlscyB9IGZyb20gJy4vbXBjVXRpbHMnO1xuXG50eXBlIFNpZ25pbmdTaGFyZSA9IHtcbiAgc2VlZD86IHN0cmluZztcbiAgcHViOiBzdHJpbmc7XG4gIHByaXY6IHN0cmluZztcbiAgY2hhaW5jb2RlOiBzdHJpbmc7XG59O1xuXG50eXBlIFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgdXNlclNoYXJlOiBTaWduaW5nU2hhcmU7XG4gIGJhY2t1cFNoYXJlOiBTaWduaW5nU2hhcmU7XG4gIGJpdGdvU2hhcmU6IFNpZ25pbmdTaGFyZTtcbn07XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIEJMUy1ES0cgd29yayBmbG93cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJsc1V0aWxzIGV4dGVuZHMgTXBjVXRpbHMgaW1wbGVtZW50cyBJQmxzVXRpbHMge1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBiYXNlQ29pbjogSUJhc2VDb2luKSB7XG4gICAgc3VwZXIoYml0Z28sIGJhc2VDb2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgS2V5Y2hhaW4gY29udGFpbmluZyB0aGUgVXNlcidzIEJMUy1ES0cgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBCTFMtREtHIGtleSBzaGFyZVxuICAgKiBAcGFyYW0gYmFja3VwS2V5U2hhcmUgLSBiYWNrdXAncyBCTFMtREtHIGtleSBzaGFyZVxuICAgKiBAcGFyYW0gYml0Z29LZXljaGFpbiAtIHByZXZpb3VzbHkgY3JlYXRlZCBCaXRHbyBrZXljaGFpbjsgbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggdXNlciBhbmQgYmFja3VwIGtleSBzaGFyZXNcbiAgICogQHBhcmFtIHBhc3NwaHJhc2UgLSB3YWxsZXQgcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgdXNlcidzIHNpZ25pbmcgbWF0ZXJpYWxzXG4gICAqL1xuICBhc3luYyBjcmVhdGVVc2VyS2V5Y2hhaW4oXG4gICAgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IElCbHNLZXlQYWlyLFxuICAgIGJhY2t1cEtleVNoYXJlOiBJQmxzS2V5UGFpcixcbiAgICBiaXRnb0tleWNoYWluOiBLZXljaGFpbixcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmcsXG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBjb25zdCBiaXRnb0tleVNoYXJlcyA9IGJpdGdvS2V5Y2hhaW4ua2V5U2hhcmVzO1xuICAgIGlmICghYml0Z29LZXlTaGFyZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCaXRHbyBrZXkgc2hhcmVzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0R29Ub1VzZXJTaGFyZSA9IGJpdGdvS2V5U2hhcmVzLmZpbmQoKGtleVNoYXJlKSA9PiBrZXlTaGFyZS5mcm9tID09PSAnYml0Z28nICYmIGtleVNoYXJlLnRvID09PSAndXNlcicpO1xuICAgIGlmICghYml0R29Ub1VzZXJTaGFyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIHRvIFVzZXIga2V5IHNoYXJlJyk7XG4gICAgfVxuXG4gICAgaWYgKCF1c2VyS2V5U2hhcmUuc2VjcmV0U2hhcmVzIHx8ICF1c2VyS2V5U2hhcmUucHViKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgc2hhcmVzJyk7XG4gICAgfVxuICAgIGlmICghYmFja3VwS2V5U2hhcmUuc2VjcmV0U2hhcmVzIHx8ICFiYWNrdXBLZXlTaGFyZS5wdWIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBiYWNrdXAga2V5IHNoYXJlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9Vc2VyUHVibGljU2hhcmUgPSBiaXRHb1RvVXNlclNoYXJlLnB1YmxpY1NoYXJlLnNsaWNlKDAsIDk2KTtcbiAgICBjb25zdCBiaXRHb1RvVXNlckNoYWluY29kZSA9IGJpdEdvVG9Vc2VyU2hhcmUucHVibGljU2hhcmUuc2xpY2UoOTYpO1xuICAgIGNvbnN0IGNvbW1vblB1YiA9IEJsc0tleVBhaXJDbGFzcy5hZ2dyZWdhdGVQdWJrZXlzKFt1c2VyS2V5U2hhcmUucHViLCBiYWNrdXBLZXlTaGFyZS5wdWIsIGJpdEdvVG9Vc2VyUHVibGljU2hhcmVdKTtcbiAgICBjb25zdCBjb21tb25DaGFpbmNvZGUgPSBCbHNLZXlQYWlyQ2xhc3MuYWdncmVnYXRlQ2hhaW5jb2RlcyhbXG4gICAgICB1c2VyS2V5U2hhcmUuY2hhaW5jb2RlLFxuICAgICAgYmFja3VwS2V5U2hhcmUuY2hhaW5jb2RlLFxuICAgICAgYml0R29Ub1VzZXJDaGFpbmNvZGUsXG4gICAgXSk7XG4gICAgY29uc3QgY29tbW9uS2V5Y2hhaW4gPSBjb21tb25QdWIgKyBjb21tb25DaGFpbmNvZGU7XG4gICAgaWYgKGNvbW1vbktleWNoYWluICE9PSBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgdXNlciBrZXljaGFpbiAtIGNvbW1vbktleWNoYWlucyBkbyBub3QgbWF0Y2guJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0R29Ub1VzZXJQcml2YXRlU2hhcmUgPSBhd2FpdCB0aGlzLmRlY3J5cHRQcml2YXRlU2hhcmUoYml0R29Ub1VzZXJTaGFyZS5wcml2YXRlU2hhcmUsIHVzZXJHcGdLZXkpO1xuICAgIGlmIChiaXRHb1RvVXNlclByaXZhdGVTaGFyZS5zbGljZSg2NCkgIT09IGJpdEdvVG9Vc2VyQ2hhaW5jb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgdXNlciBrZXljaGFpbiAtIGJpdGdvIHRvIHVzZXIgY2hhaW5jb2RlIGRvIG5vdCBtYXRjaC4nKTtcbiAgICB9XG4gICAgY29uc3QgdXNlclNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0ge1xuICAgICAgdXNlclNoYXJlOiB7XG4gICAgICAgIHB1YjogdXNlcktleVNoYXJlLnB1YixcbiAgICAgICAgcHJpdjogdXNlcktleVNoYXJlLnNlY3JldFNoYXJlc1swXSxcbiAgICAgICAgc2VlZDogdXNlcktleVNoYXJlLnNlZWQsXG4gICAgICAgIGNoYWluY29kZTogdXNlcktleVNoYXJlLmNoYWluY29kZSxcbiAgICAgIH0sXG4gICAgICBiYWNrdXBTaGFyZToge1xuICAgICAgICBwdWI6IGJhY2t1cEtleVNoYXJlLnB1YixcbiAgICAgICAgcHJpdjogYmFja3VwS2V5U2hhcmUuc2VjcmV0U2hhcmVzWzBdLFxuICAgICAgICBjaGFpbmNvZGU6IGJhY2t1cEtleVNoYXJlLmNoYWluY29kZSxcbiAgICAgIH0sXG4gICAgICBiaXRnb1NoYXJlOiB7XG4gICAgICAgIHB1YjogYml0R29Ub1VzZXJQdWJsaWNTaGFyZSxcbiAgICAgICAgcHJpdjogYml0R29Ub1VzZXJQcml2YXRlU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgICBjaGFpbmNvZGU6IGJpdEdvVG9Vc2VyQ2hhaW5jb2RlLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgdXNlcktleWNoYWluUGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7XG4gICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgIGtleVR5cGU6ICdibHNka2cnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGNvbW1vbktleWNoYWluLFxuICAgICAgZW5jcnlwdGVkUHJ2OiB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogSlNPTi5zdHJpbmdpZnkodXNlclNpZ25pbmdNYXRlcmlhbCksIHBhc3N3b3JkOiBwYXNzcGhyYXNlIH0pLFxuICAgICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlLFxuICAgIH07XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5hZGQodXNlcktleWNoYWluUGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgS2V5Y2hhaW4gY29udGFpbmluZyB0aGUgQmFja3VwIHBhcnR5J3MgQkxTLURLRyBzaWduaW5nIG1hdGVyaWFscy5cbiAgICpcbiAgICogQHBhcmFtIGJhY2t1cEdwZ0tleSAtIGVwaGVtZXJhbCBHUEcga2V5IHRvIGVuY3J5cHQgLyBkZWNyeXB0IHNlbnNpdGl2ZSBkYXRhIGV4Y2hhbmdlZCBiZXR3ZWVuIGJhY2t1cCBhbmQgc2VydmVyXG4gICAqIEBwYXJhbSB1c2VyS2V5U2hhcmUgLSBVc2VyJ3MgQkxTLURLRyBLZXlzaGFyZVxuICAgKiBAcGFyYW0gYmFja3VwS2V5U2hhcmUgLSBCYWNrdXAncyBCTFMtREtHIEtleXNoYXJlXG4gICAqIEBwYXJhbSBiaXRnb0tleWNoYWluIC0gcHJldmlvdXNseSBjcmVhdGVkIEJpdEdvIGtleWNoYWluOyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCB1c2VyIGFuZCBiYWNrdXAga2V5IHNoYXJlc1xuICAgKiBAcGFyYW0gcGFzc3BocmFzZSAtIHdhbGxldCBwYXNzcGhyYXNlIHVzZWQgdG8gZW5jcnlwdCB1c2VyJ3Mgc2lnbmluZyBtYXRlcmlhbHNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUJhY2t1cEtleWNoYWluKFxuICAgIGJhY2t1cEdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IElCbHNLZXlQYWlyLFxuICAgIGJhY2t1cEtleVNoYXJlOiBJQmxzS2V5UGFpcixcbiAgICBiaXRnb0tleWNoYWluOiBLZXljaGFpbixcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IGJpdGdvS2V5U2hhcmVzID0gYml0Z29LZXljaGFpbi5rZXlTaGFyZXM7XG4gICAgaWYgKCFiaXRnb0tleVNoYXJlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJpdGdvIGtleXNoYXJlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9CYWNrdXBTaGFyZSA9IGJpdGdvS2V5U2hhcmVzLmZpbmQoKGtleVNoYXJlKSA9PiBrZXlTaGFyZS5mcm9tID09PSAnYml0Z28nICYmIGtleVNoYXJlLnRvID09PSAnYmFja3VwJyk7XG4gICAgaWYgKCFiaXRHb1RvQmFja3VwU2hhcmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCaXRHbyB0byBiYWNrdXAga2V5IHNoYXJlJyk7XG4gICAgfVxuXG4gICAgaWYgKCF1c2VyS2V5U2hhcmUuc2VjcmV0U2hhcmVzIHx8ICF1c2VyS2V5U2hhcmUucHViKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgc2hhcmVzJyk7XG4gICAgfVxuICAgIGlmICghYmFja3VwS2V5U2hhcmUuc2VjcmV0U2hhcmVzIHx8ICFiYWNrdXBLZXlTaGFyZS5wdWIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBiYWNrdXAga2V5IHNoYXJlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9CYWNrdXBQdWJsaWNTaGFyZSA9IGJpdEdvVG9CYWNrdXBTaGFyZS5wdWJsaWNTaGFyZS5zbGljZSgwLCA5Nik7XG4gICAgY29uc3QgYml0R29Ub0JhY2t1cENoYWluY29kZSA9IGJpdEdvVG9CYWNrdXBTaGFyZS5wdWJsaWNTaGFyZS5zbGljZSg5Nik7XG4gICAgY29uc3QgY29tbW9uUHViID0gQmxzS2V5UGFpckNsYXNzLmFnZ3JlZ2F0ZVB1YmtleXMoW1xuICAgICAgdXNlcktleVNoYXJlLnB1YixcbiAgICAgIGJhY2t1cEtleVNoYXJlLnB1YixcbiAgICAgIGJpdEdvVG9CYWNrdXBQdWJsaWNTaGFyZSxcbiAgICBdKTtcbiAgICBjb25zdCBjb21tb25DaGFpbmNvZGUgPSBCbHNLZXlQYWlyQ2xhc3MuYWdncmVnYXRlQ2hhaW5jb2RlcyhbXG4gICAgICB1c2VyS2V5U2hhcmUuY2hhaW5jb2RlLFxuICAgICAgYmFja3VwS2V5U2hhcmUuY2hhaW5jb2RlLFxuICAgICAgYml0R29Ub0JhY2t1cENoYWluY29kZSxcbiAgICBdKTtcbiAgICBjb25zdCBjb21tb25LZXljaGFpbiA9IGNvbW1vblB1YiArIGNvbW1vbkNoYWluY29kZTtcbiAgICBpZiAoY29tbW9uS2V5Y2hhaW4gIT09IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBiYWNrdXAga2V5Y2hhaW4gLSBjb21tb25LZXljaGFpbnMgZG8gbm90IG1hdGNoLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9CYWNrdXBQcml2YXRlU2hhcmUgPSBhd2FpdCB0aGlzLmRlY3J5cHRQcml2YXRlU2hhcmUoYml0R29Ub0JhY2t1cFNoYXJlLnByaXZhdGVTaGFyZSwgYmFja3VwR3BnS2V5KTtcbiAgICBpZiAoYml0R29Ub0JhY2t1cFByaXZhdGVTaGFyZS5zbGljZSg2NCkgIT09IGJpdEdvVG9CYWNrdXBDaGFpbmNvZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSB1c2VyIGtleWNoYWluIC0gYml0Z28gdG8gdXNlciBjaGFpbmNvZGUgZG8gbm90IG1hdGNoLicpO1xuICAgIH1cbiAgICBjb25zdCBiYWNrdXBTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgICAgIHVzZXJTaGFyZToge1xuICAgICAgICBwdWI6IHVzZXJLZXlTaGFyZS5wdWIsXG4gICAgICAgIHByaXY6IHVzZXJLZXlTaGFyZS5zZWNyZXRTaGFyZXNbMV0sXG4gICAgICAgIGNoYWluY29kZTogdXNlcktleVNoYXJlLmNoYWluY29kZSxcbiAgICAgIH0sXG4gICAgICBiYWNrdXBTaGFyZToge1xuICAgICAgICBwdWI6IGJhY2t1cEtleVNoYXJlLnB1YixcbiAgICAgICAgcHJpdjogYmFja3VwS2V5U2hhcmUuc2VjcmV0U2hhcmVzWzFdLFxuICAgICAgICBjaGFpbmNvZGU6IGJhY2t1cEtleVNoYXJlLmNoYWluY29kZSxcbiAgICAgICAgc2VlZDogYmFja3VwS2V5U2hhcmUuc2VlZCxcbiAgICAgIH0sXG4gICAgICBiaXRnb1NoYXJlOiB7XG4gICAgICAgIHB1YjogYml0R29Ub0JhY2t1cFB1YmxpY1NoYXJlLFxuICAgICAgICBwcml2OiBiaXRHb1RvQmFja3VwUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgICAgY2hhaW5jb2RlOiBiaXRHb1RvQmFja3VwQ2hhaW5jb2RlLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IHBydiA9IEpTT04uc3RyaW5naWZ5KGJhY2t1cFNpZ25pbmdNYXRlcmlhbCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5jcmVhdGVCYWNrdXAoe1xuICAgICAgc291cmNlOiAnYmFja3VwJyxcbiAgICAgIGtleVR5cGU6ICdibHNka2cnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGNvbW1vbktleWNoYWluLFxuICAgICAgcHJ2LFxuICAgICAgZW5jcnlwdGVkUHJ2OiB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogcHJ2LCBwYXNzd29yZDogcGFzc3BocmFzZSB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgS2V5Y2hhaW4gY29udGFpbmluZyBCaXRHbydzIEJMUy1ES0cgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIGJhY2t1cEdwZ0tleSAtIGVwaGVtZXJhbCBHUEcga2V5IHRvIGVuY3J5cHQgLyBkZWNyeXB0IHNlbnNpdHZlIGRhdGEgZXhjaGFuZ2VkIGJldHdlZW4gYmFja3VwIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBCTFMtREtHIGtleSBzaGFyZVxuICAgKiBAcGFyYW0gYmFja3VwS2V5U2hhcmUgLSBiYWNrdXAncyBCTFMtREtHIGtleSBzaGFyZVxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQml0Z29LZXljaGFpbihcbiAgICB1c2VyR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIGJhY2t1cEdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IElCbHNLZXlQYWlyLFxuICAgIGJhY2t1cEtleVNoYXJlOiBJQmxzS2V5UGFpcixcbiAgICBlbnRlcnByaXNlPzogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBpZiAoIXVzZXJLZXlTaGFyZS5zZWNyZXRTaGFyZXMgfHwgIXVzZXJLZXlTaGFyZS5wdWIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1c2VyIGtleSBzaGFyZXMnKTtcbiAgICB9XG4gICAgaWYgKCFiYWNrdXBLZXlTaGFyZS5zZWNyZXRTaGFyZXMgfHwgIWJhY2t1cEtleVNoYXJlLnB1Yikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJhY2t1cCBrZXkgc2hhcmVzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlclRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnB1YiwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCB1c2VyVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnNlY3JldFNoYXJlc1syXSwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIGNvbnN0IHVzZXJUb0JpdGdvS2V5U2hhcmUgPSB7XG4gICAgICBwdWJsaWNTaGFyZTogdXNlclRvQml0Z29QdWJsaWNTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZTogdXNlclRvQml0Z29Qcml2YXRlU2hhcmUsXG4gICAgfTtcblxuICAgIGNvbnN0IGJhY2t1cFRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUucHViLCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgICBdKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgYmFja3VwVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUuc2VjcmV0U2hhcmVzWzJdLCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgICBdKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgYmFja3VwVG9CaXRnb0tleVNoYXJlID0ge1xuICAgICAgcHVibGljU2hhcmU6IGJhY2t1cFRvQml0Z29QdWJsaWNTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZTogYmFja3VwVG9CaXRnb1ByaXZhdGVTaGFyZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlQml0Z29LZXljaGFpbkluV1AoXG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgYmFja3VwR3BnS2V5LFxuICAgICAgdXNlclRvQml0Z29LZXlTaGFyZSxcbiAgICAgIGJhY2t1cFRvQml0Z29LZXlTaGFyZSxcbiAgICAgICdibHNka2cnLFxuICAgICAgZW50ZXJwcmlzZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBVc2VyLCBCYWNrdXAsIGFuZCBCaXRHbyBCTFMtREtHIEtleWNoYWlucy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy5wYXNzcGhyYXNlIC0gcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgc2lnbmluZyBtYXRlcmlhbHMgY3JlYXRlZCBmb3IgVXNlciBhbmQgQmFja3VwXG4gICAqL1xuICBhc3luYyBjcmVhdGVLZXljaGFpbnMocGFyYW1zOiB7XG4gICAgcGFzc3BocmFzZTogc3RyaW5nO1xuICAgIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PiB7XG4gICAgY29uc3QgdXNlcktleVNoYXJlID0gdGhpcy5iYXNlQ29pbi5nZW5lcmF0ZUtleVBhaXIoKSBhcyBJQmxzS2V5UGFpcjtcbiAgICBjb25zdCBiYWNrdXBLZXlTaGFyZSA9IHRoaXMuYmFzZUNvaW4uZ2VuZXJhdGVLZXlQYWlyKCkgYXMgSUJsc0tleVBhaXI7XG5cbiAgICBjb25zdCByYW5kb21IZXhTdHJpbmcgPSByYW5kb21CeXRlcygxMikudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHJhbmRvbUhleFN0cmluZzIgPSByYW5kb21CeXRlcygxMikudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgY29uc3QgdXNlckdwZ0tleSA9IGF3YWl0IGdlbmVyYXRlS2V5KHtcbiAgICAgIHVzZXJJRHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IHJhbmRvbUhleFN0cmluZyxcbiAgICAgICAgICBlbWFpbDogYCR7cmFuZG9tSGV4U3RyaW5nfUAke3JhbmRvbUhleFN0cmluZ30uY29tYCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBiYWNrdXBHcGdLZXkgPSBhd2FpdCBnZW5lcmF0ZUtleSh7XG4gICAgICB1c2VySURzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiByYW5kb21IZXhTdHJpbmcyLFxuICAgICAgICAgIGVtYWlsOiBgJHtyYW5kb21IZXhTdHJpbmcyfUAke3JhbmRvbUhleFN0cmluZzJ9LmNvbWAsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYml0Z29LZXljaGFpbiA9IGF3YWl0IHRoaXMuY3JlYXRlQml0Z29LZXljaGFpbihcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICBiYWNrdXBHcGdLZXksXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIHBhcmFtcy5lbnRlcnByaXNlXG4gICAgKTtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW5Qcm9taXNlID0gdGhpcy5jcmVhdGVVc2VyS2V5Y2hhaW4oXG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgdXNlcktleVNoYXJlLFxuICAgICAgYmFja3VwS2V5U2hhcmUsXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgcGFyYW1zLnBhc3NwaHJhc2UsXG4gICAgICBwYXJhbXMub3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlXG4gICAgKTtcbiAgICBjb25zdCBiYWNrdXBLZXljaGFpblByb21pc2UgPSB0aGlzLmNyZWF0ZUJhY2t1cEtleWNoYWluKFxuICAgICAgYmFja3VwR3BnS2V5LFxuICAgICAgdXNlcktleVNoYXJlLFxuICAgICAgYmFja3VwS2V5U2hhcmUsXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgcGFyYW1zLnBhc3NwaHJhc2VcbiAgICApO1xuICAgIGNvbnN0IFt1c2VyS2V5Y2hhaW4sIGJhY2t1cEtleWNoYWluXSA9IGF3YWl0IFByb21pc2UuYWxsKFt1c2VyS2V5Y2hhaW5Qcm9taXNlLCBiYWNrdXBLZXljaGFpblByb21pc2VdKTtcblxuICAgIC8vIGNyZWF0ZSB3YWxsZXRcbiAgICBjb25zdCBrZXljaGFpbnMgPSB7XG4gICAgICB1c2VyS2V5Y2hhaW4sXG4gICAgICBiYWNrdXBLZXljaGFpbixcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgfTtcblxuICAgIHJldHVybiBrZXljaGFpbnM7XG4gIH1cbn1cbiJdfQ==
@@ -1,14 +0,0 @@
1
- import { SerializedKeyPair } from 'openpgp';
2
- import { IBlsKeyPair, KeychainsTriplet } from '../baseCoin';
3
- import { Keychain } from '../keychain';
4
- export interface IBlsUtils {
5
- createUserKeychain(userGpgKey: SerializedKeyPair<string>, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, bitgoKeychain: Keychain, passphrase: string, originalPasscodeEncryptionCode: string): Promise<Keychain>;
6
- createBackupKeychain(backupGpgKey: SerializedKeyPair<string>, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, bitgoKeychain: Keychain, passphrase: string): Promise<Keychain>;
7
- createBitgoKeychain(userGpgKey: SerializedKeyPair<string>, backupGpgKey: SerializedKeyPair<string>, userKeyShare: IBlsKeyPair, backupKeyShare: IBlsKeyPair, enterprise: string): Promise<Keychain>;
8
- createKeychains(params: {
9
- passphrase: string;
10
- enterprise?: string;
11
- originalPasscodeEncryptionCode?: string;
12
- }): Promise<KeychainsTriplet>;
13
- }
14
- //# sourceMappingURL=iBlsUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iBlsUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/iBlsUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,SAAS;IACxB,kBAAkB,CAChB,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACrC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,MAAM,EAClB,8BAA8B,EAAE,MAAM,GACrC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,oBAAoB,CAClB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACvC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,mBAAmB,CACjB,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACrC,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACvC,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,WAAW,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,eAAe,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8BAA8B,CAAC,EAAE,MAAM,CAAC;KACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC/B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUJsc1V0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL2lCbHNVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VyaWFsaXplZEtleVBhaXIgfSBmcm9tICdvcGVucGdwJztcbmltcG9ydCB7IElCbHNLZXlQYWlyLCBLZXljaGFpbnNUcmlwbGV0IH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsc1V0aWxzIHtcbiAgY3JlYXRlVXNlcktleWNoYWluKFxuICAgIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgdXNlcktleVNoYXJlOiBJQmxzS2V5UGFpcixcbiAgICBiYWNrdXBLZXlTaGFyZTogSUJsc0tleVBhaXIsXG4gICAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZTogc3RyaW5nLFxuICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZTogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+O1xuICBjcmVhdGVCYWNrdXBLZXljaGFpbihcbiAgICBiYWNrdXBHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgdXNlcktleVNoYXJlOiBJQmxzS2V5UGFpcixcbiAgICBiYWNrdXBLZXlTaGFyZTogSUJsc0tleVBhaXIsXG4gICAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZTogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+O1xuICBjcmVhdGVCaXRnb0tleWNoYWluKFxuICAgIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgYmFja3VwR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIHVzZXJLZXlTaGFyZTogSUJsc0tleVBhaXIsXG4gICAgYmFja3VwS2V5U2hhcmU6IElCbHNLZXlQYWlyLFxuICAgIGVudGVycHJpc2U6IHN0cmluZ1xuICApOiBQcm9taXNlPEtleWNoYWluPjtcbiAgY3JlYXRlS2V5Y2hhaW5zKHBhcmFtczoge1xuICAgIHBhc3NwaHJhc2U6IHN0cmluZztcbiAgICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgfSk6IFByb21pc2U8S2V5Y2hhaW5zVHJpcGxldD47XG59XG4iXX0=
@@ -1,92 +0,0 @@
1
- import * as t from 'io-ts';
2
- export declare const SendTransactionRequest: t.ExactC<t.IntersectionC<[t.PartialC<{
3
- otp: t.StringC;
4
- txHex: t.StringC;
5
- halfSigned: t.UnknownC;
6
- comment: t.UnknownC;
7
- suppressBroadcast: t.BooleanC;
8
- txRequestId: t.UnknownC;
9
- sequenceId: t.UnknownC;
10
- consolidateId: t.UnknownC;
11
- invoice: t.UnknownC;
12
- videoApprovers: t.ArrayC<t.UnknownC>;
13
- }>, t.IntersectionC<[t.PartialC<{
14
- addressType: t.UnknownC;
15
- changeAddress: t.UnknownC;
16
- cpfpFeeRate: t.UnknownC;
17
- cpfpTxIds: t.UnknownC;
18
- unspents: t.UnknownC;
19
- minValue: t.UnknownC;
20
- minConfirms: t.UnknownC;
21
- maxValue: t.UnknownC;
22
- targetWalletUnspents: t.UnknownC;
23
- strategy: t.UnknownC;
24
- strategyAllowFallback: t.UnknownC;
25
- noSplitChange: t.UnknownC;
26
- smallestChangeSplitSize: t.UnknownC;
27
- enforceMinConfirmsForChange: t.UnknownC;
28
- txFormat: t.UnknownC;
29
- maxChangeOutputs: t.UnknownC;
30
- }>, t.PartialC<{
31
- contractName: t.UnknownC;
32
- functionName: t.UnknownC;
33
- functionArgs: t.UnknownC;
34
- }>, t.PartialC<{
35
- idfSignedTimestamp: t.UnknownC;
36
- idfVersion: t.UnknownC;
37
- idfUserId: t.UnknownC;
38
- }>, t.PartialC<{
39
- apiVersion: t.UnknownC;
40
- consolidateAddresses: t.UnknownC;
41
- consolidateId: t.UnknownC;
42
- comment: t.StringC;
43
- delayMs: t.UnknownC;
44
- fee: t.UnknownC;
45
- feeRate: t.UnknownC;
46
- feeMultiplier: t.UnknownC;
47
- enableTokens: t.UnknownC;
48
- gasLimit: t.UnknownC;
49
- gasPrice: t.UnknownC;
50
- hopParams: t.UnknownC;
51
- instant: t.UnknownC;
52
- lastLedgerSequence: t.UnknownC;
53
- ledgerSequenceDelta: t.UnknownC;
54
- maxFee: t.UnknownC;
55
- maxFeeRate: t.UnknownC;
56
- memo: t.UnknownC;
57
- transferId: t.UnknownC;
58
- message: t.UnknownC;
59
- numBlocks: t.UnknownC;
60
- nonce: t.UnknownC;
61
- pendingApprovalId: t.UnknownC;
62
- preview: t.UnknownC;
63
- previewPendingTxs: t.UnknownC;
64
- senderAddress: t.UnknownC;
65
- receiveAddress: t.UnknownC;
66
- recipients: t.UnknownC;
67
- reservation: t.UnknownC;
68
- refundOptions: t.UnknownC;
69
- sequenceId: t.UnknownC;
70
- sourceChain: t.UnknownC;
71
- destinationChain: t.UnknownC;
72
- trustlines: t.UnknownC;
73
- type: t.UnknownC;
74
- timeBounds: t.UnknownC;
75
- startTime: t.UnknownC;
76
- stateProofKey: t.UnknownC;
77
- nonParticipation: t.UnknownC;
78
- validFromBlock: t.UnknownC;
79
- validToBlock: t.UnknownC;
80
- messageKey: t.UnknownC;
81
- stakingParams: t.UnknownC;
82
- stakingOptions: t.UnknownC;
83
- unstakingOptions: t.UnknownC;
84
- eip1559: t.UnknownC;
85
- keyregTxBase64: t.UnknownC;
86
- closeRemainderTo: t.UnknownC;
87
- tokenName: t.UnknownC;
88
- prebuildTx: t.UnknownC;
89
- emergency: t.UnknownC;
90
- }>]>]>>;
91
- export declare type SendTransactionRequest = t.TypeOf<typeof SendTransactionRequest>;
92
- //# sourceMappingURL=SendTransactionRequest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SendTransactionRequest.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/SendTransactionRequest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAG3B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgBlC,CAAC;AAEF,oBAAY,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC"}