@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,458 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import type { Transaction } from '@haneullabs/haneul/transactions';
4
+ export interface CurrentVersionOptions {
5
+ package?: string;
6
+ arguments?: [];
7
+ }
8
+ export function currentVersion(options: CurrentVersionOptions = {}) {
9
+ const packageAddress = options.package ?? '@deepbook/core';
10
+ return (tx: Transaction) =>
11
+ tx.moveCall({
12
+ package: packageAddress,
13
+ module: 'constants',
14
+ function: 'current_version',
15
+ });
16
+ }
17
+ export interface PoolCreationFeeOptions {
18
+ package?: string;
19
+ arguments?: [];
20
+ }
21
+ export function poolCreationFee(options: PoolCreationFeeOptions = {}) {
22
+ const packageAddress = options.package ?? '@deepbook/core';
23
+ return (tx: Transaction) =>
24
+ tx.moveCall({
25
+ package: packageAddress,
26
+ module: 'constants',
27
+ function: 'pool_creation_fee',
28
+ });
29
+ }
30
+ export interface FloatScalingOptions {
31
+ package?: string;
32
+ arguments?: [];
33
+ }
34
+ export function floatScaling(options: FloatScalingOptions = {}) {
35
+ const packageAddress = options.package ?? '@deepbook/core';
36
+ return (tx: Transaction) =>
37
+ tx.moveCall({
38
+ package: packageAddress,
39
+ module: 'constants',
40
+ function: 'float_scaling',
41
+ });
42
+ }
43
+ export interface FloatScalingU128Options {
44
+ package?: string;
45
+ arguments?: [];
46
+ }
47
+ export function floatScalingU128(options: FloatScalingU128Options = {}) {
48
+ const packageAddress = options.package ?? '@deepbook/core';
49
+ return (tx: Transaction) =>
50
+ tx.moveCall({
51
+ package: packageAddress,
52
+ module: 'constants',
53
+ function: 'float_scaling_u128',
54
+ });
55
+ }
56
+ export interface MaxU64Options {
57
+ package?: string;
58
+ arguments?: [];
59
+ }
60
+ export function maxU64(options: MaxU64Options = {}) {
61
+ const packageAddress = options.package ?? '@deepbook/core';
62
+ return (tx: Transaction) =>
63
+ tx.moveCall({
64
+ package: packageAddress,
65
+ module: 'constants',
66
+ function: 'max_u64',
67
+ });
68
+ }
69
+ export interface MaxU128Options {
70
+ package?: string;
71
+ arguments?: [];
72
+ }
73
+ export function maxU128(options: MaxU128Options = {}) {
74
+ const packageAddress = options.package ?? '@deepbook/core';
75
+ return (tx: Transaction) =>
76
+ tx.moveCall({
77
+ package: packageAddress,
78
+ module: 'constants',
79
+ function: 'max_u128',
80
+ });
81
+ }
82
+ export interface NoRestrictionOptions {
83
+ package?: string;
84
+ arguments?: [];
85
+ }
86
+ export function noRestriction(options: NoRestrictionOptions = {}) {
87
+ const packageAddress = options.package ?? '@deepbook/core';
88
+ return (tx: Transaction) =>
89
+ tx.moveCall({
90
+ package: packageAddress,
91
+ module: 'constants',
92
+ function: 'no_restriction',
93
+ });
94
+ }
95
+ export interface ImmediateOrCancelOptions {
96
+ package?: string;
97
+ arguments?: [];
98
+ }
99
+ export function immediateOrCancel(options: ImmediateOrCancelOptions = {}) {
100
+ const packageAddress = options.package ?? '@deepbook/core';
101
+ return (tx: Transaction) =>
102
+ tx.moveCall({
103
+ package: packageAddress,
104
+ module: 'constants',
105
+ function: 'immediate_or_cancel',
106
+ });
107
+ }
108
+ export interface FillOrKillOptions {
109
+ package?: string;
110
+ arguments?: [];
111
+ }
112
+ export function fillOrKill(options: FillOrKillOptions = {}) {
113
+ const packageAddress = options.package ?? '@deepbook/core';
114
+ return (tx: Transaction) =>
115
+ tx.moveCall({
116
+ package: packageAddress,
117
+ module: 'constants',
118
+ function: 'fill_or_kill',
119
+ });
120
+ }
121
+ export interface PostOnlyOptions {
122
+ package?: string;
123
+ arguments?: [];
124
+ }
125
+ export function postOnly(options: PostOnlyOptions = {}) {
126
+ const packageAddress = options.package ?? '@deepbook/core';
127
+ return (tx: Transaction) =>
128
+ tx.moveCall({
129
+ package: packageAddress,
130
+ module: 'constants',
131
+ function: 'post_only',
132
+ });
133
+ }
134
+ export interface MaxRestrictionOptions {
135
+ package?: string;
136
+ arguments?: [];
137
+ }
138
+ export function maxRestriction(options: MaxRestrictionOptions = {}) {
139
+ const packageAddress = options.package ?? '@deepbook/core';
140
+ return (tx: Transaction) =>
141
+ tx.moveCall({
142
+ package: packageAddress,
143
+ module: 'constants',
144
+ function: 'max_restriction',
145
+ });
146
+ }
147
+ export interface LiveOptions {
148
+ package?: string;
149
+ arguments?: [];
150
+ }
151
+ export function live(options: LiveOptions = {}) {
152
+ const packageAddress = options.package ?? '@deepbook/core';
153
+ return (tx: Transaction) =>
154
+ tx.moveCall({
155
+ package: packageAddress,
156
+ module: 'constants',
157
+ function: 'live',
158
+ });
159
+ }
160
+ export interface PartiallyFilledOptions {
161
+ package?: string;
162
+ arguments?: [];
163
+ }
164
+ export function partiallyFilled(options: PartiallyFilledOptions = {}) {
165
+ const packageAddress = options.package ?? '@deepbook/core';
166
+ return (tx: Transaction) =>
167
+ tx.moveCall({
168
+ package: packageAddress,
169
+ module: 'constants',
170
+ function: 'partially_filled',
171
+ });
172
+ }
173
+ export interface FilledOptions {
174
+ package?: string;
175
+ arguments?: [];
176
+ }
177
+ export function filled(options: FilledOptions = {}) {
178
+ const packageAddress = options.package ?? '@deepbook/core';
179
+ return (tx: Transaction) =>
180
+ tx.moveCall({
181
+ package: packageAddress,
182
+ module: 'constants',
183
+ function: 'filled',
184
+ });
185
+ }
186
+ export interface CanceledOptions {
187
+ package?: string;
188
+ arguments?: [];
189
+ }
190
+ export function canceled(options: CanceledOptions = {}) {
191
+ const packageAddress = options.package ?? '@deepbook/core';
192
+ return (tx: Transaction) =>
193
+ tx.moveCall({
194
+ package: packageAddress,
195
+ module: 'constants',
196
+ function: 'canceled',
197
+ });
198
+ }
199
+ export interface ExpiredOptions {
200
+ package?: string;
201
+ arguments?: [];
202
+ }
203
+ export function expired(options: ExpiredOptions = {}) {
204
+ const packageAddress = options.package ?? '@deepbook/core';
205
+ return (tx: Transaction) =>
206
+ tx.moveCall({
207
+ package: packageAddress,
208
+ module: 'constants',
209
+ function: 'expired',
210
+ });
211
+ }
212
+ export interface SelfMatchingAllowedOptions {
213
+ package?: string;
214
+ arguments?: [];
215
+ }
216
+ export function selfMatchingAllowed(options: SelfMatchingAllowedOptions = {}) {
217
+ const packageAddress = options.package ?? '@deepbook/core';
218
+ return (tx: Transaction) =>
219
+ tx.moveCall({
220
+ package: packageAddress,
221
+ module: 'constants',
222
+ function: 'self_matching_allowed',
223
+ });
224
+ }
225
+ export interface CancelTakerOptions {
226
+ package?: string;
227
+ arguments?: [];
228
+ }
229
+ export function cancelTaker(options: CancelTakerOptions = {}) {
230
+ const packageAddress = options.package ?? '@deepbook/core';
231
+ return (tx: Transaction) =>
232
+ tx.moveCall({
233
+ package: packageAddress,
234
+ module: 'constants',
235
+ function: 'cancel_taker',
236
+ });
237
+ }
238
+ export interface CancelMakerOptions {
239
+ package?: string;
240
+ arguments?: [];
241
+ }
242
+ export function cancelMaker(options: CancelMakerOptions = {}) {
243
+ const packageAddress = options.package ?? '@deepbook/core';
244
+ return (tx: Transaction) =>
245
+ tx.moveCall({
246
+ package: packageAddress,
247
+ module: 'constants',
248
+ function: 'cancel_maker',
249
+ });
250
+ }
251
+ export interface MinPriceOptions {
252
+ package?: string;
253
+ arguments?: [];
254
+ }
255
+ export function minPrice(options: MinPriceOptions = {}) {
256
+ const packageAddress = options.package ?? '@deepbook/core';
257
+ return (tx: Transaction) =>
258
+ tx.moveCall({
259
+ package: packageAddress,
260
+ module: 'constants',
261
+ function: 'min_price',
262
+ });
263
+ }
264
+ export interface MaxPriceOptions {
265
+ package?: string;
266
+ arguments?: [];
267
+ }
268
+ export function maxPrice(options: MaxPriceOptions = {}) {
269
+ const packageAddress = options.package ?? '@deepbook/core';
270
+ return (tx: Transaction) =>
271
+ tx.moveCall({
272
+ package: packageAddress,
273
+ module: 'constants',
274
+ function: 'max_price',
275
+ });
276
+ }
277
+ export interface PhaseOutEpochsOptions {
278
+ package?: string;
279
+ arguments?: [];
280
+ }
281
+ export function phaseOutEpochs(options: PhaseOutEpochsOptions = {}) {
282
+ const packageAddress = options.package ?? '@deepbook/core';
283
+ return (tx: Transaction) =>
284
+ tx.moveCall({
285
+ package: packageAddress,
286
+ module: 'constants',
287
+ function: 'phase_out_epochs',
288
+ });
289
+ }
290
+ export interface DefaultStakeRequiredOptions {
291
+ package?: string;
292
+ arguments?: [];
293
+ }
294
+ export function defaultStakeRequired(options: DefaultStakeRequiredOptions = {}) {
295
+ const packageAddress = options.package ?? '@deepbook/core';
296
+ return (tx: Transaction) =>
297
+ tx.moveCall({
298
+ package: packageAddress,
299
+ module: 'constants',
300
+ function: 'default_stake_required',
301
+ });
302
+ }
303
+ export interface HalfOptions {
304
+ package?: string;
305
+ arguments?: [];
306
+ }
307
+ export function half(options: HalfOptions = {}) {
308
+ const packageAddress = options.package ?? '@deepbook/core';
309
+ return (tx: Transaction) =>
310
+ tx.moveCall({
311
+ package: packageAddress,
312
+ module: 'constants',
313
+ function: 'half',
314
+ });
315
+ }
316
+ export interface FeeIsDeepOptions {
317
+ package?: string;
318
+ arguments?: [];
319
+ }
320
+ export function feeIsDeep(options: FeeIsDeepOptions = {}) {
321
+ const packageAddress = options.package ?? '@deepbook/core';
322
+ return (tx: Transaction) =>
323
+ tx.moveCall({
324
+ package: packageAddress,
325
+ module: 'constants',
326
+ function: 'fee_is_deep',
327
+ });
328
+ }
329
+ export interface DeepUnitOptions {
330
+ package?: string;
331
+ arguments?: [];
332
+ }
333
+ export function deepUnit(options: DeepUnitOptions = {}) {
334
+ const packageAddress = options.package ?? '@deepbook/core';
335
+ return (tx: Transaction) =>
336
+ tx.moveCall({
337
+ package: packageAddress,
338
+ module: 'constants',
339
+ function: 'deep_unit',
340
+ });
341
+ }
342
+ export interface MaxFillsOptions {
343
+ package?: string;
344
+ arguments?: [];
345
+ }
346
+ export function maxFills(options: MaxFillsOptions = {}) {
347
+ const packageAddress = options.package ?? '@deepbook/core';
348
+ return (tx: Transaction) =>
349
+ tx.moveCall({
350
+ package: packageAddress,
351
+ module: 'constants',
352
+ function: 'max_fills',
353
+ });
354
+ }
355
+ export interface MaxOpenOrdersOptions {
356
+ package?: string;
357
+ arguments?: [];
358
+ }
359
+ export function maxOpenOrders(options: MaxOpenOrdersOptions = {}) {
360
+ const packageAddress = options.package ?? '@deepbook/core';
361
+ return (tx: Transaction) =>
362
+ tx.moveCall({
363
+ package: packageAddress,
364
+ module: 'constants',
365
+ function: 'max_open_orders',
366
+ });
367
+ }
368
+ export interface MaxSliceSizeOptions {
369
+ package?: string;
370
+ arguments?: [];
371
+ }
372
+ export function maxSliceSize(options: MaxSliceSizeOptions = {}) {
373
+ const packageAddress = options.package ?? '@deepbook/core';
374
+ return (tx: Transaction) =>
375
+ tx.moveCall({
376
+ package: packageAddress,
377
+ module: 'constants',
378
+ function: 'max_slice_size',
379
+ });
380
+ }
381
+ export interface MaxFanOutOptions {
382
+ package?: string;
383
+ arguments?: [];
384
+ }
385
+ export function maxFanOut(options: MaxFanOutOptions = {}) {
386
+ const packageAddress = options.package ?? '@deepbook/core';
387
+ return (tx: Transaction) =>
388
+ tx.moveCall({
389
+ package: packageAddress,
390
+ module: 'constants',
391
+ function: 'max_fan_out',
392
+ });
393
+ }
394
+ export interface FeePenaltyMultiplierOptions {
395
+ package?: string;
396
+ arguments?: [];
397
+ }
398
+ export function feePenaltyMultiplier(options: FeePenaltyMultiplierOptions = {}) {
399
+ const packageAddress = options.package ?? '@deepbook/core';
400
+ return (tx: Transaction) =>
401
+ tx.moveCall({
402
+ package: packageAddress,
403
+ module: 'constants',
404
+ function: 'fee_penalty_multiplier',
405
+ });
406
+ }
407
+ export interface DefaultEwmaAlphaOptions {
408
+ package?: string;
409
+ arguments?: [];
410
+ }
411
+ export function defaultEwmaAlpha(options: DefaultEwmaAlphaOptions = {}) {
412
+ const packageAddress = options.package ?? '@deepbook/core';
413
+ return (tx: Transaction) =>
414
+ tx.moveCall({
415
+ package: packageAddress,
416
+ module: 'constants',
417
+ function: 'default_ewma_alpha',
418
+ });
419
+ }
420
+ export interface DefaultZScoreThresholdOptions {
421
+ package?: string;
422
+ arguments?: [];
423
+ }
424
+ export function defaultZScoreThreshold(options: DefaultZScoreThresholdOptions = {}) {
425
+ const packageAddress = options.package ?? '@deepbook/core';
426
+ return (tx: Transaction) =>
427
+ tx.moveCall({
428
+ package: packageAddress,
429
+ module: 'constants',
430
+ function: 'default_z_score_threshold',
431
+ });
432
+ }
433
+ export interface DefaultAdditionalTakerFeeOptions {
434
+ package?: string;
435
+ arguments?: [];
436
+ }
437
+ export function defaultAdditionalTakerFee(options: DefaultAdditionalTakerFeeOptions = {}) {
438
+ const packageAddress = options.package ?? '@deepbook/core';
439
+ return (tx: Transaction) =>
440
+ tx.moveCall({
441
+ package: packageAddress,
442
+ module: 'constants',
443
+ function: 'default_additional_taker_fee',
444
+ });
445
+ }
446
+ export interface EwmaDfKeyOptions {
447
+ package?: string;
448
+ arguments?: [];
449
+ }
450
+ export function ewmaDfKey(options: EwmaDfKeyOptions = {}) {
451
+ const packageAddress = options.package ?? '@deepbook/core';
452
+ return (tx: Transaction) =>
453
+ tx.moveCall({
454
+ package: packageAddress,
455
+ module: 'constants',
456
+ function: 'ewma_df_key',
457
+ });
458
+ }
@@ -0,0 +1,84 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * DEEP price module. This module maintains the conversion rate between DEEP and
6
+ * the base and quote assets.
7
+ */
8
+
9
+ import { MoveStruct, normalizeMoveArguments } from '../utils/index.js';
10
+ import type { RawTransactionArgument } from '../utils/index.js';
11
+ import { bcs } from '@haneullabs/haneul/bcs';
12
+ import type { Transaction } from '@haneullabs/haneul/transactions';
13
+ const $moduleName = '@deepbook/core::deep_price';
14
+ export const Price = new MoveStruct({
15
+ name: `${$moduleName}::Price`,
16
+ fields: {
17
+ conversion_rate: bcs.u64(),
18
+ timestamp: bcs.u64(),
19
+ },
20
+ });
21
+ export const PriceAdded = new MoveStruct({
22
+ name: `${$moduleName}::PriceAdded`,
23
+ fields: {
24
+ conversion_rate: bcs.u64(),
25
+ timestamp: bcs.u64(),
26
+ is_base_conversion: bcs.bool(),
27
+ reference_pool: bcs.Address,
28
+ target_pool: bcs.Address,
29
+ },
30
+ });
31
+ export const DeepPrice = new MoveStruct({
32
+ name: `${$moduleName}::DeepPrice`,
33
+ fields: {
34
+ base_prices: bcs.vector(Price),
35
+ cumulative_base: bcs.u64(),
36
+ quote_prices: bcs.vector(Price),
37
+ cumulative_quote: bcs.u64(),
38
+ },
39
+ });
40
+ export const OrderDeepPrice = new MoveStruct({
41
+ name: `${$moduleName}::OrderDeepPrice`,
42
+ fields: {
43
+ asset_is_base: bcs.bool(),
44
+ deep_per_asset: bcs.u64(),
45
+ },
46
+ });
47
+ export interface AssetIsBaseArguments {
48
+ self: RawTransactionArgument<string>;
49
+ }
50
+ export interface AssetIsBaseOptions {
51
+ package?: string;
52
+ arguments: AssetIsBaseArguments | [self: RawTransactionArgument<string>];
53
+ }
54
+ export function assetIsBase(options: AssetIsBaseOptions) {
55
+ const packageAddress = options.package ?? '@deepbook/core';
56
+ const argumentsTypes = [`${packageAddress}::deep_price::OrderDeepPrice`] satisfies string[];
57
+ const parameterNames = ['self'];
58
+ return (tx: Transaction) =>
59
+ tx.moveCall({
60
+ package: packageAddress,
61
+ module: 'deep_price',
62
+ function: 'asset_is_base',
63
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
64
+ });
65
+ }
66
+ export interface DeepPerAssetArguments {
67
+ self: RawTransactionArgument<string>;
68
+ }
69
+ export interface DeepPerAssetOptions {
70
+ package?: string;
71
+ arguments: DeepPerAssetArguments | [self: RawTransactionArgument<string>];
72
+ }
73
+ export function deepPerAsset(options: DeepPerAssetOptions) {
74
+ const packageAddress = options.package ?? '@deepbook/core';
75
+ const argumentsTypes = [`${packageAddress}::deep_price::OrderDeepPrice`] satisfies string[];
76
+ const parameterNames = ['self'];
77
+ return (tx: Transaction) =>
78
+ tx.moveCall({
79
+ package: packageAddress,
80
+ module: 'deep_price',
81
+ function: 'deep_per_asset',
82
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
83
+ });
84
+ }
@@ -0,0 +1,23 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /** Functionality for converting Move types into values. Use with care! */
5
+
6
+ import { MoveStruct } from '../../../utils/index.js';
7
+ import { bcs } from '@haneullabs/haneul/bcs';
8
+ const $moduleName = 'std::type_name';
9
+ export const TypeName = new MoveStruct({
10
+ name: `${$moduleName}::TypeName`,
11
+ fields: {
12
+ /**
13
+ * String representation of the type. All types are represented using their source
14
+ * syntax: "u8", "u64", "bool", "address", "vector", and so on for primitive types.
15
+ * Struct types are represented as fully qualified type names; e.g.
16
+ * `00000000000000000000000000000001::string::String` or
17
+ * `0000000000000000000000000000000a::module_name1::type_name1<0000000000000000000000000000000a::module_name2::type_name2<u64>>`
18
+ * Addresses are hex-encoded lowercase values of length ADDRESS_LENGTH (16, 20, or
19
+ * 32 depending on the Move platform)
20
+ */
21
+ name: bcs.string(),
22
+ },
23
+ });
@@ -0,0 +1,41 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * A bag is a heterogeneous map-like collection. The collection is similar to
6
+ * `sui::table` in that its keys and values are not stored within the `Bag` value,
7
+ * but instead are stored using Sui's object system. The `Bag` struct acts only as
8
+ * a handle into the object system to retrieve those keys and values. Note that
9
+ * this means that `Bag` values with exactly the same key-value mapping will not be
10
+ * equal, with `==`, at runtime. For example
11
+ *
12
+ * ```
13
+ * let bag1 = bag::new();
14
+ * let bag2 = bag::new();
15
+ * bag::add(&mut bag1, 0, false);
16
+ * bag::add(&mut bag1, 1, true);
17
+ * bag::add(&mut bag2, 0, false);
18
+ * bag::add(&mut bag2, 1, true);
19
+ * // bag1 does not equal bag2, despite having the same entries
20
+ * assert!(&bag1 != &bag2);
21
+ * ```
22
+ *
23
+ * At it's core, `sui::bag` is a wrapper around `UID` that allows for access to
24
+ * `sui::dynamic_field` while preventing accidentally stranding field values. A
25
+ * `UID` can be deleted, even if it has dynamic fields associated with it, but a
26
+ * bag, on the other hand, must be empty to be destroyed.
27
+ */
28
+
29
+ import { MoveStruct } from '../../../utils/index.js';
30
+ import { bcs } from '@haneullabs/haneul/bcs';
31
+ import * as object from './object.js';
32
+ const $moduleName = '0x2::bag';
33
+ export const Bag = new MoveStruct({
34
+ name: `${$moduleName}::Bag`,
35
+ fields: {
36
+ /** the ID of this bag */
37
+ id: object.UID,
38
+ /** the number of key-value pairs in the bag */
39
+ size: bcs.u64(),
40
+ },
41
+ });
@@ -0,0 +1,18 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * A storable handler for Balances in general. Is used in the `Coin` module to
6
+ * allow balance operations and can be used to implement custom coins with `Supply`
7
+ * and `Balance`s.
8
+ */
9
+
10
+ import { MoveStruct } from '../../../utils/index.js';
11
+ import { bcs } from '@haneullabs/haneul/bcs';
12
+ const $moduleName = '0x2::balance';
13
+ export const Balance = new MoveStruct({
14
+ name: `${$moduleName}::Balance`,
15
+ fields: {
16
+ value: bcs.u64(),
17
+ },
18
+ });
@@ -0,0 +1,14 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /** Sui object identifiers */
5
+
6
+ import { MoveStruct } from '../../../utils/index.js';
7
+ import { bcs } from '@haneullabs/haneul/bcs';
8
+ const $moduleName = '0x2::object';
9
+ export const UID = new MoveStruct({
10
+ name: `${$moduleName}::UID`,
11
+ fields: {
12
+ id: bcs.Address,
13
+ },
14
+ });
@@ -0,0 +1,36 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * A table is a map-like collection. But unlike a traditional collection, it's keys
6
+ * and values are not stored within the `Table` value, but instead are stored using
7
+ * Sui's object system. The `Table` struct acts only as a handle into the object
8
+ * system to retrieve those keys and values. Note that this means that `Table`
9
+ * values with exactly the same key-value mapping will not be equal, with `==`, at
10
+ * runtime. For example
11
+ *
12
+ * ```
13
+ * let table1 = table::new<u64, bool>();
14
+ * let table2 = table::new<u64, bool>();
15
+ * table::add(&mut table1, 0, false);
16
+ * table::add(&mut table1, 1, true);
17
+ * table::add(&mut table2, 0, false);
18
+ * table::add(&mut table2, 1, true);
19
+ * // table1 does not equal table2, despite having the same entries
20
+ * assert!(&table1 != &table2);
21
+ * ```
22
+ */
23
+
24
+ import { MoveStruct } from '../../../utils/index.js';
25
+ import { bcs } from '@haneullabs/haneul/bcs';
26
+ import * as object from './object.js';
27
+ const $moduleName = '0x2::table';
28
+ export const Table = new MoveStruct({
29
+ name: `${$moduleName}::Table`,
30
+ fields: {
31
+ /** the ID of this table */
32
+ id: object.UID,
33
+ /** the number of key-value pairs in the table */
34
+ size: bcs.u64(),
35
+ },
36
+ });