@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,117 @@
1
+ /**
2
+ * State module represents the current state of the pool. It maintains all the
3
+ * accounts, history, and governance information. It also processes all the
4
+ * transactions and updates the state accordingly.
5
+ */
6
+ import { MoveStruct } from '../utils/index.js';
7
+ export declare const State: MoveStruct<{
8
+ accounts: MoveStruct<{
9
+ id: MoveStruct<{
10
+ id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
11
+ }, "0x2::object::UID">;
12
+ size: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
13
+ }, "0x2::table::Table">;
14
+ history: MoveStruct<{
15
+ epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
16
+ epoch_created: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
17
+ volumes: MoveStruct<{
18
+ total_volume: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u128">;
19
+ total_staked_volume: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u128">;
20
+ total_fees_collected: MoveStruct<{
21
+ base: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
22
+ quote: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
23
+ deep: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
24
+ }, "@deepbook/core::balances::Balances">;
25
+ historic_median: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u128">;
26
+ trade_params: MoveStruct<{
27
+ taker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
28
+ maker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
29
+ stake_required: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
30
+ }, "@deepbook/core::trade_params::TradeParams">;
31
+ }, "@deepbook/core::history::Volumes">;
32
+ historic_volumes: MoveStruct<{
33
+ id: MoveStruct<{
34
+ id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
35
+ }, "0x2::object::UID">;
36
+ size: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
37
+ }, "0x2::table::Table">;
38
+ balance_to_burn: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
39
+ }, "@deepbook/core::history::History">;
40
+ governance: MoveStruct<{
41
+ epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
42
+ whitelisted: import("@haneullabs/haneul/bcs").BcsType<boolean, boolean, "bool">;
43
+ stable: import("@haneullabs/haneul/bcs").BcsType<boolean, boolean, "bool">;
44
+ proposals: MoveStruct<{
45
+ contents: import("@haneullabs/haneul/bcs").BcsType<{
46
+ key: string;
47
+ value: {
48
+ taker_fee: string;
49
+ maker_fee: string;
50
+ stake_required: string;
51
+ votes: string;
52
+ };
53
+ }[], Iterable<{
54
+ key: string | Uint8Array<ArrayBufferLike>;
55
+ value: {
56
+ taker_fee: string | number | bigint;
57
+ maker_fee: string | number | bigint;
58
+ stake_required: string | number | bigint;
59
+ votes: string | number | bigint;
60
+ };
61
+ }> & {
62
+ length: number;
63
+ }, string>;
64
+ }, "0x2::vec_map::VecMap<bytes[32], @deepbook/core::governance::Proposal>">;
65
+ trade_params: MoveStruct<{
66
+ taker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
67
+ maker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
68
+ stake_required: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
69
+ }, "@deepbook/core::trade_params::TradeParams">;
70
+ next_trade_params: MoveStruct<{
71
+ taker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
72
+ maker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
73
+ stake_required: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
74
+ }, "@deepbook/core::trade_params::TradeParams">;
75
+ voting_power: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
76
+ quorum: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
77
+ }, "@deepbook/core::governance::Governance">;
78
+ }, "@deepbook/core::state::State">;
79
+ export declare const StakeEvent: MoveStruct<{
80
+ pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
81
+ balance_manager_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
82
+ epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
83
+ amount: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
84
+ stake: import("@haneullabs/haneul/bcs").BcsType<boolean, boolean, "bool">;
85
+ }, "@deepbook/core::state::StakeEvent">;
86
+ export declare const ProposalEvent: MoveStruct<{
87
+ pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
88
+ balance_manager_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
89
+ epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
90
+ taker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
91
+ maker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
92
+ stake_required: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
93
+ }, "@deepbook/core::state::ProposalEvent">;
94
+ export declare const VoteEvent: MoveStruct<{
95
+ pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
96
+ balance_manager_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
97
+ epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
98
+ from_proposal_id: import("@haneullabs/haneul/bcs").BcsType<string | null, string | Uint8Array<ArrayBufferLike> | null | undefined, "Option<bytes[32]>">;
99
+ to_proposal_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
100
+ stake: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
101
+ }, "@deepbook/core::state::VoteEvent">;
102
+ export declare const RebateEventV2: MoveStruct<{
103
+ pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
104
+ balance_manager_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
105
+ epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
106
+ claim_amount: MoveStruct<{
107
+ base: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
108
+ quote: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
109
+ deep: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
110
+ }, "@deepbook/core::balances::Balances">;
111
+ }, "@deepbook/core::state::RebateEventV2">;
112
+ export declare const RebateEvent: MoveStruct<{
113
+ pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
114
+ balance_manager_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
115
+ epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
116
+ claim_amount: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
117
+ }, "@deepbook/core::state::RebateEvent">;
@@ -0,0 +1,74 @@
1
+ import { MoveStruct } from "../utils/index.js";
2
+ import { bcs } from "@haneullabs/haneul/bcs";
3
+ import * as table from "./deps/sui/table.js";
4
+ import * as history from "./history.js";
5
+ import * as governance from "./governance.js";
6
+ import * as balances from "./balances.js";
7
+ const $moduleName = "@deepbook/core::state";
8
+ const State = new MoveStruct({
9
+ name: `${$moduleName}::State`,
10
+ fields: {
11
+ accounts: table.Table,
12
+ history: history.History,
13
+ governance: governance.Governance
14
+ }
15
+ });
16
+ const StakeEvent = new MoveStruct({
17
+ name: `${$moduleName}::StakeEvent`,
18
+ fields: {
19
+ pool_id: bcs.Address,
20
+ balance_manager_id: bcs.Address,
21
+ epoch: bcs.u64(),
22
+ amount: bcs.u64(),
23
+ stake: bcs.bool()
24
+ }
25
+ });
26
+ const ProposalEvent = new MoveStruct({
27
+ name: `${$moduleName}::ProposalEvent`,
28
+ fields: {
29
+ pool_id: bcs.Address,
30
+ balance_manager_id: bcs.Address,
31
+ epoch: bcs.u64(),
32
+ taker_fee: bcs.u64(),
33
+ maker_fee: bcs.u64(),
34
+ stake_required: bcs.u64()
35
+ }
36
+ });
37
+ const VoteEvent = new MoveStruct({
38
+ name: `${$moduleName}::VoteEvent`,
39
+ fields: {
40
+ pool_id: bcs.Address,
41
+ balance_manager_id: bcs.Address,
42
+ epoch: bcs.u64(),
43
+ from_proposal_id: bcs.option(bcs.Address),
44
+ to_proposal_id: bcs.Address,
45
+ stake: bcs.u64()
46
+ }
47
+ });
48
+ const RebateEventV2 = new MoveStruct({
49
+ name: `${$moduleName}::RebateEventV2`,
50
+ fields: {
51
+ pool_id: bcs.Address,
52
+ balance_manager_id: bcs.Address,
53
+ epoch: bcs.u64(),
54
+ claim_amount: balances.Balances
55
+ }
56
+ });
57
+ const RebateEvent = new MoveStruct({
58
+ name: `${$moduleName}::RebateEvent`,
59
+ fields: {
60
+ pool_id: bcs.Address,
61
+ balance_manager_id: bcs.Address,
62
+ epoch: bcs.u64(),
63
+ claim_amount: bcs.u64()
64
+ }
65
+ });
66
+ export {
67
+ ProposalEvent,
68
+ RebateEvent,
69
+ RebateEventV2,
70
+ StakeEvent,
71
+ State,
72
+ VoteEvent
73
+ };
74
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/contracts/deepbook/state.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * State module represents the current state of the pool. It maintains all the\n * accounts, history, and governance information. It also processes all the\n * transactions and updates the state accordingly.\n */\n\nimport { MoveStruct } from '../utils/index.js';\nimport { bcs } from '@haneullabs/haneul/bcs';\nimport * as table from './deps/sui/table.js';\nimport * as history from './history.js';\nimport * as governance from './governance.js';\nimport * as balances from './balances.js';\nconst $moduleName = '@deepbook/core::state';\nexport const State = new MoveStruct({\n\tname: `${$moduleName}::State`,\n\tfields: {\n\t\taccounts: table.Table,\n\t\thistory: history.History,\n\t\tgovernance: governance.Governance,\n\t},\n});\nexport const StakeEvent = new MoveStruct({\n\tname: `${$moduleName}::StakeEvent`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tbalance_manager_id: bcs.Address,\n\t\tepoch: bcs.u64(),\n\t\tamount: bcs.u64(),\n\t\tstake: bcs.bool(),\n\t},\n});\nexport const ProposalEvent = new MoveStruct({\n\tname: `${$moduleName}::ProposalEvent`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tbalance_manager_id: bcs.Address,\n\t\tepoch: bcs.u64(),\n\t\ttaker_fee: bcs.u64(),\n\t\tmaker_fee: bcs.u64(),\n\t\tstake_required: bcs.u64(),\n\t},\n});\nexport const VoteEvent = new MoveStruct({\n\tname: `${$moduleName}::VoteEvent`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tbalance_manager_id: bcs.Address,\n\t\tepoch: bcs.u64(),\n\t\tfrom_proposal_id: bcs.option(bcs.Address),\n\t\tto_proposal_id: bcs.Address,\n\t\tstake: bcs.u64(),\n\t},\n});\nexport const RebateEventV2 = new MoveStruct({\n\tname: `${$moduleName}::RebateEventV2`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tbalance_manager_id: bcs.Address,\n\t\tepoch: bcs.u64(),\n\t\tclaim_amount: balances.Balances,\n\t},\n});\nexport const RebateEvent = new MoveStruct({\n\tname: `${$moduleName}::RebateEvent`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tbalance_manager_id: bcs.Address,\n\t\tepoch: bcs.u64(),\n\t\tclaim_amount: bcs.u64(),\n\t},\n});\n"],
5
+ "mappings": "AASA,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,YAAY,WAAW;AACvB,YAAY,aAAa;AACzB,YAAY,gBAAgB;AAC5B,YAAY,cAAc;AAC1B,MAAM,cAAc;AACb,MAAM,QAAQ,IAAI,WAAW;AAAA,EACnC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,UAAU,MAAM;AAAA,IAChB,SAAS,QAAQ;AAAA,IACjB,YAAY,WAAW;AAAA,EACxB;AACD,CAAC;AACM,MAAM,aAAa,IAAI,WAAW;AAAA,EACxC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,oBAAoB,IAAI;AAAA,IACxB,OAAO,IAAI,IAAI;AAAA,IACf,QAAQ,IAAI,IAAI;AAAA,IAChB,OAAO,IAAI,KAAK;AAAA,EACjB;AACD,CAAC;AACM,MAAM,gBAAgB,IAAI,WAAW;AAAA,EAC3C,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,oBAAoB,IAAI;AAAA,IACxB,OAAO,IAAI,IAAI;AAAA,IACf,WAAW,IAAI,IAAI;AAAA,IACnB,WAAW,IAAI,IAAI;AAAA,IACnB,gBAAgB,IAAI,IAAI;AAAA,EACzB;AACD,CAAC;AACM,MAAM,YAAY,IAAI,WAAW;AAAA,EACvC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,oBAAoB,IAAI;AAAA,IACxB,OAAO,IAAI,IAAI;AAAA,IACf,kBAAkB,IAAI,OAAO,IAAI,OAAO;AAAA,IACxC,gBAAgB,IAAI;AAAA,IACpB,OAAO,IAAI,IAAI;AAAA,EAChB;AACD,CAAC;AACM,MAAM,gBAAgB,IAAI,WAAW;AAAA,EAC3C,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,oBAAoB,IAAI;AAAA,IACxB,OAAO,IAAI,IAAI;AAAA,IACf,cAAc,SAAS;AAAA,EACxB;AACD,CAAC;AACM,MAAM,cAAc,IAAI,WAAW;AAAA,EACzC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,oBAAoB,IAAI;AAAA,IACxB,OAAO,IAAI,IAAI;AAAA,IACf,cAAc,IAAI,IAAI;AAAA,EACvB;AACD,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ /** TradeParams module contains the trade parameters for a trading pair. */
2
+ import { MoveStruct } from '../utils/index.js';
3
+ export declare const TradeParams: MoveStruct<{
4
+ taker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
5
+ maker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
6
+ stake_required: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
7
+ }, "@deepbook/core::trade_params::TradeParams">;
@@ -0,0 +1,15 @@
1
+ import { MoveStruct } from "../utils/index.js";
2
+ import { bcs } from "@haneullabs/haneul/bcs";
3
+ const $moduleName = "@deepbook/core::trade_params";
4
+ const TradeParams = new MoveStruct({
5
+ name: `${$moduleName}::TradeParams`,
6
+ fields: {
7
+ taker_fee: bcs.u64(),
8
+ maker_fee: bcs.u64(),
9
+ stake_required: bcs.u64()
10
+ }
11
+ });
12
+ export {
13
+ TradeParams
14
+ };
15
+ //# sourceMappingURL=trade_params.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/contracts/deepbook/trade_params.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n/** TradeParams module contains the trade parameters for a trading pair. */\n\nimport { MoveStruct } from '../utils/index.js';\nimport { bcs } from '@haneullabs/haneul/bcs';\nconst $moduleName = '@deepbook/core::trade_params';\nexport const TradeParams = new MoveStruct({\n\tname: `${$moduleName}::TradeParams`,\n\tfields: {\n\t\ttaker_fee: bcs.u64(),\n\t\tmaker_fee: bcs.u64(),\n\t\tstake_required: bcs.u64(),\n\t},\n});\n"],
5
+ "mappings": "AAKA,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,MAAM,cAAc;AACb,MAAM,cAAc,IAAI,WAAW;AAAA,EACzC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,WAAW,IAAI,IAAI;AAAA,IACnB,WAAW,IAAI,IAAI;AAAA,IACnB,gBAAgB,IAAI,IAAI;AAAA,EACzB;AACD,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The vault holds all of the assets for this pool. At the end of all transaction
3
+ * processing, the vault is used to settle the balances for the user.
4
+ */
5
+ import { MoveStruct } from '../utils/index.js';
6
+ export declare const Vault: MoveStruct<{
7
+ base_balance: MoveStruct<{
8
+ value: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
9
+ }, "0x2::balance::Balance">;
10
+ quote_balance: MoveStruct<{
11
+ value: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
12
+ }, "0x2::balance::Balance">;
13
+ deep_balance: MoveStruct<{
14
+ value: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
15
+ }, "0x2::balance::Balance">;
16
+ }, "@deepbook/core::vault::Vault">;
17
+ export declare const FlashLoan: MoveStruct<{
18
+ pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
19
+ borrow_quantity: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
20
+ type_name: MoveStruct<{
21
+ name: import("@haneullabs/haneul/bcs").BcsType<string, string, "string">;
22
+ }, "std::type_name::TypeName">;
23
+ }, "@deepbook/core::vault::FlashLoan">;
24
+ export declare const FlashLoanBorrowed: MoveStruct<{
25
+ pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
26
+ borrow_quantity: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
27
+ type_name: MoveStruct<{
28
+ name: import("@haneullabs/haneul/bcs").BcsType<string, string, "string">;
29
+ }, "std::type_name::TypeName">;
30
+ }, "@deepbook/core::vault::FlashLoanBorrowed">;
@@ -0,0 +1,35 @@
1
+ import { MoveStruct } from "../utils/index.js";
2
+ import { bcs } from "@haneullabs/haneul/bcs";
3
+ import * as balance from "./deps/sui/balance.js";
4
+ import * as type_name from "./deps/std/type_name.js";
5
+ const $moduleName = "@deepbook/core::vault";
6
+ const Vault = new MoveStruct({
7
+ name: `${$moduleName}::Vault`,
8
+ fields: {
9
+ base_balance: balance.Balance,
10
+ quote_balance: balance.Balance,
11
+ deep_balance: balance.Balance
12
+ }
13
+ });
14
+ const FlashLoan = new MoveStruct({
15
+ name: `${$moduleName}::FlashLoan`,
16
+ fields: {
17
+ pool_id: bcs.Address,
18
+ borrow_quantity: bcs.u64(),
19
+ type_name: type_name.TypeName
20
+ }
21
+ });
22
+ const FlashLoanBorrowed = new MoveStruct({
23
+ name: `${$moduleName}::FlashLoanBorrowed`,
24
+ fields: {
25
+ pool_id: bcs.Address,
26
+ borrow_quantity: bcs.u64(),
27
+ type_name: type_name.TypeName
28
+ }
29
+ });
30
+ export {
31
+ FlashLoan,
32
+ FlashLoanBorrowed,
33
+ Vault
34
+ };
35
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/contracts/deepbook/vault.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * The vault holds all of the assets for this pool. At the end of all transaction\n * processing, the vault is used to settle the balances for the user.\n */\n\nimport { MoveStruct } from '../utils/index.js';\nimport { bcs } from '@haneullabs/haneul/bcs';\nimport * as balance from './deps/sui/balance.js';\nimport * as type_name from './deps/std/type_name.js';\nconst $moduleName = '@deepbook/core::vault';\nexport const Vault = new MoveStruct({\n\tname: `${$moduleName}::Vault`,\n\tfields: {\n\t\tbase_balance: balance.Balance,\n\t\tquote_balance: balance.Balance,\n\t\tdeep_balance: balance.Balance,\n\t},\n});\nexport const FlashLoan = new MoveStruct({\n\tname: `${$moduleName}::FlashLoan`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tborrow_quantity: bcs.u64(),\n\t\ttype_name: type_name.TypeName,\n\t},\n});\nexport const FlashLoanBorrowed = new MoveStruct({\n\tname: `${$moduleName}::FlashLoanBorrowed`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tborrow_quantity: bcs.u64(),\n\t\ttype_name: type_name.TypeName,\n\t},\n});\n"],
5
+ "mappings": "AAQA,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,YAAY,aAAa;AACzB,YAAY,eAAe;AAC3B,MAAM,cAAc;AACb,MAAM,QAAQ,IAAI,WAAW;AAAA,EACnC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,cAAc,QAAQ;AAAA,IACtB,eAAe,QAAQ;AAAA,IACvB,cAAc,QAAQ;AAAA,EACvB;AACD,CAAC;AACM,MAAM,YAAY,IAAI,WAAW;AAAA,EACvC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,iBAAiB,IAAI,IAAI;AAAA,IACzB,WAAW,UAAU;AAAA,EACtB;AACD,CAAC;AACM,MAAM,oBAAoB,IAAI,WAAW;AAAA,EAC/C,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,iBAAiB,IAAI,IAAI;AAAA,IACzB,WAAW,UAAU;AAAA,EACtB;AACD,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,25 @@
1
+ import type { BcsType, TypeTag } from '@haneullabs/haneul/bcs';
2
+ import { BcsStruct, BcsEnum, BcsTuple } from '@haneullabs/haneul/bcs';
3
+ import type { TransactionArgument } from '@haneullabs/haneul/transactions';
4
+ export type RawTransactionArgument<T> = T | TransactionArgument;
5
+ /**
6
+ * @description Get the BCS schema for a given type tag
7
+ * @param {string | TypeTag} typeTag - The Move type tag to get the schema for
8
+ * @returns {BcsType<any> | null} The BCS schema if found, null otherwise
9
+ */
10
+ export declare function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null;
11
+ /**
12
+ * @description Normalize Move function arguments to TransactionArguments
13
+ * @param {unknown[] | object} args - The arguments to normalize
14
+ * @param {string[]} argTypes - The expected Move type strings for each argument
15
+ * @param {string[]} [parameterNames] - Optional parameter names when args is an object
16
+ * @returns {TransactionArgument[]} Array of normalized transaction arguments
17
+ * @throws {Error} If arguments are invalid or don't match expected types
18
+ */
19
+ export declare function normalizeMoveArguments(args: unknown[] | object, argTypes: string[], parameterNames?: string[]): TransactionArgument[];
20
+ export declare class MoveStruct<T extends Record<string, BcsType<any>>, const Name extends string = string> extends BcsStruct<T, Name> {
21
+ }
22
+ export declare class MoveEnum<T extends Record<string, BcsType<any> | null>, const Name extends string> extends BcsEnum<T, Name> {
23
+ }
24
+ export declare class MoveTuple<T extends readonly BcsType<any>[], const Name extends string> extends BcsTuple<T, Name> {
25
+ }
@@ -0,0 +1,128 @@
1
+ import { bcs, TypeTagSerializer, BcsStruct, BcsEnum, BcsTuple } from "@haneullabs/haneul/bcs";
2
+ import { normalizeHaneulAddress } from "@haneullabs/haneul/utils";
3
+ import { isArgument } from "@haneullabs/haneul/transactions";
4
+ import { ValidationError, ErrorMessages } from "../../utils/errors.js";
5
+ const MOVE_STDLIB_ADDRESS = normalizeHaneulAddress("0x1");
6
+ const HANEUL_FRAMEWORK_ADDRESS = normalizeHaneulAddress("0x2");
7
+ const HANEUL_SYSTEM_ADDRESS = normalizeHaneulAddress("0x3");
8
+ function getPureBcsSchema(typeTag) {
9
+ const parsedTag = typeof typeTag === "string" ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;
10
+ if ("u8" in parsedTag) {
11
+ return bcs.U8;
12
+ } else if ("u16" in parsedTag) {
13
+ return bcs.U16;
14
+ } else if ("u32" in parsedTag) {
15
+ return bcs.U32;
16
+ } else if ("u64" in parsedTag) {
17
+ return bcs.U64;
18
+ } else if ("u128" in parsedTag) {
19
+ return bcs.U128;
20
+ } else if ("u256" in parsedTag) {
21
+ return bcs.U256;
22
+ } else if ("address" in parsedTag) {
23
+ return bcs.Address;
24
+ } else if ("bool" in parsedTag) {
25
+ return bcs.Bool;
26
+ } else if ("vector" in parsedTag) {
27
+ const type = getPureBcsSchema(parsedTag.vector);
28
+ return type ? bcs.vector(type) : null;
29
+ } else if ("struct" in parsedTag) {
30
+ const structTag = parsedTag.struct;
31
+ const pkg = normalizeHaneulAddress(parsedTag.struct.address);
32
+ if (pkg === MOVE_STDLIB_ADDRESS) {
33
+ if ((structTag.module === "ascii" || structTag.module === "string") && structTag.name === "String") {
34
+ return bcs.String;
35
+ }
36
+ if (structTag.module === "option" && structTag.name === "Option") {
37
+ const type = getPureBcsSchema(structTag.typeParams[0]);
38
+ return type ? bcs.vector(type) : null;
39
+ }
40
+ }
41
+ if (pkg === HANEUL_FRAMEWORK_ADDRESS && structTag.module === "Object" && structTag.name === "ID") {
42
+ return bcs.Address;
43
+ }
44
+ }
45
+ return null;
46
+ }
47
+ function normalizeMoveArguments(args, argTypes, parameterNames) {
48
+ const argLen = Array.isArray(args) ? args.length : Object.keys(args).length;
49
+ if (parameterNames && argLen !== parameterNames.length) {
50
+ throw new ValidationError(ErrorMessages.INVALID_ARGUMENT_COUNT(parameterNames.length, argLen));
51
+ }
52
+ const normalizedArgs = [];
53
+ let index = 0;
54
+ for (const [i, argType] of argTypes.entries()) {
55
+ if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::deny_list::DenyList`) {
56
+ normalizedArgs.push((tx) => tx.object.denyList());
57
+ continue;
58
+ }
59
+ if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::random::Random`) {
60
+ normalizedArgs.push((tx) => tx.object.random());
61
+ continue;
62
+ }
63
+ if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::clock::Clock`) {
64
+ normalizedArgs.push((tx) => tx.object.clock());
65
+ continue;
66
+ }
67
+ if (argType === `${HANEUL_SYSTEM_ADDRESS}::haneul_system::HaneulSystemState`) {
68
+ normalizedArgs.push((tx) => tx.object.system());
69
+ continue;
70
+ }
71
+ let arg;
72
+ if (Array.isArray(args)) {
73
+ if (index >= args.length) {
74
+ throw new ValidationError(ErrorMessages.INVALID_ARGUMENT_COUNT(index + 1, args.length));
75
+ }
76
+ arg = args[index];
77
+ } else {
78
+ if (!parameterNames) {
79
+ throw new ValidationError(`Expected arguments to be passed as an array`);
80
+ }
81
+ const name = parameterNames[index];
82
+ arg = args[name];
83
+ if (arg == null) {
84
+ throw new ValidationError(ErrorMessages.PARAMETER_REQUIRED(name));
85
+ }
86
+ }
87
+ index += 1;
88
+ if (typeof arg === "function" || isArgument(arg)) {
89
+ normalizedArgs.push(arg);
90
+ continue;
91
+ }
92
+ const type = argTypes[i];
93
+ const bcsType = getPureBcsSchema(type);
94
+ if (bcsType) {
95
+ const bytes = bcsType.serialize(arg);
96
+ normalizedArgs.push((tx) => tx.pure(bytes));
97
+ continue;
98
+ } else if (typeof arg === "string") {
99
+ normalizedArgs.push((tx) => tx.object(arg));
100
+ continue;
101
+ }
102
+ throw new ValidationError(ErrorMessages.INVALID_ARGUMENT(stringify(arg), type));
103
+ }
104
+ return normalizedArgs;
105
+ }
106
+ class MoveStruct extends BcsStruct {
107
+ }
108
+ class MoveEnum extends BcsEnum {
109
+ }
110
+ class MoveTuple extends BcsTuple {
111
+ }
112
+ function stringify(val) {
113
+ if (typeof val === "object") {
114
+ return JSON.stringify(val, (val2) => val2);
115
+ }
116
+ if (typeof val === "bigint") {
117
+ return val.toString();
118
+ }
119
+ return val;
120
+ }
121
+ export {
122
+ MoveEnum,
123
+ MoveStruct,
124
+ MoveTuple,
125
+ getPureBcsSchema,
126
+ normalizeMoveArguments
127
+ };
128
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/contracts/utils/index.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport type { BcsType, TypeTag } from '@haneullabs/haneul/bcs';\nimport { bcs, TypeTagSerializer, BcsStruct, BcsEnum, BcsTuple } from '@haneullabs/haneul/bcs';\nimport { normalizeHaneulAddress } from '@haneullabs/haneul/utils';\nimport type { TransactionArgument } from '@haneullabs/haneul/transactions';\nimport { isArgument } from '@haneullabs/haneul/transactions';\nimport { ValidationError, ErrorMessages } from '../../utils/errors.js';\n\nconst MOVE_STDLIB_ADDRESS = normalizeHaneulAddress('0x1');\nconst HANEUL_FRAMEWORK_ADDRESS = normalizeHaneulAddress('0x2');\nconst HANEUL_SYSTEM_ADDRESS = normalizeHaneulAddress('0x3');\n\nexport type RawTransactionArgument<T> = T | TransactionArgument;\n\n/**\n * @description Get the BCS schema for a given type tag\n * @param {string | TypeTag} typeTag - The Move type tag to get the schema for\n * @returns {BcsType<any> | null} The BCS schema if found, null otherwise\n */\nexport function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null {\n\tconst parsedTag = typeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;\n\n\tif ('u8' in parsedTag) {\n\t\treturn bcs.U8;\n\t} else if ('u16' in parsedTag) {\n\t\treturn bcs.U16;\n\t} else if ('u32' in parsedTag) {\n\t\treturn bcs.U32;\n\t} else if ('u64' in parsedTag) {\n\t\treturn bcs.U64;\n\t} else if ('u128' in parsedTag) {\n\t\treturn bcs.U128;\n\t} else if ('u256' in parsedTag) {\n\t\treturn bcs.U256;\n\t} else if ('address' in parsedTag) {\n\t\treturn bcs.Address;\n\t} else if ('bool' in parsedTag) {\n\t\treturn bcs.Bool;\n\t} else if ('vector' in parsedTag) {\n\t\tconst type = getPureBcsSchema(parsedTag.vector);\n\t\treturn type ? bcs.vector(type) : null;\n\t} else if ('struct' in parsedTag) {\n\t\tconst structTag = parsedTag.struct;\n\t\tconst pkg = normalizeHaneulAddress(parsedTag.struct.address);\n\n\t\tif (pkg === MOVE_STDLIB_ADDRESS) {\n\t\t\tif (\n\t\t\t\t(structTag.module === 'ascii' || structTag.module === 'string') &&\n\t\t\t\tstructTag.name === 'String'\n\t\t\t) {\n\t\t\t\treturn bcs.String;\n\t\t\t}\n\n\t\t\tif (structTag.module === 'option' && structTag.name === 'Option') {\n\t\t\t\tconst type = getPureBcsSchema(structTag.typeParams[0]!);\n\t\t\t\treturn type ? bcs.vector(type) : null;\n\t\t\t}\n\t\t}\n\n\t\tif (pkg === HANEUL_FRAMEWORK_ADDRESS && structTag.module === 'Object' && structTag.name === 'ID') {\n\t\t\treturn bcs.Address;\n\t\t}\n\t}\n\n\treturn null;\n}\n\n/**\n * @description Normalize Move function arguments to TransactionArguments\n * @param {unknown[] | object} args - The arguments to normalize\n * @param {string[]} argTypes - The expected Move type strings for each argument\n * @param {string[]} [parameterNames] - Optional parameter names when args is an object\n * @returns {TransactionArgument[]} Array of normalized transaction arguments\n * @throws {Error} If arguments are invalid or don't match expected types\n */\nexport function normalizeMoveArguments(\n\targs: unknown[] | object,\n\targTypes: string[],\n\tparameterNames?: string[],\n): TransactionArgument[] {\n\tconst argLen = Array.isArray(args) ? args.length : Object.keys(args).length;\n\tif (parameterNames && argLen !== parameterNames.length) {\n\t\tthrow new ValidationError(ErrorMessages.INVALID_ARGUMENT_COUNT(parameterNames.length, argLen));\n\t}\n\n\tconst normalizedArgs: TransactionArgument[] = [];\n\n\tlet index = 0;\n\tfor (const [i, argType] of argTypes.entries()) {\n\t\tif (argType === `${HANEUL_FRAMEWORK_ADDRESS}::deny_list::DenyList`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.denyList());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${HANEUL_FRAMEWORK_ADDRESS}::random::Random`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.random());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${HANEUL_FRAMEWORK_ADDRESS}::clock::Clock`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.clock());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${HANEUL_SYSTEM_ADDRESS}::haneul_system::HaneulSystemState`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.system());\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet arg;\n\t\tif (Array.isArray(args)) {\n\t\t\tif (index >= args.length) {\n\t\t\t\tthrow new ValidationError(ErrorMessages.INVALID_ARGUMENT_COUNT(index + 1, args.length));\n\t\t\t}\n\t\t\targ = args[index];\n\t\t} else {\n\t\t\tif (!parameterNames) {\n\t\t\t\tthrow new ValidationError(`Expected arguments to be passed as an array`);\n\t\t\t}\n\t\t\tconst name = parameterNames[index];\n\t\t\targ = args[name as keyof typeof args];\n\n\t\t\tif (arg == null) {\n\t\t\t\tthrow new ValidationError(ErrorMessages.PARAMETER_REQUIRED(name));\n\t\t\t}\n\t\t}\n\n\t\tindex += 1;\n\n\t\tif (typeof arg === 'function' || isArgument(arg)) {\n\t\t\tnormalizedArgs.push(arg as TransactionArgument);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst type = argTypes[i]!;\n\t\tconst bcsType = getPureBcsSchema(type);\n\n\t\tif (bcsType) {\n\t\t\tconst bytes = bcsType.serialize(arg as never);\n\t\t\tnormalizedArgs.push((tx) => tx.pure(bytes));\n\t\t\tcontinue;\n\t\t} else if (typeof arg === 'string') {\n\t\t\tnormalizedArgs.push((tx) => tx.object(arg));\n\t\t\tcontinue;\n\t\t}\n\n\t\tthrow new ValidationError(ErrorMessages.INVALID_ARGUMENT(stringify(arg) as string, type));\n\t}\n\n\treturn normalizedArgs;\n}\n\nexport class MoveStruct<\n\tT extends Record<string, BcsType<any>>,\n\tconst Name extends string = string,\n> extends BcsStruct<T, Name> {}\n\nexport class MoveEnum<\n\tT extends Record<string, BcsType<any> | null>,\n\tconst Name extends string,\n> extends BcsEnum<T, Name> {}\n\nexport class MoveTuple<\n\tT extends readonly BcsType<any>[],\n\tconst Name extends string,\n> extends BcsTuple<T, Name> {}\n\n/**\n * @description Convert a value to string representation for error messages\n * @param {unknown} val - The value to stringify\n * @returns {unknown} String representation of the value\n * @private\n */\nfunction stringify(val: unknown): unknown {\n\tif (typeof val === 'object') {\n\t\treturn JSON.stringify(val, (val: unknown) => val);\n\t}\n\tif (typeof val === 'bigint') {\n\t\treturn val.toString();\n\t}\n\n\treturn val;\n}\n"],
5
+ "mappings": "AAGA,SAAS,KAAK,mBAAmB,WAAW,SAAS,gBAAgB;AACrE,SAAS,8BAA8B;AAEvC,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB,qBAAqB;AAE/C,MAAM,sBAAsB,uBAAuB,KAAK;AACxD,MAAM,2BAA2B,uBAAuB,KAAK;AAC7D,MAAM,wBAAwB,uBAAuB,KAAK;AASnD,SAAS,iBAAiB,SAAgD;AAChF,QAAM,YAAY,OAAO,YAAY,WAAW,kBAAkB,aAAa,OAAO,IAAI;AAE1F,MAAI,QAAQ,WAAW;AACtB,WAAO,IAAI;AAAA,EACZ,WAAW,SAAS,WAAW;AAC9B,WAAO,IAAI;AAAA,EACZ,WAAW,SAAS,WAAW;AAC9B,WAAO,IAAI;AAAA,EACZ,WAAW,SAAS,WAAW;AAC9B,WAAO,IAAI;AAAA,EACZ,WAAW,UAAU,WAAW;AAC/B,WAAO,IAAI;AAAA,EACZ,WAAW,UAAU,WAAW;AAC/B,WAAO,IAAI;AAAA,EACZ,WAAW,aAAa,WAAW;AAClC,WAAO,IAAI;AAAA,EACZ,WAAW,UAAU,WAAW;AAC/B,WAAO,IAAI;AAAA,EACZ,WAAW,YAAY,WAAW;AACjC,UAAM,OAAO,iBAAiB,UAAU,MAAM;AAC9C,WAAO,OAAO,IAAI,OAAO,IAAI,IAAI;AAAA,EAClC,WAAW,YAAY,WAAW;AACjC,UAAM,YAAY,UAAU;AAC5B,UAAM,MAAM,uBAAuB,UAAU,OAAO,OAAO;AAE3D,QAAI,QAAQ,qBAAqB;AAChC,WACE,UAAU,WAAW,WAAW,UAAU,WAAW,aACtD,UAAU,SAAS,UAClB;AACD,eAAO,IAAI;AAAA,MACZ;AAEA,UAAI,UAAU,WAAW,YAAY,UAAU,SAAS,UAAU;AACjE,cAAM,OAAO,iBAAiB,UAAU,WAAW,CAAC,CAAE;AACtD,eAAO,OAAO,IAAI,OAAO,IAAI,IAAI;AAAA,MAClC;AAAA,IACD;AAEA,QAAI,QAAQ,4BAA4B,UAAU,WAAW,YAAY,UAAU,SAAS,MAAM;AACjG,aAAO,IAAI;AAAA,IACZ;AAAA,EACD;AAEA,SAAO;AACR;AAUO,SAAS,uBACf,MACA,UACA,gBACwB;AACxB,QAAM,SAAS,MAAM,QAAQ,IAAI,IAAI,KAAK,SAAS,OAAO,KAAK,IAAI,EAAE;AACrE,MAAI,kBAAkB,WAAW,eAAe,QAAQ;AACvD,UAAM,IAAI,gBAAgB,cAAc,uBAAuB,eAAe,QAAQ,MAAM,CAAC;AAAA,EAC9F;AAEA,QAAM,iBAAwC,CAAC;AAE/C,MAAI,QAAQ;AACZ,aAAW,CAAC,GAAG,OAAO,KAAK,SAAS,QAAQ,GAAG;AAC9C,QAAI,YAAY,GAAG,wBAAwB,yBAAyB;AACnE,qBAAe,KAAK,CAAC,OAAO,GAAG,OAAO,SAAS,CAAC;AAChD;AAAA,IACD;AAEA,QAAI,YAAY,GAAG,wBAAwB,oBAAoB;AAC9D,qBAAe,KAAK,CAAC,OAAO,GAAG,OAAO,OAAO,CAAC;AAC9C;AAAA,IACD;AAEA,QAAI,YAAY,GAAG,wBAAwB,kBAAkB;AAC5D,qBAAe,KAAK,CAAC,OAAO,GAAG,OAAO,MAAM,CAAC;AAC7C;AAAA,IACD;AAEA,QAAI,YAAY,GAAG,qBAAqB,sCAAsC;AAC7E,qBAAe,KAAK,CAAC,OAAO,GAAG,OAAO,OAAO,CAAC;AAC9C;AAAA,IACD;AAEA,QAAI;AACJ,QAAI,MAAM,QAAQ,IAAI,GAAG;AACxB,UAAI,SAAS,KAAK,QAAQ;AACzB,cAAM,IAAI,gBAAgB,cAAc,uBAAuB,QAAQ,GAAG,KAAK,MAAM,CAAC;AAAA,MACvF;AACA,YAAM,KAAK,KAAK;AAAA,IACjB,OAAO;AACN,UAAI,CAAC,gBAAgB;AACpB,cAAM,IAAI,gBAAgB,6CAA6C;AAAA,MACxE;AACA,YAAM,OAAO,eAAe,KAAK;AACjC,YAAM,KAAK,IAAyB;AAEpC,UAAI,OAAO,MAAM;AAChB,cAAM,IAAI,gBAAgB,cAAc,mBAAmB,IAAI,CAAC;AAAA,MACjE;AAAA,IACD;AAEA,aAAS;AAET,QAAI,OAAO,QAAQ,cAAc,WAAW,GAAG,GAAG;AACjD,qBAAe,KAAK,GAA0B;AAC9C;AAAA,IACD;AAEA,UAAM,OAAO,SAAS,CAAC;AACvB,UAAM,UAAU,iBAAiB,IAAI;AAErC,QAAI,SAAS;AACZ,YAAM,QAAQ,QAAQ,UAAU,GAAY;AAC5C,qBAAe,KAAK,CAAC,OAAO,GAAG,KAAK,KAAK,CAAC;AAC1C;AAAA,IACD,WAAW,OAAO,QAAQ,UAAU;AACnC,qBAAe,KAAK,CAAC,OAAO,GAAG,OAAO,GAAG,CAAC;AAC1C;AAAA,IACD;AAEA,UAAM,IAAI,gBAAgB,cAAc,iBAAiB,UAAU,GAAG,GAAa,IAAI,CAAC;AAAA,EACzF;AAEA,SAAO;AACR;AAEO,MAAM,mBAGH,UAAmB;AAAC;AAEvB,MAAM,iBAGH,QAAiB;AAAC;AAErB,MAAM,kBAGH,SAAkB;AAAC;AAQ7B,SAAS,UAAU,KAAuB;AACzC,MAAI,OAAO,QAAQ,UAAU;AAC5B,WAAO,KAAK,UAAU,KAAK,CAACA,SAAiBA,IAAG;AAAA,EACjD;AACA,MAAI,OAAO,QAAQ,UAAU;AAC5B,WAAO,IAAI,SAAS;AAAA,EACrB;AAEA,SAAO;AACR;",
6
+ "names": ["val"]
7
+ }
@@ -0,0 +1,23 @@
1
+ export { DeepBookClient } from './client.js';
2
+ export { DeepBookConfig } from './utils/config.js';
3
+ export { BalanceManagerContract } from './transactions/balanceManager.js';
4
+ export { DeepBookContract } from './transactions/deepbook.js';
5
+ export { DeepBookAdminContract } from './transactions/deepbookAdmin.js';
6
+ export { FlashLoanContract } from './transactions/flashLoans.js';
7
+ export { GovernanceContract } from './transactions/governance.js';
8
+ export { MarginAdminContract } from './transactions/marginAdmin.js';
9
+ export { MarginMaintainerContract } from './transactions/marginMaintainer.js';
10
+ export { MarginManagerContract } from './transactions/marginManager.js';
11
+ export { MarginPoolContract } from './transactions/marginPool.js';
12
+ export { PoolProxyContract } from './transactions/poolProxy.js';
13
+ export { MarginTPSLContract } from './transactions/marginTPSL.js';
14
+ export { HaneulPythClient, HaneulPriceServiceConnection } from './pyth/pyth.js';
15
+ export { Account, Balances, Order, OrderDeepPrice, VecSet } from './types/bcs.js';
16
+ export type { BalanceManager, Coin, Pool, MarginManager, MarginPool, Environment, Config, } from './types/index.js';
17
+ export type { PlaceLimitOrderParams, PlaceMarketOrderParams, PlaceMarginLimitOrderParams, PlaceMarginMarketOrderParams, SwapParams, ProposalParams, MarginProposalParams, CreatePoolAdminParams, CreatePermissionlessPoolParams, SetEwmaParams, PoolConfigParams, MarginPoolConfigParams, InterestConfigParams, } from './types/index.js';
18
+ export type { PendingLimitOrderParams, PendingMarketOrderParams, AddConditionalOrderParams, } from './types/index.js';
19
+ export { OrderType, SelfMatchingOptions } from './types/index.js';
20
+ export type { CoinMap, PoolMap, MarginPoolMap } from './utils/constants.js';
21
+ export { DEEP_SCALAR, FLOAT_SCALAR, GAS_BUDGET, MAX_TIMESTAMP, POOL_CREATION_FEE_DEEP, PRICE_INFO_OBJECT_MAX_AGE_MS, } from './utils/config.js';
22
+ export { DeepBookError, ResourceNotFoundError, ConfigurationError, ValidationError, ErrorMessages, } from './utils/errors.js';
23
+ export { validateRequired, validateAddress, validatePositiveNumber, validateNonNegativeNumber, validateRange, validateNonEmptyArray, } from './utils/validation.js';
@@ -0,0 +1,81 @@
1
+ import { DeepBookClient } from "./client.js";
2
+ import { DeepBookConfig } from "./utils/config.js";
3
+ import { BalanceManagerContract } from "./transactions/balanceManager.js";
4
+ import { DeepBookContract } from "./transactions/deepbook.js";
5
+ import { DeepBookAdminContract } from "./transactions/deepbookAdmin.js";
6
+ import { FlashLoanContract } from "./transactions/flashLoans.js";
7
+ import { GovernanceContract } from "./transactions/governance.js";
8
+ import { MarginAdminContract } from "./transactions/marginAdmin.js";
9
+ import { MarginMaintainerContract } from "./transactions/marginMaintainer.js";
10
+ import { MarginManagerContract } from "./transactions/marginManager.js";
11
+ import { MarginPoolContract } from "./transactions/marginPool.js";
12
+ import { PoolProxyContract } from "./transactions/poolProxy.js";
13
+ import { MarginTPSLContract } from "./transactions/marginTPSL.js";
14
+ import { HaneulPythClient, HaneulPriceServiceConnection } from "./pyth/pyth.js";
15
+ import { Account, Balances, Order, OrderDeepPrice, VecSet } from "./types/bcs.js";
16
+ import { OrderType, SelfMatchingOptions } from "./types/index.js";
17
+ import {
18
+ DEEP_SCALAR,
19
+ FLOAT_SCALAR,
20
+ GAS_BUDGET,
21
+ MAX_TIMESTAMP,
22
+ POOL_CREATION_FEE_DEEP,
23
+ PRICE_INFO_OBJECT_MAX_AGE_MS
24
+ } from "./utils/config.js";
25
+ import {
26
+ DeepBookError,
27
+ ResourceNotFoundError,
28
+ ConfigurationError,
29
+ ValidationError,
30
+ ErrorMessages
31
+ } from "./utils/errors.js";
32
+ import {
33
+ validateRequired,
34
+ validateAddress,
35
+ validatePositiveNumber,
36
+ validateNonNegativeNumber,
37
+ validateRange,
38
+ validateNonEmptyArray
39
+ } from "./utils/validation.js";
40
+ export {
41
+ Account,
42
+ BalanceManagerContract,
43
+ Balances,
44
+ ConfigurationError,
45
+ DEEP_SCALAR,
46
+ DeepBookAdminContract,
47
+ DeepBookClient,
48
+ DeepBookConfig,
49
+ DeepBookContract,
50
+ DeepBookError,
51
+ ErrorMessages,
52
+ FLOAT_SCALAR,
53
+ FlashLoanContract,
54
+ GAS_BUDGET,
55
+ GovernanceContract,
56
+ HaneulPriceServiceConnection,
57
+ HaneulPythClient,
58
+ MAX_TIMESTAMP,
59
+ MarginAdminContract,
60
+ MarginMaintainerContract,
61
+ MarginManagerContract,
62
+ MarginPoolContract,
63
+ MarginTPSLContract,
64
+ Order,
65
+ OrderDeepPrice,
66
+ OrderType,
67
+ POOL_CREATION_FEE_DEEP,
68
+ PRICE_INFO_OBJECT_MAX_AGE_MS,
69
+ PoolProxyContract,
70
+ ResourceNotFoundError,
71
+ SelfMatchingOptions,
72
+ ValidationError,
73
+ VecSet,
74
+ validateAddress,
75
+ validateNonEmptyArray,
76
+ validateNonNegativeNumber,
77
+ validatePositiveNumber,
78
+ validateRange,
79
+ validateRequired
80
+ };
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// Main client and configuration\nexport { DeepBookClient } from './client.js';\nexport { DeepBookConfig } from './utils/config.js';\n\n// Core contract classes\nexport { BalanceManagerContract } from './transactions/balanceManager.js';\nexport { DeepBookContract } from './transactions/deepbook.js';\nexport { DeepBookAdminContract } from './transactions/deepbookAdmin.js';\nexport { FlashLoanContract } from './transactions/flashLoans.js';\nexport { GovernanceContract } from './transactions/governance.js';\n\n// Margin trading contracts\nexport { MarginAdminContract } from './transactions/marginAdmin.js';\nexport { MarginMaintainerContract } from './transactions/marginMaintainer.js';\nexport { MarginManagerContract } from './transactions/marginManager.js';\nexport { MarginPoolContract } from './transactions/marginPool.js';\nexport { PoolProxyContract } from './transactions/poolProxy.js';\nexport { MarginTPSLContract } from './transactions/marginTPSL.js';\n\n// Pyth price feed integration\nexport { HaneulPythClient, HaneulPriceServiceConnection } from './pyth/pyth.js';\n\n// BCS types for parsing on-chain data\nexport { Account, Balances, Order, OrderDeepPrice, VecSet } from './types/bcs.js';\n\n// TypeScript interfaces and types\nexport type {\n\tBalanceManager,\n\tCoin,\n\tPool,\n\tMarginManager,\n\tMarginPool,\n\tEnvironment,\n\tConfig,\n} from './types/index.js';\n\n// Trading parameter interfaces\nexport type {\n\tPlaceLimitOrderParams,\n\tPlaceMarketOrderParams,\n\tPlaceMarginLimitOrderParams,\n\tPlaceMarginMarketOrderParams,\n\tSwapParams,\n\tProposalParams,\n\tMarginProposalParams,\n\tCreatePoolAdminParams,\n\tCreatePermissionlessPoolParams,\n\tSetEwmaParams,\n\tPoolConfigParams,\n\tMarginPoolConfigParams,\n\tInterestConfigParams,\n} from './types/index.js';\n\n// TPSL (Take Profit / Stop Loss) parameter interfaces\nexport type {\n\tPendingLimitOrderParams,\n\tPendingMarketOrderParams,\n\tAddConditionalOrderParams,\n} from './types/index.js';\n\n// Enums for trading\nexport { OrderType, SelfMatchingOptions } from './types/index.js';\n\n// Constants and configuration maps\nexport type { CoinMap, PoolMap, MarginPoolMap } from './utils/constants.js';\nexport {\n\tDEEP_SCALAR,\n\tFLOAT_SCALAR,\n\tGAS_BUDGET,\n\tMAX_TIMESTAMP,\n\tPOOL_CREATION_FEE_DEEP,\n\tPRICE_INFO_OBJECT_MAX_AGE_MS,\n} from './utils/config.js';\n\n// Error handling utilities\nexport {\n\tDeepBookError,\n\tResourceNotFoundError,\n\tConfigurationError,\n\tValidationError,\n\tErrorMessages,\n} from './utils/errors.js';\n\n// Validation utilities\nexport {\n\tvalidateRequired,\n\tvalidateAddress,\n\tvalidatePositiveNumber,\n\tvalidateNonNegativeNumber,\n\tvalidateRange,\n\tvalidateNonEmptyArray,\n} from './utils/validation.js';\n"],
5
+ "mappings": "AAIA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAG/B,SAAS,8BAA8B;AACvC,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AACtC,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AAGnC,SAAS,2BAA2B;AACpC,SAAS,gCAAgC;AACzC,SAAS,6BAA6B;AACtC,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AAGnC,SAAS,kBAAkB,oCAAoC;AAG/D,SAAS,SAAS,UAAU,OAAO,gBAAgB,cAAc;AAsCjE,SAAS,WAAW,2BAA2B;AAI/C;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAGP;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAGP;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "private": true,
3
+ "type": "module"
4
+ }