@waterx/sdk 2.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 (245) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +204 -0
  3. package/dist/src/client.d.ts +109 -0
  4. package/dist/src/client.js +197 -0
  5. package/dist/src/config.d.ts +229 -0
  6. package/dist/src/config.js +107 -0
  7. package/dist/src/constants.d.ts +64 -0
  8. package/dist/src/constants.js +71 -0
  9. package/dist/src/fetch.d.ts +144 -0
  10. package/dist/src/fetch.js +419 -0
  11. package/dist/src/generated/bucket_v2_framework/account.d.ts +107 -0
  12. package/dist/src/generated/bucket_v2_framework/account.js +129 -0
  13. package/dist/src/generated/bucket_v2_framework/deps/std/type_name.d.ts +17 -0
  14. package/dist/src/generated/bucket_v2_framework/deps/std/type_name.js +19 -0
  15. package/dist/src/generated/bucket_v2_framework/deps/sui/balance.d.ts +12 -0
  16. package/dist/src/generated/bucket_v2_framework/deps/sui/balance.js +14 -0
  17. package/dist/src/generated/bucket_v2_framework/deps/sui/vec_map.d.ts +36 -0
  18. package/dist/src/generated/bucket_v2_framework/deps/sui/vec_map.js +27 -0
  19. package/dist/src/generated/bucket_v2_framework/deps/sui/vec_set.d.ts +16 -0
  20. package/dist/src/generated/bucket_v2_framework/deps/sui/vec_set.js +19 -0
  21. package/dist/src/generated/bucket_v2_framework/double.d.ts +384 -0
  22. package/dist/src/generated/bucket_v2_framework/double.js +466 -0
  23. package/dist/src/generated/bucket_v2_framework/float.d.ts +364 -0
  24. package/dist/src/generated/bucket_v2_framework/float.js +440 -0
  25. package/dist/src/generated/bucket_v2_framework/liability.d.ts +197 -0
  26. package/dist/src/generated/bucket_v2_framework/liability.js +205 -0
  27. package/dist/src/generated/bucket_v2_framework/linked_table.d.ts +384 -0
  28. package/dist/src/generated/bucket_v2_framework/linked_table.js +382 -0
  29. package/dist/src/generated/bucket_v2_framework/sheet.d.ts +424 -0
  30. package/dist/src/generated/bucket_v2_framework/sheet.js +344 -0
  31. package/dist/src/generated/native_custody/custody_vault.d.ts +572 -0
  32. package/dist/src/generated/native_custody/custody_vault.js +483 -0
  33. package/dist/src/generated/native_custody/deps/bucket_v2_framework/float.d.ts +8 -0
  34. package/dist/src/generated/native_custody/deps/bucket_v2_framework/float.js +10 -0
  35. package/dist/src/generated/native_custody/deps/bucket_v2_framework/liability.d.ts +11 -0
  36. package/dist/src/generated/native_custody/deps/bucket_v2_framework/liability.js +13 -0
  37. package/dist/src/generated/native_custody/deps/bucket_v2_framework/sheet.d.ts +49 -0
  38. package/dist/src/generated/native_custody/deps/bucket_v2_framework/sheet.js +18 -0
  39. package/dist/src/generated/native_custody/deps/std/type_name.d.ts +17 -0
  40. package/dist/src/generated/native_custody/deps/std/type_name.js +19 -0
  41. package/dist/src/generated/native_custody/deps/sui/balance.d.ts +12 -0
  42. package/dist/src/generated/native_custody/deps/sui/balance.js +14 -0
  43. package/dist/src/generated/native_custody/deps/sui/vec_map.d.ts +36 -0
  44. package/dist/src/generated/native_custody/deps/sui/vec_map.js +27 -0
  45. package/dist/src/generated/native_custody/deps/sui/vec_set.d.ts +16 -0
  46. package/dist/src/generated/native_custody/deps/sui/vec_set.js +19 -0
  47. package/dist/src/generated/native_custody/events.d.ts +36 -0
  48. package/dist/src/generated/native_custody/events.js +36 -0
  49. package/dist/src/generated/pyth_sponsor_rule/deps/sui/balance.d.ts +12 -0
  50. package/dist/src/generated/pyth_sponsor_rule/deps/sui/balance.js +14 -0
  51. package/dist/src/generated/pyth_sponsor_rule/pyth_sponsor_rule.d.ts +68 -0
  52. package/dist/src/generated/pyth_sponsor_rule/pyth_sponsor_rule.js +74 -0
  53. package/dist/src/generated/utils/index.d.ts +30 -0
  54. package/dist/src/generated/utils/index.js +157 -0
  55. package/dist/src/generated/waterx_account/account.d.ts +1818 -0
  56. package/dist/src/generated/waterx_account/account.js +1723 -0
  57. package/dist/src/generated/waterx_account/deps/bucket_v2_framework/liability.d.ts +11 -0
  58. package/dist/src/generated/waterx_account/deps/bucket_v2_framework/liability.js +13 -0
  59. package/dist/src/generated/waterx_account/deps/bucket_v2_framework/sheet.d.ts +49 -0
  60. package/dist/src/generated/waterx_account/deps/bucket_v2_framework/sheet.js +18 -0
  61. package/dist/src/generated/waterx_account/deps/std/type_name.d.ts +17 -0
  62. package/dist/src/generated/waterx_account/deps/std/type_name.js +19 -0
  63. package/dist/src/generated/waterx_account/deps/sui/balance.d.ts +12 -0
  64. package/dist/src/generated/waterx_account/deps/sui/balance.js +14 -0
  65. package/dist/src/generated/waterx_account/deps/sui/object_table.d.ts +17 -0
  66. package/dist/src/generated/waterx_account/deps/sui/object_table.js +19 -0
  67. package/dist/src/generated/waterx_account/deps/sui/table.d.ts +29 -0
  68. package/dist/src/generated/waterx_account/deps/sui/table.js +31 -0
  69. package/dist/src/generated/waterx_account/deps/sui/vec_map.d.ts +36 -0
  70. package/dist/src/generated/waterx_account/deps/sui/vec_map.js +27 -0
  71. package/dist/src/generated/waterx_account/deps/sui/vec_set.d.ts +16 -0
  72. package/dist/src/generated/waterx_account/deps/sui/vec_set.js +19 -0
  73. package/dist/src/generated/waterx_account/direct_rule.d.ts +77 -0
  74. package/dist/src/generated/waterx_account/direct_rule.js +78 -0
  75. package/dist/src/generated/waterx_account/events.d.ts +180 -0
  76. package/dist/src/generated/waterx_account/events.js +156 -0
  77. package/dist/src/generated/waterx_account/version.d.ts +10 -0
  78. package/dist/src/generated/waterx_account/version.js +8 -0
  79. package/dist/src/generated/waterx_credit/credit_registry.d.ts +708 -0
  80. package/dist/src/generated/waterx_credit/credit_registry.js +658 -0
  81. package/dist/src/generated/waterx_credit/deps/std/type_name.d.ts +17 -0
  82. package/dist/src/generated/waterx_credit/deps/std/type_name.js +19 -0
  83. package/dist/src/generated/waterx_credit/deps/sui/table.d.ts +29 -0
  84. package/dist/src/generated/waterx_credit/deps/sui/table.js +31 -0
  85. package/dist/src/generated/waterx_credit/deps/sui/vec_map.d.ts +36 -0
  86. package/dist/src/generated/waterx_credit/deps/sui/vec_map.js +27 -0
  87. package/dist/src/generated/waterx_credit/deps/sui/vec_set.d.ts +16 -0
  88. package/dist/src/generated/waterx_credit/deps/sui/vec_set.js +19 -0
  89. package/dist/src/generated/waterx_credit/limited_supply.d.ts +107 -0
  90. package/dist/src/generated/waterx_credit/limited_supply.js +131 -0
  91. package/dist/src/generated/waterx_oracle/aggregator.d.ts +211 -0
  92. package/dist/src/generated/waterx_oracle/aggregator.js +213 -0
  93. package/dist/src/generated/waterx_oracle/collector.d.ts +119 -0
  94. package/dist/src/generated/waterx_oracle/collector.js +105 -0
  95. package/dist/src/generated/waterx_oracle/deps/bucket_v2_framework/float.d.ts +8 -0
  96. package/dist/src/generated/waterx_oracle/deps/bucket_v2_framework/float.js +10 -0
  97. package/dist/src/generated/waterx_oracle/deps/std/type_name.d.ts +17 -0
  98. package/dist/src/generated/waterx_oracle/deps/std/type_name.js +19 -0
  99. package/dist/src/generated/waterx_oracle/deps/sui/vec_map.d.ts +36 -0
  100. package/dist/src/generated/waterx_oracle/deps/sui/vec_map.js +27 -0
  101. package/dist/src/generated/waterx_oracle/deps/sui/vec_set.d.ts +16 -0
  102. package/dist/src/generated/waterx_oracle/deps/sui/vec_set.js +19 -0
  103. package/dist/src/generated/waterx_oracle/oracle.d.ts +298 -0
  104. package/dist/src/generated/waterx_oracle/oracle.js +323 -0
  105. package/dist/src/generated/waterx_oracle/version.d.ts +10 -0
  106. package/dist/src/generated/waterx_oracle/version.js +8 -0
  107. package/dist/src/generated/waterx_perp/account_data.d.ts +269 -0
  108. package/dist/src/generated/waterx_perp/account_data.js +284 -0
  109. package/dist/src/generated/waterx_perp/admin.d.ts +19 -0
  110. package/dist/src/generated/waterx_perp/admin.js +22 -0
  111. package/dist/src/generated/waterx_perp/deps/bucket_v2_framework/double.d.ts +8 -0
  112. package/dist/src/generated/waterx_perp/deps/bucket_v2_framework/double.js +10 -0
  113. package/dist/src/generated/waterx_perp/deps/bucket_v2_framework/float.d.ts +8 -0
  114. package/dist/src/generated/waterx_perp/deps/bucket_v2_framework/float.js +10 -0
  115. package/dist/src/generated/waterx_perp/deps/bucket_v2_framework/liability.d.ts +11 -0
  116. package/dist/src/generated/waterx_perp/deps/bucket_v2_framework/liability.js +13 -0
  117. package/dist/src/generated/waterx_perp/deps/bucket_v2_framework/linked_table.d.ts +8 -0
  118. package/dist/src/generated/waterx_perp/deps/bucket_v2_framework/linked_table.js +18 -0
  119. package/dist/src/generated/waterx_perp/deps/bucket_v2_framework/sheet.d.ts +49 -0
  120. package/dist/src/generated/waterx_perp/deps/bucket_v2_framework/sheet.js +18 -0
  121. package/dist/src/generated/waterx_perp/deps/std/type_name.d.ts +17 -0
  122. package/dist/src/generated/waterx_perp/deps/std/type_name.js +19 -0
  123. package/dist/src/generated/waterx_perp/deps/sui/balance.d.ts +15 -0
  124. package/dist/src/generated/waterx_perp/deps/sui/balance.js +17 -0
  125. package/dist/src/generated/waterx_perp/deps/sui/coin.d.ts +14 -0
  126. package/dist/src/generated/waterx_perp/deps/sui/coin.js +15 -0
  127. package/dist/src/generated/waterx_perp/deps/sui/vec_map.d.ts +36 -0
  128. package/dist/src/generated/waterx_perp/deps/sui/vec_map.js +27 -0
  129. package/dist/src/generated/waterx_perp/deps/sui/vec_set.d.ts +16 -0
  130. package/dist/src/generated/waterx_perp/deps/sui/vec_set.js +19 -0
  131. package/dist/src/generated/waterx_perp/events.d.ts +1283 -0
  132. package/dist/src/generated/waterx_perp/events.js +1018 -0
  133. package/dist/src/generated/waterx_perp/global_config.d.ts +775 -0
  134. package/dist/src/generated/waterx_perp/global_config.js +836 -0
  135. package/dist/src/generated/waterx_perp/keyed_big_vector.d.ts +553 -0
  136. package/dist/src/generated/waterx_perp/keyed_big_vector.js +554 -0
  137. package/dist/src/generated/waterx_perp/lp_pool.d.ts +1648 -0
  138. package/dist/src/generated/waterx_perp/lp_pool.js +1521 -0
  139. package/dist/src/generated/waterx_perp/market_config.d.ts +715 -0
  140. package/dist/src/generated/waterx_perp/market_config.js +780 -0
  141. package/dist/src/generated/waterx_perp/math.d.ts +63 -0
  142. package/dist/src/generated/waterx_perp/math.js +64 -0
  143. package/dist/src/generated/waterx_perp/memo.d.ts +251 -0
  144. package/dist/src/generated/waterx_perp/memo.js +323 -0
  145. package/dist/src/generated/waterx_perp/order_book.d.ts +290 -0
  146. package/dist/src/generated/waterx_perp/order_book.js +329 -0
  147. package/dist/src/generated/waterx_perp/position.d.ts +1005 -0
  148. package/dist/src/generated/waterx_perp/position.js +1103 -0
  149. package/dist/src/generated/waterx_perp/request.d.ts +544 -0
  150. package/dist/src/generated/waterx_perp/request.js +541 -0
  151. package/dist/src/generated/waterx_perp/response.d.ts +247 -0
  152. package/dist/src/generated/waterx_perp/response.js +280 -0
  153. package/dist/src/generated/waterx_perp/trading.d.ts +2821 -0
  154. package/dist/src/generated/waterx_perp/trading.js +2372 -0
  155. package/dist/src/generated/waterx_perp/version.d.ts +10 -0
  156. package/dist/src/generated/waterx_perp/version.js +8 -0
  157. package/dist/src/generated/waterx_perp/witness.d.ts +18 -0
  158. package/dist/src/generated/waterx_perp/witness.js +21 -0
  159. package/dist/src/generated/waterx_perp_view/deps/std/type_name.d.ts +17 -0
  160. package/dist/src/generated/waterx_perp_view/deps/std/type_name.js +19 -0
  161. package/dist/src/generated/waterx_perp_view/view.d.ts +447 -0
  162. package/dist/src/generated/waterx_perp_view/view.js +414 -0
  163. package/dist/src/generated/waterx_pyth_rule/deps/sui/vec_map.d.ts +36 -0
  164. package/dist/src/generated/waterx_pyth_rule/deps/sui/vec_map.js +27 -0
  165. package/dist/src/generated/waterx_pyth_rule/pyth_rule.d.ts +90 -0
  166. package/dist/src/generated/waterx_pyth_rule/pyth_rule.js +72 -0
  167. package/dist/src/generated/waterx_referral/deps/sui/table.d.ts +29 -0
  168. package/dist/src/generated/waterx_referral/deps/sui/table.js +31 -0
  169. package/dist/src/generated/waterx_referral/deps/sui/vec_set.d.ts +16 -0
  170. package/dist/src/generated/waterx_referral/deps/sui/vec_set.js +19 -0
  171. package/dist/src/generated/waterx_referral/referral_table.d.ts +171 -0
  172. package/dist/src/generated/waterx_referral/referral_table.js +192 -0
  173. package/dist/src/generated/waterx_staking/deps/bucket_v2_framework/double.d.ts +8 -0
  174. package/dist/src/generated/waterx_staking/deps/bucket_v2_framework/double.js +10 -0
  175. package/dist/src/generated/waterx_staking/deps/sui/balance.d.ts +12 -0
  176. package/dist/src/generated/waterx_staking/deps/sui/balance.js +14 -0
  177. package/dist/src/generated/waterx_staking/deps/sui/table.d.ts +29 -0
  178. package/dist/src/generated/waterx_staking/deps/sui/table.js +31 -0
  179. package/dist/src/generated/waterx_staking/deps/sui/vec_set.d.ts +16 -0
  180. package/dist/src/generated/waterx_staking/deps/sui/vec_set.js +19 -0
  181. package/dist/src/generated/waterx_staking/waterx_staking.d.ts +746 -0
  182. package/dist/src/generated/waterx_staking/waterx_staking.js +731 -0
  183. package/dist/src/generated/waterx_staking/witness.d.ts +16 -0
  184. package/dist/src/generated/waterx_staking/witness.js +18 -0
  185. package/dist/src/generated/withdrawal_queue/deps/bucket_v2_framework/linked_table.d.ts +8 -0
  186. package/dist/src/generated/withdrawal_queue/deps/bucket_v2_framework/linked_table.js +18 -0
  187. package/dist/src/generated/withdrawal_queue/deps/std/type_name.d.ts +17 -0
  188. package/dist/src/generated/withdrawal_queue/deps/std/type_name.js +19 -0
  189. package/dist/src/generated/withdrawal_queue/deps/sui/balance.d.ts +12 -0
  190. package/dist/src/generated/withdrawal_queue/deps/sui/balance.js +14 -0
  191. package/dist/src/generated/withdrawal_queue/deps/sui/vec_set.d.ts +16 -0
  192. package/dist/src/generated/withdrawal_queue/deps/sui/vec_set.js +19 -0
  193. package/dist/src/generated/withdrawal_queue/withdrawal_queue.d.ts +483 -0
  194. package/dist/src/generated/withdrawal_queue/withdrawal_queue.js +480 -0
  195. package/dist/src/generated/wlp/wlp.d.ts +28 -0
  196. package/dist/src/generated/wlp/wlp.js +32 -0
  197. package/dist/src/generated/wormhole_bridge/deps/sui/table.d.ts +29 -0
  198. package/dist/src/generated/wormhole_bridge/deps/sui/table.js +31 -0
  199. package/dist/src/generated/wormhole_bridge/deps/sui/vec_map.d.ts +36 -0
  200. package/dist/src/generated/wormhole_bridge/deps/sui/vec_map.js +27 -0
  201. package/dist/src/generated/wormhole_bridge/deps/sui/vec_set.d.ts +16 -0
  202. package/dist/src/generated/wormhole_bridge/deps/sui/vec_set.js +19 -0
  203. package/dist/src/generated/wormhole_bridge/deps/wormhole_sdk/consumed_vaas.d.ts +12 -0
  204. package/dist/src/generated/wormhole_bridge/deps/wormhole_sdk/consumed_vaas.js +9 -0
  205. package/dist/src/generated/wormhole_bridge/deps/wormhole_sdk/emitter.d.ts +14 -0
  206. package/dist/src/generated/wormhole_bridge/deps/wormhole_sdk/emitter.js +16 -0
  207. package/dist/src/generated/wormhole_bridge/deps/wormhole_sdk/set.d.ts +16 -0
  208. package/dist/src/generated/wormhole_bridge/deps/wormhole_sdk/set.js +15 -0
  209. package/dist/src/generated/wormhole_bridge/events.d.ts +32 -0
  210. package/dist/src/generated/wormhole_bridge/events.js +28 -0
  211. package/dist/src/generated/wormhole_bridge/wormhole_bridge.d.ts +498 -0
  212. package/dist/src/generated/wormhole_bridge/wormhole_bridge.js +494 -0
  213. package/dist/src/index.d.ts +28 -0
  214. package/dist/src/index.js +34 -0
  215. package/dist/src/tx-builders.d.ts +242 -0
  216. package/dist/src/tx-builders.js +320 -0
  217. package/dist/src/user/account.d.ts +129 -0
  218. package/dist/src/user/account.js +166 -0
  219. package/dist/src/user/credit.d.ts +135 -0
  220. package/dist/src/user/credit.js +255 -0
  221. package/dist/src/user/custody.d.ts +71 -0
  222. package/dist/src/user/custody.js +112 -0
  223. package/dist/src/user/index.d.ts +8 -0
  224. package/dist/src/user/index.js +8 -0
  225. package/dist/src/user/order.d.ts +89 -0
  226. package/dist/src/user/order.js +134 -0
  227. package/dist/src/user/referral.d.ts +21 -0
  228. package/dist/src/user/referral.js +41 -0
  229. package/dist/src/user/staking.d.ts +54 -0
  230. package/dist/src/user/staking.js +109 -0
  231. package/dist/src/user/trading.d.ts +119 -0
  232. package/dist/src/user/trading.js +262 -0
  233. package/dist/src/user/wlp.d.ts +58 -0
  234. package/dist/src/user/wlp.js +99 -0
  235. package/dist/src/utils/account-request.d.ts +9 -0
  236. package/dist/src/utils/account-request.js +17 -0
  237. package/dist/src/utils/config.d.ts +11 -0
  238. package/dist/src/utils/config.js +15 -0
  239. package/dist/src/utils/math.d.ts +201 -0
  240. package/dist/src/utils/math.js +343 -0
  241. package/dist/src/utils/pyth.d.ts +89 -0
  242. package/dist/src/utils/pyth.js +316 -0
  243. package/dist/src/utils/wormhole.d.ts +86 -0
  244. package/dist/src/utils/wormhole.js +154 -0
  245. package/package.json +66 -0
