@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,688 @@
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