@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,266 @@
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
+ import { OrderType, SelfMatchingOptions } from "../types/index.js";
10
+ import { MAX_TIMESTAMP, FLOAT_SCALAR } from "../utils/config.js";
11
+ class MarginTPSLContract {
12
+ /**
13
+ * @param {DeepBookConfig} config Configuration for MarginTPSLContract
14
+ */
15
+ constructor(config) {
16
+ __privateAdd(this, _config);
17
+ // === Helper Functions ===
18
+ /**
19
+ * @description Create a new condition for a conditional order
20
+ * @param {string} poolKey The key to identify the pool
21
+ * @param {boolean} triggerBelowPrice Whether to trigger when price is below trigger price
22
+ * @param {number} triggerPrice The price at which to trigger the order
23
+ * @returns A function that takes a Transaction object
24
+ */
25
+ this.newCondition = (poolKey, triggerBelowPrice, triggerPrice) => (tx) => {
26
+ const pool = __privateGet(this, _config).getPool(poolKey);
27
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
28
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
29
+ const inputPrice = Math.round(
30
+ triggerPrice * FLOAT_SCALAR * quoteCoin.scalar / baseCoin.scalar
31
+ );
32
+ return tx.moveCall({
33
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::tpsl::new_condition`,
34
+ arguments: [tx.pure.bool(triggerBelowPrice), tx.pure.u64(inputPrice)]
35
+ });
36
+ };
37
+ /**
38
+ * @description Create a new pending limit order for use in conditional orders
39
+ * @param {string} poolKey The key to identify the pool
40
+ * @param {PendingLimitOrderParams} params Parameters for the pending limit order
41
+ * @returns A function that takes a Transaction object
42
+ */
43
+ this.newPendingLimitOrder = (poolKey, params) => (tx) => {
44
+ const {
45
+ clientOrderId,
46
+ orderType = OrderType.NO_RESTRICTION,
47
+ selfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED,
48
+ price,
49
+ quantity,
50
+ isBid,
51
+ payWithDeep = true,
52
+ expireTimestamp = MAX_TIMESTAMP
53
+ } = params;
54
+ const pool = __privateGet(this, _config).getPool(poolKey);
55
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
56
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
57
+ const inputPrice = Math.round(price * FLOAT_SCALAR * quoteCoin.scalar / baseCoin.scalar);
58
+ const inputQuantity = Math.round(quantity * baseCoin.scalar);
59
+ return tx.moveCall({
60
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::tpsl::new_pending_limit_order`,
61
+ arguments: [
62
+ tx.pure.u64(clientOrderId),
63
+ tx.pure.u8(orderType),
64
+ tx.pure.u8(selfMatchingOption),
65
+ tx.pure.u64(inputPrice),
66
+ tx.pure.u64(inputQuantity),
67
+ tx.pure.bool(isBid),
68
+ tx.pure.bool(payWithDeep),
69
+ tx.pure.u64(expireTimestamp)
70
+ ]
71
+ });
72
+ };
73
+ /**
74
+ * @description Create a new pending market order for use in conditional orders
75
+ * @param {string} poolKey The key to identify the pool
76
+ * @param {PendingMarketOrderParams} params Parameters for the pending market order
77
+ * @returns A function that takes a Transaction object
78
+ */
79
+ this.newPendingMarketOrder = (poolKey, params) => (tx) => {
80
+ const {
81
+ clientOrderId,
82
+ selfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED,
83
+ quantity,
84
+ isBid,
85
+ payWithDeep = true
86
+ } = params;
87
+ const pool = __privateGet(this, _config).getPool(poolKey);
88
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
89
+ const inputQuantity = Math.round(quantity * baseCoin.scalar);
90
+ return tx.moveCall({
91
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::tpsl::new_pending_market_order`,
92
+ arguments: [
93
+ tx.pure.u64(clientOrderId),
94
+ tx.pure.u8(selfMatchingOption),
95
+ tx.pure.u64(inputQuantity),
96
+ tx.pure.bool(isBid),
97
+ tx.pure.bool(payWithDeep)
98
+ ]
99
+ });
100
+ };
101
+ // === Public Functions ===
102
+ /**
103
+ * @description Add a conditional order (take profit or stop loss)
104
+ * @param {AddConditionalOrderParams} params Parameters for adding the conditional order
105
+ * @returns A function that takes a Transaction object
106
+ */
107
+ this.addConditionalOrder = (params) => (tx) => {
108
+ const { marginManagerKey, conditionalOrderId, triggerBelowPrice, triggerPrice, pendingOrder } = params;
109
+ const manager = __privateGet(this, _config).getMarginManager(marginManagerKey);
110
+ const pool = __privateGet(this, _config).getPool(manager.poolKey);
111
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
112
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
113
+ const condition = this.newCondition(manager.poolKey, triggerBelowPrice, triggerPrice)(tx);
114
+ const isLimitOrder = "price" in pendingOrder;
115
+ const pending = isLimitOrder ? this.newPendingLimitOrder(manager.poolKey, pendingOrder)(tx) : this.newPendingMarketOrder(manager.poolKey, pendingOrder)(tx);
116
+ tx.moveCall({
117
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::add_conditional_order`,
118
+ arguments: [
119
+ tx.object(manager.address),
120
+ tx.object(pool.address),
121
+ tx.object(baseCoin.priceInfoObjectId),
122
+ tx.object(quoteCoin.priceInfoObjectId),
123
+ tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
124
+ tx.pure.u64(conditionalOrderId),
125
+ condition,
126
+ pending,
127
+ tx.object.clock()
128
+ ],
129
+ typeArguments: [baseCoin.type, quoteCoin.type]
130
+ });
131
+ };
132
+ /**
133
+ * @description Cancel all conditional orders for a margin manager
134
+ * @param {string} marginManagerKey The key to identify the margin manager
135
+ * @returns A function that takes a Transaction object
136
+ */
137
+ this.cancelAllConditionalOrders = (marginManagerKey) => (tx) => {
138
+ const manager = __privateGet(this, _config).getMarginManager(marginManagerKey);
139
+ const pool = __privateGet(this, _config).getPool(manager.poolKey);
140
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
141
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
142
+ tx.moveCall({
143
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::cancel_all_conditional_orders`,
144
+ arguments: [tx.object(manager.address), tx.object.clock()],
145
+ typeArguments: [baseCoin.type, quoteCoin.type]
146
+ });
147
+ };
148
+ /**
149
+ * @description Cancel a specific conditional order
150
+ * @param {string} marginManagerKey The key to identify the margin manager
151
+ * @param {string} conditionalOrderId The ID of the conditional order to cancel
152
+ * @returns A function that takes a Transaction object
153
+ */
154
+ this.cancelConditionalOrder = (marginManagerKey, conditionalOrderId) => (tx) => {
155
+ const manager = __privateGet(this, _config).getMarginManager(marginManagerKey);
156
+ const pool = __privateGet(this, _config).getPool(manager.poolKey);
157
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
158
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
159
+ tx.moveCall({
160
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::cancel_conditional_order`,
161
+ arguments: [tx.object(manager.address), tx.pure.u64(conditionalOrderId), tx.object.clock()],
162
+ typeArguments: [baseCoin.type, quoteCoin.type]
163
+ });
164
+ };
165
+ /**
166
+ * @description Execute conditional orders that have been triggered
167
+ * This is a permissionless function that can be called by anyone
168
+ * @param {string} marginManagerKey The key to identify the margin manager
169
+ * @param {number} maxOrdersToExecute Maximum number of orders to execute in this call
170
+ * @returns A function that takes a Transaction object
171
+ */
172
+ this.executeConditionalOrders = (marginManagerKey, maxOrdersToExecute) => (tx) => {
173
+ const manager = __privateGet(this, _config).getMarginManager(marginManagerKey);
174
+ const pool = __privateGet(this, _config).getPool(manager.poolKey);
175
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
176
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
177
+ return tx.moveCall({
178
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::execute_conditional_orders`,
179
+ arguments: [
180
+ tx.object(manager.address),
181
+ tx.object(pool.address),
182
+ tx.object(baseCoin.priceInfoObjectId),
183
+ tx.object(quoteCoin.priceInfoObjectId),
184
+ tx.object(__privateGet(this, _config).MARGIN_REGISTRY_ID),
185
+ tx.pure.u64(maxOrdersToExecute),
186
+ tx.object.clock()
187
+ ],
188
+ typeArguments: [baseCoin.type, quoteCoin.type]
189
+ });
190
+ };
191
+ // === Read-Only Functions ===
192
+ /**
193
+ * @description Get all conditional order IDs for a margin manager
194
+ * @param {string} poolKey The key to identify the pool
195
+ * @param {string} marginManagerId The ID of the margin manager
196
+ * @returns A function that takes a Transaction object
197
+ */
198
+ this.conditionalOrderIds = (poolKey, marginManagerId) => (tx) => {
199
+ const pool = __privateGet(this, _config).getPool(poolKey);
200
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
201
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
202
+ return tx.moveCall({
203
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::conditional_order_ids`,
204
+ arguments: [tx.object(marginManagerId)],
205
+ typeArguments: [baseCoin.type, quoteCoin.type]
206
+ });
207
+ };
208
+ /**
209
+ * @description Get a specific conditional order by ID
210
+ * @param {string} poolKey The key to identify the pool
211
+ * @param {string} marginManagerId The ID of the margin manager
212
+ * @param {string} conditionalOrderId The ID of the conditional order
213
+ * @returns A function that takes a Transaction object
214
+ */
215
+ this.conditionalOrder = (poolKey, marginManagerId, conditionalOrderId) => (tx) => {
216
+ const pool = __privateGet(this, _config).getPool(poolKey);
217
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
218
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
219
+ return tx.moveCall({
220
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::conditional_order`,
221
+ arguments: [tx.object(marginManagerId), tx.pure.u64(conditionalOrderId)],
222
+ typeArguments: [baseCoin.type, quoteCoin.type]
223
+ });
224
+ };
225
+ /**
226
+ * @description Get the lowest trigger price for trigger_above orders
227
+ * Returns constants::max_u64() if there are no trigger_above orders
228
+ * @param {string} poolKey The key to identify the pool
229
+ * @param {string} marginManagerId The ID of the margin manager
230
+ * @returns A function that takes a Transaction object
231
+ */
232
+ this.lowestTriggerAbovePrice = (poolKey, marginManagerId) => (tx) => {
233
+ const pool = __privateGet(this, _config).getPool(poolKey);
234
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
235
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
236
+ return tx.moveCall({
237
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::lowest_trigger_above_price`,
238
+ arguments: [tx.object(marginManagerId)],
239
+ typeArguments: [baseCoin.type, quoteCoin.type]
240
+ });
241
+ };
242
+ /**
243
+ * @description Get the highest trigger price for trigger_below orders
244
+ * Returns 0 if there are no trigger_below orders
245
+ * @param {string} poolKey The key to identify the pool
246
+ * @param {string} marginManagerId The ID of the margin manager
247
+ * @returns A function that takes a Transaction object
248
+ */
249
+ this.highestTriggerBelowPrice = (poolKey, marginManagerId) => (tx) => {
250
+ const pool = __privateGet(this, _config).getPool(poolKey);
251
+ const baseCoin = __privateGet(this, _config).getCoin(pool.baseCoin);
252
+ const quoteCoin = __privateGet(this, _config).getCoin(pool.quoteCoin);
253
+ return tx.moveCall({
254
+ target: `${__privateGet(this, _config).MARGIN_PACKAGE_ID}::margin_manager::highest_trigger_below_price`,
255
+ arguments: [tx.object(marginManagerId)],
256
+ typeArguments: [baseCoin.type, quoteCoin.type]
257
+ });
258
+ };
259
+ __privateSet(this, _config, config);
260
+ }
261
+ }
262
+ _config = new WeakMap();
263
+ export {
264
+ MarginTPSLContract
265
+ };
266
+ //# 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": "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",
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
+ }