@haneullabs/deepbook-v3 0.1.0 → 1.0.11

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