@mysten/deepbook-v3 0.28.2 → 1.0.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 (535) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/dist/client.d.mts +897 -0
  3. package/dist/client.d.mts.map +1 -0
  4. package/dist/client.mjs +2067 -0
  5. package/dist/client.mjs.map +1 -0
  6. package/dist/contracts/deepbook/account.d.mts +38 -0
  7. package/dist/contracts/deepbook/account.d.mts.map +1 -0
  8. package/dist/contracts/deepbook/account.mjs +31 -0
  9. package/dist/contracts/deepbook/account.mjs.map +1 -0
  10. package/dist/contracts/deepbook/balances.d.mts +13 -0
  11. package/dist/contracts/deepbook/balances.d.mts.map +1 -0
  12. package/dist/contracts/deepbook/balances.mjs +24 -0
  13. package/dist/contracts/deepbook/balances.mjs.map +1 -0
  14. package/dist/contracts/deepbook/deep_price.d.mts +13 -0
  15. package/dist/contracts/deepbook/deep_price.d.mts.map +1 -0
  16. package/dist/contracts/deepbook/deep_price.mjs +49 -0
  17. package/dist/contracts/deepbook/deep_price.mjs.map +1 -0
  18. package/dist/contracts/deepbook/deps/sui/vec_set.d.mts +22 -0
  19. package/dist/contracts/deepbook/deps/sui/vec_set.d.mts.map +1 -0
  20. package/dist/contracts/deepbook/deps/sui/vec_set.mjs +26 -0
  21. package/dist/contracts/deepbook/deps/sui/vec_set.mjs.map +1 -0
  22. package/dist/contracts/deepbook/order.d.mts +24 -0
  23. package/dist/contracts/deepbook/order.d.mts.map +1 -0
  24. package/dist/contracts/deepbook/order.mjs +63 -0
  25. package/dist/contracts/deepbook/order.mjs.map +1 -0
  26. package/dist/contracts/pyth/data_source.mjs +20 -0
  27. package/dist/contracts/pyth/data_source.mjs.map +1 -0
  28. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs +21 -0
  29. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs.map +1 -0
  30. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs +19 -0
  31. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs.map +1 -0
  32. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.mjs +16 -0
  33. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.mjs.map +1 -0
  34. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.mjs +16 -0
  35. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.mjs.map +1 -0
  36. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.mjs +16 -0
  37. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.mjs.map +1 -0
  38. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.mjs +16 -0
  39. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.mjs.map +1 -0
  40. package/dist/contracts/pyth/i64.mjs +19 -0
  41. package/dist/contracts/pyth/i64.mjs.map +1 -0
  42. package/dist/contracts/pyth/price.mjs +22 -0
  43. package/dist/contracts/pyth/price.mjs.map +1 -0
  44. package/dist/contracts/pyth/price_feed.mjs +21 -0
  45. package/dist/contracts/pyth/price_feed.mjs.map +1 -0
  46. package/dist/contracts/pyth/price_identifier.mjs +16 -0
  47. package/dist/contracts/pyth/price_identifier.mjs.map +1 -0
  48. package/dist/contracts/pyth/price_info.mjs +28 -0
  49. package/dist/contracts/pyth/price_info.mjs.map +1 -0
  50. package/dist/contracts/pyth/state.mjs +36 -0
  51. package/dist/contracts/pyth/state.mjs.map +1 -0
  52. package/dist/contracts/utils/index.d.mts +34 -0
  53. package/dist/contracts/utils/index.d.mts.map +1 -0
  54. package/dist/contracts/utils/index.mjs +35 -0
  55. package/dist/contracts/utils/index.mjs.map +1 -0
  56. package/dist/index.d.mts +25 -0
  57. package/dist/index.mjs +26 -0
  58. package/dist/pyth/PriceServiceConnection.d.mts +26 -0
  59. package/dist/pyth/PriceServiceConnection.d.mts.map +1 -0
  60. package/dist/pyth/PriceServiceConnection.mjs +35 -0
  61. package/dist/pyth/PriceServiceConnection.mjs.map +1 -0
  62. package/dist/pyth/pyth-helpers.mjs +18 -0
  63. package/dist/pyth/pyth-helpers.mjs.map +1 -0
  64. package/dist/pyth/pyth.d.mts +69 -0
  65. package/dist/pyth/pyth.d.mts.map +1 -0
  66. package/dist/pyth/pyth.mjs +223 -0
  67. package/dist/pyth/pyth.mjs.map +1 -0
  68. package/dist/transactions/balanceManager.d.mts +174 -0
  69. package/dist/transactions/balanceManager.d.mts.map +1 -0
  70. package/dist/transactions/balanceManager.mjs +233 -0
  71. package/dist/transactions/balanceManager.mjs.map +1 -0
  72. package/dist/transactions/deepbook.d.mts +490 -0
  73. package/dist/transactions/deepbook.d.mts.map +1 -0
  74. package/dist/transactions/deepbook.mjs +978 -0
  75. package/dist/transactions/deepbook.mjs.map +1 -0
  76. package/dist/transactions/deepbookAdmin.d.mts +111 -0
  77. package/dist/transactions/deepbookAdmin.d.mts.map +1 -0
  78. package/dist/transactions/deepbookAdmin.mjs +221 -0
  79. package/dist/transactions/deepbookAdmin.mjs.map +1 -0
  80. package/dist/transactions/flashLoans.d.mts +62 -0
  81. package/dist/transactions/flashLoans.d.mts.map +1 -0
  82. package/dist/transactions/flashLoans.mjs +75 -0
  83. package/dist/transactions/flashLoans.mjs.map +1 -0
  84. package/dist/transactions/governance.d.mts +48 -0
  85. package/dist/transactions/governance.d.mts.map +1 -0
  86. package/dist/transactions/governance.mjs +90 -0
  87. package/dist/transactions/governance.mjs.map +1 -0
  88. package/dist/transactions/marginAdmin.d.mts +139 -0
  89. package/dist/transactions/marginAdmin.d.mts.map +1 -0
  90. package/dist/transactions/marginAdmin.mjs +249 -0
  91. package/dist/transactions/marginAdmin.mjs.map +1 -0
  92. package/dist/transactions/marginLiquidations.d.mts +67 -0
  93. package/dist/transactions/marginLiquidations.d.mts.map +1 -0
  94. package/dist/transactions/marginLiquidations.mjs +109 -0
  95. package/dist/transactions/marginLiquidations.mjs.map +1 -0
  96. package/dist/transactions/marginMaintainer.d.mts +86 -0
  97. package/dist/transactions/marginMaintainer.d.mts.map +1 -0
  98. package/dist/transactions/marginMaintainer.mjs +160 -0
  99. package/dist/transactions/marginMaintainer.mjs.map +1 -0
  100. package/dist/transactions/marginManager.d.mts +255 -0
  101. package/dist/transactions/marginManager.d.mts.map +1 -0
  102. package/dist/transactions/marginManager.mjs +558 -0
  103. package/dist/transactions/marginManager.mjs.map +1 -0
  104. package/dist/transactions/marginPool.d.mts +140 -0
  105. package/dist/transactions/marginPool.d.mts.map +1 -0
  106. package/dist/transactions/marginPool.mjs +206 -0
  107. package/dist/transactions/marginPool.mjs.map +1 -0
  108. package/dist/transactions/marginRegistry.d.mts +100 -0
  109. package/dist/transactions/marginRegistry.d.mts.map +1 -0
  110. package/dist/transactions/marginRegistry.mjs +128 -0
  111. package/dist/transactions/marginRegistry.mjs.map +1 -0
  112. package/dist/transactions/marginTPSL.d.mts +99 -0
  113. package/dist/transactions/marginTPSL.d.mts.map +1 -0
  114. package/dist/transactions/marginTPSL.mjs +176 -0
  115. package/dist/transactions/marginTPSL.mjs.map +1 -0
  116. package/dist/transactions/poolProxy.d.mts +117 -0
  117. package/dist/transactions/poolProxy.d.mts.map +1 -0
  118. package/dist/transactions/poolProxy.mjs +318 -0
  119. package/dist/transactions/poolProxy.mjs.map +1 -0
  120. package/dist/types/bcs.d.mts +5 -0
  121. package/dist/types/bcs.mjs +7 -0
  122. package/dist/types/index.d.mts +237 -0
  123. package/dist/types/index.d.mts.map +1 -0
  124. package/dist/types/index.mjs +18 -0
  125. package/dist/types/index.mjs.map +1 -0
  126. package/dist/utils/config.d.mts +82 -0
  127. package/dist/utils/config.d.mts.map +1 -0
  128. package/dist/utils/config.mjs +88 -0
  129. package/dist/utils/config.mjs.map +1 -0
  130. package/dist/utils/constants.d.mts +81 -0
  131. package/dist/utils/constants.d.mts.map +1 -0
  132. package/dist/utils/constants.mjs +362 -0
  133. package/dist/utils/constants.mjs.map +1 -0
  134. package/dist/utils/errors.d.mts +46 -0
  135. package/dist/utils/errors.d.mts.map +1 -0
  136. package/dist/utils/errors.mjs +59 -0
  137. package/dist/utils/errors.mjs.map +1 -0
  138. package/dist/{cjs/utils/validation.d.ts → utils/validation.d.mts} +11 -7
  139. package/dist/utils/validation.d.mts.map +1 -0
  140. package/dist/utils/validation.mjs +76 -0
  141. package/dist/utils/validation.mjs.map +1 -0
  142. package/package.json +23 -21
  143. package/src/client.ts +577 -549
  144. package/src/contracts/deepbook/account.ts +14 -14
  145. package/src/contracts/deepbook/balance_manager.ts +340 -54
  146. package/src/contracts/deepbook/balances.ts +3 -2
  147. package/src/contracts/deepbook/big_vector.ts +5 -6
  148. package/src/contracts/deepbook/book.ts +3 -2
  149. package/src/contracts/deepbook/constants.ts +95 -3
  150. package/src/contracts/deepbook/deep_price.ts +7 -7
  151. package/src/contracts/deepbook/deps/std/type_name.ts +3 -2
  152. package/src/contracts/deepbook/deps/sui/bag.ts +4 -4
  153. package/src/contracts/deepbook/deps/sui/balance.ts +3 -2
  154. package/src/contracts/deepbook/deps/sui/object.ts +3 -2
  155. package/src/contracts/deepbook/deps/sui/table.ts +4 -4
  156. package/src/contracts/deepbook/deps/sui/vec_map.ts +4 -4
  157. package/src/contracts/deepbook/deps/sui/vec_set.ts +4 -4
  158. package/src/contracts/deepbook/deps/sui/versioned.ts +4 -4
  159. package/src/contracts/deepbook/ewma.ts +14 -3
  160. package/src/contracts/deepbook/fill.ts +21 -21
  161. package/src/contracts/deepbook/governance.ts +3 -2
  162. package/src/contracts/deepbook/history.ts +3 -2
  163. package/src/contracts/deepbook/math.ts +15 -15
  164. package/src/contracts/deepbook/order.ts +16 -16
  165. package/src/contracts/deepbook/order_info.ts +39 -27
  166. package/src/contracts/deepbook/order_query.ts +12 -12
  167. package/src/contracts/deepbook/pool.ts +876 -519
  168. package/src/contracts/deepbook/registry.ts +146 -35
  169. package/src/contracts/deepbook/state.ts +13 -2
  170. package/src/contracts/deepbook/trade_params.ts +3 -2
  171. package/src/contracts/deepbook/vault.ts +3 -2
  172. package/src/contracts/pyth/batch_price_attestation.ts +92 -0
  173. package/src/contracts/pyth/contract_upgrade.ts +54 -0
  174. package/src/contracts/pyth/data_source.ts +64 -0
  175. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/object.ts +12 -0
  176. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
  177. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
  178. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.ts +12 -0
  179. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.ts +13 -0
  180. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.ts +13 -0
  181. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.ts +12 -0
  182. package/src/contracts/pyth/deserialize.ts +117 -0
  183. package/src/contracts/pyth/event.ts +20 -0
  184. package/src/contracts/pyth/governance.ts +113 -0
  185. package/src/contracts/pyth/governance_action.ts +130 -0
  186. package/src/contracts/pyth/governance_instruction.ts +98 -0
  187. package/src/contracts/pyth/hot_potato_vector.ts +70 -0
  188. package/src/contracts/pyth/i64.ts +94 -0
  189. package/src/contracts/pyth/merkle_tree.ts +41 -0
  190. package/src/contracts/pyth/migrate.ts +29 -0
  191. package/src/contracts/pyth/price.ts +102 -0
  192. package/src/contracts/pyth/price_feed.ts +101 -0
  193. package/src/contracts/pyth/price_identifier.ts +46 -0
  194. package/src/contracts/pyth/price_info.ts +220 -0
  195. package/src/contracts/pyth/price_status.ts +74 -0
  196. package/src/contracts/pyth/pyth.ts +236 -0
  197. package/src/contracts/pyth/set.ts +93 -0
  198. package/src/contracts/pyth/set_data_sources.ts +14 -0
  199. package/src/contracts/pyth/set_fee_recipient.ts +13 -0
  200. package/src/contracts/pyth/set_governance_data_source.ts +16 -0
  201. package/src/contracts/pyth/set_stale_price_threshold.ts +13 -0
  202. package/src/contracts/pyth/set_update_fee.ts +14 -0
  203. package/src/contracts/pyth/setup.ts +12 -0
  204. package/src/contracts/pyth/state.ts +227 -0
  205. package/src/contracts/pyth/version_control.ts +25 -0
  206. package/src/contracts/utils/index.ts +99 -49
  207. package/src/index.ts +2 -2
  208. package/src/pyth/pyth.ts +39 -40
  209. package/src/transactions/deepbook.ts +19 -0
  210. package/src/transactions/marginAdmin.ts +1 -1
  211. package/src/transactions/poolProxy.ts +22 -0
  212. package/src/types/index.ts +0 -2
  213. package/src/utils/config.ts +11 -13
  214. package/src/utils/validation.ts +1 -1
  215. package/dist/cjs/client.d.ts +0 -882
  216. package/dist/cjs/client.js +0 -2003
  217. package/dist/cjs/client.js.map +0 -7
  218. package/dist/cjs/contracts/deepbook/account.d.ts +0 -105
  219. package/dist/cjs/contracts/deepbook/account.js +0 -163
  220. package/dist/cjs/contracts/deepbook/account.js.map +0 -7
  221. package/dist/cjs/contracts/deepbook/balance_manager.d.ts +0 -268
  222. package/dist/cjs/contracts/deepbook/balance_manager.js +0 -361
  223. package/dist/cjs/contracts/deepbook/balance_manager.js.map +0 -7
  224. package/dist/cjs/contracts/deepbook/balances.d.ts +0 -10
  225. package/dist/cjs/contracts/deepbook/balances.js +0 -35
  226. package/dist/cjs/contracts/deepbook/balances.js.map +0 -7
  227. package/dist/cjs/contracts/deepbook/big_vector.d.ts +0 -62
  228. package/dist/cjs/contracts/deepbook/big_vector.js +0 -80
  229. package/dist/cjs/contracts/deepbook/big_vector.js.map +0 -7
  230. package/dist/cjs/contracts/deepbook/book.d.ts +0 -34
  231. package/dist/cjs/contracts/deepbook/book.js +0 -50
  232. package/dist/cjs/contracts/deepbook/book.js.map +0 -7
  233. package/dist/cjs/contracts/deepbook/constants.d.ts +0 -176
  234. package/dist/cjs/contracts/deepbook/constants.js +0 -338
  235. package/dist/cjs/contracts/deepbook/constants.js.map +0 -7
  236. package/dist/cjs/contracts/deepbook/deep_price.d.ts +0 -60
  237. package/dist/cjs/contracts/deepbook/deep_price.js +0 -87
  238. package/dist/cjs/contracts/deepbook/deep_price.js.map +0 -7
  239. package/dist/cjs/contracts/deepbook/deps/std/type_name.d.ts +0 -14
  240. package/dist/cjs/contracts/deepbook/deps/std/type_name.js +0 -42
  241. package/dist/cjs/contracts/deepbook/deps/std/type_name.js.map +0 -7
  242. package/dist/cjs/contracts/deepbook/deps/sui/bag.d.ts +0 -33
  243. package/dist/cjs/contracts/deepbook/deps/sui/bag.js +0 -47
  244. package/dist/cjs/contracts/deepbook/deps/sui/bag.js.map +0 -7
  245. package/dist/cjs/contracts/deepbook/deps/sui/balance.d.ts +0 -9
  246. package/dist/cjs/contracts/deepbook/deps/sui/balance.js +0 -33
  247. package/dist/cjs/contracts/deepbook/deps/sui/balance.js.map +0 -7
  248. package/dist/cjs/contracts/deepbook/deps/sui/object.d.ts +0 -5
  249. package/dist/cjs/contracts/deepbook/deps/sui/object.js +0 -33
  250. package/dist/cjs/contracts/deepbook/deps/sui/object.js.map +0 -7
  251. package/dist/cjs/contracts/deepbook/deps/sui/table.d.ts +0 -28
  252. package/dist/cjs/contracts/deepbook/deps/sui/table.js +0 -47
  253. package/dist/cjs/contracts/deepbook/deps/sui/table.js.map +0 -7
  254. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.d.ts +0 -27
  255. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js +0 -45
  256. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js.map +0 -7
  257. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.d.ts +0 -15
  258. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js +0 -35
  259. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js.map +0 -7
  260. package/dist/cjs/contracts/deepbook/deps/sui/versioned.d.ts +0 -7
  261. package/dist/cjs/contracts/deepbook/deps/sui/versioned.js +0 -45
  262. package/dist/cjs/contracts/deepbook/deps/sui/versioned.js.map +0 -7
  263. package/dist/cjs/contracts/deepbook/ewma.d.ts +0 -17
  264. package/dist/cjs/contracts/deepbook/ewma.js +0 -39
  265. package/dist/cjs/contracts/deepbook/ewma.js.map +0 -7
  266. package/dist/cjs/contracts/deepbook/fill.d.ts +0 -153
  267. package/dist/cjs/contracts/deepbook/fill.js +0 -251
  268. package/dist/cjs/contracts/deepbook/fill.js.map +0 -7
  269. package/dist/cjs/contracts/deepbook/governance.d.ts +0 -63
  270. package/dist/cjs/contracts/deepbook/governance.js +0 -79
  271. package/dist/cjs/contracts/deepbook/governance.js.map +0 -7
  272. package/dist/cjs/contracts/deepbook/history.d.ts +0 -60
  273. package/dist/cjs/contracts/deepbook/history.js +0 -78
  274. package/dist/cjs/contracts/deepbook/history.js.map +0 -7
  275. package/dist/cjs/contracts/deepbook/math.d.ts +0 -94
  276. package/dist/cjs/contracts/deepbook/math.js +0 -132
  277. package/dist/cjs/contracts/deepbook/math.js.map +0 -7
  278. package/dist/cjs/contracts/deepbook/order.d.ts +0 -135
  279. package/dist/cjs/contracts/deepbook/order.js +0 -218
  280. package/dist/cjs/contracts/deepbook/order.js.map +0 -7
  281. package/dist/cjs/contracts/deepbook/order_info.d.ts +0 -296
  282. package/dist/cjs/contracts/deepbook/order_info.js +0 -386
  283. package/dist/cjs/contracts/deepbook/order_info.js.map +0 -7
  284. package/dist/cjs/contracts/deepbook/order_query.d.ts +0 -85
  285. package/dist/cjs/contracts/deepbook/order_query.js +0 -96
  286. package/dist/cjs/contracts/deepbook/order_query.js.map +0 -7
  287. package/dist/cjs/contracts/deepbook/pool.d.ts +0 -1218
  288. package/dist/cjs/contracts/deepbook/pool.js +0 -1236
  289. package/dist/cjs/contracts/deepbook/pool.js.map +0 -7
  290. package/dist/cjs/contracts/deepbook/registry.d.ts +0 -134
  291. package/dist/cjs/contracts/deepbook/registry.js +0 -182
  292. package/dist/cjs/contracts/deepbook/registry.js.map +0 -7
  293. package/dist/cjs/contracts/deepbook/state.d.ts +0 -117
  294. package/dist/cjs/contracts/deepbook/state.js +0 -104
  295. package/dist/cjs/contracts/deepbook/state.js.map +0 -7
  296. package/dist/cjs/contracts/deepbook/trade_params.d.ts +0 -7
  297. package/dist/cjs/contracts/deepbook/trade_params.js +0 -35
  298. package/dist/cjs/contracts/deepbook/trade_params.js.map +0 -7
  299. package/dist/cjs/contracts/deepbook/vault.d.ts +0 -30
  300. package/dist/cjs/contracts/deepbook/vault.js +0 -65
  301. package/dist/cjs/contracts/deepbook/vault.js.map +0 -7
  302. package/dist/cjs/contracts/utils/index.d.ts +0 -25
  303. package/dist/cjs/contracts/utils/index.js +0 -148
  304. package/dist/cjs/contracts/utils/index.js.map +0 -7
  305. package/dist/cjs/index.d.ts +0 -24
  306. package/dist/cjs/index.js +0 -92
  307. package/dist/cjs/index.js.map +0 -7
  308. package/dist/cjs/package.json +0 -4
  309. package/dist/cjs/pyth/PriceServiceConnection.d.ts +0 -26
  310. package/dist/cjs/pyth/PriceServiceConnection.js +0 -68
  311. package/dist/cjs/pyth/PriceServiceConnection.js.map +0 -7
  312. package/dist/cjs/pyth/pyth-helpers.d.ts +0 -7
  313. package/dist/cjs/pyth/pyth-helpers.js +0 -36
  314. package/dist/cjs/pyth/pyth-helpers.js.map +0 -7
  315. package/dist/cjs/pyth/pyth.d.ts +0 -65
  316. package/dist/cjs/pyth/pyth.js +0 -269
  317. package/dist/cjs/pyth/pyth.js.map +0 -7
  318. package/dist/cjs/transactions/balanceManager.d.ts +0 -168
  319. package/dist/cjs/transactions/balanceManager.js +0 -384
  320. package/dist/cjs/transactions/balanceManager.js.map +0 -7
  321. package/dist/cjs/transactions/deepbook.d.ts +0 -477
  322. package/dist/cjs/transactions/deepbook.js +0 -1335
  323. package/dist/cjs/transactions/deepbook.js.map +0 -7
  324. package/dist/cjs/transactions/deepbookAdmin.d.ts +0 -105
  325. package/dist/cjs/transactions/deepbookAdmin.js +0 -334
  326. package/dist/cjs/transactions/deepbookAdmin.js.map +0 -7
  327. package/dist/cjs/transactions/flashLoans.d.ts +0 -56
  328. package/dist/cjs/transactions/flashLoans.js +0 -124
  329. package/dist/cjs/transactions/flashLoans.js.map +0 -7
  330. package/dist/cjs/transactions/governance.d.ts +0 -42
  331. package/dist/cjs/transactions/governance.js +0 -135
  332. package/dist/cjs/transactions/governance.js.map +0 -7
  333. package/dist/cjs/transactions/marginAdmin.d.ts +0 -133
  334. package/dist/cjs/transactions/marginAdmin.js +0 -396
  335. package/dist/cjs/transactions/marginAdmin.js.map +0 -7
  336. package/dist/cjs/transactions/marginLiquidations.d.ts +0 -61
  337. package/dist/cjs/transactions/marginLiquidations.js +0 -173
  338. package/dist/cjs/transactions/marginLiquidations.js.map +0 -7
  339. package/dist/cjs/transactions/marginMaintainer.d.ts +0 -80
  340. package/dist/cjs/transactions/marginMaintainer.js +0 -257
  341. package/dist/cjs/transactions/marginMaintainer.js.map +0 -7
  342. package/dist/cjs/transactions/marginManager.d.ts +0 -249
  343. package/dist/cjs/transactions/marginManager.js +0 -739
  344. package/dist/cjs/transactions/marginManager.js.map +0 -7
  345. package/dist/cjs/transactions/marginPool.d.ts +0 -134
  346. package/dist/cjs/transactions/marginPool.js +0 -330
  347. package/dist/cjs/transactions/marginPool.js.map +0 -7
  348. package/dist/cjs/transactions/marginRegistry.d.ts +0 -94
  349. package/dist/cjs/transactions/marginRegistry.js +0 -221
  350. package/dist/cjs/transactions/marginRegistry.js.map +0 -7
  351. package/dist/cjs/transactions/marginTPSL.d.ts +0 -93
  352. package/dist/cjs/transactions/marginTPSL.js +0 -286
  353. package/dist/cjs/transactions/marginTPSL.js.map +0 -7
  354. package/dist/cjs/transactions/poolProxy.d.ts +0 -104
  355. package/dist/cjs/transactions/poolProxy.js +0 -435
  356. package/dist/cjs/transactions/poolProxy.js.map +0 -7
  357. package/dist/cjs/types/bcs.d.ts +0 -5
  358. package/dist/cjs/types/bcs.js +0 -33
  359. package/dist/cjs/types/bcs.js.map +0 -7
  360. package/dist/cjs/types/index.d.ts +0 -247
  361. package/dist/cjs/types/index.js +0 -38
  362. package/dist/cjs/types/index.js.map +0 -7
  363. package/dist/cjs/utils/config.d.ts +0 -65
  364. package/dist/cjs/utils/config.js +0 -144
  365. package/dist/cjs/utils/config.js.map +0 -7
  366. package/dist/cjs/utils/constants.d.ts +0 -76
  367. package/dist/cjs/utils/constants.js +0 -392
  368. package/dist/cjs/utils/constants.js.map +0 -7
  369. package/dist/cjs/utils/errors.d.ts +0 -42
  370. package/dist/cjs/utils/errors.js +0 -70
  371. package/dist/cjs/utils/errors.js.map +0 -7
  372. package/dist/cjs/utils/validation.js +0 -67
  373. package/dist/cjs/utils/validation.js.map +0 -7
  374. package/dist/esm/client.d.ts +0 -882
  375. package/dist/esm/client.js +0 -1988
  376. package/dist/esm/client.js.map +0 -7
  377. package/dist/esm/contracts/deepbook/account.d.ts +0 -105
  378. package/dist/esm/contracts/deepbook/account.js +0 -133
  379. package/dist/esm/contracts/deepbook/account.js.map +0 -7
  380. package/dist/esm/contracts/deepbook/balance_manager.d.ts +0 -268
  381. package/dist/esm/contracts/deepbook/balance_manager.js +0 -331
  382. package/dist/esm/contracts/deepbook/balance_manager.js.map +0 -7
  383. package/dist/esm/contracts/deepbook/balances.d.ts +0 -10
  384. package/dist/esm/contracts/deepbook/balances.js +0 -15
  385. package/dist/esm/contracts/deepbook/balances.js.map +0 -7
  386. package/dist/esm/contracts/deepbook/big_vector.d.ts +0 -62
  387. package/dist/esm/contracts/deepbook/big_vector.js +0 -50
  388. package/dist/esm/contracts/deepbook/big_vector.js.map +0 -7
  389. package/dist/esm/contracts/deepbook/book.d.ts +0 -34
  390. package/dist/esm/contracts/deepbook/book.js +0 -20
  391. package/dist/esm/contracts/deepbook/book.js.map +0 -7
  392. package/dist/esm/contracts/deepbook/constants.d.ts +0 -176
  393. package/dist/esm/contracts/deepbook/constants.js +0 -318
  394. package/dist/esm/contracts/deepbook/constants.js.map +0 -7
  395. package/dist/esm/contracts/deepbook/deep_price.d.ts +0 -60
  396. package/dist/esm/contracts/deepbook/deep_price.js +0 -67
  397. package/dist/esm/contracts/deepbook/deep_price.js.map +0 -7
  398. package/dist/esm/contracts/deepbook/deps/std/type_name.d.ts +0 -14
  399. package/dist/esm/contracts/deepbook/deps/std/type_name.js +0 -22
  400. package/dist/esm/contracts/deepbook/deps/std/type_name.js.map +0 -7
  401. package/dist/esm/contracts/deepbook/deps/sui/bag.d.ts +0 -33
  402. package/dist/esm/contracts/deepbook/deps/sui/bag.js +0 -17
  403. package/dist/esm/contracts/deepbook/deps/sui/bag.js.map +0 -7
  404. package/dist/esm/contracts/deepbook/deps/sui/balance.d.ts +0 -9
  405. package/dist/esm/contracts/deepbook/deps/sui/balance.js +0 -13
  406. package/dist/esm/contracts/deepbook/deps/sui/balance.js.map +0 -7
  407. package/dist/esm/contracts/deepbook/deps/sui/object.d.ts +0 -5
  408. package/dist/esm/contracts/deepbook/deps/sui/object.js +0 -13
  409. package/dist/esm/contracts/deepbook/deps/sui/object.js.map +0 -7
  410. package/dist/esm/contracts/deepbook/deps/sui/table.d.ts +0 -28
  411. package/dist/esm/contracts/deepbook/deps/sui/table.js +0 -17
  412. package/dist/esm/contracts/deepbook/deps/sui/table.js.map +0 -7
  413. package/dist/esm/contracts/deepbook/deps/sui/vec_map.d.ts +0 -27
  414. package/dist/esm/contracts/deepbook/deps/sui/vec_map.js +0 -25
  415. package/dist/esm/contracts/deepbook/deps/sui/vec_map.js.map +0 -7
  416. package/dist/esm/contracts/deepbook/deps/sui/vec_set.d.ts +0 -15
  417. package/dist/esm/contracts/deepbook/deps/sui/vec_set.js +0 -15
  418. package/dist/esm/contracts/deepbook/deps/sui/vec_set.js.map +0 -7
  419. package/dist/esm/contracts/deepbook/deps/sui/versioned.d.ts +0 -7
  420. package/dist/esm/contracts/deepbook/deps/sui/versioned.js +0 -15
  421. package/dist/esm/contracts/deepbook/deps/sui/versioned.js.map +0 -7
  422. package/dist/esm/contracts/deepbook/ewma.d.ts +0 -17
  423. package/dist/esm/contracts/deepbook/ewma.js +0 -19
  424. package/dist/esm/contracts/deepbook/ewma.js.map +0 -7
  425. package/dist/esm/contracts/deepbook/fill.d.ts +0 -153
  426. package/dist/esm/contracts/deepbook/fill.js +0 -221
  427. package/dist/esm/contracts/deepbook/fill.js.map +0 -7
  428. package/dist/esm/contracts/deepbook/governance.d.ts +0 -63
  429. package/dist/esm/contracts/deepbook/governance.js +0 -49
  430. package/dist/esm/contracts/deepbook/governance.js.map +0 -7
  431. package/dist/esm/contracts/deepbook/history.d.ts +0 -60
  432. package/dist/esm/contracts/deepbook/history.js +0 -48
  433. package/dist/esm/contracts/deepbook/history.js.map +0 -7
  434. package/dist/esm/contracts/deepbook/math.d.ts +0 -94
  435. package/dist/esm/contracts/deepbook/math.js +0 -112
  436. package/dist/esm/contracts/deepbook/math.js.map +0 -7
  437. package/dist/esm/contracts/deepbook/order.d.ts +0 -135
  438. package/dist/esm/contracts/deepbook/order.js +0 -188
  439. package/dist/esm/contracts/deepbook/order.js.map +0 -7
  440. package/dist/esm/contracts/deepbook/order_info.d.ts +0 -296
  441. package/dist/esm/contracts/deepbook/order_info.js +0 -356
  442. package/dist/esm/contracts/deepbook/order_info.js.map +0 -7
  443. package/dist/esm/contracts/deepbook/order_query.d.ts +0 -85
  444. package/dist/esm/contracts/deepbook/order_query.js +0 -66
  445. package/dist/esm/contracts/deepbook/order_query.js.map +0 -7
  446. package/dist/esm/contracts/deepbook/pool.d.ts +0 -1218
  447. package/dist/esm/contracts/deepbook/pool.js +0 -1206
  448. package/dist/esm/contracts/deepbook/pool.js.map +0 -7
  449. package/dist/esm/contracts/deepbook/registry.d.ts +0 -134
  450. package/dist/esm/contracts/deepbook/registry.js +0 -152
  451. package/dist/esm/contracts/deepbook/registry.js.map +0 -7
  452. package/dist/esm/contracts/deepbook/state.d.ts +0 -117
  453. package/dist/esm/contracts/deepbook/state.js +0 -74
  454. package/dist/esm/contracts/deepbook/state.js.map +0 -7
  455. package/dist/esm/contracts/deepbook/trade_params.d.ts +0 -7
  456. package/dist/esm/contracts/deepbook/trade_params.js +0 -15
  457. package/dist/esm/contracts/deepbook/trade_params.js.map +0 -7
  458. package/dist/esm/contracts/deepbook/vault.d.ts +0 -30
  459. package/dist/esm/contracts/deepbook/vault.js +0 -35
  460. package/dist/esm/contracts/deepbook/vault.js.map +0 -7
  461. package/dist/esm/contracts/utils/index.d.ts +0 -25
  462. package/dist/esm/contracts/utils/index.js +0 -128
  463. package/dist/esm/contracts/utils/index.js.map +0 -7
  464. package/dist/esm/index.d.ts +0 -24
  465. package/dist/esm/index.js +0 -103
  466. package/dist/esm/index.js.map +0 -7
  467. package/dist/esm/package.json +0 -4
  468. package/dist/esm/pyth/PriceServiceConnection.d.ts +0 -26
  469. package/dist/esm/pyth/PriceServiceConnection.js +0 -38
  470. package/dist/esm/pyth/PriceServiceConnection.js.map +0 -7
  471. package/dist/esm/pyth/pyth-helpers.d.ts +0 -7
  472. package/dist/esm/pyth/pyth-helpers.js +0 -16
  473. package/dist/esm/pyth/pyth-helpers.js.map +0 -7
  474. package/dist/esm/pyth/pyth.d.ts +0 -65
  475. package/dist/esm/pyth/pyth.js +0 -249
  476. package/dist/esm/pyth/pyth.js.map +0 -7
  477. package/dist/esm/transactions/balanceManager.d.ts +0 -168
  478. package/dist/esm/transactions/balanceManager.js +0 -364
  479. package/dist/esm/transactions/balanceManager.js.map +0 -7
  480. package/dist/esm/transactions/deepbook.d.ts +0 -477
  481. package/dist/esm/transactions/deepbook.js +0 -1321
  482. package/dist/esm/transactions/deepbook.js.map +0 -7
  483. package/dist/esm/transactions/deepbookAdmin.d.ts +0 -105
  484. package/dist/esm/transactions/deepbookAdmin.js +0 -314
  485. package/dist/esm/transactions/deepbookAdmin.js.map +0 -7
  486. package/dist/esm/transactions/flashLoans.d.ts +0 -56
  487. package/dist/esm/transactions/flashLoans.js +0 -104
  488. package/dist/esm/transactions/flashLoans.js.map +0 -7
  489. package/dist/esm/transactions/governance.d.ts +0 -42
  490. package/dist/esm/transactions/governance.js +0 -115
  491. package/dist/esm/transactions/governance.js.map +0 -7
  492. package/dist/esm/transactions/marginAdmin.d.ts +0 -133
  493. package/dist/esm/transactions/marginAdmin.js +0 -376
  494. package/dist/esm/transactions/marginAdmin.js.map +0 -7
  495. package/dist/esm/transactions/marginLiquidations.d.ts +0 -61
  496. package/dist/esm/transactions/marginLiquidations.js +0 -153
  497. package/dist/esm/transactions/marginLiquidations.js.map +0 -7
  498. package/dist/esm/transactions/marginMaintainer.d.ts +0 -80
  499. package/dist/esm/transactions/marginMaintainer.js +0 -237
  500. package/dist/esm/transactions/marginMaintainer.js.map +0 -7
  501. package/dist/esm/transactions/marginManager.d.ts +0 -249
  502. package/dist/esm/transactions/marginManager.js +0 -719
  503. package/dist/esm/transactions/marginManager.js.map +0 -7
  504. package/dist/esm/transactions/marginPool.d.ts +0 -134
  505. package/dist/esm/transactions/marginPool.js +0 -310
  506. package/dist/esm/transactions/marginPool.js.map +0 -7
  507. package/dist/esm/transactions/marginRegistry.d.ts +0 -94
  508. package/dist/esm/transactions/marginRegistry.js +0 -201
  509. package/dist/esm/transactions/marginRegistry.js.map +0 -7
  510. package/dist/esm/transactions/marginTPSL.d.ts +0 -93
  511. package/dist/esm/transactions/marginTPSL.js +0 -266
  512. package/dist/esm/transactions/marginTPSL.js.map +0 -7
  513. package/dist/esm/transactions/poolProxy.d.ts +0 -104
  514. package/dist/esm/transactions/poolProxy.js +0 -415
  515. package/dist/esm/transactions/poolProxy.js.map +0 -7
  516. package/dist/esm/types/bcs.d.ts +0 -5
  517. package/dist/esm/types/bcs.js +0 -13
  518. package/dist/esm/types/bcs.js.map +0 -7
  519. package/dist/esm/types/index.d.ts +0 -247
  520. package/dist/esm/types/index.js +0 -18
  521. package/dist/esm/types/index.js.map +0 -7
  522. package/dist/esm/utils/config.d.ts +0 -65
  523. package/dist/esm/utils/config.js +0 -135
  524. package/dist/esm/utils/config.js.map +0 -7
  525. package/dist/esm/utils/constants.d.ts +0 -76
  526. package/dist/esm/utils/constants.js +0 -372
  527. package/dist/esm/utils/constants.js.map +0 -7
  528. package/dist/esm/utils/errors.d.ts +0 -42
  529. package/dist/esm/utils/errors.js +0 -50
  530. package/dist/esm/utils/errors.js.map +0 -7
  531. package/dist/esm/utils/validation.d.ts +0 -50
  532. package/dist/esm/utils/validation.js +0 -47
  533. package/dist/esm/utils/validation.js.map +0 -7
  534. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  535. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,719 +0,0 @@