@@ -0,0 +1,494 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct, normalizeMoveArguments } from "../utils/index.js";
5
+ import { bcs } from '@mysten/sui/bcs';
6
+ import * as emitter from "./deps/wormhole_sdk/emitter.js";
7
+ import * as vec_map from "./deps/sui/vec_map.js";
8
+ import * as vec_map_1 from "./deps/sui/vec_map.js";
9
+ import * as consumed_vaas from "./deps/wormhole_sdk/consumed_vaas.js";
10
+ import * as vec_set from "./deps/sui/vec_set.js";
11
+ import * as vec_set_1 from "./deps/sui/vec_set.js";
12
+ const $moduleName = '@waterx/wormhole-bridge::wormhole_bridge';
13
+ export const WormholeBridge = new MoveStruct({ name: `${$moduleName}::WormholeBridge`, fields: {
14
+ dummy_field: bcs.bool()
15
+ } });
16
+ export const ChainTokenKey = new MoveStruct({ name: `${$moduleName}::ChainTokenKey`, fields: {
17
+ chain_id: bcs.u16(),
18
+ token: bcs.vector(bcs.u8())
19
+ } });
20
+ export const Bridge = new MoveStruct({ name: `${$moduleName}::Bridge`, fields: {
21
+ id: bcs.Address,
22
+ emitter_cap: emitter.EmitterCap,
23
+ trusted_emitters: vec_map.VecMap(bcs.u16(), bcs.vector(bcs.u8())),
24
+ minted_per_token: vec_map_1.VecMap(ChainTokenKey, bcs.u64()),
25
+ consumed_vaas: consumed_vaas.ConsumedVAAs,
26
+ keepers: vec_set.VecSet(bcs.Address),
27
+ hourly_mint_limit: bcs.u64(),
28
+ hourly_minted: bcs.u64(),
29
+ window_start_ms: bcs.u64(),
30
+ max_mint_per_tx: bcs.u64(),
31
+ hourly_burn_limit: bcs.u64(),
32
+ hourly_burned: bcs.u64(),
33
+ window_start_ms_burn: bcs.u64(),
34
+ max_burn_per_tx: bcs.u64(),
35
+ paused: bcs.bool(),
36
+ burn_nonce: bcs.u64(),
37
+ /**
38
+ * Admin-managed package-version allowlist used by admin and keeper paths that
39
+ * don't already thread `&CreditRegistry`. redeem_vaa / burn_for_withdrawal keep
40
+ * the CreditRegistry-based `assert_valid_package` check; this set covers the
41
+ * add_trusted_emitter / remove_trusted_emitter / add_supported_evm_token /
42
+ * remove_supported_evm_token / set_rate_limits / set_paused / emergency_pause /
43
+ * add_keeper / remove_keeper paths.
44
+ */
45
+ allowed_versions: vec_set_1.VecSet(bcs.u16())
46
+ } });
47
+ export function packageVersion(options = {}) {
48
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
49
+ return (tx) => tx.moveCall({
50
+ package: packageAddress,
51
+ module: 'wormhole_bridge',
52
+ function: 'package_version',
53
+ });
54
+ }
55
+ export function initBridge(options) {
56
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
57
+ const argumentsTypes = [
58
+ null,
59
+ null,
60
+ 'u64',
61
+ 'u64',
62
+ 'u64',
63
+ 'u64',
64
+ '0x2::clock::Clock'
65
+ ];
66
+ const parameterNames = ["_", "wormholeState", "hourlyMintLimit", "maxMintPerTx", "hourlyBurnLimit", "maxBurnPerTx"];
67
+ return (tx) => tx.moveCall({
68
+ package: packageAddress,
69
+ module: 'wormhole_bridge',
70
+ function: 'init_bridge',
71
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
72
+ });
73
+ }
74
+ /**
75
+ * Parse + verify a Wormhole MINT VAA and produce a `DepositRequest<CREDIT>`
76
+ * targeting the payload's `sui_recipient` as an account_id
77
+ * (`object::id_from_address(sui_recipient)`). Returns the hot-potato request which
78
+ * must be consumed in the same PTB by the deposit policy registered for `CREDIT`
79
+ * on the `AccountRegistry`.
80
+ */
81
+ export function redeemVaa(options) {
82
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
83
+ const argumentsTypes = [
84
+ null,
85
+ null,
86
+ null,
87
+ null,
88
+ 'vector<u8>',
89
+ '0x2::clock::Clock'
90
+ ];
91
+ const parameterNames = ["bridge", "registry", "accountRegistry", "wormholeState", "vaaBytes"];
92
+ return (tx) => tx.moveCall({
93
+ package: packageAddress,
94
+ module: 'wormhole_bridge',
95
+ function: 'redeem_vaa',
96
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
97
+ typeArguments: options.typeArguments
98
+ });
99
+ }
100
+ /**
101
+ * `account_id` identifies the wxa Account whose stored `Balance<CREDIT>` produced
102
+ * this coin. Used as the `burner` identity that lands in `compute_withdrawal_id`,
103
+ * the `WithdrawalInitiated.burner` event field, and the credit registry's
104
+ * personal-burn-cap key — so the EVM-side withdrawal id and Sui-side cap
105
+ * accounting both bind to the originating account, not whoever executes the queue
106
+ * entry (fixes audit finding #3).
107
+ */
108
+ export function burnForWithdrawal(options) {
109
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
110
+ const argumentsTypes = [
111
+ null,
112
+ null,
113
+ '0x2::object::ID',
114
+ null,
115
+ null,
116
+ null,
117
+ 'u16',
118
+ 'vector<u8>',
119
+ 'vector<u8>',
120
+ '0x2::clock::Clock'
121
+ ];
122
+ const parameterNames = ["bridge", "registry", "accountId", "wormholeState", "coin", "wormholeFee", "evmDestinationChain", "evmRecipient", "evmToken"];
123
+ return (tx) => tx.moveCall({
124
+ package: packageAddress,
125
+ module: 'wormhole_bridge',
126
+ function: 'burn_for_withdrawal',
127
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
128
+ typeArguments: options.typeArguments
129
+ });
130
+ }
131
+ export function addTrustedEmitter(options) {
132
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
133
+ const argumentsTypes = [
134
+ null,
135
+ null,
136
+ 'u16',
137
+ 'vector<u8>'
138
+ ];
139
+ const parameterNames = ["_", "bridge", "chainId", "evmBridgeAddress"];
140
+ return (tx) => tx.moveCall({
141
+ package: packageAddress,
142
+ module: 'wormhole_bridge',
143
+ function: 'add_trusted_emitter',
144
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
145
+ });
146
+ }
147
+ /**
148
+ * Aborts `EOutstandingBacking` if any `minted_per_token` row under this chain
149
+ * still has non-zero backing — symmetric with `remove_supported_evm_token`.
150
+ * Without this guard, an admin pull would orphan EVM-side reserves for tokens
151
+ * still in circulation (audit lead under finding #5).
152
+ */
153
+ export function removeTrustedEmitter(options) {
154
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
155
+ const argumentsTypes = [
156
+ null,
157
+ null,
158
+ 'u16'
159
+ ];
160
+ const parameterNames = ["_", "bridge", "chainId"];
161
+ return (tx) => tx.moveCall({
162
+ package: packageAddress,
163
+ module: 'wormhole_bridge',
164
+ function: 'remove_trusted_emitter',
165
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
166
+ });
167
+ }
168
+ export function addSupportedEvmToken(options) {
169
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
170
+ const argumentsTypes = [
171
+ null,
172
+ null,
173
+ 'u16',
174
+ 'vector<u8>'
175
+ ];
176
+ const parameterNames = ["_", "bridge", "chainId", "token"];
177
+ return (tx) => tx.moveCall({
178
+ package: packageAddress,
179
+ module: 'wormhole_bridge',
180
+ function: 'add_supported_evm_token',
181
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
182
+ });
183
+ }
184
+ export function removeSupportedEvmToken(options) {
185
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
186
+ const argumentsTypes = [
187
+ null,
188
+ null,
189
+ 'u16',
190
+ 'vector<u8>'
191
+ ];
192
+ const parameterNames = ["_", "bridge", "chainId", "token"];
193
+ return (tx) => tx.moveCall({
194
+ package: packageAddress,
195
+ module: 'wormhole_bridge',
196
+ function: 'remove_supported_evm_token',
197
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
198
+ });
199
+ }
200
+ export function setRateLimits(options) {
201
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
202
+ const argumentsTypes = [
203
+ null,
204
+ null,
205
+ 'u64',
206
+ 'u64',
207
+ 'u64',
208
+ 'u64'
209
+ ];
210
+ const parameterNames = ["_", "bridge", "newHourlyMint", "newMaxMintPerTx", "newHourlyBurn", "newMaxBurnPerTx"];
211
+ return (tx) => tx.moveCall({
212
+ package: packageAddress,
213
+ module: 'wormhole_bridge',
214
+ function: 'set_rate_limits',
215
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
216
+ });
217
+ }
218
+ export function setPaused(options) {
219
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
220
+ const argumentsTypes = [
221
+ null,
222
+ null,
223
+ 'bool'
224
+ ];
225
+ const parameterNames = ["_", "bridge", "paused"];
226
+ return (tx) => tx.moveCall({
227
+ package: packageAddress,
228
+ module: 'wormhole_bridge',
229
+ function: 'set_paused',
230
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
231
+ });
232
+ }
233
+ export function emergencyPause(options) {
234
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
235
+ const argumentsTypes = [
236
+ null,
237
+ null
238
+ ];
239
+ const parameterNames = ["bridge", "request"];
240
+ return (tx) => tx.moveCall({
241
+ package: packageAddress,
242
+ module: 'wormhole_bridge',
243
+ function: 'emergency_pause',
244
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
245
+ });
246
+ }
247
+ export function addKeeper(options) {
248
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
249
+ const argumentsTypes = [
250
+ null,
251
+ null,
252
+ 'address'
253
+ ];
254
+ const parameterNames = ["_", "bridge", "keeper"];
255
+ return (tx) => tx.moveCall({
256
+ package: packageAddress,
257
+ module: 'wormhole_bridge',
258
+ function: 'add_keeper',
259
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
260
+ });
261
+ }
262
+ export function removeKeeper(options) {
263
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
264
+ const argumentsTypes = [
265
+ null,
266
+ null,
267
+ 'address'
268
+ ];
269
+ const parameterNames = ["_", "bridge", "keeper"];
270
+ return (tx) => tx.moveCall({
271
+ package: packageAddress,
272
+ module: 'wormhole_bridge',
273
+ function: 'remove_keeper',
274
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
275
+ });
276
+ }
277
+ /**
278
+ * Admin: whitelist a package version on this bridge. Skips the version check
279
+ * itself so admin can recover from a stuck state.
280
+ *
281
+ * Struct-first param order to match `credit_registry::add_package_version` and
282
+ * `custody_vault::add_version` — same-named cross-package admin API for deploy
283
+ * scripts to template across all three.
284
+ */
285
+ export function addVersion(options) {
286
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
287
+ const argumentsTypes = [
288
+ null,
289
+ null,
290
+ 'u16'
291
+ ];
292
+ const parameterNames = ["bridge", "_", "version"];
293
+ return (tx) => tx.moveCall({
294
+ package: packageAddress,
295
+ module: 'wormhole_bridge',
296
+ function: 'add_version',
297
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
298
+ });
299
+ }
300
+ /**
301
+ * Admin: remove a package version from this bridge's allowlist. Skips the version
302
+ * check itself.
303
+ */
304
+ export function removeVersion(options) {
305
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
306
+ const argumentsTypes = [
307
+ null,
308
+ null,
309
+ 'u16'
310
+ ];
311
+ const parameterNames = ["bridge", "_", "version"];
312
+ return (tx) => tx.moveCall({
313
+ package: packageAddress,
314
+ module: 'wormhole_bridge',
315
+ function: 'remove_version',
316
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
317
+ });
318
+ }
319
+ export function paused(options) {
320
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
321
+ const argumentsTypes = [
322
+ null
323
+ ];
324
+ const parameterNames = ["bridge"];
325
+ return (tx) => tx.moveCall({
326
+ package: packageAddress,
327
+ module: 'wormhole_bridge',
328
+ function: 'paused',
329
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
330
+ });
331
+ }
332
+ export function hourlyMintLimit(options) {
333
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
334
+ const argumentsTypes = [
335
+ null
336
+ ];
337
+ const parameterNames = ["bridge"];
338
+ return (tx) => tx.moveCall({
339
+ package: packageAddress,
340
+ module: 'wormhole_bridge',
341
+ function: 'hourly_mint_limit',
342
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
343
+ });
344
+ }
345
+ export function hourlyMinted(options) {
346
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
347
+ const argumentsTypes = [
348
+ null
349
+ ];
350
+ const parameterNames = ["bridge"];
351
+ return (tx) => tx.moveCall({
352
+ package: packageAddress,
353
+ module: 'wormhole_bridge',
354
+ function: 'hourly_minted',
355
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
356
+ });
357
+ }
358
+ export function maxMintPerTx(options) {
359
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
360
+ const argumentsTypes = [
361
+ null
362
+ ];
363
+ const parameterNames = ["bridge"];
364
+ return (tx) => tx.moveCall({
365
+ package: packageAddress,
366
+ module: 'wormhole_bridge',
367
+ function: 'max_mint_per_tx',
368
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
369
+ });
370
+ }
371
+ export function hourlyBurnLimit(options) {
372
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
373
+ const argumentsTypes = [
374
+ null
375
+ ];
376
+ const parameterNames = ["bridge"];
377
+ return (tx) => tx.moveCall({
378
+ package: packageAddress,
379
+ module: 'wormhole_bridge',
380
+ function: 'hourly_burn_limit',
381
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
382
+ });
383
+ }
384
+ export function hourlyBurned(options) {
385
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
386
+ const argumentsTypes = [
387
+ null
388
+ ];
389
+ const parameterNames = ["bridge"];
390
+ return (tx) => tx.moveCall({
391
+ package: packageAddress,
392
+ module: 'wormhole_bridge',
393
+ function: 'hourly_burned',
394
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
395
+ });
396
+ }
397
+ export function maxBurnPerTx(options) {
398
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
399
+ const argumentsTypes = [
400
+ null
401
+ ];
402
+ const parameterNames = ["bridge"];
403
+ return (tx) => tx.moveCall({
404
+ package: packageAddress,
405
+ module: 'wormhole_bridge',
406
+ function: 'max_burn_per_tx',
407
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
408
+ });
409
+ }
410
+ export function burnNonce(options) {
411
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
412
+ const argumentsTypes = [
413
+ null
414
+ ];
415
+ const parameterNames = ["bridge"];
416
+ return (tx) => tx.moveCall({
417
+ package: packageAddress,
418
+ module: 'wormhole_bridge',
419
+ function: 'burn_nonce',
420
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
421
+ });
422
+ }
423
+ export function trustedEmitter(options) {
424
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
425
+ const argumentsTypes = [
426
+ null,
427
+ 'u16'
428
+ ];
429
+ const parameterNames = ["bridge", "chainId"];
430
+ return (tx) => tx.moveCall({
431
+ package: packageAddress,
432
+ module: 'wormhole_bridge',
433
+ function: 'trusted_emitter',
434
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
435
+ });
436
+ }
437
+ export function hasTrustedEmitter(options) {
438
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
439
+ const argumentsTypes = [
440
+ null,
441
+ 'u16'
442
+ ];
443
+ const parameterNames = ["bridge", "chainId"];
444
+ return (tx) => tx.moveCall({
445
+ package: packageAddress,
446
+ module: 'wormhole_bridge',
447
+ function: 'has_trusted_emitter',
448
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
449
+ });
450
+ }
451
+ export function isKeeper(options) {
452
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
453
+ const argumentsTypes = [
454
+ null,
455
+ 'address'
456
+ ];
457
+ const parameterNames = ["bridge", "keeper"];
458
+ return (tx) => tx.moveCall({
459
+ package: packageAddress,
460
+ module: 'wormhole_bridge',
461
+ function: 'is_keeper',
462
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
463
+ });
464
+ }
465
+ export function isEvmTokenSupported(options) {
466
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
467
+ const argumentsTypes = [
468
+ null,
469
+ 'u16',
470
+ 'vector<u8>'
471
+ ];
472
+ const parameterNames = ["bridge", "chainId", "token"];
473
+ return (tx) => tx.moveCall({
474
+ package: packageAddress,
475
+ module: 'wormhole_bridge',
476
+ function: 'is_evm_token_supported',
477
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
478
+ });
479
+ }
480
+ export function mintedFor(options) {
481
+ const packageAddress = options.package ?? '@waterx/wormhole-bridge';
482
+ const argumentsTypes = [
483
+ null,
484
+ 'u16',
485
+ 'vector<u8>'
486
+ ];
487
+ const parameterNames = ["bridge", "chainId", "token"];
488
+ return (tx) => tx.moveCall({
489
+ package: packageAddress,
490
+ module: 'wormhole_bridge',
491
+ function: 'minted_for',
492
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
493
+ });
494
+ }
@@ -0,0 +1,28 @@
1
+ export { WaterXClient } from "./client.ts";
2
+ export type { CreateClientOptions } from "./client.ts";
3
+ export { PYTH_DEFAULTS, WORMHOLE_DEFAULTS, clearConfigCache, defaultConfigUrl, loadConfig, } from "./config.ts";
4
+ export type { BasePackageEntry, WaterxReferralPackage, LoadConfigOptions, NativeCustodyAsset, NativeCustodyPackage, PythInfraConfig, PythRulePackage, PythSponsorRulePackage, TestnetFaucetPackage, TrustedEmitterRow, WaterXConfig, WaterXPackages, WaterxCreditPackage, WaterxOraclePackage, WaterxPerpMarketEntry, WaterxPerpPackage, WaterxStakingPackage, WithdrawalQueuePackage, WlpPackage, WormholeBridgePackage, WormholeInfraConfig, WxaAccountPackage, } from "./config.ts";
5
+ export { ACTION_ADD_PRE_ORDER, ACTION_CANCEL_ORDER, ACTION_CANCEL_PRE_ORDER, ACTION_CLOSE_POSITION, ACTION_DECREASE_POSITION, ACTION_DEPOSIT_COLLATERAL, ACTION_INCREASE_POSITION, ACTION_LIQUIDATE, ACTION_OPEN_POSITION, ACTION_PLACE_ORDER, ACTION_UPDATE_ORDER, ACTION_WITHDRAW_COLLATERAL, BPS_SCALE, CRYPTO_FEE_RATE, DOUBLE_SCALE, DRY_RUN_SENDER, FLOAT_SCALE, MAINTENANCE_MARGIN_RATE, ORDER_LIMIT_BUY, ORDER_LIMIT_SELL, ORDER_STOP_BUY, ORDER_STOP_SELL, ORDER_TAG_WILDCARD, PERM_ALL, PERM_ALL_TRADING, PERM_CANCEL_ORDER, PERM_CLOSE_POSITION, PERM_DECREASE_POSITION, PERM_DEPOSIT_COLLATERAL, PERM_INCREASE_POSITION, PERM_MINT_WLP, PERM_OPEN_POSITION, PERM_PLACE_ORDER, PERM_REDEEM_WLP, PERM_WITHDRAW_COLLATERAL, STOCK_FEE_RATE, MS_PER_YEAR, SUI_DECIMALS, WLP_DECIMALS, COLLATERAL_DECIMALS, TOKEN_DECIMALS, } from "./constants.ts";
6
+ export type { Network } from "./constants.ts";
7
+ export { getMarketTickers, getCollateralAssets } from "./utils/config.ts";
8
+ export { annualizedApyFromRatio, annualizeFundingRate, calcBorrowRate, calcBorrowRateAccrual, calcDynamicFeeBps, calcEstLiqPrice, calcFee, calcFundingFeeUsd, calcFundingRate, calcImpactFeeRate, calcLeverage, calcNotional, calcPositionBorrowFee, calcTokenUtilizationBps, calcTotalTradingFeeRate, calcUnrealizedPnl, calcWlpIncentiveApy, calcWlpMintOut, calcWlpPrice, calcWlpRedeemOut, decodeFundingIndexDelta, rawPrice, } from "./utils/math.ts";
9
+ export * from "./user/index.ts";
10
+ export * from "./tx-builders.ts";
11
+ export * from "./fetch.ts";
12
+ export { PythCache, aggregateTickerWithPyth, buildPythPriceUpdateCalls, fetchPriceFeedsUpdateData, refreshOraclePrices, updatePythPrices, } from "./utils/pyth.ts";
13
+ export { fetchDepositVaa, fetchVaa, listBridgeWithdrawalVaas, listVaasByEmitter, padEvmEmitter, toWormholescanEmitter, vaaBase64ToBytes, vaaBase64ToHex, vaaBytesToBase64, waitForVaa, } from "./utils/wormhole.ts";
14
+ export type { VaaListItem, VaaResponse, WormholescanOptions } from "./utils/wormhole.ts";
15
+ export { AccountData as AccountDataBcs, GlobalConfigData as GlobalConfigDataBcs, MarketData as MarketDataBcs, OrderData as OrderDataBcs, PoolData as PoolDataBcs, PositionData as PositionDataBcs, RedeemRequestData as RedeemRequestDataBcs, TokenPoolData as TokenPoolDataBcs, } from "./generated/waterx_perp_view/view.ts";
16
+ export { Position as PositionBcs, Order as OrderBcs } from "./generated/waterx_perp/position.ts";
17
+ export { Market as MarketBcs } from "./generated/waterx_perp/trading.ts";
18
+ export { MarketConfig as MarketConfigBcs } from "./generated/waterx_perp/market_config.ts";
19
+ export * as tradingCalls from "./generated/waterx_perp/trading.ts";
20
+ export * as lpPoolCalls from "./generated/waterx_perp/lp_pool.ts";
21
+ export * as viewCalls from "./generated/waterx_perp_view/view.ts";
22
+ export * as wxaAccountCalls from "./generated/waterx_account/account.ts";
23
+ export * as stakingCalls from "./generated/waterx_staking/waterx_staking.ts";
24
+ export * as oracleCalls from "./generated/waterx_oracle/oracle.ts";
25
+ export * as pythRuleCalls from "./generated/waterx_pyth_rule/pyth_rule.ts";
26
+ export * as pythSponsorRuleCalls from "./generated/pyth_sponsor_rule/pyth_sponsor_rule.ts";
27
+ export * as referralCalls from "./generated/waterx_referral/referral_table.ts";
28
+ export * as nativeCustodyCalls from "./generated/native_custody/custody_vault.ts";
@@ -0,0 +1,34 @@
1
+ // ======== Core ========
2
+ export { WaterXClient } from "./client.js";
3
+ export { PYTH_DEFAULTS, WORMHOLE_DEFAULTS, clearConfigCache, defaultConfigUrl, loadConfig, } from "./config.js";
4
+ // ======== Constants & enums ========
5
+ export { ACTION_ADD_PRE_ORDER, ACTION_CANCEL_ORDER, ACTION_CANCEL_PRE_ORDER, ACTION_CLOSE_POSITION, ACTION_DECREASE_POSITION, ACTION_DEPOSIT_COLLATERAL, ACTION_INCREASE_POSITION, ACTION_LIQUIDATE, ACTION_OPEN_POSITION, ACTION_PLACE_ORDER, ACTION_UPDATE_ORDER, ACTION_WITHDRAW_COLLATERAL, BPS_SCALE, CRYPTO_FEE_RATE, DOUBLE_SCALE, DRY_RUN_SENDER, FLOAT_SCALE, MAINTENANCE_MARGIN_RATE, ORDER_LIMIT_BUY, ORDER_LIMIT_SELL, ORDER_STOP_BUY, ORDER_STOP_SELL, ORDER_TAG_WILDCARD, PERM_ALL, PERM_ALL_TRADING, PERM_CANCEL_ORDER, PERM_CLOSE_POSITION, PERM_DECREASE_POSITION, PERM_DEPOSIT_COLLATERAL, PERM_INCREASE_POSITION, PERM_MINT_WLP, PERM_OPEN_POSITION, PERM_PLACE_ORDER, PERM_REDEEM_WLP, PERM_WITHDRAW_COLLATERAL, STOCK_FEE_RATE, MS_PER_YEAR, SUI_DECIMALS, WLP_DECIMALS, COLLATERAL_DECIMALS, TOKEN_DECIMALS, } from "./constants.js";
6
+ // ======== Utilities ========
7
+ export { getMarketTickers, getCollateralAssets } from "./utils/config.js";
8
+ export { annualizedApyFromRatio, annualizeFundingRate, calcBorrowRate, calcBorrowRateAccrual, calcDynamicFeeBps, calcEstLiqPrice, calcFee, calcFundingFeeUsd, calcFundingRate, calcImpactFeeRate, calcLeverage, calcNotional, calcPositionBorrowFee, calcTokenUtilizationBps, calcTotalTradingFeeRate, calcUnrealizedPnl, calcWlpIncentiveApy, calcWlpMintOut, calcWlpPrice, calcWlpRedeemOut, decodeFundingIndexDelta, rawPrice, } from "./utils/math.js";
9
+ // ======== Transaction builders (user-side) ========
10
+ export * from "./user/index.js";
11
+ // ======== High-level Tx builders ========
12
+ export * from "./tx-builders.js";
13
+ // ======== Read-only queries ========
14
+ export * from "./fetch.js";
15
+ // ======== Pyth oracle utilities ========
16
+ export { PythCache, aggregateTickerWithPyth, buildPythPriceUpdateCalls, fetchPriceFeedsUpdateData, refreshOraclePrices, updatePythPrices, } from "./utils/pyth.js";
17
+ // ======== Wormhole / Wormholescan utilities (credit bridge) ========
18
+ export { fetchDepositVaa, fetchVaa, listBridgeWithdrawalVaas, listVaasByEmitter, padEvmEmitter, toWormholescanEmitter, vaaBase64ToBytes, vaaBase64ToHex, vaaBytesToBase64, waitForVaa, } from "./utils/wormhole.js";
19
+ // ======== Generated BCS types (sui-ts-codegen) ========
20
+ export { AccountData as AccountDataBcs, GlobalConfigData as GlobalConfigDataBcs, MarketData as MarketDataBcs, OrderData as OrderDataBcs, PoolData as PoolDataBcs, PositionData as PositionDataBcs, RedeemRequestData as RedeemRequestDataBcs, TokenPoolData as TokenPoolDataBcs, } from "./generated/waterx_perp_view/view.js";
21
+ export { Position as PositionBcs, Order as OrderBcs } from "./generated/waterx_perp/position.js";
22
+ export { Market as MarketBcs } from "./generated/waterx_perp/trading.js";
23
+ export { MarketConfig as MarketConfigBcs } from "./generated/waterx_perp/market_config.js";
24
+ // Re-export entire generated namespaces for power users.
25
+ export * as tradingCalls from "./generated/waterx_perp/trading.js";
26
+ export * as lpPoolCalls from "./generated/waterx_perp/lp_pool.js";
27
+ export * as viewCalls from "./generated/waterx_perp_view/view.js";
28
+ export * as wxaAccountCalls from "./generated/waterx_account/account.js";
29
+ export * as stakingCalls from "./generated/waterx_staking/waterx_staking.js";
30
+ export * as oracleCalls from "./generated/waterx_oracle/oracle.js";
31
+ export * as pythRuleCalls from "./generated/waterx_pyth_rule/pyth_rule.js";
32
+ export * as pythSponsorRuleCalls from "./generated/pyth_sponsor_rule/pyth_sponsor_rule.js";
33
+ export * as referralCalls from "./generated/waterx_referral/referral_table.js";
34
+ export * as nativeCustodyCalls from "./generated/native_custody/custody_vault.js";