@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,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/contracts/deepbook/registry.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n/** Registry holds all created pools. */\n\nimport { MoveStruct, normalizeMoveArguments } from '../utils/index.js';\nimport type { RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@haneullabs/haneul/bcs';\nimport type { Transaction } from '@haneullabs/haneul/transactions';\nimport * as object from './deps/sui/object.js';\nimport * as versioned from './deps/sui/versioned.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nimport * as bag from './deps/sui/bag.js';\nimport * as type_name from './deps/std/type_name.js';\nconst $moduleName = '@deepbook/core::registry';\nexport const REGISTRY = new MoveStruct({\n\tname: `${$moduleName}::REGISTRY`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const DeepbookAdminCap = new MoveStruct({\n\tname: `${$moduleName}::DeepbookAdminCap`,\n\tfields: {\n\t\tid: object.UID,\n\t},\n});\nexport const Registry = new MoveStruct({\n\tname: `${$moduleName}::Registry`,\n\tfields: {\n\t\tid: object.UID,\n\t\tinner: versioned.Versioned,\n\t},\n});\nexport const RegistryInner = new MoveStruct({\n\tname: `${$moduleName}::RegistryInner`,\n\tfields: {\n\t\tallowed_versions: vec_set.VecSet(bcs.u64()),\n\t\tpools: bag.Bag,\n\t\ttreasury_address: bcs.Address,\n\t},\n});\nexport const PoolKey = new MoveStruct({\n\tname: `${$moduleName}::PoolKey`,\n\tfields: {\n\t\tbase: type_name.TypeName,\n\t\tquote: type_name.TypeName,\n\t},\n});\nexport const StableCoinKey = new MoveStruct({\n\tname: `${$moduleName}::StableCoinKey`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport interface SetTreasuryAddressArguments {\n\tself: RawTransactionArgument<string>;\n\ttreasuryAddress: RawTransactionArgument<string>;\n\tCap: RawTransactionArgument<string>;\n}\nexport interface SetTreasuryAddressOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SetTreasuryAddressArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\ttreasuryAddress: RawTransactionArgument<string>,\n\t\t\t\tCap: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Sets the treasury address where the pool creation fees are sent By default, the\n * treasury address is the publisher of the deepbook package\n */\nexport function setTreasuryAddress(options: SetTreasuryAddressOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/core';\n\tconst argumentsTypes = [\n\t\t`${packageAddress}::registry::Registry`,\n\t\t'address',\n\t\t`${packageAddress}::registry::DeepbookAdminCap`,\n\t] satisfies string[];\n\tconst parameterNames = ['self', 'treasuryAddress', 'Cap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'set_treasury_address',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface EnableVersionArguments {\n\tself: RawTransactionArgument<string>;\n\tversion: RawTransactionArgument<number | bigint>;\n\tCap: RawTransactionArgument<string>;\n}\nexport interface EnableVersionOptions {\n\tpackage?: string;\n\targuments:\n\t\t| EnableVersionArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tversion: RawTransactionArgument<number | bigint>,\n\t\t\t\tCap: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Enables a package version Only Admin can enable a package version This function\n * does not have version restrictions\n */\nexport function enableVersion(options: EnableVersionOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/core';\n\tconst argumentsTypes = [\n\t\t`${packageAddress}::registry::Registry`,\n\t\t'u64',\n\t\t`${packageAddress}::registry::DeepbookAdminCap`,\n\t] satisfies string[];\n\tconst parameterNames = ['self', 'version', 'Cap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'enable_version',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface DisableVersionArguments {\n\tself: RawTransactionArgument<string>;\n\tversion: RawTransactionArgument<number | bigint>;\n\tCap: RawTransactionArgument<string>;\n}\nexport interface DisableVersionOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DisableVersionArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tversion: RawTransactionArgument<number | bigint>,\n\t\t\t\tCap: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Disables a package version Only Admin can disable a package version This\n * function does not have version restrictions\n */\nexport function disableVersion(options: DisableVersionOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/core';\n\tconst argumentsTypes = [\n\t\t`${packageAddress}::registry::Registry`,\n\t\t'u64',\n\t\t`${packageAddress}::registry::DeepbookAdminCap`,\n\t] satisfies string[];\n\tconst parameterNames = ['self', 'version', 'Cap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'disable_version',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AddStablecoinArguments {\n\tself: RawTransactionArgument<string>;\n\tCap: RawTransactionArgument<string>;\n}\nexport interface AddStablecoinOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AddStablecoinArguments\n\t\t| [self: RawTransactionArgument<string>, Cap: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Adds a stablecoin to the whitelist Only Admin can add stablecoin */\nexport function addStablecoin(options: AddStablecoinOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/core';\n\tconst argumentsTypes = [\n\t\t`${packageAddress}::registry::Registry`,\n\t\t`${packageAddress}::registry::DeepbookAdminCap`,\n\t] satisfies string[];\n\tconst parameterNames = ['self', 'Cap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'add_stablecoin',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RemoveStablecoinArguments {\n\tself: RawTransactionArgument<string>;\n\tCap: RawTransactionArgument<string>;\n}\nexport interface RemoveStablecoinOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RemoveStablecoinArguments\n\t\t| [self: RawTransactionArgument<string>, Cap: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Removes a stablecoin from the whitelist Only Admin can remove stablecoin */\nexport function removeStablecoin(options: RemoveStablecoinOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/core';\n\tconst argumentsTypes = [\n\t\t`${packageAddress}::registry::Registry`,\n\t\t`${packageAddress}::registry::DeepbookAdminCap`,\n\t] satisfies string[];\n\tconst parameterNames = ['self', 'Cap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'remove_stablecoin',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface IsStablecoinArguments {\n\tself: RawTransactionArgument<string>;\n\tstableType: RawTransactionArgument<string>;\n}\nexport interface IsStablecoinOptions {\n\tpackage?: string;\n\targuments:\n\t\t| IsStablecoinArguments\n\t\t| [self: RawTransactionArgument<string>, stableType: RawTransactionArgument<string>];\n}\n/** Returns whether the given coin is whitelisted */\nexport function isStablecoin(options: IsStablecoinOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/core';\n\tconst argumentsTypes = [\n\t\t`${packageAddress}::registry::Registry`,\n\t\t'0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName',\n\t] satisfies string[];\n\tconst parameterNames = ['self', 'stableType'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'is_stablecoin',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -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,104 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var state_exports = {};
30
+ __export(state_exports, {
31
+ ProposalEvent: () => ProposalEvent,
32
+ RebateEvent: () => RebateEvent,
33
+ RebateEventV2: () => RebateEventV2,
34
+ StakeEvent: () => StakeEvent,
35
+ State: () => State,
36
+ VoteEvent: () => VoteEvent
37
+ });
38
+ module.exports = __toCommonJS(state_exports);
39
+ var import_utils = require("../utils/index.js");
40
+ var import_bcs = require("@haneullabs/haneul/bcs");
41
+ var table = __toESM(require("./deps/sui/table.js"));
42
+ var history = __toESM(require("./history.js"));
43
+ var governance = __toESM(require("./governance.js"));
44
+ var balances = __toESM(require("./balances.js"));
45
+ const $moduleName = "@deepbook/core::state";
46
+ const State = new import_utils.MoveStruct({
47
+ name: `${$moduleName}::State`,
48
+ fields: {
49
+ accounts: table.Table,
50
+ history: history.History,
51
+ governance: governance.Governance
52
+ }
53
+ });
54
+ const StakeEvent = new import_utils.MoveStruct({
55
+ name: `${$moduleName}::StakeEvent`,
56
+ fields: {
57
+ pool_id: import_bcs.bcs.Address,
58
+ balance_manager_id: import_bcs.bcs.Address,
59
+ epoch: import_bcs.bcs.u64(),
60
+ amount: import_bcs.bcs.u64(),
61
+ stake: import_bcs.bcs.bool()
62
+ }
63
+ });
64
+ const ProposalEvent = new import_utils.MoveStruct({
65
+ name: `${$moduleName}::ProposalEvent`,
66
+ fields: {
67
+ pool_id: import_bcs.bcs.Address,
68
+ balance_manager_id: import_bcs.bcs.Address,
69
+ epoch: import_bcs.bcs.u64(),
70
+ taker_fee: import_bcs.bcs.u64(),
71
+ maker_fee: import_bcs.bcs.u64(),
72
+ stake_required: import_bcs.bcs.u64()
73
+ }
74
+ });
75
+ const VoteEvent = new import_utils.MoveStruct({
76
+ name: `${$moduleName}::VoteEvent`,
77
+ fields: {
78
+ pool_id: import_bcs.bcs.Address,
79
+ balance_manager_id: import_bcs.bcs.Address,
80
+ epoch: import_bcs.bcs.u64(),
81
+ from_proposal_id: import_bcs.bcs.option(import_bcs.bcs.Address),
82
+ to_proposal_id: import_bcs.bcs.Address,
83
+ stake: import_bcs.bcs.u64()
84
+ }
85
+ });
86
+ const RebateEventV2 = new import_utils.MoveStruct({
87
+ name: `${$moduleName}::RebateEventV2`,
88
+ fields: {
89
+ pool_id: import_bcs.bcs.Address,
90
+ balance_manager_id: import_bcs.bcs.Address,
91
+ epoch: import_bcs.bcs.u64(),
92
+ claim_amount: balances.Balances
93
+ }
94
+ });
95
+ const RebateEvent = new import_utils.MoveStruct({
96
+ name: `${$moduleName}::RebateEvent`,
97
+ fields: {
98
+ pool_id: import_bcs.bcs.Address,
99
+ balance_manager_id: import_bcs.bcs.Address,
100
+ epoch: import_bcs.bcs.u64(),
101
+ claim_amount: import_bcs.bcs.u64()
102
+ }
103
+ });
104
+ //# 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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,mBAA2B;AAC3B,iBAAoB;AACpB,YAAuB;AACvB,cAAyB;AACzB,iBAA4B;AAC5B,eAA0B;AAC1B,MAAM,cAAc;AACb,MAAM,QAAQ,IAAI,wBAAW;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,wBAAW;AAAA,EACxC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,eAAI;AAAA,IACb,oBAAoB,eAAI;AAAA,IACxB,OAAO,eAAI,IAAI;AAAA,IACf,QAAQ,eAAI,IAAI;AAAA,IAChB,OAAO,eAAI,KAAK;AAAA,EACjB;AACD,CAAC;AACM,MAAM,gBAAgB,IAAI,wBAAW;AAAA,EAC3C,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,eAAI;AAAA,IACb,oBAAoB,eAAI;AAAA,IACxB,OAAO,eAAI,IAAI;AAAA,IACf,WAAW,eAAI,IAAI;AAAA,IACnB,WAAW,eAAI,IAAI;AAAA,IACnB,gBAAgB,eAAI,IAAI;AAAA,EACzB;AACD,CAAC;AACM,MAAM,YAAY,IAAI,wBAAW;AAAA,EACvC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,eAAI;AAAA,IACb,oBAAoB,eAAI;AAAA,IACxB,OAAO,eAAI,IAAI;AAAA,IACf,kBAAkB,eAAI,OAAO,eAAI,OAAO;AAAA,IACxC,gBAAgB,eAAI;AAAA,IACpB,OAAO,eAAI,IAAI;AAAA,EAChB;AACD,CAAC;AACM,MAAM,gBAAgB,IAAI,wBAAW;AAAA,EAC3C,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,eAAI;AAAA,IACb,oBAAoB,eAAI;AAAA,IACxB,OAAO,eAAI,IAAI;AAAA,IACf,cAAc,SAAS;AAAA,EACxB;AACD,CAAC;AACM,MAAM,cAAc,IAAI,wBAAW;AAAA,EACzC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,eAAI;AAAA,IACb,oBAAoB,eAAI;AAAA,IACxB,OAAO,eAAI,IAAI;AAAA,IACf,cAAc,eAAI,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,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var trade_params_exports = {};
20
+ __export(trade_params_exports, {
21
+ TradeParams: () => TradeParams
22
+ });
23
+ module.exports = __toCommonJS(trade_params_exports);
24
+ var import_utils = require("../utils/index.js");
25
+ var import_bcs = require("@haneullabs/haneul/bcs");
26
+ const $moduleName = "@deepbook/core::trade_params";
27
+ const TradeParams = new import_utils.MoveStruct({
28
+ name: `${$moduleName}::TradeParams`,
29
+ fields: {
30
+ taker_fee: import_bcs.bcs.u64(),
31
+ maker_fee: import_bcs.bcs.u64(),
32
+ stake_required: import_bcs.bcs.u64()
33
+ }
34
+ });
35
+ //# 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": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,mBAA2B;AAC3B,iBAAoB;AACpB,MAAM,cAAc;AACb,MAAM,cAAc,IAAI,wBAAW;AAAA,EACzC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,WAAW,eAAI,IAAI;AAAA,IACnB,WAAW,eAAI,IAAI;AAAA,IACnB,gBAAgB,eAAI,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,65 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var vault_exports = {};
30
+ __export(vault_exports, {
31
+ FlashLoan: () => FlashLoan,
32
+ FlashLoanBorrowed: () => FlashLoanBorrowed,
33
+ Vault: () => Vault
34
+ });
35
+ module.exports = __toCommonJS(vault_exports);
36
+ var import_utils = require("../utils/index.js");
37
+ var import_bcs = require("@haneullabs/haneul/bcs");
38
+ var balance = __toESM(require("./deps/sui/balance.js"));
39
+ var type_name = __toESM(require("./deps/std/type_name.js"));
40
+ const $moduleName = "@deepbook/core::vault";
41
+ const Vault = new import_utils.MoveStruct({
42
+ name: `${$moduleName}::Vault`,
43
+ fields: {
44
+ base_balance: balance.Balance,
45
+ quote_balance: balance.Balance,
46
+ deep_balance: balance.Balance
47
+ }
48
+ });
49
+ const FlashLoan = new import_utils.MoveStruct({
50
+ name: `${$moduleName}::FlashLoan`,
51
+ fields: {
52
+ pool_id: import_bcs.bcs.Address,
53
+ borrow_quantity: import_bcs.bcs.u64(),
54
+ type_name: type_name.TypeName
55
+ }
56
+ });
57
+ const FlashLoanBorrowed = new import_utils.MoveStruct({
58
+ name: `${$moduleName}::FlashLoanBorrowed`,
59
+ fields: {
60
+ pool_id: import_bcs.bcs.Address,
61
+ borrow_quantity: import_bcs.bcs.u64(),
62
+ type_name: type_name.TypeName
63
+ }
64
+ });
65
+ //# 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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,mBAA2B;AAC3B,iBAAoB;AACpB,cAAyB;AACzB,gBAA2B;AAC3B,MAAM,cAAc;AACb,MAAM,QAAQ,IAAI,wBAAW;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,wBAAW;AAAA,EACvC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,eAAI;AAAA,IACb,iBAAiB,eAAI,IAAI;AAAA,IACzB,WAAW,UAAU;AAAA,EACtB;AACD,CAAC;AACM,MAAM,oBAAoB,IAAI,wBAAW;AAAA,EAC/C,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,eAAI;AAAA,IACb,iBAAiB,eAAI,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,148 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var utils_exports = {};
20
+ __export(utils_exports, {
21
+ MoveEnum: () => MoveEnum,
22
+ MoveStruct: () => MoveStruct,
23
+ MoveTuple: () => MoveTuple,
24
+ getPureBcsSchema: () => getPureBcsSchema,
25
+ normalizeMoveArguments: () => normalizeMoveArguments
26
+ });
27
+ module.exports = __toCommonJS(utils_exports);
28
+ var import_bcs = require("@haneullabs/haneul/bcs");
29
+ var import_utils = require("@haneullabs/haneul/utils");
30
+ var import_transactions = require("@haneullabs/haneul/transactions");
31
+ var import_errors = require("../../utils/errors.js");
32
+ const MOVE_STDLIB_ADDRESS = (0, import_utils.normalizeHaneulAddress)("0x1");
33
+ const HANEUL_FRAMEWORK_ADDRESS = (0, import_utils.normalizeHaneulAddress)("0x2");
34
+ const HANEUL_SYSTEM_ADDRESS = (0, import_utils.normalizeHaneulAddress)("0x3");
35
+ function getPureBcsSchema(typeTag) {
36
+ const parsedTag = typeof typeTag === "string" ? import_bcs.TypeTagSerializer.parseFromStr(typeTag) : typeTag;
37
+ if ("u8" in parsedTag) {
38
+ return import_bcs.bcs.U8;
39
+ } else if ("u16" in parsedTag) {
40
+ return import_bcs.bcs.U16;
41
+ } else if ("u32" in parsedTag) {
42
+ return import_bcs.bcs.U32;
43
+ } else if ("u64" in parsedTag) {
44
+ return import_bcs.bcs.U64;
45
+ } else if ("u128" in parsedTag) {
46
+ return import_bcs.bcs.U128;
47
+ } else if ("u256" in parsedTag) {
48
+ return import_bcs.bcs.U256;
49
+ } else if ("address" in parsedTag) {
50
+ return import_bcs.bcs.Address;
51
+ } else if ("bool" in parsedTag) {
52
+ return import_bcs.bcs.Bool;
53
+ } else if ("vector" in parsedTag) {
54
+ const type = getPureBcsSchema(parsedTag.vector);
55
+ return type ? import_bcs.bcs.vector(type) : null;
56
+ } else if ("struct" in parsedTag) {
57
+ const structTag = parsedTag.struct;
58
+ const pkg = (0, import_utils.normalizeHaneulAddress)(parsedTag.struct.address);
59
+ if (pkg === MOVE_STDLIB_ADDRESS) {
60
+ if ((structTag.module === "ascii" || structTag.module === "string") && structTag.name === "String") {
61
+ return import_bcs.bcs.String;
62
+ }
63
+ if (structTag.module === "option" && structTag.name === "Option") {
64
+ const type = getPureBcsSchema(structTag.typeParams[0]);
65
+ return type ? import_bcs.bcs.vector(type) : null;
66
+ }
67
+ }
68
+ if (pkg === HANEUL_FRAMEWORK_ADDRESS && structTag.module === "Object" && structTag.name === "ID") {
69
+ return import_bcs.bcs.Address;
70
+ }
71
+ }
72
+ return null;
73
+ }
74
+ function normalizeMoveArguments(args, argTypes, parameterNames) {
75
+ const argLen = Array.isArray(args) ? args.length : Object.keys(args).length;
76
+ if (parameterNames && argLen !== parameterNames.length) {
77
+ throw new import_errors.ValidationError(import_errors.ErrorMessages.INVALID_ARGUMENT_COUNT(parameterNames.length, argLen));
78
+ }
79
+ const normalizedArgs = [];
80
+ let index = 0;
81
+ for (const [i, argType] of argTypes.entries()) {
82
+ if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::deny_list::DenyList`) {
83
+ normalizedArgs.push((tx) => tx.object.denyList());
84
+ continue;
85
+ }
86
+ if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::random::Random`) {
87
+ normalizedArgs.push((tx) => tx.object.random());
88
+ continue;
89
+ }
90
+ if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::clock::Clock`) {
91
+ normalizedArgs.push((tx) => tx.object.clock());
92
+ continue;
93
+ }
94
+ if (argType === `${HANEUL_SYSTEM_ADDRESS}::haneul_system::HaneulSystemState`) {
95
+ normalizedArgs.push((tx) => tx.object.system());
96
+ continue;
97
+ }
98
+ let arg;
99
+ if (Array.isArray(args)) {
100
+ if (index >= args.length) {
101
+ throw new import_errors.ValidationError(import_errors.ErrorMessages.INVALID_ARGUMENT_COUNT(index + 1, args.length));
102
+ }
103
+ arg = args[index];
104
+ } else {
105
+ if (!parameterNames) {
106
+ throw new import_errors.ValidationError(`Expected arguments to be passed as an array`);
107
+ }
108
+ const name = parameterNames[index];
109
+ arg = args[name];
110
+ if (arg == null) {
111
+ throw new import_errors.ValidationError(import_errors.ErrorMessages.PARAMETER_REQUIRED(name));
112
+ }
113
+ }
114
+ index += 1;
115
+ if (typeof arg === "function" || (0, import_transactions.isArgument)(arg)) {
116
+ normalizedArgs.push(arg);
117
+ continue;
118
+ }
119
+ const type = argTypes[i];
120
+ const bcsType = getPureBcsSchema(type);
121
+ if (bcsType) {
122
+ const bytes = bcsType.serialize(arg);
123
+ normalizedArgs.push((tx) => tx.pure(bytes));
124
+ continue;
125
+ } else if (typeof arg === "string") {
126
+ normalizedArgs.push((tx) => tx.object(arg));
127
+ continue;
128
+ }
129
+ throw new import_errors.ValidationError(import_errors.ErrorMessages.INVALID_ARGUMENT(stringify(arg), type));
130
+ }
131
+ return normalizedArgs;
132
+ }
133
+ class MoveStruct extends import_bcs.BcsStruct {
134
+ }
135
+ class MoveEnum extends import_bcs.BcsEnum {
136
+ }
137
+ class MoveTuple extends import_bcs.BcsTuple {
138
+ }
139
+ function stringify(val) {
140
+ if (typeof val === "object") {
141
+ return JSON.stringify(val, (val2) => val2);
142
+ }
143
+ if (typeof val === "bigint") {
144
+ return val.toString();
145
+ }
146
+ return val;
147
+ }
148
+ //# 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": "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",
6
+ "names": ["val"]
7
+ }