@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,94 @@
1
+ import type { Transaction } from '@haneullabs/haneul/transactions';
2
+ import type { DeepBookConfig } from '../utils/config.js';
3
+ /**
4
+ * MarginRegistryContract class for managing MarginRegistry read-only operations.
5
+ */
6
+ export declare class MarginRegistryContract {
7
+ #private;
8
+ /**
9
+ * @param {DeepBookConfig} config Configuration for MarginRegistryContract
10
+ */
11
+ constructor(config: DeepBookConfig);
12
+ /**
13
+ * @description Check if a deepbook pool is enabled for margin trading
14
+ * @param {string} poolKey The key to identify the pool
15
+ * @returns A function that takes a Transaction object
16
+ */
17
+ poolEnabled: (poolKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
18
+ /**
19
+ * @description Get the margin pool ID for a given asset
20
+ * @param {string} coinKey The key to identify the coin
21
+ * @returns A function that takes a Transaction object
22
+ */
23
+ getMarginPoolId: (coinKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
24
+ /**
25
+ * @description Get the margin pool IDs (base and quote) for a deepbook pool
26
+ * @param {string} poolKey The key to identify the pool
27
+ * @returns A function that takes a Transaction object
28
+ */
29
+ getDeepbookPoolMarginPoolIds: (poolKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
30
+ /**
31
+ * @description Get the margin manager IDs for a given owner
32
+ * @param {string} owner The owner address
33
+ * @returns A function that takes a Transaction object
34
+ */
35
+ getMarginManagerIds: (owner: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
36
+ /**
37
+ * @description Get the base margin pool ID for a deepbook pool
38
+ * @param {string} poolKey The key to identify the pool
39
+ * @returns A function that takes a Transaction object
40
+ */
41
+ baseMarginPoolId: (poolKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
42
+ /**
43
+ * @description Get the quote margin pool ID for a deepbook pool
44
+ * @param {string} poolKey The key to identify the pool
45
+ * @returns A function that takes a Transaction object
46
+ */
47
+ quoteMarginPoolId: (poolKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
48
+ /**
49
+ * @description Get the minimum withdraw risk ratio for a deepbook pool
50
+ * @param {string} poolKey The key to identify the pool
51
+ * @returns A function that takes a Transaction object
52
+ */
53
+ minWithdrawRiskRatio: (poolKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
54
+ /**
55
+ * @description Get the minimum borrow risk ratio for a deepbook pool
56
+ * @param {string} poolKey The key to identify the pool
57
+ * @returns A function that takes a Transaction object
58
+ */
59
+ minBorrowRiskRatio: (poolKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
60
+ /**
61
+ * @description Get the liquidation risk ratio for a deepbook pool
62
+ * @param {string} poolKey The key to identify the pool
63
+ * @returns A function that takes a Transaction object
64
+ */
65
+ liquidationRiskRatio: (poolKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
66
+ /**
67
+ * @description Get the target liquidation risk ratio for a deepbook pool
68
+ * @param {string} poolKey The key to identify the pool
69
+ * @returns A function that takes a Transaction object
70
+ */
71
+ targetLiquidationRiskRatio: (poolKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
72
+ /**
73
+ * @description Get the user liquidation reward for a deepbook pool
74
+ * @param {string} poolKey The key to identify the pool
75
+ * @returns A function that takes a Transaction object
76
+ */
77
+ userLiquidationReward: (poolKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
78
+ /**
79
+ * @description Get the pool liquidation reward for a deepbook pool
80
+ * @param {string} poolKey The key to identify the pool
81
+ * @returns A function that takes a Transaction object
82
+ */
83
+ poolLiquidationReward: (poolKey: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
84
+ /**
85
+ * @description Get all allowed maintainer cap IDs
86
+ * @returns A function that takes a Transaction object
87
+ */
88
+ allowedMaintainers: () => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
89
+ /**
90
+ * @description Get all allowed pause cap IDs
91
+ * @returns A function that takes a Transaction object
92
+ */
93
+ allowedPauseCaps: () => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
94
+ }
@@ -0,0 +1,201 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ var _config;
9
+ class MarginRegistryContract {
10
+ /**
11
+ * @param {DeepBookConfig} config Configuration for MarginRegistryContract
12
+ */
13
+ constructor(config) {
14
+ __privateAdd(this, _config);
15
+ /**
16
+ * @description Check if a deepbook pool is enabled for margin trading
17
+ * @param {string} poolKey The key to identify the pool
18
+ * @returns A function that takes a Transaction object
19
+ */
20
+ this.poolEnabled = (poolKey) => (tx) => {
21
+ const pool = __privateGet(this, _config).getPool(poolKey);
22
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
23
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
24
+ return tx.moveCall({
25
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::pool_enabled`,
26
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.object(pool.address)],
27
+ typeArguments: [baseCoin.type, quoteCoin.type]
28
+ });
29
+ };
30
+ /**
31
+ * @description Get the margin pool ID for a given asset
32
+ * @param {string} coinKey The key to identify the coin
33
+ * @returns A function that takes a Transaction object
34
+ */
35
+ this.getMarginPoolId = (coinKey) => (tx) => {
36
+ const coin = __privateGet(this, _config).getCoin(coinKey);
37
+ return tx.moveCall({
38
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::get_margin_pool_id`,
39
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID)],
40
+ typeArguments: [coin.type]
41
+ });
42
+ };
43
+ /**
44
+ * @description Get the margin pool IDs (base and quote) for a deepbook pool
45
+ * @param {string} poolKey The key to identify the pool
46
+ * @returns A function that takes a Transaction object
47
+ */
48
+ this.getDeepbookPoolMarginPoolIds = (poolKey) => (tx) => {
49
+ const pool = __privateGet(this, _config).getPool(poolKey);
50
+ return tx.moveCall({
51
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::get_deepbook_pool_margin_pool_ids`,
52
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
53
+ typeArguments: []
54
+ });
55
+ };
56
+ /**
57
+ * @description Get the margin manager IDs for a given owner
58
+ * @param {string} owner The owner address
59
+ * @returns A function that takes a Transaction object
60
+ */
61
+ this.getMarginManagerIds = (owner) => (tx) => {
62
+ return tx.moveCall({
63
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::get_margin_manager_ids`,
64
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.pure.address(owner)],
65
+ typeArguments: []
66
+ });
67
+ };
68
+ /**
69
+ * @description Get the base margin pool ID for a deepbook pool
70
+ * @param {string} poolKey The key to identify the pool
71
+ * @returns A function that takes a Transaction object
72
+ */
73
+ this.baseMarginPoolId = (poolKey) => (tx) => {
74
+ const pool = __privateGet(this, _config).getPool(poolKey);
75
+ return tx.moveCall({
76
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::base_margin_pool_id`,
77
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
78
+ typeArguments: []
79
+ });
80
+ };
81
+ /**
82
+ * @description Get the quote margin pool ID for a deepbook pool
83
+ * @param {string} poolKey The key to identify the pool
84
+ * @returns A function that takes a Transaction object
85
+ */
86
+ this.quoteMarginPoolId = (poolKey) => (tx) => {
87
+ const pool = __privateGet(this, _config).getPool(poolKey);
88
+ return tx.moveCall({
89
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::quote_margin_pool_id`,
90
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
91
+ typeArguments: []
92
+ });
93
+ };
94
+ /**
95
+ * @description Get the minimum withdraw risk ratio for a deepbook pool
96
+ * @param {string} poolKey The key to identify the pool
97
+ * @returns A function that takes a Transaction object
98
+ */
99
+ this.minWithdrawRiskRatio = (poolKey) => (tx) => {
100
+ const pool = __privateGet(this, _config).getPool(poolKey);
101
+ return tx.moveCall({
102
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::min_withdraw_risk_ratio`,
103
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
104
+ typeArguments: []
105
+ });
106
+ };
107
+ /**
108
+ * @description Get the minimum borrow risk ratio for a deepbook pool
109
+ * @param {string} poolKey The key to identify the pool
110
+ * @returns A function that takes a Transaction object
111
+ */
112
+ this.minBorrowRiskRatio = (poolKey) => (tx) => {
113
+ const pool = __privateGet(this, _config).getPool(poolKey);
114
+ return tx.moveCall({
115
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::min_borrow_risk_ratio`,
116
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
117
+ typeArguments: []
118
+ });
119
+ };
120
+ /**
121
+ * @description Get the liquidation risk ratio for a deepbook pool
122
+ * @param {string} poolKey The key to identify the pool
123
+ * @returns A function that takes a Transaction object
124
+ */
125
+ this.liquidationRiskRatio = (poolKey) => (tx) => {
126
+ const pool = __privateGet(this, _config).getPool(poolKey);
127
+ return tx.moveCall({
128
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::liquidation_risk_ratio`,
129
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
130
+ typeArguments: []
131
+ });
132
+ };
133
+ /**
134
+ * @description Get the target 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
+ this.targetLiquidationRiskRatio = (poolKey) => (tx) => {
139
+ const pool = __privateGet(this, _config).getPool(poolKey);
140
+ return tx.moveCall({
141
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::target_liquidation_risk_ratio`,
142
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
143
+ typeArguments: []
144
+ });
145
+ };
146
+ /**
147
+ * @description Get the user liquidation reward for a deepbook pool
148
+ * @param {string} poolKey The key to identify the pool
149
+ * @returns A function that takes a Transaction object
150
+ */
151
+ this.userLiquidationReward = (poolKey) => (tx) => {
152
+ const pool = __privateGet(this, _config).getPool(poolKey);
153
+ return tx.moveCall({
154
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::user_liquidation_reward`,
155
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
156
+ typeArguments: []
157
+ });
158
+ };
159
+ /**
160
+ * @description Get the pool liquidation reward for a deepbook pool
161
+ * @param {string} poolKey The key to identify the pool
162
+ * @returns A function that takes a Transaction object
163
+ */
164
+ this.poolLiquidationReward = (poolKey) => (tx) => {
165
+ const pool = __privateGet(this, _config).getPool(poolKey);
166
+ return tx.moveCall({
167
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::pool_liquidation_reward`,
168
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],
169
+ typeArguments: []
170
+ });
171
+ };
172
+ /**
173
+ * @description Get all allowed maintainer cap IDs
174
+ * @returns A function that takes a Transaction object
175
+ */
176
+ this.allowedMaintainers = () => (tx) => {
177
+ return tx.moveCall({
178
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::allowed_maintainers`,
179
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID)],
180
+ typeArguments: []
181
+ });
182
+ };
183
+ /**
184
+ * @description Get all allowed pause cap IDs
185
+ * @returns A function that takes a Transaction object
186
+ */
187
+ this.allowedPauseCaps = () => (tx) => {
188
+ return tx.moveCall({
189
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_registry::allowed_pause_caps`,
190
+ arguments: [tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID)],
191
+ typeArguments: []
192
+ });
193
+ };
194
+ __privateSet(this, _config, config);
195
+ }
196
+ }
197
+ _config = new WeakMap();
198
+ export {
199
+ MarginRegistryContract
200
+ };
201
+ //# sourceMappingURL=marginRegistry.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/transactions/marginRegistry.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport type { Transaction } from '@haneullabs/haneul/transactions';\n\nimport type { DeepBookConfig } from '../utils/config.js';\n\n/**\n * MarginRegistryContract class for managing MarginRegistry read-only operations.\n */\nexport class MarginRegistryContract {\n\t#config: DeepBookConfig;\n\n\t/**\n\t * @param {DeepBookConfig} config Configuration for MarginRegistryContract\n\t */\n\tconstructor(config: DeepBookConfig) {\n\t\tthis.#config = config;\n\t}\n\n\t/**\n\t * @description Check if a deepbook pool is enabled for margin trading\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\tpoolEnabled = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::pool_enabled`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.object(pool.address)],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the margin pool ID for a given asset\n\t * @param {string} coinKey The key to identify the coin\n\t * @returns A function that takes a Transaction object\n\t */\n\tgetMarginPoolId = (coinKey: string) => (tx: Transaction) => {\n\t\tconst coin = this.#config.getCoin(coinKey);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::get_margin_pool_id`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID)],\n\t\t\ttypeArguments: [coin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the margin pool IDs (base and quote) for a deepbook pool\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\tgetDeepbookPoolMarginPoolIds = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::get_deepbook_pool_margin_pool_ids`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the margin manager IDs for a given owner\n\t * @param {string} owner The owner address\n\t * @returns A function that takes a Transaction object\n\t */\n\tgetMarginManagerIds = (owner: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::get_margin_manager_ids`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.address(owner)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the base margin pool ID for a deepbook pool\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\tbaseMarginPoolId = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::base_margin_pool_id`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the quote margin pool ID for a deepbook pool\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\tquoteMarginPoolId = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::quote_margin_pool_id`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the minimum withdraw risk ratio for a deepbook pool\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\tminWithdrawRiskRatio = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::min_withdraw_risk_ratio`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the minimum borrow risk ratio for a deepbook pool\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\tminBorrowRiskRatio = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::min_borrow_risk_ratio`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the liquidation risk ratio for a deepbook pool\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\tliquidationRiskRatio = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::liquidation_risk_ratio`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the target liquidation risk ratio for a deepbook pool\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\ttargetLiquidationRiskRatio = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::target_liquidation_risk_ratio`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the user liquidation reward for a deepbook pool\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\tuserLiquidationReward = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::user_liquidation_reward`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the pool liquidation reward for a deepbook pool\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\tpoolLiquidationReward = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::pool_liquidation_reward`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID), tx.pure.id(pool.address)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get all allowed maintainer cap IDs\n\t * @returns A function that takes a Transaction object\n\t */\n\tallowedMaintainers = () => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::allowed_maintainers`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get all allowed pause cap IDs\n\t * @returns A function that takes a Transaction object\n\t */\n\tallowedPauseCaps = () => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_registry::allowed_pause_caps`,\n\t\t\targuments: [tx.object(this.#config.MARGIN_REGISTRY_ID)],\n\t\t\ttypeArguments: [],\n\t\t});\n\t};\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,93 @@
1
+ import type { Transaction } from '@haneullabs/haneul/transactions';
2
+ import type { DeepBookConfig } from '../utils/config.js';
3
+ import type { PendingLimitOrderParams, PendingMarketOrderParams, AddConditionalOrderParams } from '../types/index.js';
4
+ /**
5
+ * MarginTPSLContract class for managing Take Profit / Stop Loss operations.
6
+ */
7
+ export declare class MarginTPSLContract {
8
+ #private;
9
+ /**
10
+ * @param {DeepBookConfig} config Configuration for MarginTPSLContract
11
+ */
12
+ constructor(config: DeepBookConfig);
13
+ /**
14
+ * @description Create a new condition for a conditional order
15
+ * @param {string} poolKey The key to identify the pool
16
+ * @param {boolean} triggerBelowPrice Whether to trigger when price is below trigger price
17
+ * @param {number} triggerPrice The price at which to trigger the order
18
+ * @returns A function that takes a Transaction object
19
+ */
20
+ newCondition: (poolKey: string, triggerBelowPrice: boolean, triggerPrice: number) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
21
+ /**
22
+ * @description Create a new pending limit order for use in conditional orders
23
+ * @param {string} poolKey The key to identify the pool
24
+ * @param {PendingLimitOrderParams} params Parameters for the pending limit order
25
+ * @returns A function that takes a Transaction object
26
+ */
27
+ newPendingLimitOrder: (poolKey: string, params: PendingLimitOrderParams) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
28
+ /**
29
+ * @description Create a new pending market order for use in conditional orders
30
+ * @param {string} poolKey The key to identify the pool
31
+ * @param {PendingMarketOrderParams} params Parameters for the pending market order
32
+ * @returns A function that takes a Transaction object
33
+ */
34
+ newPendingMarketOrder: (poolKey: string, params: PendingMarketOrderParams) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
35
+ /**
36
+ * @description Add a conditional order (take profit or stop loss)
37
+ * @param {AddConditionalOrderParams} params Parameters for adding the conditional order
38
+ * @returns A function that takes a Transaction object
39
+ */
40
+ addConditionalOrder: (params: AddConditionalOrderParams) => (tx: Transaction) => void;
41
+ /**
42
+ * @description Cancel all conditional orders for a margin manager
43
+ * @param {string} marginManagerKey The key to identify the margin manager
44
+ * @returns A function that takes a Transaction object
45
+ */
46
+ cancelAllConditionalOrders: (marginManagerKey: string) => (tx: Transaction) => void;
47
+ /**
48
+ * @description Cancel a specific conditional order
49
+ * @param {string} marginManagerKey The key to identify the margin manager
50
+ * @param {string} conditionalOrderId The ID of the conditional order to cancel
51
+ * @returns A function that takes a Transaction object
52
+ */
53
+ cancelConditionalOrder: (marginManagerKey: string, conditionalOrderId: string) => (tx: Transaction) => void;
54
+ /**
55
+ * @description Execute conditional orders that have been triggered
56
+ * This is a permissionless function that can be called by anyone
57
+ * @param {string} marginManagerKey The key to identify the margin manager
58
+ * @param {number} maxOrdersToExecute Maximum number of orders to execute in this call
59
+ * @returns A function that takes a Transaction object
60
+ */
61
+ executeConditionalOrders: (marginManagerKey: string, maxOrdersToExecute: number) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
62
+ /**
63
+ * @description Get all conditional order IDs for a margin manager
64
+ * @param {string} poolKey The key to identify the pool
65
+ * @param {string} marginManagerId The ID of the margin manager
66
+ * @returns A function that takes a Transaction object
67
+ */
68
+ conditionalOrderIds: (poolKey: string, marginManagerId: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
69
+ /**
70
+ * @description Get a specific conditional order by ID
71
+ * @param {string} poolKey The key to identify the pool
72
+ * @param {string} marginManagerId The ID of the margin manager
73
+ * @param {string} conditionalOrderId The ID of the conditional order
74
+ * @returns A function that takes a Transaction object
75
+ */
76
+ conditionalOrder: (poolKey: string, marginManagerId: string, conditionalOrderId: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
77
+ /**
78
+ * @description Get the lowest trigger price for trigger_above orders
79
+ * Returns constants::max_u64() if there are no trigger_above orders
80
+ * @param {string} poolKey The key to identify the pool
81
+ * @param {string} marginManagerId The ID of the margin manager
82
+ * @returns A function that takes a Transaction object
83
+ */
84
+ lowestTriggerAbovePrice: (poolKey: string, marginManagerId: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
85
+ /**
86
+ * @description Get the highest trigger price for trigger_below orders
87
+ * Returns 0 if there are no trigger_below orders
88
+ * @param {string} poolKey The key to identify the pool
89
+ * @param {string} marginManagerId The ID of the margin manager
90
+ * @returns A function that takes a Transaction object
91
+ */
92
+ highestTriggerBelowPrice: (poolKey: string, marginManagerId: string) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
93
+ }