@haneullabs/deepbook-v3 0.1.0 → 1.0.11

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 (568) hide show
  1. package/CHANGELOG.md +268 -81
  2. package/dist/client.d.mts +957 -0
  3. package/dist/client.d.mts.map +1 -0
  4. package/dist/client.mjs +2293 -0
  5. package/dist/client.mjs.map +1 -0
  6. package/dist/contracts/deepbook/account.d.mts +38 -0
  7. package/dist/contracts/deepbook/account.d.mts.map +1 -0
  8. package/dist/contracts/deepbook/account.mjs +31 -0
  9. package/dist/contracts/deepbook/account.mjs.map +1 -0
  10. package/dist/contracts/deepbook/balances.d.mts +13 -0
  11. package/dist/contracts/deepbook/balances.d.mts.map +1 -0
  12. package/dist/contracts/deepbook/balances.mjs +24 -0
  13. package/dist/contracts/deepbook/balances.mjs.map +1 -0
  14. package/dist/contracts/deepbook/deep_price.d.mts +13 -0
  15. package/dist/contracts/deepbook/deep_price.d.mts.map +1 -0
  16. package/dist/contracts/deepbook/deep_price.mjs +49 -0
  17. package/dist/contracts/deepbook/deep_price.mjs.map +1 -0
  18. package/dist/contracts/deepbook/deps/haneul/vec_set.d.mts +22 -0
  19. package/dist/contracts/deepbook/deps/haneul/vec_set.d.mts.map +1 -0
  20. package/dist/contracts/deepbook/deps/haneul/vec_set.mjs +26 -0
  21. package/dist/contracts/deepbook/deps/haneul/vec_set.mjs.map +1 -0
  22. package/dist/contracts/deepbook/order.d.mts +24 -0
  23. package/dist/contracts/deepbook/order.d.mts.map +1 -0
  24. package/dist/contracts/deepbook/order.mjs +63 -0
  25. package/dist/contracts/deepbook/order.mjs.map +1 -0
  26. package/dist/contracts/pyth/data_source.mjs +20 -0
  27. package/dist/contracts/pyth/data_source.mjs.map +1 -0
  28. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs +21 -0
  29. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs.map +1 -0
  30. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs +19 -0
  31. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs.map +1 -0
  32. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.mjs +16 -0
  33. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.mjs.map +1 -0
  34. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.mjs +16 -0
  35. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.mjs.map +1 -0
  36. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.mjs +16 -0
  37. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.mjs.map +1 -0
  38. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.mjs +16 -0
  39. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.mjs.map +1 -0
  40. package/dist/contracts/pyth/i64.mjs +19 -0
  41. package/dist/contracts/pyth/i64.mjs.map +1 -0
  42. package/dist/contracts/pyth/price.mjs +22 -0
  43. package/dist/contracts/pyth/price.mjs.map +1 -0
  44. package/dist/contracts/pyth/price_feed.mjs +21 -0
  45. package/dist/contracts/pyth/price_feed.mjs.map +1 -0
  46. package/dist/contracts/pyth/price_identifier.mjs +16 -0
  47. package/dist/contracts/pyth/price_identifier.mjs.map +1 -0
  48. package/dist/contracts/pyth/price_info.mjs +28 -0
  49. package/dist/contracts/pyth/price_info.mjs.map +1 -0
  50. package/dist/contracts/pyth/state.mjs +36 -0
  51. package/dist/contracts/pyth/state.mjs.map +1 -0
  52. package/dist/contracts/utils/index.d.mts +34 -0
  53. package/dist/contracts/utils/index.d.mts.map +1 -0
  54. package/dist/contracts/utils/index.mjs +35 -0
  55. package/dist/contracts/utils/index.mjs.map +1 -0
  56. package/dist/contracts/wormhole/bytes32.mjs +16 -0
  57. package/dist/contracts/wormhole/bytes32.mjs.map +1 -0
  58. package/dist/contracts/wormhole/consumed_vaas.mjs +16 -0
  59. package/dist/contracts/wormhole/consumed_vaas.mjs.map +1 -0
  60. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs +16 -0
  61. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs.map +1 -0
  62. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs +21 -0
  63. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs.map +1 -0
  64. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs +19 -0
  65. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs.map +1 -0
  66. package/dist/contracts/wormhole/external_address.mjs +16 -0
  67. package/dist/contracts/wormhole/external_address.mjs.map +1 -0
  68. package/dist/contracts/wormhole/fee_collector.mjs +20 -0
  69. package/dist/contracts/wormhole/fee_collector.mjs.map +1 -0
  70. package/dist/contracts/wormhole/set.mjs +16 -0
  71. package/dist/contracts/wormhole/set.mjs.map +1 -0
  72. package/dist/contracts/wormhole/state.mjs +31 -0
  73. package/dist/contracts/wormhole/state.mjs.map +1 -0
  74. package/dist/index.d.mts +25 -0
  75. package/dist/index.mjs +26 -0
  76. package/dist/pyth/PriceServiceConnection.d.mts +26 -0
  77. package/dist/pyth/PriceServiceConnection.d.mts.map +1 -0
  78. package/dist/pyth/PriceServiceConnection.mjs +35 -0
  79. package/dist/pyth/PriceServiceConnection.mjs.map +1 -0
  80. package/dist/pyth/pyth-helpers.mjs +18 -0
  81. package/dist/pyth/pyth-helpers.mjs.map +1 -0
  82. package/dist/pyth/pyth.d.mts +69 -0
  83. package/dist/pyth/pyth.d.mts.map +1 -0
  84. package/dist/pyth/pyth.mjs +220 -0
  85. package/dist/pyth/pyth.mjs.map +1 -0
  86. package/dist/transactions/balanceManager.d.mts +174 -0
  87. package/dist/transactions/balanceManager.d.mts.map +1 -0
  88. package/dist/transactions/balanceManager.mjs +233 -0
  89. package/dist/transactions/balanceManager.mjs.map +1 -0
  90. package/dist/transactions/deepbook.d.mts +490 -0
  91. package/dist/transactions/deepbook.d.mts.map +1 -0
  92. package/dist/transactions/deepbook.mjs +978 -0
  93. package/dist/transactions/deepbook.mjs.map +1 -0
  94. package/dist/transactions/deepbookAdmin.d.mts +111 -0
  95. package/dist/transactions/deepbookAdmin.d.mts.map +1 -0
  96. package/dist/transactions/deepbookAdmin.mjs +221 -0
  97. package/dist/transactions/deepbookAdmin.mjs.map +1 -0
  98. package/dist/transactions/flashLoans.d.mts +62 -0
  99. package/dist/transactions/flashLoans.d.mts.map +1 -0
  100. package/dist/transactions/flashLoans.mjs +75 -0
  101. package/dist/transactions/flashLoans.mjs.map +1 -0
  102. package/dist/transactions/governance.d.mts +48 -0
  103. package/dist/transactions/governance.d.mts.map +1 -0
  104. package/dist/transactions/governance.mjs +90 -0
  105. package/dist/transactions/governance.mjs.map +1 -0
  106. package/dist/transactions/marginAdmin.d.mts +139 -0
  107. package/dist/transactions/marginAdmin.d.mts.map +1 -0
  108. package/dist/transactions/marginAdmin.mjs +249 -0
  109. package/dist/transactions/marginAdmin.mjs.map +1 -0
  110. package/dist/transactions/marginLiquidations.d.mts +67 -0
  111. package/dist/transactions/marginLiquidations.d.mts.map +1 -0
  112. package/dist/transactions/marginLiquidations.mjs +109 -0
  113. package/dist/transactions/marginLiquidations.mjs.map +1 -0
  114. package/dist/transactions/marginMaintainer.d.mts +86 -0
  115. package/dist/transactions/marginMaintainer.d.mts.map +1 -0
  116. package/dist/transactions/marginMaintainer.mjs +160 -0
  117. package/dist/transactions/marginMaintainer.mjs.map +1 -0
  118. package/dist/transactions/marginManager.d.mts +255 -0
  119. package/dist/transactions/marginManager.d.mts.map +1 -0
  120. package/dist/transactions/marginManager.mjs +558 -0
  121. package/dist/transactions/marginManager.mjs.map +1 -0
  122. package/dist/transactions/marginPool.d.mts +140 -0
  123. package/dist/transactions/marginPool.d.mts.map +1 -0
  124. package/dist/transactions/marginPool.mjs +206 -0
  125. package/dist/transactions/marginPool.mjs.map +1 -0
  126. package/dist/transactions/marginRegistry.d.mts +100 -0
  127. package/dist/transactions/marginRegistry.d.mts.map +1 -0
  128. package/dist/transactions/marginRegistry.mjs +128 -0
  129. package/dist/transactions/marginRegistry.mjs.map +1 -0
  130. package/dist/transactions/marginTPSL.d.mts +100 -0
  131. package/dist/transactions/marginTPSL.d.mts.map +1 -0
  132. package/dist/transactions/marginTPSL.mjs +175 -0
  133. package/dist/transactions/marginTPSL.mjs.map +1 -0
  134. package/dist/transactions/poolProxy.d.mts +123 -0
  135. package/dist/transactions/poolProxy.d.mts.map +1 -0
  136. package/dist/transactions/poolProxy.mjs +336 -0
  137. package/dist/transactions/poolProxy.mjs.map +1 -0
  138. package/dist/types/bcs.d.mts +5 -0
  139. package/dist/types/bcs.mjs +7 -0
  140. package/dist/types/index.d.mts +237 -0
  141. package/dist/types/index.d.mts.map +1 -0
  142. package/dist/types/index.mjs +18 -0
  143. package/dist/types/index.mjs.map +1 -0
  144. package/dist/utils/config.d.mts +82 -0
  145. package/dist/utils/config.d.mts.map +1 -0
  146. package/dist/utils/config.mjs +88 -0
  147. package/dist/utils/config.mjs.map +1 -0
  148. package/dist/utils/constants.d.mts +85 -0
  149. package/dist/utils/constants.d.mts.map +1 -0
  150. package/dist/utils/constants.mjs +384 -0
  151. package/dist/utils/constants.mjs.map +1 -0
  152. package/dist/utils/errors.d.mts +46 -0
  153. package/dist/utils/errors.d.mts.map +1 -0
  154. package/dist/utils/errors.mjs +59 -0
  155. package/dist/utils/errors.mjs.map +1 -0
  156. package/dist/{cjs/utils/validation.d.ts → utils/validation.d.mts} +11 -7
  157. package/dist/utils/validation.d.mts.map +1 -0
  158. package/dist/utils/validation.mjs +76 -0
  159. package/dist/utils/validation.mjs.map +1 -0
  160. package/package.json +29 -26
  161. package/src/client.ts +1016 -545
  162. package/src/contracts/deepbook/account.ts +15 -15
  163. package/src/contracts/deepbook/balance_manager.ts +343 -57
  164. package/src/contracts/deepbook/balances.ts +3 -2
  165. package/src/contracts/deepbook/big_vector.ts +6 -7
  166. package/src/contracts/deepbook/book.ts +3 -2
  167. package/src/contracts/deepbook/constants.ts +95 -3
  168. package/src/contracts/deepbook/deep_price.ts +7 -7
  169. package/src/contracts/deepbook/deps/{sui → haneul}/bag.ts +8 -8
  170. package/src/contracts/deepbook/deps/{sui → haneul}/balance.ts +4 -3
  171. package/src/contracts/deepbook/deps/{sui → haneul}/table.ts +6 -6
  172. package/src/contracts/deepbook/deps/{sui → haneul}/vec_map.ts +4 -4
  173. package/src/contracts/deepbook/deps/{sui → haneul}/vec_set.ts +4 -4
  174. package/src/contracts/deepbook/deps/{sui → haneul}/versioned.ts +4 -4
  175. package/src/contracts/deepbook/deps/std/type_name.ts +3 -2
  176. package/src/contracts/deepbook/ewma.ts +14 -3
  177. package/src/contracts/deepbook/fill.ts +21 -21
  178. package/src/contracts/deepbook/governance.ts +4 -3
  179. package/src/contracts/deepbook/history.ts +4 -3
  180. package/src/contracts/deepbook/math.ts +15 -15
  181. package/src/contracts/deepbook/order.ts +16 -16
  182. package/src/contracts/deepbook/order_info.ts +39 -27
  183. package/src/contracts/deepbook/order_query.ts +12 -12
  184. package/src/contracts/deepbook/pool.ts +883 -526
  185. package/src/contracts/deepbook/registry.ts +149 -38
  186. package/src/contracts/deepbook/state.ts +14 -3
  187. package/src/contracts/deepbook/trade_params.ts +3 -2
  188. package/src/contracts/deepbook/vault.ts +5 -4
  189. package/src/contracts/pyth/batch_price_attestation.ts +92 -0
  190. package/src/contracts/pyth/contract_upgrade.ts +54 -0
  191. package/src/contracts/pyth/data_source.ts +64 -0
  192. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
  193. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
  194. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.ts +12 -0
  195. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.ts +13 -0
  196. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.ts +13 -0
  197. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.ts +12 -0
  198. package/src/contracts/pyth/deserialize.ts +117 -0
  199. package/src/contracts/pyth/event.ts +20 -0
  200. package/src/contracts/pyth/governance.ts +113 -0
  201. package/src/contracts/pyth/governance_action.ts +130 -0
  202. package/src/contracts/pyth/governance_instruction.ts +98 -0
  203. package/src/contracts/pyth/hot_potato_vector.ts +70 -0
  204. package/src/contracts/pyth/i64.ts +94 -0
  205. package/src/contracts/pyth/merkle_tree.ts +41 -0
  206. package/src/contracts/pyth/migrate.ts +29 -0
  207. package/src/contracts/pyth/price.ts +102 -0
  208. package/src/contracts/pyth/price_feed.ts +101 -0
  209. package/src/contracts/pyth/price_identifier.ts +46 -0
  210. package/src/contracts/pyth/price_info.ts +220 -0
  211. package/src/contracts/pyth/price_status.ts +74 -0
  212. package/src/contracts/pyth/pyth.ts +236 -0
  213. package/src/contracts/pyth/set.ts +93 -0
  214. package/src/contracts/pyth/set_data_sources.ts +14 -0
  215. package/src/contracts/pyth/set_fee_recipient.ts +13 -0
  216. package/src/contracts/pyth/set_governance_data_source.ts +16 -0
  217. package/src/contracts/pyth/set_stale_price_threshold.ts +13 -0
  218. package/src/contracts/pyth/set_update_fee.ts +14 -0
  219. package/src/contracts/pyth/setup.ts +12 -0
  220. package/src/contracts/pyth/state.ts +227 -0
  221. package/src/contracts/pyth/version_control.ts +25 -0
  222. package/src/contracts/utils/index.ts +100 -50
  223. package/src/contracts/wormhole/bytes32.ts +12 -0
  224. package/src/contracts/wormhole/consumed_vaas.ts +13 -0
  225. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.ts +12 -0
  226. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
  227. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
  228. package/src/contracts/wormhole/external_address.ts +13 -0
  229. package/src/contracts/wormhole/fee_collector.ts +15 -0
  230. package/src/contracts/wormhole/set.ts +12 -0
  231. package/src/contracts/wormhole/state.ts +25 -0
  232. package/src/index.ts +17 -3
  233. package/src/pyth/pyth.ts +51 -50
  234. package/src/transactions/deepbook.ts +31 -12
  235. package/src/transactions/deepbookAdmin.ts +3 -3
  236. package/src/transactions/marginAdmin.ts +11 -8
  237. package/src/transactions/marginMaintainer.ts +23 -12
  238. package/src/transactions/marginManager.ts +104 -28
  239. package/src/transactions/marginPool.ts +5 -6
  240. package/src/transactions/marginTPSL.ts +5 -5
  241. package/src/transactions/poolProxy.ts +50 -0
  242. package/src/types/bcs.ts +1 -1
  243. package/src/types/index.ts +19 -2
  244. package/src/utils/config.ts +12 -14
  245. package/src/utils/constants.ts +44 -12
  246. package/src/utils/validation.ts +1 -1
  247. package/dist/cjs/client.d.ts +0 -861
  248. package/dist/cjs/client.js +0 -1982
  249. package/dist/cjs/client.js.map +0 -7
  250. package/dist/cjs/contracts/deepbook/account.d.ts +0 -105
  251. package/dist/cjs/contracts/deepbook/account.js +0 -163
  252. package/dist/cjs/contracts/deepbook/account.js.map +0 -7
  253. package/dist/cjs/contracts/deepbook/balance_manager.d.ts +0 -268
  254. package/dist/cjs/contracts/deepbook/balance_manager.js +0 -361
  255. package/dist/cjs/contracts/deepbook/balance_manager.js.map +0 -7
  256. package/dist/cjs/contracts/deepbook/balances.d.ts +0 -10
  257. package/dist/cjs/contracts/deepbook/balances.js +0 -35
  258. package/dist/cjs/contracts/deepbook/balances.js.map +0 -7
  259. package/dist/cjs/contracts/deepbook/big_vector.d.ts +0 -62
  260. package/dist/cjs/contracts/deepbook/big_vector.js +0 -80
  261. package/dist/cjs/contracts/deepbook/big_vector.js.map +0 -7
  262. package/dist/cjs/contracts/deepbook/book.d.ts +0 -34
  263. package/dist/cjs/contracts/deepbook/book.js +0 -50
  264. package/dist/cjs/contracts/deepbook/book.js.map +0 -7
  265. package/dist/cjs/contracts/deepbook/constants.d.ts +0 -176
  266. package/dist/cjs/contracts/deepbook/constants.js +0 -338
  267. package/dist/cjs/contracts/deepbook/constants.js.map +0 -7
  268. package/dist/cjs/contracts/deepbook/deep_price.d.ts +0 -60
  269. package/dist/cjs/contracts/deepbook/deep_price.js +0 -87
  270. package/dist/cjs/contracts/deepbook/deep_price.js.map +0 -7
  271. package/dist/cjs/contracts/deepbook/deps/std/type_name.d.ts +0 -14
  272. package/dist/cjs/contracts/deepbook/deps/std/type_name.js +0 -42
  273. package/dist/cjs/contracts/deepbook/deps/std/type_name.js.map +0 -7
  274. package/dist/cjs/contracts/deepbook/deps/sui/bag.d.ts +0 -33
  275. package/dist/cjs/contracts/deepbook/deps/sui/bag.js +0 -47
  276. package/dist/cjs/contracts/deepbook/deps/sui/bag.js.map +0 -7
  277. package/dist/cjs/contracts/deepbook/deps/sui/balance.d.ts +0 -9
  278. package/dist/cjs/contracts/deepbook/deps/sui/balance.js +0 -33
  279. package/dist/cjs/contracts/deepbook/deps/sui/balance.js.map +0 -7
  280. package/dist/cjs/contracts/deepbook/deps/sui/object.d.ts +0 -5
  281. package/dist/cjs/contracts/deepbook/deps/sui/object.js +0 -33
  282. package/dist/cjs/contracts/deepbook/deps/sui/object.js.map +0 -7
  283. package/dist/cjs/contracts/deepbook/deps/sui/table.d.ts +0 -28
  284. package/dist/cjs/contracts/deepbook/deps/sui/table.js +0 -47
  285. package/dist/cjs/contracts/deepbook/deps/sui/table.js.map +0 -7
  286. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.d.ts +0 -27
  287. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js +0 -45
  288. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js.map +0 -7
  289. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.d.ts +0 -15
  290. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js +0 -35
  291. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js.map +0 -7
  292. package/dist/cjs/contracts/deepbook/deps/sui/versioned.d.ts +0 -7
  293. package/dist/cjs/contracts/deepbook/deps/sui/versioned.js +0 -45
  294. package/dist/cjs/contracts/deepbook/deps/sui/versioned.js.map +0 -7
  295. package/dist/cjs/contracts/deepbook/ewma.d.ts +0 -17
  296. package/dist/cjs/contracts/deepbook/ewma.js +0 -39
  297. package/dist/cjs/contracts/deepbook/ewma.js.map +0 -7
  298. package/dist/cjs/contracts/deepbook/fill.d.ts +0 -153
  299. package/dist/cjs/contracts/deepbook/fill.js +0 -251
  300. package/dist/cjs/contracts/deepbook/fill.js.map +0 -7
  301. package/dist/cjs/contracts/deepbook/governance.d.ts +0 -63
  302. package/dist/cjs/contracts/deepbook/governance.js +0 -79
  303. package/dist/cjs/contracts/deepbook/governance.js.map +0 -7
  304. package/dist/cjs/contracts/deepbook/history.d.ts +0 -60
  305. package/dist/cjs/contracts/deepbook/history.js +0 -78
  306. package/dist/cjs/contracts/deepbook/history.js.map +0 -7
  307. package/dist/cjs/contracts/deepbook/math.d.ts +0 -94
  308. package/dist/cjs/contracts/deepbook/math.js +0 -132
  309. package/dist/cjs/contracts/deepbook/math.js.map +0 -7
  310. package/dist/cjs/contracts/deepbook/order.d.ts +0 -135
  311. package/dist/cjs/contracts/deepbook/order.js +0 -218
  312. package/dist/cjs/contracts/deepbook/order.js.map +0 -7
  313. package/dist/cjs/contracts/deepbook/order_info.d.ts +0 -296
  314. package/dist/cjs/contracts/deepbook/order_info.js +0 -386
  315. package/dist/cjs/contracts/deepbook/order_info.js.map +0 -7
  316. package/dist/cjs/contracts/deepbook/order_query.d.ts +0 -85
  317. package/dist/cjs/contracts/deepbook/order_query.js +0 -96
  318. package/dist/cjs/contracts/deepbook/order_query.js.map +0 -7
  319. package/dist/cjs/contracts/deepbook/pool.d.ts +0 -1218
  320. package/dist/cjs/contracts/deepbook/pool.js +0 -1236
  321. package/dist/cjs/contracts/deepbook/pool.js.map +0 -7
  322. package/dist/cjs/contracts/deepbook/registry.d.ts +0 -134
  323. package/dist/cjs/contracts/deepbook/registry.js +0 -182
  324. package/dist/cjs/contracts/deepbook/registry.js.map +0 -7
  325. package/dist/cjs/contracts/deepbook/state.d.ts +0 -117
  326. package/dist/cjs/contracts/deepbook/state.js +0 -104
  327. package/dist/cjs/contracts/deepbook/state.js.map +0 -7
  328. package/dist/cjs/contracts/deepbook/trade_params.d.ts +0 -7
  329. package/dist/cjs/contracts/deepbook/trade_params.js +0 -35
  330. package/dist/cjs/contracts/deepbook/trade_params.js.map +0 -7
  331. package/dist/cjs/contracts/deepbook/vault.d.ts +0 -30
  332. package/dist/cjs/contracts/deepbook/vault.js +0 -65
  333. package/dist/cjs/contracts/deepbook/vault.js.map +0 -7
  334. package/dist/cjs/contracts/utils/index.d.ts +0 -25
  335. package/dist/cjs/contracts/utils/index.js +0 -148
  336. package/dist/cjs/contracts/utils/index.js.map +0 -7
  337. package/dist/cjs/index.d.ts +0 -23
  338. package/dist/cjs/index.js +0 -81
  339. package/dist/cjs/index.js.map +0 -7
  340. package/dist/cjs/package.json +0 -4
  341. package/dist/cjs/pyth/PriceServiceConnection.d.ts +0 -26
  342. package/dist/cjs/pyth/PriceServiceConnection.js +0 -68
  343. package/dist/cjs/pyth/PriceServiceConnection.js.map +0 -7
  344. package/dist/cjs/pyth/pyth-helpers.d.ts +0 -7
  345. package/dist/cjs/pyth/pyth-helpers.js +0 -36
  346. package/dist/cjs/pyth/pyth-helpers.js.map +0 -7
  347. package/dist/cjs/pyth/pyth.d.ts +0 -65
  348. package/dist/cjs/pyth/pyth.js +0 -269
  349. package/dist/cjs/pyth/pyth.js.map +0 -7
  350. package/dist/cjs/transactions/balanceManager.d.ts +0 -168
  351. package/dist/cjs/transactions/balanceManager.js +0 -384
  352. package/dist/cjs/transactions/balanceManager.js.map +0 -7
  353. package/dist/cjs/transactions/deepbook.d.ts +0 -477
  354. package/dist/cjs/transactions/deepbook.js +0 -1335
  355. package/dist/cjs/transactions/deepbook.js.map +0 -7
  356. package/dist/cjs/transactions/deepbookAdmin.d.ts +0 -105
  357. package/dist/cjs/transactions/deepbookAdmin.js +0 -334
  358. package/dist/cjs/transactions/deepbookAdmin.js.map +0 -7
  359. package/dist/cjs/transactions/flashLoans.d.ts +0 -56
  360. package/dist/cjs/transactions/flashLoans.js +0 -124
  361. package/dist/cjs/transactions/flashLoans.js.map +0 -7
  362. package/dist/cjs/transactions/governance.d.ts +0 -42
  363. package/dist/cjs/transactions/governance.js +0 -135
  364. package/dist/cjs/transactions/governance.js.map +0 -7
  365. package/dist/cjs/transactions/marginAdmin.d.ts +0 -133
  366. package/dist/cjs/transactions/marginAdmin.js +0 -393
  367. package/dist/cjs/transactions/marginAdmin.js.map +0 -7
  368. package/dist/cjs/transactions/marginLiquidations.d.ts +0 -61
  369. package/dist/cjs/transactions/marginLiquidations.js +0 -173
  370. package/dist/cjs/transactions/marginLiquidations.js.map +0 -7
  371. package/dist/cjs/transactions/marginMaintainer.d.ts +0 -80
  372. package/dist/cjs/transactions/marginMaintainer.js +0 -251
  373. package/dist/cjs/transactions/marginMaintainer.js.map +0 -7
  374. package/dist/cjs/transactions/marginManager.d.ts +0 -236
  375. package/dist/cjs/transactions/marginManager.js +0 -688
  376. package/dist/cjs/transactions/marginManager.js.map +0 -7
  377. package/dist/cjs/transactions/marginPool.d.ts +0 -134
  378. package/dist/cjs/transactions/marginPool.js +0 -330
  379. package/dist/cjs/transactions/marginPool.js.map +0 -7
  380. package/dist/cjs/transactions/marginRegistry.d.ts +0 -94
  381. package/dist/cjs/transactions/marginRegistry.js +0 -221
  382. package/dist/cjs/transactions/marginRegistry.js.map +0 -7
  383. package/dist/cjs/transactions/marginTPSL.d.ts +0 -93
  384. package/dist/cjs/transactions/marginTPSL.js +0 -286
  385. package/dist/cjs/transactions/marginTPSL.js.map +0 -7
  386. package/dist/cjs/transactions/poolProxy.d.ts +0 -104
  387. package/dist/cjs/transactions/poolProxy.js +0 -435
  388. package/dist/cjs/transactions/poolProxy.js.map +0 -7
  389. package/dist/cjs/types/bcs.d.ts +0 -5
  390. package/dist/cjs/types/bcs.js +0 -33
  391. package/dist/cjs/types/bcs.js.map +0 -7
  392. package/dist/cjs/types/index.d.ts +0 -218
  393. package/dist/cjs/types/index.js +0 -38
  394. package/dist/cjs/types/index.js.map +0 -7
  395. package/dist/cjs/utils/config.d.ts +0 -65
  396. package/dist/cjs/utils/config.js +0 -144
  397. package/dist/cjs/utils/config.js.map +0 -7
  398. package/dist/cjs/utils/constants.d.ts +0 -76
  399. package/dist/cjs/utils/constants.js +0 -382
  400. package/dist/cjs/utils/constants.js.map +0 -7
  401. package/dist/cjs/utils/errors.d.ts +0 -42
  402. package/dist/cjs/utils/errors.js +0 -70
  403. package/dist/cjs/utils/errors.js.map +0 -7
  404. package/dist/cjs/utils/validation.js +0 -67
  405. package/dist/cjs/utils/validation.js.map +0 -7
  406. package/dist/esm/client.d.ts +0 -861
  407. package/dist/esm/client.js +0 -1967
  408. package/dist/esm/client.js.map +0 -7
  409. package/dist/esm/contracts/deepbook/account.d.ts +0 -105
  410. package/dist/esm/contracts/deepbook/account.js +0 -133
  411. package/dist/esm/contracts/deepbook/account.js.map +0 -7
  412. package/dist/esm/contracts/deepbook/balance_manager.d.ts +0 -268
  413. package/dist/esm/contracts/deepbook/balance_manager.js +0 -331
  414. package/dist/esm/contracts/deepbook/balance_manager.js.map +0 -7
  415. package/dist/esm/contracts/deepbook/balances.d.ts +0 -10
  416. package/dist/esm/contracts/deepbook/balances.js +0 -15
  417. package/dist/esm/contracts/deepbook/balances.js.map +0 -7
  418. package/dist/esm/contracts/deepbook/big_vector.d.ts +0 -62
  419. package/dist/esm/contracts/deepbook/big_vector.js +0 -50
  420. package/dist/esm/contracts/deepbook/big_vector.js.map +0 -7
  421. package/dist/esm/contracts/deepbook/book.d.ts +0 -34
  422. package/dist/esm/contracts/deepbook/book.js +0 -20
  423. package/dist/esm/contracts/deepbook/book.js.map +0 -7
  424. package/dist/esm/contracts/deepbook/constants.d.ts +0 -176
  425. package/dist/esm/contracts/deepbook/constants.js +0 -318
  426. package/dist/esm/contracts/deepbook/constants.js.map +0 -7
  427. package/dist/esm/contracts/deepbook/deep_price.d.ts +0 -60
  428. package/dist/esm/contracts/deepbook/deep_price.js +0 -67
  429. package/dist/esm/contracts/deepbook/deep_price.js.map +0 -7
  430. package/dist/esm/contracts/deepbook/deps/std/type_name.d.ts +0 -14
  431. package/dist/esm/contracts/deepbook/deps/std/type_name.js +0 -22
  432. package/dist/esm/contracts/deepbook/deps/std/type_name.js.map +0 -7
  433. package/dist/esm/contracts/deepbook/deps/sui/bag.d.ts +0 -33
  434. package/dist/esm/contracts/deepbook/deps/sui/bag.js +0 -17
  435. package/dist/esm/contracts/deepbook/deps/sui/bag.js.map +0 -7
  436. package/dist/esm/contracts/deepbook/deps/sui/balance.d.ts +0 -9
  437. package/dist/esm/contracts/deepbook/deps/sui/balance.js +0 -13
  438. package/dist/esm/contracts/deepbook/deps/sui/balance.js.map +0 -7
  439. package/dist/esm/contracts/deepbook/deps/sui/object.d.ts +0 -5
  440. package/dist/esm/contracts/deepbook/deps/sui/object.js +0 -13
  441. package/dist/esm/contracts/deepbook/deps/sui/object.js.map +0 -7
  442. package/dist/esm/contracts/deepbook/deps/sui/table.d.ts +0 -28
  443. package/dist/esm/contracts/deepbook/deps/sui/table.js +0 -17
  444. package/dist/esm/contracts/deepbook/deps/sui/table.js.map +0 -7
  445. package/dist/esm/contracts/deepbook/deps/sui/vec_map.d.ts +0 -27
  446. package/dist/esm/contracts/deepbook/deps/sui/vec_map.js +0 -25
  447. package/dist/esm/contracts/deepbook/deps/sui/vec_map.js.map +0 -7
  448. package/dist/esm/contracts/deepbook/deps/sui/vec_set.d.ts +0 -15
  449. package/dist/esm/contracts/deepbook/deps/sui/vec_set.js +0 -15
  450. package/dist/esm/contracts/deepbook/deps/sui/vec_set.js.map +0 -7
  451. package/dist/esm/contracts/deepbook/deps/sui/versioned.d.ts +0 -7
  452. package/dist/esm/contracts/deepbook/deps/sui/versioned.js +0 -15
  453. package/dist/esm/contracts/deepbook/deps/sui/versioned.js.map +0 -7
  454. package/dist/esm/contracts/deepbook/ewma.d.ts +0 -17
  455. package/dist/esm/contracts/deepbook/ewma.js +0 -19
  456. package/dist/esm/contracts/deepbook/ewma.js.map +0 -7
  457. package/dist/esm/contracts/deepbook/fill.d.ts +0 -153
  458. package/dist/esm/contracts/deepbook/fill.js +0 -221
  459. package/dist/esm/contracts/deepbook/fill.js.map +0 -7
  460. package/dist/esm/contracts/deepbook/governance.d.ts +0 -63
  461. package/dist/esm/contracts/deepbook/governance.js +0 -49
  462. package/dist/esm/contracts/deepbook/governance.js.map +0 -7
  463. package/dist/esm/contracts/deepbook/history.d.ts +0 -60
  464. package/dist/esm/contracts/deepbook/history.js +0 -48
  465. package/dist/esm/contracts/deepbook/history.js.map +0 -7
  466. package/dist/esm/contracts/deepbook/math.d.ts +0 -94
  467. package/dist/esm/contracts/deepbook/math.js +0 -112
  468. package/dist/esm/contracts/deepbook/math.js.map +0 -7
  469. package/dist/esm/contracts/deepbook/order.d.ts +0 -135
  470. package/dist/esm/contracts/deepbook/order.js +0 -188
  471. package/dist/esm/contracts/deepbook/order.js.map +0 -7
  472. package/dist/esm/contracts/deepbook/order_info.d.ts +0 -296
  473. package/dist/esm/contracts/deepbook/order_info.js +0 -356
  474. package/dist/esm/contracts/deepbook/order_info.js.map +0 -7
  475. package/dist/esm/contracts/deepbook/order_query.d.ts +0 -85
  476. package/dist/esm/contracts/deepbook/order_query.js +0 -66
  477. package/dist/esm/contracts/deepbook/order_query.js.map +0 -7
  478. package/dist/esm/contracts/deepbook/pool.d.ts +0 -1218
  479. package/dist/esm/contracts/deepbook/pool.js +0 -1206
  480. package/dist/esm/contracts/deepbook/pool.js.map +0 -7
  481. package/dist/esm/contracts/deepbook/registry.d.ts +0 -134
  482. package/dist/esm/contracts/deepbook/registry.js +0 -152
  483. package/dist/esm/contracts/deepbook/registry.js.map +0 -7
  484. package/dist/esm/contracts/deepbook/state.d.ts +0 -117
  485. package/dist/esm/contracts/deepbook/state.js +0 -74
  486. package/dist/esm/contracts/deepbook/state.js.map +0 -7
  487. package/dist/esm/contracts/deepbook/trade_params.d.ts +0 -7
  488. package/dist/esm/contracts/deepbook/trade_params.js +0 -15
  489. package/dist/esm/contracts/deepbook/trade_params.js.map +0 -7
  490. package/dist/esm/contracts/deepbook/vault.d.ts +0 -30
  491. package/dist/esm/contracts/deepbook/vault.js +0 -35
  492. package/dist/esm/contracts/deepbook/vault.js.map +0 -7
  493. package/dist/esm/contracts/utils/index.d.ts +0 -25
  494. package/dist/esm/contracts/utils/index.js +0 -128
  495. package/dist/esm/contracts/utils/index.js.map +0 -7
  496. package/dist/esm/index.d.ts +0 -23
  497. package/dist/esm/index.js +0 -81
  498. package/dist/esm/index.js.map +0 -7
  499. package/dist/esm/package.json +0 -4
  500. package/dist/esm/pyth/PriceServiceConnection.d.ts +0 -26
  501. package/dist/esm/pyth/PriceServiceConnection.js +0 -38
  502. package/dist/esm/pyth/PriceServiceConnection.js.map +0 -7
  503. package/dist/esm/pyth/pyth-helpers.d.ts +0 -7
  504. package/dist/esm/pyth/pyth-helpers.js +0 -16
  505. package/dist/esm/pyth/pyth-helpers.js.map +0 -7
  506. package/dist/esm/pyth/pyth.d.ts +0 -65
  507. package/dist/esm/pyth/pyth.js +0 -249
  508. package/dist/esm/pyth/pyth.js.map +0 -7
  509. package/dist/esm/transactions/balanceManager.d.ts +0 -168
  510. package/dist/esm/transactions/balanceManager.js +0 -364
  511. package/dist/esm/transactions/balanceManager.js.map +0 -7
  512. package/dist/esm/transactions/deepbook.d.ts +0 -477
  513. package/dist/esm/transactions/deepbook.js +0 -1321
  514. package/dist/esm/transactions/deepbook.js.map +0 -7
  515. package/dist/esm/transactions/deepbookAdmin.d.ts +0 -105
  516. package/dist/esm/transactions/deepbookAdmin.js +0 -314
  517. package/dist/esm/transactions/deepbookAdmin.js.map +0 -7
  518. package/dist/esm/transactions/flashLoans.d.ts +0 -56
  519. package/dist/esm/transactions/flashLoans.js +0 -104
  520. package/dist/esm/transactions/flashLoans.js.map +0 -7
  521. package/dist/esm/transactions/governance.d.ts +0 -42
  522. package/dist/esm/transactions/governance.js +0 -115
  523. package/dist/esm/transactions/governance.js.map +0 -7
  524. package/dist/esm/transactions/marginAdmin.d.ts +0 -133
  525. package/dist/esm/transactions/marginAdmin.js +0 -373
  526. package/dist/esm/transactions/marginAdmin.js.map +0 -7
  527. package/dist/esm/transactions/marginLiquidations.d.ts +0 -61
  528. package/dist/esm/transactions/marginLiquidations.js +0 -153
  529. package/dist/esm/transactions/marginLiquidations.js.map +0 -7
  530. package/dist/esm/transactions/marginMaintainer.d.ts +0 -80
  531. package/dist/esm/transactions/marginMaintainer.js +0 -231
  532. package/dist/esm/transactions/marginMaintainer.js.map +0 -7
  533. package/dist/esm/transactions/marginManager.d.ts +0 -236
  534. package/dist/esm/transactions/marginManager.js +0 -668
  535. package/dist/esm/transactions/marginManager.js.map +0 -7
  536. package/dist/esm/transactions/marginPool.d.ts +0 -134
  537. package/dist/esm/transactions/marginPool.js +0 -310
  538. package/dist/esm/transactions/marginPool.js.map +0 -7
  539. package/dist/esm/transactions/marginRegistry.d.ts +0 -94
  540. package/dist/esm/transactions/marginRegistry.js +0 -201
  541. package/dist/esm/transactions/marginRegistry.js.map +0 -7
  542. package/dist/esm/transactions/marginTPSL.d.ts +0 -93
  543. package/dist/esm/transactions/marginTPSL.js +0 -266
  544. package/dist/esm/transactions/marginTPSL.js.map +0 -7
  545. package/dist/esm/transactions/poolProxy.d.ts +0 -104
  546. package/dist/esm/transactions/poolProxy.js +0 -415
  547. package/dist/esm/transactions/poolProxy.js.map +0 -7
  548. package/dist/esm/types/bcs.d.ts +0 -5
  549. package/dist/esm/types/bcs.js +0 -13
  550. package/dist/esm/types/bcs.js.map +0 -7
  551. package/dist/esm/types/index.d.ts +0 -218
  552. package/dist/esm/types/index.js +0 -18
  553. package/dist/esm/types/index.js.map +0 -7
  554. package/dist/esm/utils/config.d.ts +0 -65
  555. package/dist/esm/utils/config.js +0 -135
  556. package/dist/esm/utils/config.js.map +0 -7
  557. package/dist/esm/utils/constants.d.ts +0 -76
  558. package/dist/esm/utils/constants.js +0 -362
  559. package/dist/esm/utils/constants.js.map +0 -7
  560. package/dist/esm/utils/errors.d.ts +0 -42
  561. package/dist/esm/utils/errors.js +0 -50
  562. package/dist/esm/utils/errors.js.map +0 -7
  563. package/dist/esm/utils/validation.d.ts +0 -50
  564. package/dist/esm/utils/validation.js +0 -47
  565. package/dist/esm/utils/validation.js.map +0 -7
  566. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  567. package/dist/tsconfig.tsbuildinfo +0 -1
  568. package/src/contracts/deepbook/deps/sui/object.ts +0 -14
