@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,513 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * Order module defines the order struct and its methods. All order matching
6
+ * happens in this module.
7
+ */
8
+
9
+ import { MoveStruct, normalizeMoveArguments } from '../utils/index.js';
10
+ import type { RawTransactionArgument } from '../utils/index.js';
11
+ import { bcs } from '@haneullabs/haneul/bcs';
12
+ import type { Transaction } from '@haneullabs/haneul/transactions';
13
+ import * as deep_price from './deep_price.js';
14
+ import * as fill from './fill.js';
15
+ const $moduleName = '@deepbook/core::order_info';
16
+ export const OrderInfo = new MoveStruct({
17
+ name: `${$moduleName}::OrderInfo`,
18
+ fields: {
19
+ pool_id: bcs.Address,
20
+ order_id: bcs.u128(),
21
+ balance_manager_id: bcs.Address,
22
+ client_order_id: bcs.u64(),
23
+ trader: bcs.Address,
24
+ order_type: bcs.u8(),
25
+ self_matching_option: bcs.u8(),
26
+ price: bcs.u64(),
27
+ is_bid: bcs.bool(),
28
+ original_quantity: bcs.u64(),
29
+ order_deep_price: deep_price.OrderDeepPrice,
30
+ expire_timestamp: bcs.u64(),
31
+ executed_quantity: bcs.u64(),
32
+ cumulative_quote_quantity: bcs.u64(),
33
+ fills: bcs.vector(fill.Fill),
34
+ fee_is_deep: bcs.bool(),
35
+ paid_fees: bcs.u64(),
36
+ maker_fees: bcs.u64(),
37
+ epoch: bcs.u64(),
38
+ status: bcs.u8(),
39
+ market_order: bcs.bool(),
40
+ fill_limit_reached: bcs.bool(),
41
+ order_inserted: bcs.bool(),
42
+ timestamp: bcs.u64(),
43
+ },
44
+ });
45
+ export const OrderFilled = new MoveStruct({
46
+ name: `${$moduleName}::OrderFilled`,
47
+ fields: {
48
+ pool_id: bcs.Address,
49
+ maker_order_id: bcs.u128(),
50
+ taker_order_id: bcs.u128(),
51
+ maker_client_order_id: bcs.u64(),
52
+ taker_client_order_id: bcs.u64(),
53
+ price: bcs.u64(),
54
+ taker_is_bid: bcs.bool(),
55
+ taker_fee: bcs.u64(),
56
+ taker_fee_is_deep: bcs.bool(),
57
+ maker_fee: bcs.u64(),
58
+ maker_fee_is_deep: bcs.bool(),
59
+ base_quantity: bcs.u64(),
60
+ quote_quantity: bcs.u64(),
61
+ maker_balance_manager_id: bcs.Address,
62
+ taker_balance_manager_id: bcs.Address,
63
+ timestamp: bcs.u64(),
64
+ },
65
+ });
66
+ export const OrderPlaced = new MoveStruct({
67
+ name: `${$moduleName}::OrderPlaced`,
68
+ fields: {
69
+ balance_manager_id: bcs.Address,
70
+ pool_id: bcs.Address,
71
+ order_id: bcs.u128(),
72
+ client_order_id: bcs.u64(),
73
+ trader: bcs.Address,
74
+ price: bcs.u64(),
75
+ is_bid: bcs.bool(),
76
+ placed_quantity: bcs.u64(),
77
+ expire_timestamp: bcs.u64(),
78
+ timestamp: bcs.u64(),
79
+ },
80
+ });
81
+ export const OrderExpired = new MoveStruct({
82
+ name: `${$moduleName}::OrderExpired`,
83
+ fields: {
84
+ balance_manager_id: bcs.Address,
85
+ pool_id: bcs.Address,
86
+ order_id: bcs.u128(),
87
+ client_order_id: bcs.u64(),
88
+ trader: bcs.Address,
89
+ price: bcs.u64(),
90
+ is_bid: bcs.bool(),
91
+ original_quantity: bcs.u64(),
92
+ base_asset_quantity_canceled: bcs.u64(),
93
+ timestamp: bcs.u64(),
94
+ },
95
+ });
96
+ export interface PoolIdArguments {
97
+ self: RawTransactionArgument<string>;
98
+ }
99
+ export interface PoolIdOptions {
100
+ package?: string;
101
+ arguments: PoolIdArguments | [self: RawTransactionArgument<string>];
102
+ }
103
+ export function poolId(options: PoolIdOptions) {
104
+ const packageAddress = options.package ?? '@deepbook/core';
105
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
106
+ const parameterNames = ['self'];
107
+ return (tx: Transaction) =>
108
+ tx.moveCall({
109
+ package: packageAddress,
110
+ module: 'order_info',
111
+ function: 'pool_id',
112
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
113
+ });
114
+ }
115
+ export interface OrderIdArguments {
116
+ self: RawTransactionArgument<string>;
117
+ }
118
+ export interface OrderIdOptions {
119
+ package?: string;
120
+ arguments: OrderIdArguments | [self: RawTransactionArgument<string>];
121
+ }
122
+ export function orderId(options: OrderIdOptions) {
123
+ const packageAddress = options.package ?? '@deepbook/core';
124
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
125
+ const parameterNames = ['self'];
126
+ return (tx: Transaction) =>
127
+ tx.moveCall({
128
+ package: packageAddress,
129
+ module: 'order_info',
130
+ function: 'order_id',
131
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
132
+ });
133
+ }
134
+ export interface BalanceManagerIdArguments {
135
+ self: RawTransactionArgument<string>;
136
+ }
137
+ export interface BalanceManagerIdOptions {
138
+ package?: string;
139
+ arguments: BalanceManagerIdArguments | [self: RawTransactionArgument<string>];
140
+ }
141
+ export function balanceManagerId(options: BalanceManagerIdOptions) {
142
+ const packageAddress = options.package ?? '@deepbook/core';
143
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
144
+ const parameterNames = ['self'];
145
+ return (tx: Transaction) =>
146
+ tx.moveCall({
147
+ package: packageAddress,
148
+ module: 'order_info',
149
+ function: 'balance_manager_id',
150
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
151
+ });
152
+ }
153
+ export interface ClientOrderIdArguments {
154
+ self: RawTransactionArgument<string>;
155
+ }
156
+ export interface ClientOrderIdOptions {
157
+ package?: string;
158
+ arguments: ClientOrderIdArguments | [self: RawTransactionArgument<string>];
159
+ }
160
+ export function clientOrderId(options: ClientOrderIdOptions) {
161
+ const packageAddress = options.package ?? '@deepbook/core';
162
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
163
+ const parameterNames = ['self'];
164
+ return (tx: Transaction) =>
165
+ tx.moveCall({
166
+ package: packageAddress,
167
+ module: 'order_info',
168
+ function: 'client_order_id',
169
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
170
+ });
171
+ }
172
+ export interface TraderArguments {
173
+ self: RawTransactionArgument<string>;
174
+ }
175
+ export interface TraderOptions {
176
+ package?: string;
177
+ arguments: TraderArguments | [self: RawTransactionArgument<string>];
178
+ }
179
+ export function trader(options: TraderOptions) {
180
+ const packageAddress = options.package ?? '@deepbook/core';
181
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
182
+ const parameterNames = ['self'];
183
+ return (tx: Transaction) =>
184
+ tx.moveCall({
185
+ package: packageAddress,
186
+ module: 'order_info',
187
+ function: 'trader',
188
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
189
+ });
190
+ }
191
+ export interface OrderTypeArguments {
192
+ self: RawTransactionArgument<string>;
193
+ }
194
+ export interface OrderTypeOptions {
195
+ package?: string;
196
+ arguments: OrderTypeArguments | [self: RawTransactionArgument<string>];
197
+ }
198
+ export function orderType(options: OrderTypeOptions) {
199
+ const packageAddress = options.package ?? '@deepbook/core';
200
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
201
+ const parameterNames = ['self'];
202
+ return (tx: Transaction) =>
203
+ tx.moveCall({
204
+ package: packageAddress,
205
+ module: 'order_info',
206
+ function: 'order_type',
207
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
208
+ });
209
+ }
210
+ export interface SelfMatchingOptionArguments {
211
+ self: RawTransactionArgument<string>;
212
+ }
213
+ export interface SelfMatchingOptionOptions {
214
+ package?: string;
215
+ arguments: SelfMatchingOptionArguments | [self: RawTransactionArgument<string>];
216
+ }
217
+ export function selfMatchingOption(options: SelfMatchingOptionOptions) {
218
+ const packageAddress = options.package ?? '@deepbook/core';
219
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
220
+ const parameterNames = ['self'];
221
+ return (tx: Transaction) =>
222
+ tx.moveCall({
223
+ package: packageAddress,
224
+ module: 'order_info',
225
+ function: 'self_matching_option',
226
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
227
+ });
228
+ }
229
+ export interface PriceArguments {
230
+ self: RawTransactionArgument<string>;
231
+ }
232
+ export interface PriceOptions {
233
+ package?: string;
234
+ arguments: PriceArguments | [self: RawTransactionArgument<string>];
235
+ }
236
+ export function price(options: PriceOptions) {
237
+ const packageAddress = options.package ?? '@deepbook/core';
238
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
239
+ const parameterNames = ['self'];
240
+ return (tx: Transaction) =>
241
+ tx.moveCall({
242
+ package: packageAddress,
243
+ module: 'order_info',
244
+ function: 'price',
245
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
246
+ });
247
+ }
248
+ export interface IsBidArguments {
249
+ self: RawTransactionArgument<string>;
250
+ }
251
+ export interface IsBidOptions {
252
+ package?: string;
253
+ arguments: IsBidArguments | [self: RawTransactionArgument<string>];
254
+ }
255
+ export function isBid(options: IsBidOptions) {
256
+ const packageAddress = options.package ?? '@deepbook/core';
257
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
258
+ const parameterNames = ['self'];
259
+ return (tx: Transaction) =>
260
+ tx.moveCall({
261
+ package: packageAddress,
262
+ module: 'order_info',
263
+ function: 'is_bid',
264
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
265
+ });
266
+ }
267
+ export interface OriginalQuantityArguments {
268
+ self: RawTransactionArgument<string>;
269
+ }
270
+ export interface OriginalQuantityOptions {
271
+ package?: string;
272
+ arguments: OriginalQuantityArguments | [self: RawTransactionArgument<string>];
273
+ }
274
+ export function originalQuantity(options: OriginalQuantityOptions) {
275
+ const packageAddress = options.package ?? '@deepbook/core';
276
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
277
+ const parameterNames = ['self'];
278
+ return (tx: Transaction) =>
279
+ tx.moveCall({
280
+ package: packageAddress,
281
+ module: 'order_info',
282
+ function: 'original_quantity',
283
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
284
+ });
285
+ }
286
+ export interface OrderDeepPriceArguments {
287
+ self: RawTransactionArgument<string>;
288
+ }
289
+ export interface OrderDeepPriceOptions {
290
+ package?: string;
291
+ arguments: OrderDeepPriceArguments | [self: RawTransactionArgument<string>];
292
+ }
293
+ export function orderDeepPrice(options: OrderDeepPriceOptions) {
294
+ const packageAddress = options.package ?? '@deepbook/core';
295
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
296
+ const parameterNames = ['self'];
297
+ return (tx: Transaction) =>
298
+ tx.moveCall({
299
+ package: packageAddress,
300
+ module: 'order_info',
301
+ function: 'order_deep_price',
302
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
303
+ });
304
+ }
305
+ export interface ExpireTimestampArguments {
306
+ self: RawTransactionArgument<string>;
307
+ }
308
+ export interface ExpireTimestampOptions {
309
+ package?: string;
310
+ arguments: ExpireTimestampArguments | [self: RawTransactionArgument<string>];
311
+ }
312
+ export function expireTimestamp(options: ExpireTimestampOptions) {
313
+ const packageAddress = options.package ?? '@deepbook/core';
314
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
315
+ const parameterNames = ['self'];
316
+ return (tx: Transaction) =>
317
+ tx.moveCall({
318
+ package: packageAddress,
319
+ module: 'order_info',
320
+ function: 'expire_timestamp',
321
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
322
+ });
323
+ }
324
+ export interface ExecutedQuantityArguments {
325
+ self: RawTransactionArgument<string>;
326
+ }
327
+ export interface ExecutedQuantityOptions {
328
+ package?: string;
329
+ arguments: ExecutedQuantityArguments | [self: RawTransactionArgument<string>];
330
+ }
331
+ export function executedQuantity(options: ExecutedQuantityOptions) {
332
+ const packageAddress = options.package ?? '@deepbook/core';
333
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
334
+ const parameterNames = ['self'];
335
+ return (tx: Transaction) =>
336
+ tx.moveCall({
337
+ package: packageAddress,
338
+ module: 'order_info',
339
+ function: 'executed_quantity',
340
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
341
+ });
342
+ }
343
+ export interface CumulativeQuoteQuantityArguments {
344
+ self: RawTransactionArgument<string>;
345
+ }
346
+ export interface CumulativeQuoteQuantityOptions {
347
+ package?: string;
348
+ arguments: CumulativeQuoteQuantityArguments | [self: RawTransactionArgument<string>];
349
+ }
350
+ export function cumulativeQuoteQuantity(options: CumulativeQuoteQuantityOptions) {
351
+ const packageAddress = options.package ?? '@deepbook/core';
352
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
353
+ const parameterNames = ['self'];
354
+ return (tx: Transaction) =>
355
+ tx.moveCall({
356
+ package: packageAddress,
357
+ module: 'order_info',
358
+ function: 'cumulative_quote_quantity',
359
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
360
+ });
361
+ }
362
+ export interface FillsArguments {
363
+ self: RawTransactionArgument<string>;
364
+ }
365
+ export interface FillsOptions {
366
+ package?: string;
367
+ arguments: FillsArguments | [self: RawTransactionArgument<string>];
368
+ }
369
+ export function fills(options: FillsOptions) {
370
+ const packageAddress = options.package ?? '@deepbook/core';
371
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
372
+ const parameterNames = ['self'];
373
+ return (tx: Transaction) =>
374
+ tx.moveCall({
375
+ package: packageAddress,
376
+ module: 'order_info',
377
+ function: 'fills',
378
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
379
+ });
380
+ }
381
+ export interface FeeIsDeepArguments {
382
+ self: RawTransactionArgument<string>;
383
+ }
384
+ export interface FeeIsDeepOptions {
385
+ package?: string;
386
+ arguments: FeeIsDeepArguments | [self: RawTransactionArgument<string>];
387
+ }
388
+ export function feeIsDeep(options: FeeIsDeepOptions) {
389
+ const packageAddress = options.package ?? '@deepbook/core';
390
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
391
+ const parameterNames = ['self'];
392
+ return (tx: Transaction) =>
393
+ tx.moveCall({
394
+ package: packageAddress,
395
+ module: 'order_info',
396
+ function: 'fee_is_deep',
397
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
398
+ });
399
+ }
400
+ export interface PaidFeesArguments {
401
+ self: RawTransactionArgument<string>;
402
+ }
403
+ export interface PaidFeesOptions {
404
+ package?: string;
405
+ arguments: PaidFeesArguments | [self: RawTransactionArgument<string>];
406
+ }
407
+ export function paidFees(options: PaidFeesOptions) {
408
+ const packageAddress = options.package ?? '@deepbook/core';
409
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
410
+ const parameterNames = ['self'];
411
+ return (tx: Transaction) =>
412
+ tx.moveCall({
413
+ package: packageAddress,
414
+ module: 'order_info',
415
+ function: 'paid_fees',
416
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
417
+ });
418
+ }
419
+ export interface MakerFeesArguments {
420
+ self: RawTransactionArgument<string>;
421
+ }
422
+ export interface MakerFeesOptions {
423
+ package?: string;
424
+ arguments: MakerFeesArguments | [self: RawTransactionArgument<string>];
425
+ }
426
+ export function makerFees(options: MakerFeesOptions) {
427
+ const packageAddress = options.package ?? '@deepbook/core';
428
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
429
+ const parameterNames = ['self'];
430
+ return (tx: Transaction) =>
431
+ tx.moveCall({
432
+ package: packageAddress,
433
+ module: 'order_info',
434
+ function: 'maker_fees',
435
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
436
+ });
437
+ }
438
+ export interface EpochArguments {
439
+ self: RawTransactionArgument<string>;
440
+ }
441
+ export interface EpochOptions {
442
+ package?: string;
443
+ arguments: EpochArguments | [self: RawTransactionArgument<string>];
444
+ }
445
+ export function epoch(options: EpochOptions) {
446
+ const packageAddress = options.package ?? '@deepbook/core';
447
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
448
+ const parameterNames = ['self'];
449
+ return (tx: Transaction) =>
450
+ tx.moveCall({
451
+ package: packageAddress,
452
+ module: 'order_info',
453
+ function: 'epoch',
454
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
455
+ });
456
+ }
457
+ export interface StatusArguments {
458
+ self: RawTransactionArgument<string>;
459
+ }
460
+ export interface StatusOptions {
461
+ package?: string;
462
+ arguments: StatusArguments | [self: RawTransactionArgument<string>];
463
+ }
464
+ export function status(options: StatusOptions) {
465
+ const packageAddress = options.package ?? '@deepbook/core';
466
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
467
+ const parameterNames = ['self'];
468
+ return (tx: Transaction) =>
469
+ tx.moveCall({
470
+ package: packageAddress,
471
+ module: 'order_info',
472
+ function: 'status',
473
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
474
+ });
475
+ }
476
+ export interface FillLimitReachedArguments {
477
+ self: RawTransactionArgument<string>;
478
+ }
479
+ export interface FillLimitReachedOptions {
480
+ package?: string;
481
+ arguments: FillLimitReachedArguments | [self: RawTransactionArgument<string>];
482
+ }
483
+ export function fillLimitReached(options: FillLimitReachedOptions) {
484
+ const packageAddress = options.package ?? '@deepbook/core';
485
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
486
+ const parameterNames = ['self'];
487
+ return (tx: Transaction) =>
488
+ tx.moveCall({
489
+ package: packageAddress,
490
+ module: 'order_info',
491
+ function: 'fill_limit_reached',
492
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
493
+ });
494
+ }
495
+ export interface OrderInsertedArguments {
496
+ self: RawTransactionArgument<string>;
497
+ }
498
+ export interface OrderInsertedOptions {
499
+ package?: string;
500
+ arguments: OrderInsertedArguments | [self: RawTransactionArgument<string>];
501
+ }
502
+ export function orderInserted(options: OrderInsertedOptions) {
503
+ const packageAddress = options.package ?? '@deepbook/core';
504
+ const argumentsTypes = [`${packageAddress}::order_info::OrderInfo`] satisfies string[];
505
+ const parameterNames = ['self'];
506
+ return (tx: Transaction) =>
507
+ tx.moveCall({
508
+ package: packageAddress,
509
+ module: 'order_info',
510
+ function: 'order_inserted',
511
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
512
+ });
513
+ }
@@ -0,0 +1,115 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * This module defines the OrderPage struct and its methods to iterate over orders
6
+ * in a pool.
7
+ */
8
+
9
+ import { MoveStruct, normalizeMoveArguments } from '../utils/index.js';
10
+ import type { RawTransactionArgument } from '../utils/index.js';
11
+ import { bcs } from '@haneullabs/haneul/bcs';
12
+ import type { Transaction } from '@haneullabs/haneul/transactions';
13
+ import * as order from './order.js';
14
+ const $moduleName = '@deepbook/core::order_query';
15
+ export const OrderPage = new MoveStruct({
16
+ name: `${$moduleName}::OrderPage`,
17
+ fields: {
18
+ orders: bcs.vector(order.Order),
19
+ has_next_page: bcs.bool(),
20
+ },
21
+ });
22
+ export interface IterOrdersArguments {
23
+ self: RawTransactionArgument<string>;
24
+ startOrderId: RawTransactionArgument<number | bigint | null>;
25
+ endOrderId: RawTransactionArgument<number | bigint | null>;
26
+ minExpireTimestamp: RawTransactionArgument<number | bigint | null>;
27
+ limit: RawTransactionArgument<number | bigint>;
28
+ bids: RawTransactionArgument<boolean>;
29
+ }
30
+ export interface IterOrdersOptions {
31
+ package?: string;
32
+ arguments:
33
+ | IterOrdersArguments
34
+ | [
35
+ self: RawTransactionArgument<string>,
36
+ startOrderId: RawTransactionArgument<number | bigint | null>,
37
+ endOrderId: RawTransactionArgument<number | bigint | null>,
38
+ minExpireTimestamp: RawTransactionArgument<number | bigint | null>,
39
+ limit: RawTransactionArgument<number | bigint>,
40
+ bids: RawTransactionArgument<boolean>,
41
+ ];
42
+ typeArguments: [string, string];
43
+ }
44
+ /**
45
+ * Bid minimum order id has 0 for its first bit, 0 for next 63 bits for price, and
46
+ * 1 for next 64 bits for order id. Ask minimum order id has 1 for its first bit, 0
47
+ * for next 63 bits for price, and 0 for next 64 bits for order id. Bids are
48
+ * iterated from high to low order id, and asks are iterated from low to high order
49
+ * id.
50
+ */
51
+ export function iterOrders(options: IterOrdersOptions) {
52
+ const packageAddress = options.package ?? '@deepbook/core';
53
+ const argumentsTypes = [
54
+ `${packageAddress}::pool::Pool<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,
55
+ '0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u128>',
56
+ '0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u128>',
57
+ '0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>',
58
+ 'u64',
59
+ 'bool',
60
+ ] satisfies string[];
61
+ const parameterNames = [
62
+ 'self',
63
+ 'startOrderId',
64
+ 'endOrderId',
65
+ 'minExpireTimestamp',
66
+ 'limit',
67
+ 'bids',
68
+ ];
69
+ return (tx: Transaction) =>
70
+ tx.moveCall({
71
+ package: packageAddress,
72
+ module: 'order_query',
73
+ function: 'iter_orders',
74
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
75
+ typeArguments: options.typeArguments,
76
+ });
77
+ }
78
+ export interface OrdersArguments {
79
+ self: RawTransactionArgument<string>;
80
+ }
81
+ export interface OrdersOptions {
82
+ package?: string;
83
+ arguments: OrdersArguments | [self: RawTransactionArgument<string>];
84
+ }
85
+ export function orders(options: OrdersOptions) {
86
+ const packageAddress = options.package ?? '@deepbook/core';
87
+ const argumentsTypes = [`${packageAddress}::order_query::OrderPage`] satisfies string[];
88
+ const parameterNames = ['self'];
89
+ return (tx: Transaction) =>
90
+ tx.moveCall({
91
+ package: packageAddress,
92
+ module: 'order_query',
93
+ function: 'orders',
94
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
95
+ });
96
+ }
97
+ export interface HasNextPageArguments {
98
+ self: RawTransactionArgument<string>;
99
+ }
100
+ export interface HasNextPageOptions {
101
+ package?: string;
102
+ arguments: HasNextPageArguments | [self: RawTransactionArgument<string>];
103
+ }
104
+ export function hasNextPage(options: HasNextPageOptions) {
105
+ const packageAddress = options.package ?? '@deepbook/core';
106
+ const argumentsTypes = [`${packageAddress}::order_query::OrderPage`] satisfies string[];
107
+ const parameterNames = ['self'];
108
+ return (tx: Transaction) =>
109
+ tx.moveCall({
110
+ package: packageAddress,
111
+ module: 'order_query',
112
+ function: 'has_next_page',
113
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
114
+ });
115
+ }