@haneullabs/deepbook-v3 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/CHANGELOG.md +984 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/client.d.ts +861 -0
  4. package/dist/cjs/client.js +1982 -0
  5. package/dist/cjs/client.js.map +7 -0
  6. package/dist/cjs/contracts/deepbook/account.d.ts +105 -0
  7. package/dist/cjs/contracts/deepbook/account.js +163 -0
  8. package/dist/cjs/contracts/deepbook/account.js.map +7 -0
  9. package/dist/cjs/contracts/deepbook/balance_manager.d.ts +268 -0
  10. package/dist/cjs/contracts/deepbook/balance_manager.js +361 -0
  11. package/dist/cjs/contracts/deepbook/balance_manager.js.map +7 -0
  12. package/dist/cjs/contracts/deepbook/balances.d.ts +10 -0
  13. package/dist/cjs/contracts/deepbook/balances.js +35 -0
  14. package/dist/cjs/contracts/deepbook/balances.js.map +7 -0
  15. package/dist/cjs/contracts/deepbook/big_vector.d.ts +62 -0
  16. package/dist/cjs/contracts/deepbook/big_vector.js +80 -0
  17. package/dist/cjs/contracts/deepbook/big_vector.js.map +7 -0
  18. package/dist/cjs/contracts/deepbook/book.d.ts +34 -0
  19. package/dist/cjs/contracts/deepbook/book.js +50 -0
  20. package/dist/cjs/contracts/deepbook/book.js.map +7 -0
  21. package/dist/cjs/contracts/deepbook/constants.d.ts +176 -0
  22. package/dist/cjs/contracts/deepbook/constants.js +338 -0
  23. package/dist/cjs/contracts/deepbook/constants.js.map +7 -0
  24. package/dist/cjs/contracts/deepbook/deep_price.d.ts +60 -0
  25. package/dist/cjs/contracts/deepbook/deep_price.js +87 -0
  26. package/dist/cjs/contracts/deepbook/deep_price.js.map +7 -0
  27. package/dist/cjs/contracts/deepbook/deps/std/type_name.d.ts +14 -0
  28. package/dist/cjs/contracts/deepbook/deps/std/type_name.js +42 -0
  29. package/dist/cjs/contracts/deepbook/deps/std/type_name.js.map +7 -0
  30. package/dist/cjs/contracts/deepbook/deps/sui/bag.d.ts +33 -0
  31. package/dist/cjs/contracts/deepbook/deps/sui/bag.js +47 -0
  32. package/dist/cjs/contracts/deepbook/deps/sui/bag.js.map +7 -0
  33. package/dist/cjs/contracts/deepbook/deps/sui/balance.d.ts +9 -0
  34. package/dist/cjs/contracts/deepbook/deps/sui/balance.js +33 -0
  35. package/dist/cjs/contracts/deepbook/deps/sui/balance.js.map +7 -0
  36. package/dist/cjs/contracts/deepbook/deps/sui/object.d.ts +5 -0
  37. package/dist/cjs/contracts/deepbook/deps/sui/object.js +33 -0
  38. package/dist/cjs/contracts/deepbook/deps/sui/object.js.map +7 -0
  39. package/dist/cjs/contracts/deepbook/deps/sui/table.d.ts +28 -0
  40. package/dist/cjs/contracts/deepbook/deps/sui/table.js +47 -0
  41. package/dist/cjs/contracts/deepbook/deps/sui/table.js.map +7 -0
  42. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.d.ts +27 -0
  43. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js +45 -0
  44. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js.map +7 -0
  45. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.d.ts +15 -0
  46. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js +35 -0
  47. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js.map +7 -0
  48. package/dist/cjs/contracts/deepbook/deps/sui/versioned.d.ts +7 -0
  49. package/dist/cjs/contracts/deepbook/deps/sui/versioned.js +45 -0
  50. package/dist/cjs/contracts/deepbook/deps/sui/versioned.js.map +7 -0
  51. package/dist/cjs/contracts/deepbook/ewma.d.ts +17 -0
  52. package/dist/cjs/contracts/deepbook/ewma.js +39 -0
  53. package/dist/cjs/contracts/deepbook/ewma.js.map +7 -0
  54. package/dist/cjs/contracts/deepbook/fill.d.ts +153 -0
  55. package/dist/cjs/contracts/deepbook/fill.js +251 -0
  56. package/dist/cjs/contracts/deepbook/fill.js.map +7 -0
  57. package/dist/cjs/contracts/deepbook/governance.d.ts +63 -0
  58. package/dist/cjs/contracts/deepbook/governance.js +79 -0
  59. package/dist/cjs/contracts/deepbook/governance.js.map +7 -0
  60. package/dist/cjs/contracts/deepbook/history.d.ts +60 -0
  61. package/dist/cjs/contracts/deepbook/history.js +78 -0
  62. package/dist/cjs/contracts/deepbook/history.js.map +7 -0
  63. package/dist/cjs/contracts/deepbook/math.d.ts +94 -0
  64. package/dist/cjs/contracts/deepbook/math.js +132 -0
  65. package/dist/cjs/contracts/deepbook/math.js.map +7 -0
  66. package/dist/cjs/contracts/deepbook/order.d.ts +135 -0
  67. package/dist/cjs/contracts/deepbook/order.js +218 -0
  68. package/dist/cjs/contracts/deepbook/order.js.map +7 -0
  69. package/dist/cjs/contracts/deepbook/order_info.d.ts +296 -0
  70. package/dist/cjs/contracts/deepbook/order_info.js +386 -0
  71. package/dist/cjs/contracts/deepbook/order_info.js.map +7 -0
  72. package/dist/cjs/contracts/deepbook/order_query.d.ts +85 -0
  73. package/dist/cjs/contracts/deepbook/order_query.js +96 -0
  74. package/dist/cjs/contracts/deepbook/order_query.js.map +7 -0
  75. package/dist/cjs/contracts/deepbook/pool.d.ts +1218 -0
  76. package/dist/cjs/contracts/deepbook/pool.js +1236 -0
  77. package/dist/cjs/contracts/deepbook/pool.js.map +7 -0
  78. package/dist/cjs/contracts/deepbook/registry.d.ts +134 -0
  79. package/dist/cjs/contracts/deepbook/registry.js +182 -0
  80. package/dist/cjs/contracts/deepbook/registry.js.map +7 -0
  81. package/dist/cjs/contracts/deepbook/state.d.ts +117 -0
  82. package/dist/cjs/contracts/deepbook/state.js +104 -0
  83. package/dist/cjs/contracts/deepbook/state.js.map +7 -0
  84. package/dist/cjs/contracts/deepbook/trade_params.d.ts +7 -0
  85. package/dist/cjs/contracts/deepbook/trade_params.js +35 -0
  86. package/dist/cjs/contracts/deepbook/trade_params.js.map +7 -0
  87. package/dist/cjs/contracts/deepbook/vault.d.ts +30 -0
  88. package/dist/cjs/contracts/deepbook/vault.js +65 -0
  89. package/dist/cjs/contracts/deepbook/vault.js.map +7 -0
  90. package/dist/cjs/contracts/utils/index.d.ts +25 -0
  91. package/dist/cjs/contracts/utils/index.js +148 -0
  92. package/dist/cjs/contracts/utils/index.js.map +7 -0
  93. package/dist/cjs/index.d.ts +23 -0
  94. package/dist/cjs/index.js +81 -0
  95. package/dist/cjs/index.js.map +7 -0
  96. package/dist/cjs/package.json +4 -0
  97. package/dist/cjs/pyth/PriceServiceConnection.d.ts +26 -0
  98. package/dist/cjs/pyth/PriceServiceConnection.js +68 -0
  99. package/dist/cjs/pyth/PriceServiceConnection.js.map +7 -0
  100. package/dist/cjs/pyth/pyth-helpers.d.ts +7 -0
  101. package/dist/cjs/pyth/pyth-helpers.js +36 -0
  102. package/dist/cjs/pyth/pyth-helpers.js.map +7 -0
  103. package/dist/cjs/pyth/pyth.d.ts +65 -0
  104. package/dist/cjs/pyth/pyth.js +269 -0
  105. package/dist/cjs/pyth/pyth.js.map +7 -0
  106. package/dist/cjs/transactions/balanceManager.d.ts +168 -0
  107. package/dist/cjs/transactions/balanceManager.js +384 -0
  108. package/dist/cjs/transactions/balanceManager.js.map +7 -0
  109. package/dist/cjs/transactions/deepbook.d.ts +477 -0
  110. package/dist/cjs/transactions/deepbook.js +1335 -0
  111. package/dist/cjs/transactions/deepbook.js.map +7 -0
  112. package/dist/cjs/transactions/deepbookAdmin.d.ts +105 -0
  113. package/dist/cjs/transactions/deepbookAdmin.js +334 -0
  114. package/dist/cjs/transactions/deepbookAdmin.js.map +7 -0
  115. package/dist/cjs/transactions/flashLoans.d.ts +56 -0
  116. package/dist/cjs/transactions/flashLoans.js +124 -0
  117. package/dist/cjs/transactions/flashLoans.js.map +7 -0
  118. package/dist/cjs/transactions/governance.d.ts +42 -0
  119. package/dist/cjs/transactions/governance.js +135 -0
  120. package/dist/cjs/transactions/governance.js.map +7 -0
  121. package/dist/cjs/transactions/marginAdmin.d.ts +133 -0
  122. package/dist/cjs/transactions/marginAdmin.js +393 -0
  123. package/dist/cjs/transactions/marginAdmin.js.map +7 -0
  124. package/dist/cjs/transactions/marginLiquidations.d.ts +61 -0
  125. package/dist/cjs/transactions/marginLiquidations.js +173 -0
  126. package/dist/cjs/transactions/marginLiquidations.js.map +7 -0
  127. package/dist/cjs/transactions/marginMaintainer.d.ts +80 -0
  128. package/dist/cjs/transactions/marginMaintainer.js +251 -0
  129. package/dist/cjs/transactions/marginMaintainer.js.map +7 -0
  130. package/dist/cjs/transactions/marginManager.d.ts +236 -0
  131. package/dist/cjs/transactions/marginManager.js +688 -0
  132. package/dist/cjs/transactions/marginManager.js.map +7 -0
  133. package/dist/cjs/transactions/marginPool.d.ts +134 -0
  134. package/dist/cjs/transactions/marginPool.js +330 -0
  135. package/dist/cjs/transactions/marginPool.js.map +7 -0
  136. package/dist/cjs/transactions/marginRegistry.d.ts +94 -0
  137. package/dist/cjs/transactions/marginRegistry.js +221 -0
  138. package/dist/cjs/transactions/marginRegistry.js.map +7 -0
  139. package/dist/cjs/transactions/marginTPSL.d.ts +93 -0
  140. package/dist/cjs/transactions/marginTPSL.js +286 -0
  141. package/dist/cjs/transactions/marginTPSL.js.map +7 -0
  142. package/dist/cjs/transactions/poolProxy.d.ts +104 -0
  143. package/dist/cjs/transactions/poolProxy.js +435 -0
  144. package/dist/cjs/transactions/poolProxy.js.map +7 -0
  145. package/dist/cjs/types/bcs.d.ts +5 -0
  146. package/dist/cjs/types/bcs.js +33 -0
  147. package/dist/cjs/types/bcs.js.map +7 -0
  148. package/dist/cjs/types/index.d.ts +218 -0
  149. package/dist/cjs/types/index.js +38 -0
  150. package/dist/cjs/types/index.js.map +7 -0
  151. package/dist/cjs/utils/config.d.ts +65 -0
  152. package/dist/cjs/utils/config.js +144 -0
  153. package/dist/cjs/utils/config.js.map +7 -0
  154. package/dist/cjs/utils/constants.d.ts +76 -0
  155. package/dist/cjs/utils/constants.js +382 -0
  156. package/dist/cjs/utils/constants.js.map +7 -0
  157. package/dist/cjs/utils/errors.d.ts +42 -0
  158. package/dist/cjs/utils/errors.js +70 -0
  159. package/dist/cjs/utils/errors.js.map +7 -0
  160. package/dist/cjs/utils/validation.d.ts +50 -0
  161. package/dist/cjs/utils/validation.js +67 -0
  162. package/dist/cjs/utils/validation.js.map +7 -0
  163. package/dist/esm/client.d.ts +861 -0
  164. package/dist/esm/client.js +1967 -0
  165. package/dist/esm/client.js.map +7 -0
  166. package/dist/esm/contracts/deepbook/account.d.ts +105 -0
  167. package/dist/esm/contracts/deepbook/account.js +133 -0
  168. package/dist/esm/contracts/deepbook/account.js.map +7 -0
  169. package/dist/esm/contracts/deepbook/balance_manager.d.ts +268 -0
  170. package/dist/esm/contracts/deepbook/balance_manager.js +331 -0
  171. package/dist/esm/contracts/deepbook/balance_manager.js.map +7 -0
  172. package/dist/esm/contracts/deepbook/balances.d.ts +10 -0
  173. package/dist/esm/contracts/deepbook/balances.js +15 -0
  174. package/dist/esm/contracts/deepbook/balances.js.map +7 -0
  175. package/dist/esm/contracts/deepbook/big_vector.d.ts +62 -0
  176. package/dist/esm/contracts/deepbook/big_vector.js +50 -0
  177. package/dist/esm/contracts/deepbook/big_vector.js.map +7 -0
  178. package/dist/esm/contracts/deepbook/book.d.ts +34 -0
  179. package/dist/esm/contracts/deepbook/book.js +20 -0
  180. package/dist/esm/contracts/deepbook/book.js.map +7 -0
  181. package/dist/esm/contracts/deepbook/constants.d.ts +176 -0
  182. package/dist/esm/contracts/deepbook/constants.js +318 -0
  183. package/dist/esm/contracts/deepbook/constants.js.map +7 -0
  184. package/dist/esm/contracts/deepbook/deep_price.d.ts +60 -0
  185. package/dist/esm/contracts/deepbook/deep_price.js +67 -0
  186. package/dist/esm/contracts/deepbook/deep_price.js.map +7 -0
  187. package/dist/esm/contracts/deepbook/deps/std/type_name.d.ts +14 -0
  188. package/dist/esm/contracts/deepbook/deps/std/type_name.js +22 -0
  189. package/dist/esm/contracts/deepbook/deps/std/type_name.js.map +7 -0
  190. package/dist/esm/contracts/deepbook/deps/sui/bag.d.ts +33 -0
  191. package/dist/esm/contracts/deepbook/deps/sui/bag.js +17 -0
  192. package/dist/esm/contracts/deepbook/deps/sui/bag.js.map +7 -0
  193. package/dist/esm/contracts/deepbook/deps/sui/balance.d.ts +9 -0
  194. package/dist/esm/contracts/deepbook/deps/sui/balance.js +13 -0
  195. package/dist/esm/contracts/deepbook/deps/sui/balance.js.map +7 -0
  196. package/dist/esm/contracts/deepbook/deps/sui/object.d.ts +5 -0
  197. package/dist/esm/contracts/deepbook/deps/sui/object.js +13 -0
  198. package/dist/esm/contracts/deepbook/deps/sui/object.js.map +7 -0
  199. package/dist/esm/contracts/deepbook/deps/sui/table.d.ts +28 -0
  200. package/dist/esm/contracts/deepbook/deps/sui/table.js +17 -0
  201. package/dist/esm/contracts/deepbook/deps/sui/table.js.map +7 -0
  202. package/dist/esm/contracts/deepbook/deps/sui/vec_map.d.ts +27 -0
  203. package/dist/esm/contracts/deepbook/deps/sui/vec_map.js +25 -0
  204. package/dist/esm/contracts/deepbook/deps/sui/vec_map.js.map +7 -0
  205. package/dist/esm/contracts/deepbook/deps/sui/vec_set.d.ts +15 -0
  206. package/dist/esm/contracts/deepbook/deps/sui/vec_set.js +15 -0
  207. package/dist/esm/contracts/deepbook/deps/sui/vec_set.js.map +7 -0
  208. package/dist/esm/contracts/deepbook/deps/sui/versioned.d.ts +7 -0
  209. package/dist/esm/contracts/deepbook/deps/sui/versioned.js +15 -0
  210. package/dist/esm/contracts/deepbook/deps/sui/versioned.js.map +7 -0
  211. package/dist/esm/contracts/deepbook/ewma.d.ts +17 -0
  212. package/dist/esm/contracts/deepbook/ewma.js +19 -0
  213. package/dist/esm/contracts/deepbook/ewma.js.map +7 -0
  214. package/dist/esm/contracts/deepbook/fill.d.ts +153 -0
  215. package/dist/esm/contracts/deepbook/fill.js +221 -0
  216. package/dist/esm/contracts/deepbook/fill.js.map +7 -0
  217. package/dist/esm/contracts/deepbook/governance.d.ts +63 -0
  218. package/dist/esm/contracts/deepbook/governance.js +49 -0
  219. package/dist/esm/contracts/deepbook/governance.js.map +7 -0
  220. package/dist/esm/contracts/deepbook/history.d.ts +60 -0
  221. package/dist/esm/contracts/deepbook/history.js +48 -0
  222. package/dist/esm/contracts/deepbook/history.js.map +7 -0
  223. package/dist/esm/contracts/deepbook/math.d.ts +94 -0
  224. package/dist/esm/contracts/deepbook/math.js +112 -0
  225. package/dist/esm/contracts/deepbook/math.js.map +7 -0
  226. package/dist/esm/contracts/deepbook/order.d.ts +135 -0
  227. package/dist/esm/contracts/deepbook/order.js +188 -0
  228. package/dist/esm/contracts/deepbook/order.js.map +7 -0
  229. package/dist/esm/contracts/deepbook/order_info.d.ts +296 -0
  230. package/dist/esm/contracts/deepbook/order_info.js +356 -0
  231. package/dist/esm/contracts/deepbook/order_info.js.map +7 -0
  232. package/dist/esm/contracts/deepbook/order_query.d.ts +85 -0
  233. package/dist/esm/contracts/deepbook/order_query.js +66 -0
  234. package/dist/esm/contracts/deepbook/order_query.js.map +7 -0
  235. package/dist/esm/contracts/deepbook/pool.d.ts +1218 -0
  236. package/dist/esm/contracts/deepbook/pool.js +1206 -0
  237. package/dist/esm/contracts/deepbook/pool.js.map +7 -0
  238. package/dist/esm/contracts/deepbook/registry.d.ts +134 -0
  239. package/dist/esm/contracts/deepbook/registry.js +152 -0
  240. package/dist/esm/contracts/deepbook/registry.js.map +7 -0
  241. package/dist/esm/contracts/deepbook/state.d.ts +117 -0
  242. package/dist/esm/contracts/deepbook/state.js +74 -0
  243. package/dist/esm/contracts/deepbook/state.js.map +7 -0
  244. package/dist/esm/contracts/deepbook/trade_params.d.ts +7 -0
  245. package/dist/esm/contracts/deepbook/trade_params.js +15 -0
  246. package/dist/esm/contracts/deepbook/trade_params.js.map +7 -0
  247. package/dist/esm/contracts/deepbook/vault.d.ts +30 -0
  248. package/dist/esm/contracts/deepbook/vault.js +35 -0
  249. package/dist/esm/contracts/deepbook/vault.js.map +7 -0
  250. package/dist/esm/contracts/utils/index.d.ts +25 -0
  251. package/dist/esm/contracts/utils/index.js +128 -0
  252. package/dist/esm/contracts/utils/index.js.map +7 -0
  253. package/dist/esm/index.d.ts +23 -0
  254. package/dist/esm/index.js +81 -0
  255. package/dist/esm/index.js.map +7 -0
  256. package/dist/esm/package.json +4 -0
  257. package/dist/esm/pyth/PriceServiceConnection.d.ts +26 -0
  258. package/dist/esm/pyth/PriceServiceConnection.js +38 -0
  259. package/dist/esm/pyth/PriceServiceConnection.js.map +7 -0
  260. package/dist/esm/pyth/pyth-helpers.d.ts +7 -0
  261. package/dist/esm/pyth/pyth-helpers.js +16 -0
  262. package/dist/esm/pyth/pyth-helpers.js.map +7 -0
  263. package/dist/esm/pyth/pyth.d.ts +65 -0
  264. package/dist/esm/pyth/pyth.js +249 -0
  265. package/dist/esm/pyth/pyth.js.map +7 -0
  266. package/dist/esm/transactions/balanceManager.d.ts +168 -0
  267. package/dist/esm/transactions/balanceManager.js +364 -0
  268. package/dist/esm/transactions/balanceManager.js.map +7 -0
  269. package/dist/esm/transactions/deepbook.d.ts +477 -0
  270. package/dist/esm/transactions/deepbook.js +1321 -0
  271. package/dist/esm/transactions/deepbook.js.map +7 -0
  272. package/dist/esm/transactions/deepbookAdmin.d.ts +105 -0
  273. package/dist/esm/transactions/deepbookAdmin.js +314 -0
  274. package/dist/esm/transactions/deepbookAdmin.js.map +7 -0
  275. package/dist/esm/transactions/flashLoans.d.ts +56 -0
  276. package/dist/esm/transactions/flashLoans.js +104 -0
  277. package/dist/esm/transactions/flashLoans.js.map +7 -0
  278. package/dist/esm/transactions/governance.d.ts +42 -0
  279. package/dist/esm/transactions/governance.js +115 -0
  280. package/dist/esm/transactions/governance.js.map +7 -0
  281. package/dist/esm/transactions/marginAdmin.d.ts +133 -0
  282. package/dist/esm/transactions/marginAdmin.js +373 -0
  283. package/dist/esm/transactions/marginAdmin.js.map +7 -0
  284. package/dist/esm/transactions/marginLiquidations.d.ts +61 -0
  285. package/dist/esm/transactions/marginLiquidations.js +153 -0
  286. package/dist/esm/transactions/marginLiquidations.js.map +7 -0
  287. package/dist/esm/transactions/marginMaintainer.d.ts +80 -0
  288. package/dist/esm/transactions/marginMaintainer.js +231 -0
  289. package/dist/esm/transactions/marginMaintainer.js.map +7 -0
  290. package/dist/esm/transactions/marginManager.d.ts +236 -0
  291. package/dist/esm/transactions/marginManager.js +668 -0
  292. package/dist/esm/transactions/marginManager.js.map +7 -0
  293. package/dist/esm/transactions/marginPool.d.ts +134 -0
  294. package/dist/esm/transactions/marginPool.js +310 -0
  295. package/dist/esm/transactions/marginPool.js.map +7 -0
  296. package/dist/esm/transactions/marginRegistry.d.ts +94 -0
  297. package/dist/esm/transactions/marginRegistry.js +201 -0
  298. package/dist/esm/transactions/marginRegistry.js.map +7 -0
  299. package/dist/esm/transactions/marginTPSL.d.ts +93 -0
  300. package/dist/esm/transactions/marginTPSL.js +266 -0
  301. package/dist/esm/transactions/marginTPSL.js.map +7 -0
  302. package/dist/esm/transactions/poolProxy.d.ts +104 -0
  303. package/dist/esm/transactions/poolProxy.js +415 -0
  304. package/dist/esm/transactions/poolProxy.js.map +7 -0
  305. package/dist/esm/types/bcs.d.ts +5 -0
  306. package/dist/esm/types/bcs.js +13 -0
  307. package/dist/esm/types/bcs.js.map +7 -0
  308. package/dist/esm/types/index.d.ts +218 -0
  309. package/dist/esm/types/index.js +18 -0
  310. package/dist/esm/types/index.js.map +7 -0
  311. package/dist/esm/utils/config.d.ts +65 -0
  312. package/dist/esm/utils/config.js +135 -0
  313. package/dist/esm/utils/config.js.map +7 -0
  314. package/dist/esm/utils/constants.d.ts +76 -0
  315. package/dist/esm/utils/constants.js +362 -0
  316. package/dist/esm/utils/constants.js.map +7 -0
  317. package/dist/esm/utils/errors.d.ts +42 -0
  318. package/dist/esm/utils/errors.js +50 -0
  319. package/dist/esm/utils/errors.js.map +7 -0
  320. package/dist/esm/utils/validation.d.ts +50 -0
  321. package/dist/esm/utils/validation.js +47 -0
  322. package/dist/esm/utils/validation.js.map +7 -0
  323. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  324. package/dist/tsconfig.tsbuildinfo +1 -0
  325. package/package.json +63 -0
  326. package/src/client.ts +2451 -0
  327. package/src/contracts/deepbook/account.ts +199 -0
  328. package/src/contracts/deepbook/balance_manager.ts +532 -0
  329. package/src/contracts/deepbook/balances.ts +19 -0
  330. package/src/contracts/deepbook/big_vector.ts +74 -0
  331. package/src/contracts/deepbook/book.ts +24 -0
  332. package/src/contracts/deepbook/constants.ts +458 -0
  333. package/src/contracts/deepbook/deep_price.ts +84 -0
  334. package/src/contracts/deepbook/deps/std/type_name.ts +23 -0
  335. package/src/contracts/deepbook/deps/sui/bag.ts +41 -0
  336. package/src/contracts/deepbook/deps/sui/balance.ts +18 -0
  337. package/src/contracts/deepbook/deps/sui/object.ts +14 -0
  338. package/src/contracts/deepbook/deps/sui/table.ts +36 -0
  339. package/src/contracts/deepbook/deps/sui/vec_map.ts +33 -0
  340. package/src/contracts/deepbook/deps/sui/vec_set.ts +22 -0
  341. package/src/contracts/deepbook/deps/sui/versioned.ts +13 -0
  342. package/src/contracts/deepbook/ewma.ts +26 -0
  343. package/src/contracts/deepbook/fill.ts +336 -0
  344. package/src/contracts/deepbook/governance.ts +52 -0
  345. package/src/contracts/deepbook/history.ts +51 -0
  346. package/src/contracts/deepbook/math.ts +210 -0
  347. package/src/contracts/deepbook/order.ts +269 -0
  348. package/src/contracts/deepbook/order_info.ts +513 -0
  349. package/src/contracts/deepbook/order_query.ts +115 -0
  350. package/src/contracts/deepbook/pool.ts +2269 -0
  351. package/src/contracts/deepbook/registry.ts +242 -0
  352. package/src/contracts/deepbook/state.ts +74 -0
  353. package/src/contracts/deepbook/trade_params.ts +16 -0
  354. package/src/contracts/deepbook/vault.ts +37 -0
  355. package/src/contracts/utils/index.ts +184 -0
  356. package/src/index.ts +95 -0
  357. package/src/pyth/PriceServiceConnection.ts +48 -0
  358. package/src/pyth/pyth-helpers.ts +23 -0
  359. package/src/pyth/pyth.ts +305 -0
  360. package/src/transactions/balanceManager.ts +399 -0
  361. package/src/transactions/deepbook.ts +1519 -0
  362. package/src/transactions/deepbookAdmin.ts +332 -0
  363. package/src/transactions/flashLoans.ts +123 -0
  364. package/src/transactions/governance.ts +123 -0
  365. package/src/transactions/marginAdmin.ts +396 -0
  366. package/src/transactions/marginLiquidations.ts +175 -0
  367. package/src/transactions/marginMaintainer.ts +280 -0
  368. package/src/transactions/marginManager.ts +708 -0
  369. package/src/transactions/marginPool.ts +339 -0
  370. package/src/transactions/marginRegistry.ts +212 -0
  371. package/src/transactions/marginTPSL.ts +296 -0
  372. package/src/transactions/poolProxy.ts +438 -0
  373. package/src/types/bcs.ts +8 -0
  374. package/src/types/index.ts +255 -0
  375. package/src/utils/config.ts +177 -0
  376. package/src/utils/constants.ts +374 -0
  377. package/src/utils/errors.ts +67 -0
  378. package/src/utils/validation.ts +91 -0