@@ -1,23 +1,33 @@
1
- // Copyright (c) Mysten Labs, Inc.
2
- // SPDX-License-Identifier: Apache-2.0
3
- import type { BcsType, TypeTag } from '@haneullabs/haneul/bcs';
4
- import { bcs, TypeTagSerializer, BcsStruct, BcsEnum, BcsTuple } from '@haneullabs/haneul/bcs';
1
+ import {
2
+ bcs,
3
+ BcsType,
4
+ TypeTag,
5
+ TypeTagSerializer,
6
+ BcsStruct,
7
+ BcsEnum,
8
+ BcsTuple,
9
+ } from '@haneullabs/haneul/bcs';
5
10
  import { normalizeHaneulAddress } from '@haneullabs/haneul/utils';
6
- import type { TransactionArgument } from '@haneullabs/haneul/transactions';
7
- import { isArgument } from '@haneullabs/haneul/transactions';
8
- import { ValidationError, ErrorMessages } from '../../utils/errors.js';
11
+ import { TransactionArgument, isArgument } from '@haneullabs/haneul/transactions';
12
+ import { ClientWithCoreApi, HaneulClientTypes } from '@haneullabs/haneul/client';
9
13
 
10
14
  const MOVE_STDLIB_ADDRESS = normalizeHaneulAddress('0x1');
