@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,399 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { coinWithBalance } from '@haneullabs/haneul/transactions';
4
+ import type { Transaction, TransactionArgument } from '@haneullabs/haneul/transactions';
5
+
6
+ import type { DeepBookConfig } from '../utils/config.js';
7
+
8
+ /**
9
+ * BalanceManagerContract class for managing BalanceManager operations.
10
+ */
11
+ export class BalanceManagerContract {
12
+ #config: DeepBookConfig;
13
+
14
+ /**
15
+ * @param {DeepBookConfig} config Configuration for BalanceManagerContract
16
+ */
17
+ constructor(config: DeepBookConfig) {
18
+ this.#config = config;
19
+ }
20
+
21
+ /**
22
+ * @description Create and share a new BalanceManager
23
+ * @returns A function that takes a Transaction object
24
+ */
25
+ createAndShareBalanceManager = () => (tx: Transaction) => {
26
+ const manager = tx.moveCall({
27
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::new`,
28
+ });
29
+
30
+ tx.moveCall({
31
+ target: '0x2::transfer::public_share_object',
32
+ arguments: [manager],
33
+ typeArguments: [`${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::BalanceManager`],
34
+ });
35
+ };
36
+
37
+ /**
38
+ * @description Create a new BalanceManager, manually set the owner. Returns the manager.
39
+ * @returns A function that takes a Transaction object
40
+ */
41
+ createBalanceManagerWithOwner = (ownerAddress: string) => (tx: Transaction) => {
42
+ return tx.moveCall({
43
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::new_with_custom_owner`,
44
+ arguments: [tx.pure.address(ownerAddress)],
45
+ });
46
+ };
47
+
48
+ /**
49
+ * @description Share the BalanceManager
50
+ * @param {TransactionArgument} manager The BalanceManager to share
51
+ * @returns A function that takes a Transaction object
52
+ */
53
+ shareBalanceManager = (manager: TransactionArgument) => (tx: Transaction) => {
54
+ tx.moveCall({
55
+ target: '0x2::transfer::public_share_object',
56
+ arguments: [manager],
57
+ typeArguments: [`${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::BalanceManager`],
58
+ });
59
+ };
60
+
61
+ /**
62
+ * @description Deposit funds into the BalanceManager
63
+ * @param {string} managerKey The key of the BalanceManager
64
+ * @param {string} coinKey The key of the coin to deposit
65
+ * @param {number} amountToDeposit The amount to deposit
66
+ * @returns A function that takes a Transaction object
67
+ */
68
+ depositIntoManager =
69
+ (managerKey: string, coinKey: string, amountToDeposit: number) => (tx: Transaction) => {
70
+ tx.setSenderIfNotSet(this.#config.address);
71
+ const managerId = this.#config.getBalanceManager(managerKey).address;
72
+ const coin = this.#config.getCoin(coinKey);
73
+ const depositInput = Math.round(amountToDeposit * coin.scalar);
74
+ const deposit = coinWithBalance({
75
+ type: coin.type,
76
+ balance: depositInput,
77
+ });
78
+
79
+ tx.moveCall({
80
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::deposit`,
81
+ arguments: [tx.object(managerId), deposit],
82
+ typeArguments: [coin.type],
83
+ });
84
+ };
85
+
86
+ /**
87
+ * @description Withdraw funds from the BalanceManager
88
+ * @param {string} managerKey The key of the BalanceManager
89
+ * @param {string} coinKey The key of the coin to withdraw
90
+ * @param {number} amountToWithdraw The amount to withdraw
91
+ * @param {string} recipient The recipient of the withdrawn funds
92
+ * @returns A function that takes a Transaction object
93
+ */
94
+ withdrawFromManager =
95
+ (managerKey: string, coinKey: string, amountToWithdraw: number, recipient: string) =>
96
+ (tx: Transaction) => {
97
+ const managerId = this.#config.getBalanceManager(managerKey).address;
98
+ const coin = this.#config.getCoin(coinKey);
99
+ const withdrawInput = Math.round(amountToWithdraw * coin.scalar);
100
+ const coinObject = tx.moveCall({
101
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw`,
102
+ arguments: [tx.object(managerId), tx.pure.u64(withdrawInput)],
103
+ typeArguments: [coin.type],
104
+ });
105
+
106
+ tx.transferObjects([coinObject], recipient);
107
+ };
108
+
109
+ /**
110
+ * @description Withdraw all funds from the BalanceManager
111
+ * @param {string} managerKey The key of the BalanceManager
112
+ * @param {string} coinKey The key of the coin to withdraw
113
+ * @param {string} recipient The recipient of the withdrawn funds
114
+ * @returns A function that takes a Transaction object
115
+ */
116
+ withdrawAllFromManager =
117
+ (managerKey: string, coinKey: string, recipient: string) => (tx: Transaction) => {
118
+ const managerId = this.#config.getBalanceManager(managerKey).address;
119
+ const coin = this.#config.getCoin(coinKey);
120
+ const withdrawalCoin = tx.moveCall({
121
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw_all`,
122
+ arguments: [tx.object(managerId)],
123
+ typeArguments: [coin.type],
124
+ });
125
+
126
+ tx.transferObjects([withdrawalCoin], recipient);
127
+ };
128
+
129
+ /**
130
+ * @description Check the balance of the BalanceManager
131
+ * @param {string} managerKey The key of the BalanceManager
132
+ * @param {string} coinKey The key of the coin to check the balance of
133
+ * @returns A function that takes a Transaction object
134
+ */
135
+ checkManagerBalance = (managerKey: string, coinKey: string) => (tx: Transaction) => {
136
+ const managerId = this.#config.getBalanceManager(managerKey).address;
137
+ const coin = this.#config.getCoin(coinKey);
138
+ tx.moveCall({
139
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance`,
140
+ arguments: [tx.object(managerId)],
141
+ typeArguments: [coin.type],
142
+ });
143
+ };
144
+
145
+ /**
146
+ * @description Generate a trade proof for the BalanceManager. Calls the appropriate function based on whether tradeCap is set.
147
+ * @param {string} managerKey The key of the BalanceManager
148
+ * @returns A function that takes a Transaction object
149
+ */
150
+ generateProof = (managerKey: string) => (tx: Transaction) => {
151
+ const balanceManager = this.#config.getBalanceManager(managerKey);
152
+ return tx.add(
153
+ balanceManager.tradeCap
154
+ ? this.generateProofAsTrader(balanceManager.address, balanceManager.tradeCap)
155
+ : this.generateProofAsOwner(balanceManager.address),
156
+ );
157
+ };
158
+
159
+ /**
160
+ * @description Generate a trade proof as the owner
161
+ * @param {string} managerId The ID of the BalanceManager
162
+ * @returns A function that takes a Transaction object
163
+ */
164
+ generateProofAsOwner = (managerId: string) => (tx: Transaction) => {
165
+ return tx.moveCall({
166
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::generate_proof_as_owner`,
167
+ arguments: [tx.object(managerId)],
168
+ });
169
+ };
170
+
171
+ /**
172
+ * @description Generate a trade proof as a trader
173
+ * @param {string} managerId The ID of the BalanceManager
174
+ * @param {string} tradeCapId The ID of the tradeCap
175
+ * @returns A function that takes a Transaction object
176
+ */
177
+ generateProofAsTrader = (managerId: string, tradeCapId: string) => (tx: Transaction) => {
178
+ return tx.moveCall({
179
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::generate_proof_as_trader`,
180
+ arguments: [tx.object(managerId), tx.object(tradeCapId)],
181
+ });
182
+ };
183
+
184
+ /**
185
+ * @description Mint a TradeCap
186
+ * @param {string} managerKey The name of the BalanceManager
187
+ * @returns A function that takes a Transaction object
188
+ */
189
+ mintTradeCap = (managerKey: string) => (tx: Transaction) => {
190
+ const manager = this.#config.getBalanceManager(managerKey);
191
+ const managerId = manager.address;
192
+ return tx.moveCall({
193
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_trade_cap`,
194
+ arguments: [tx.object(managerId)],
195
+ });
196
+ };
197
+
198
+ /**
199
+ * @description Mint a DepositCap
200
+ * @param {string} managerKey The name of the BalanceManager
201
+ * @returns A function that takes a Transaction object
202
+ */
203
+ mintDepositCap = (managerKey: string) => (tx: Transaction) => {
204
+ const manager = this.#config.getBalanceManager(managerKey);
205
+ const managerId = manager.address;
206
+ return tx.moveCall({
207
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_deposit_cap`,
208
+ arguments: [tx.object(managerId)],
209
+ });
210
+ };
211
+
212
+ /**
213
+ * @description Mint a WithdrawalCap
214
+ * @param {string} managerKey The name of the BalanceManager
215
+ * @returns A function that takes a Transaction object
216
+ */
217
+ mintWithdrawalCap = (managerKey: string) => (tx: Transaction) => {
218
+ const manager = this.#config.getBalanceManager(managerKey);
219
+ const managerId = manager.address;
220
+ return tx.moveCall({
221
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_withdraw_cap`,
222
+ arguments: [tx.object(managerId)],
223
+ });
224
+ };
225
+
226
+ /**
227
+ * @description Deposit using the DepositCap
228
+ * @param {string} managerKey The name of the BalanceManager
229
+ * @param {string} coinKey The name of the coin to deposit
230
+ * @param {number} amountToDeposit The amount to deposit
231
+ * @returns A function that takes a Transaction object
232
+ */
233
+ depositWithCap =
234
+ (managerKey: string, coinKey: string, amountToDeposit: number) => (tx: Transaction) => {
235
+ tx.setSenderIfNotSet(this.#config.address);
236
+ const manager = this.#config.getBalanceManager(managerKey);
237
+ const managerId = manager.address;
238
+ if (!manager.depositCap) {
239
+ throw new Error(`DepositCap not set for ${managerKey}`);
240
+ }
241
+ const depositCapId = manager.depositCap;
242
+ const coin = this.#config.getCoin(coinKey);
243
+ const depositInput = Math.round(amountToDeposit * coin.scalar);
244
+ const deposit = coinWithBalance({
245
+ type: coin.type,
246
+ balance: depositInput,
247
+ });
248
+ tx.moveCall({
249
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::deposit_with_cap`,
250
+ arguments: [tx.object(managerId), tx.object(depositCapId), deposit],
251
+ typeArguments: [coin.type],
252
+ });
253
+ };
254
+
255
+ /**
256
+ * @description Withdraw using the WithdrawCap
257
+ * @param {string} managerKey The name of the BalanceManager
258
+ * @param {string} coinKey The name of the coin to withdraw
259
+ * @param {number} amountToWithdraw The amount to withdraw
260
+ * @returns A function that takes a Transaction object
261
+ */
262
+ withdrawWithCap =
263
+ (managerKey: string, coinKey: string, amountToWithdraw: number) => (tx: Transaction) => {
264
+ tx.setSenderIfNotSet(this.#config.address);
265
+ const manager = this.#config.getBalanceManager(managerKey);
266
+ const managerId = manager.address;
267
+ if (!manager.withdrawCap) {
268
+ throw new Error(`WithdrawCap not set for ${managerKey}`);
269
+ }
270
+ const withdrawCapId = manager.withdrawCap;
271
+ const coin = this.#config.getCoin(coinKey);
272
+ const withdrawAmount = Math.round(amountToWithdraw * coin.scalar);
273
+ return tx.moveCall({
274
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw_with_cap`,
275
+ arguments: [tx.object(managerId), tx.object(withdrawCapId), tx.pure.u64(withdrawAmount)],
276
+ typeArguments: [coin.type],
277
+ });
278
+ };
279
+
280
+ /**
281
+ * @description Set the referral for the BalanceManager for a specific pool
282
+ * @param {string} managerKey The name of the BalanceManager
283
+ * @param {string} referral The referral (DeepBookPoolReferral) to set the BalanceManager to
284
+ * @param {TransactionArgument} tradeCap The tradeCap for permission checking
285
+ * @returns A function that takes a Transaction object
286
+ */
287
+ setBalanceManagerReferral =
288
+ (managerKey: string, referral: string, tradeCap: TransactionArgument) => (tx: Transaction) => {
289
+ const managerId = this.#config.getBalanceManager(managerKey).address;
290
+ tx.moveCall({
291
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::set_balance_manager_referral`,
292
+ arguments: [tx.object(managerId), tx.object(referral), tradeCap],
293
+ });
294
+ };
295
+
296
+ /**
297
+ * @description Unset the referral for the BalanceManager for a specific pool
298
+ * @param {string} managerKey The name of the BalanceManager
299
+ * @param {string} poolKey The key of the pool to unset the referral for
300
+ * @param {TransactionArgument} tradeCap The tradeCap for permission checking
301
+ * @returns A function that takes a Transaction object
302
+ */
303
+ unsetBalanceManagerReferral =
304
+ (managerKey: string, poolKey: string, tradeCap: TransactionArgument) => (tx: Transaction) => {
305
+ const managerId = this.#config.getBalanceManager(managerKey).address;
306
+ const poolId = this.#config.getPool(poolKey).address;
307
+ tx.moveCall({
308
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::unset_balance_manager_referral`,
309
+ arguments: [tx.object(managerId), tx.pure.id(poolId), tradeCap],
310
+ });
311
+ };
312
+
313
+ registerBalanceManager = (managerKey: string) => (tx: Transaction) => {
314
+ const managerId = this.#config.getBalanceManager(managerKey).address;
315
+ tx.moveCall({
316
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::register_balance_manager`,
317
+ arguments: [tx.object(managerId), tx.object(this.#config.REGISTRY_ID)],
318
+ });
319
+ };
320
+
321
+ /**
322
+ * @description Get the owner of the BalanceManager
323
+ * @param {string} managerKey The key of the BalanceManager
324
+ * @returns A function that takes a Transaction object
325
+ */
326
+ owner = (managerKey: string) => (tx: Transaction) => {
327
+ const managerId = this.#config.getBalanceManager(managerKey).address;
328
+ tx.moveCall({
329
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::owner`,
330
+ arguments: [tx.object(managerId)],
331
+ });
332
+ };
333
+
334
+ /**
335
+ * @description Get the ID of the BalanceManager
336
+ * @param {string} managerKey The key of the BalanceManager
337
+ * @returns A function that takes a Transaction object
338
+ */
339
+ id = (managerKey: string) => (tx: Transaction) => {
340
+ const managerId = this.#config.getBalanceManager(managerKey).address;
341
+ tx.moveCall({
342
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::id`,
343
+ arguments: [tx.object(managerId)],
344
+ });
345
+ };
346
+
347
+ /**
348
+ * @description Get the owner of the referral (DeepBookPoolReferral)
349
+ * @param {string} referralId The ID of the referral to get the owner of
350
+ * @returns A function that takes a Transaction object
351
+ */
352
+ balanceManagerReferralOwner = (referralId: string) => (tx: Transaction) => {
353
+ return tx.moveCall({
354
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance_manager_referral_owner`,
355
+ arguments: [tx.object(referralId)],
356
+ });
357
+ };
358
+
359
+ /**
360
+ * @description Get the pool ID associated with a referral (DeepBookPoolReferral)
361
+ * @param {string} referralId The ID of the referral to get the pool ID of
362
+ * @returns A function that takes a Transaction object
363
+ */
364
+ balanceManagerReferralPoolId = (referralId: string) => (tx: Transaction) => {
365
+ return tx.moveCall({
366
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance_manager_referral_pool_id`,
367
+ arguments: [tx.object(referralId)],
368
+ });
369
+ };
370
+
371
+ /**
372
+ * @description Get the referral ID from the balance manager for a specific pool
373
+ * @param {string} managerKey The name of the BalanceManager
374
+ * @param {string} poolKey Key of the pool to get the referral for
375
+ * @returns A function that takes a Transaction object
376
+ */
377
+ getBalanceManagerReferralId = (managerKey: string, poolKey: string) => (tx: Transaction) => {
378
+ const managerId = this.#config.getBalanceManager(managerKey).address;
379
+ const poolId = this.#config.getPool(poolKey).address;
380
+ return tx.moveCall({
381
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::get_balance_manager_referral_id`,
382
+ arguments: [tx.object(managerId), tx.pure.id(poolId)],
383
+ });
384
+ };
385
+
386
+ /**
387
+ * @description Revoke a TradeCap. This also revokes the associated DepositCap and WithdrawCap.
388
+ * @param {string} managerKey The name of the BalanceManager
389
+ * @param {string} tradeCapId The ID of the TradeCap to revoke
390
+ * @returns A function that takes a Transaction object
391
+ */
392
+ revokeTradeCap = (managerKey: string, tradeCapId: string) => (tx: Transaction) => {
393
+ const managerId = this.#config.getBalanceManager(managerKey).address;
394
+ tx.moveCall({
395
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::revoke_trade_cap`,
396
+ arguments: [tx.object(managerId), tx.pure.id(tradeCapId)],
397
+ });
398
+ };
399
+ }