1
- var __typeError = (msg) => {
2
- throw TypeError(msg);
3
- };
4
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
- var _config;
9
- import { coinWithBalance } from "@mysten/sui/transactions";
10
- class MarginManagerContract {
11
- /**
12
- * @param {DeepBookConfig} config Configuration for MarginManagerContract
13
- */
14
- constructor(config) {
15
- __privateAdd(this, _config);
16
- /**
17
- * @description Create a new margin manager
18
- * @param {string} poolKey The key to identify the pool
19
- * @returns A function that takes a Transaction object
20
- */
21
- this.newMarginManager = (poolKey) => (tx) => {
22
- const pool = __privateGet(this, _config).getPool(poolKey);
23
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
24
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
25
- tx.moveCall({
26
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::new`,
27
- arguments: [
28
- tx.object(pool.address),
29
- tx.object(__privateGet(this, _config).REGISTRY_ID),
30
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
31
- tx.object.clock()
32
- ],
33
- typeArguments: [baseCoin.type, quoteCoin.type]
34
- });
35
- };
36
- /**
37
- * @description Create a new margin manager with an initializer
38
- * @param {string} poolKey The key to identify the pool
39
- * @returns A function that takes a Transaction object
40
- */
41
- this.newMarginManagerWithInitializer = (poolKey) => (tx) => {
42
- const pool = __privateGet(this, _config).getPool(poolKey);
43
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
44
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
45
- const [manager, initializer] = tx.moveCall({
46
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::new_with_initializer`,
47
- arguments: [
48
- tx.object(pool.address),
49
- tx.object(__privateGet(this, _config).REGISTRY_ID),
50
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
51
- tx.object.clock()
52
- ],
53
- typeArguments: [baseCoin.type, quoteCoin.type]
54
- });
55
- return { manager, initializer };
56
- };
57
- /**
58
- * @description Share a margin manager
59
- * @param {string} poolKey The key to identify the pool
60
- * @param {TransactionArgument} manager The margin manager to share
61
- * @param {TransactionArgument} initializer The initializer for the manager
62
- * @returns A function that takes a Transaction object
63
- */
64
- this.shareMarginManager = (poolKey, manager, initializer) => (tx) => {
65
- const pool = __privateGet(this, _config).getPool(poolKey);
66
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
67
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
68
- tx.moveCall({
69
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::share`,
70
- arguments: [manager, initializer],
71
- typeArguments: [baseCoin.type, quoteCoin.type]
72
- });
73
- };
74
- /**
75
- * @description Deposit into a margin manager during initialization (before sharing).
76
- * Use this when you need to deposit funds into a newly created manager in the same transaction.
77
- * @param {DepositDuringInitParams} params The deposit parameters
78
- * @returns A function that takes a Transaction object
79
- */
80
- this.depositDuringInitialization = (params) => (tx) => {
81
- const { manager, poolKey, coinType } = params;
82
- const pool = __privateGet(this, _config).getPool(poolKey);
83
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
84
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
85
- const depositCoin = __privateGet(this, _config).getCoin(coinType);
86
- const coin = "amount" in params && params.amount !== void 0 ? coinWithBalance({
87
- type: depositCoin.type,
88
- balance: Math.round(params.amount * depositCoin.scalar)
89
- }) : params.coin;
90
- tx.moveCall({
91
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::deposit`,
92
- arguments: [
93
- manager,
94
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
95
- tx.object(baseCoin.priceInfoObjectId),
96
- tx.object(quoteCoin.priceInfoObjectId),
97
- coin,
98
- tx.object.clock()
99
- ],
100
- typeArguments: [baseCoin.type, quoteCoin.type, depositCoin.type]
101
- });
102
- };
103
- /**
104
- * @description Deposit base into a margin manager
105
- * @param {DepositParams} params The deposit parameters
106
- * @returns A function that takes a Transaction object
107
- */
108
- this.depositBase = (params) => (tx) => {
109
- const { managerKey } = params;
110
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
111
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
112
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
113
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
114
- const coin = "amount" in params && params.amount !== void 0 ? coinWithBalance({
115
- type: baseCoin.type,
116
- balance: Math.round(params.amount * baseCoin.scalar)
117
- }) : params.coin;
118
- tx.moveCall({
119
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::deposit`,
120
- arguments: [
121
- tx.object(manager.address),
122
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
123
- tx.object(baseCoin.priceInfoObjectId),
124
- tx.object(quoteCoin.priceInfoObjectId),
125
- coin,
126
- tx.object.clock()
127
- ],
128
- typeArguments: [baseCoin.type, quoteCoin.type, baseCoin.type]
129
- });
130
- };
131
- /**
132
- * @description Deposit quote into a margin manager
133
- * @param {DepositParams} params The deposit parameters
134
- * @returns A function that takes a Transaction object
135
- */
136
- this.depositQuote = (params) => (tx) => {
137
- const { managerKey } = params;
138
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
139
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
140
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
141
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
142
- const coin = "amount" in params && params.amount !== void 0 ? coinWithBalance({
143
- type: quoteCoin.type,
144
- balance: Math.round(params.amount * quoteCoin.scalar)
145
- }) : params.coin;
146
- tx.moveCall({
147
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::deposit`,
148
- arguments: [
149
- tx.object(manager.address),
150
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
151
- tx.object(baseCoin.priceInfoObjectId),
152
- tx.object(quoteCoin.priceInfoObjectId),
153
- coin,
154
- tx.object.clock()
155
- ],
156
- typeArguments: [baseCoin.type, quoteCoin.type, quoteCoin.type]
157
- });
158
- };
159
- /**
160
- * @description Deposit deep into a margin manager
161
- * @param {DepositParams} params The deposit parameters
162
- * @returns A function that takes a Transaction object
163
- */
164
- this.depositDeep = (params) => (tx) => {
165
- const { managerKey } = params;
166
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
167
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
168
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
169
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
170
- const deepCoin = __privateGet(this, _config).getCoin("DEEP");
171
- const coin = "amount" in params && params.amount !== void 0 ? coinWithBalance({
172
- type: deepCoin.type,
173
- balance: Math.round(params.amount * deepCoin.scalar)
174
- }) : params.coin;
175
- tx.moveCall({
176
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::deposit`,
177
- arguments: [
178
- tx.object(manager.address),
179
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
180
- tx.object(baseCoin.priceInfoObjectId),
181
- tx.object(quoteCoin.priceInfoObjectId),
182
- coin,
183
- tx.object.clock()
184
- ],
185
- typeArguments: [baseCoin.type, quoteCoin.type, deepCoin.type]
186
- });
187
- };
188
- /**
189
- * @description Withdraw base from a margin manager
190
- * @param {string} managerKey The key to identify the manager
191
- * @param {number} amount The amount to withdraw
192
- * @returns A function that takes a Transaction object
193
- */
194
- this.withdrawBase = (managerKey, amount) => (tx) => {
195
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
196
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
197
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
198
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
199
- const baseMarginPool = __privateGet(this, _config).getMarginPool(pool.baseCoin);
200
- const quoteMarginPool = __privateGet(this, _config).getMarginPool(pool.quoteCoin);
201
- return tx.moveCall({
202
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::withdraw`,
203
- arguments: [
204
- tx.object(manager.address),
205
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
206
- tx.object(baseMarginPool.address),
207
- tx.object(quoteMarginPool.address),
208
- tx.object(baseCoin.priceInfoObjectId),
209
- tx.object(quoteCoin.priceInfoObjectId),
210
- tx.object(pool.address),
211
- tx.pure.u64(Math.round(amount * baseCoin.scalar)),
212
- tx.object.clock()
213
- ],
214
- typeArguments: [baseCoin.type, quoteCoin.type, baseCoin.type]
215
- });
216
- };
217
- /**
218
- * @description Withdraw quote from a margin manager
219
- * @param {string} managerKey The key to identify the manager
220
- * @param {number} amount The amount to withdraw
221
- * @returns A function that takes a Transaction object
222
- */
223
- this.withdrawQuote = (managerKey, amount) => (tx) => {
224
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
225
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
226
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
227
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
228
- const baseMarginPool = __privateGet(this, _config).getMarginPool(pool.baseCoin);
229
- const quoteMarginPool = __privateGet(this, _config).getMarginPool(pool.quoteCoin);
230
- return tx.moveCall({
231
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::withdraw`,
232
- arguments: [
233
- tx.object(manager.address),
234
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
235
- tx.object(baseMarginPool.address),
236
- tx.object(quoteMarginPool.address),
237
- tx.object(baseCoin.priceInfoObjectId),
238
- tx.object(quoteCoin.priceInfoObjectId),
239
- tx.object(pool.address),
240
- tx.pure.u64(Math.round(amount * quoteCoin.scalar)),
241
- tx.object.clock()
242
- ],
243
- typeArguments: [baseCoin.type, quoteCoin.type, quoteCoin.type]
244
- });
245
- };
246
- /**
247
- * @description Withdraw deep from a margin manager
248
- * @param {string} managerKey The key to identify the manager
249
- * @param {number} amount The amount to withdraw
250
- * @returns A function that takes a Transaction object
251
- */
252
- this.withdrawDeep = (managerKey, amount) => (tx) => {
253
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
254
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
255
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
256
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
257
- const deepCoin = __privateGet(this, _config).getCoin("DEEP");
258
- const baseMarginPool = __privateGet(this, _config).getMarginPool(pool.baseCoin);
259
- const quoteMarginPool = __privateGet(this, _config).getMarginPool(pool.quoteCoin);
260
- return tx.moveCall({
261
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::withdraw`,
262
- arguments: [
263
- tx.object(manager.address),
264
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
265
- tx.object(baseMarginPool.address),
266
- tx.object(quoteMarginPool.address),
267
- tx.object(baseCoin.priceInfoObjectId),
268
- tx.object(quoteCoin.priceInfoObjectId),
269
- tx.object(pool.address),
270
- tx.pure.u64(Math.round(amount * deepCoin.scalar)),
271
- tx.object.clock()
272
- ],
273
- typeArguments: [baseCoin.type, quoteCoin.type, deepCoin.type]
274
- });
275
- };
276
- /**
277
- * @description Borrow base from a margin manager
278
- * @param {string} managerKey The key to identify the manager
279
- * @param {number} amount The amount to borrow
280
- * @returns A function that takes a Transaction object
281
- */
282
- this.borrowBase = (managerKey, amount) => (tx) => {
283
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
284
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
285
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
286
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
287
- const baseMarginPool = __privateGet(this, _config).getMarginPool(pool.baseCoin);
288
- return tx.moveCall({
289
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::borrow_base`,
290
- arguments: [
291
- tx.object(manager.address),
292
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
293
- tx.object(baseMarginPool.address),
294
- tx.object(baseCoin.priceInfoObjectId),
295
- tx.object(quoteCoin.priceInfoObjectId),
296
- tx.object(pool.address),
297
- tx.pure.u64(Math.round(amount * baseCoin.scalar)),
298
- tx.object.clock()
299
- ],
300
- typeArguments: [baseCoin.type, quoteCoin.type]
301
- });
302
- };
303
- /**
304
- * @description Borrow quote from a margin manager
305
- * @param {string} managerKey The key to identify the manager
306
- * @param {number} amount The amount to borrow
307
- * @returns A function that takes a Transaction object
308
- */
309
- this.borrowQuote = (managerKey, amount) => (tx) => {
310
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
311
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
312
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
313
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
314
- const quoteMarginPool = __privateGet(this, _config).getMarginPool(pool.quoteCoin);
315
- return tx.moveCall({
316
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::borrow_quote`,
317
- arguments: [
318
- tx.object(manager.address),
319
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
320
- tx.object(quoteMarginPool.address),
321
- tx.object(baseCoin.priceInfoObjectId),
322
- tx.object(quoteCoin.priceInfoObjectId),
323
- tx.object(pool.address),
324
- tx.pure.u64(Math.round(amount * quoteCoin.scalar)),
325
- tx.object.clock()
326
- ],
327
- typeArguments: [baseCoin.type, quoteCoin.type]
328
- });
329
- };
330
- /**
331
- * @description Repay base from a margin manager
332
- * @param {string} managerKey The key to identify the manager
333
- * @param {number} amount The amount to repay
334
- * @returns A function that takes a Transaction object
335
- */
336
- this.repayBase = (managerKey, amount) => (tx) => {
337
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
338
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
339
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
340
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
341
- const baseMarginPool = __privateGet(this, _config).getMarginPool(pool.baseCoin);
342
- return tx.moveCall({
343
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::repay_base`,
344
- arguments: [
345
- tx.object(manager.address),
346
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
347
- tx.object(baseMarginPool.address),
348
- tx.object.option({
349
- type: "u64",
350
- value: amount ? tx.pure.u64(Math.round(amount * baseCoin.scalar)) : null
351
- }),
352
- tx.object.clock()
353
- ],
354
- typeArguments: [baseCoin.type, quoteCoin.type]
355
- });
356
- };
357
- /**
358
- * @description Repay quote from a margin manager
359
- * @param {string} managerKey The key to identify the manager
360
- * @param {number} amount The amount to repay
361
- * @returns A function that takes a Transaction object
362
- */
363
- this.repayQuote = (managerKey, amount) => (tx) => {
364
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
365
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
366
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
367
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
368
- const quoteMarginPool = __privateGet(this, _config).getMarginPool(pool.quoteCoin);
369
- return tx.moveCall({
370
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::repay_quote`,
371
- arguments: [
372
- tx.object(manager.address),
373
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
374
- tx.object(quoteMarginPool.address),
375
- tx.object.option({
376
- type: "u64",
377
- value: amount ? tx.pure.u64(Math.round(amount * quoteCoin.scalar)) : null
378
- }),
379
- tx.object.clock()
380
- ],
381
- typeArguments: [baseCoin.type, quoteCoin.type]
382
- });
383
- };
384
- /**
385
- * @description Liquidate a margin manager
386
- * @param {string} managerAddress The address of the manager to liquidate
387
- * @param {string} poolKey The key to identify the pool
388
- * @param {boolean} debtIsBase Whether the debt is in base
389
- * @param {TransactionArgument} repayCoin The coin to repay
390
- * @returns A function that takes a Transaction object
391
- */
392
- this.liquidate = (managerAddress, poolKey, debtIsBase, repayCoin) => (tx) => {
393
- const pool = __privateGet(this, _config).getPool(poolKey);
394
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
395
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
396
- const baseMarginPool = __privateGet(this, _config).getMarginPool(pool.baseCoin);
397
- const quoteMarginPool = __privateGet(this, _config).getMarginPool(pool.quoteCoin);
398
- const marginPool = debtIsBase ? baseMarginPool : quoteMarginPool;
399
- return tx.moveCall({
400
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::liquidate`,
401
- arguments: [
402
- tx.object(managerAddress),
403
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
404
- tx.object(baseCoin.priceInfoObjectId),
405
- tx.object(quoteCoin.priceInfoObjectId),
406
- tx.object(marginPool.address),
407
- tx.object(pool.address),
408
- repayCoin,
409
- tx.object.clock()
410
- ],
411
- typeArguments: [baseCoin.type, quoteCoin.type]
412
- });
413
- };
414
- /**
415
- * @description Set the referral for a margin manager (DeepBookPoolReferral)
416
- * @param {string} managerKey The key to identify the margin manager
417
- * @param {string} referral The referral (DeepBookPoolReferral) to set
418
- * @returns A function that takes a Transaction object
419
- */
420
- this.setMarginManagerReferral = (managerKey, referral) => (tx) => {
421
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
422
- const pool = __privateGet(this, _config).getPool(manager.poolKey);
423
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
424
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
425
- tx.moveCall({
426
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::set_margin_manager_referral`,
427
- arguments: [tx.object(manager.address), tx.object(referral)],
428
- typeArguments: [baseCoin.type, quoteCoin.type]
429
- });
430
- };
431
- /**
432
- * @description Unset the referral for a margin manager
433
- * @param {string} managerKey The key to identify the margin manager
434
- * @param {string} poolKey The key of the pool to unset the referral for
435
- * @returns A function that takes a Transaction object
436
- */
437
- this.unsetMarginManagerReferral = (managerKey, poolKey) => (tx) => {
438
- const manager = __privateGet(this, _config).getMarginManager(managerKey);
439
- const pool = __privateGet(this, _config).getPool(poolKey);
440
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
441
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
442
- tx.moveCall({
443
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::unset_margin_manager_referral`,
444
- arguments: [tx.object(manager.address), tx.pure.id(pool.address)],
445
- typeArguments: [baseCoin.type, quoteCoin.type]
446
- });
447
- };
448
- // === Read-Only Functions ===
449
- /**
450
- * @description Get the owner address of a margin manager
451
- * @param {string} poolKey The key to identify the pool
452
- * @param {string} marginManagerId The ID of the margin manager
453
- * @returns A function that takes a Transaction object
454
- */
455
- this.ownerByPoolKey = (poolKey, marginManagerId) => (tx) => {
456
- const pool = __privateGet(this, _config).getPool(poolKey);
457
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
458
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
459
- return tx.moveCall({
460
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::owner`,
461
- arguments: [tx.object(marginManagerId)],
462
- typeArguments: [baseCoin.type, quoteCoin.type]
463
- });
464
- };
465
- /**
466
- * @description Get the DeepBook pool ID associated with a margin manager
467
- * @param {string} poolKey The key to identify the pool
468
- * @param {string} marginManagerId The ID of the margin manager
469
- * @returns A function that takes a Transaction object
470
- */
471
- this.deepbookPool = (poolKey, marginManagerId) => (tx) => {
472
- const pool = __privateGet(this, _config).getPool(poolKey);
473
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
474
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
475
- return tx.moveCall({
476
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::deepbook_pool`,
477
- arguments: [tx.object(marginManagerId)],
478
- typeArguments: [baseCoin.type, quoteCoin.type]
479
- });
480
- };
481
- /**
482
- * @description Get the margin pool ID (if any) associated with a margin manager
483
- * @param {string} poolKey The key to identify the pool
484
- * @param {string} marginManagerId The ID of the margin manager
485
- * @returns A function that takes a Transaction object
486
- */
487
- this.marginPoolId = (poolKey, marginManagerId) => (tx) => {
488
- const pool = __privateGet(this, _config).getPool(poolKey);
489
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
490
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
491
- return tx.moveCall({
492
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::margin_pool_id`,
493
- arguments: [tx.object(marginManagerId)],
494
- typeArguments: [baseCoin.type, quoteCoin.type]
495
- });
496
- };
497
- /**
498
- * @description Get borrowed shares for both base and quote assets
499
- * @param {string} poolKey The key to identify the pool
500
- * @param {string} marginManagerId The ID of the margin manager
501
- * @returns A function that takes a Transaction object
502
- */
503
- this.borrowedShares = (poolKey, marginManagerId) => (tx) => {
504
- const pool = __privateGet(this, _config).getPool(poolKey);
505
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
506
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
507
- return tx.moveCall({
508
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::borrowed_shares`,
509
- arguments: [tx.object(marginManagerId)],
510
- typeArguments: [baseCoin.type, quoteCoin.type]
511
- });
512
- };
513
- /**
514
- * @description Get borrowed base shares
515
- * @param {string} poolKey The key to identify the pool
516
- * @param {string} marginManagerId The ID of the margin manager
517
- * @returns A function that takes a Transaction object
518
- */
519
- this.borrowedBaseShares = (poolKey, marginManagerId) => (tx) => {
520
- const pool = __privateGet(this, _config).getPool(poolKey);
521
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
522
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
523
- return tx.moveCall({
524
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::borrowed_base_shares`,
525
- arguments: [tx.object(marginManagerId)],
526
- typeArguments: [baseCoin.type, quoteCoin.type]
527
- });
528
- };
529
- /**
530
- * @description Get borrowed quote shares
531
- * @param {string} poolKey The key to identify the pool
532
- * @param {string} marginManagerId The ID of the margin manager
533
- * @returns A function that takes a Transaction object
534
- */
535
- this.borrowedQuoteShares = (poolKey, marginManagerId) => (tx) => {
536
- const pool = __privateGet(this, _config).getPool(poolKey);
537
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
538
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
539
- return tx.moveCall({
540
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::borrowed_quote_shares`,
541
- arguments: [tx.object(marginManagerId)],
542
- typeArguments: [baseCoin.type, quoteCoin.type]
543
- });
544
- };
545
- /**
546
- * @description Check if margin manager has base asset debt
547
- * @param {string} poolKey The key to identify the pool
548
- * @param {string} marginManagerId The ID of the margin manager
549
- * @returns A function that takes a Transaction object
550
- */
551
- this.hasBaseDebt = (poolKey, marginManagerId) => (tx) => {
552
- const pool = __privateGet(this, _config).getPool(poolKey);
553
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
554
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
555
- return tx.moveCall({
556
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::has_base_debt`,
557
- arguments: [tx.object(marginManagerId)],
558
- typeArguments: [baseCoin.type, quoteCoin.type]
559
- });
560
- };
561
- /**
562
- * @description Get the balance manager ID for a margin manager
563
- * @param {string} poolKey The key to identify the pool
564
- * @param {string} marginManagerId The ID of the margin manager
565
- * @returns A function that takes a Transaction object
566
- */
567
- this.balanceManager = (poolKey, marginManagerId) => (tx) => {
568
- const pool = __privateGet(this, _config).getPool(poolKey);
569
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
570
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
571
- return tx.moveCall({
572
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::balance_manager`,
573
- arguments: [tx.object(marginManagerId)],
574
- typeArguments: [baseCoin.type, quoteCoin.type]
575
- });
576
- };
577
- /**
578
- * @description Calculate assets (base and quote) for a margin manager
579
- * @param {string} poolKey The key to identify the pool
580
- * @param {string} marginManagerId The ID of the margin manager
581
- * @returns A function that takes a Transaction object
582
- */
583
- this.calculateAssets = (poolKey, marginManagerId) => (tx) => {
584
- const pool = __privateGet(this, _config).getPool(poolKey);
585
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
586
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
587
- return tx.moveCall({
588
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::calculate_assets`,
589
- arguments: [tx.object(marginManagerId), tx.object(pool.address)],
590
- typeArguments: [baseCoin.type, quoteCoin.type]
591
- });
592
- };
593
- /**
594
- * @description Calculate debts (base and quote) for a margin manager
595
- * @param {string} poolKey The key to identify the pool
596
- * @param {string} coinKey The key to identify the debt coin (base or quote)
597
- * @param {string} marginManagerId The ID of the margin manager
598
- * @returns A function that takes a Transaction object
599
- */
600
- this.calculateDebts = (poolKey, coinKey, marginManagerId) => (tx) => {
601
- const pool = __privateGet(this, _config).getPool(poolKey);
602
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
603
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
604
- const debtCoin = __privateGet(this, _config).getCoin(coinKey);
605
- const marginPool = __privateGet(this, _config).getMarginPool(coinKey);
606
- return tx.moveCall({
607
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::calculate_debts`,
608
- arguments: [tx.object(marginManagerId), tx.object(marginPool.address), tx.object.clock()],
609
- typeArguments: [baseCoin.type, quoteCoin.type, debtCoin.type]
610
- });
611
- };
612
- /**
613
- * @description Get comprehensive state information for a margin manager
614
- * @param {string} poolKey The key to identify the pool
615
- * @param {string} marginManagerId The ID of the margin manager
616
- * @returns A function that takes a Transaction object
617
- * @returns Returns (manager_id, deepbook_pool_id, risk_ratio, base_asset, quote_asset,
618
- * base_debt, quote_debt, base_pyth_price, base_pyth_decimals,
619
- * quote_pyth_price, quote_pyth_decimals)
620
- */
621
- this.managerState = (poolKey, marginManagerId) => (tx) => {
622
- const pool = __privateGet(this, _config).getPool(poolKey);
623
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
624
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
625
- const baseMarginPool = __privateGet(this, _config).getMarginPool(pool.baseCoin);
626
- const quoteMarginPool = __privateGet(this, _config).getMarginPool(pool.quoteCoin);
627
- return tx.moveCall({
628
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::manager_state`,
629
- arguments: [
630
- tx.object(marginManagerId),
631
- tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
632
- tx.object(baseCoin.priceInfoObjectId),
633
- tx.object(quoteCoin.priceInfoObjectId),
634
- tx.object(pool.address),
635
- tx.object(baseMarginPool.address),
636
- tx.object(quoteMarginPool.address),
637
- tx.object.clock()
638
- ],
639
- typeArguments: [baseCoin.type, quoteCoin.type]
640
- });
641
- };
642
- /**
643
- * @description Get the base asset balance of a margin manager
644
- * @param {string} poolKey The key to identify the pool
645
- * @param {string} marginManagerId The ID of the margin manager
646
- * @returns A function that takes a Transaction object
647
- */
648
- this.baseBalance = (poolKey, marginManagerId) => (tx) => {
649
- const pool = __privateGet(this, _config).getPool(poolKey);
650
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
651
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
652
- return tx.moveCall({
653
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::base_balance`,
654
- arguments: [tx.object(marginManagerId)],
655
- typeArguments: [baseCoin.type, quoteCoin.type]
656
- });
657
- };
658
- /**
659
- * @description Get the quote asset balance of a margin manager
660
- * @param {string} poolKey The key to identify the pool
661
- * @param {string} marginManagerId The ID of the margin manager
662
- * @returns A function that takes a Transaction object
663
- */
664
- this.quoteBalance = (poolKey, marginManagerId) => (tx) => {
665
- const pool = __privateGet(this, _config).getPool(poolKey);
666
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
667
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
668
- return tx.moveCall({
669
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::quote_balance`,
670
- arguments: [tx.object(marginManagerId)],
671
- typeArguments: [baseCoin.type, quoteCoin.type]
672
- });
673
- };
674
- /**
675
- * @description Get the DEEP token balance of a margin manager
676
- * @param {string} poolKey The key to identify the pool
677
- * @param {string} marginManagerId The ID of the margin manager
678
- * @returns A function that takes a Transaction object
679
- */
680
- this.deepBalance = (poolKey, marginManagerId) => (tx) => {
681
- const pool = __privateGet(this, _config).getPool(poolKey);
682
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
683
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
684
- return tx.moveCall({
685
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::deep_balance`,
686
- arguments: [tx.object(marginManagerId)],
687
- typeArguments: [baseCoin.type, quoteCoin.type]
688
- });
689
- };
690
- /**
691
- * @description Get account order details for a margin manager.
692
- * This retrieves the balance manager from the margin manager and calls get_account_order_details.
693
- * @param {string} poolKey The key to identify the pool
694
- * @param {string} marginManagerId The ID of the margin manager
695
- * @returns A function that takes a Transaction object
696
- */
697
- this.getMarginAccountOrderDetails = (poolKey, marginManagerId) => (tx) => {
698
- const pool = __privateGet(this, _config).getPool(poolKey);
699
- const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
700
- const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
701
- const balanceManager = tx.moveCall({
702
- target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::balance_manager`,
703
- arguments: [tx.object(marginManagerId)],
704
- typeArguments: [baseCoin.type, quoteCoin.type]
705
- });
706
- return tx.moveCall({
707
- target: `${__privateGet(this, _config).DEEPBOOK_PACKAGE_ID}::pool::get_account_order_details`,
708
- arguments: [tx.object(pool.address), balanceManager],
709
- typeArguments: [baseCoin.type, quoteCoin.type]
710
- });
711
- };
712
- __privateSet(this, _config, config);
713
- }
714
- }
715
- _config = new WeakMap();
716
- export {
717
- MarginManagerContract
718
- };
719
- //# sourceMappingURL=marginManager.js.map