11
15
  const HANEUL_FRAMEWORK_ADDRESS = normalizeHaneulAddress('0x2');
12
- const HANEUL_SYSTEM_ADDRESS = normalizeHaneulAddress('0x3');
13
16
 
14
17
  export type RawTransactionArgument<T> = T | TransactionArgument;
15
18
 
16
- /**
17
- * @description Get the BCS schema for a given type tag
18
- * @param {string | TypeTag} typeTag - The Move type tag to get the schema for
19
- * @returns {BcsType<any> | null} The BCS schema if found, null otherwise
20
- */
19
+ export interface GetOptions<
20
+ Include extends Omit<HaneulClientTypes.ObjectInclude, 'content'> = {},
21
+ > extends HaneulClientTypes.GetObjectOptions<Include> {
22
+ client: ClientWithCoreApi;
23
+ }
24
+
25
+ export interface GetManyOptions<
26
+ Include extends Omit<HaneulClientTypes.ObjectInclude, 'content'> = {},
27
+ > extends HaneulClientTypes.GetObjectsOptions<Include> {
28
+ client: ClientWithCoreApi;
29
+ }
30
+
21
31
  export function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null {
22
32
  const parsedTag = typeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;
23
33
 
@@ -42,7 +52,7 @@ export function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null
42
52
  return type ? bcs.vector(type) : null;
43
53
  } else if ('struct' in parsedTag) {
44
54
  const structTag = parsedTag.struct;
45
- const pkg = normalizeHaneulAddress(parsedTag.struct.address);
55
+ const pkg = normalizeHaneulAddress(structTag.address);
46
56
 
47
57
  if (pkg === MOVE_STDLIB_ADDRESS) {
48
58
  if (
@@ -53,12 +63,16 @@ export function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null
53
63
  }
54
64
 
55
65
  if (structTag.module === 'option' && structTag.name === 'Option') {
56
- const type = getPureBcsSchema(structTag.typeParams[0]!);
57
- return type ? bcs.vector(type) : null;
66
+ const type = getPureBcsSchema(structTag.typeParams[0]);
67
+ return type ? bcs.option(type) : null;
58
68
  }
59
69
  }
60
70
 
61
- if (pkg === HANEUL_FRAMEWORK_ADDRESS && structTag.module === 'Object' && structTag.name === 'ID') {
71
+ if (
72
+ pkg === HANEUL_FRAMEWORK_ADDRESS &&
73
+ structTag.module === 'object' &&
74
+ (structTag.name === 'ID' || structTag.name === 'UID')
75
+ ) {
62
76
  return bcs.Address;
63
77
  }
64
78
  }
@@ -66,44 +80,38 @@ export function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null
66
80
  return null;
67
81
  }
