@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,33 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { bcs } from '@haneullabs/haneul/bcs';
4
+ import type { BcsType } from '@haneullabs/haneul/bcs';
5
+ import { MoveStruct } from '../../../utils/index.js';
6
+ const $moduleName = '0x2::vec_map';
7
+ /** An entry in the map */
8
+ export function Entry<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [K, V]) {
9
+ return new MoveStruct({
10
+ name: `${$moduleName}::Entry<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`,
11
+ fields: {
12
+ key: typeParameters[0],
13
+ value: typeParameters[1],
14
+ },
15
+ });
16
+ }
17
+ /**
18
+ * A map data structure backed by a vector. The map is guaranteed not to contain
19
+ * duplicate keys, but entries are _not_ sorted by key--entries are included in
20
+ * insertion order. All operations are O(N) in the size of the map--the intention
21
+ * of this data structure is only to provide the convenience of programming against
22
+ * a map API. Large maps should use handwritten parent/child relationships instead.
23
+ * Maps that need sorted iteration rather than insertion order iteration should
24
+ * also be handwritten.
25
+ */
26
+ export function VecMap<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [K, V]) {
27
+ return new MoveStruct({
28
+ name: `${$moduleName}::VecMap<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`,
29
+ fields: {
30
+ contents: bcs.vector(Entry(typeParameters[0], typeParameters[1])),
31
+ },
32
+ });
33
+ }
@@ -0,0 +1,22 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { bcs } from '@haneullabs/haneul/bcs';
4
+ import type { BcsType } from '@haneullabs/haneul/bcs';
5
+ import { MoveStruct } from '../../../utils/index.js';
6
+ const $moduleName = '0x2::vec_set';
7
+ /**
8
+ * A set data structure backed by a vector. The set is guaranteed not to contain
9
+ * duplicate keys. All operations are O(N) in the size of the set
10
+ *
11
+ * - the intention of this data structure is only to provide the convenience of
12
+ * programming against a set API. Sets that need sorted iteration rather than
13
+ * insertion order iteration should be handwritten.
14
+ */
15
+ export function VecSet<K extends BcsType<any>>(...typeParameters: [K]) {
16
+ return new MoveStruct({
17
+ name: `${$moduleName}::VecSet<${typeParameters[0].name as K['name']}>`,
18
+ fields: {
19
+ contents: bcs.vector(typeParameters[0]),
20
+ },
21
+ });
22
+ }
@@ -0,0 +1,13 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { MoveStruct } from '../../../utils/index.js';
4
+ import { bcs } from '@haneullabs/haneul/bcs';
5
+ import * as object from './object.js';
6
+ const $moduleName = '0x2::versioned';
7
+ export const Versioned = new MoveStruct({
8
+ name: `${$moduleName}::Versioned`,
9
+ fields: {
10
+ id: object.UID,
11
+ version: bcs.u64(),
12
+ },
13
+ });
@@ -0,0 +1,26 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * The Exponentially Weighted Moving Average (EWMA) state for DeepBook This state
6
+ * is used to calculate the smoothed mean and variance of gas prices and apply a
7
+ * penalty to taker fees based on the Z-score of the current gas price relative to
8
+ * the smoothed mean and variance. The state is enabled by default and can be
9
+ * configured with different parameters.
10
+ */
11
+
12
+ import { MoveStruct } from '../utils/index.js';
13
+ import { bcs } from '@haneullabs/haneul/bcs';
14
+ const $moduleName = '@deepbook/core::ewma';
15
+ export const EWMAState = new MoveStruct({
16
+ name: `${$moduleName}::EWMAState`,
17
+ fields: {
18
+ mean: bcs.u64(),
19
+ variance: bcs.u64(),
20
+ alpha: bcs.u64(),
21
+ z_score_threshold: bcs.u64(),
22
+ additional_taker_fee: bcs.u64(),
23
+ last_updated_timestamp: bcs.u64(),
24
+ enabled: bcs.bool(),
25
+ },
26
+ });
@@ -0,0 +1,336 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /** `Fill` struct represents the results of a match between two orders. */
5
+
6
+ import { MoveStruct, normalizeMoveArguments } from '../utils/index.js';
7
+ import type { RawTransactionArgument } from '../utils/index.js';
8
+ import { bcs } from '@haneullabs/haneul/bcs';
9
+ import type { Transaction } from '@haneullabs/haneul/transactions';
10
+ import * as deep_price from './deep_price.js';
11
+ const $moduleName = '@deepbook/core::fill';
12
+ export const Fill = new MoveStruct({
13
+ name: `${$moduleName}::Fill`,
14
+ fields: {
15
+ maker_order_id: bcs.u128(),
16
+ maker_client_order_id: bcs.u64(),
17
+ execution_price: bcs.u64(),
18
+ balance_manager_id: bcs.Address,
19
+ expired: bcs.bool(),
20
+ completed: bcs.bool(),
21
+ original_maker_quantity: bcs.u64(),
22
+ base_quantity: bcs.u64(),
23
+ quote_quantity: bcs.u64(),
24
+ taker_is_bid: bcs.bool(),
25
+ maker_epoch: bcs.u64(),
26
+ maker_deep_price: deep_price.OrderDeepPrice,
27
+ taker_fee: bcs.u64(),
28
+ taker_fee_is_deep: bcs.bool(),
29
+ maker_fee: bcs.u64(),
30
+ maker_fee_is_deep: bcs.bool(),
31
+ },
32
+ });
33
+ export interface MakerOrderIdArguments {
34
+ self: RawTransactionArgument<string>;
35
+ }
36
+ export interface MakerOrderIdOptions {
37
+ package?: string;
38
+ arguments: MakerOrderIdArguments | [self: RawTransactionArgument<string>];
39
+ }
40
+ export function makerOrderId(options: MakerOrderIdOptions) {
41
+ const packageAddress = options.package ?? '@deepbook/core';
42
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
43
+ const parameterNames = ['self'];
44
+ return (tx: Transaction) =>
45
+ tx.moveCall({
46
+ package: packageAddress,
47
+ module: 'fill',
48
+ function: 'maker_order_id',
49
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
50
+ });
51
+ }
52
+ export interface MakerClientOrderIdArguments {
53
+ self: RawTransactionArgument<string>;
54
+ }
55
+ export interface MakerClientOrderIdOptions {
56
+ package?: string;
57
+ arguments: MakerClientOrderIdArguments | [self: RawTransactionArgument<string>];
58
+ }
59
+ export function makerClientOrderId(options: MakerClientOrderIdOptions) {
60
+ const packageAddress = options.package ?? '@deepbook/core';
61
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
62
+ const parameterNames = ['self'];
63
+ return (tx: Transaction) =>
64
+ tx.moveCall({
65
+ package: packageAddress,
66
+ module: 'fill',
67
+ function: 'maker_client_order_id',
68
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
69
+ });
70
+ }
71
+ export interface ExecutionPriceArguments {
72
+ self: RawTransactionArgument<string>;
73
+ }
74
+ export interface ExecutionPriceOptions {
75
+ package?: string;
76
+ arguments: ExecutionPriceArguments | [self: RawTransactionArgument<string>];
77
+ }
78
+ export function executionPrice(options: ExecutionPriceOptions) {
79
+ const packageAddress = options.package ?? '@deepbook/core';
80
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
81
+ const parameterNames = ['self'];
82
+ return (tx: Transaction) =>
83
+ tx.moveCall({
84
+ package: packageAddress,
85
+ module: 'fill',
86
+ function: 'execution_price',
87
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
88
+ });
89
+ }
90
+ export interface BalanceManagerIdArguments {
91
+ self: RawTransactionArgument<string>;
92
+ }
93
+ export interface BalanceManagerIdOptions {
94
+ package?: string;
95
+ arguments: BalanceManagerIdArguments | [self: RawTransactionArgument<string>];
96
+ }
97
+ export function balanceManagerId(options: BalanceManagerIdOptions) {
98
+ const packageAddress = options.package ?? '@deepbook/core';
99
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
100
+ const parameterNames = ['self'];
101
+ return (tx: Transaction) =>
102
+ tx.moveCall({
103
+ package: packageAddress,
104
+ module: 'fill',
105
+ function: 'balance_manager_id',
106
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
107
+ });
108
+ }
109
+ export interface ExpiredArguments {
110
+ self: RawTransactionArgument<string>;
111
+ }
112
+ export interface ExpiredOptions {
113
+ package?: string;
114
+ arguments: ExpiredArguments | [self: RawTransactionArgument<string>];
115
+ }
116
+ export function expired(options: ExpiredOptions) {
117
+ const packageAddress = options.package ?? '@deepbook/core';
118
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
119
+ const parameterNames = ['self'];
120
+ return (tx: Transaction) =>
121
+ tx.moveCall({
122
+ package: packageAddress,
123
+ module: 'fill',
124
+ function: 'expired',
125
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
126
+ });
127
+ }
128
+ export interface CompletedArguments {
129
+ self: RawTransactionArgument<string>;
130
+ }
131
+ export interface CompletedOptions {
132
+ package?: string;
133
+ arguments: CompletedArguments | [self: RawTransactionArgument<string>];
134
+ }
135
+ export function completed(options: CompletedOptions) {
136
+ const packageAddress = options.package ?? '@deepbook/core';
137
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
138
+ const parameterNames = ['self'];
139
+ return (tx: Transaction) =>
140
+ tx.moveCall({
141
+ package: packageAddress,
142
+ module: 'fill',
143
+ function: 'completed',
144
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
145
+ });
146
+ }
147
+ export interface OriginalMakerQuantityArguments {
148
+ self: RawTransactionArgument<string>;
149
+ }
150
+ export interface OriginalMakerQuantityOptions {
151
+ package?: string;
152
+ arguments: OriginalMakerQuantityArguments | [self: RawTransactionArgument<string>];
153
+ }
154
+ export function originalMakerQuantity(options: OriginalMakerQuantityOptions) {
155
+ const packageAddress = options.package ?? '@deepbook/core';
156
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
157
+ const parameterNames = ['self'];
158
+ return (tx: Transaction) =>
159
+ tx.moveCall({
160
+ package: packageAddress,
161
+ module: 'fill',
162
+ function: 'original_maker_quantity',
163
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
164
+ });
165
+ }
166
+ export interface BaseQuantityArguments {
167
+ self: RawTransactionArgument<string>;
168
+ }
169
+ export interface BaseQuantityOptions {
170
+ package?: string;
171
+ arguments: BaseQuantityArguments | [self: RawTransactionArgument<string>];
172
+ }
173
+ export function baseQuantity(options: BaseQuantityOptions) {
174
+ const packageAddress = options.package ?? '@deepbook/core';
175
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
176
+ const parameterNames = ['self'];
177
+ return (tx: Transaction) =>
178
+ tx.moveCall({
179
+ package: packageAddress,
180
+ module: 'fill',
181
+ function: 'base_quantity',
182
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
183
+ });
184
+ }
185
+ export interface TakerIsBidArguments {
186
+ self: RawTransactionArgument<string>;
187
+ }
188
+ export interface TakerIsBidOptions {
189
+ package?: string;
190
+ arguments: TakerIsBidArguments | [self: RawTransactionArgument<string>];
191
+ }
192
+ export function takerIsBid(options: TakerIsBidOptions) {
193
+ const packageAddress = options.package ?? '@deepbook/core';
194
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
195
+ const parameterNames = ['self'];
196
+ return (tx: Transaction) =>
197
+ tx.moveCall({
198
+ package: packageAddress,
199
+ module: 'fill',
200
+ function: 'taker_is_bid',
201
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
202
+ });
203
+ }
204
+ export interface QuoteQuantityArguments {
205
+ self: RawTransactionArgument<string>;
206
+ }
207
+ export interface QuoteQuantityOptions {
208
+ package?: string;
209
+ arguments: QuoteQuantityArguments | [self: RawTransactionArgument<string>];
210
+ }
211
+ export function quoteQuantity(options: QuoteQuantityOptions) {
212
+ const packageAddress = options.package ?? '@deepbook/core';
213
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
214
+ const parameterNames = ['self'];
215
+ return (tx: Transaction) =>
216
+ tx.moveCall({
217
+ package: packageAddress,
218
+ module: 'fill',
219
+ function: 'quote_quantity',
220
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
221
+ });
222
+ }
223
+ export interface MakerEpochArguments {
224
+ self: RawTransactionArgument<string>;
225
+ }
226
+ export interface MakerEpochOptions {
227
+ package?: string;
228
+ arguments: MakerEpochArguments | [self: RawTransactionArgument<string>];
229
+ }
230
+ export function makerEpoch(options: MakerEpochOptions) {
231
+ const packageAddress = options.package ?? '@deepbook/core';
232
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
233
+ const parameterNames = ['self'];
234
+ return (tx: Transaction) =>
235
+ tx.moveCall({
236
+ package: packageAddress,
237
+ module: 'fill',
238
+ function: 'maker_epoch',
239
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
240
+ });
241
+ }
242
+ export interface MakerDeepPriceArguments {
243
+ self: RawTransactionArgument<string>;
244
+ }
245
+ export interface MakerDeepPriceOptions {
246
+ package?: string;
247
+ arguments: MakerDeepPriceArguments | [self: RawTransactionArgument<string>];
248
+ }
249
+ export function makerDeepPrice(options: MakerDeepPriceOptions) {
250
+ const packageAddress = options.package ?? '@deepbook/core';
251
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
252
+ const parameterNames = ['self'];
253
+ return (tx: Transaction) =>
254
+ tx.moveCall({
255
+ package: packageAddress,
256
+ module: 'fill',
257
+ function: 'maker_deep_price',
258
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
259
+ });
260
+ }
261
+ export interface TakerFeeArguments {
262
+ self: RawTransactionArgument<string>;
263
+ }
264
+ export interface TakerFeeOptions {
265
+ package?: string;
266
+ arguments: TakerFeeArguments | [self: RawTransactionArgument<string>];
267
+ }
268
+ export function takerFee(options: TakerFeeOptions) {
269
+ const packageAddress = options.package ?? '@deepbook/core';
270
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
271
+ const parameterNames = ['self'];
272
+ return (tx: Transaction) =>
273
+ tx.moveCall({
274
+ package: packageAddress,
275
+ module: 'fill',
276
+ function: 'taker_fee',
277
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
278
+ });
279
+ }
280
+ export interface TakerFeeIsDeepArguments {
281
+ self: RawTransactionArgument<string>;
282
+ }
283
+ export interface TakerFeeIsDeepOptions {
284
+ package?: string;
285
+ arguments: TakerFeeIsDeepArguments | [self: RawTransactionArgument<string>];
286
+ }
287
+ export function takerFeeIsDeep(options: TakerFeeIsDeepOptions) {
288
+ const packageAddress = options.package ?? '@deepbook/core';
289
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
290
+ const parameterNames = ['self'];
291
+ return (tx: Transaction) =>
292
+ tx.moveCall({
293
+ package: packageAddress,
294
+ module: 'fill',
295
+ function: 'taker_fee_is_deep',
296
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
297
+ });
298
+ }
299
+ export interface MakerFeeArguments {
300
+ self: RawTransactionArgument<string>;
301
+ }
302
+ export interface MakerFeeOptions {
303
+ package?: string;
304
+ arguments: MakerFeeArguments | [self: RawTransactionArgument<string>];
305
+ }
306
+ export function makerFee(options: MakerFeeOptions) {
307
+ const packageAddress = options.package ?? '@deepbook/core';
308
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
309
+ const parameterNames = ['self'];
310
+ return (tx: Transaction) =>
311
+ tx.moveCall({
312
+ package: packageAddress,
313
+ module: 'fill',
314
+ function: 'maker_fee',
315
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
316
+ });
317
+ }
318
+ export interface MakerFeeIsDeepArguments {
319
+ self: RawTransactionArgument<string>;
320
+ }
321
+ export interface MakerFeeIsDeepOptions {
322
+ package?: string;
323
+ arguments: MakerFeeIsDeepArguments | [self: RawTransactionArgument<string>];
324
+ }
325
+ export function makerFeeIsDeep(options: MakerFeeIsDeepOptions) {
326
+ const packageAddress = options.package ?? '@deepbook/core';
327
+ const argumentsTypes = [`${packageAddress}::fill::Fill`] satisfies string[];
328
+ const parameterNames = ['self'];
329
+ return (tx: Transaction) =>
330
+ tx.moveCall({
331
+ package: packageAddress,
332
+ module: 'fill',
333
+ function: 'maker_fee_is_deep',
334
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
335
+ });
336
+ }
@@ -0,0 +1,52 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * Governance module handles the governance of the `Pool` that it's attached to.
6
+ * Users with non zero stake can create proposals and vote on them. Winning
7
+ * proposals are used to set the trade parameters for the next epoch.
8
+ */
9
+
10
+ import { MoveStruct } from '../utils/index.js';
11
+ import { bcs } from '@haneullabs/haneul/bcs';
12
+ import * as vec_map from './deps/sui/vec_map.js';
13
+ import * as trade_params from './trade_params.js';
14
+ const $moduleName = '@deepbook/core::governance';
15
+ export const Proposal = new MoveStruct({
16
+ name: `${$moduleName}::Proposal`,
17
+ fields: {
18
+ taker_fee: bcs.u64(),
19
+ maker_fee: bcs.u64(),
20
+ stake_required: bcs.u64(),
21
+ votes: bcs.u64(),
22
+ },
23
+ });
24
+ export const Governance = new MoveStruct({
25
+ name: `${$moduleName}::Governance`,
26
+ fields: {
27
+ /** Tracks refreshes. */
28
+ epoch: bcs.u64(),
29
+ /** If Pool is whitelisted. */
30
+ whitelisted: bcs.bool(),
31
+ /** If Pool is stable or volatile. */
32
+ stable: bcs.bool(),
33
+ /** List of proposals for the current epoch. */
34
+ proposals: vec_map.VecMap(bcs.Address, Proposal),
35
+ /** Trade parameters for the current epoch. */
36
+ trade_params: trade_params.TradeParams,
37
+ /** Trade parameters for the next epoch. */
38
+ next_trade_params: trade_params.TradeParams,
39
+ /** All voting power from the current stakes. */
40
+ voting_power: bcs.u64(),
41
+ /** Quorum for the current epoch. */
42
+ quorum: bcs.u64(),
43
+ },
44
+ });
45
+ export const TradeParamsUpdateEvent = new MoveStruct({
46
+ name: `${$moduleName}::TradeParamsUpdateEvent`,
47
+ fields: {
48
+ taker_fee: bcs.u64(),
49
+ maker_fee: bcs.u64(),
50
+ stake_required: bcs.u64(),
51
+ },
52
+ });
@@ -0,0 +1,51 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * History module tracks the volume data for the current epoch and past epochs. It
6
+ * also tracks past trade params. Past maker fees are used to calculate fills for
7
+ * old orders. The historic median is used to calculate rebates and burns.
8
+ */
9
+
10
+ import { MoveStruct } from '../utils/index.js';
11
+ import { bcs } from '@haneullabs/haneul/bcs';
12
+ import * as balances from './balances.js';
13
+ import * as trade_params from './trade_params.js';
14
+ import * as table from './deps/sui/table.js';
15
+ const $moduleName = '@deepbook/core::history';
16
+ export const Volumes = new MoveStruct({
17
+ name: `${$moduleName}::Volumes`,
18
+ fields: {
19
+ total_volume: bcs.u128(),
20
+ total_staked_volume: bcs.u128(),
21
+ total_fees_collected: balances.Balances,
22
+ historic_median: bcs.u128(),
23
+ trade_params: trade_params.TradeParams,
24
+ },
25
+ });
26
+ export const History = new MoveStruct({
27
+ name: `${$moduleName}::History`,
28
+ fields: {
29
+ epoch: bcs.u64(),
30
+ epoch_created: bcs.u64(),
31
+ volumes: Volumes,
32
+ historic_volumes: table.Table,
33
+ balance_to_burn: bcs.u64(),
34
+ },
35
+ });
36
+ export const EpochData = new MoveStruct({
37
+ name: `${$moduleName}::EpochData`,
38
+ fields: {
39
+ epoch: bcs.u64(),
40
+ pool_id: bcs.Address,
41
+ total_volume: bcs.u128(),
42
+ total_staked_volume: bcs.u128(),
43
+ base_fees_collected: bcs.u64(),
44
+ quote_fees_collected: bcs.u64(),
45
+ deep_fees_collected: bcs.u64(),
46
+ historic_median: bcs.u128(),
47
+ taker_fee: bcs.u64(),
48
+ maker_fee: bcs.u64(),
49
+ stake_required: bcs.u64(),
50
+ },
51
+ });