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