68
82
 
69
- /**
70
- * @description Normalize Move function arguments to TransactionArguments
71
- * @param {unknown[] | object} args - The arguments to normalize
72
- * @param {string[]} argTypes - The expected Move type strings for each argument
73
- * @param {string[]} [parameterNames] - Optional parameter names when args is an object
74
- * @returns {TransactionArgument[]} Array of normalized transaction arguments
75
- * @throws {Error} If arguments are invalid or don't match expected types
76
- */
77
83
  export function normalizeMoveArguments(
78
84
  args: unknown[] | object,
79
- argTypes: string[],
85
+ argTypes: readonly (string | null)[],
80
86
  parameterNames?: string[],
81
- ): TransactionArgument[] {
87
+ ) {
82
88
  const argLen = Array.isArray(args) ? args.length : Object.keys(args).length;
83
89
  if (parameterNames && argLen !== parameterNames.length) {
84
- throw new ValidationError(ErrorMessages.INVALID_ARGUMENT_COUNT(parameterNames.length, argLen));
90
+ throw new Error(
91
+ `Invalid number of arguments, expected ${parameterNames.length}, got ${argLen}`,
92
+ );
85
93
  }
86
94
 
87
95
  const normalizedArgs: TransactionArgument[] = [];
88
96
 
89
97
  let index = 0;
90
98
  for (const [i, argType] of argTypes.entries()) {
91
- if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::deny_list::DenyList`) {
92
- normalizedArgs.push((tx) => tx.object.denyList());
99
+ if (argType === '0x2::clock::Clock') {
100
+ normalizedArgs.push((tx) => tx.object.clock());
93
101
  continue;
94
102
  }
95
103
 
96
- if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::random::Random`) {
104
+ if (argType === '0x2::random::Random') {
97
105
  normalizedArgs.push((tx) => tx.object.random());
98
106
  continue;
99
107
  }
100
108
 
101
- if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::clock::Clock`) {
102
- normalizedArgs.push((tx) => tx.object.clock());
109
+ if (argType === '0x2::deny_list::DenyList') {
110
+ normalizedArgs.push((tx) => tx.object.denyList());
103
111
  continue;
104
112
  }
105
113
 
106
- if (argType === `${HANEUL_SYSTEM_ADDRESS}::haneul_system::HaneulSystemState`) {
114
+ if (argType === '0x3::haneul_system::HaneulSystemState') {
107
115
  normalizedArgs.push((tx) => tx.object.system());
108
116
  continue;
109
117
  }
@@ -111,18 +119,20 @@ export function normalizeMoveArguments(
111
119
  let arg;
112
120
  if (Array.isArray(args)) {
113
121
  if (index >= args.length) {
114
- throw new ValidationError(ErrorMessages.INVALID_ARGUMENT_COUNT(index + 1, args.length));
122
+ throw new Error(
123
+ `Invalid number of arguments, expected at least ${index + 1}, got ${args.length}`,
124
+ );
115
125
  }
116
126
  arg = args[index];
117
127
  } else {
118
128
  if (!parameterNames) {
119
- throw new ValidationError(`Expected arguments to be passed as an array`);
129
+ throw new Error(`Expected arguments to be passed as an array`);
120
130
  }
121
131
  const name = parameterNames[index];
122
132
  arg = args[name as keyof typeof args];
123
133
 
124
- if (arg == null) {
125
- throw new ValidationError(ErrorMessages.PARAMETER_REQUIRED(name));
134
+ if (arg === undefined) {
135
+ throw new Error(`Parameter ${name} is required`);
126
136
  }
127
137
  }
128
138
 
@@ -133,8 +143,8 @@ export function normalizeMoveArguments(
133
143
  continue;
134
144
  }
135
145
 
136
- const type = argTypes[i]!;
137
- const bcsType = getPureBcsSchema(type);
146
+ const type = argTypes[i];
147
+ const bcsType = type === null ? null : getPureBcsSchema(type);
138
148
 
139
149
  if (bcsType) {
140
150
  const bytes = bcsType.serialize(arg as never);
@@ -145,7 +155,7 @@ export function normalizeMoveArguments(
145
155
  continue;
146
156
  }
147
157
 
148
- throw new ValidationError(ErrorMessages.INVALID_ARGUMENT(stringify(arg) as string, type));
158
+ throw new Error(`Invalid argument ${stringify(arg)} for type ${type}`);
149
159
  }
150
160
 
151
161
  return normalizedArgs;
@@ -154,7 +164,53 @@ export function normalizeMoveArguments(
154
164
  export class MoveStruct<
155
165
  T extends Record<string, BcsType<any>>,
156
166
  const Name extends string = string,
157
- > extends BcsStruct<T, Name> {}
167
+ > extends BcsStruct<T, Name> {
168
+ async get<Include extends Omit<HaneulClientTypes.ObjectInclude, 'content' | 'json'> = {}>({
169
+ objectId,
170
+ ...options
171
+ }: GetOptions<Include>): Promise<
172
+ HaneulClientTypes.Object<Include & { content: true; json: true }> & {
173
+ json: BcsStruct<T>['$inferType'];
174
+ }
175
+ > {
176
+ const [res] = await this.getMany<Include>({
177
+ ...options,
178
+ objectIds: [objectId],
179
+ });
180
+
181
+ return res;
182
+ }
183
+
184
+ async getMany<Include extends Omit<HaneulClientTypes.ObjectInclude, 'content' | 'json'> = {}>({
185
+ client,
186
+ ...options
187
+ }: GetManyOptions<Include>): Promise<
188
+ Array<
189
+ HaneulClientTypes.Object<Include & { content: true; json: true }> & {
190
+ json: BcsStruct<T>['$inferType'];
191
+ }
192
+ >
193
+ > {
194
+ const response = (await client.core.getObjects({
195
+ ...options,
196
+ include: {
197
+ ...options.include,
198
+ content: true,
199
+ },
200
+ })) as HaneulClientTypes.GetObjectsResponse<Include & { content: true }>;
201
+
202
+ return response.objects.map((obj) => {
203
+ if (obj instanceof Error) {
204
+ throw obj;
205
+ }
206
+
207
+ return {
208
+ ...obj,
209
+ json: this.parse(obj.content),
210
+ };
211
+ });
212
+ }
213
+ }
158
214
 
159
215
  export class MoveEnum<
160
216
  T extends Record<string, BcsType<any> | null>,
@@ -162,17 +218,11 @@ export class MoveEnum<
162
218
  > extends BcsEnum<T, Name> {}
163
219
 
164
220
  export class MoveTuple<
165
- T extends readonly BcsType<any>[],
221
+ const T extends readonly BcsType<any>[],
166
222
  const Name extends string,
167
223
  > extends BcsTuple<T, Name> {}
168
224
 
169
- /**
170
- * @description Convert a value to string representation for error messages
171
- * @param {unknown} val - The value to stringify
172
- * @returns {unknown} String representation of the value
173
- * @private
174
- */
175
- function stringify(val: unknown): unknown {
225
+ function stringify(val: unknown) {
176
226
  if (typeof val === 'object') {
177
227
  return JSON.stringify(val, (val: unknown) => val);
178
228
  }
@@ -0,0 +1,12 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../utils/index.js';
5
+ import { bcs } from '@haneullabs/haneul/bcs';
6
+ const $moduleName = '0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::bytes32';
7
+ export const Bytes32 = new MoveStruct({
8
+ name: `${$moduleName}::Bytes32`,
9
+ fields: {
10
+ data: bcs.vector(bcs.u8()),
11
+ },
12
+ });
@@ -0,0 +1,13 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../utils/index.js';
5
+ import * as set from './set.js';
6
+ const $moduleName =
7
+ '0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::consumed_vaas';
8
+ export const ConsumedVAAs = new MoveStruct({
9
+ name: `${$moduleName}::ConsumedVAAs`,
10
+ fields: {
11
+ hashes: set.Set,
12
+ },
13
+ });
@@ -0,0 +1,12 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../../../utils/index.js';
5
+ import { bcs } from '@haneullabs/haneul/bcs';
6
+ const $moduleName = '0x2::balance';
7
+ export const Balance = new MoveStruct({
8
+ name: `${$moduleName}::Balance`,
9
+ fields: {
10
+ value: bcs.u64(),
11
+ },
12
+ });
@@ -0,0 +1,15 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../../../utils/index.js';
5
+ import { bcs } from '@haneullabs/haneul/bcs';
6
+ const $moduleName = '0x2::package';
7
+ export const UpgradeCap = new MoveStruct({
8
+ name: `${$moduleName}::UpgradeCap`,
9
+ fields: {
10
+ id: bcs.Address,
11
+ package: bcs.Address,
12
+ version: bcs.u64(),
13
+ policy: bcs.u8(),
14
+ },
15
+ });
@@ -0,0 +1,13 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../../../utils/index.js';
5
+ import { bcs } from '@haneullabs/haneul/bcs';
6
+ const $moduleName = '0x2::table';
7
+ export const Table = new MoveStruct({
8
+ name: `${$moduleName}::Table`,
9
+ fields: {
10
+ id: bcs.Address,
11
+ size: bcs.u64(),
12
+ },
13
+ });
@@ -0,0 +1,13 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../utils/index.js';
5
+ import * as bytes32 from './bytes32.js';
6
+ const $moduleName =
7
+ '0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::external_address';
8
+ export const ExternalAddress = new MoveStruct({
9
+ name: `${$moduleName}::ExternalAddress`,
10
+ fields: {
11
+ value: bytes32.Bytes32,
12
+ },
13
+ });
@@ -0,0 +1,15 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../utils/index.js';
5
+ import { bcs } from '@haneullabs/haneul/bcs';
6
+ import * as balance from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.js';
7
+ const $moduleName =
8
+ '0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::fee_collector';
9
+ export const FeeCollector = new MoveStruct({
10
+ name: `${$moduleName}::FeeCollector`,
11
+ fields: {
12
+ fee_amount: bcs.u64(),
13
+ balance: balance.Balance,
14
+ },
15
+ });
@@ -0,0 +1,12 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../utils/index.js';
5
+ import * as table from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.js';
6
+ const $moduleName = '0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::set';
7
+ export const Set = new MoveStruct({
8
+ name: `${$moduleName}::Set`,
9
+ fields: {
10
+ items: table.Table,
11
+ },
12
+ });
@@ -0,0 +1,25 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct } from '../utils/index.js';
5
+ import { bcs } from '@haneullabs/haneul/bcs';
6
+ import * as external_address from './external_address.js';
7
+ import * as table from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.js';
8
+ import * as consumed_vaas from './consumed_vaas.js';
9
+ import * as fee_collector from './fee_collector.js';
10
+ import * as _package from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.js';
11
+ const $moduleName = '0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::state';
12
+ export const State = new MoveStruct({
13
+ name: `${$moduleName}::State`,
14
+ fields: {
15
+ id: bcs.Address,
16
+ governance_chain: bcs.u16(),
17
+ governance_contract: external_address.ExternalAddress,
18
+ guardian_set_index: bcs.u32(),
19
+ guardian_sets: table.Table,
20
+ guardian_set_seconds_to_live: bcs.u32(),
21
+ consumed_vaas: consumed_vaas.ConsumedVAAs,
22
+ fee_collector: fee_collector.FeeCollector,
23
+ upgrade_cap: _package.UpgradeCap,
24
+ },
25
+ });
package/src/index.ts CHANGED
@@ -2,7 +2,8 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  // Main client and configuration
5
- export { DeepBookClient } from './client.js';
5
+ export { DeepBookClient, deepbook } from './client.js';
6
+ export type { DeepBookCompatibleClient, DeepBookOptions, DeepBookClientOptions } from './client.js';
6
7
  export { DeepBookConfig } from './utils/config.js';
7
8
 
8
9
  // Core contract classes
@@ -33,7 +34,6 @@ export type {
33
34
  Pool,
34
35
  MarginManager,
35
36
  MarginPool,
36
- Environment,
37
37
  Config,
38
38
  } from './types/index.js';
39
39
 
@@ -65,7 +65,21 @@ export type {
65
65
  export { OrderType, SelfMatchingOptions } from './types/index.js';
66
66
 
67
67
  // Constants and configuration maps
68
- export type { CoinMap, PoolMap, MarginPoolMap } from './utils/constants.js';
68
+ export type { CoinMap, PoolMap, MarginPoolMap, DeepbookPackageIds } from './utils/constants.js';
69
+
70
+ // Default configurations for mainnet and testnet
71
+ export {
72
+ mainnetCoins,
73
+ testnetCoins,
74
+ mainnetPools,
75
+ testnetPools,
76
+ mainnetMarginPools,
77
+ testnetMarginPools,
78
+ mainnetPackageIds,
79
+ testnetPackageIds,
80
+ mainnetPythConfigs,
81
+ testnetPythConfigs,
82
+ } from './utils/constants.js';
69
83
  export {
70
84
  DEEP_SCALAR,
71
85
  FLOAT_SCALAR,
package/src/pyth/pyth.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { bcs } from '@haneullabs/haneul/bcs';
5
- import type { HaneulClient } from '@haneullabs/haneul/client';
5
+ import type { ClientWithCoreApi } from '@haneullabs/haneul/client';
6
6
  import type { Transaction } from '@haneullabs/haneul/transactions';
7
7
  import { coinWithBalance } from '@haneullabs/haneul/transactions';
8
8
  import { fromBase64, fromHex, parseStructTag } from '@haneullabs/haneul/utils';
@@ -10,6 +10,8 @@ import { fromBase64, fromHex, parseStructTag } from '@haneullabs/haneul/utils';
10
10
  import type { HexString } from './PriceServiceConnection.js';
11
11
  import { PriceServiceConnection } from './PriceServiceConnection.js';
12
12
  import { extractVaaBytesFromAccumulatorMessage } from './pyth-helpers.js';
13
+ import { State as PythState } from '../contracts/pyth/state.js';
14
+ import { State as WormholeState } from '../contracts/wormhole/state.js';
13
15
 
14
16
  const MAX_ARGUMENT_SIZE = 16 * 1024;
15
17
  export type ObjectId = string;
@@ -31,11 +33,11 @@ export class HaneulPythClient {
31
33
  #priceFeedObjectIdCache: Map<HexString, Promise<ObjectId>> = new Map();
32
34
  #priceTableInfo?: Promise<{ id: ObjectId; fieldType: ObjectId }>;
33
35
  #baseUpdateFee?: Promise<number>;
34
- provider: HaneulClient;
36
+ provider: ClientWithCoreApi;
35
37
  pythStateId: ObjectId;
36
38
  wormholeStateId: ObjectId;
37
39
 
38
- constructor(provider: HaneulClient, pythStateId: ObjectId, wormholeStateId: ObjectId) {
40
+ constructor(provider: ClientWithCoreApi, pythStateId: ObjectId, wormholeStateId: ObjectId) {
39
41
  this.provider = provider;
40
42
  this.pythStateId = pythStateId;
41
43
  this.wormholeStateId = wormholeStateId;
@@ -147,25 +149,28 @@ export class HaneulPythClient {
147
149
  */
148
150
  async #fetchPriceFeedObjectId(feedId: HexString): Promise<ObjectId> {
149
151
  const { id: tableId, fieldType } = await this.getPriceTableInfo();
150
- const result = await this.provider.getDynamicFieldObject({
152
+
153
+ // Serialize the PriceIdentifier name using BCS (vector of bytes)
154
+ const nameBytes = bcs
155
+ .byteVector()
156
+ .serialize(Array.from(fromHex(feedId)))
157
+ .toBytes();
158
+
159
+ const result = await this.provider.core.getDynamicField({
151
160
  parentId: tableId,
152
161
  name: {
153
162
  type: `${fieldType}::price_identifier::PriceIdentifier`,
154
- value: {
155
- bytes: Array.from(fromHex(feedId)),
156
- },
163
+ bcs: nameBytes,
157
164
  },
158
165
  });
159
166
 
160
- if (!result.data || !result.data.content) {
167
+ if (!result.dynamicField) {
161
168
  throw new Error(`Price feed object ID for feed ID ${feedId} not found.`);
162
169
  }
163
- if (result.data.content.dataType !== 'moveObject') {
164
- throw new Error('Price feed type mismatch');
165
- }
166
170
 
167
- const fields = result.data.content.fields as { value: string };
168
- return fields.value;
171
+ // The value in the table is just the object ID (address)
172
+ const objectId = bcs.Address.parse(result.dynamicField.value.bcs);
173
+ return objectId;
169
174
  }
170
175
 
171
176
  /**
@@ -191,26 +196,27 @@ export class HaneulPythClient {
191
196
  * @returns Price table object ID and field type
192
197
  */
193
198
  async #fetchPriceTableInfo(): Promise<{ id: ObjectId; fieldType: ObjectId }> {
194
- const result = await this.provider.getDynamicFieldObject({
199
+ const result = await this.provider.core.getDynamicObjectField({
195
200
  parentId: this.pythStateId,
196
201
  name: {
197
202
  type: 'vector<u8>',
198
- value: 'price_info',
203
+ bcs: bcs.string().serialize('price_info').toBytes(),
199
204
  },
200
205
  });
201
206
 
202
- if (!result.data || !result.data.type) {
207
+ if (!result.object) {
203
208
  throw new Error('Price Table not found, contract may not be initialized');
204
209
  }
205
210
 
206
- const priceIdentifier = parseStructTag(result.data.type).typeParams[0];
211
+ const tableType = parseStructTag(result.object.type);
212
+ const priceIdentifier = tableType.typeParams[0];
207
213
  if (
208
214
  typeof priceIdentifier === 'object' &&
209
215
  priceIdentifier !== null &&
210
216
  priceIdentifier.name === 'PriceIdentifier' &&
211
217
  'address' in priceIdentifier
212
218
  ) {
213
- return { id: result.data.objectId, fieldType: priceIdentifier.address };
219
+ return { id: result.object.objectId, fieldType: priceIdentifier.address };
214
220
  } else {
215
221
  throw new Error('fieldType not found');
216
222
  }
@@ -229,7 +235,17 @@ export class HaneulPythClient {
229
235
  * Fetches the package ID for the Wormhole contract (no caching).
230
236
  */
231
237
  async #fetchWormholePackageId(): Promise<ObjectId> {
232
- return await this.#getPackageId(this.wormholeStateId);
238
+ const result = await this.provider.core.getObject({
239
+ objectId: this.wormholeStateId,
240
+ include: { content: true },
241
+ });
242
+
243
+ if (!result.object?.content) {
244
+ throw new Error('Unable to fetch Wormhole state object');
245
+ }
246
+
247
+ const state = WormholeState.parse(result.object.content);
248
+ return state.upgrade_cap.package;
233
249
  }
234
250
 
235
251
  /**
@@ -246,51 +262,36 @@ export class HaneulPythClient {
246
262
  * Fetches the package ID for the Pyth contract (no caching).
247
263
  */
248
264
  async #fetchPythPackageId(): Promise<ObjectId> {
249
- return await this.#getPackageId(this.pythStateId);
250
- }
251
-
252
- /**
253
- * Fetches the package ID for a given object.
254
- *
255
- * @param objectId Object ID to fetch the package ID for.
256
- */
257
- async #getPackageId(objectId: ObjectId): Promise<ObjectId> {
258
- const result = await this.provider.getObject({
259
- id: objectId,
260
- options: { showContent: true },
265
+ const result = await this.provider.core.getObject({
266
+ objectId: this.pythStateId,
267
+ include: { content: true },
261
268
  });
262
269
 
263
- if (
264
- result.data?.content?.dataType === 'moveObject' &&
265
- 'upgrade_cap' in result.data.content.fields
266
- ) {
267
- const fields = result.data.content.fields as {
268
- upgrade_cap: {
269
- fields: {
270
- package: ObjectId;
271
- };
272
- };
273
- };
274
- return fields.upgrade_cap.fields.package;
270
+ if (!result.object?.content) {
271
+ throw new Error(`Cannot fetch Pyth package ID for object ${this.pythStateId}`);
275
272
  }
276
273
 
277
- throw new Error(`Cannot fetch package ID for object ${objectId}`);
274
+ // Parse the BCS content to get the upgrade_cap.package field
275
+ const state = PythState.parse(result.object.content);
276
+ return state.upgrade_cap.package;
278
277
  }
278
+
279
279
  /**
280
280
  * Gets the base update fee from the Pyth state object.
281
281
  */
282
282
  async #fetchBaseUpdateFee(): Promise<number> {
283
- const result = await this.provider.getObject({
284
- id: this.pythStateId,
285
- options: { showContent: true },
283
+ const result = await this.provider.core.getObject({
284
+ objectId: this.pythStateId,
285
+ include: { content: true },
286
286
  });
287
287
 
288
- if (!result.data || result.data.content?.dataType !== 'moveObject') {
288
+ if (!result.object?.content) {
289
289
  throw new Error('Unable to fetch Pyth state object');
290
290
  }
291
291
 
292
- const fields = result.data.content.fields as { base_update_fee: number };
293
- return fields.base_update_fee;
292
+ // Parse the BCS content to get the base_update_fee field
293
+ const state = PythState.parse(result.object.content);
294
+ return Number(state.base_update_fee);
294
295
  }
295
296
 
296
297
  /**