@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,286 @@
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 marginTPSL_exports = {};
27
+ __export(marginTPSL_exports, {
28
+ MarginTPSLContract: () => MarginTPSLContract
29
+ });
30
+ module.exports = __toCommonJS(marginTPSL_exports);
31
+ var import_types = require("../types/index.js");
32
+ var import_config = require("../utils/config.js");
33
+ var _config;
34
+ class MarginTPSLContract {
35
+ /**
36
+ * @param {DeepBookConfig} config Configuration for MarginTPSLContract
37
+ */
38
+ constructor(config) {
39
+ __privateAdd(this, _config);
40
+ // === Helper Functions ===
41
+ /**
42
+ * @description Create a new condition for a conditional order
43
+ * @param {string} poolKey The key to identify the pool
44
+ * @param {boolean} triggerBelowPrice Whether to trigger when price is below trigger price
45
+ * @param {number} triggerPrice The price at which to trigger the order
46
+ * @returns A function that takes a Transaction object
47
+ */
48
+ this.newCondition = (poolKey, triggerBelowPrice, triggerPrice) => (tx) => {
49
+ const pool = __privateGet(this, _config).getPool(poolKey);
50
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
51
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
52
+ const inputPrice = Math.round(
53
+ triggerPrice * import_config.FLOAT_SCALAR * quoteCoin.scalar / baseCoin.scalar
54
+ );
55
+ return tx.moveCall({
56
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::tpsl::new_condition`,
57
+ arguments: [tx.pure.bool(triggerBelowPrice), tx.pure.u64(inputPrice)]
58
+ });
59
+ };
60
+ /**
61
+ * @description Create a new pending limit order for use in conditional orders
62
+ * @param {string} poolKey The key to identify the pool
63
+ * @param {PendingLimitOrderParams} params Parameters for the pending limit order
64
+ * @returns A function that takes a Transaction object
65
+ */
66
+ this.newPendingLimitOrder = (poolKey, params) => (tx) => {
67
+ const {
68
+ clientOrderId,
69
+ orderType = import_types.OrderType.NO_RESTRICTION,
70
+ selfMatchingOption = import_types.SelfMatchingOptions.SELF_MATCHING_ALLOWED,
71
+ price,
72
+ quantity,
73
+ isBid,
74
+ payWithDeep = true,
75
+ expireTimestamp = import_config.MAX_TIMESTAMP
76
+ } = params;
77
+ const pool = __privateGet(this, _config).getPool(poolKey);
78
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
79
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
80
+ const inputPrice = Math.round(price * import_config.FLOAT_SCALAR * quoteCoin.scalar / baseCoin.scalar);
81
+ const inputQuantity = Math.round(quantity * baseCoin.scalar);
82
+ return tx.moveCall({
83
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::tpsl::new_pending_limit_order`,
84
+ arguments: [
85
+ tx.pure.u64(clientOrderId),
86
+ tx.pure.u8(orderType),
87
+ tx.pure.u8(selfMatchingOption),
88
+ tx.pure.u64(inputPrice),
89
+ tx.pure.u64(inputQuantity),
90
+ tx.pure.bool(isBid),
91
+ tx.pure.bool(payWithDeep),
92
+ tx.pure.u64(expireTimestamp)
93
+ ]
94
+ });
95
+ };
96
+ /**
97
+ * @description Create a new pending market order for use in conditional orders
98
+ * @param {string} poolKey The key to identify the pool
99
+ * @param {PendingMarketOrderParams} params Parameters for the pending market order
100
+ * @returns A function that takes a Transaction object
101
+ */
102
+ this.newPendingMarketOrder = (poolKey, params) => (tx) => {
103
+ const {
104
+ clientOrderId,
105
+ selfMatchingOption = import_types.SelfMatchingOptions.SELF_MATCHING_ALLOWED,
106
+ quantity,
107
+ isBid,
108
+ payWithDeep = true
109
+ } = params;
110
+ const pool = __privateGet(this, _config).getPool(poolKey);
111
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
112
+ const inputQuantity = Math.round(quantity * baseCoin.scalar);
113
+ return tx.moveCall({
114
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::tpsl::new_pending_market_order`,
115
+ arguments: [
116
+ tx.pure.u64(clientOrderId),
117
+ tx.pure.u8(selfMatchingOption),
118
+ tx.pure.u64(inputQuantity),
119
+ tx.pure.bool(isBid),
120
+ tx.pure.bool(payWithDeep)
121
+ ]
122
+ });
123
+ };
124
+ // === Public Functions ===
125
+ /**
126
+ * @description Add a conditional order (take profit or stop loss)
127
+ * @param {AddConditionalOrderParams} params Parameters for adding the conditional order
128
+ * @returns A function that takes a Transaction object
129
+ */
130
+ this.addConditionalOrder = (params) => (tx) => {
131
+ const { marginManagerKey, conditionalOrderId, triggerBelowPrice, triggerPrice, pendingOrder } = params;
132
+ const manager = __privateGet(this, _config).getMarginManager(marginManagerKey);
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 condition = this.newCondition(manager.poolKey, triggerBelowPrice, triggerPrice)(tx);
137
+ const isLimitOrder = "price" in pendingOrder;
138
+ const pending = isLimitOrder ? this.newPendingLimitOrder(manager.poolKey, pendingOrder)(tx) : this.newPendingMarketOrder(manager.poolKey, pendingOrder)(tx);
139
+ tx.moveCall({
140
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::add_conditional_order`,
141
+ arguments: [
142
+ tx.object(manager.address),
143
+ tx.object(pool.address),
144
+ tx.object(baseCoin.priceInfoObjectId),
145
+ tx.object(quoteCoin.priceInfoObjectId),
146
+ tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
147
+ tx.pure.u64(conditionalOrderId),
148
+ condition,
149
+ pending,
150
+ tx.object.clock()
151
+ ],
152
+ typeArguments: [baseCoin.type, quoteCoin.type]
153
+ });
154
+ };
155
+ /**
156
+ * @description Cancel all conditional orders for a margin manager
157
+ * @param {string} marginManagerKey The key to identify the margin manager
158
+ * @returns A function that takes a Transaction object
159
+ */
160
+ this.cancelAllConditionalOrders = (marginManagerKey) => (tx) => {
161
+ const manager = __privateGet(this, _config).getMarginManager(marginManagerKey);
162
+ const pool = __privateGet(this, _config).getPool(manager.poolKey);
163
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
164
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
165
+ tx.moveCall({
166
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::cancel_all_conditional_orders`,
167
+ arguments: [tx.object(manager.address), tx.object.clock()],
168
+ typeArguments: [baseCoin.type, quoteCoin.type]
169
+ });
170
+ };
171
+ /**
172
+ * @description Cancel a specific conditional order
173
+ * @param {string} marginManagerKey The key to identify the margin manager
174
+ * @param {string} conditionalOrderId The ID of the conditional order to cancel
175
+ * @returns A function that takes a Transaction object
176
+ */
177
+ this.cancelConditionalOrder = (marginManagerKey, conditionalOrderId) => (tx) => {
178
+ const manager = __privateGet(this, _config).getMarginManager(marginManagerKey);
179
+ const pool = __privateGet(this, _config).getPool(manager.poolKey);
180
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
181
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
182
+ tx.moveCall({
183
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::cancel_conditional_order`,
184
+ arguments: [tx.object(manager.address), tx.pure.u64(conditionalOrderId), tx.object.clock()],
185
+ typeArguments: [baseCoin.type, quoteCoin.type]
186
+ });
187
+ };
188
+ /**
189
+ * @description Execute conditional orders that have been triggered
190
+ * This is a permissionless function that can be called by anyone
191
+ * @param {string} marginManagerKey The key to identify the margin manager
192
+ * @param {number} maxOrdersToExecute Maximum number of orders to execute in this call
193
+ * @returns A function that takes a Transaction object
194
+ */
195
+ this.executeConditionalOrders = (marginManagerKey, maxOrdersToExecute) => (tx) => {
196
+ const manager = __privateGet(this, _config).getMarginManager(marginManagerKey);
197
+ const pool = __privateGet(this, _config).getPool(manager.poolKey);
198
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
199
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
200
+ return tx.moveCall({
201
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::execute_conditional_orders`,
202
+ arguments: [
203
+ tx.object(manager.address),
204
+ tx.object(pool.address),
205
+ tx.object(baseCoin.priceInfoObjectId),
206
+ tx.object(quoteCoin.priceInfoObjectId),
207
+ tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
208
+ tx.pure.u64(maxOrdersToExecute),
209
+ tx.object.clock()
210
+ ],
211
+ typeArguments: [baseCoin.type, quoteCoin.type]
212
+ });
213
+ };
214
+ // === Read-Only Functions ===
215
+ /**
216
+ * @description Get all conditional order IDs for a margin manager
217
+ * @param {string} poolKey The key to identify the pool
218
+ * @param {string} marginManagerId The ID of the margin manager
219
+ * @returns A function that takes a Transaction object
220
+ */
221
+ this.conditionalOrderIds = (poolKey, marginManagerId) => (tx) => {
222
+ const pool = __privateGet(this, _config).getPool(poolKey);
223
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
224
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
225
+ return tx.moveCall({
226
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::conditional_order_ids`,
227
+ arguments: [tx.object(marginManagerId)],
228
+ typeArguments: [baseCoin.type, quoteCoin.type]
229
+ });
230
+ };
231
+ /**
232
+ * @description Get a specific conditional order by ID
233
+ * @param {string} poolKey The key to identify the pool
234
+ * @param {string} marginManagerId The ID of the margin manager
235
+ * @param {string} conditionalOrderId The ID of the conditional order
236
+ * @returns A function that takes a Transaction object
237
+ */
238
+ this.conditionalOrder = (poolKey, marginManagerId, conditionalOrderId) => (tx) => {
239
+ const pool = __privateGet(this, _config).getPool(poolKey);
240
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
241
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
242
+ return tx.moveCall({
243
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::conditional_order`,
244
+ arguments: [tx.object(marginManagerId), tx.pure.u64(conditionalOrderId)],
245
+ typeArguments: [baseCoin.type, quoteCoin.type]
246
+ });
247
+ };
248
+ /**
249
+ * @description Get the lowest trigger price for trigger_above orders
250
+ * Returns constants::max_u64() if there are no trigger_above orders
251
+ * @param {string} poolKey The key to identify the pool
252
+ * @param {string} marginManagerId The ID of the margin manager
253
+ * @returns A function that takes a Transaction object
254
+ */
255
+ this.lowestTriggerAbovePrice = (poolKey, marginManagerId) => (tx) => {
256
+ const pool = __privateGet(this, _config).getPool(poolKey);
257
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
258
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
259
+ return tx.moveCall({
260
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::lowest_trigger_above_price`,
261
+ arguments: [tx.object(marginManagerId)],
262
+ typeArguments: [baseCoin.type, quoteCoin.type]
263
+ });
264
+ };
265
+ /**
266
+ * @description Get the highest trigger price for trigger_below orders
267
+ * Returns 0 if there are no trigger_below orders
268
+ * @param {string} poolKey The key to identify the pool
269
+ * @param {string} marginManagerId The ID of the margin manager
270
+ * @returns A function that takes a Transaction object
271
+ */
272
+ this.highestTriggerBelowPrice = (poolKey, marginManagerId) => (tx) => {
273
+ const pool = __privateGet(this, _config).getPool(poolKey);
274
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
275
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
276
+ return tx.moveCall({
277
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::highest_trigger_below_price`,
278
+ arguments: [tx.object(marginManagerId)],
279
+ typeArguments: [baseCoin.type, quoteCoin.type]
280
+ });
281
+ };
282
+ __privateSet(this, _config, config);
283
+ }
284
+ }
285
+ _config = new WeakMap();
286
+ //# sourceMappingURL=marginTPSL.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/transactions/marginTPSL.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';\nimport type {\n\tPendingLimitOrderParams,\n\tPendingMarketOrderParams,\n\tAddConditionalOrderParams,\n} from '../types/index.js';\nimport { OrderType, SelfMatchingOptions } from '../types/index.js';\nimport { MAX_TIMESTAMP, FLOAT_SCALAR } from '../utils/config.js';\n\n/**\n * MarginTPSLContract class for managing Take Profit / Stop Loss operations.\n */\nexport class MarginTPSLContract {\n\t#config: DeepBookConfig;\n\n\t/**\n\t * @param {DeepBookConfig} config Configuration for MarginTPSLContract\n\t */\n\tconstructor(config: DeepBookConfig) {\n\t\tthis.#config = config;\n\t}\n\n\t// === Helper Functions ===\n\n\t/**\n\t * @description Create a new condition for a conditional order\n\t * @param {string} poolKey The key to identify the pool\n\t * @param {boolean} triggerBelowPrice Whether to trigger when price is below trigger price\n\t * @param {number} triggerPrice The price at which to trigger the order\n\t * @returns A function that takes a Transaction object\n\t */\n\tnewCondition =\n\t\t(poolKey: string, triggerBelowPrice: boolean, triggerPrice: number) => (tx: Transaction) => {\n\t\t\tconst pool = this.#config.getPool(poolKey);\n\t\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\t\tconst inputPrice = Math.round(\n\t\t\t\t(triggerPrice * FLOAT_SCALAR * quoteCoin.scalar) / baseCoin.scalar,\n\t\t\t);\n\t\t\treturn tx.moveCall({\n\t\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::tpsl::new_condition`,\n\t\t\t\targuments: [tx.pure.bool(triggerBelowPrice), tx.pure.u64(inputPrice)],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Create a new pending limit order for use in conditional orders\n\t * @param {string} poolKey The key to identify the pool\n\t * @param {PendingLimitOrderParams} params Parameters for the pending limit order\n\t * @returns A function that takes a Transaction object\n\t */\n\tnewPendingLimitOrder =\n\t\t(poolKey: string, params: PendingLimitOrderParams) => (tx: Transaction) => {\n\t\t\tconst {\n\t\t\t\tclientOrderId,\n\t\t\t\torderType = OrderType.NO_RESTRICTION,\n\t\t\t\tselfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED,\n\t\t\t\tprice,\n\t\t\t\tquantity,\n\t\t\t\tisBid,\n\t\t\t\tpayWithDeep = true,\n\t\t\t\texpireTimestamp = MAX_TIMESTAMP,\n\t\t\t} = params;\n\t\t\tconst pool = this.#config.getPool(poolKey);\n\t\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\t\tconst inputPrice = Math.round((price * FLOAT_SCALAR * quoteCoin.scalar) / baseCoin.scalar);\n\t\t\tconst inputQuantity = Math.round(quantity * baseCoin.scalar);\n\t\t\treturn tx.moveCall({\n\t\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::tpsl::new_pending_limit_order`,\n\t\t\t\targuments: [\n\t\t\t\t\ttx.pure.u64(clientOrderId),\n\t\t\t\t\ttx.pure.u8(orderType),\n\t\t\t\t\ttx.pure.u8(selfMatchingOption),\n\t\t\t\t\ttx.pure.u64(inputPrice),\n\t\t\t\t\ttx.pure.u64(inputQuantity),\n\t\t\t\t\ttx.pure.bool(isBid),\n\t\t\t\t\ttx.pure.bool(payWithDeep),\n\t\t\t\t\ttx.pure.u64(expireTimestamp),\n\t\t\t\t],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Create a new pending market order for use in conditional orders\n\t * @param {string} poolKey The key to identify the pool\n\t * @param {PendingMarketOrderParams} params Parameters for the pending market order\n\t * @returns A function that takes a Transaction object\n\t */\n\tnewPendingMarketOrder =\n\t\t(poolKey: string, params: PendingMarketOrderParams) => (tx: Transaction) => {\n\t\t\tconst {\n\t\t\t\tclientOrderId,\n\t\t\t\tselfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED,\n\t\t\t\tquantity,\n\t\t\t\tisBid,\n\t\t\t\tpayWithDeep = true,\n\t\t\t} = params;\n\t\t\tconst pool = this.#config.getPool(poolKey);\n\t\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\t\tconst inputQuantity = Math.round(quantity * baseCoin.scalar);\n\t\t\treturn tx.moveCall({\n\t\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::tpsl::new_pending_market_order`,\n\t\t\t\targuments: [\n\t\t\t\t\ttx.pure.u64(clientOrderId),\n\t\t\t\t\ttx.pure.u8(selfMatchingOption),\n\t\t\t\t\ttx.pure.u64(inputQuantity),\n\t\t\t\t\ttx.pure.bool(isBid),\n\t\t\t\t\ttx.pure.bool(payWithDeep),\n\t\t\t\t],\n\t\t\t});\n\t\t};\n\n\t// === Public Functions ===\n\n\t/**\n\t * @description Add a conditional order (take profit or stop loss)\n\t * @param {AddConditionalOrderParams} params Parameters for adding the conditional order\n\t * @returns A function that takes a Transaction object\n\t */\n\taddConditionalOrder = (params: AddConditionalOrderParams) => (tx: Transaction) => {\n\t\tconst { marginManagerKey, conditionalOrderId, triggerBelowPrice, triggerPrice, pendingOrder } =\n\t\t\tparams;\n\t\tconst manager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst pool = this.#config.getPool(manager.poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\n\t\t// Create condition\n\t\tconst condition = this.newCondition(manager.poolKey, triggerBelowPrice, triggerPrice)(tx);\n\n\t\t// Create pending order based on type\n\t\tconst isLimitOrder = 'price' in pendingOrder;\n\t\tconst pending = isLimitOrder\n\t\t\t? this.newPendingLimitOrder(manager.poolKey, pendingOrder as PendingLimitOrderParams)(tx)\n\t\t\t: this.newPendingMarketOrder(manager.poolKey, pendingOrder as PendingMarketOrderParams)(tx);\n\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::add_conditional_order`,\n\t\t\targuments: [\n\t\t\t\ttx.object(manager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.object(baseCoin.priceInfoObjectId!),\n\t\t\t\ttx.object(quoteCoin.priceInfoObjectId!),\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.pure.u64(conditionalOrderId),\n\t\t\t\tcondition,\n\t\t\t\tpending,\n\t\t\t\ttx.object.clock(),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Cancel all conditional orders for a margin manager\n\t * @param {string} marginManagerKey The key to identify the margin manager\n\t * @returns A function that takes a Transaction object\n\t */\n\tcancelAllConditionalOrders = (marginManagerKey: string) => (tx: Transaction) => {\n\t\tconst manager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst pool = this.#config.getPool(manager.poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::cancel_all_conditional_orders`,\n\t\t\targuments: [tx.object(manager.address), tx.object.clock()],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Cancel a specific conditional order\n\t * @param {string} marginManagerKey The key to identify the margin manager\n\t * @param {string} conditionalOrderId The ID of the conditional order to cancel\n\t * @returns A function that takes a Transaction object\n\t */\n\tcancelConditionalOrder =\n\t\t(marginManagerKey: string, conditionalOrderId: string) => (tx: Transaction) => {\n\t\t\tconst manager = this.#config.getMarginManager(marginManagerKey);\n\t\t\tconst pool = this.#config.getPool(manager.poolKey);\n\t\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::cancel_conditional_order`,\n\t\t\t\targuments: [tx.object(manager.address), tx.pure.u64(conditionalOrderId), tx.object.clock()],\n\t\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Execute conditional orders that have been triggered\n\t * This is a permissionless function that can be called by anyone\n\t * @param {string} marginManagerKey The key to identify the margin manager\n\t * @param {number} maxOrdersToExecute Maximum number of orders to execute in this call\n\t * @returns A function that takes a Transaction object\n\t */\n\texecuteConditionalOrders =\n\t\t(marginManagerKey: string, maxOrdersToExecute: number) => (tx: Transaction) => {\n\t\t\tconst manager = this.#config.getMarginManager(marginManagerKey);\n\t\t\tconst pool = this.#config.getPool(manager.poolKey);\n\t\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\t\treturn tx.moveCall({\n\t\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::execute_conditional_orders`,\n\t\t\t\targuments: [\n\t\t\t\t\ttx.object(manager.address),\n\t\t\t\t\ttx.object(pool.address),\n\t\t\t\t\ttx.object(baseCoin.priceInfoObjectId!),\n\t\t\t\t\ttx.object(quoteCoin.priceInfoObjectId!),\n\t\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\t\ttx.pure.u64(maxOrdersToExecute),\n\t\t\t\t\ttx.object.clock(),\n\t\t\t\t],\n\t\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t\t});\n\t\t};\n\n\t// === Read-Only Functions ===\n\n\t/**\n\t * @description Get all conditional order IDs for a margin manager\n\t * @param {string} poolKey The key to identify the pool\n\t * @param {string} marginManagerId The ID of the margin manager\n\t * @returns A function that takes a Transaction object\n\t */\n\tconditionalOrderIds = (poolKey: string, marginManagerId: 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_manager::conditional_order_ids`,\n\t\t\targuments: [tx.object(marginManagerId)],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get a specific conditional order by ID\n\t * @param {string} poolKey The key to identify the pool\n\t * @param {string} marginManagerId The ID of the margin manager\n\t * @param {string} conditionalOrderId The ID of the conditional order\n\t * @returns A function that takes a Transaction object\n\t */\n\tconditionalOrder =\n\t\t(poolKey: string, marginManagerId: string, conditionalOrderId: string) => (tx: Transaction) => {\n\t\t\tconst pool = this.#config.getPool(poolKey);\n\t\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\t\treturn tx.moveCall({\n\t\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::conditional_order`,\n\t\t\t\targuments: [tx.object(marginManagerId), tx.pure.u64(conditionalOrderId)],\n\t\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Get the lowest trigger price for trigger_above orders\n\t * Returns constants::max_u64() if there are no trigger_above orders\n\t * @param {string} poolKey The key to identify the pool\n\t * @param {string} marginManagerId The ID of the margin manager\n\t * @returns A function that takes a Transaction object\n\t */\n\tlowestTriggerAbovePrice = (poolKey: string, marginManagerId: 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_manager::lowest_trigger_above_price`,\n\t\t\targuments: [tx.object(marginManagerId)],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the highest trigger price for trigger_below orders\n\t * Returns 0 if there are no trigger_below orders\n\t * @param {string} poolKey The key to identify the pool\n\t * @param {string} marginManagerId The ID of the margin manager\n\t * @returns A function that takes a Transaction object\n\t */\n\thighestTriggerBelowPrice = (poolKey: string, marginManagerId: 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_manager::highest_trigger_below_price`,\n\t\t\targuments: [tx.object(marginManagerId)],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,mBAA+C;AAC/C,oBAA4C;AAX5C;AAgBO,MAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA,EAM/B,YAAY,QAAwB;AALpC;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBACC,CAAC,SAAiB,mBAA4B,iBAAyB,CAAC,OAAoB;AAC3F,YAAM,OAAO,mBAAK,SAAQ,QAAQ,OAAO;AACzC,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,YAAY,mBAAK,SAAQ,QAAQ,KAAK,SAAS;AACrD,YAAM,aAAa,KAAK;AAAA,QACtB,eAAe,6BAAe,UAAU,SAAU,SAAS;AAAA,MAC7D;AACA,aAAO,GAAG,SAAS;AAAA,QAClB,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW,CAAC,GAAG,KAAK,KAAK,iBAAiB,GAAG,GAAG,KAAK,IAAI,UAAU,CAAC;AAAA,MACrE,CAAC;AAAA,IACF;AAQD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCACC,CAAC,SAAiB,WAAoC,CAAC,OAAoB;AAC1E,YAAM;AAAA,QACL;AAAA,QACA,YAAY,uBAAU;AAAA,QACtB,qBAAqB,iCAAoB;AAAA,QACzC;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd,kBAAkB;AAAA,MACnB,IAAI;AACJ,YAAM,OAAO,mBAAK,SAAQ,QAAQ,OAAO;AACzC,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,YAAY,mBAAK,SAAQ,QAAQ,KAAK,SAAS;AACrD,YAAM,aAAa,KAAK,MAAO,QAAQ,6BAAe,UAAU,SAAU,SAAS,MAAM;AACzF,YAAM,gBAAgB,KAAK,MAAM,WAAW,SAAS,MAAM;AAC3D,aAAO,GAAG,SAAS;AAAA,QAClB,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW;AAAA,UACV,GAAG,KAAK,IAAI,aAAa;AAAA,UACzB,GAAG,KAAK,GAAG,SAAS;AAAA,UACpB,GAAG,KAAK,GAAG,kBAAkB;AAAA,UAC7B,GAAG,KAAK,IAAI,UAAU;AAAA,UACtB,GAAG,KAAK,IAAI,aAAa;AAAA,UACzB,GAAG,KAAK,KAAK,KAAK;AAAA,UAClB,GAAG,KAAK,KAAK,WAAW;AAAA,UACxB,GAAG,KAAK,IAAI,eAAe;AAAA,QAC5B;AAAA,MACD,CAAC;AAAA,IACF;AAQD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCACC,CAAC,SAAiB,WAAqC,CAAC,OAAoB;AAC3E,YAAM;AAAA,QACL;AAAA,QACA,qBAAqB,iCAAoB;AAAA,QACzC;AAAA,QACA;AAAA,QACA,cAAc;AAAA,MACf,IAAI;AACJ,YAAM,OAAO,mBAAK,SAAQ,QAAQ,OAAO;AACzC,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,gBAAgB,KAAK,MAAM,WAAW,SAAS,MAAM;AAC3D,aAAO,GAAG,SAAS;AAAA,QAClB,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW;AAAA,UACV,GAAG,KAAK,IAAI,aAAa;AAAA,UACzB,GAAG,KAAK,GAAG,kBAAkB;AAAA,UAC7B,GAAG,KAAK,IAAI,aAAa;AAAA,UACzB,GAAG,KAAK,KAAK,KAAK;AAAA,UAClB,GAAG,KAAK,KAAK,WAAW;AAAA,QACzB;AAAA,MACD,CAAC;AAAA,IACF;AASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAsB,CAAC,WAAsC,CAAC,OAAoB;AACjF,YAAM,EAAE,kBAAkB,oBAAoB,mBAAmB,cAAc,aAAa,IAC3F;AACD,YAAM,UAAU,mBAAK,SAAQ,iBAAiB,gBAAgB;AAC9D,YAAM,OAAO,mBAAK,SAAQ,QAAQ,QAAQ,OAAO;AACjD,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,YAAY,mBAAK,SAAQ,QAAQ,KAAK,SAAS;AAGrD,YAAM,YAAY,KAAK,aAAa,QAAQ,SAAS,mBAAmB,YAAY,EAAE,EAAE;AAGxF,YAAM,eAAe,WAAW;AAChC,YAAM,UAAU,eACb,KAAK,qBAAqB,QAAQ,SAAS,YAAuC,EAAE,EAAE,IACtF,KAAK,sBAAsB,QAAQ,SAAS,YAAwC,EAAE,EAAE;AAE3F,SAAG,SAAS;AAAA,QACX,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW;AAAA,UACV,GAAG,OAAO,QAAQ,OAAO;AAAA,UACzB,GAAG,OAAO,KAAK,OAAO;AAAA,UACtB,GAAG,OAAO,SAAS,iBAAkB;AAAA,UACrC,GAAG,OAAO,UAAU,iBAAkB;AAAA,UACtC,GAAG,OAAO,mBAAK,SAAQ,kBAAkB;AAAA,UACzC,GAAG,KAAK,IAAI,kBAAkB;AAAA,UAC9B;AAAA,UACA;AAAA,UACA,GAAG,OAAO,MAAM;AAAA,QACjB;AAAA,QACA,eAAe,CAAC,SAAS,MAAM,UAAU,IAAI;AAAA,MAC9C,CAAC;AAAA,IACF;AAOA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAA6B,CAAC,qBAA6B,CAAC,OAAoB;AAC/E,YAAM,UAAU,mBAAK,SAAQ,iBAAiB,gBAAgB;AAC9D,YAAM,OAAO,mBAAK,SAAQ,QAAQ,QAAQ,OAAO;AACjD,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,YAAY,mBAAK,SAAQ,QAAQ,KAAK,SAAS;AACrD,SAAG,SAAS;AAAA,QACX,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW,CAAC,GAAG,OAAO,QAAQ,OAAO,GAAG,GAAG,OAAO,MAAM,CAAC;AAAA,QACzD,eAAe,CAAC,SAAS,MAAM,UAAU,IAAI;AAAA,MAC9C,CAAC;AAAA,IACF;AAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kCACC,CAAC,kBAA0B,uBAA+B,CAAC,OAAoB;AAC9E,YAAM,UAAU,mBAAK,SAAQ,iBAAiB,gBAAgB;AAC9D,YAAM,OAAO,mBAAK,SAAQ,QAAQ,QAAQ,OAAO;AACjD,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,YAAY,mBAAK,SAAQ,QAAQ,KAAK,SAAS;AACrD,SAAG,SAAS;AAAA,QACX,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW,CAAC,GAAG,OAAO,QAAQ,OAAO,GAAG,GAAG,KAAK,IAAI,kBAAkB,GAAG,GAAG,OAAO,MAAM,CAAC;AAAA,QAC1F,eAAe,CAAC,SAAS,MAAM,UAAU,IAAI;AAAA,MAC9C,CAAC;AAAA,IACF;AASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCACC,CAAC,kBAA0B,uBAA+B,CAAC,OAAoB;AAC9E,YAAM,UAAU,mBAAK,SAAQ,iBAAiB,gBAAgB;AAC9D,YAAM,OAAO,mBAAK,SAAQ,QAAQ,QAAQ,OAAO;AACjD,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,YAAY,mBAAK,SAAQ,QAAQ,KAAK,SAAS;AACrD,aAAO,GAAG,SAAS;AAAA,QAClB,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW;AAAA,UACV,GAAG,OAAO,QAAQ,OAAO;AAAA,UACzB,GAAG,OAAO,KAAK,OAAO;AAAA,UACtB,GAAG,OAAO,SAAS,iBAAkB;AAAA,UACrC,GAAG,OAAO,UAAU,iBAAkB;AAAA,UACtC,GAAG,OAAO,mBAAK,SAAQ,kBAAkB;AAAA,UACzC,GAAG,KAAK,IAAI,kBAAkB;AAAA,UAC9B,GAAG,OAAO,MAAM;AAAA,QACjB;AAAA,QACA,eAAe,CAAC,SAAS,MAAM,UAAU,IAAI;AAAA,MAC9C,CAAC;AAAA,IACF;AAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAsB,CAAC,SAAiB,oBAA4B,CAAC,OAAoB;AACxF,YAAM,OAAO,mBAAK,SAAQ,QAAQ,OAAO;AACzC,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,YAAY,mBAAK,SAAQ,QAAQ,KAAK,SAAS;AACrD,aAAO,GAAG,SAAS;AAAA,QAClB,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW,CAAC,GAAG,OAAO,eAAe,CAAC;AAAA,QACtC,eAAe,CAAC,SAAS,MAAM,UAAU,IAAI;AAAA,MAC9C,CAAC;AAAA,IACF;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BACC,CAAC,SAAiB,iBAAyB,uBAA+B,CAAC,OAAoB;AAC9F,YAAM,OAAO,mBAAK,SAAQ,QAAQ,OAAO;AACzC,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,YAAY,mBAAK,SAAQ,QAAQ,KAAK,SAAS;AACrD,aAAO,GAAG,SAAS;AAAA,QAClB,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW,CAAC,GAAG,OAAO,eAAe,GAAG,GAAG,KAAK,IAAI,kBAAkB,CAAC;AAAA,QACvE,eAAe,CAAC,SAAS,MAAM,UAAU,IAAI;AAAA,MAC9C,CAAC;AAAA,IACF;AASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAA0B,CAAC,SAAiB,oBAA4B,CAAC,OAAoB;AAC5F,YAAM,OAAO,mBAAK,SAAQ,QAAQ,OAAO;AACzC,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,YAAY,mBAAK,SAAQ,QAAQ,KAAK,SAAS;AACrD,aAAO,GAAG,SAAS;AAAA,QAClB,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW,CAAC,GAAG,OAAO,eAAe,CAAC;AAAA,QACtC,eAAe,CAAC,SAAS,MAAM,UAAU,IAAI;AAAA,MAC9C,CAAC;AAAA,IACF;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAA2B,CAAC,SAAiB,oBAA4B,CAAC,OAAoB;AAC7F,YAAM,OAAO,mBAAK,SAAQ,QAAQ,OAAO;AACzC,YAAM,WAAW,mBAAK,SAAQ,QAAQ,KAAK,QAAQ;AACnD,YAAM,YAAY,mBAAK,SAAQ,QAAQ,KAAK,SAAS;AACrD,aAAO,GAAG,SAAS;AAAA,QAClB,QAAQ,GAAG,mBAAK,SAAQ,iBAAiB;AAAA,QACzC,WAAW,CAAC,GAAG,OAAO,eAAe,CAAC;AAAA,QACtC,eAAe,CAAC,SAAS,MAAM,UAAU,IAAI;AAAA,MAC9C,CAAC;AAAA,IACF;AA/QC,uBAAK,SAAU;AAAA,EAChB;AA+QD;AAtRC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,104 @@
1
+ import type { Transaction } from '@haneullabs/haneul/transactions';
2
+ import type { PlaceMarginLimitOrderParams, PlaceMarginMarketOrderParams, MarginProposalParams } from '../types/index.js';
3
+ import type { DeepBookConfig } from '../utils/config.js';
4
+ /**
5
+ * PoolProxyContract class for managing PoolProxy operations.
6
+ */
7
+ export declare class PoolProxyContract {
8
+ #private;
9
+ /**
10
+ * @param {DeepBookConfig} config Configuration for PoolProxyContract
11
+ */
12
+ constructor(config: DeepBookConfig);
13
+ /**
14
+ * @description Place a limit order
15
+ * @param {PlaceMarginLimitOrderParams} params Parameters for placing a limit order
16
+ * @returns A function that takes a Transaction object
17
+ */
18
+ placeLimitOrder: (params: PlaceMarginLimitOrderParams) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
19
+ /**
20
+ * @description Place a market order
21
+ * @param {PlaceMarginMarketOrderParams} params Parameters for placing a market order
22
+ * @returns A function that takes a Transaction object
23
+ */
24
+ placeMarketOrder: (params: PlaceMarginMarketOrderParams) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
25
+ /**
26
+ * @description Place a reduce only limit order
27
+ * @param {PlaceMarginLimitOrderParams} params Parameters for placing a reduce only limit order
28
+ * @returns A function that takes a Transaction object
29
+ */
30
+ placeReduceOnlyLimitOrder: (params: PlaceMarginLimitOrderParams) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
31
+ /**
32
+ * @description Place a reduce only market order
33
+ * @param {PlaceMarginMarketOrderParams} params Parameters for placing a reduce only market order
34
+ * @returns A function that takes a Transaction object
35
+ */
36
+ placeReduceOnlyMarketOrder: (params: PlaceMarginMarketOrderParams) => (tx: Transaction) => import("@haneullabs/haneul/transactions").TransactionResult;
37
+ /**
38
+ * @description Modify an existing order
39
+ * @param {string} marginManagerKey The key to identify the MarginManager
40
+ * @param {string} orderId Order ID to modify
41
+ * @param {number} newQuantity New quantity for the order
42
+ * @returns A function that takes a Transaction object
43
+ */
44
+ modifyOrder: (marginManagerKey: string, orderId: string, newQuantity: number) => (tx: Transaction) => void;
45
+ /**
46
+ * @description Cancel an existing order
47
+ * @param {string} marginManagerKey The key to identify the MarginManager
48
+ * @param {string} orderId Order ID to cancel
49
+ * @returns A function that takes a Transaction object
50
+ */
51
+ cancelOrder: (marginManagerKey: string, orderId: string) => (tx: Transaction) => void;
52
+ /**
53
+ * @description Cancel multiple existing orders
54
+ * @param {string} marginManagerKey The key to identify the MarginManager
55
+ * @param {string[]} orderIds Order IDs to cancel
56
+ * @returns A function that takes a Transaction object
57
+ */
58
+ cancelOrders: (marginManagerKey: string, orderIds: string[]) => (tx: Transaction) => void;
59
+ /**
60
+ * @description Cancel all existing orders
61
+ * @param {string} marginManagerKey The key to identify the MarginManager
62
+ * @returns A function that takes a Transaction object
63
+ */
64
+ cancelAllOrders: (marginManagerKey: string) => (tx: Transaction) => void;
65
+ /**
66
+ * @description Withdraw settled amounts
67
+ * @param {string} marginManagerKey The key to identify the MarginManager
68
+ * @returns A function that takes a Transaction object
69
+ */
70
+ withdrawSettledAmounts: (marginManagerKey: string) => (tx: Transaction) => void;
71
+ /**
72
+ * @description Stake in the pool
73
+ * @param {string} marginManagerKey The key to identify the MarginManager
74
+ * @param {number} stakeAmount The amount to stake
75
+ * @returns A function that takes a Transaction object
76
+ */
77
+ stake: (marginManagerKey: string, stakeAmount: number) => (tx: Transaction) => void;
78
+ /**
79
+ * @description Unstake from the pool
80
+ * @param {string} marginManagerKey The key to identify the MarginManager
81
+ * @returns A function that takes a Transaction object
82
+ */
83
+ unstake: (marginManagerKey: string) => (tx: Transaction) => void;
84
+ /**
85
+ * @description Submit a proposal
86
+ * @param {string} marginManagerKey The key to identify the MarginManager
87
+ * @param {MarginProposalParams} params Parameters for the proposal
88
+ * @returns A function that takes a Transaction object
89
+ */
90
+ submitProposal: (marginManagerKey: string, params: MarginProposalParams) => (tx: Transaction) => void;
91
+ /**
92
+ * @description Vote on a proposal
93
+ * @param {string} marginManagerKey The key to identify the MarginManager
94
+ * @param {string} proposalId The ID of the proposal to vote on
95
+ * @returns A function that takes a Transaction object
96
+ */
97
+ vote: (marginManagerKey: string, proposalId: string) => (tx: Transaction) => void;
98
+ /**
99
+ * @description Claim a rebate from a pool
100
+ * @param {string} marginManagerKey The key to identify the MarginManager
101
+ * @returns A function that takes a Transaction object
102
+ */
103
+ claimRebate: (marginManagerKey: string) => (tx: Transaction) => void;
104
+ }