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