@bitgo/sdk-core 1.0.1-rc.0 → 1.1.0-dev.0

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 (362) hide show
  1. package/dist/src/account-lib/baseCoin/baseKeyPair.d.ts +27 -0
  2. package/dist/src/account-lib/baseCoin/baseKeyPair.d.ts.map +1 -0
  3. package/dist/src/account-lib/baseCoin/baseKeyPair.js +3 -0
  4. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +71 -0
  5. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -0
  6. package/dist/src/account-lib/baseCoin/baseTransaction.js +69 -0
  7. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +128 -0
  8. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -0
  9. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +138 -0
  10. package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.d.ts +29 -0
  11. package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.d.ts.map +1 -0
  12. package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.js +19 -0
  13. package/dist/src/account-lib/baseCoin/baseUtils.d.ts +45 -0
  14. package/dist/src/account-lib/baseCoin/baseUtils.d.ts.map +1 -0
  15. package/dist/src/account-lib/baseCoin/baseUtils.js +3 -0
  16. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +75 -0
  17. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +1 -0
  18. package/dist/src/account-lib/baseCoin/blsKeyPair.js +179 -0
  19. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +50 -0
  20. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -0
  21. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +145 -0
  22. package/dist/src/account-lib/baseCoin/enum.d.ts +45 -0
  23. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -0
  24. package/dist/src/account-lib/baseCoin/enum.js +74 -0
  25. package/dist/src/account-lib/baseCoin/errors.d.ts +59 -0
  26. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -0
  27. package/dist/src/account-lib/baseCoin/errors.js +105 -0
  28. package/dist/src/account-lib/baseCoin/iface.d.ts +155 -0
  29. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -0
  30. package/dist/src/account-lib/baseCoin/iface.js +38 -0
  31. package/dist/src/account-lib/baseCoin/index.d.ts +12 -0
  32. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -0
  33. package/dist/src/account-lib/baseCoin/index.js +31 -0
  34. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +55 -0
  35. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -0
  36. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +124 -0
  37. package/dist/src/account-lib/index.d.ts +5 -0
  38. package/dist/src/account-lib/index.d.ts.map +1 -0
  39. package/dist/src/account-lib/index.js +17 -0
  40. package/dist/src/account-lib/mpc/curves/baseCurve.d.ts +19 -0
  41. package/dist/src/account-lib/mpc/curves/baseCurve.d.ts.map +1 -0
  42. package/dist/src/account-lib/mpc/curves/baseCurve.js +6 -0
  43. package/dist/src/account-lib/mpc/curves/ed25519.d.ts +17 -0
  44. package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -0
  45. package/dist/src/account-lib/mpc/curves/ed25519.js +57 -0
  46. package/dist/src/account-lib/mpc/curves/index.d.ts +6 -0
  47. package/dist/src/account-lib/mpc/curves/index.d.ts.map +1 -0
  48. package/dist/src/account-lib/mpc/curves/index.js +8 -0
  49. package/dist/src/account-lib/mpc/curves/secp256k1.d.ts +17 -0
  50. package/dist/src/account-lib/mpc/curves/secp256k1.d.ts.map +1 -0
  51. package/dist/src/account-lib/mpc/curves/secp256k1.js +70 -0
  52. package/dist/src/account-lib/mpc/hdTree.d.ts +24 -0
  53. package/dist/src/account-lib/mpc/hdTree.d.ts.map +1 -0
  54. package/dist/src/account-lib/mpc/hdTree.js +94 -0
  55. package/dist/src/account-lib/mpc/index.d.ts +8 -0
  56. package/dist/src/account-lib/mpc/index.d.ts.map +1 -0
  57. package/dist/src/account-lib/mpc/index.js +23 -0
  58. package/dist/src/account-lib/mpc/shamir.d.ts +26 -0
  59. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -0
  60. package/dist/src/account-lib/mpc/shamir.js +86 -0
  61. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +25 -0
  62. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  63. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +121 -0
  64. package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts +4 -0
  65. package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts.map +1 -0
  66. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +29 -0
  67. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +40 -0
  68. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -0
  69. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +3 -0
  70. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +29 -0
  71. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -0
  72. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +276 -0
  73. package/dist/src/account-lib/mpc/tss/eddsa/index.d.ts +4 -0
  74. package/dist/src/account-lib/mpc/tss/eddsa/index.d.ts.map +1 -0
  75. package/dist/src/account-lib/mpc/tss/eddsa/index.js +30 -0
  76. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +70 -0
  77. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -0
  78. package/dist/src/account-lib/mpc/tss/eddsa/types.js +3 -0
  79. package/dist/src/account-lib/mpc/tss/index.d.ts +6 -0
  80. package/dist/src/account-lib/mpc/tss/index.d.ts.map +1 -0
  81. package/dist/src/account-lib/mpc/tss/index.js +35 -0
  82. package/dist/src/account-lib/mpc/util.d.ts +8 -0
  83. package/dist/src/account-lib/mpc/util.d.ts.map +1 -0
  84. package/dist/src/account-lib/mpc/util.js +42 -0
  85. package/dist/src/account-lib/util/crypto.d.ts +106 -0
  86. package/dist/src/account-lib/util/crypto.d.ts.map +1 -0
  87. package/dist/src/account-lib/util/crypto.js +269 -0
  88. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +49 -0
  89. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -0
  90. package/dist/src/account-lib/util/ed25519KeyDeriver.js +87 -0
  91. package/dist/src/api/bip32path.d.ts +24 -0
  92. package/dist/src/api/bip32path.d.ts.map +1 -0
  93. package/dist/src/api/bip32path.js +45 -0
  94. package/dist/src/api/index.d.ts +3 -0
  95. package/dist/src/api/index.d.ts.map +1 -0
  96. package/dist/src/{v2 → api}/index.js +2 -2
  97. package/dist/src/api/types.d.ts +20 -0
  98. package/dist/src/api/types.d.ts.map +1 -0
  99. package/dist/src/api/types.js +3 -0
  100. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +230 -0
  101. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -0
  102. package/dist/src/bitgo/baseCoin/baseCoin.js +292 -0
  103. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +257 -0
  104. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -0
  105. package/dist/src/bitgo/baseCoin/iBaseCoin.js +3 -0
  106. package/dist/src/bitgo/baseCoin/index.d.ts +3 -0
  107. package/dist/src/bitgo/baseCoin/index.d.ts.map +1 -0
  108. package/dist/src/bitgo/baseCoin/index.js +15 -0
  109. package/dist/src/bitgo/bip32util.d.ts +17 -0
  110. package/dist/src/bitgo/bip32util.d.ts.map +1 -0
  111. package/dist/src/bitgo/bip32util.js +59 -0
  112. package/dist/src/bitgo/bitcoin.d.ts +16 -0
  113. package/dist/src/bitgo/bitcoin.d.ts.map +1 -0
  114. package/dist/src/bitgo/bitcoin.js +52 -0
  115. package/dist/src/bitgo/bitgoBase.d.ts +22 -0
  116. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -0
  117. package/dist/src/bitgo/bitgoBase.js +3 -0
  118. package/dist/src/bitgo/coinFactory.d.ts +31 -0
  119. package/dist/src/bitgo/coinFactory.d.ts.map +1 -0
  120. package/dist/src/bitgo/coinFactory.js +59 -0
  121. package/dist/src/bitgo/config.d.ts +8 -0
  122. package/dist/src/bitgo/config.d.ts.map +1 -0
  123. package/dist/src/bitgo/config.js +25 -0
  124. package/dist/src/bitgo/ecdh.d.ts +24 -0
  125. package/dist/src/bitgo/ecdh.d.ts.map +1 -0
  126. package/dist/src/bitgo/ecdh.js +80 -0
  127. package/dist/src/bitgo/enterprise/enterprise.d.ts +64 -0
  128. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -0
  129. package/dist/src/bitgo/enterprise/enterprise.js +120 -0
  130. package/dist/src/bitgo/enterprise/enterprises.d.ts +25 -0
  131. package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -0
  132. package/dist/src/bitgo/enterprise/enterprises.js +70 -0
  133. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +15 -0
  134. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -0
  135. package/dist/src/bitgo/enterprise/iEnterprise.js +3 -0
  136. package/dist/src/bitgo/enterprise/iEnterprises.d.ts +10 -0
  137. package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -0
  138. package/dist/src/bitgo/enterprise/iEnterprises.js +3 -0
  139. package/dist/src/bitgo/enterprise/index.d.ts +5 -0
  140. package/dist/src/bitgo/enterprise/index.d.ts.map +1 -0
  141. package/dist/src/bitgo/enterprise/index.js +17 -0
  142. package/dist/src/{v2 → bitgo}/environments.d.ts +0 -0
  143. package/dist/src/bitgo/environments.d.ts.map +1 -0
  144. package/dist/src/bitgo/environments.js +142 -0
  145. package/dist/src/bitgo/errors.d.ts +83 -0
  146. package/dist/src/bitgo/errors.d.ts.map +1 -0
  147. package/dist/src/bitgo/errors.js +163 -0
  148. package/dist/src/bitgo/index.d.ts +26 -0
  149. package/dist/src/bitgo/index.d.ts.map +1 -0
  150. package/dist/src/bitgo/index.js +51 -0
  151. package/dist/src/bitgo/internal/index.d.ts +3 -0
  152. package/dist/src/bitgo/internal/index.d.ts.map +1 -0
  153. package/dist/src/bitgo/internal/index.js +15 -0
  154. package/dist/src/bitgo/internal/internal.d.ts +19 -0
  155. package/dist/src/bitgo/internal/internal.d.ts.map +1 -0
  156. package/dist/src/bitgo/internal/internal.js +33 -0
  157. package/dist/src/bitgo/internal/keycard.d.ts +33 -0
  158. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -0
  159. package/dist/src/bitgo/internal/keycard.js +304 -0
  160. package/dist/src/bitgo/keychain/iKeychains.d.ts +118 -0
  161. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -0
  162. package/dist/src/bitgo/keychain/iKeychains.js +10 -0
  163. package/dist/src/bitgo/keychain/index.d.ts +3 -0
  164. package/dist/src/bitgo/keychain/index.d.ts.map +1 -0
  165. package/dist/src/bitgo/keychain/index.js +15 -0
  166. package/dist/src/bitgo/keychain/keychains.d.ts +90 -0
  167. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -0
  168. package/dist/src/bitgo/keychain/keychains.js +280 -0
  169. package/dist/src/bitgo/market/iMarkets.d.ts +12 -0
  170. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -0
  171. package/dist/src/bitgo/market/iMarkets.js +3 -0
  172. package/dist/src/bitgo/market/index.d.ts +3 -0
  173. package/dist/src/bitgo/market/index.d.ts.map +1 -0
  174. package/dist/src/bitgo/market/index.js +15 -0
  175. package/dist/src/bitgo/market/markets.d.ts +29 -0
  176. package/dist/src/bitgo/market/markets.d.ts.map +1 -0
  177. package/dist/src/bitgo/market/markets.js +70 -0
  178. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +73 -0
  179. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -0
  180. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +28 -0
  181. package/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts +16 -0
  182. package/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts.map +1 -0
  183. package/dist/src/bitgo/pendingApproval/iPendingApprovals.js +3 -0
  184. package/dist/src/bitgo/pendingApproval/index.d.ts +5 -0
  185. package/dist/src/bitgo/pendingApproval/index.d.ts.map +1 -0
  186. package/dist/src/bitgo/pendingApproval/index.js +17 -0
  187. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +99 -0
  188. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -0
  189. package/dist/src/bitgo/pendingApproval/pendingApproval.js +319 -0
  190. package/dist/src/bitgo/pendingApproval/pendingApprovals.d.ts +19 -0
  191. package/dist/src/bitgo/pendingApproval/pendingApprovals.d.ts.map +1 -0
  192. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +76 -0
  193. package/dist/src/bitgo/recovery/index.d.ts +2 -0
  194. package/dist/src/bitgo/recovery/index.d.ts.map +1 -0
  195. package/dist/src/bitgo/recovery/index.js +14 -0
  196. package/dist/src/bitgo/recovery/initiate.d.ts +49 -0
  197. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -0
  198. package/dist/src/bitgo/recovery/initiate.js +119 -0
  199. package/dist/src/bitgo/trading/affirmation.d.ts +35 -0
  200. package/dist/src/bitgo/trading/affirmation.d.ts.map +1 -0
  201. package/dist/src/bitgo/trading/affirmation.js +53 -0
  202. package/dist/src/bitgo/trading/affirmations.d.ts +23 -0
  203. package/dist/src/bitgo/trading/affirmations.d.ts.map +1 -0
  204. package/dist/src/bitgo/trading/affirmations.js +45 -0
  205. package/dist/src/bitgo/trading/iAffirmation.d.ts +15 -0
  206. package/dist/src/bitgo/trading/iAffirmation.d.ts.map +1 -0
  207. package/dist/src/bitgo/trading/iAffirmation.js +13 -0
  208. package/dist/src/bitgo/trading/iAffirmations.d.ts +10 -0
  209. package/dist/src/bitgo/trading/iAffirmations.d.ts.map +1 -0
  210. package/dist/src/bitgo/trading/iAffirmations.js +3 -0
  211. package/dist/src/bitgo/trading/iSettlement.d.ts +25 -0
  212. package/dist/src/bitgo/trading/iSettlement.d.ts.map +1 -0
  213. package/dist/src/bitgo/trading/iSettlement.js +17 -0
  214. package/dist/src/bitgo/trading/iSettlements.d.ts +19 -0
  215. package/dist/src/bitgo/trading/iSettlements.d.ts.map +1 -0
  216. package/dist/src/bitgo/trading/iSettlements.js +3 -0
  217. package/dist/src/bitgo/trading/iTradingAccount.d.ts +41 -0
  218. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -0
  219. package/dist/src/bitgo/trading/iTradingAccount.js +3 -0
  220. package/dist/src/bitgo/trading/iTradingPartner.d.ts +14 -0
  221. package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +1 -0
  222. package/dist/src/bitgo/trading/iTradingPartner.js +17 -0
  223. package/dist/src/bitgo/trading/iTradingPartners.d.ts +15 -0
  224. package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +1 -0
  225. package/dist/src/bitgo/trading/iTradingPartners.js +9 -0
  226. package/dist/src/bitgo/trading/index.d.ts +18 -0
  227. package/dist/src/bitgo/trading/index.d.ts.map +1 -0
  228. package/dist/src/bitgo/trading/index.js +30 -0
  229. package/dist/src/bitgo/trading/lock.d.ts +16 -0
  230. package/dist/src/bitgo/trading/lock.d.ts.map +1 -0
  231. package/dist/src/bitgo/trading/lock.js +12 -0
  232. package/dist/src/bitgo/trading/payload.d.ts +22 -0
  233. package/dist/src/bitgo/trading/payload.d.ts.map +1 -0
  234. package/dist/src/bitgo/trading/payload.js +3 -0
  235. package/dist/src/bitgo/trading/settlement.d.ts +16 -0
  236. package/dist/src/bitgo/trading/settlement.d.ts.map +1 -0
  237. package/dist/src/bitgo/trading/settlement.js +21 -0
  238. package/dist/src/bitgo/trading/settlements.d.ts +32 -0
  239. package/dist/src/bitgo/trading/settlements.d.ts.map +1 -0
  240. package/dist/src/bitgo/trading/settlements.js +61 -0
  241. package/dist/src/bitgo/trading/trade.d.ts +29 -0
  242. package/dist/src/bitgo/trading/trade.d.ts.map +1 -0
  243. package/dist/src/bitgo/trading/trade.js +11 -0
  244. package/dist/src/bitgo/trading/tradingAccount.d.ts +53 -0
  245. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -0
  246. package/dist/src/bitgo/trading/tradingAccount.js +127 -0
  247. package/dist/src/bitgo/trading/tradingPartner.d.ts +26 -0
  248. package/dist/src/bitgo/trading/tradingPartner.d.ts.map +1 -0
  249. package/dist/src/bitgo/trading/tradingPartner.js +31 -0
  250. package/dist/src/bitgo/trading/tradingPartners.d.ts +24 -0
  251. package/dist/src/bitgo/trading/tradingPartners.d.ts.map +1 -0
  252. package/dist/src/bitgo/trading/tradingPartners.js +32 -0
  253. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +35 -0
  254. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -0
  255. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +95 -0
  256. package/dist/src/bitgo/tss/ecdsa/index.d.ts +4 -0
  257. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -0
  258. package/dist/src/bitgo/tss/ecdsa/index.js +26 -0
  259. package/dist/src/bitgo/tss/ecdsa/types.d.ts +30 -0
  260. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -0
  261. package/dist/src/bitgo/tss/ecdsa/types.js +3 -0
  262. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +102 -0
  263. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -0
  264. package/dist/src/bitgo/tss/eddsa/eddsa.js +256 -0
  265. package/dist/src/bitgo/tss/eddsa/index.d.ts +6 -0
  266. package/dist/src/bitgo/tss/eddsa/index.d.ts.map +1 -0
  267. package/dist/src/bitgo/tss/eddsa/index.js +37 -0
  268. package/dist/src/bitgo/tss/eddsa/types.d.ts +23 -0
  269. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -0
  270. package/dist/src/bitgo/tss/eddsa/types.js +3 -0
  271. package/dist/src/bitgo/tss/index.d.ts +6 -0
  272. package/dist/src/bitgo/tss/index.d.ts.map +1 -0
  273. package/dist/src/bitgo/tss/index.js +42 -0
  274. package/dist/src/bitgo/tss/types.d.ts +6 -0
  275. package/dist/src/bitgo/tss/types.d.ts.map +1 -0
  276. package/dist/src/bitgo/tss/types.js +10 -0
  277. package/dist/src/bitgo/types.d.ts +4 -0
  278. package/dist/src/bitgo/types.d.ts.map +1 -0
  279. package/dist/src/bitgo/types.js +3 -0
  280. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +6 -0
  281. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  282. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +30 -0
  283. package/dist/src/bitgo/utils/blsUtils.d.ts +51 -0
  284. package/dist/src/bitgo/utils/blsUtils.d.ts.map +1 -0
  285. package/dist/src/bitgo/utils/blsUtils.js +166 -0
  286. package/dist/src/bitgo/utils/iBlsUtils.d.ts +14 -0
  287. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +1 -0
  288. package/dist/src/bitgo/utils/iBlsUtils.js +3 -0
  289. package/dist/src/bitgo/utils/index.d.ts +12 -0
  290. package/dist/src/bitgo/utils/index.d.ts.map +1 -0
  291. package/dist/src/bitgo/utils/index.js +37 -0
  292. package/dist/src/bitgo/utils/mpcUtils.d.ts +31 -0
  293. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -0
  294. package/dist/src/bitgo/utils/mpcUtils.js +55 -0
  295. package/dist/src/bitgo/utils/opengpgUtils.d.ts +51 -0
  296. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -0
  297. package/dist/src/bitgo/utils/opengpgUtils.js +136 -0
  298. package/dist/src/bitgo/utils/promise-utils.d.ts +5 -0
  299. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -0
  300. package/dist/src/bitgo/utils/promise-utils.js +12 -0
  301. package/dist/src/bitgo/utils/triple.d.ts +3 -0
  302. package/dist/src/bitgo/utils/triple.d.ts.map +1 -0
  303. package/dist/src/bitgo/utils/triple.js +8 -0
  304. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +117 -0
  305. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -0
  306. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +351 -0
  307. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +5 -0
  308. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -0
  309. package/dist/src/bitgo/utils/tss/eddsa/index.js +29 -0
  310. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +72 -0
  311. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -0
  312. package/dist/src/bitgo/utils/tss/eddsa/types.js +10 -0
  313. package/dist/src/bitgo/utils/tss/index.d.ts +4 -0
  314. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -0
  315. package/dist/src/bitgo/utils/tss/index.js +29 -0
  316. package/dist/src/bitgo/utils/util.d.ts +77 -0
  317. package/dist/src/bitgo/utils/util.d.ts.map +1 -0
  318. package/dist/src/bitgo/utils/util.js +198 -0
  319. package/dist/src/bitgo/wallet/iWallet.d.ts +510 -0
  320. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -0
  321. package/dist/src/bitgo/wallet/iWallet.js +3 -0
  322. package/dist/src/bitgo/wallet/iWallets.d.ts +105 -0
  323. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -0
  324. package/dist/src/bitgo/wallet/iWallets.js +3 -0
  325. package/dist/src/bitgo/wallet/index.d.ts +5 -0
  326. package/dist/src/bitgo/wallet/index.d.ts.map +1 -0
  327. package/dist/src/bitgo/wallet/index.js +17 -0
  328. package/dist/src/bitgo/wallet/wallet.d.ts +650 -0
  329. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -0
  330. package/dist/src/bitgo/wallet/wallet.js +2039 -0
  331. package/dist/src/bitgo/wallet/wallets.d.ts +134 -0
  332. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -0
  333. package/dist/src/bitgo/wallet/wallets.js +605 -0
  334. package/dist/src/bitgo/webhook/iWebhooks.d.ts +26 -0
  335. package/dist/src/bitgo/webhook/iWebhooks.d.ts.map +1 -0
  336. package/dist/src/bitgo/webhook/iWebhooks.js +3 -0
  337. package/dist/src/bitgo/webhook/index.d.ts +3 -0
  338. package/dist/src/bitgo/webhook/index.d.ts.map +1 -0
  339. package/dist/src/bitgo/webhook/index.js +15 -0
  340. package/dist/src/bitgo/webhook/webhooks.d.ts +43 -0
  341. package/dist/src/bitgo/webhook/webhooks.d.ts.map +1 -0
  342. package/dist/src/bitgo/webhook/webhooks.js +102 -0
  343. package/dist/src/{bigojsError.d.ts → bitgojsError.d.ts} +1 -1
  344. package/dist/src/bitgojsError.d.ts.map +1 -0
  345. package/dist/src/bitgojsError.js +11 -0
  346. package/dist/src/common.d.ts +1 -1
  347. package/dist/src/common.d.ts.map +1 -1
  348. package/dist/src/common.js +3 -3
  349. package/dist/src/index.d.ts +4 -2
  350. package/dist/src/index.d.ts.map +1 -1
  351. package/dist/src/index.js +6 -5
  352. package/dist/tsconfig.tsbuildinfo +4441 -457
  353. package/package.json +32 -13
  354. package/dist/src/bigojsError.d.ts.map +0 -1
  355. package/dist/src/bigojsError.js +0 -11
  356. package/dist/src/v2/environments.d.ts.map +0 -1
  357. package/dist/src/v2/environments.js +0 -142
  358. package/dist/src/v2/index.d.ts +0 -3
  359. package/dist/src/v2/index.d.ts.map +0 -1
  360. package/dist/src/v2/types.d.ts +0 -2
  361. package/dist/src/v2/types.d.ts.map +0 -1
  362. package/dist/src/v2/types.js +0 -3
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TradingReferralRequesterSide = void 0;
4
+ var TradingReferralRequesterSide;
5
+ (function (TradingReferralRequesterSide) {
6
+ TradingReferralRequesterSide["PRIMARY"] = "primary";
7
+ TradingReferralRequesterSide["SECONDARY"] = "secondary";
8
+ })(TradingReferralRequesterSide = exports.TradingReferralRequesterSide || (exports.TradingReferralRequesterSide = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVRyYWRpbmdQYXJ0bmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL2lUcmFkaW5nUGFydG5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsSUFBWSw0QkFHWDtBQUhELFdBQVksNEJBQTRCO0lBQ3RDLG1EQUFtQixDQUFBO0lBQ25CLHVEQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFIVyw0QkFBNEIsR0FBNUIsb0NBQTRCLEtBQTVCLG9DQUE0QixRQUd2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUcmFkaW5nUGFydG5lciwgVHJhZGluZ1BhcnRuZXJUeXBlIH0gZnJvbSAnLi9pVHJhZGluZ1BhcnRuZXInO1xuXG5leHBvcnQgZW51bSBUcmFkaW5nUmVmZXJyYWxSZXF1ZXN0ZXJTaWRlIHtcbiAgUFJJTUFSWSA9ICdwcmltYXJ5JywgLy8gaWYgcGFydG5lcnNoaXAgaXMgb2YgdHlwZSBhZ2VuY3ksIHByaW1hcnkgaXMgdGhlIGFnZW50XG4gIFNFQ09OREFSWSA9ICdzZWNvbmRhcnknLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWRpbmdQYXJ0bmVyQWRkQnlDb2RlUGFyYW1ldGVycyB7XG4gIHJlZmVycmFsQ29kZTogc3RyaW5nO1xuICB0eXBlOiBUcmFkaW5nUGFydG5lclR5cGU7XG4gIHJlcXVlc3RlclNpZGU6IFRyYWRpbmdSZWZlcnJhbFJlcXVlc3RlclNpZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYWRpbmdQYXJ0bmVycyB7XG4gIGxpc3QoKTogUHJvbWlzZTxJVHJhZGluZ1BhcnRuZXJbXT47XG4gIGFkZEJ5Q29kZShwYXJhbXM6IFRyYWRpbmdQYXJ0bmVyQWRkQnlDb2RlUGFyYW1ldGVycyk6IFByb21pc2U8SVRyYWRpbmdQYXJ0bmVyPjtcbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ export * from './affirmation';
2
+ export * from './affirmations';
3
+ export * from './iAffirmation';
4
+ export * from './iAffirmations';
5
+ export * from './iSettlement';
6
+ export * from './iSettlements';
7
+ export * from './iTradingAccount';
8
+ export * from './iTradingPartner';
9
+ export * from './iTradingPartners';
10
+ export * from './lock';
11
+ export * from './payload';
12
+ export * from './settlement';
13
+ export * from './settlements';
14
+ export * from './trade';
15
+ export * from './tradingAccount';
16
+ export * from './tradingPartner';
17
+ export * from './tradingPartners';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./affirmation"), exports);
14
+ __exportStar(require("./affirmations"), exports);
15
+ __exportStar(require("./iAffirmation"), exports);
16
+ __exportStar(require("./iAffirmations"), exports);
17
+ __exportStar(require("./iSettlement"), exports);
18
+ __exportStar(require("./iSettlements"), exports);
19
+ __exportStar(require("./iTradingAccount"), exports);
20
+ __exportStar(require("./iTradingPartner"), exports);
21
+ __exportStar(require("./iTradingPartners"), exports);
22
+ __exportStar(require("./lock"), exports);
23
+ __exportStar(require("./payload"), exports);
24
+ __exportStar(require("./settlement"), exports);
25
+ __exportStar(require("./settlements"), exports);
26
+ __exportStar(require("./trade"), exports);
27
+ __exportStar(require("./tradingAccount"), exports);
28
+ __exportStar(require("./tradingPartner"), exports);
29
+ __exportStar(require("./tradingPartners"), exports);
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxnREFBOEI7QUFDOUIsaURBQStCO0FBQy9CLGlEQUErQjtBQUMvQixrREFBZ0M7QUFDaEMsZ0RBQThCO0FBQzlCLGlEQUErQjtBQUMvQixvREFBa0M7QUFDbEMsb0RBQWtDO0FBQ2xDLHFEQUFtQztBQUNuQyx5Q0FBdUI7QUFDdkIsNENBQTBCO0FBQzFCLCtDQUE2QjtBQUM3QixnREFBOEI7QUFDOUIsMENBQXdCO0FBQ3hCLG1EQUFpQztBQUNqQyxtREFBaUM7QUFDakMsb0RBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZmZpcm1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2FmZmlybWF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2lBZmZpcm1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2lBZmZpcm1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pU2V0dGxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lTZXR0bGVtZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2lUcmFkaW5nQWNjb3VudCc7XG5leHBvcnQgKiBmcm9tICcuL2lUcmFkaW5nUGFydG5lcic7XG5leHBvcnQgKiBmcm9tICcuL2lUcmFkaW5nUGFydG5lcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2NrJztcbmV4cG9ydCAqIGZyb20gJy4vcGF5bG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL3NldHRsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXR0bGVtZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3RyYWRlJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhZGluZ0FjY291bnQnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFkaW5nUGFydG5lcic7XG5leHBvcnQgKiBmcm9tICcuL3RyYWRpbmdQYXJ0bmVycyc7XG4iXX0=
@@ -0,0 +1,16 @@
1
+ export interface Lock {
2
+ id: string;
3
+ accountId: string;
4
+ status: LockStatus;
5
+ amount: string;
6
+ currency: string;
7
+ createdAt: Date;
8
+ }
9
+ export declare enum LockStatus {
10
+ ACTIVE = "active",
11
+ SETTLED = "settled",
12
+ FAILED = "failed",
13
+ REQUESTED = "requested",
14
+ RELEASED = "released"
15
+ }
16
+ //# sourceMappingURL=lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/lock.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,QAAQ,aAAa;CACtB"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LockStatus = void 0;
4
+ var LockStatus;
5
+ (function (LockStatus) {
6
+ LockStatus["ACTIVE"] = "active";
7
+ LockStatus["SETTLED"] = "settled";
8
+ LockStatus["FAILED"] = "failed";
9
+ LockStatus["REQUESTED"] = "requested";
10
+ LockStatus["RELEASED"] = "released";
11
+ })(LockStatus = exports.LockStatus || (exports.LockStatus = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL2xvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0EsSUFBWSxVQU1YO0FBTkQsV0FBWSxVQUFVO0lBQ3BCLCtCQUFpQixDQUFBO0lBQ2pCLGlDQUFtQixDQUFBO0lBQ25CLCtCQUFpQixDQUFBO0lBQ2pCLHFDQUF1QixDQUFBO0lBQ3ZCLG1DQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxVQUFVLEdBQVYsa0JBQVUsS0FBVixrQkFBVSxRQU1yQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTG9jayB7XG4gIGlkOiBzdHJpbmc7XG4gIGFjY291bnRJZDogc3RyaW5nO1xuICBzdGF0dXM6IExvY2tTdGF0dXM7XG4gIGFtb3VudDogc3RyaW5nO1xuICBjdXJyZW5jeTogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IERhdGU7XG59XG5cbmV4cG9ydCBlbnVtIExvY2tTdGF0dXMge1xuICBBQ1RJVkUgPSAnYWN0aXZlJyxcbiAgU0VUVExFRCA9ICdzZXR0bGVkJyxcbiAgRkFJTEVEID0gJ2ZhaWxlZCcsXG4gIFJFUVVFU1RFRCA9ICdyZXF1ZXN0ZWQnLFxuICBSRUxFQVNFRCA9ICdyZWxlYXNlZCcsXG59XG4iXX0=
@@ -0,0 +1,22 @@
1
+ declare type CURRENT_PAYLOAD_VERSION = '1.2.0';
2
+ export interface Payload {
3
+ version: CURRENT_PAYLOAD_VERSION;
4
+ accountId: string;
5
+ amounts: PayloadAmounts[];
6
+ nonceHold: string;
7
+ nonceSettle: string;
8
+ }
9
+ export interface PayloadAmounts {
10
+ accountId: string;
11
+ sendAmount: string;
12
+ sendCurrency: string;
13
+ receiveAmount: string;
14
+ receiveCurrency: string;
15
+ sendSubtotal: string;
16
+ fees?: {
17
+ feeType: string;
18
+ feeAmount: string;
19
+ }[];
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/payload.ts"],"names":[],"mappings":"AAAA,aAAK,uBAAuB,GAAG,OAAO,CAAC;AAEvC,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,uBAAuB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE;QAEL,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACL"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgQ1VSUkVOVF9QQVlMT0FEX1ZFUlNJT04gPSAnMS4yLjAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWQge1xuICB2ZXJzaW9uOiBDVVJSRU5UX1BBWUxPQURfVkVSU0lPTjtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIGFtb3VudHM6IFBheWxvYWRBbW91bnRzW107XG4gIG5vbmNlSG9sZDogc3RyaW5nO1xuICBub25jZVNldHRsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRBbW91bnRzIHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHNlbmRBbW91bnQ6IHN0cmluZztcbiAgc2VuZEN1cnJlbmN5OiBzdHJpbmc7XG4gIHJlY2VpdmVBbW91bnQ6IHN0cmluZztcbiAgcmVjZWl2ZUN1cnJlbmN5OiBzdHJpbmc7XG4gIHNlbmRTdWJ0b3RhbDogc3RyaW5nOyAvLyBzZW5kQW1vdW50IC0gZmVlc1tdLmZlZUFtb3VudFxuICBmZWVzPzoge1xuICAgIC8vIHdpbGwgb25seSBzaG93IHVwIGlmIHRoZSBhY2NvdW50SWQgaXMgdGhlIHNpZ25pbmcgYWNjb3VudElkXG4gICAgZmVlVHlwZTogc3RyaW5nO1xuICAgIGZlZUFtb3VudDogc3RyaW5nO1xuICB9W107XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Affirmation, ISettlement, SettlementStatus, SettlementType, Trade } from '../trading';
2
+ export declare class Settlement implements ISettlement {
3
+ private readonly bitgo;
4
+ private readonly enterpriseId;
5
+ id: string;
6
+ requesterAccountId: string;
7
+ status: SettlementStatus;
8
+ type: SettlementType;
9
+ affirmations: Affirmation[];
10
+ createdAt: Date;
11
+ expireAt: Date;
12
+ settledAt: Date;
13
+ trades: Trade[];
14
+ constructor(settlementData: any, bitgo: any, enterpriseId: string);
15
+ }
16
+ //# sourceMappingURL=settlement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlement.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/settlement.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE/F,qBAAa,UAAW,YAAW,WAAW;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAE/B,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;gBAEX,cAAc,KAAA,EAAE,KAAK,KAAA,EAAE,YAAY,EAAE,MAAM;CAgBxD"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Settlement = void 0;
4
+ const trading_1 = require("../trading");
5
+ class Settlement {
6
+ constructor(settlementData, bitgo, enterpriseId) {
7
+ this.bitgo = bitgo;
8
+ this.enterpriseId = enterpriseId;
9
+ this.id = settlementData.id;
10
+ this.requesterAccountId = settlementData.requesterAccountId;
11
+ this.status = settlementData.status;
12
+ this.type = settlementData.type;
13
+ this.affirmations = settlementData.affirmations.map((affirmation) => new trading_1.Affirmation(affirmation, this.bitgo, this.enterpriseId));
14
+ this.createdAt = new Date(settlementData.createdAt);
15
+ this.expireAt = new Date(settlementData.expireAt);
16
+ this.settledAt = new Date(settlementData.settledAt);
17
+ this.trades = settlementData.trades;
18
+ }
19
+ }
20
+ exports.Settlement = Settlement;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL3NldHRsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsd0NBQStGO0FBRS9GLE1BQWEsVUFBVTtJQWNyQixZQUFZLGNBQWMsRUFBRSxLQUFLLEVBQUUsWUFBb0I7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFFakMsSUFBSSxDQUFDLEVBQUUsR0FBRyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxjQUFjLENBQUMsa0JBQWtCLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNqRCxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxxQkFBVyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FDN0UsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQWlCLENBQUM7SUFDakQsQ0FBQztDQUNGO0FBOUJELGdDQThCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBBZmZpcm1hdGlvbiwgSVNldHRsZW1lbnQsIFNldHRsZW1lbnRTdGF0dXMsIFNldHRsZW1lbnRUeXBlLCBUcmFkZSB9IGZyb20gJy4uL3RyYWRpbmcnO1xuXG5leHBvcnQgY2xhc3MgU2V0dGxlbWVudCBpbXBsZW1lbnRzIElTZXR0bGVtZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGVudGVycHJpc2VJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgcmVxdWVzdGVyQWNjb3VudElkOiBzdHJpbmc7XG4gIHB1YmxpYyBzdGF0dXM6IFNldHRsZW1lbnRTdGF0dXM7XG4gIHB1YmxpYyB0eXBlOiBTZXR0bGVtZW50VHlwZTtcbiAgcHVibGljIGFmZmlybWF0aW9uczogQWZmaXJtYXRpb25bXTtcbiAgcHVibGljIGNyZWF0ZWRBdDogRGF0ZTtcbiAgcHVibGljIGV4cGlyZUF0OiBEYXRlO1xuICBwdWJsaWMgc2V0dGxlZEF0OiBEYXRlO1xuICBwdWJsaWMgdHJhZGVzOiBUcmFkZVtdO1xuXG4gIGNvbnN0cnVjdG9yKHNldHRsZW1lbnREYXRhLCBiaXRnbywgZW50ZXJwcmlzZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gICAgdGhpcy5lbnRlcnByaXNlSWQgPSBlbnRlcnByaXNlSWQ7XG5cbiAgICB0aGlzLmlkID0gc2V0dGxlbWVudERhdGEuaWQ7XG4gICAgdGhpcy5yZXF1ZXN0ZXJBY2NvdW50SWQgPSBzZXR0bGVtZW50RGF0YS5yZXF1ZXN0ZXJBY2NvdW50SWQ7XG4gICAgdGhpcy5zdGF0dXMgPSBzZXR0bGVtZW50RGF0YS5zdGF0dXM7XG4gICAgdGhpcy50eXBlID0gc2V0dGxlbWVudERhdGEudHlwZTtcbiAgICB0aGlzLmFmZmlybWF0aW9ucyA9IHNldHRsZW1lbnREYXRhLmFmZmlybWF0aW9ucy5tYXAoXG4gICAgICAoYWZmaXJtYXRpb24pID0+IG5ldyBBZmZpcm1hdGlvbihhZmZpcm1hdGlvbiwgdGhpcy5iaXRnbywgdGhpcy5lbnRlcnByaXNlSWQpXG4gICAgKTtcbiAgICB0aGlzLmNyZWF0ZWRBdCA9IG5ldyBEYXRlKHNldHRsZW1lbnREYXRhLmNyZWF0ZWRBdCk7XG4gICAgdGhpcy5leHBpcmVBdCA9IG5ldyBEYXRlKHNldHRsZW1lbnREYXRhLmV4cGlyZUF0KTtcbiAgICB0aGlzLnNldHRsZWRBdCA9IG5ldyBEYXRlKHNldHRsZW1lbnREYXRhLnNldHRsZWRBdCk7XG4gICAgdGhpcy50cmFkZXMgPSBzZXR0bGVtZW50RGF0YS50cmFkZXMgYXMgVHJhZGVbXTtcbiAgfVxufVxuIl19
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import { BitGoBase } from '../bitgoBase';
5
+ import { CreateSettlementParams, GetOptions, ISettlement, ISettlements, Settlement, TradingAccount } from '../trading';
6
+ export declare class Settlements implements ISettlements {
7
+ private bitgo;
8
+ private enterpriseId;
9
+ private account?;
10
+ constructor(bitgo: BitGoBase, enterpriseId: string, account?: TradingAccount);
11
+ /**
12
+ * Retrieves all settlements for an enterprise
13
+ */
14
+ list(): Promise<Settlement[]>;
15
+ /**
16
+ * Retrieves a single settlement by its ID.
17
+ * @param id ID of the settlement
18
+ * @param accountId ID of the trading account that the affirmation belongs to
19
+ */
20
+ get({ id, accountId }: GetOptions): Promise<ISettlement>;
21
+ /**
22
+ * Submits a new settlement for a set of trades.
23
+ * NOTE: This function must be called as tradingAccount.settlements().create(), enterprise.settlements().create() is not a valid call.
24
+ * @param params
25
+ * @param params.requesterAccountId trading account ID that is creating this settlement
26
+ * @param params.payload payload authorizing the movement of funds for the included trades
27
+ * @param params.signature hex-encoded signature of the payload
28
+ * @param params.trades list of trades to settle as part of this settlement
29
+ */
30
+ create(params: CreateSettlementParams): Promise<Settlement>;
31
+ }
32
+ //# sourceMappingURL=settlements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlements.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/settlements.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEvH,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAiB;gBAErB,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAM5E;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAcnC;;;;OAIG;IACG,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAa9D;;;;;;;;OAQG;IACG,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;CAkBlE"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Settlements = void 0;
4
+ const trading_1 = require("../trading");
5
+ class Settlements {
6
+ constructor(bitgo, enterpriseId, account) {
7
+ this.bitgo = bitgo;
8
+ this.enterpriseId = enterpriseId;
9
+ this.account = account;
10
+ }
11
+ /**
12
+ * Retrieves all settlements for an enterprise
13
+ */
14
+ async list() {
15
+ let url;
16
+ if (this.account) {
17
+ url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.account.id}/settlements`);
18
+ }
19
+ else {
20
+ url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/settlements`);
21
+ }
22
+ const response = (await this.bitgo.get(url).result());
23
+ return response.settlements.map((settlement) => new trading_1.Settlement(settlement, this.bitgo, this.enterpriseId));
24
+ }
25
+ /**
26
+ * Retrieves a single settlement by its ID.
27
+ * @param id ID of the settlement
28
+ * @param accountId ID of the trading account that the affirmation belongs to
29
+ */
30
+ async get({ id, accountId }) {
31
+ const account = accountId || (this.account && this.account.id);
32
+ if (!account) {
33
+ throw new Error('accountId must be provided in parameters for an enterprise context');
34
+ }
35
+ const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${account}/settlements/${id}`);
36
+ const response = await this.bitgo.get(url).result();
37
+ return new trading_1.Settlement(response, this.bitgo, this.enterpriseId);
38
+ }
39
+ /**
40
+ * Submits a new settlement for a set of trades.
41
+ * NOTE: This function must be called as tradingAccount.settlements().create(), enterprise.settlements().create() is not a valid call.
42
+ * @param params
43
+ * @param params.requesterAccountId trading account ID that is creating this settlement
44
+ * @param params.payload payload authorizing the movement of funds for the included trades
45
+ * @param params.signature hex-encoded signature of the payload
46
+ * @param params.trades list of trades to settle as part of this settlement
47
+ */
48
+ async create(params) {
49
+ if (!this.account) {
50
+ throw new Error('Must select a trading account before creating a settlement. Try tradingAccount.settlements().create()');
51
+ }
52
+ // payload must be stringified before being passed to API
53
+ const body = Object.assign({}, params);
54
+ body.payload = JSON.stringify(body.payload);
55
+ const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.account.id}/settlements`);
56
+ const response = await this.bitgo.post(url).send(body).result();
57
+ return new trading_1.Settlement(response, this.bitgo, this.enterpriseId);
58
+ }
59
+ }
60
+ exports.Settlements = Settlements;
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGxlbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy9zZXR0bGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSx3Q0FBdUg7QUFFdkgsTUFBYSxXQUFXO0lBS3RCLFlBQVksS0FBZ0IsRUFBRSxZQUFvQixFQUFFLE9BQXdCO1FBQzFFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxHQUFHLENBQUM7UUFDUixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQy9CLDRCQUE0QixJQUFJLENBQUMsWUFBWSxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxjQUFjLENBQ3ZGLENBQUM7U0FDSDthQUFNO1lBQ0wsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsNEJBQTRCLElBQUksQ0FBQyxZQUFZLGNBQWMsQ0FBQyxDQUFDO1NBQ2hHO1FBQ0QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFRLENBQUM7UUFFN0QsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxvQkFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQWM7UUFDckMsTUFBTSxPQUFPLEdBQUcsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7U0FDdkY7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUNyQyw0QkFBNEIsSUFBSSxDQUFDLFlBQVksWUFBWSxPQUFPLGdCQUFnQixFQUFFLEVBQUUsQ0FDckYsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEQsT0FBTyxJQUFJLG9CQUFVLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBOEI7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FDYix1R0FBdUcsQ0FDeEcsQ0FBQztTQUNIO1FBRUQseURBQXlEO1FBQ3pELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQWEsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDckMsNEJBQTRCLElBQUksQ0FBQyxZQUFZLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLGNBQWMsQ0FDdkYsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWhFLE9BQU8sSUFBSSxvQkFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRSxDQUFDO0NBQ0Y7QUF6RUQsa0NBeUVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IENyZWF0ZVNldHRsZW1lbnRQYXJhbXMsIEdldE9wdGlvbnMsIElTZXR0bGVtZW50LCBJU2V0dGxlbWVudHMsIFNldHRsZW1lbnQsIFRyYWRpbmdBY2NvdW50IH0gZnJvbSAnLi4vdHJhZGluZyc7XG5cbmV4cG9ydCBjbGFzcyBTZXR0bGVtZW50cyBpbXBsZW1lbnRzIElTZXR0bGVtZW50cyB7XG4gIHByaXZhdGUgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJpdmF0ZSBlbnRlcnByaXNlSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBhY2NvdW50PzogVHJhZGluZ0FjY291bnQ7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgZW50ZXJwcmlzZUlkOiBzdHJpbmcsIGFjY291bnQ/OiBUcmFkaW5nQWNjb3VudCkge1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLmVudGVycHJpc2VJZCA9IGVudGVycHJpc2VJZDtcbiAgICB0aGlzLmFjY291bnQgPSBhY2NvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhbGwgc2V0dGxlbWVudHMgZm9yIGFuIGVudGVycHJpc2VcbiAgICovXG4gIGFzeW5jIGxpc3QoKTogUHJvbWlzZTxTZXR0bGVtZW50W10+IHtcbiAgICBsZXQgdXJsO1xuICAgIGlmICh0aGlzLmFjY291bnQpIHtcbiAgICAgIHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgICAgYC9hcGkvdHJhZGUvdjEvZW50ZXJwcmlzZS8ke3RoaXMuZW50ZXJwcmlzZUlkfS9hY2NvdW50LyR7dGhpcy5hY2NvdW50LmlkfS9zZXR0bGVtZW50c2BcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChgL2FwaS90cmFkZS92MS9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWR9L3NldHRsZW1lbnRzYCk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IHRoaXMuYml0Z28uZ2V0KHVybCkucmVzdWx0KCkpIGFzIGFueTtcblxuICAgIHJldHVybiByZXNwb25zZS5zZXR0bGVtZW50cy5tYXAoKHNldHRsZW1lbnQpID0+IG5ldyBTZXR0bGVtZW50KHNldHRsZW1lbnQsIHRoaXMuYml0Z28sIHRoaXMuZW50ZXJwcmlzZUlkKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgc2luZ2xlIHNldHRsZW1lbnQgYnkgaXRzIElELlxuICAgKiBAcGFyYW0gaWQgSUQgb2YgdGhlIHNldHRsZW1lbnRcbiAgICogQHBhcmFtIGFjY291bnRJZCBJRCBvZiB0aGUgdHJhZGluZyBhY2NvdW50IHRoYXQgdGhlIGFmZmlybWF0aW9uIGJlbG9uZ3MgdG9cbiAgICovXG4gIGFzeW5jIGdldCh7IGlkLCBhY2NvdW50SWQgfTogR2V0T3B0aW9ucyk6IFByb21pc2U8SVNldHRsZW1lbnQ+IHtcbiAgICBjb25zdCBhY2NvdW50ID0gYWNjb3VudElkIHx8ICh0aGlzLmFjY291bnQgJiYgdGhpcy5hY2NvdW50LmlkKTtcbiAgICBpZiAoIWFjY291bnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYWNjb3VudElkIG11c3QgYmUgcHJvdmlkZWQgaW4gcGFyYW1ldGVycyBmb3IgYW4gZW50ZXJwcmlzZSBjb250ZXh0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvdHJhZGUvdjEvZW50ZXJwcmlzZS8ke3RoaXMuZW50ZXJwcmlzZUlkfS9hY2NvdW50LyR7YWNjb3VudH0vc2V0dGxlbWVudHMvJHtpZH1gXG4gICAgKTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28uZ2V0KHVybCkucmVzdWx0KCk7XG4gICAgcmV0dXJuIG5ldyBTZXR0bGVtZW50KHJlc3BvbnNlLCB0aGlzLmJpdGdvLCB0aGlzLmVudGVycHJpc2VJZCk7XG4gIH1cblxuICAvKipcbiAgICogU3VibWl0cyBhIG5ldyBzZXR0bGVtZW50IGZvciBhIHNldCBvZiB0cmFkZXMuXG4gICAqIE5PVEU6IFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgYXMgdHJhZGluZ0FjY291bnQuc2V0dGxlbWVudHMoKS5jcmVhdGUoKSwgZW50ZXJwcmlzZS5zZXR0bGVtZW50cygpLmNyZWF0ZSgpIGlzIG5vdCBhIHZhbGlkIGNhbGwuXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5yZXF1ZXN0ZXJBY2NvdW50SWQgdHJhZGluZyBhY2NvdW50IElEIHRoYXQgaXMgY3JlYXRpbmcgdGhpcyBzZXR0bGVtZW50XG4gICAqIEBwYXJhbSBwYXJhbXMucGF5bG9hZCBwYXlsb2FkIGF1dGhvcml6aW5nIHRoZSBtb3ZlbWVudCBvZiBmdW5kcyBmb3IgdGhlIGluY2x1ZGVkIHRyYWRlc1xuICAgKiBAcGFyYW0gcGFyYW1zLnNpZ25hdHVyZSBoZXgtZW5jb2RlZCBzaWduYXR1cmUgb2YgdGhlIHBheWxvYWRcbiAgICogQHBhcmFtIHBhcmFtcy50cmFkZXMgbGlzdCBvZiB0cmFkZXMgdG8gc2V0dGxlIGFzIHBhcnQgb2YgdGhpcyBzZXR0bGVtZW50XG4gICAqL1xuICBhc3luYyBjcmVhdGUocGFyYW1zOiBDcmVhdGVTZXR0bGVtZW50UGFyYW1zKTogUHJvbWlzZTxTZXR0bGVtZW50PiB7XG4gICAgaWYgKCF0aGlzLmFjY291bnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ011c3Qgc2VsZWN0IGEgdHJhZGluZyBhY2NvdW50IGJlZm9yZSBjcmVhdGluZyBhIHNldHRsZW1lbnQuIFRyeSB0cmFkaW5nQWNjb3VudC5zZXR0bGVtZW50cygpLmNyZWF0ZSgpJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBwYXlsb2FkIG11c3QgYmUgc3RyaW5naWZpZWQgYmVmb3JlIGJlaW5nIHBhc3NlZCB0byBBUElcbiAgICBjb25zdCBib2R5ID0gT2JqZWN0LmFzc2lnbih7fSwgcGFyYW1zIGFzIGFueSk7XG4gICAgYm9keS5wYXlsb2FkID0gSlNPTi5zdHJpbmdpZnkoYm9keS5wYXlsb2FkKTtcblxuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL3RyYWRlL3YxL2VudGVycHJpc2UvJHt0aGlzLmVudGVycHJpc2VJZH0vYWNjb3VudC8ke3RoaXMuYWNjb3VudC5pZH0vc2V0dGxlbWVudHNgXG4gICAgKTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28ucG9zdCh1cmwpLnNlbmQoYm9keSkucmVzdWx0KCk7XG5cbiAgICByZXR1cm4gbmV3IFNldHRsZW1lbnQocmVzcG9uc2UsIHRoaXMuYml0Z28sIHRoaXMuZW50ZXJwcmlzZUlkKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Represents a single trade to be settled as part of a settlement. Only off-chain (OFC) currencies are supported, and
3
+ * all amounts must be represented in base units (such as cents, satoshi, or wei)
4
+ */
5
+ export interface Trade {
6
+ id?: string;
7
+ externalId: string;
8
+ baseAccountId: string;
9
+ quoteAccountId: string;
10
+ timestamp: Date;
11
+ status: TradeStatus;
12
+ baseAmount: string;
13
+ quoteAmount: string;
14
+ baseCurrency: string;
15
+ quoteCurrency: string;
16
+ baseReceiveAmount?: string;
17
+ quoteReceiveAmount?: string;
18
+ baseReceiveCurrency?: string;
19
+ quoteReceiveCurrency?: string;
20
+ costBasis: string;
21
+ costBasisCurrency: string;
22
+ }
23
+ export declare enum TradeStatus {
24
+ CANCELED = "canceled",
25
+ EXECUTED = "executed",
26
+ PENDING = "pending",
27
+ FAILED = "failed"
28
+ }
29
+ //# sourceMappingURL=trade.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,11 @@
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
@@ -0,0 +1,53 @@
1
+ import { BitGoBase } from '../bitgoBase';
2
+ import { BuildPayloadParameters, CalculateSettlementFeesParams, IAffirmations, ISettlements, ITradingAccount, ITradingPartners, Payload, SettlementFees, SignPayloadParameters } from '../trading';
3
+ import { IWallet } from '../wallet';
4
+ export declare class TradingAccount implements ITradingAccount {
5
+ private readonly bitgo;
6
+ private readonly enterpriseId;
7
+ wallet: IWallet;
8
+ constructor(enterpriseId: string, wallet: IWallet, bitgo: BitGoBase);
9
+ get id(): string;
10
+ /**
11
+ * Builds a payload authorizing trade from this trading account.
12
+ * @param params
13
+ * @param params.amounts[] array of amounts that will be traded as part of the settlement
14
+ * @param params.amounts[].accountId the accountId corresponding with the sending and receiving amounts for the settlement
15
+ * @param params.amounts[].sendAmount amount of currency sent by trading account of given accountId
16
+ * @param params.amounts[].sendCurrency currency of amount sent by trading account of given accountId
17
+ * @param params.amounts[].receiveAmount amount of currency received by trading account of given accountId
18
+ * @param params.amounts[].receiveCurrency currency of amount received by trading account of given accountId
19
+ * @returns unsigned trade payload for the given parameters. This object should be stringified with JSON.stringify() before being submitted
20
+ */
21
+ buildPayload(params: BuildPayloadParameters): Promise<Payload>;
22
+ /**
23
+ * Verifies that a payload received from BitGo sufficiently matches the expected parameters. This is used to prevent
24
+ * man-in-the-middle attacks which could maliciously alter the contents of a payload.
25
+ * @param params parameters used to build the payload
26
+ * @param payload payload received from the BitGo API
27
+ * @returns true if the payload's sensitive fields match, false if the payload may have been tampered with
28
+ */
29
+ verifyPayload(params: BuildPayloadParameters, payload: string): boolean;
30
+ /**
31
+ * Calculates the necessary fees to complete a settlement between two parties, based on the amounts and currencies of the settlement.
32
+ * @param params
33
+ * @param params.counterpartyAccountId Account ID of the counterparty of the settlement
34
+ * @param params.sendCurrency Currency to be sent as part of the settlement
35
+ * @param params.sendAmount Amount of currency (in base units such as cents, satoshis, or wei) to be sent
36
+ * @param params.receiveCurrency Currency to be received as part of the settlement
37
+ * @param params.receiveAmount Amount of currency (in base units such as cents, satoshis, or wei) to be received
38
+ * @returns Fee rate, currency, and total amount of the described settlement
39
+ */
40
+ calculateSettlementFees(params: CalculateSettlementFeesParams): Promise<SettlementFees>;
41
+ /**
42
+ * Signs a pre-built trade payload with the user key on this trading account
43
+ * @param params
44
+ * @param params.payload trade payload object from TradingAccount::buildPayload()
45
+ * @param params.walletPassphrase passphrase on this trading account, used to unlock the account user key
46
+ * @returns hex-encoded signature of the payload
47
+ */
48
+ signPayload(params: SignPayloadParameters): Promise<string>;
49
+ affirmations(): IAffirmations;
50
+ settlements(): ISettlements;
51
+ partners(): ITradingPartners;
52
+ }
53
+ //# sourceMappingURL=tradingAccount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradingAccount.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/tradingAccount.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAEL,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,EACb,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,cAAc,EAEd,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAE/B,MAAM,EAAE,OAAO,CAAC;gBAEX,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;IAMnE,IAAI,EAAE,WAEL;IAED;;;;;;;;;;OAUG;IACG,YAAY,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBpE;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAiDvE;;;;;;;;;OASG;IACG,uBAAuB,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ7F;;;;;;OAMG;IACG,WAAW,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUjE,YAAY,IAAI,aAAa;IAI7B,WAAW,IAAI,YAAY;IAI3B,QAAQ,IAAI,gBAAgB;CAG7B"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TradingAccount = void 0;
4
+ /**
5
+ * @prettier
6
+ */
7
+ const bignumber_js_1 = require("bignumber.js");
8
+ const trading_1 = require("../trading");
9
+ const TRADE_PAYLOAD_VERSION = '1.2.0';
10
+ class TradingAccount {
11
+ constructor(enterpriseId, wallet, bitgo) {
12
+ this.enterpriseId = enterpriseId;
13
+ this.wallet = wallet;
14
+ this.bitgo = bitgo;
15
+ }
16
+ get id() {
17
+ return this.wallet.id();
18
+ }
19
+ /**
20
+ * Builds a payload authorizing trade from this trading account.
21
+ * @param params
22
+ * @param params.amounts[] array of amounts that will be traded as part of the settlement
23
+ * @param params.amounts[].accountId the accountId corresponding with the sending and receiving amounts for the settlement
24
+ * @param params.amounts[].sendAmount amount of currency sent by trading account of given accountId
25
+ * @param params.amounts[].sendCurrency currency of amount sent by trading account of given accountId
26
+ * @param params.amounts[].receiveAmount amount of currency received by trading account of given accountId
27
+ * @param params.amounts[].receiveCurrency currency of amount received by trading account of given accountId
28
+ * @returns unsigned trade payload for the given parameters. This object should be stringified with JSON.stringify() before being submitted
29
+ */
30
+ async buildPayload(params) {
31
+ const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.id}/payload`);
32
+ const body = {
33
+ version: TRADE_PAYLOAD_VERSION,
34
+ amounts: params.amounts,
35
+ };
36
+ const response = (await this.bitgo.post(url).send(body).result());
37
+ if (!this.verifyPayload(params, response.payload)) {
38
+ throw new Error('Unable to verify trade payload. You may need to update the BitGo SDK, or the payload may have been tampered with.');
39
+ }
40
+ return JSON.parse(response.payload);
41
+ }
42
+ /**
43
+ * Verifies that a payload received from BitGo sufficiently matches the expected parameters. This is used to prevent
44
+ * man-in-the-middle attacks which could maliciously alter the contents of a payload.
45
+ * @param params parameters used to build the payload
46
+ * @param payload payload received from the BitGo API
47
+ * @returns true if the payload's sensitive fields match, false if the payload may have been tampered with
48
+ */
49
+ verifyPayload(params, payload) {
50
+ const payloadObj = JSON.parse(payload);
51
+ const paramsCopy = JSON.parse(JSON.stringify(params)); // needs to be a deep copy
52
+ // Verifies that for each party in the payload, we requested a matching party, only checking sensitive fields
53
+ let validAmounts = 0;
54
+ for (const amount of payloadObj.amounts) {
55
+ const matchingExpectedParty = paramsCopy.amounts.findIndex((expectedAmount) => amount.accountId === expectedAmount.accountId &&
56
+ amount.sendCurrency === expectedAmount.sendCurrency &&
57
+ amount.sendSubtotal === expectedAmount.sendAmount &&
58
+ amount.receiveAmount === expectedAmount.receiveAmount &&
59
+ amount.receiveCurrency === expectedAmount.receiveCurrency);
60
+ if (matchingExpectedParty === -1) {
61
+ // matchingExpectedParty not found to the payloadObject
62
+ // payload is not valid
63
+ break;
64
+ }
65
+ if (amount.fees && amount.fees.length > 0) {
66
+ let feeTotal = new bignumber_js_1.BigNumber(0);
67
+ for (const fee of amount.fees) {
68
+ feeTotal = feeTotal.plus(new bignumber_js_1.BigNumber(fee.feeAmount));
69
+ }
70
+ const expectedTotalAmount = new bignumber_js_1.BigNumber(paramsCopy.amounts[matchingExpectedParty].sendAmount).plus(feeTotal);
71
+ if (expectedTotalAmount.toString() !== amount.sendAmount) {
72
+ // expected total does not match the sendAmount of the payload
73
+ // payload is not valid
74
+ break;
75
+ }
76
+ }
77
+ // matching party found, and fee found
78
+ validAmounts = validAmounts + 1;
79
+ // delete so we ensure no duplicates
80
+ paramsCopy.amounts.splice(matchingExpectedParty, 1);
81
+ }
82
+ return (payloadObj.accountId === this.id &&
83
+ payloadObj.amounts.length === params.amounts.length &&
84
+ validAmounts === payloadObj.amounts.length);
85
+ }
86
+ /**
87
+ * Calculates the necessary fees to complete a settlement between two parties, based on the amounts and currencies of the settlement.
88
+ * @param params
89
+ * @param params.counterpartyAccountId Account ID of the counterparty of the settlement
90
+ * @param params.sendCurrency Currency to be sent as part of the settlement
91
+ * @param params.sendAmount Amount of currency (in base units such as cents, satoshis, or wei) to be sent
92
+ * @param params.receiveCurrency Currency to be received as part of the settlement
93
+ * @param params.receiveAmount Amount of currency (in base units such as cents, satoshis, or wei) to be received
94
+ * @returns Fee rate, currency, and total amount of the described settlement
95
+ */
96
+ async calculateSettlementFees(params) {
97
+ const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.id}/calculatefees`);
98
+ return await this.bitgo.post(url).send(params).result();
99
+ }
100
+ /**
101
+ * Signs a pre-built trade payload with the user key on this trading account
102
+ * @param params
103
+ * @param params.payload trade payload object from TradingAccount::buildPayload()
104
+ * @param params.walletPassphrase passphrase on this trading account, used to unlock the account user key
105
+ * @returns hex-encoded signature of the payload
106
+ */
107
+ async signPayload(params) {
108
+ const key = (await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[0] }));
109
+ const prv = this.wallet.bitgo.decrypt({
110
+ input: key.encryptedPrv,
111
+ password: params.walletPassphrase,
112
+ });
113
+ const payload = JSON.stringify(params.payload);
114
+ return (await this.wallet.baseCoin.signMessage({ prv }, payload)).toString('hex');
115
+ }
116
+ affirmations() {
117
+ return new trading_1.Affirmations(this.bitgo, this.enterpriseId, this);
118
+ }
119
+ settlements() {
120
+ return new trading_1.Settlements(this.bitgo, this.enterpriseId, this);
121
+ }
122
+ partners() {
123
+ return new trading_1.TradingPartners(this.bitgo, this.enterpriseId, this);
124
+ }
125
+ }
126
+ exports.TradingAccount = TradingAccount;
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZGluZ0FjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy90cmFkaW5nQWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILCtDQUF5QztBQUV6Qyx3Q0Fhb0I7QUFHcEIsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLENBQUM7QUFFdEMsTUFBYSxjQUFjO0lBTXpCLFlBQVksWUFBb0IsRUFBRSxNQUFlLEVBQUUsS0FBZ0I7UUFDakUsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBOEI7UUFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLFlBQVksWUFBWSxJQUFJLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVwSCxNQUFNLElBQUksR0FBRztZQUNYLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1NBQ3hCLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFRLENBQUM7UUFFekUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqRCxNQUFNLElBQUksS0FBSyxDQUNiLG1IQUFtSCxDQUNwSCxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBWSxDQUFDO0lBQ2pELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxhQUFhLENBQUMsTUFBOEIsRUFBRSxPQUFlO1FBQzNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEI7UUFFakYsNkdBQTZHO1FBQzdHLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztRQUNyQixLQUFLLE1BQU0sTUFBTSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDdkMsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FDeEQsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUNqQixNQUFNLENBQUMsU0FBUyxLQUFLLGNBQWMsQ0FBQyxTQUFTO2dCQUM3QyxNQUFNLENBQUMsWUFBWSxLQUFLLGNBQWMsQ0FBQyxZQUFZO2dCQUNuRCxNQUFNLENBQUMsWUFBWSxLQUFLLGNBQWMsQ0FBQyxVQUFVO2dCQUNqRCxNQUFNLENBQUMsYUFBYSxLQUFLLGNBQWMsQ0FBQyxhQUFhO2dCQUNyRCxNQUFNLENBQUMsZUFBZSxLQUFLLGNBQWMsQ0FBQyxlQUFlLENBQzVELENBQUM7WUFFRixJQUFJLHFCQUFxQixLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNoQyx1REFBdUQ7Z0JBQ3ZELHVCQUF1QjtnQkFDdkIsTUFBTTthQUNQO1lBRUQsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDekMsSUFBSSxRQUFRLEdBQUcsSUFBSSx3QkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7b0JBQzdCLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksd0JBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztpQkFDeEQ7Z0JBRUQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHdCQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDL0csSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFO29CQUN4RCw4REFBOEQ7b0JBQzlELHVCQUF1QjtvQkFDdkIsTUFBTTtpQkFDUDthQUNGO1lBRUQsc0NBQXNDO1lBQ3RDLFlBQVksR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLG9DQUFvQztZQUNwQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNyRDtRQUVELE9BQU8sQ0FDTCxVQUFVLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ2hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNuRCxZQUFZLEtBQUssVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsS0FBSyxDQUFDLHVCQUF1QixDQUFDLE1BQXFDO1FBQ2pFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQ3JDLDRCQUE0QixJQUFJLENBQUMsWUFBWSxZQUFZLElBQUksQ0FBQyxFQUFFLGdCQUFnQixDQUNqRixDQUFDO1FBRUYsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUE2QjtRQUM3QyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFRLENBQUM7UUFDakcsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3BDLEtBQUssRUFBRSxHQUFHLENBQUMsWUFBWTtZQUN2QixRQUFRLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtTQUNsQyxDQUFDLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxPQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxzQkFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxxQkFBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSx5QkFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0Y7QUFwSkQsd0NBb0pDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQmlnTnVtYmVyIH0gZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQge1xuICBBZmZpcm1hdGlvbnMsXG4gIEJ1aWxkUGF5bG9hZFBhcmFtZXRlcnMsXG4gIENhbGN1bGF0ZVNldHRsZW1lbnRGZWVzUGFyYW1zLFxuICBJQWZmaXJtYXRpb25zLFxuICBJU2V0dGxlbWVudHMsXG4gIElUcmFkaW5nQWNjb3VudCxcbiAgSVRyYWRpbmdQYXJ0bmVycyxcbiAgUGF5bG9hZCxcbiAgU2V0dGxlbWVudEZlZXMsXG4gIFNldHRsZW1lbnRzLFxuICBTaWduUGF5bG9hZFBhcmFtZXRlcnMsXG4gIFRyYWRpbmdQYXJ0bmVycyxcbn0gZnJvbSAnLi4vdHJhZGluZyc7XG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vd2FsbGV0JztcblxuY29uc3QgVFJBREVfUEFZTE9BRF9WRVJTSU9OID0gJzEuMi4wJztcblxuZXhwb3J0IGNsYXNzIFRyYWRpbmdBY2NvdW50IGltcGxlbWVudHMgSVRyYWRpbmdBY2NvdW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGVudGVycHJpc2VJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyB3YWxsZXQ6IElXYWxsZXQ7XG5cbiAgY29uc3RydWN0b3IoZW50ZXJwcmlzZUlkOiBzdHJpbmcsIHdhbGxldDogSVdhbGxldCwgYml0Z286IEJpdEdvQmFzZSkge1xuICAgIHRoaXMuZW50ZXJwcmlzZUlkID0gZW50ZXJwcmlzZUlkO1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgfVxuXG4gIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy53YWxsZXQuaWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBwYXlsb2FkIGF1dGhvcml6aW5nIHRyYWRlIGZyb20gdGhpcyB0cmFkaW5nIGFjY291bnQuXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnRzW10gYXJyYXkgb2YgYW1vdW50cyB0aGF0IHdpbGwgYmUgdHJhZGVkIGFzIHBhcnQgb2YgdGhlIHNldHRsZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnRzW10uYWNjb3VudElkIHRoZSBhY2NvdW50SWQgY29ycmVzcG9uZGluZyB3aXRoIHRoZSBzZW5kaW5nIGFuZCByZWNlaXZpbmcgYW1vdW50cyBmb3IgdGhlIHNldHRsZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnRzW10uc2VuZEFtb3VudCBhbW91bnQgb2YgY3VycmVuY3kgc2VudCBieSB0cmFkaW5nIGFjY291bnQgb2YgZ2l2ZW4gYWNjb3VudElkXG4gICAqIEBwYXJhbSBwYXJhbXMuYW1vdW50c1tdLnNlbmRDdXJyZW5jeSBjdXJyZW5jeSBvZiBhbW91bnQgc2VudCBieSB0cmFkaW5nIGFjY291bnQgb2YgZ2l2ZW4gYWNjb3VudElkXG4gICAqIEBwYXJhbSBwYXJhbXMuYW1vdW50c1tdLnJlY2VpdmVBbW91bnQgYW1vdW50IG9mIGN1cnJlbmN5IHJlY2VpdmVkIGJ5IHRyYWRpbmcgYWNjb3VudCBvZiBnaXZlbiBhY2NvdW50SWRcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnRzW10ucmVjZWl2ZUN1cnJlbmN5IGN1cnJlbmN5IG9mIGFtb3VudCByZWNlaXZlZCBieSB0cmFkaW5nIGFjY291bnQgb2YgZ2l2ZW4gYWNjb3VudElkXG4gICAqIEByZXR1cm5zIHVuc2lnbmVkIHRyYWRlIHBheWxvYWQgZm9yIHRoZSBnaXZlbiBwYXJhbWV0ZXJzLiBUaGlzIG9iamVjdCBzaG91bGQgYmUgc3RyaW5naWZpZWQgd2l0aCBKU09OLnN0cmluZ2lmeSgpIGJlZm9yZSBiZWluZyBzdWJtaXR0ZWRcbiAgICovXG4gIGFzeW5jIGJ1aWxkUGF5bG9hZChwYXJhbXM6IEJ1aWxkUGF5bG9hZFBhcmFtZXRlcnMpOiBQcm9taXNlPFBheWxvYWQ+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvdHJhZGUvdjEvZW50ZXJwcmlzZS8ke3RoaXMuZW50ZXJwcmlzZUlkfS9hY2NvdW50LyR7dGhpcy5pZH0vcGF5bG9hZGApO1xuXG4gICAgY29uc3QgYm9keSA9IHtcbiAgICAgIHZlcnNpb246IFRSQURFX1BBWUxPQURfVkVSU0lPTixcbiAgICAgIGFtb3VudHM6IHBhcmFtcy5hbW91bnRzLFxuICAgIH07XG5cbiAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZW5kKGJvZHkpLnJlc3VsdCgpKSBhcyBhbnk7XG5cbiAgICBpZiAoIXRoaXMudmVyaWZ5UGF5bG9hZChwYXJhbXMsIHJlc3BvbnNlLnBheWxvYWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gdmVyaWZ5IHRyYWRlIHBheWxvYWQuIFlvdSBtYXkgbmVlZCB0byB1cGRhdGUgdGhlIEJpdEdvIFNESywgb3IgdGhlIHBheWxvYWQgbWF5IGhhdmUgYmVlbiB0YW1wZXJlZCB3aXRoLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIEpTT04ucGFyc2UocmVzcG9uc2UucGF5bG9hZCkgYXMgUGF5bG9hZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllcyB0aGF0IGEgcGF5bG9hZCByZWNlaXZlZCBmcm9tIEJpdEdvIHN1ZmZpY2llbnRseSBtYXRjaGVzIHRoZSBleHBlY3RlZCBwYXJhbWV0ZXJzLiBUaGlzIGlzIHVzZWQgdG8gcHJldmVudFxuICAgKiBtYW4taW4tdGhlLW1pZGRsZSBhdHRhY2tzIHdoaWNoIGNvdWxkIG1hbGljaW91c2x5IGFsdGVyIHRoZSBjb250ZW50cyBvZiBhIHBheWxvYWQuXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFyYW1ldGVycyB1c2VkIHRvIGJ1aWxkIHRoZSBwYXlsb2FkXG4gICAqIEBwYXJhbSBwYXlsb2FkIHBheWxvYWQgcmVjZWl2ZWQgZnJvbSB0aGUgQml0R28gQVBJXG4gICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHBheWxvYWQncyBzZW5zaXRpdmUgZmllbGRzIG1hdGNoLCBmYWxzZSBpZiB0aGUgcGF5bG9hZCBtYXkgaGF2ZSBiZWVuIHRhbXBlcmVkIHdpdGhcbiAgICovXG4gIHZlcmlmeVBheWxvYWQocGFyYW1zOiBCdWlsZFBheWxvYWRQYXJhbWV0ZXJzLCBwYXlsb2FkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBwYXlsb2FkT2JqID0gSlNPTi5wYXJzZShwYXlsb2FkKTtcbiAgICBjb25zdCBwYXJhbXNDb3B5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXJhbXMpKTsgLy8gbmVlZHMgdG8gYmUgYSBkZWVwIGNvcHlcblxuICAgIC8vIFZlcmlmaWVzIHRoYXQgZm9yIGVhY2ggcGFydHkgaW4gdGhlIHBheWxvYWQsIHdlIHJlcXVlc3RlZCBhIG1hdGNoaW5nIHBhcnR5LCBvbmx5IGNoZWNraW5nIHNlbnNpdGl2ZSBmaWVsZHNcbiAgICBsZXQgdmFsaWRBbW91bnRzID0gMDtcbiAgICBmb3IgKGNvbnN0IGFtb3VudCBvZiBwYXlsb2FkT2JqLmFtb3VudHMpIHtcbiAgICAgIGNvbnN0IG1hdGNoaW5nRXhwZWN0ZWRQYXJ0eSA9IHBhcmFtc0NvcHkuYW1vdW50cy5maW5kSW5kZXgoXG4gICAgICAgIChleHBlY3RlZEFtb3VudCkgPT5cbiAgICAgICAgICBhbW91bnQuYWNjb3VudElkID09PSBleHBlY3RlZEFtb3VudC5hY2NvdW50SWQgJiZcbiAgICAgICAgICBhbW91bnQuc2VuZEN1cnJlbmN5ID09PSBleHBlY3RlZEFtb3VudC5zZW5kQ3VycmVuY3kgJiZcbiAgICAgICAgICBhbW91bnQuc2VuZFN1YnRvdGFsID09PSBleHBlY3RlZEFtb3VudC5zZW5kQW1vdW50ICYmXG4gICAgICAgICAgYW1vdW50LnJlY2VpdmVBbW91bnQgPT09IGV4cGVjdGVkQW1vdW50LnJlY2VpdmVBbW91bnQgJiZcbiAgICAgICAgICBhbW91bnQucmVjZWl2ZUN1cnJlbmN5ID09PSBleHBlY3RlZEFtb3VudC5yZWNlaXZlQ3VycmVuY3lcbiAgICAgICk7XG5cbiAgICAgIGlmIChtYXRjaGluZ0V4cGVjdGVkUGFydHkgPT09IC0xKSB7XG4gICAgICAgIC8vIG1hdGNoaW5nRXhwZWN0ZWRQYXJ0eSBub3QgZm91bmQgdG8gdGhlIHBheWxvYWRPYmplY3RcbiAgICAgICAgLy8gcGF5bG9hZCBpcyBub3QgdmFsaWRcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChhbW91bnQuZmVlcyAmJiBhbW91bnQuZmVlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBmZWVUb3RhbCA9IG5ldyBCaWdOdW1iZXIoMCk7XG4gICAgICAgIGZvciAoY29uc3QgZmVlIG9mIGFtb3VudC5mZWVzKSB7XG4gICAgICAgICAgZmVlVG90YWwgPSBmZWVUb3RhbC5wbHVzKG5ldyBCaWdOdW1iZXIoZmVlLmZlZUFtb3VudCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXhwZWN0ZWRUb3RhbEFtb3VudCA9IG5ldyBCaWdOdW1iZXIocGFyYW1zQ29weS5hbW91bnRzW21hdGNoaW5nRXhwZWN0ZWRQYXJ0eV0uc2VuZEFtb3VudCkucGx1cyhmZWVUb3RhbCk7XG4gICAgICAgIGlmIChleHBlY3RlZFRvdGFsQW1vdW50LnRvU3RyaW5nKCkgIT09IGFtb3VudC5zZW5kQW1vdW50KSB7XG4gICAgICAgICAgLy8gZXhwZWN0ZWQgdG90YWwgZG9lcyBub3QgbWF0Y2ggdGhlIHNlbmRBbW91bnQgb2YgdGhlIHBheWxvYWRcbiAgICAgICAgICAvLyBwYXlsb2FkIGlzIG5vdCB2YWxpZFxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIG1hdGNoaW5nIHBhcnR5IGZvdW5kLCBhbmQgZmVlIGZvdW5kXG4gICAgICB2YWxpZEFtb3VudHMgPSB2YWxpZEFtb3VudHMgKyAxO1xuICAgICAgLy8gZGVsZXRlIHNvIHdlIGVuc3VyZSBubyBkdXBsaWNhdGVzXG4gICAgICBwYXJhbXNDb3B5LmFtb3VudHMuc3BsaWNlKG1hdGNoaW5nRXhwZWN0ZWRQYXJ0eSwgMSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIHBheWxvYWRPYmouYWNjb3VudElkID09PSB0aGlzLmlkICYmXG4gICAgICBwYXlsb2FkT2JqLmFtb3VudHMubGVuZ3RoID09PSBwYXJhbXMuYW1vdW50cy5sZW5ndGggJiZcbiAgICAgIHZhbGlkQW1vdW50cyA9PT0gcGF5bG9hZE9iai5hbW91bnRzLmxlbmd0aFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgbmVjZXNzYXJ5IGZlZXMgdG8gY29tcGxldGUgYSBzZXR0bGVtZW50IGJldHdlZW4gdHdvIHBhcnRpZXMsIGJhc2VkIG9uIHRoZSBhbW91bnRzIGFuZCBjdXJyZW5jaWVzIG9mIHRoZSBzZXR0bGVtZW50LlxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMuY291bnRlcnBhcnR5QWNjb3VudElkIEFjY291bnQgSUQgb2YgdGhlIGNvdW50ZXJwYXJ0eSBvZiB0aGUgc2V0dGxlbWVudFxuICAgKiBAcGFyYW0gcGFyYW1zLnNlbmRDdXJyZW5jeSBDdXJyZW5jeSB0byBiZSBzZW50IGFzIHBhcnQgb2YgdGhlIHNldHRsZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtcy5zZW5kQW1vdW50IEFtb3VudCBvZiBjdXJyZW5jeSAoaW4gYmFzZSB1bml0cyBzdWNoIGFzIGNlbnRzLCBzYXRvc2hpcywgb3Igd2VpKSB0byBiZSBzZW50XG4gICAqIEBwYXJhbSBwYXJhbXMucmVjZWl2ZUN1cnJlbmN5IEN1cnJlbmN5IHRvIGJlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhlIHNldHRsZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtcy5yZWNlaXZlQW1vdW50IEFtb3VudCBvZiBjdXJyZW5jeSAoaW4gYmFzZSB1bml0cyBzdWNoIGFzIGNlbnRzLCBzYXRvc2hpcywgb3Igd2VpKSB0byBiZSByZWNlaXZlZFxuICAgKiBAcmV0dXJucyBGZWUgcmF0ZSwgY3VycmVuY3ksIGFuZCB0b3RhbCBhbW91bnQgb2YgdGhlIGRlc2NyaWJlZCBzZXR0bGVtZW50XG4gICAqL1xuICBhc3luYyBjYWxjdWxhdGVTZXR0bGVtZW50RmVlcyhwYXJhbXM6IENhbGN1bGF0ZVNldHRsZW1lbnRGZWVzUGFyYW1zKTogUHJvbWlzZTxTZXR0bGVtZW50RmVlcz4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL3RyYWRlL3YxL2VudGVycHJpc2UvJHt0aGlzLmVudGVycHJpc2VJZH0vYWNjb3VudC8ke3RoaXMuaWR9L2NhbGN1bGF0ZWZlZXNgXG4gICAgKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogU2lnbnMgYSBwcmUtYnVpbHQgdHJhZGUgcGF5bG9hZCB3aXRoIHRoZSB1c2VyIGtleSBvbiB0aGlzIHRyYWRpbmcgYWNjb3VudFxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMucGF5bG9hZCB0cmFkZSBwYXlsb2FkIG9iamVjdCBmcm9tIFRyYWRpbmdBY2NvdW50OjpidWlsZFBheWxvYWQoKVxuICAgKiBAcGFyYW0gcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgcGFzc3BocmFzZSBvbiB0aGlzIHRyYWRpbmcgYWNjb3VudCwgdXNlZCB0byB1bmxvY2sgdGhlIGFjY291bnQgdXNlciBrZXlcbiAgICogQHJldHVybnMgaGV4LWVuY29kZWQgc2lnbmF0dXJlIG9mIHRoZSBwYXlsb2FkXG4gICAqL1xuICBhc3luYyBzaWduUGF5bG9hZChwYXJhbXM6IFNpZ25QYXlsb2FkUGFyYW1ldGVycyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qga2V5ID0gKGF3YWl0IHRoaXMud2FsbGV0LmJhc2VDb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB0aGlzLndhbGxldC5rZXlJZHMoKVswXSB9KSkgYXMgYW55O1xuICAgIGNvbnN0IHBydiA9IHRoaXMud2FsbGV0LmJpdGdvLmRlY3J5cHQoe1xuICAgICAgaW5wdXQ6IGtleS5lbmNyeXB0ZWRQcnYsXG4gICAgICBwYXNzd29yZDogcGFyYW1zLndhbGxldFBhc3NwaHJhc2UsXG4gICAgfSk7XG4gICAgY29uc3QgcGF5bG9hZCA9IEpTT04uc3RyaW5naWZ5KHBhcmFtcy5wYXlsb2FkKTtcbiAgICByZXR1cm4gKChhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5zaWduTWVzc2FnZSh7IHBydiB9LCBwYXlsb2FkKSkgYXMgYW55KS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICBhZmZpcm1hdGlvbnMoKTogSUFmZmlybWF0aW9ucyB7XG4gICAgcmV0dXJuIG5ldyBBZmZpcm1hdGlvbnModGhpcy5iaXRnbywgdGhpcy5lbnRlcnByaXNlSWQsIHRoaXMpO1xuICB9XG5cbiAgc2V0dGxlbWVudHMoKTogSVNldHRsZW1lbnRzIHtcbiAgICByZXR1cm4gbmV3IFNldHRsZW1lbnRzKHRoaXMuYml0Z28sIHRoaXMuZW50ZXJwcmlzZUlkLCB0aGlzKTtcbiAgfVxuXG4gIHBhcnRuZXJzKCk6IElUcmFkaW5nUGFydG5lcnMge1xuICAgIHJldHVybiBuZXcgVHJhZGluZ1BhcnRuZXJzKHRoaXMuYml0Z28sIHRoaXMuZW50ZXJwcmlzZUlkLCB0aGlzKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,26 @@
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
@@ -0,0 +1 @@
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"}