@@ -0,0 +1,339 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { coinWithBalance } from '@haneullabs/haneul/transactions';
4
+ import type { Transaction, TransactionObjectArgument } from '@haneullabs/haneul/transactions';
5
+
6
+ import type { DeepBookConfig } from '../utils/config.js';
7
+
8
+ /**
9
+ * MarginPoolContract class for managing MarginPool operations.
10
+ */
11
+ export class MarginPoolContract {
12
+ #config: DeepBookConfig;
13
+
14
+ /**
15
+ * @param {DeepBookConfig} config Configuration for MarginPoolContract
16
+ */
17
+ constructor(config: DeepBookConfig) {
18
+ this.#config = config;
19
+ }
20
+
21
+ /**
22
+ * @description Mint a supplier cap for margin pool
23
+ * @returns A function that takes a Transaction object
24
+ */
25
+ mintSupplierCap = () => (tx: Transaction) => {
26
+ return tx.moveCall({
27
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::mint_supplier_cap`,
28
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.object.clock()],
29
+ });
30
+ };
31
+
32
+ /**
33
+ * @description Supply to a margin pool
34
+ * @param {string} coinKey The key to identify the pool
35
+ * @param {TransactionObjectArgument} supplierCap The supplier cap object
36
+ * @param {number} amountToDeposit The amount to deposit
37
+ * @param {string} referralId The ID of the referral
38
+ * @returns A function that takes a Transaction object
39
+ */
40
+ supplyToMarginPool =
41
+ (
42
+ coinKey: string,
43
+ supplierCap: TransactionObjectArgument,
44
+ amountToDeposit: number,
45
+ referralId?: string,
46
+ ) =>
47
+ (tx: Transaction) => {
48
+ tx.setSenderIfNotSet(this.#config.address);
49
+ const marginPool = this.#config.getMarginPool(coinKey);
50
+ const coin = this.#config.getCoin(coinKey);
51
+ const depositInput = Math.round(amountToDeposit * coin.scalar);
52
+ const supply = coinWithBalance({
53
+ type: coin.type,
54
+ balance: depositInput,
55
+ });
56
+
57
+ tx.moveCall({
58
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::supply`,
59
+ arguments: [
60
+ tx.object(marginPool.address),
61
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
62
+ supplierCap,
63
+ supply,
64
+ tx.object.option({
65
+ type: '0x2::object::ID',
66
+ value: referralId ? tx.pure.id(referralId) : null,
67
+ }),
68
+ tx.object.clock(),
69
+ ],
70
+ typeArguments: [marginPool.type],
71
+ });
72
+ };
73
+
74
+ /**
75
+ * @description Withdraw from a margin pool
76
+ * @param {string} coinKey The key to identify the pool
77
+ * @param {TransactionObjectArgument} supplierCap The supplier cap object
78
+ * @param {number} amountToWithdraw The amount to withdraw
79
+ * @returns A function that takes a Transaction object
80
+ */
81
+ withdrawFromMarginPool =
82
+ (coinKey: string, supplierCap: TransactionObjectArgument, amountToWithdraw?: number) =>
83
+ (tx: Transaction) => {
84
+ const marginPool = this.#config.getMarginPool(coinKey);
85
+ const coin = this.#config.getCoin(coinKey);
86
+ const withdrawInput = amountToWithdraw
87
+ ? tx.pure.u64(Math.round(amountToWithdraw * coin.scalar))
88
+ : null;
89
+ return tx.moveCall({
90
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::withdraw`,
91
+ arguments: [
92
+ tx.object(marginPool.address),
93
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
94
+ supplierCap,
95
+ tx.object.option({ type: 'u64', value: withdrawInput }),
96
+ tx.object.clock(),
97
+ ],
98
+ typeArguments: [marginPool.type],
99
+ });
100
+ };
101
+
102
+ /**
103
+ * @description Mint a referral for a margin pool
104
+ * @param {string} coinKey The key to identify the pool
105
+ * @returns A function that takes a Transaction object
106
+ */
107
+ mintSupplyReferral = (coinKey: string) => (tx: Transaction) => {
108
+ const marginPool = this.#config.getMarginPool(coinKey);
109
+ tx.moveCall({
110
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::mint_supply_referral`,
111
+ arguments: [
112
+ tx.object(marginPool.address),
113
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
114
+ tx.object.clock(),
115
+ ],
116
+ typeArguments: [marginPool.type],
117
+ });
118
+ };
119
+
120
+ /**
121
+ * @description Withdraw referral fees from a margin pool
122
+ * @param {string} coinKey The key to identify the pool
123
+ * @param {string} referralId The ID of the referral
124
+ * @returns A function that takes a Transaction object
125
+ */
126
+ withdrawReferralFees = (coinKey: string, referralId: string) => (tx: Transaction) => {
127
+ const marginPool = this.#config.getMarginPool(coinKey);
128
+ return tx.moveCall({
129
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::withdraw_referral_fees`,
130
+ arguments: [
131
+ tx.object(marginPool.address),
132
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
133
+ tx.object(referralId),
134
+ ],
135
+ typeArguments: [marginPool.type],
136
+ });
137
+ };
138
+
139
+ // === Read-only/View Functions ===
140
+
141
+ /**
142
+ * @description Get the margin pool ID
143
+ * @param {string} coinKey The key to identify the pool
144
+ * @returns A function that takes a Transaction object
145
+ */
146
+ getId = (coinKey: string) => (tx: Transaction) => {
147
+ const marginPool = this.#config.getMarginPool(coinKey);
148
+ return tx.moveCall({
149
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::id`,
150
+ arguments: [tx.object(marginPool.address)],
151
+ typeArguments: [marginPool.type],
152
+ });
153
+ };
154
+
155
+ /**
156
+ * @description Check if a deepbook pool is allowed for borrowing
157
+ * @param {string} coinKey The key to identify the margin pool
158
+ * @param {string} deepbookPoolId The ID of the deepbook pool
159
+ * @returns A function that takes a Transaction object
160
+ */
161
+ deepbookPoolAllowed = (coinKey: string, deepbookPoolId: string) => (tx: Transaction) => {
162
+ const marginPool = this.#config.getMarginPool(coinKey);
163
+ return tx.moveCall({
164
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::deepbook_pool_allowed`,
165
+ arguments: [tx.object(marginPool.address), tx.pure.id(deepbookPoolId)],
166
+ typeArguments: [marginPool.type],
167
+ });
168
+ };
169
+
170
+ /**
171
+ * @description Get the total supply amount
172
+ * @param {string} coinKey The key to identify the pool
173
+ * @returns A function that takes a Transaction object
174
+ */
175
+ totalSupply = (coinKey: string) => (tx: Transaction) => {
176
+ const marginPool = this.#config.getMarginPool(coinKey);
177
+ return tx.moveCall({
178
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::total_supply`,
179
+ arguments: [tx.object(marginPool.address)],
180
+ typeArguments: [marginPool.type],
181
+ });
182
+ };
183
+
184
+ /**
185
+ * @description Get the total supply shares
186
+ * @param {string} coinKey The key to identify the pool
187
+ * @returns A function that takes a Transaction object
188
+ */
189
+ supplyShares = (coinKey: string) => (tx: Transaction) => {
190
+ const marginPool = this.#config.getMarginPool(coinKey);
191
+ return tx.moveCall({
192
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::supply_shares`,
193
+ arguments: [tx.object(marginPool.address)],
194
+ typeArguments: [marginPool.type],
195
+ });
196
+ };
197
+
198
+ /**
199
+ * @description Get the total borrow amount
200
+ * @param {string} coinKey The key to identify the pool
201
+ * @returns A function that takes a Transaction object
202
+ */
203
+ totalBorrow = (coinKey: string) => (tx: Transaction) => {
204
+ const marginPool = this.#config.getMarginPool(coinKey);
205
+ return tx.moveCall({
206
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::total_borrow`,
207
+ arguments: [tx.object(marginPool.address)],
208
+ typeArguments: [marginPool.type],
209
+ });
210
+ };
211
+
212
+ /**
213
+ * @description Get the total borrow shares
214
+ * @param {string} coinKey The key to identify the pool
215
+ * @returns A function that takes a Transaction object
216
+ */
217
+ borrowShares = (coinKey: string) => (tx: Transaction) => {
218
+ const marginPool = this.#config.getMarginPool(coinKey);
219
+ return tx.moveCall({
220
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::borrow_shares`,
221
+ arguments: [tx.object(marginPool.address)],
222
+ typeArguments: [marginPool.type],
223
+ });
224
+ };
225
+
226
+ /**
227
+ * @description Get the last update timestamp
228
+ * @param {string} coinKey The key to identify the pool
229
+ * @returns A function that takes a Transaction object
230
+ */
231
+ lastUpdateTimestamp = (coinKey: string) => (tx: Transaction) => {
232
+ const marginPool = this.#config.getMarginPool(coinKey);
233
+ return tx.moveCall({
234
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::last_update_timestamp`,
235
+ arguments: [tx.object(marginPool.address)],
236
+ typeArguments: [marginPool.type],
237
+ });
238
+ };
239
+
240
+ /**
241
+ * @description Get the supply cap
242
+ * @param {string} coinKey The key to identify the pool
243
+ * @returns A function that takes a Transaction object
244
+ */
245
+ supplyCap = (coinKey: string) => (tx: Transaction) => {
246
+ const marginPool = this.#config.getMarginPool(coinKey);
247
+ return tx.moveCall({
248
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::supply_cap`,
249
+ arguments: [tx.object(marginPool.address)],
250
+ typeArguments: [marginPool.type],
251
+ });
252
+ };
253
+
254
+ /**
255
+ * @description Get the max utilization rate
256
+ * @param {string} coinKey The key to identify the pool
257
+ * @returns A function that takes a Transaction object
258
+ */
259
+ maxUtilizationRate = (coinKey: string) => (tx: Transaction) => {
260
+ const marginPool = this.#config.getMarginPool(coinKey);
261
+ return tx.moveCall({
262
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::max_utilization_rate`,
263
+ arguments: [tx.object(marginPool.address)],
264
+ typeArguments: [marginPool.type],
265
+ });
266
+ };
267
+
268
+ /**
269
+ * @description Get the protocol spread
270
+ * @param {string} coinKey The key to identify the pool
271
+ * @returns A function that takes a Transaction object
272
+ */
273
+ protocolSpread = (coinKey: string) => (tx: Transaction) => {
274
+ const marginPool = this.#config.getMarginPool(coinKey);
275
+ return tx.moveCall({
276
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::protocol_spread`,
277
+ arguments: [tx.object(marginPool.address)],
278
+ typeArguments: [marginPool.type],
279
+ });
280
+ };
281
+
282
+ /**
283
+ * @description Get the minimum borrow amount
284
+ * @param {string} coinKey The key to identify the pool
285
+ * @returns A function that takes a Transaction object
286
+ */
287
+ minBorrow = (coinKey: string) => (tx: Transaction) => {
288
+ const marginPool = this.#config.getMarginPool(coinKey);
289
+ return tx.moveCall({
290
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::min_borrow`,
291
+ arguments: [tx.object(marginPool.address)],
292
+ typeArguments: [marginPool.type],
293
+ });
294
+ };
295
+
296
+ /**
297
+ * @description Get the current interest rate
298
+ * @param {string} coinKey The key to identify the pool
299
+ * @returns A function that takes a Transaction object
300
+ */
301
+ interestRate = (coinKey: string) => (tx: Transaction) => {
302
+ const marginPool = this.#config.getMarginPool(coinKey);
303
+ return tx.moveCall({
304
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::interest_rate`,
305
+ arguments: [tx.object(marginPool.address)],
306
+ typeArguments: [marginPool.type],
307
+ });
308
+ };
309
+
310
+ /**
311
+ * @description Get user supply shares for a supplier cap
312
+ * @param {string} coinKey The key to identify the pool
313
+ * @param {string} supplierCapId The ID of the supplier cap
314
+ * @returns A function that takes a Transaction object
315
+ */
316
+ userSupplyShares = (coinKey: string, supplierCapId: string) => (tx: Transaction) => {
317
+ const marginPool = this.#config.getMarginPool(coinKey);
318
+ return tx.moveCall({
319
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::user_supply_shares`,
320
+ arguments: [tx.object(marginPool.address), tx.pure.id(supplierCapId)],
321
+ typeArguments: [marginPool.type],
322
+ });
323
+ };
324
+
325
+ /**
326
+ * @description Get user supply amount for a supplier cap
327
+ * @param {string} coinKey The key to identify the pool
328
+ * @param {string} supplierCapId The ID of the supplier cap
329
+ * @returns A function that takes a Transaction object
330
+ */
331
+ userSupplyAmount = (coinKey: string, supplierCapId: string) => (tx: Transaction) => {
332
+ const marginPool = this.#config.getMarginPool(coinKey);
333
+ return tx.moveCall({
334
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_pool::user_supply_amount`,
335
+ arguments: [tx.object(marginPool.address), tx.pure.id(supplierCapId), tx.object.clock()],
336
+ typeArguments: [marginPool.type],
337
+ });
338
+ };
339
+ }
@@ -0,0 +1,212 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import type { Transaction } from '@haneullabs/haneul/transactions';
4
+
5
+ import type { DeepBookConfig } from '../utils/config.js';
6
+
7
+ /**
8
+ * MarginRegistryContract class for managing MarginRegistry read-only operations.
9
+ */
10
+ export class MarginRegistryContract {
11
+ #config: DeepBookConfig;
12
+
13
+ /**
14
+ * @param {DeepBookConfig} config Configuration for MarginRegistryContract
15
+ */
16
+ constructor(config: DeepBookConfig) {
17
+ this.#config = config;
18
+ }
19
+
20
+ /**
21
+ * @description Check if a deepbook pool is enabled for margin trading
22
+ * @param {string} poolKey The key to identify the pool
23
+ * @returns A function that takes a Transaction object
24
+ */
25
+ poolEnabled = (poolKey: string) => (tx: Transaction) => {
26
+ const pool = this.#config.getPool(poolKey);
27
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
28
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
29
+ return tx.moveCall({
30
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::pool_enabled`,
31
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.object(pool.address)],
32
+ typeArguments: [baseCoin.type, quoteCoin.type],
33
+ });
34
+ };
35
+
36
+ /**
37
+ * @description Get the margin pool ID for a given asset
38
+ * @param {string} coinKey The key to identify the coin
39
+ * @returns A function that takes a Transaction object
40
+ */
41
+ getMarginPoolId = (coinKey: string) => (tx: Transaction) => {
42
+ const coin = this.#config.getCoin(coinKey);
43
+ return tx.moveCall({
44
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::get_margin_pool_id`,
45
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID)],
46
+ typeArguments: [coin.type],
47
+ });
48
+ };
49
+
50
+ /**
51
+ * @description Get the margin pool IDs (base and quote) for a deepbook pool
52
+ * @param {string} poolKey The key to identify the pool
53
+ * @returns A function that takes a Transaction object
54
+ */
55
+ getDeepbookPoolMarginPoolIds = (poolKey: string) => (tx: Transaction) => {
56
+ const pool = this.#config.getPool(poolKey);
57
+ return tx.moveCall({
58
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::get_deepbook_pool_margin_pool_ids`,
59
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
60
+ typeArguments: [],
61
+ });
62
+ };
63
+
64
+ /**
65
+ * @description Get the margin manager IDs for a given owner
66
+ * @param {string} owner The owner address
67
+ * @returns A function that takes a Transaction object
68
+ */
69
+ getMarginManagerIds = (owner: string) => (tx: Transaction) => {
70
+ return tx.moveCall({
71
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::get_margin_manager_ids`,
72
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.address(owner)],
73
+ typeArguments: [],
74
+ });
75
+ };
76
+
77
+ /**
78
+ * @description Get the base margin pool ID for a deepbook pool
79
+ * @param {string} poolKey The key to identify the pool
80
+ * @returns A function that takes a Transaction object
81
+ */
82
+ baseMarginPoolId = (poolKey: string) => (tx: Transaction) => {
83
+ const pool = this.#config.getPool(poolKey);
84
+ return tx.moveCall({
85
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::base_margin_pool_id`,
86
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
87
+ typeArguments: [],
88
+ });
89
+ };
90
+
91
+ /**
92
+ * @description Get the quote margin pool ID for a deepbook pool
93
+ * @param {string} poolKey The key to identify the pool
94
+ * @returns A function that takes a Transaction object
95
+ */
96
+ quoteMarginPoolId = (poolKey: string) => (tx: Transaction) => {
97
+ const pool = this.#config.getPool(poolKey);
98
+ return tx.moveCall({
99
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::quote_margin_pool_id`,
100
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
101
+ typeArguments: [],
102
+ });
103
+ };
104
+
105
+ /**
106
+ * @description Get the minimum withdraw risk ratio for a deepbook pool
107
+ * @param {string} poolKey The key to identify the pool
108
+ * @returns A function that takes a Transaction object
109
+ */
110
+ minWithdrawRiskRatio = (poolKey: string) => (tx: Transaction) => {
111
+ const pool = this.#config.getPool(poolKey);
112
+ return tx.moveCall({
113
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::min_withdraw_risk_ratio`,
114
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
115
+ typeArguments: [],
116
+ });
117
+ };
118
+
119
+ /**
120
+ * @description Get the minimum borrow risk ratio for a deepbook pool
121
+ * @param {string} poolKey The key to identify the pool
122
+ * @returns A function that takes a Transaction object
123
+ */
124
+ minBorrowRiskRatio = (poolKey: string) => (tx: Transaction) => {
125
+ const pool = this.#config.getPool(poolKey);
126
+ return tx.moveCall({
127
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::min_borrow_risk_ratio`,
128
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
129
+ typeArguments: [],
130
+ });
131
+ };
132
+
133
+ /**
134
+ * @description Get the liquidation risk ratio for a deepbook pool
135
+ * @param {string} poolKey The key to identify the pool
136
+ * @returns A function that takes a Transaction object
137
+ */
138
+ liquidationRiskRatio = (poolKey: string) => (tx: Transaction) => {
139
+ const pool = this.#config.getPool(poolKey);
140
+ return tx.moveCall({
141
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::liquidation_risk_ratio`,
142
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
143
+ typeArguments: [],
144
+ });
145
+ };
146
+
147
+ /**
148
+ * @description Get the target liquidation risk ratio for a deepbook pool
149
+ * @param {string} poolKey The key to identify the pool
150
+ * @returns A function that takes a Transaction object
151
+ */
152
+ targetLiquidationRiskRatio = (poolKey: string) => (tx: Transaction) => {
153
+ const pool = this.#config.getPool(poolKey);
154
+ return tx.moveCall({
155
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::target_liquidation_risk_ratio`,
156
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
157
+ typeArguments: [],
158
+ });
159
+ };
160
+
161
+ /**
162
+ * @description Get the user liquidation reward for a deepbook pool
163
+ * @param {string} poolKey The key to identify the pool
164
+ * @returns A function that takes a Transaction object
165
+ */
166
+ userLiquidationReward = (poolKey: string) => (tx: Transaction) => {
167
+ const pool = this.#config.getPool(poolKey);
168
+ return tx.moveCall({
169
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::user_liquidation_reward`,
170
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
171
+ typeArguments: [],
172
+ });
173
+ };
174
+
175
+ /**
176
+ * @description Get the pool liquidation reward for a deepbook pool
177
+ * @param {string} poolKey The key to identify the pool
178
+ * @returns A function that takes a Transaction object
179
+ */
180
+ poolLiquidationReward = (poolKey: string) => (tx: Transaction) => {
181
+ const pool = this.#config.getPool(poolKey);
182
+ return tx.moveCall({
183
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::pool_liquidation_reward`,
184
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
185
+ typeArguments: [],
186
+ });
187
+ };
188
+
189
+ /**
190
+ * @description Get all allowed maintainer cap IDs
191
+ * @returns A function that takes a Transaction object
192
+ */
193
+ allowedMaintainers = () => (tx: Transaction) => {
194
+ return tx.moveCall({
195
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::allowed_maintainers`,
196
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID)],
197
+ typeArguments: [],
198
+ });
199
+ };
200
+
201
+ /**
202
+ * @description Get all allowed pause cap IDs
203
+ * @returns A function that takes a Transaction object
204
+ */
205
+ allowedPauseCaps = () => (tx: Transaction) => {
206
+ return tx.moveCall({
207
+ target: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::allowed_pause_caps`,
208
+ arguments: [tx.object(this.#config.MARGIN_REGISTRY_ID)],
209
+ typeArguments: [],
210
+ });
211
+ };
212
+ }