@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,2821 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /**
5
+ * Core trading engine for WaterX Perp DEX.
6
+ *
7
+ * User-side path uses a hot-potato `TradingRequest<C_TOKEN>` (no abilities),
8
+ * consumed in the same PTB by `trading::execute`. `execute` does the work inline
9
+ * and returns droppable `TradingResponse` receipts — user payouts route through
10
+ * `wxa_account::put`, not back out as a `Coin<C_TOKEN>`.
11
+ *
12
+ * PTB flow:
13
+ *
14
+ * 1. let request = trading::place_order_request(...);
15
+ * 2. // External rules add witnesses: my_rule::check(&mut request, ...);
16
+ * 3. let responses = trading::execute(global_config, wxa_registry,
17
+ * market_registry, ticker, pool, request, oracle, clock, ctx);
18
+ */
19
+ import { MoveStruct, type RawTransactionArgument } from '../utils/index.ts';
20
+ import { type Transaction } from '@mysten/sui/transactions';
21
+ export declare const Market: MoveStruct<{
22
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
23
+ /** Per-market configuration and state. */
24
+ config: MoveStruct<{
25
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
26
+ symbol: import("@mysten/sui/bcs").BcsType<string, string, "string">;
27
+ is_paused: import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">;
28
+ max_leverage_bps: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
29
+ min_coll_value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
30
+ trading_fee: MoveStruct<{
31
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
32
+ }, "bucket_v2_framework::float::Float">;
33
+ max_impact_fee: MoveStruct<{
34
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
35
+ }, "bucket_v2_framework::float::Float">;
36
+ allocated_lp_exposure_bps: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
37
+ impact_fee_curvature: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
38
+ impact_fee_scale: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
39
+ maintenance_margin: MoveStruct<{
40
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
41
+ }, "bucket_v2_framework::float::Float">;
42
+ max_long_oi: MoveStruct<{
43
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
44
+ }, "bucket_v2_framework::float::Float">;
45
+ max_short_oi: MoveStruct<{
46
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
47
+ }, "bucket_v2_framework::float::Float">;
48
+ cooldown_ms: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
49
+ order_price_tick: MoveStruct<{
50
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
51
+ }, "bucket_v2_framework::float::Float">;
52
+ max_pre_orders: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
53
+ basic_funding_rate: MoveStruct<{
54
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
55
+ }, "bucket_v2_framework::float::Float">;
56
+ funding_interval_ms: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
57
+ request_checklist: import("@mysten/sui/bcs").BcsType<{
58
+ name: string;
59
+ }[], Iterable<{
60
+ name: string;
61
+ }> & {
62
+ length: number;
63
+ }, string>;
64
+ position_locker: MoveStruct<any, any>;
65
+ long_oi: MoveStruct<{
66
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
67
+ }, "bucket_v2_framework::float::Float">;
68
+ short_oi: MoveStruct<{
69
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
70
+ }, "bucket_v2_framework::float::Float">;
71
+ long_avg_entry_price: MoveStruct<{
72
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
73
+ }, "bucket_v2_framework::float::Float">;
74
+ short_avg_entry_price: MoveStruct<{
75
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
76
+ }, "bucket_v2_framework::float::Float">;
77
+ next_position_id: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
78
+ next_order_id: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
79
+ last_funding_timestamp: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
80
+ cumulative_funding_sign: import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">;
81
+ cumulative_funding_index: MoveStruct<{
82
+ value: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u256">;
83
+ }, "bucket_v2_framework::double::Double">;
84
+ }, "@waterx/perp::market_config::MarketConfig">;
85
+ /** Positions indexed by position_id. */
86
+ positions: MoveStruct<{
87
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
88
+ key_type: MoveStruct<{
89
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
90
+ }, "std::type_name::TypeName">;
91
+ value_type: MoveStruct<{
92
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
93
+ }, "std::type_name::TypeName">;
94
+ slice_idx: import("@mysten/sui/bcs").BcsType<number, number, "u16">;
95
+ slice_size: import("@mysten/sui/bcs").BcsType<number, number, "u32">;
96
+ length: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
97
+ }, "@waterx/perp::keyed_big_vector::KeyedBigVector">;
98
+ /** Limit buy orders: price_key → vector<Order> */
99
+ limit_buys: MoveStruct<{
100
+ levels: MoveStruct<{
101
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
102
+ key_type: MoveStruct<{
103
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
104
+ }, "std::type_name::TypeName">;
105
+ value_type: MoveStruct<{
106
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
107
+ }, "std::type_name::TypeName">;
108
+ slice_idx: import("@mysten/sui/bcs").BcsType<number, number, "u16">;
109
+ slice_size: import("@mysten/sui/bcs").BcsType<number, number, "u32">;
110
+ length: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
111
+ }, "@waterx/perp::keyed_big_vector::KeyedBigVector">;
112
+ }, "@waterx/perp::order_book::OrderBook">;
113
+ /** Limit sell orders: price_key → vector<Order> */
114
+ limit_sells: MoveStruct<{
115
+ levels: MoveStruct<{
116
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
117
+ key_type: MoveStruct<{
118
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
119
+ }, "std::type_name::TypeName">;
120
+ value_type: MoveStruct<{
121
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
122
+ }, "std::type_name::TypeName">;
123
+ slice_idx: import("@mysten/sui/bcs").BcsType<number, number, "u16">;
124
+ slice_size: import("@mysten/sui/bcs").BcsType<number, number, "u32">;
125
+ length: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
126
+ }, "@waterx/perp::keyed_big_vector::KeyedBigVector">;
127
+ }, "@waterx/perp::order_book::OrderBook">;
128
+ /** Stop buy orders: price_key → vector<Order> */
129
+ stop_buys: MoveStruct<{
130
+ levels: MoveStruct<{
131
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
132
+ key_type: MoveStruct<{
133
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
134
+ }, "std::type_name::TypeName">;
135
+ value_type: MoveStruct<{
136
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
137
+ }, "std::type_name::TypeName">;
138
+ slice_idx: import("@mysten/sui/bcs").BcsType<number, number, "u16">;
139
+ slice_size: import("@mysten/sui/bcs").BcsType<number, number, "u32">;
140
+ length: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
141
+ }, "@waterx/perp::keyed_big_vector::KeyedBigVector">;
142
+ }, "@waterx/perp::order_book::OrderBook">;
143
+ /** Stop sell orders: price_key → vector<Order> */
144
+ stop_sells: MoveStruct<{
145
+ levels: MoveStruct<{
146
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
147
+ key_type: MoveStruct<{
148
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
149
+ }, "std::type_name::TypeName">;
150
+ value_type: MoveStruct<{
151
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
152
+ }, "std::type_name::TypeName">;
153
+ slice_idx: import("@mysten/sui/bcs").BcsType<number, number, "u16">;
154
+ slice_size: import("@mysten/sui/bcs").BcsType<number, number, "u32">;
155
+ length: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
156
+ }, "@waterx/perp::keyed_big_vector::KeyedBigVector">;
157
+ }, "@waterx/perp::order_book::OrderBook">;
158
+ /**
159
+ * Reserved TP / SL pre-orders, keyed by the **pre-order's own `order_id`** (not
160
+ * the main order's id). Each entry is a single fully-formed reduce-only `Order`
161
+ * with `linked_position_id = None`; on main fill `activate_pending_pre_orders`
162
+ * stamps in the new position id and moves the order onto the live book.
163
+ */
164
+ pending_pre_orders: MoveStruct<{
165
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
166
+ key_type: MoveStruct<{
167
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
168
+ }, "std::type_name::TypeName">;
169
+ value_type: MoveStruct<{
170
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
171
+ }, "std::type_name::TypeName">;
172
+ slice_idx: import("@mysten/sui/bcs").BcsType<number, number, "u16">;
173
+ slice_size: import("@mysten/sui/bcs").BcsType<number, number, "u32">;
174
+ length: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
175
+ }, "@waterx/perp::keyed_big_vector::KeyedBigVector">;
176
+ /**
177
+ * Secondary index: `main_order_id → vector<pre_order_id>` listing the pre-orders
178
+ * reserved against each unfilled main. Used by activation / cancellation to
179
+ * enumerate the pre-orders that belong to a given main.
180
+ */
181
+ pending_pre_order_index: MoveStruct<{
182
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
183
+ key_type: MoveStruct<{
184
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
185
+ }, "std::type_name::TypeName">;
186
+ value_type: MoveStruct<{
187
+ name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
188
+ }, "std::type_name::TypeName">;
189
+ slice_idx: import("@mysten/sui/bcs").BcsType<number, number, "u16">;
190
+ slice_size: import("@mysten/sui/bcs").BcsType<number, number, "u32">;
191
+ length: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
192
+ }, "@waterx/perp::keyed_big_vector::KeyedBigVector">;
193
+ }, "@waterx/perp::trading::Market<phantom LP_TOKEN>">;
194
+ export declare const MarketRegistry: MoveStruct<{
195
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
196
+ /** Allowed protocol versions (admin-managed). */
197
+ allowed_versions: MoveStruct<any, any>;
198
+ /** Tickers of registered markets, mirrored from the DOF for cheap iteration. */
199
+ listed_tickers: import("@mysten/sui/bcs").BcsType<string[], Iterable<string> & {
200
+ length: number;
201
+ }, string>;
202
+ }, "@waterx/perp::trading::MarketRegistry<phantom LP_TOKEN>">;
203
+ export interface ActionOpenPositionOptions {
204
+ package?: string;
205
+ arguments?: [
206
+ ];
207
+ }
208
+ export declare function actionOpenPosition(options?: ActionOpenPositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
209
+ export interface ActionClosePositionOptions {
210
+ package?: string;
211
+ arguments?: [
212
+ ];
213
+ }
214
+ export declare function actionClosePosition(options?: ActionClosePositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
215
+ export interface ActionPlaceOrderOptions {
216
+ package?: string;
217
+ arguments?: [
218
+ ];
219
+ }
220
+ export declare function actionPlaceOrder(options?: ActionPlaceOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
221
+ export interface ActionCancelOrderOptions {
222
+ package?: string;
223
+ arguments?: [
224
+ ];
225
+ }
226
+ export declare function actionCancelOrder(options?: ActionCancelOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
227
+ export interface ActionDepositCollateralOptions {
228
+ package?: string;
229
+ arguments?: [
230
+ ];
231
+ }
232
+ export declare function actionDepositCollateral(options?: ActionDepositCollateralOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
233
+ export interface ActionWithdrawCollateralOptions {
234
+ package?: string;
235
+ arguments?: [
236
+ ];
237
+ }
238
+ export declare function actionWithdrawCollateral(options?: ActionWithdrawCollateralOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
239
+ export interface ActionLiquidateOptions {
240
+ package?: string;
241
+ arguments?: [
242
+ ];
243
+ }
244
+ export declare function actionLiquidate(options?: ActionLiquidateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
245
+ export interface ActionIncreasePositionOptions {
246
+ package?: string;
247
+ arguments?: [
248
+ ];
249
+ }
250
+ export declare function actionIncreasePosition(options?: ActionIncreasePositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
251
+ export interface ActionDecreasePositionOptions {
252
+ package?: string;
253
+ arguments?: [
254
+ ];
255
+ }
256
+ export declare function actionDecreasePosition(options?: ActionDecreasePositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
257
+ export interface ActionUpdateOrderOptions {
258
+ package?: string;
259
+ arguments?: [
260
+ ];
261
+ }
262
+ export declare function actionUpdateOrder(options?: ActionUpdateOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
263
+ export interface ActionCancelPreOrderOptions {
264
+ package?: string;
265
+ arguments?: [
266
+ ];
267
+ }
268
+ export declare function actionCancelPreOrder(options?: ActionCancelPreOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
269
+ export interface ActionAddPreOrderOptions {
270
+ package?: string;
271
+ arguments?: [
272
+ ];
273
+ }
274
+ export declare function actionAddPreOrder(options?: ActionAddPreOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
275
+ export interface CreateMarketArguments {
276
+ Cap: RawTransactionArgument<string>;
277
+ symbol: RawTransactionArgument<string>;
278
+ maxLeverageBps: RawTransactionArgument<number | bigint>;
279
+ minCollValue: RawTransactionArgument<number | bigint>;
280
+ tradingFee: RawTransactionArgument<number | bigint>;
281
+ maintenanceMargin: RawTransactionArgument<number | bigint>;
282
+ maxLongOi: RawTransactionArgument<number | bigint>;
283
+ maxShortOi: RawTransactionArgument<number | bigint>;
284
+ cooldownMs: RawTransactionArgument<number | bigint>;
285
+ basicFundingRate: RawTransactionArgument<number | bigint>;
286
+ fundingIntervalMs: RawTransactionArgument<number | bigint>;
287
+ }
288
+ export interface CreateMarketOptions {
289
+ package?: string;
290
+ arguments: CreateMarketArguments | [
291
+ Cap: RawTransactionArgument<string>,
292
+ symbol: RawTransactionArgument<string>,
293
+ maxLeverageBps: RawTransactionArgument<number | bigint>,
294
+ minCollValue: RawTransactionArgument<number | bigint>,
295
+ tradingFee: RawTransactionArgument<number | bigint>,
296
+ maintenanceMargin: RawTransactionArgument<number | bigint>,
297
+ maxLongOi: RawTransactionArgument<number | bigint>,
298
+ maxShortOi: RawTransactionArgument<number | bigint>,
299
+ cooldownMs: RawTransactionArgument<number | bigint>,
300
+ basicFundingRate: RawTransactionArgument<number | bigint>,
301
+ fundingIntervalMs: RawTransactionArgument<number | bigint>
302
+ ];
303
+ typeArguments: [
304
+ string
305
+ ];
306
+ }
307
+ /**
308
+ * Creates a trading market with full configuration. `trading_fee`,
309
+ * `maintenance_margin`, and `basic_funding_rate` are scaled Float values (1e9
310
+ * scale). For example, a 5 bps fee = `500_000`.
311
+ */
312
+ export declare function createMarket(options: CreateMarketOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
313
+ export interface UpdateMarketConfigArguments {
314
+ marketRegistry: RawTransactionArgument<string>;
315
+ cap: RawTransactionArgument<string>;
316
+ ticker: RawTransactionArgument<string>;
317
+ maxLeverageBps: RawTransactionArgument<number | bigint | null>;
318
+ minCollValue: RawTransactionArgument<number | bigint | null>;
319
+ tradingFee: RawTransactionArgument<number | bigint | null>;
320
+ maxImpactFee: RawTransactionArgument<number | bigint | null>;
321
+ allocatedLpExposureBps: RawTransactionArgument<number | bigint | null>;
322
+ impactFeeCurvature: RawTransactionArgument<number | bigint | null>;
323
+ impactFeeScale: RawTransactionArgument<number | bigint | null>;
324
+ maintenanceMargin: RawTransactionArgument<number | bigint | null>;
325
+ maxLongOi: RawTransactionArgument<number | bigint | null>;
326
+ maxShortOi: RawTransactionArgument<number | bigint | null>;
327
+ cooldownMs: RawTransactionArgument<number | bigint | null>;
328
+ orderPriceTick: RawTransactionArgument<number | bigint | null>;
329
+ maxPreOrders: RawTransactionArgument<number | bigint | null>;
330
+ basicFundingRate: RawTransactionArgument<number | bigint | null>;
331
+ fundingIntervalMs: RawTransactionArgument<number | bigint | null>;
332
+ }
333
+ export interface UpdateMarketConfigOptions {
334
+ package?: string;
335
+ arguments: UpdateMarketConfigArguments | [
336
+ marketRegistry: RawTransactionArgument<string>,
337
+ cap: RawTransactionArgument<string>,
338
+ ticker: RawTransactionArgument<string>,
339
+ maxLeverageBps: RawTransactionArgument<number | bigint | null>,
340
+ minCollValue: RawTransactionArgument<number | bigint | null>,
341
+ tradingFee: RawTransactionArgument<number | bigint | null>,
342
+ maxImpactFee: RawTransactionArgument<number | bigint | null>,
343
+ allocatedLpExposureBps: RawTransactionArgument<number | bigint | null>,
344
+ impactFeeCurvature: RawTransactionArgument<number | bigint | null>,
345
+ impactFeeScale: RawTransactionArgument<number | bigint | null>,
346
+ maintenanceMargin: RawTransactionArgument<number | bigint | null>,
347
+ maxLongOi: RawTransactionArgument<number | bigint | null>,
348
+ maxShortOi: RawTransactionArgument<number | bigint | null>,
349
+ cooldownMs: RawTransactionArgument<number | bigint | null>,
350
+ orderPriceTick: RawTransactionArgument<number | bigint | null>,
351
+ maxPreOrders: RawTransactionArgument<number | bigint | null>,
352
+ basicFundingRate: RawTransactionArgument<number | bigint | null>,
353
+ fundingIntervalMs: RawTransactionArgument<number | bigint | null>
354
+ ];
355
+ typeArguments: [
356
+ string
357
+ ];
358
+ }
359
+ /**
360
+ * Admin: forwards to `market_config::update_market_config` through the shared
361
+ * `Market`. Needed because `MarketConfig` is embedded inside `Market` and can't be
362
+ * borrowed mutably from a PTB directly. Funding parameters must be updated with
363
+ * `update_market_funding_config` so accrued funding is settled under the old
364
+ * parameters before the new parameters take effect.
365
+ */
366
+ export declare function updateMarketConfig(options: UpdateMarketConfigOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
367
+ export interface UpdateMarketFundingConfigArguments {
368
+ globalConfig: RawTransactionArgument<string>;
369
+ cap: RawTransactionArgument<string>;
370
+ marketRegistry: RawTransactionArgument<string>;
371
+ ticker: RawTransactionArgument<string>;
372
+ pool: RawTransactionArgument<string>;
373
+ oracle: RawTransactionArgument<string>;
374
+ basicFundingRate: RawTransactionArgument<number | bigint | null>;
375
+ fundingIntervalMs: RawTransactionArgument<number | bigint | null>;
376
+ }
377
+ export interface UpdateMarketFundingConfigOptions {
378
+ package?: string;
379
+ arguments: UpdateMarketFundingConfigArguments | [
380
+ globalConfig: RawTransactionArgument<string>,
381
+ cap: RawTransactionArgument<string>,
382
+ marketRegistry: RawTransactionArgument<string>,
383
+ ticker: RawTransactionArgument<string>,
384
+ pool: RawTransactionArgument<string>,
385
+ oracle: RawTransactionArgument<string>,
386
+ basicFundingRate: RawTransactionArgument<number | bigint | null>,
387
+ fundingIntervalMs: RawTransactionArgument<number | bigint | null>
388
+ ];
389
+ typeArguments: [
390
+ string
391
+ ];
392
+ }
393
+ /**
394
+ * Admin: settles accrued funding under the old funding parameters, then updates
395
+ * funding parameters for future intervals.
396
+ */
397
+ export declare function updateMarketFundingConfig(options: UpdateMarketFundingConfigOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
398
+ export interface PauseMarketArguments {
399
+ marketRegistry: RawTransactionArgument<string>;
400
+ cap: RawTransactionArgument<string>;
401
+ ticker: RawTransactionArgument<string>;
402
+ }
403
+ export interface PauseMarketOptions {
404
+ package?: string;
405
+ arguments: PauseMarketArguments | [
406
+ marketRegistry: RawTransactionArgument<string>,
407
+ cap: RawTransactionArgument<string>,
408
+ ticker: RawTransactionArgument<string>
409
+ ];
410
+ typeArguments: [
411
+ string
412
+ ];
413
+ }
414
+ /** Admin: suspend the market (halts trading). */
415
+ export declare function pauseMarket(options: PauseMarketOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
416
+ export interface UnpauseMarketArguments {
417
+ marketRegistry: RawTransactionArgument<string>;
418
+ cap: RawTransactionArgument<string>;
419
+ ticker: RawTransactionArgument<string>;
420
+ }
421
+ export interface UnpauseMarketOptions {
422
+ package?: string;
423
+ arguments: UnpauseMarketArguments | [
424
+ marketRegistry: RawTransactionArgument<string>,
425
+ cap: RawTransactionArgument<string>,
426
+ ticker: RawTransactionArgument<string>
427
+ ];
428
+ typeArguments: [
429
+ string
430
+ ];
431
+ }
432
+ /** Admin: resume the market. */
433
+ export declare function unpauseMarket(options: UnpauseMarketOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
434
+ export interface AddRequestRuleArguments {
435
+ marketRegistry: RawTransactionArgument<string>;
436
+ cap: RawTransactionArgument<string>;
437
+ ticker: RawTransactionArgument<string>;
438
+ }
439
+ export interface AddRequestRuleOptions {
440
+ package?: string;
441
+ arguments: AddRequestRuleArguments | [
442
+ marketRegistry: RawTransactionArgument<string>,
443
+ cap: RawTransactionArgument<string>,
444
+ ticker: RawTransactionArgument<string>
445
+ ];
446
+ typeArguments: [
447
+ string,
448
+ string
449
+ ];
450
+ }
451
+ /** Admin: add witness type `W` to the request checklist. */
452
+ export declare function addRequestRule(options: AddRequestRuleOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
453
+ export interface RemoveRequestRuleArguments {
454
+ marketRegistry: RawTransactionArgument<string>;
455
+ cap: RawTransactionArgument<string>;
456
+ ticker: RawTransactionArgument<string>;
457
+ }
458
+ export interface RemoveRequestRuleOptions {
459
+ package?: string;
460
+ arguments: RemoveRequestRuleArguments | [
461
+ marketRegistry: RawTransactionArgument<string>,
462
+ cap: RawTransactionArgument<string>,
463
+ ticker: RawTransactionArgument<string>
464
+ ];
465
+ typeArguments: [
466
+ string,
467
+ string
468
+ ];
469
+ }
470
+ /** Admin: remove witness type `W` from the request checklist. */
471
+ export declare function removeRequestRule(options: RemoveRequestRuleOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
472
+ export interface RegisterMarketAumArguments {
473
+ marketRegistry: RawTransactionArgument<string>;
474
+ aum: RawTransactionArgument<string>;
475
+ cap: RawTransactionArgument<string>;
476
+ ticker: RawTransactionArgument<string>;
477
+ oracle: RawTransactionArgument<string>;
478
+ }
479
+ export interface RegisterMarketAumOptions {
480
+ package?: string;
481
+ arguments: RegisterMarketAumArguments | [
482
+ marketRegistry: RawTransactionArgument<string>,
483
+ aum: RawTransactionArgument<string>,
484
+ cap: RawTransactionArgument<string>,
485
+ ticker: RawTransactionArgument<string>,
486
+ oracle: RawTransactionArgument<string>
487
+ ];
488
+ typeArguments: [
489
+ string
490
+ ];
491
+ }
492
+ /** Registers a market in the pool-level WLP AUM object. */
493
+ export declare function registerMarketAum(options: RegisterMarketAumOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
494
+ export interface RefreshMarketAumArguments {
495
+ marketRegistry: RawTransactionArgument<string>;
496
+ aum: RawTransactionArgument<string>;
497
+ ticker: RawTransactionArgument<string>;
498
+ oracle: RawTransactionArgument<string>;
499
+ }
500
+ export interface RefreshMarketAumOptions {
501
+ package?: string;
502
+ arguments: RefreshMarketAumArguments | [
503
+ marketRegistry: RawTransactionArgument<string>,
504
+ aum: RawTransactionArgument<string>,
505
+ ticker: RawTransactionArgument<string>,
506
+ oracle: RawTransactionArgument<string>
507
+ ];
508
+ typeArguments: [
509
+ string
510
+ ];
511
+ }
512
+ /** Refreshes one registered market's contribution to pool-level WLP AUM. */
513
+ export declare function refreshMarketAum(options: RefreshMarketAumOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
514
+ export interface AssertProtocolPermArguments {
515
+ wxaRegistry: RawTransactionArgument<string>;
516
+ accountId: RawTransactionArgument<string>;
517
+ sender: RawTransactionArgument<string>;
518
+ permission: RawTransactionArgument<number>;
519
+ }
520
+ export interface AssertProtocolPermOptions {
521
+ package?: string;
522
+ arguments: AssertProtocolPermArguments | [
523
+ wxaRegistry: RawTransactionArgument<string>,
524
+ accountId: RawTransactionArgument<string>,
525
+ sender: RawTransactionArgument<string>,
526
+ permission: RawTransactionArgument<number>
527
+ ];
528
+ typeArguments: [
529
+ string
530
+ ];
531
+ }
532
+ /**
533
+ * Permission check on the wxa account for the trading entrypoints. Reads
534
+ * `effective_protocol_permissions<TradingRequest<C_TOKEN>>` so per-collateral
535
+ * granularity is preserved (`PERM_OPEN_POSITION` etc. are bits on that bitmap).
536
+ * Must be called _before_ any `wxa_account::take` so a failed auth doesn't leave
537
+ * the user drained.
538
+ */
539
+ export declare function assertProtocolPerm(options: AssertProtocolPermOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
540
+ export interface ClosePositionRequestArguments {
541
+ globalConfig: RawTransactionArgument<string>;
542
+ wxaRegistry: RawTransactionArgument<string>;
543
+ marketRegistry: RawTransactionArgument<string>;
544
+ ticker: RawTransactionArgument<string>;
545
+ senderRequest: RawTransactionArgument<string>;
546
+ accountId: RawTransactionArgument<string>;
547
+ positionId: RawTransactionArgument<number | bigint>;
548
+ acceptablePrice: RawTransactionArgument<number | bigint>;
549
+ }
550
+ export interface ClosePositionRequestOptions {
551
+ package?: string;
552
+ arguments: ClosePositionRequestArguments | [
553
+ globalConfig: RawTransactionArgument<string>,
554
+ wxaRegistry: RawTransactionArgument<string>,
555
+ marketRegistry: RawTransactionArgument<string>,
556
+ ticker: RawTransactionArgument<string>,
557
+ senderRequest: RawTransactionArgument<string>,
558
+ accountId: RawTransactionArgument<string>,
559
+ positionId: RawTransactionArgument<number | bigint>,
560
+ acceptablePrice: RawTransactionArgument<number | bigint>
561
+ ];
562
+ typeArguments: [
563
+ string,
564
+ string
565
+ ];
566
+ }
567
+ /** Creates a request to close a position. */
568
+ export declare function closePositionRequest(options: ClosePositionRequestOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
569
+ export interface IncreasePositionRequestArguments {
570
+ globalConfig: RawTransactionArgument<string>;
571
+ wxaRegistry: RawTransactionArgument<string>;
572
+ marketRegistry: RawTransactionArgument<string>;
573
+ ticker: RawTransactionArgument<string>;
574
+ senderRequest: RawTransactionArgument<string>;
575
+ accountId: RawTransactionArgument<string>;
576
+ orderId: RawTransactionArgument<number | bigint | null>;
577
+ positionId: RawTransactionArgument<number | bigint>;
578
+ collateralAmount: RawTransactionArgument<number | bigint>;
579
+ size: RawTransactionArgument<number | bigint>;
580
+ acceptablePrice: RawTransactionArgument<number | bigint>;
581
+ }
582
+ export interface IncreasePositionRequestOptions {
583
+ package?: string;
584
+ arguments: IncreasePositionRequestArguments | [
585
+ globalConfig: RawTransactionArgument<string>,
586
+ wxaRegistry: RawTransactionArgument<string>,
587
+ marketRegistry: RawTransactionArgument<string>,
588
+ ticker: RawTransactionArgument<string>,
589
+ senderRequest: RawTransactionArgument<string>,
590
+ accountId: RawTransactionArgument<string>,
591
+ orderId: RawTransactionArgument<number | bigint | null>,
592
+ positionId: RawTransactionArgument<number | bigint>,
593
+ collateralAmount: RawTransactionArgument<number | bigint>,
594
+ size: RawTransactionArgument<number | bigint>,
595
+ acceptablePrice: RawTransactionArgument<number | bigint>
596
+ ];
597
+ typeArguments: [
598
+ string,
599
+ string
600
+ ];
601
+ }
602
+ /** Creates a request to increase an existing position at market. */
603
+ export declare function increasePositionRequest(options: IncreasePositionRequestOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
604
+ export interface DecreasePositionRequestArguments {
605
+ globalConfig: RawTransactionArgument<string>;
606
+ wxaRegistry: RawTransactionArgument<string>;
607
+ marketRegistry: RawTransactionArgument<string>;
608
+ ticker: RawTransactionArgument<string>;
609
+ senderRequest: RawTransactionArgument<string>;
610
+ accountId: RawTransactionArgument<string>;
611
+ positionId: RawTransactionArgument<number | bigint>;
612
+ size: RawTransactionArgument<number | bigint>;
613
+ acceptablePrice: RawTransactionArgument<number | bigint>;
614
+ }
615
+ export interface DecreasePositionRequestOptions {
616
+ package?: string;
617
+ arguments: DecreasePositionRequestArguments | [
618
+ globalConfig: RawTransactionArgument<string>,
619
+ wxaRegistry: RawTransactionArgument<string>,
620
+ marketRegistry: RawTransactionArgument<string>,
621
+ ticker: RawTransactionArgument<string>,
622
+ senderRequest: RawTransactionArgument<string>,
623
+ accountId: RawTransactionArgument<string>,
624
+ positionId: RawTransactionArgument<number | bigint>,
625
+ size: RawTransactionArgument<number | bigint>,
626
+ acceptablePrice: RawTransactionArgument<number | bigint>
627
+ ];
628
+ typeArguments: [
629
+ string,
630
+ string
631
+ ];
632
+ }
633
+ /** Creates a request to partially reduce an existing position at market. */
634
+ export declare function decreasePositionRequest(options: DecreasePositionRequestOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
635
+ export interface PlaceOrderRequestArguments {
636
+ globalConfig: RawTransactionArgument<string>;
637
+ wxaRegistry: RawTransactionArgument<string>;
638
+ marketRegistry: RawTransactionArgument<string>;
639
+ ticker: RawTransactionArgument<string>;
640
+ senderRequest: RawTransactionArgument<string>;
641
+ accountId: RawTransactionArgument<string>;
642
+ main: RawTransactionArgument<string>;
643
+ preOrder: RawTransactionArgument<string[]>;
644
+ }
645
+ export interface PlaceOrderRequestOptions {
646
+ package?: string;
647
+ arguments: PlaceOrderRequestArguments | [
648
+ globalConfig: RawTransactionArgument<string>,
649
+ wxaRegistry: RawTransactionArgument<string>,
650
+ marketRegistry: RawTransactionArgument<string>,
651
+ ticker: RawTransactionArgument<string>,
652
+ senderRequest: RawTransactionArgument<string>,
653
+ accountId: RawTransactionArgument<string>,
654
+ main: RawTransactionArgument<string>,
655
+ preOrder: RawTransactionArgument<string[]>
656
+ ];
657
+ typeArguments: [
658
+ string,
659
+ string
660
+ ];
661
+ }
662
+ /**
663
+ * Creates a request to place a limit, stop, or market order, optionally with TP/SL
664
+ * pre-orders reserved against the freshly opened position.
665
+ *
666
+ * `main: PlaceOrderArgument` describes the order that hits the book immediately.
667
+ * `pre_order: vector<PlaceOrderArgument>` (length 0..=2) describes reduce-only
668
+ * orders that will be promoted to real linked orders on the new position when the
669
+ * main fills via `match_orders`.
670
+ *
671
+ * `main.trigger_price = None` is the market form: the order is parked at tick 0 in
672
+ * the limit book and a keeper fills it via `match_orders` at the live oracle.
673
+ * `acceptable_price` is carried on the order and consulted at match time — if the
674
+ * oracle moves past it the order is cancelled and collateral refunded. Limit/stop
675
+ * orders ignore `acceptable_price`.
676
+ *
677
+ * Validation runs _before_ the wxa take so a malformed request never drains the
678
+ * user's balance.
679
+ */
680
+ export declare function placeOrderRequest(options: PlaceOrderRequestOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
681
+ export interface ValidatePreOrdersArguments {
682
+ main: RawTransactionArgument<string>;
683
+ preOrder: RawTransactionArgument<string[]>;
684
+ maxPreOrders: RawTransactionArgument<number | bigint>;
685
+ }
686
+ export interface ValidatePreOrdersOptions {
687
+ package?: string;
688
+ arguments: ValidatePreOrdersArguments | [
689
+ main: RawTransactionArgument<string>,
690
+ preOrder: RawTransactionArgument<string[]>,
691
+ maxPreOrders: RawTransactionArgument<number | bigint>
692
+ ];
693
+ }
694
+ /**
695
+ * Validates `(main, pre_order)` at place-order request creation. Combines the
696
+ * main-eligibility check (must be a fresh opening order), the count check against
697
+ * the market-level cap, and per-entry structural rules.
698
+ */
699
+ export declare function validatePreOrders(options: ValidatePreOrdersOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
700
+ export interface ValidatePreOrderEntriesArguments {
701
+ mainIsLong: RawTransactionArgument<boolean>;
702
+ preOrder: RawTransactionArgument<string[]>;
703
+ }
704
+ export interface ValidatePreOrderEntriesOptions {
705
+ package?: string;
706
+ arguments: ValidatePreOrderEntriesArguments | [
707
+ mainIsLong: RawTransactionArgument<boolean>,
708
+ preOrder: RawTransactionArgument<string[]>
709
+ ];
710
+ }
711
+ /**
712
+ * Per-entry structural validation only: reduce-only, real trigger, no collateral,
713
+ * no pre-picked link target, opposite side of main, non-zero size. The total-count
714
+ * check is the caller's responsibility (`assert_pre_order_count`) so this can be
715
+ * reused from per-leg add / cancel paths.
716
+ */
717
+ export declare function validatePreOrderEntries(options: ValidatePreOrderEntriesOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
718
+ export interface AssertPreOrderCountArguments {
719
+ newTotal: RawTransactionArgument<number | bigint>;
720
+ maxPreOrders: RawTransactionArgument<number | bigint>;
721
+ }
722
+ export interface AssertPreOrderCountOptions {
723
+ package?: string;
724
+ arguments: AssertPreOrderCountArguments | [
725
+ newTotal: RawTransactionArgument<number | bigint>,
726
+ maxPreOrders: RawTransactionArgument<number | bigint>
727
+ ];
728
+ }
729
+ /**
730
+ * Caps the **total** pre-orders reserved against a single main at the
731
+ * market-config `max_pre_orders`. Aborts with `ETooManyPreOrders`.
732
+ */
733
+ export declare function assertPreOrderCount(options: AssertPreOrderCountOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
734
+ export interface CancelOrderRequestArguments {
735
+ globalConfig: RawTransactionArgument<string>;
736
+ wxaRegistry: RawTransactionArgument<string>;
737
+ marketRegistry: RawTransactionArgument<string>;
738
+ ticker: RawTransactionArgument<string>;
739
+ senderRequest: RawTransactionArgument<string>;
740
+ accountId: RawTransactionArgument<string>;
741
+ orderId: RawTransactionArgument<number | bigint>;
742
+ triggerPrice: RawTransactionArgument<number | bigint>;
743
+ orderTypeTag: RawTransactionArgument<number>;
744
+ }
745
+ export interface CancelOrderRequestOptions {
746
+ package?: string;
747
+ arguments: CancelOrderRequestArguments | [
748
+ globalConfig: RawTransactionArgument<string>,
749
+ wxaRegistry: RawTransactionArgument<string>,
750
+ marketRegistry: RawTransactionArgument<string>,
751
+ ticker: RawTransactionArgument<string>,
752
+ senderRequest: RawTransactionArgument<string>,
753
+ accountId: RawTransactionArgument<string>,
754
+ orderId: RawTransactionArgument<number | bigint>,
755
+ triggerPrice: RawTransactionArgument<number | bigint>,
756
+ orderTypeTag: RawTransactionArgument<number>
757
+ ];
758
+ typeArguments: [
759
+ string,
760
+ string
761
+ ];
762
+ }
763
+ /**
764
+ * Creates a request to cancel an order. `order_type_tag = 255` scans all 4 books
765
+ * for the matching `order_id`. `trigger_price` is the scaled `Float` value; `0`
766
+ * scans all trigger price buckets in the selected book(s).
767
+ */
768
+ export declare function cancelOrderRequest(options: CancelOrderRequestOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
769
+ export interface UpdateOrderRequestArguments {
770
+ globalConfig: RawTransactionArgument<string>;
771
+ wxaRegistry: RawTransactionArgument<string>;
772
+ marketRegistry: RawTransactionArgument<string>;
773
+ ticker: RawTransactionArgument<string>;
774
+ senderRequest: RawTransactionArgument<string>;
775
+ accountId: RawTransactionArgument<string>;
776
+ orderId: RawTransactionArgument<number | bigint>;
777
+ currentTriggerPrice: RawTransactionArgument<number | bigint>;
778
+ orderTypeTag: RawTransactionArgument<number>;
779
+ newSize: RawTransactionArgument<number | bigint>;
780
+ newTriggerPrice: RawTransactionArgument<number | bigint>;
781
+ }
782
+ export interface UpdateOrderRequestOptions {
783
+ package?: string;
784
+ arguments: UpdateOrderRequestArguments | [
785
+ globalConfig: RawTransactionArgument<string>,
786
+ wxaRegistry: RawTransactionArgument<string>,
787
+ marketRegistry: RawTransactionArgument<string>,
788
+ ticker: RawTransactionArgument<string>,
789
+ senderRequest: RawTransactionArgument<string>,
790
+ accountId: RawTransactionArgument<string>,
791
+ orderId: RawTransactionArgument<number | bigint>,
792
+ currentTriggerPrice: RawTransactionArgument<number | bigint>,
793
+ orderTypeTag: RawTransactionArgument<number>,
794
+ newSize: RawTransactionArgument<number | bigint>,
795
+ newTriggerPrice: RawTransactionArgument<number | bigint>
796
+ ];
797
+ typeArguments: [
798
+ string,
799
+ string
800
+ ];
801
+ }
802
+ /**
803
+ * Creates a request to update a live order's size and trigger price. The order
804
+ * keeps its direction, reduce-only flag, linked position, collateral, and
805
+ * limit/stop book. `order_type_tag = 255` and `current_trigger_price = 0` scan for
806
+ * the current order location.
807
+ */
808
+ export declare function updateOrderRequest(options: UpdateOrderRequestOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
809
+ export interface CancelPreOrderRequestArguments {
810
+ globalConfig: RawTransactionArgument<string>;
811
+ wxaRegistry: RawTransactionArgument<string>;
812
+ marketRegistry: RawTransactionArgument<string>;
813
+ ticker: RawTransactionArgument<string>;
814
+ senderRequest: RawTransactionArgument<string>;
815
+ accountId: RawTransactionArgument<string>;
816
+ mainOrderId: RawTransactionArgument<number | bigint>;
817
+ preOrderId: RawTransactionArgument<number | bigint>;
818
+ }
819
+ export interface CancelPreOrderRequestOptions {
820
+ package?: string;
821
+ arguments: CancelPreOrderRequestArguments | [
822
+ globalConfig: RawTransactionArgument<string>,
823
+ wxaRegistry: RawTransactionArgument<string>,
824
+ marketRegistry: RawTransactionArgument<string>,
825
+ ticker: RawTransactionArgument<string>,
826
+ senderRequest: RawTransactionArgument<string>,
827
+ accountId: RawTransactionArgument<string>,
828
+ mainOrderId: RawTransactionArgument<number | bigint>,
829
+ preOrderId: RawTransactionArgument<number | bigint>
830
+ ];
831
+ typeArguments: [
832
+ string,
833
+ string
834
+ ];
835
+ }
836
+ /**
837
+ * Cancels a single TP / SL pre-order reserved against an unfilled main.
838
+ * `pre_order_id` is the pre-order's own `order_id`, returned in the `OrderCreated`
839
+ * event when it activates (also enumerable from `pending_pre_order_index` keyed by
840
+ * `main_order_id`). The pair must be consistent — i.e. `pre_order_id` must appear
841
+ * in the index entry for `main_order_id`, otherwise the call aborts with
842
+ * `EOrderNotFound`. Pre-orders never hold collateral, so this only adjusts
843
+ * bookkeeping; no payout. Emits `PreOrderCancelled` with `pre_order_count = 1`.
844
+ */
845
+ export declare function cancelPreOrderRequest(options: CancelPreOrderRequestOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
846
+ export interface AddPreOrderRequestArguments {
847
+ globalConfig: RawTransactionArgument<string>;
848
+ wxaRegistry: RawTransactionArgument<string>;
849
+ marketRegistry: RawTransactionArgument<string>;
850
+ ticker: RawTransactionArgument<string>;
851
+ senderRequest: RawTransactionArgument<string>;
852
+ accountId: RawTransactionArgument<string>;
853
+ mainOrderId: RawTransactionArgument<number | bigint>;
854
+ preOrder: RawTransactionArgument<string>;
855
+ }
856
+ export interface AddPreOrderRequestOptions {
857
+ package?: string;
858
+ arguments: AddPreOrderRequestArguments | [
859
+ globalConfig: RawTransactionArgument<string>,
860
+ wxaRegistry: RawTransactionArgument<string>,
861
+ marketRegistry: RawTransactionArgument<string>,
862
+ ticker: RawTransactionArgument<string>,
863
+ senderRequest: RawTransactionArgument<string>,
864
+ accountId: RawTransactionArgument<string>,
865
+ mainOrderId: RawTransactionArgument<number | bigint>,
866
+ preOrder: RawTransactionArgument<string>
867
+ ];
868
+ typeArguments: [
869
+ string,
870
+ string
871
+ ];
872
+ }
873
+ /**
874
+ * Adds one TP / SL pre-order to an unfilled main. The main must still be on the
875
+ * book, owned by `account_id`, of collateral type `C_TOKEN`, and a fresh opening
876
+ * order. The per-entry rules (`validate_pre_order_entries`) and the market-level
877
+ * total cap (`market.config.max_pre_orders()`) are enforced — existing reserved
878
+ *
879
+ * - 1 must stay within cap.
880
+ */
881
+ export declare function addPreOrderRequest(options: AddPreOrderRequestOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
882
+ export interface DepositCollateralRequestArguments {
883
+ globalConfig: RawTransactionArgument<string>;
884
+ wxaRegistry: RawTransactionArgument<string>;
885
+ marketRegistry: RawTransactionArgument<string>;
886
+ ticker: RawTransactionArgument<string>;
887
+ senderRequest: RawTransactionArgument<string>;
888
+ accountId: RawTransactionArgument<string>;
889
+ positionId: RawTransactionArgument<number | bigint>;
890
+ collateralAmount: RawTransactionArgument<number | bigint>;
891
+ }
892
+ export interface DepositCollateralRequestOptions {
893
+ package?: string;
894
+ arguments: DepositCollateralRequestArguments | [
895
+ globalConfig: RawTransactionArgument<string>,
896
+ wxaRegistry: RawTransactionArgument<string>,
897
+ marketRegistry: RawTransactionArgument<string>,
898
+ ticker: RawTransactionArgument<string>,
899
+ senderRequest: RawTransactionArgument<string>,
900
+ accountId: RawTransactionArgument<string>,
901
+ positionId: RawTransactionArgument<number | bigint>,
902
+ collateralAmount: RawTransactionArgument<number | bigint>
903
+ ];
904
+ typeArguments: [
905
+ string,
906
+ string
907
+ ];
908
+ }
909
+ /** Creates a request to deposit collateral on a position. */
910
+ export declare function depositCollateralRequest(options: DepositCollateralRequestOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
911
+ export interface WithdrawCollateralRequestArguments {
912
+ globalConfig: RawTransactionArgument<string>;
913
+ wxaRegistry: RawTransactionArgument<string>;
914
+ marketRegistry: RawTransactionArgument<string>;
915
+ ticker: RawTransactionArgument<string>;
916
+ senderRequest: RawTransactionArgument<string>;
917
+ accountId: RawTransactionArgument<string>;
918
+ positionId: RawTransactionArgument<number | bigint>;
919
+ amount: RawTransactionArgument<number | bigint>;
920
+ }
921
+ export interface WithdrawCollateralRequestOptions {
922
+ package?: string;
923
+ arguments: WithdrawCollateralRequestArguments | [
924
+ globalConfig: RawTransactionArgument<string>,
925
+ wxaRegistry: RawTransactionArgument<string>,
926
+ marketRegistry: RawTransactionArgument<string>,
927
+ ticker: RawTransactionArgument<string>,
928
+ senderRequest: RawTransactionArgument<string>,
929
+ accountId: RawTransactionArgument<string>,
930
+ positionId: RawTransactionArgument<number | bigint>,
931
+ amount: RawTransactionArgument<number | bigint>
932
+ ];
933
+ typeArguments: [
934
+ string,
935
+ string
936
+ ];
937
+ }
938
+ /** Creates a request to withdraw collateral from a position. */
939
+ export declare function withdrawCollateralRequest(options: WithdrawCollateralRequestOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
940
+ export interface LiquidateArguments {
941
+ globalConfig: RawTransactionArgument<string>;
942
+ wxaRegistry: RawTransactionArgument<string>;
943
+ marketRegistry: RawTransactionArgument<string>;
944
+ ticker: RawTransactionArgument<string>;
945
+ pool: RawTransactionArgument<string>;
946
+ senderRequest: RawTransactionArgument<string>;
947
+ positionId: RawTransactionArgument<number | bigint>;
948
+ oracle: RawTransactionArgument<string>;
949
+ }
950
+ export interface LiquidateOptions {
951
+ package?: string;
952
+ arguments: LiquidateArguments | [
953
+ globalConfig: RawTransactionArgument<string>,
954
+ wxaRegistry: RawTransactionArgument<string>,
955
+ marketRegistry: RawTransactionArgument<string>,
956
+ ticker: RawTransactionArgument<string>,
957
+ pool: RawTransactionArgument<string>,
958
+ senderRequest: RawTransactionArgument<string>,
959
+ positionId: RawTransactionArgument<number | bigint>,
960
+ oracle: RawTransactionArgument<string>
961
+ ];
962
+ typeArguments: [
963
+ string,
964
+ string
965
+ ];
966
+ }
967
+ /**
968
+ * Creates a request to liquidate a position (keeper only). Reads
969
+ * account_object_address from the position directly. Keeper-only: liquidate an
970
+ * undercollateralized position. Single-call — no `TradingRequest` hot potato to
971
+ * manage. Returns a droppable receipt vector for PTB composition.
972
+ */
973
+ export declare function liquidate(options: LiquidateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
974
+ export interface BatchLiquidateArguments {
975
+ globalConfig: RawTransactionArgument<string>;
976
+ wxaRegistry: RawTransactionArgument<string>;
977
+ marketRegistry: RawTransactionArgument<string>;
978
+ ticker: RawTransactionArgument<string>;
979
+ pool: RawTransactionArgument<string>;
980
+ senderRequest: RawTransactionArgument<string>;
981
+ oracle: RawTransactionArgument<string>;
982
+ pageSize: RawTransactionArgument<number | bigint>;
983
+ pageIndex: RawTransactionArgument<number | bigint>;
984
+ }
985
+ export interface BatchLiquidateOptions {
986
+ package?: string;
987
+ arguments: BatchLiquidateArguments | [
988
+ globalConfig: RawTransactionArgument<string>,
989
+ wxaRegistry: RawTransactionArgument<string>,
990
+ marketRegistry: RawTransactionArgument<string>,
991
+ ticker: RawTransactionArgument<string>,
992
+ pool: RawTransactionArgument<string>,
993
+ senderRequest: RawTransactionArgument<string>,
994
+ oracle: RawTransactionArgument<string>,
995
+ pageSize: RawTransactionArgument<number | bigint>,
996
+ pageIndex: RawTransactionArgument<number | bigint>
997
+ ];
998
+ typeArguments: [
999
+ string,
1000
+ string
1001
+ ];
1002
+ }
1003
+ /**
1004
+ * Keeper-only: scans a page of positions and liquidates every liquidatable one.
1005
+ * Iterates positions by internal index `[page_index * page_size, ...)`. No-op if
1006
+ * the page is out of range or no positions qualify. Returns droppable receipts for
1007
+ * every liquidated position.
1008
+ */
1009
+ export declare function batchLiquidate(options: BatchLiquidateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1010
+ export interface ExecuteArguments {
1011
+ globalConfig: RawTransactionArgument<string>;
1012
+ wxaRegistry: RawTransactionArgument<string>;
1013
+ marketRegistry: RawTransactionArgument<string>;
1014
+ ticker: RawTransactionArgument<string>;
1015
+ pool: RawTransactionArgument<string>;
1016
+ req: RawTransactionArgument<string>;
1017
+ oracle: RawTransactionArgument<string>;
1018
+ }
1019
+ export interface ExecuteOptions {
1020
+ package?: string;
1021
+ arguments: ExecuteArguments | [
1022
+ globalConfig: RawTransactionArgument<string>,
1023
+ wxaRegistry: RawTransactionArgument<string>,
1024
+ marketRegistry: RawTransactionArgument<string>,
1025
+ ticker: RawTransactionArgument<string>,
1026
+ pool: RawTransactionArgument<string>,
1027
+ req: RawTransactionArgument<string>,
1028
+ oracle: RawTransactionArgument<string>
1029
+ ];
1030
+ typeArguments: [
1031
+ string,
1032
+ string
1033
+ ];
1034
+ }
1035
+ /**
1036
+ * Executes a trading request. All `*_request` creators return raw
1037
+ * `TradingRequest<C>`; pass it straight to `execute` after attaching any witness
1038
+ * rules (e.g. `pyth_rule::feed(&mut req, ...)`). Used by both user happy paths and
1039
+ * keeper paths.
1040
+ */
1041
+ export declare function execute(options: ExecuteOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1042
+ export interface ExecuteOpenPositionArguments {
1043
+ globalConfig: RawTransactionArgument<string>;
1044
+ wxaRegistry: RawTransactionArgument<string>;
1045
+ market: RawTransactionArgument<string>;
1046
+ pool: RawTransactionArgument<string>;
1047
+ oracle: RawTransactionArgument<string>;
1048
+ marketId: RawTransactionArgument<string>;
1049
+ accountId: RawTransactionArgument<string>;
1050
+ orderId: RawTransactionArgument<number | bigint>;
1051
+ accountObjectAddress: RawTransactionArgument<string>;
1052
+ sender: RawTransactionArgument<string>;
1053
+ collateral: RawTransactionArgument<string>;
1054
+ isLong: RawTransactionArgument<boolean>;
1055
+ size: RawTransactionArgument<string>;
1056
+ acceptablePrice: RawTransactionArgument<number | bigint>;
1057
+ }
1058
+ export interface ExecuteOpenPositionOptions {
1059
+ package?: string;
1060
+ arguments: ExecuteOpenPositionArguments | [
1061
+ globalConfig: RawTransactionArgument<string>,
1062
+ wxaRegistry: RawTransactionArgument<string>,
1063
+ market: RawTransactionArgument<string>,
1064
+ pool: RawTransactionArgument<string>,
1065
+ oracle: RawTransactionArgument<string>,
1066
+ marketId: RawTransactionArgument<string>,
1067
+ accountId: RawTransactionArgument<string>,
1068
+ orderId: RawTransactionArgument<number | bigint>,
1069
+ accountObjectAddress: RawTransactionArgument<string>,
1070
+ sender: RawTransactionArgument<string>,
1071
+ collateral: RawTransactionArgument<string>,
1072
+ isLong: RawTransactionArgument<boolean>,
1073
+ size: RawTransactionArgument<string>,
1074
+ acceptablePrice: RawTransactionArgument<number | bigint>
1075
+ ];
1076
+ typeArguments: [
1077
+ string,
1078
+ string
1079
+ ];
1080
+ }
1081
+ export declare function executeOpenPosition(options: ExecuteOpenPositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1082
+ export interface ExecuteIncreasePositionArguments {
1083
+ globalConfig: RawTransactionArgument<string>;
1084
+ market: RawTransactionArgument<string>;
1085
+ pool: RawTransactionArgument<string>;
1086
+ oracle: RawTransactionArgument<string>;
1087
+ marketId: RawTransactionArgument<string>;
1088
+ accountObjectAddress: RawTransactionArgument<string>;
1089
+ orderId: RawTransactionArgument<number | bigint>;
1090
+ positionId: RawTransactionArgument<number | bigint>;
1091
+ collateral: RawTransactionArgument<string>;
1092
+ size: RawTransactionArgument<string>;
1093
+ acceptablePrice: RawTransactionArgument<number | bigint>;
1094
+ }
1095
+ export interface ExecuteIncreasePositionOptions {
1096
+ package?: string;
1097
+ arguments: ExecuteIncreasePositionArguments | [
1098
+ globalConfig: RawTransactionArgument<string>,
1099
+ market: RawTransactionArgument<string>,
1100
+ pool: RawTransactionArgument<string>,
1101
+ oracle: RawTransactionArgument<string>,
1102
+ marketId: RawTransactionArgument<string>,
1103
+ accountObjectAddress: RawTransactionArgument<string>,
1104
+ orderId: RawTransactionArgument<number | bigint>,
1105
+ positionId: RawTransactionArgument<number | bigint>,
1106
+ collateral: RawTransactionArgument<string>,
1107
+ size: RawTransactionArgument<string>,
1108
+ acceptablePrice: RawTransactionArgument<number | bigint>
1109
+ ];
1110
+ typeArguments: [
1111
+ string,
1112
+ string
1113
+ ];
1114
+ }
1115
+ export declare function executeIncreasePosition(options: ExecuteIncreasePositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1116
+ export interface ExecuteClosePositionArguments {
1117
+ globalConfig: RawTransactionArgument<string>;
1118
+ wxaRegistry: RawTransactionArgument<string>;
1119
+ market: RawTransactionArgument<string>;
1120
+ pool: RawTransactionArgument<string>;
1121
+ oracle: RawTransactionArgument<string>;
1122
+ marketId: RawTransactionArgument<string>;
1123
+ accountId: RawTransactionArgument<string>;
1124
+ accountObjId: RawTransactionArgument<string>;
1125
+ orderId: RawTransactionArgument<number | bigint>;
1126
+ positionId: RawTransactionArgument<number | bigint>;
1127
+ acceptablePrice: RawTransactionArgument<number | bigint>;
1128
+ }
1129
+ export interface ExecuteClosePositionOptions {
1130
+ package?: string;
1131
+ arguments: ExecuteClosePositionArguments | [
1132
+ globalConfig: RawTransactionArgument<string>,
1133
+ wxaRegistry: RawTransactionArgument<string>,
1134
+ market: RawTransactionArgument<string>,
1135
+ pool: RawTransactionArgument<string>,
1136
+ oracle: RawTransactionArgument<string>,
1137
+ marketId: RawTransactionArgument<string>,
1138
+ accountId: RawTransactionArgument<string>,
1139
+ accountObjId: RawTransactionArgument<string>,
1140
+ orderId: RawTransactionArgument<number | bigint>,
1141
+ positionId: RawTransactionArgument<number | bigint>,
1142
+ acceptablePrice: RawTransactionArgument<number | bigint>
1143
+ ];
1144
+ typeArguments: [
1145
+ string,
1146
+ string
1147
+ ];
1148
+ }
1149
+ export declare function executeClosePosition(options: ExecuteClosePositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1150
+ export interface ExecuteDecreasePositionArguments {
1151
+ globalConfig: RawTransactionArgument<string>;
1152
+ wxaRegistry: RawTransactionArgument<string>;
1153
+ market: RawTransactionArgument<string>;
1154
+ pool: RawTransactionArgument<string>;
1155
+ oracle: RawTransactionArgument<string>;
1156
+ marketId: RawTransactionArgument<string>;
1157
+ accountId: RawTransactionArgument<string>;
1158
+ accountObjId: RawTransactionArgument<string>;
1159
+ orderId: RawTransactionArgument<number | bigint>;
1160
+ positionId: RawTransactionArgument<number | bigint>;
1161
+ requestedSize: RawTransactionArgument<string>;
1162
+ acceptablePrice: RawTransactionArgument<number | bigint>;
1163
+ }
1164
+ export interface ExecuteDecreasePositionOptions {
1165
+ package?: string;
1166
+ arguments: ExecuteDecreasePositionArguments | [
1167
+ globalConfig: RawTransactionArgument<string>,
1168
+ wxaRegistry: RawTransactionArgument<string>,
1169
+ market: RawTransactionArgument<string>,
1170
+ pool: RawTransactionArgument<string>,
1171
+ oracle: RawTransactionArgument<string>,
1172
+ marketId: RawTransactionArgument<string>,
1173
+ accountId: RawTransactionArgument<string>,
1174
+ accountObjId: RawTransactionArgument<string>,
1175
+ orderId: RawTransactionArgument<number | bigint>,
1176
+ positionId: RawTransactionArgument<number | bigint>,
1177
+ requestedSize: RawTransactionArgument<string>,
1178
+ acceptablePrice: RawTransactionArgument<number | bigint>
1179
+ ];
1180
+ typeArguments: [
1181
+ string,
1182
+ string
1183
+ ];
1184
+ }
1185
+ export declare function executeDecreasePosition(options: ExecuteDecreasePositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1186
+ export interface ExecutePlaceOrderArguments {
1187
+ globalConfig: RawTransactionArgument<string>;
1188
+ wxaRegistry: RawTransactionArgument<string>;
1189
+ market: RawTransactionArgument<string>;
1190
+ pool: RawTransactionArgument<string>;
1191
+ oracle: RawTransactionArgument<string>;
1192
+ marketId: RawTransactionArgument<string>;
1193
+ accountId: RawTransactionArgument<string>;
1194
+ accountObjectAddress: RawTransactionArgument<string>;
1195
+ collateral: RawTransactionArgument<string>;
1196
+ isLong: RawTransactionArgument<boolean>;
1197
+ isStopOrder: RawTransactionArgument<boolean>;
1198
+ reduceOnly: RawTransactionArgument<boolean>;
1199
+ size: RawTransactionArgument<string>;
1200
+ triggerPrice: RawTransactionArgument<string>;
1201
+ acceptablePrice: RawTransactionArgument<number | bigint>;
1202
+ linkedPositionId: RawTransactionArgument<number | bigint | null>;
1203
+ preOrders: RawTransactionArgument<string[]>;
1204
+ }
1205
+ export interface ExecutePlaceOrderOptions {
1206
+ package?: string;
1207
+ arguments: ExecutePlaceOrderArguments | [
1208
+ globalConfig: RawTransactionArgument<string>,
1209
+ wxaRegistry: RawTransactionArgument<string>,
1210
+ market: RawTransactionArgument<string>,
1211
+ pool: RawTransactionArgument<string>,
1212
+ oracle: RawTransactionArgument<string>,
1213
+ marketId: RawTransactionArgument<string>,
1214
+ accountId: RawTransactionArgument<string>,
1215
+ accountObjectAddress: RawTransactionArgument<string>,
1216
+ collateral: RawTransactionArgument<string>,
1217
+ isLong: RawTransactionArgument<boolean>,
1218
+ isStopOrder: RawTransactionArgument<boolean>,
1219
+ reduceOnly: RawTransactionArgument<boolean>,
1220
+ size: RawTransactionArgument<string>,
1221
+ triggerPrice: RawTransactionArgument<string>,
1222
+ acceptablePrice: RawTransactionArgument<number | bigint>,
1223
+ linkedPositionId: RawTransactionArgument<number | bigint | null>,
1224
+ preOrders: RawTransactionArgument<string[]>
1225
+ ];
1226
+ typeArguments: [
1227
+ string,
1228
+ string
1229
+ ];
1230
+ }
1231
+ export declare function executePlaceOrder(options: ExecutePlaceOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1232
+ export interface ExecuteCancelOrderArguments {
1233
+ globalConfig: RawTransactionArgument<string>;
1234
+ wxaRegistry: RawTransactionArgument<string>;
1235
+ market: RawTransactionArgument<string>;
1236
+ marketId: RawTransactionArgument<string>;
1237
+ accountId: RawTransactionArgument<string>;
1238
+ accountObjId: RawTransactionArgument<string>;
1239
+ orderId: RawTransactionArgument<number | bigint>;
1240
+ triggerPriceKey: RawTransactionArgument<number | bigint>;
1241
+ orderTypeTag: RawTransactionArgument<number>;
1242
+ }
1243
+ export interface ExecuteCancelOrderOptions {
1244
+ package?: string;
1245
+ arguments: ExecuteCancelOrderArguments | [
1246
+ globalConfig: RawTransactionArgument<string>,
1247
+ wxaRegistry: RawTransactionArgument<string>,
1248
+ market: RawTransactionArgument<string>,
1249
+ marketId: RawTransactionArgument<string>,
1250
+ accountId: RawTransactionArgument<string>,
1251
+ accountObjId: RawTransactionArgument<string>,
1252
+ orderId: RawTransactionArgument<number | bigint>,
1253
+ triggerPriceKey: RawTransactionArgument<number | bigint>,
1254
+ orderTypeTag: RawTransactionArgument<number>
1255
+ ];
1256
+ typeArguments: [
1257
+ string,
1258
+ string
1259
+ ];
1260
+ }
1261
+ export declare function executeCancelOrder(options: ExecuteCancelOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1262
+ export interface ExecuteUpdateOrderArguments {
1263
+ globalConfig: RawTransactionArgument<string>;
1264
+ market: RawTransactionArgument<string>;
1265
+ pool: RawTransactionArgument<string>;
1266
+ oracle: RawTransactionArgument<string>;
1267
+ marketId: RawTransactionArgument<string>;
1268
+ accountObjectAddress: RawTransactionArgument<string>;
1269
+ orderId: RawTransactionArgument<number | bigint>;
1270
+ triggerPriceKey: RawTransactionArgument<number | bigint>;
1271
+ orderTypeTag: RawTransactionArgument<number>;
1272
+ newSize: RawTransactionArgument<string>;
1273
+ newTriggerPrice: RawTransactionArgument<string>;
1274
+ }
1275
+ export interface ExecuteUpdateOrderOptions {
1276
+ package?: string;
1277
+ arguments: ExecuteUpdateOrderArguments | [
1278
+ globalConfig: RawTransactionArgument<string>,
1279
+ market: RawTransactionArgument<string>,
1280
+ pool: RawTransactionArgument<string>,
1281
+ oracle: RawTransactionArgument<string>,
1282
+ marketId: RawTransactionArgument<string>,
1283
+ accountObjectAddress: RawTransactionArgument<string>,
1284
+ orderId: RawTransactionArgument<number | bigint>,
1285
+ triggerPriceKey: RawTransactionArgument<number | bigint>,
1286
+ orderTypeTag: RawTransactionArgument<number>,
1287
+ newSize: RawTransactionArgument<string>,
1288
+ newTriggerPrice: RawTransactionArgument<string>
1289
+ ];
1290
+ typeArguments: [
1291
+ string,
1292
+ string
1293
+ ];
1294
+ }
1295
+ export declare function executeUpdateOrder(options: ExecuteUpdateOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1296
+ export interface ExecuteCancelPreOrderArguments {
1297
+ globalConfig: RawTransactionArgument<string>;
1298
+ market: RawTransactionArgument<string>;
1299
+ marketId: RawTransactionArgument<string>;
1300
+ accountObjectAddress: RawTransactionArgument<string>;
1301
+ mainOrderId: RawTransactionArgument<number | bigint>;
1302
+ preOrderId: RawTransactionArgument<number | bigint>;
1303
+ }
1304
+ export interface ExecuteCancelPreOrderOptions {
1305
+ package?: string;
1306
+ arguments: ExecuteCancelPreOrderArguments | [
1307
+ globalConfig: RawTransactionArgument<string>,
1308
+ market: RawTransactionArgument<string>,
1309
+ marketId: RawTransactionArgument<string>,
1310
+ accountObjectAddress: RawTransactionArgument<string>,
1311
+ mainOrderId: RawTransactionArgument<number | bigint>,
1312
+ preOrderId: RawTransactionArgument<number | bigint>
1313
+ ];
1314
+ typeArguments: [
1315
+ string,
1316
+ string
1317
+ ];
1318
+ }
1319
+ /**
1320
+ * Cancels a single pre-order by id. Validates ownership / collateral type on the
1321
+ * reserved `Order`, then verifies `pre_order_id` actually belongs to
1322
+ * `main_order_id` via the index. Destroys the `Order` through
1323
+ * `position::remove_order<C_TOKEN>` and emits
1324
+ * `PreOrderCancelled { main_order_id, pre_order_count: 1 }`.
1325
+ */
1326
+ export declare function executeCancelPreOrder(options: ExecuteCancelPreOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1327
+ export interface ExecuteAddPreOrderArguments {
1328
+ globalConfig: RawTransactionArgument<string>;
1329
+ market: RawTransactionArgument<string>;
1330
+ marketId: RawTransactionArgument<string>;
1331
+ accountObjectAddress: RawTransactionArgument<string>;
1332
+ mainOrderId: RawTransactionArgument<number | bigint>;
1333
+ newPreOrder: RawTransactionArgument<string[]>;
1334
+ }
1335
+ export interface ExecuteAddPreOrderOptions {
1336
+ package?: string;
1337
+ arguments: ExecuteAddPreOrderArguments | [
1338
+ globalConfig: RawTransactionArgument<string>,
1339
+ market: RawTransactionArgument<string>,
1340
+ marketId: RawTransactionArgument<string>,
1341
+ accountObjectAddress: RawTransactionArgument<string>,
1342
+ mainOrderId: RawTransactionArgument<number | bigint>,
1343
+ newPreOrder: RawTransactionArgument<string[]>
1344
+ ];
1345
+ typeArguments: [
1346
+ string,
1347
+ string
1348
+ ];
1349
+ }
1350
+ /**
1351
+ * Appends a single pre-order to an existing or empty reservation for
1352
+ * `main_order_id`. Locates the main on a book, verifies eligibility, then
1353
+ * `assert_pre_order_count(existing + 1, cap)` and per-entry validation before
1354
+ * delegating to `reserve_pre_orders`.
1355
+ */
1356
+ export declare function executeAddPreOrder(options: ExecuteAddPreOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1357
+ export interface ExecuteDepositCollateralArguments {
1358
+ globalConfig: RawTransactionArgument<string>;
1359
+ market: RawTransactionArgument<string>;
1360
+ pool: RawTransactionArgument<string>;
1361
+ oracle: RawTransactionArgument<string>;
1362
+ marketId: RawTransactionArgument<string>;
1363
+ accountObjectAddress: RawTransactionArgument<string>;
1364
+ positionId: RawTransactionArgument<number | bigint>;
1365
+ collateral: RawTransactionArgument<string>;
1366
+ }
1367
+ export interface ExecuteDepositCollateralOptions {
1368
+ package?: string;
1369
+ arguments: ExecuteDepositCollateralArguments | [
1370
+ globalConfig: RawTransactionArgument<string>,
1371
+ market: RawTransactionArgument<string>,
1372
+ pool: RawTransactionArgument<string>,
1373
+ oracle: RawTransactionArgument<string>,
1374
+ marketId: RawTransactionArgument<string>,
1375
+ accountObjectAddress: RawTransactionArgument<string>,
1376
+ positionId: RawTransactionArgument<number | bigint>,
1377
+ collateral: RawTransactionArgument<string>
1378
+ ];
1379
+ typeArguments: [
1380
+ string,
1381
+ string
1382
+ ];
1383
+ }
1384
+ export declare function executeDepositCollateral(options: ExecuteDepositCollateralOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1385
+ export interface ExecuteWithdrawCollateralArguments {
1386
+ globalConfig: RawTransactionArgument<string>;
1387
+ wxaRegistry: RawTransactionArgument<string>;
1388
+ market: RawTransactionArgument<string>;
1389
+ pool: RawTransactionArgument<string>;
1390
+ oracle: RawTransactionArgument<string>;
1391
+ marketId: RawTransactionArgument<string>;
1392
+ accountObjId: RawTransactionArgument<string>;
1393
+ positionId: RawTransactionArgument<number | bigint>;
1394
+ amount: RawTransactionArgument<number | bigint>;
1395
+ }
1396
+ export interface ExecuteWithdrawCollateralOptions {
1397
+ package?: string;
1398
+ arguments: ExecuteWithdrawCollateralArguments | [
1399
+ globalConfig: RawTransactionArgument<string>,
1400
+ wxaRegistry: RawTransactionArgument<string>,
1401
+ market: RawTransactionArgument<string>,
1402
+ pool: RawTransactionArgument<string>,
1403
+ oracle: RawTransactionArgument<string>,
1404
+ marketId: RawTransactionArgument<string>,
1405
+ accountObjId: RawTransactionArgument<string>,
1406
+ positionId: RawTransactionArgument<number | bigint>,
1407
+ amount: RawTransactionArgument<number | bigint>
1408
+ ];
1409
+ typeArguments: [
1410
+ string,
1411
+ string
1412
+ ];
1413
+ }
1414
+ /**
1415
+ * Returns `(returned_collateral_amount, position_collateral_amount)`: the first is
1416
+ * the amount actually credited back to the wxa account (read off the `Balance`
1417
+ * rather than echoing the requested `amount`, so the response field can't drift if
1418
+ * `pos.withdraw_collateral` ever gains clamping semantics); the second is the
1419
+ * post-action position collateral.
1420
+ */
1421
+ export declare function executeWithdrawCollateral(options: ExecuteWithdrawCollateralOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1422
+ export interface ExecuteLiquidateArguments {
1423
+ globalConfig: RawTransactionArgument<string>;
1424
+ wxaRegistry: RawTransactionArgument<string>;
1425
+ market: RawTransactionArgument<string>;
1426
+ pool: RawTransactionArgument<string>;
1427
+ oracle: RawTransactionArgument<string>;
1428
+ marketId: RawTransactionArgument<string>;
1429
+ accountId: RawTransactionArgument<string>;
1430
+ accountObjectAddress: RawTransactionArgument<string>;
1431
+ sender: RawTransactionArgument<string>;
1432
+ positionId: RawTransactionArgument<number | bigint>;
1433
+ }
1434
+ export interface ExecuteLiquidateOptions {
1435
+ package?: string;
1436
+ arguments: ExecuteLiquidateArguments | [
1437
+ globalConfig: RawTransactionArgument<string>,
1438
+ wxaRegistry: RawTransactionArgument<string>,
1439
+ market: RawTransactionArgument<string>,
1440
+ pool: RawTransactionArgument<string>,
1441
+ oracle: RawTransactionArgument<string>,
1442
+ marketId: RawTransactionArgument<string>,
1443
+ accountId: RawTransactionArgument<string>,
1444
+ accountObjectAddress: RawTransactionArgument<string>,
1445
+ sender: RawTransactionArgument<string>,
1446
+ positionId: RawTransactionArgument<number | bigint>
1447
+ ];
1448
+ typeArguments: [
1449
+ string,
1450
+ string
1451
+ ];
1452
+ }
1453
+ export declare function executeLiquidate(options: ExecuteLiquidateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1454
+ export interface MatchOrdersArguments {
1455
+ globalConfig: RawTransactionArgument<string>;
1456
+ wxaRegistry: RawTransactionArgument<string>;
1457
+ marketRegistry: RawTransactionArgument<string>;
1458
+ ticker: RawTransactionArgument<string>;
1459
+ pool: RawTransactionArgument<string>;
1460
+ senderRequest: RawTransactionArgument<string>;
1461
+ oracle: RawTransactionArgument<string>;
1462
+ orderTypeTag: RawTransactionArgument<number>;
1463
+ triggerPrice: RawTransactionArgument<number | bigint>;
1464
+ maxFills: RawTransactionArgument<number | bigint>;
1465
+ }
1466
+ export interface MatchOrdersOptions {
1467
+ package?: string;
1468
+ arguments: MatchOrdersArguments | [
1469
+ globalConfig: RawTransactionArgument<string>,
1470
+ wxaRegistry: RawTransactionArgument<string>,
1471
+ marketRegistry: RawTransactionArgument<string>,
1472
+ ticker: RawTransactionArgument<string>,
1473
+ pool: RawTransactionArgument<string>,
1474
+ senderRequest: RawTransactionArgument<string>,
1475
+ oracle: RawTransactionArgument<string>,
1476
+ orderTypeTag: RawTransactionArgument<number>,
1477
+ triggerPrice: RawTransactionArgument<number | bigint>,
1478
+ maxFills: RawTransactionArgument<number | bigint>
1479
+ ];
1480
+ typeArguments: [
1481
+ string,
1482
+ string
1483
+ ];
1484
+ }
1485
+ export declare function matchOrders(options: MatchOrdersOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1486
+ export interface UpdateFundingRateArguments {
1487
+ globalConfig: RawTransactionArgument<string>;
1488
+ marketRegistry: RawTransactionArgument<string>;
1489
+ ticker: RawTransactionArgument<string>;
1490
+ pool: RawTransactionArgument<string>;
1491
+ oracle: RawTransactionArgument<string>;
1492
+ senderRequest: RawTransactionArgument<string>;
1493
+ }
1494
+ export interface UpdateFundingRateOptions {
1495
+ package?: string;
1496
+ arguments: UpdateFundingRateArguments | [
1497
+ globalConfig: RawTransactionArgument<string>,
1498
+ marketRegistry: RawTransactionArgument<string>,
1499
+ ticker: RawTransactionArgument<string>,
1500
+ pool: RawTransactionArgument<string>,
1501
+ oracle: RawTransactionArgument<string>,
1502
+ senderRequest: RawTransactionArgument<string>
1503
+ ];
1504
+ typeArguments: [
1505
+ string
1506
+ ];
1507
+ }
1508
+ /** Keeper: updates funding rate for a market. */
1509
+ export declare function updateFundingRate(options: UpdateFundingRateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1510
+ export interface SettleFundingRateArguments {
1511
+ globalConfig: RawTransactionArgument<string>;
1512
+ market: RawTransactionArgument<string>;
1513
+ pool: RawTransactionArgument<string>;
1514
+ oracle: RawTransactionArgument<string>;
1515
+ }
1516
+ export interface SettleFundingRateOptions {
1517
+ package?: string;
1518
+ arguments: SettleFundingRateArguments | [
1519
+ globalConfig: RawTransactionArgument<string>,
1520
+ market: RawTransactionArgument<string>,
1521
+ pool: RawTransactionArgument<string>,
1522
+ oracle: RawTransactionArgument<string>
1523
+ ];
1524
+ typeArguments: [
1525
+ string
1526
+ ];
1527
+ }
1528
+ export declare function settleFundingRate(options: SettleFundingRateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1529
+ export interface OpenPositionByKeeperArguments {
1530
+ globalConfig: RawTransactionArgument<string>;
1531
+ wxaRegistry: RawTransactionArgument<string>;
1532
+ marketRegistry: RawTransactionArgument<string>;
1533
+ ticker: RawTransactionArgument<string>;
1534
+ pool: RawTransactionArgument<string>;
1535
+ keeperRequest: RawTransactionArgument<string>;
1536
+ accountObjectAddress: RawTransactionArgument<string>;
1537
+ collateralCoin: RawTransactionArgument<string>;
1538
+ isLong: RawTransactionArgument<boolean>;
1539
+ size: RawTransactionArgument<number | bigint>;
1540
+ acceptablePrice: RawTransactionArgument<number | bigint>;
1541
+ oracle: RawTransactionArgument<string>;
1542
+ }
1543
+ export interface OpenPositionByKeeperOptions {
1544
+ package?: string;
1545
+ arguments: OpenPositionByKeeperArguments | [
1546
+ globalConfig: RawTransactionArgument<string>,
1547
+ wxaRegistry: RawTransactionArgument<string>,
1548
+ marketRegistry: RawTransactionArgument<string>,
1549
+ ticker: RawTransactionArgument<string>,
1550
+ pool: RawTransactionArgument<string>,
1551
+ keeperRequest: RawTransactionArgument<string>,
1552
+ accountObjectAddress: RawTransactionArgument<string>,
1553
+ collateralCoin: RawTransactionArgument<string>,
1554
+ isLong: RawTransactionArgument<boolean>,
1555
+ size: RawTransactionArgument<number | bigint>,
1556
+ acceptablePrice: RawTransactionArgument<number | bigint>,
1557
+ oracle: RawTransactionArgument<string>
1558
+ ];
1559
+ typeArguments: [
1560
+ string,
1561
+ string
1562
+ ];
1563
+ }
1564
+ /**
1565
+ * Keeper-only: open a new position for an account, funded by the keeper's own
1566
+ * `Coin<C_TOKEN>` (campaign / airdrop use case). The keeper bypasses
1567
+ * `min_coll_value` on this path — `increase_position` and `place_order` still
1568
+ * enforce it for all callers including keepers. Returns a droppable receipt vector
1569
+ * so the keeper or a composing protocol can reference the position in the same
1570
+ * PTB.
1571
+ */
1572
+ export declare function openPositionByKeeper(options: OpenPositionByKeeperOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1573
+ export interface ClosePositionByKeeperArguments {
1574
+ globalConfig: RawTransactionArgument<string>;
1575
+ wxaRegistry: RawTransactionArgument<string>;
1576
+ marketRegistry: RawTransactionArgument<string>;
1577
+ ticker: RawTransactionArgument<string>;
1578
+ pool: RawTransactionArgument<string>;
1579
+ keeperRequest: RawTransactionArgument<string>;
1580
+ positionId: RawTransactionArgument<number | bigint>;
1581
+ acceptablePrice: RawTransactionArgument<number | bigint>;
1582
+ oracle: RawTransactionArgument<string>;
1583
+ }
1584
+ export interface ClosePositionByKeeperOptions {
1585
+ package?: string;
1586
+ arguments: ClosePositionByKeeperArguments | [
1587
+ globalConfig: RawTransactionArgument<string>,
1588
+ wxaRegistry: RawTransactionArgument<string>,
1589
+ marketRegistry: RawTransactionArgument<string>,
1590
+ ticker: RawTransactionArgument<string>,
1591
+ pool: RawTransactionArgument<string>,
1592
+ keeperRequest: RawTransactionArgument<string>,
1593
+ positionId: RawTransactionArgument<number | bigint>,
1594
+ acceptablePrice: RawTransactionArgument<number | bigint>,
1595
+ oracle: RawTransactionArgument<string>
1596
+ ];
1597
+ typeArguments: [
1598
+ string,
1599
+ string
1600
+ ];
1601
+ }
1602
+ /**
1603
+ * Risk-manager-only: force-close a position (emergency use). Reads
1604
+ * `account_object_address` from the position directly, like `liquidate`. Returns a
1605
+ * droppable receipt vector for PTB composition.
1606
+ */
1607
+ export declare function closePositionByKeeper(options: ClosePositionByKeeperOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1608
+ export interface ResolveSizeArguments {
1609
+ market: RawTransactionArgument<string>;
1610
+ pool: RawTransactionArgument<string>;
1611
+ oracle: RawTransactionArgument<string>;
1612
+ collateralAmount: RawTransactionArgument<number | bigint>;
1613
+ leverageBps: RawTransactionArgument<number | bigint>;
1614
+ }
1615
+ export interface ResolveSizeOptions {
1616
+ package?: string;
1617
+ arguments: ResolveSizeArguments | [
1618
+ market: RawTransactionArgument<string>,
1619
+ pool: RawTransactionArgument<string>,
1620
+ oracle: RawTransactionArgument<string>,
1621
+ collateralAmount: RawTransactionArgument<number | bigint>,
1622
+ leverageBps: RawTransactionArgument<number | bigint>
1623
+ ];
1624
+ typeArguments: [
1625
+ string,
1626
+ string
1627
+ ];
1628
+ }
1629
+ /**
1630
+ * Computes the scaled size (u128, 9 decimals) for a given collateral amount,
1631
+ * leverage, and actual collateral price. Compatible with non-dollar-pegged
1632
+ * collateral. Base ticker comes from `market.symbol()`, collateral ticker from
1633
+ * `pool.token_ticker<LP, C>()` — callers cannot mis-price by lying about either.
1634
+ */
1635
+ export declare function resolveSize(options: ResolveSizeOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1636
+ export interface ResolveOrderSizeArguments {
1637
+ pool: RawTransactionArgument<string>;
1638
+ oracle: RawTransactionArgument<string>;
1639
+ triggerPrice: RawTransactionArgument<number | bigint>;
1640
+ collateralAmount: RawTransactionArgument<number | bigint>;
1641
+ leverageBps: RawTransactionArgument<number | bigint>;
1642
+ }
1643
+ export interface ResolveOrderSizeOptions {
1644
+ package?: string;
1645
+ arguments: ResolveOrderSizeArguments | [
1646
+ pool: RawTransactionArgument<string>,
1647
+ oracle: RawTransactionArgument<string>,
1648
+ triggerPrice: RawTransactionArgument<number | bigint>,
1649
+ collateralAmount: RawTransactionArgument<number | bigint>,
1650
+ leverageBps: RawTransactionArgument<number | bigint>
1651
+ ];
1652
+ typeArguments: [
1653
+ string,
1654
+ string
1655
+ ];
1656
+ }
1657
+ /**
1658
+ * Like `resolve_size` but uses a trigger price instead of the base oracle price.
1659
+ * Use this to compute the `size` parameter for `place_order_request`.
1660
+ * `trigger_price` is a scaled Float value (the same u128 you pass to
1661
+ * `place_order_request`).
1662
+ */
1663
+ export declare function resolveOrderSize(options: ResolveOrderSizeOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1664
+ export interface CheckOpenSlippageArguments {
1665
+ isLong: RawTransactionArgument<boolean>;
1666
+ price: RawTransactionArgument<string>;
1667
+ acceptablePrice: RawTransactionArgument<number | bigint>;
1668
+ }
1669
+ export interface CheckOpenSlippageOptions {
1670
+ package?: string;
1671
+ arguments: CheckOpenSlippageArguments | [
1672
+ isLong: RawTransactionArgument<boolean>,
1673
+ price: RawTransactionArgument<string>,
1674
+ acceptablePrice: RawTransactionArgument<number | bigint>
1675
+ ];
1676
+ }
1677
+ export declare function checkOpenSlippage(options: CheckOpenSlippageOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1678
+ export interface AssertOpenSlippageArguments {
1679
+ isLong: RawTransactionArgument<boolean>;
1680
+ price: RawTransactionArgument<string>;
1681
+ acceptablePrice: RawTransactionArgument<number | bigint>;
1682
+ }
1683
+ export interface AssertOpenSlippageOptions {
1684
+ package?: string;
1685
+ arguments: AssertOpenSlippageArguments | [
1686
+ isLong: RawTransactionArgument<boolean>,
1687
+ price: RawTransactionArgument<string>,
1688
+ acceptablePrice: RawTransactionArgument<number | bigint>
1689
+ ];
1690
+ }
1691
+ export declare function assertOpenSlippage(options: AssertOpenSlippageOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1692
+ export interface AssertCloseSlippageArguments {
1693
+ isLong: RawTransactionArgument<boolean>;
1694
+ price: RawTransactionArgument<string>;
1695
+ acceptablePrice: RawTransactionArgument<number | bigint>;
1696
+ }
1697
+ export interface AssertCloseSlippageOptions {
1698
+ package?: string;
1699
+ arguments: AssertCloseSlippageArguments | [
1700
+ isLong: RawTransactionArgument<boolean>,
1701
+ price: RawTransactionArgument<string>,
1702
+ acceptablePrice: RawTransactionArgument<number | bigint>
1703
+ ];
1704
+ }
1705
+ export declare function assertCloseSlippage(options: AssertCloseSlippageOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1706
+ export interface CalculateTotalTradingFeeArguments {
1707
+ marketConfig: RawTransactionArgument<string>;
1708
+ pool: RawTransactionArgument<string>;
1709
+ executionPrice: RawTransactionArgument<string>;
1710
+ orderIsLong: RawTransactionArgument<boolean>;
1711
+ orderSize: RawTransactionArgument<string>;
1712
+ }
1713
+ export interface CalculateTotalTradingFeeOptions {
1714
+ package?: string;
1715
+ arguments: CalculateTotalTradingFeeArguments | [
1716
+ marketConfig: RawTransactionArgument<string>,
1717
+ pool: RawTransactionArgument<string>,
1718
+ executionPrice: RawTransactionArgument<string>,
1719
+ orderIsLong: RawTransactionArgument<boolean>,
1720
+ orderSize: RawTransactionArgument<string>
1721
+ ];
1722
+ typeArguments: [
1723
+ string
1724
+ ];
1725
+ }
1726
+ export declare function calculateTotalTradingFee(options: CalculateTotalTradingFeeOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1727
+ export interface EmitLpEquityArguments {
1728
+ market: RawTransactionArgument<string>;
1729
+ collateralToken: RawTransactionArgument<string>;
1730
+ amount: RawTransactionArgument<number | bigint>;
1731
+ isProfit: RawTransactionArgument<boolean>;
1732
+ memo: RawTransactionArgument<string>;
1733
+ }
1734
+ export interface EmitLpEquityOptions {
1735
+ package?: string;
1736
+ arguments: EmitLpEquityArguments | [
1737
+ market: RawTransactionArgument<string>,
1738
+ collateralToken: RawTransactionArgument<string>,
1739
+ amount: RawTransactionArgument<number | bigint>,
1740
+ isProfit: RawTransactionArgument<boolean>,
1741
+ memo: RawTransactionArgument<string>
1742
+ ];
1743
+ typeArguments: [
1744
+ string
1745
+ ];
1746
+ }
1747
+ /**
1748
+ * Emits a `WlpEquityChanged` event for a settlement that moves `amount` of
1749
+ * `collateral_token` to/from the LP pool. No-op when `amount == 0`. Centralizes
1750
+ * the `market.symbol()` / `with_defining_ids<LP_TOKEN>()` lookups so call sites
1751
+ * stay short.
1752
+ */
1753
+ export declare function emitLpEquity(options: EmitLpEquityOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1754
+ export interface DistributeTradingFeeArguments {
1755
+ globalConfig: RawTransactionArgument<string>;
1756
+ pool: RawTransactionArgument<string>;
1757
+ market: RawTransactionArgument<string>;
1758
+ feeBalance: RawTransactionArgument<string>;
1759
+ protocolShareBps: RawTransactionArgument<number | bigint>;
1760
+ marketId: RawTransactionArgument<string>;
1761
+ collateralToken: RawTransactionArgument<string>;
1762
+ collateralPrice: RawTransactionArgument<string>;
1763
+ }
1764
+ export interface DistributeTradingFeeOptions {
1765
+ package?: string;
1766
+ arguments: DistributeTradingFeeArguments | [
1767
+ globalConfig: RawTransactionArgument<string>,
1768
+ pool: RawTransactionArgument<string>,
1769
+ market: RawTransactionArgument<string>,
1770
+ feeBalance: RawTransactionArgument<string>,
1771
+ protocolShareBps: RawTransactionArgument<number | bigint>,
1772
+ marketId: RawTransactionArgument<string>,
1773
+ collateralToken: RawTransactionArgument<string>,
1774
+ collateralPrice: RawTransactionArgument<string>
1775
+ ];
1776
+ typeArguments: [
1777
+ string,
1778
+ string
1779
+ ];
1780
+ }
1781
+ /**
1782
+ * Splits an already-collected trading-fee balance into the protocol's cut (sent to
1783
+ * `GlobalVault.protocol_fee_balance`) and the LP pool's cut (joined into the pool,
1784
+ * emitted as a `WlpEquityChanged` "fee" event). Used by every closing/liquidation
1785
+ * path that realizes a fee.
1786
+ */
1787
+ export declare function distributeTradingFee(options: DistributeTradingFeeOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1788
+ export interface CalculateEffectiveCollateralAmountArguments {
1789
+ grossCollateralAmount: RawTransactionArgument<number | bigint>;
1790
+ borrowFee: RawTransactionArgument<number | bigint>;
1791
+ fundingSign: RawTransactionArgument<boolean>;
1792
+ fundingFee: RawTransactionArgument<number | bigint>;
1793
+ tradingFee: RawTransactionArgument<number | bigint>;
1794
+ projectedTradingFee: RawTransactionArgument<number | bigint>;
1795
+ }
1796
+ export interface CalculateEffectiveCollateralAmountOptions {
1797
+ package?: string;
1798
+ arguments: CalculateEffectiveCollateralAmountArguments | [
1799
+ grossCollateralAmount: RawTransactionArgument<number | bigint>,
1800
+ borrowFee: RawTransactionArgument<number | bigint>,
1801
+ fundingSign: RawTransactionArgument<boolean>,
1802
+ fundingFee: RawTransactionArgument<number | bigint>,
1803
+ tradingFee: RawTransactionArgument<number | bigint>,
1804
+ projectedTradingFee: RawTransactionArgument<number | bigint>
1805
+ ];
1806
+ }
1807
+ export declare function calculateEffectiveCollateralAmount(options: CalculateEffectiveCollateralAmountOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1808
+ export interface CalculateLossAdjustedEffectiveCollateralAmountArguments {
1809
+ position: RawTransactionArgument<string>;
1810
+ currentPrice: RawTransactionArgument<string>;
1811
+ collateralPrice: RawTransactionArgument<string>;
1812
+ grossCollateralAmount: RawTransactionArgument<number | bigint>;
1813
+ borrowFee: RawTransactionArgument<number | bigint>;
1814
+ fundingSign: RawTransactionArgument<boolean>;
1815
+ fundingFee: RawTransactionArgument<number | bigint>;
1816
+ tradingFee: RawTransactionArgument<number | bigint>;
1817
+ projectedTradingFee: RawTransactionArgument<number | bigint>;
1818
+ }
1819
+ export interface CalculateLossAdjustedEffectiveCollateralAmountOptions {
1820
+ package?: string;
1821
+ arguments: CalculateLossAdjustedEffectiveCollateralAmountArguments | [
1822
+ position: RawTransactionArgument<string>,
1823
+ currentPrice: RawTransactionArgument<string>,
1824
+ collateralPrice: RawTransactionArgument<string>,
1825
+ grossCollateralAmount: RawTransactionArgument<number | bigint>,
1826
+ borrowFee: RawTransactionArgument<number | bigint>,
1827
+ fundingSign: RawTransactionArgument<boolean>,
1828
+ fundingFee: RawTransactionArgument<number | bigint>,
1829
+ tradingFee: RawTransactionArgument<number | bigint>,
1830
+ projectedTradingFee: RawTransactionArgument<number | bigint>
1831
+ ];
1832
+ }
1833
+ export declare function calculateLossAdjustedEffectiveCollateralAmount(options: CalculateLossAdjustedEffectiveCollateralAmountOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1834
+ export interface SettleFundingToBalanceArguments {
1835
+ globalConfig: RawTransactionArgument<string>;
1836
+ pool: RawTransactionArgument<string>;
1837
+ collateral: RawTransactionArgument<string>;
1838
+ fundingSign: RawTransactionArgument<boolean>;
1839
+ fundingFee: RawTransactionArgument<number | bigint>;
1840
+ collateralPrice: RawTransactionArgument<string>;
1841
+ marketTicker: RawTransactionArgument<string>;
1842
+ }
1843
+ export interface SettleFundingToBalanceOptions {
1844
+ package?: string;
1845
+ arguments: SettleFundingToBalanceArguments | [
1846
+ globalConfig: RawTransactionArgument<string>,
1847
+ pool: RawTransactionArgument<string>,
1848
+ collateral: RawTransactionArgument<string>,
1849
+ fundingSign: RawTransactionArgument<boolean>,
1850
+ fundingFee: RawTransactionArgument<number | bigint>,
1851
+ collateralPrice: RawTransactionArgument<string>,
1852
+ marketTicker: RawTransactionArgument<string>
1853
+ ];
1854
+ typeArguments: [
1855
+ string,
1856
+ string
1857
+ ];
1858
+ }
1859
+ export declare function settleFundingToBalance(options: SettleFundingToBalanceOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1860
+ export interface SettleFundingToPositionArguments {
1861
+ globalConfig: RawTransactionArgument<string>;
1862
+ pool: RawTransactionArgument<string>;
1863
+ position: RawTransactionArgument<string>;
1864
+ fundingSign: RawTransactionArgument<boolean>;
1865
+ fundingFee: RawTransactionArgument<number | bigint>;
1866
+ collateralPrice: RawTransactionArgument<string>;
1867
+ marketTicker: RawTransactionArgument<string>;
1868
+ }
1869
+ export interface SettleFundingToPositionOptions {
1870
+ package?: string;
1871
+ arguments: SettleFundingToPositionArguments | [
1872
+ globalConfig: RawTransactionArgument<string>,
1873
+ pool: RawTransactionArgument<string>,
1874
+ position: RawTransactionArgument<string>,
1875
+ fundingSign: RawTransactionArgument<boolean>,
1876
+ fundingFee: RawTransactionArgument<number | bigint>,
1877
+ collateralPrice: RawTransactionArgument<string>,
1878
+ marketTicker: RawTransactionArgument<string>
1879
+ ];
1880
+ typeArguments: [
1881
+ string,
1882
+ string
1883
+ ];
1884
+ }
1885
+ export declare function settleFundingToPosition(options: SettleFundingToPositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1886
+ export interface CalculateImpactFeeArguments {
1887
+ marketConfig: RawTransactionArgument<string>;
1888
+ pool: RawTransactionArgument<string>;
1889
+ executionPrice: RawTransactionArgument<string>;
1890
+ orderIsLong: RawTransactionArgument<boolean>;
1891
+ orderSize: RawTransactionArgument<string>;
1892
+ }
1893
+ export interface CalculateImpactFeeOptions {
1894
+ package?: string;
1895
+ arguments: CalculateImpactFeeArguments | [
1896
+ marketConfig: RawTransactionArgument<string>,
1897
+ pool: RawTransactionArgument<string>,
1898
+ executionPrice: RawTransactionArgument<string>,
1899
+ orderIsLong: RawTransactionArgument<boolean>,
1900
+ orderSize: RawTransactionArgument<string>
1901
+ ];
1902
+ typeArguments: [
1903
+ string
1904
+ ];
1905
+ }
1906
+ export declare function calculateImpactFee(options: CalculateImpactFeeOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1907
+ export interface ImpactFeeCostUsdArguments {
1908
+ maxImpactFee: RawTransactionArgument<string>;
1909
+ allocatedExposureUsd: RawTransactionArgument<string>;
1910
+ exposureUsd: RawTransactionArgument<string>;
1911
+ impactFeeCurvature: RawTransactionArgument<number | bigint>;
1912
+ impactFeeScale: RawTransactionArgument<number | bigint>;
1913
+ }
1914
+ export interface ImpactFeeCostUsdOptions {
1915
+ package?: string;
1916
+ arguments: ImpactFeeCostUsdArguments | [
1917
+ maxImpactFee: RawTransactionArgument<string>,
1918
+ allocatedExposureUsd: RawTransactionArgument<string>,
1919
+ exposureUsd: RawTransactionArgument<string>,
1920
+ impactFeeCurvature: RawTransactionArgument<number | bigint>,
1921
+ impactFeeScale: RawTransactionArgument<number | bigint>
1922
+ ];
1923
+ }
1924
+ export declare function impactFeeCostUsd(options: ImpactFeeCostUsdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1925
+ export interface CalculatePositionLeverageBpsArguments {
1926
+ totalSize: RawTransactionArgument<string>;
1927
+ totalCollateralAmount: RawTransactionArgument<number | bigint>;
1928
+ collateralDecimal: RawTransactionArgument<number>;
1929
+ executionPrice: RawTransactionArgument<string>;
1930
+ collateralPrice: RawTransactionArgument<string>;
1931
+ }
1932
+ export interface CalculatePositionLeverageBpsOptions {
1933
+ package?: string;
1934
+ arguments: CalculatePositionLeverageBpsArguments | [
1935
+ totalSize: RawTransactionArgument<string>,
1936
+ totalCollateralAmount: RawTransactionArgument<number | bigint>,
1937
+ collateralDecimal: RawTransactionArgument<number>,
1938
+ executionPrice: RawTransactionArgument<string>,
1939
+ collateralPrice: RawTransactionArgument<string>
1940
+ ];
1941
+ }
1942
+ export declare function calculatePositionLeverageBps(options: CalculatePositionLeverageBpsOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1943
+ export interface HasMinPositionCollateralValueArguments {
1944
+ minCollateralValue: RawTransactionArgument<number | bigint>;
1945
+ collateralAmount: RawTransactionArgument<number | bigint>;
1946
+ collateralDecimal: RawTransactionArgument<number>;
1947
+ collateralPrice: RawTransactionArgument<string>;
1948
+ }
1949
+ export interface HasMinPositionCollateralValueOptions {
1950
+ package?: string;
1951
+ arguments: HasMinPositionCollateralValueArguments | [
1952
+ minCollateralValue: RawTransactionArgument<number | bigint>,
1953
+ collateralAmount: RawTransactionArgument<number | bigint>,
1954
+ collateralDecimal: RawTransactionArgument<number>,
1955
+ collateralPrice: RawTransactionArgument<string>
1956
+ ];
1957
+ }
1958
+ export declare function hasMinPositionCollateralValue(options: HasMinPositionCollateralValueOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1959
+ export interface AssertMinPositionCollateralValueArguments {
1960
+ minCollateralValue: RawTransactionArgument<number | bigint>;
1961
+ collateralAmount: RawTransactionArgument<number | bigint>;
1962
+ collateralDecimal: RawTransactionArgument<number>;
1963
+ collateralPrice: RawTransactionArgument<string>;
1964
+ }
1965
+ export interface AssertMinPositionCollateralValueOptions {
1966
+ package?: string;
1967
+ arguments: AssertMinPositionCollateralValueArguments | [
1968
+ minCollateralValue: RawTransactionArgument<number | bigint>,
1969
+ collateralAmount: RawTransactionArgument<number | bigint>,
1970
+ collateralDecimal: RawTransactionArgument<number>,
1971
+ collateralPrice: RawTransactionArgument<string>
1972
+ ];
1973
+ }
1974
+ export declare function assertMinPositionCollateralValue(options: AssertMinPositionCollateralValueOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1975
+ export interface ProportionalAmountArguments {
1976
+ total: RawTransactionArgument<number | bigint>;
1977
+ partial: RawTransactionArgument<string>;
1978
+ base: RawTransactionArgument<string>;
1979
+ }
1980
+ export interface ProportionalAmountOptions {
1981
+ package?: string;
1982
+ arguments: ProportionalAmountArguments | [
1983
+ total: RawTransactionArgument<number | bigint>,
1984
+ partial: RawTransactionArgument<string>,
1985
+ base: RawTransactionArgument<string>
1986
+ ];
1987
+ }
1988
+ export declare function proportionalAmount(options: ProportionalAmountOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
1989
+ export interface DebitCollateralAmountArguments {
1990
+ remaining: RawTransactionArgument<number | bigint>;
1991
+ deficit: RawTransactionArgument<number | bigint>;
1992
+ amount: RawTransactionArgument<number | bigint>;
1993
+ }
1994
+ export interface DebitCollateralAmountOptions {
1995
+ package?: string;
1996
+ arguments: DebitCollateralAmountArguments | [
1997
+ remaining: RawTransactionArgument<number | bigint>,
1998
+ deficit: RawTransactionArgument<number | bigint>,
1999
+ amount: RawTransactionArgument<number | bigint>
2000
+ ];
2001
+ }
2002
+ export declare function debitCollateralAmount(options: DebitCollateralAmountOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2003
+ export interface CreditCollateralAmountArguments {
2004
+ remaining: RawTransactionArgument<number | bigint>;
2005
+ deficit: RawTransactionArgument<number | bigint>;
2006
+ amount: RawTransactionArgument<number | bigint>;
2007
+ }
2008
+ export interface CreditCollateralAmountOptions {
2009
+ package?: string;
2010
+ arguments: CreditCollateralAmountArguments | [
2011
+ remaining: RawTransactionArgument<number | bigint>,
2012
+ deficit: RawTransactionArgument<number | bigint>,
2013
+ amount: RawTransactionArgument<number | bigint>
2014
+ ];
2015
+ }
2016
+ export declare function creditCollateralAmount(options: CreditCollateralAmountOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2017
+ export interface CalculateRemainingCollateralAfterPartialReduceArguments {
2018
+ position: RawTransactionArgument<string>;
2019
+ reduceSize: RawTransactionArgument<string>;
2020
+ closeFee: RawTransactionArgument<number | bigint>;
2021
+ currentPrice: RawTransactionArgument<string>;
2022
+ collateralPrice: RawTransactionArgument<string>;
2023
+ addedCollateralAmount: RawTransactionArgument<number | bigint>;
2024
+ }
2025
+ export interface CalculateRemainingCollateralAfterPartialReduceOptions {
2026
+ package?: string;
2027
+ arguments: CalculateRemainingCollateralAfterPartialReduceArguments | [
2028
+ position: RawTransactionArgument<string>,
2029
+ reduceSize: RawTransactionArgument<string>,
2030
+ closeFee: RawTransactionArgument<number | bigint>,
2031
+ currentPrice: RawTransactionArgument<string>,
2032
+ collateralPrice: RawTransactionArgument<string>,
2033
+ addedCollateralAmount: RawTransactionArgument<number | bigint>
2034
+ ];
2035
+ }
2036
+ export declare function calculateRemainingCollateralAfterPartialReduce(options: CalculateRemainingCollateralAfterPartialReduceOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2037
+ export interface CanPositionGrowArguments {
2038
+ globalConfig: RawTransactionArgument<string>;
2039
+ marketConfig: RawTransactionArgument<string>;
2040
+ pool: RawTransactionArgument<string>;
2041
+ isLong: RawTransactionArgument<boolean>;
2042
+ currentSize: RawTransactionArgument<string>;
2043
+ addedSize: RawTransactionArgument<string>;
2044
+ effectiveCollateralAmount: RawTransactionArgument<number | bigint>;
2045
+ collateralDecimal: RawTransactionArgument<number>;
2046
+ collateralToken: RawTransactionArgument<string>;
2047
+ executionPrice: RawTransactionArgument<string>;
2048
+ collateralPrice: RawTransactionArgument<string>;
2049
+ }
2050
+ export interface CanPositionGrowOptions {
2051
+ package?: string;
2052
+ arguments: CanPositionGrowArguments | [
2053
+ globalConfig: RawTransactionArgument<string>,
2054
+ marketConfig: RawTransactionArgument<string>,
2055
+ pool: RawTransactionArgument<string>,
2056
+ isLong: RawTransactionArgument<boolean>,
2057
+ currentSize: RawTransactionArgument<string>,
2058
+ addedSize: RawTransactionArgument<string>,
2059
+ effectiveCollateralAmount: RawTransactionArgument<number | bigint>,
2060
+ collateralDecimal: RawTransactionArgument<number>,
2061
+ collateralToken: RawTransactionArgument<string>,
2062
+ executionPrice: RawTransactionArgument<string>,
2063
+ collateralPrice: RawTransactionArgument<string>
2064
+ ];
2065
+ typeArguments: [
2066
+ string
2067
+ ];
2068
+ }
2069
+ /**
2070
+ * Non-aborting growth check used by keeper order matching. Invalid standalone
2071
+ * orders are rotated behind valid orders at the same trigger price.
2072
+ */
2073
+ export declare function canPositionGrow(options: CanPositionGrowOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2074
+ export interface ValidatePositionGrowthArguments {
2075
+ globalConfig: RawTransactionArgument<string>;
2076
+ marketConfig: RawTransactionArgument<string>;
2077
+ pool: RawTransactionArgument<string>;
2078
+ isLong: RawTransactionArgument<boolean>;
2079
+ currentSize: RawTransactionArgument<string>;
2080
+ addedSize: RawTransactionArgument<string>;
2081
+ effectiveCollateralAmount: RawTransactionArgument<number | bigint>;
2082
+ collateralDecimal: RawTransactionArgument<number>;
2083
+ collateralToken: RawTransactionArgument<string>;
2084
+ executionPrice: RawTransactionArgument<string>;
2085
+ collateralPrice: RawTransactionArgument<string>;
2086
+ }
2087
+ export interface ValidatePositionGrowthOptions {
2088
+ package?: string;
2089
+ arguments: ValidatePositionGrowthArguments | [
2090
+ globalConfig: RawTransactionArgument<string>,
2091
+ marketConfig: RawTransactionArgument<string>,
2092
+ pool: RawTransactionArgument<string>,
2093
+ isLong: RawTransactionArgument<boolean>,
2094
+ currentSize: RawTransactionArgument<string>,
2095
+ addedSize: RawTransactionArgument<string>,
2096
+ effectiveCollateralAmount: RawTransactionArgument<number | bigint>,
2097
+ collateralDecimal: RawTransactionArgument<number>,
2098
+ collateralToken: RawTransactionArgument<string>,
2099
+ executionPrice: RawTransactionArgument<string>,
2100
+ collateralPrice: RawTransactionArgument<string>
2101
+ ];
2102
+ typeArguments: [
2103
+ string
2104
+ ];
2105
+ }
2106
+ export declare function validatePositionGrowth(options: ValidatePositionGrowthOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2107
+ export interface WeightedAveragePriceArguments {
2108
+ currentSize: RawTransactionArgument<string>;
2109
+ currentAveragePrice: RawTransactionArgument<string>;
2110
+ addSize: RawTransactionArgument<string>;
2111
+ fillPrice: RawTransactionArgument<string>;
2112
+ }
2113
+ export interface WeightedAveragePriceOptions {
2114
+ package?: string;
2115
+ arguments: WeightedAveragePriceArguments | [
2116
+ currentSize: RawTransactionArgument<string>,
2117
+ currentAveragePrice: RawTransactionArgument<string>,
2118
+ addSize: RawTransactionArgument<string>,
2119
+ fillPrice: RawTransactionArgument<string>
2120
+ ];
2121
+ }
2122
+ export declare function weightedAveragePrice(options: WeightedAveragePriceOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2123
+ export interface NormalizeTriggerPriceArguments {
2124
+ triggerPrice: RawTransactionArgument<string>;
2125
+ orderPriceTick: RawTransactionArgument<string>;
2126
+ }
2127
+ export interface NormalizeTriggerPriceOptions {
2128
+ package?: string;
2129
+ arguments: NormalizeTriggerPriceArguments | [
2130
+ triggerPrice: RawTransactionArgument<string>,
2131
+ orderPriceTick: RawTransactionArgument<string>
2132
+ ];
2133
+ }
2134
+ export declare function normalizeTriggerPrice(options: NormalizeTriggerPriceOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2135
+ export interface HasPendingPreOrdersArguments {
2136
+ market: RawTransactionArgument<string>;
2137
+ mainOrderId: RawTransactionArgument<number | bigint>;
2138
+ }
2139
+ export interface HasPendingPreOrdersOptions {
2140
+ package?: string;
2141
+ arguments: HasPendingPreOrdersArguments | [
2142
+ market: RawTransactionArgument<string>,
2143
+ mainOrderId: RawTransactionArgument<number | bigint>
2144
+ ];
2145
+ typeArguments: [
2146
+ string
2147
+ ];
2148
+ }
2149
+ /** View: whether `main_order_id` has reserved pre-orders pending in `market`. */
2150
+ export declare function hasPendingPreOrders(options: HasPendingPreOrdersOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2151
+ export interface PendingPreOrdersCountArguments {
2152
+ market: RawTransactionArgument<string>;
2153
+ mainOrderId: RawTransactionArgument<number | bigint>;
2154
+ }
2155
+ export interface PendingPreOrdersCountOptions {
2156
+ package?: string;
2157
+ arguments: PendingPreOrdersCountArguments | [
2158
+ market: RawTransactionArgument<string>,
2159
+ mainOrderId: RawTransactionArgument<number | bigint>
2160
+ ];
2161
+ typeArguments: [
2162
+ string
2163
+ ];
2164
+ }
2165
+ /**
2166
+ * View: how many pre-orders are reserved against `main_order_id`. `0` if no entry
2167
+ * exists.
2168
+ */
2169
+ export declare function pendingPreOrdersCount(options: PendingPreOrdersCountOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2170
+ export interface ReservePreOrdersArguments {
2171
+ globalConfig: RawTransactionArgument<string>;
2172
+ market: RawTransactionArgument<string>;
2173
+ mainOrderId: RawTransactionArgument<number | bigint>;
2174
+ accountObjectAddress: RawTransactionArgument<string>;
2175
+ marketId: RawTransactionArgument<string>;
2176
+ collateralDecimal: RawTransactionArgument<number>;
2177
+ preOrders: RawTransactionArgument<string[]>;
2178
+ }
2179
+ export interface ReservePreOrdersOptions {
2180
+ package?: string;
2181
+ arguments: ReservePreOrdersArguments | [
2182
+ globalConfig: RawTransactionArgument<string>,
2183
+ market: RawTransactionArgument<string>,
2184
+ mainOrderId: RawTransactionArgument<number | bigint>,
2185
+ accountObjectAddress: RawTransactionArgument<string>,
2186
+ marketId: RawTransactionArgument<string>,
2187
+ collateralDecimal: RawTransactionArgument<number>,
2188
+ preOrders: RawTransactionArgument<string[]>
2189
+ ];
2190
+ typeArguments: [
2191
+ string,
2192
+ string
2193
+ ];
2194
+ }
2195
+ /**
2196
+ * Mints fresh order ids for every `PlaceOrderArgument` in `pre_orders`, builds a
2197
+ * real `Order` per entry (reduce-only, zero-collateral,
2198
+ * `linked_position_id = None`), stashes each one in `pending_pre_orders` under its
2199
+ * own id, and records the id list in `pending_pre_order_index` under
2200
+ * `main_order_id` — appending to any existing entry so this helper also works for
2201
+ * the per-leg `add_pre_order` path. Emits one `PreOrderCreated` per reserved
2202
+ * pre-order. No-op when `pre_orders` is empty.
2203
+ */
2204
+ export declare function reservePreOrders(options: ReservePreOrdersOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2205
+ export interface DropPendingPreOrdersIfExistsArguments {
2206
+ globalConfig: RawTransactionArgument<string>;
2207
+ market: RawTransactionArgument<string>;
2208
+ marketId: RawTransactionArgument<string>;
2209
+ accountObjectAddress: RawTransactionArgument<string>;
2210
+ mainOrderId: RawTransactionArgument<number | bigint>;
2211
+ }
2212
+ export interface DropPendingPreOrdersIfExistsOptions {
2213
+ package?: string;
2214
+ arguments: DropPendingPreOrdersIfExistsArguments | [
2215
+ globalConfig: RawTransactionArgument<string>,
2216
+ market: RawTransactionArgument<string>,
2217
+ marketId: RawTransactionArgument<string>,
2218
+ accountObjectAddress: RawTransactionArgument<string>,
2219
+ mainOrderId: RawTransactionArgument<number | bigint>
2220
+ ];
2221
+ typeArguments: [
2222
+ string,
2223
+ string
2224
+ ];
2225
+ }
2226
+ /**
2227
+ * Drops every pre-order reserved against `main_order_id` (if any), destroying each
2228
+ * via `position::remove_order` (which splits the zero collateral back into the
2229
+ * vault and deletes the order UID) and emitting one `PreOrderCancelled` per
2230
+ * dropped pre-order.
2231
+ */
2232
+ export declare function dropPendingPreOrdersIfExists(options: DropPendingPreOrdersIfExistsOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2233
+ export interface ActivatePendingPreOrdersArguments {
2234
+ wxaRegistry: RawTransactionArgument<string>;
2235
+ market: RawTransactionArgument<string>;
2236
+ pos: RawTransactionArgument<string>;
2237
+ positionId: RawTransactionArgument<number | bigint>;
2238
+ mainOrderId: RawTransactionArgument<number | bigint>;
2239
+ accountObjectAddress: RawTransactionArgument<string>;
2240
+ marketId: RawTransactionArgument<string>;
2241
+ }
2242
+ export interface ActivatePendingPreOrdersOptions {
2243
+ package?: string;
2244
+ arguments: ActivatePendingPreOrdersArguments | [
2245
+ wxaRegistry: RawTransactionArgument<string>,
2246
+ market: RawTransactionArgument<string>,
2247
+ pos: RawTransactionArgument<string>,
2248
+ positionId: RawTransactionArgument<number | bigint>,
2249
+ mainOrderId: RawTransactionArgument<number | bigint>,
2250
+ accountObjectAddress: RawTransactionArgument<string>,
2251
+ marketId: RawTransactionArgument<string>
2252
+ ];
2253
+ typeArguments: [
2254
+ string,
2255
+ string
2256
+ ];
2257
+ }
2258
+ /**
2259
+ * Promotes reserved pre-orders to real reduce-only linked orders on the freshly
2260
+ * opened position. Called from the standalone-fill branch of `match_orders` right
2261
+ * before the new position is pushed to the market. Each reserved `Order` was
2262
+ * created at place time with `linked_position_id = None`; here we stamp in the new
2263
+ * `position_id` and move the order onto the live book.
2264
+ */
2265
+ export declare function activatePendingPreOrders(options: ActivatePendingPreOrdersOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2266
+ export interface AssertPositionOwnerArguments {
2267
+ position: RawTransactionArgument<string>;
2268
+ accountObjectAddress: RawTransactionArgument<string>;
2269
+ }
2270
+ export interface AssertPositionOwnerOptions {
2271
+ package?: string;
2272
+ arguments: AssertPositionOwnerArguments | [
2273
+ position: RawTransactionArgument<string>,
2274
+ accountObjectAddress: RawTransactionArgument<string>
2275
+ ];
2276
+ }
2277
+ export declare function assertPositionOwner(options: AssertPositionOwnerOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2278
+ export interface AssertPositionCollateralTypeArguments {
2279
+ position: RawTransactionArgument<string>;
2280
+ }
2281
+ export interface AssertPositionCollateralTypeOptions {
2282
+ package?: string;
2283
+ arguments: AssertPositionCollateralTypeArguments | [
2284
+ position: RawTransactionArgument<string>
2285
+ ];
2286
+ typeArguments: [
2287
+ string
2288
+ ];
2289
+ }
2290
+ export declare function assertPositionCollateralType(options: AssertPositionCollateralTypeOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2291
+ export interface BorrowOwnedPositionArguments {
2292
+ market: RawTransactionArgument<string>;
2293
+ positionId: RawTransactionArgument<number | bigint>;
2294
+ accountObjectAddress: RawTransactionArgument<string>;
2295
+ }
2296
+ export interface BorrowOwnedPositionOptions {
2297
+ package?: string;
2298
+ arguments: BorrowOwnedPositionArguments | [
2299
+ market: RawTransactionArgument<string>,
2300
+ positionId: RawTransactionArgument<number | bigint>,
2301
+ accountObjectAddress: RawTransactionArgument<string>
2302
+ ];
2303
+ typeArguments: [
2304
+ string,
2305
+ string
2306
+ ];
2307
+ }
2308
+ export declare function borrowOwnedPosition(options: BorrowOwnedPositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2309
+ export interface BorrowOwnedPositionMutArguments {
2310
+ market: RawTransactionArgument<string>;
2311
+ positionId: RawTransactionArgument<number | bigint>;
2312
+ accountObjectAddress: RawTransactionArgument<string>;
2313
+ }
2314
+ export interface BorrowOwnedPositionMutOptions {
2315
+ package?: string;
2316
+ arguments: BorrowOwnedPositionMutArguments | [
2317
+ market: RawTransactionArgument<string>,
2318
+ positionId: RawTransactionArgument<number | bigint>,
2319
+ accountObjectAddress: RawTransactionArgument<string>
2320
+ ];
2321
+ typeArguments: [
2322
+ string,
2323
+ string
2324
+ ];
2325
+ }
2326
+ export declare function borrowOwnedPositionMut(options: BorrowOwnedPositionMutOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2327
+ export interface TakeOwnedPositionArguments {
2328
+ market: RawTransactionArgument<string>;
2329
+ positionId: RawTransactionArgument<number | bigint>;
2330
+ accountObjectAddress: RawTransactionArgument<string>;
2331
+ now: RawTransactionArgument<number | bigint>;
2332
+ requireCooldown: RawTransactionArgument<boolean>;
2333
+ }
2334
+ export interface TakeOwnedPositionOptions {
2335
+ package?: string;
2336
+ arguments: TakeOwnedPositionArguments | [
2337
+ market: RawTransactionArgument<string>,
2338
+ positionId: RawTransactionArgument<number | bigint>,
2339
+ accountObjectAddress: RawTransactionArgument<string>,
2340
+ now: RawTransactionArgument<number | bigint>,
2341
+ requireCooldown: RawTransactionArgument<boolean>
2342
+ ];
2343
+ typeArguments: [
2344
+ string,
2345
+ string
2346
+ ];
2347
+ }
2348
+ export declare function takeOwnedPosition(options: TakeOwnedPositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2349
+ export interface FindOrderTypeTagArguments {
2350
+ market: RawTransactionArgument<string>;
2351
+ triggerPriceKey: RawTransactionArgument<number | bigint>;
2352
+ orderId: RawTransactionArgument<number | bigint>;
2353
+ }
2354
+ export interface FindOrderTypeTagOptions {
2355
+ package?: string;
2356
+ arguments: FindOrderTypeTagArguments | [
2357
+ market: RawTransactionArgument<string>,
2358
+ triggerPriceKey: RawTransactionArgument<number | bigint>,
2359
+ orderId: RawTransactionArgument<number | bigint>
2360
+ ];
2361
+ typeArguments: [
2362
+ string
2363
+ ];
2364
+ }
2365
+ export declare function findOrderTypeTag(options: FindOrderTypeTagOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2366
+ export interface FindCancelOrderLocationArguments {
2367
+ market: RawTransactionArgument<string>;
2368
+ orderTypeTag: RawTransactionArgument<number>;
2369
+ triggerPrice: RawTransactionArgument<number | bigint>;
2370
+ orderId: RawTransactionArgument<number | bigint>;
2371
+ }
2372
+ export interface FindCancelOrderLocationOptions {
2373
+ package?: string;
2374
+ arguments: FindCancelOrderLocationArguments | [
2375
+ market: RawTransactionArgument<string>,
2376
+ orderTypeTag: RawTransactionArgument<number>,
2377
+ triggerPrice: RawTransactionArgument<number | bigint>,
2378
+ orderId: RawTransactionArgument<number | bigint>
2379
+ ];
2380
+ typeArguments: [
2381
+ string
2382
+ ];
2383
+ }
2384
+ export declare function findCancelOrderLocation(options: FindCancelOrderLocationOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2385
+ export interface FindOrderLocationByIdArguments {
2386
+ market: RawTransactionArgument<string>;
2387
+ orderTypeTag: RawTransactionArgument<number>;
2388
+ orderId: RawTransactionArgument<number | bigint>;
2389
+ }
2390
+ export interface FindOrderLocationByIdOptions {
2391
+ package?: string;
2392
+ arguments: FindOrderLocationByIdArguments | [
2393
+ market: RawTransactionArgument<string>,
2394
+ orderTypeTag: RawTransactionArgument<number>,
2395
+ orderId: RawTransactionArgument<number | bigint>
2396
+ ];
2397
+ typeArguments: [
2398
+ string
2399
+ ];
2400
+ }
2401
+ export declare function findOrderLocationById(options: FindOrderLocationByIdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2402
+ export interface FindOrderPriceKeyInBookArguments {
2403
+ book: RawTransactionArgument<string>;
2404
+ orderId: RawTransactionArgument<number | bigint>;
2405
+ }
2406
+ export interface FindOrderPriceKeyInBookOptions {
2407
+ package?: string;
2408
+ arguments: FindOrderPriceKeyInBookArguments | [
2409
+ book: RawTransactionArgument<string>,
2410
+ orderId: RawTransactionArgument<number | bigint>
2411
+ ];
2412
+ }
2413
+ export declare function findOrderPriceKeyInBook(options: FindOrderPriceKeyInBookOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2414
+ export interface LevelContainsOrderArguments {
2415
+ level: RawTransactionArgument<string>;
2416
+ orderId: RawTransactionArgument<number | bigint>;
2417
+ }
2418
+ export interface LevelContainsOrderOptions {
2419
+ package?: string;
2420
+ arguments: LevelContainsOrderArguments | [
2421
+ level: RawTransactionArgument<string>,
2422
+ orderId: RawTransactionArgument<number | bigint>
2423
+ ];
2424
+ }
2425
+ export declare function levelContainsOrder(options: LevelContainsOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2426
+ export interface HasOrderInBookArguments {
2427
+ book: RawTransactionArgument<string>;
2428
+ priceKey: RawTransactionArgument<number | bigint>;
2429
+ orderId: RawTransactionArgument<number | bigint>;
2430
+ }
2431
+ export interface HasOrderInBookOptions {
2432
+ package?: string;
2433
+ arguments: HasOrderInBookArguments | [
2434
+ book: RawTransactionArgument<string>,
2435
+ priceKey: RawTransactionArgument<number | bigint>,
2436
+ orderId: RawTransactionArgument<number | bigint>
2437
+ ];
2438
+ }
2439
+ export declare function hasOrderInBook(options: HasOrderInBookOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2440
+ export interface TakeLinkedOrderAtKeyArguments {
2441
+ market: RawTransactionArgument<string>;
2442
+ triggerPriceKey: RawTransactionArgument<number | bigint>;
2443
+ orderId: RawTransactionArgument<number | bigint>;
2444
+ }
2445
+ export interface TakeLinkedOrderAtKeyOptions {
2446
+ package?: string;
2447
+ arguments: TakeLinkedOrderAtKeyArguments | [
2448
+ market: RawTransactionArgument<string>,
2449
+ triggerPriceKey: RawTransactionArgument<number | bigint>,
2450
+ orderId: RawTransactionArgument<number | bigint>
2451
+ ];
2452
+ typeArguments: [
2453
+ string
2454
+ ];
2455
+ }
2456
+ export declare function takeLinkedOrderAtKey(options: TakeLinkedOrderAtKeyOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2457
+ export interface CancelLinkedOrdersToBalanceArguments {
2458
+ globalConfig: RawTransactionArgument<string>;
2459
+ wxaRegistry: RawTransactionArgument<string>;
2460
+ market: RawTransactionArgument<string>;
2461
+ accountId: RawTransactionArgument<string>;
2462
+ linkedOrderIds: RawTransactionArgument<number | bigint[]>;
2463
+ linkedOrderPriceKeys: RawTransactionArgument<number | bigint[]>;
2464
+ memoCode: RawTransactionArgument<number>;
2465
+ }
2466
+ export interface CancelLinkedOrdersToBalanceOptions {
2467
+ package?: string;
2468
+ arguments: CancelLinkedOrdersToBalanceArguments | [
2469
+ globalConfig: RawTransactionArgument<string>,
2470
+ wxaRegistry: RawTransactionArgument<string>,
2471
+ market: RawTransactionArgument<string>,
2472
+ accountId: RawTransactionArgument<string>,
2473
+ linkedOrderIds: RawTransactionArgument<number | bigint[]>,
2474
+ linkedOrderPriceKeys: RawTransactionArgument<number | bigint[]>,
2475
+ memoCode: RawTransactionArgument<number>
2476
+ ];
2477
+ typeArguments: [
2478
+ string,
2479
+ string
2480
+ ];
2481
+ }
2482
+ export declare function cancelLinkedOrdersToBalance(options: CancelLinkedOrdersToBalanceOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2483
+ export interface BorrowMutOrderBookArguments {
2484
+ market: RawTransactionArgument<string>;
2485
+ tag: RawTransactionArgument<number>;
2486
+ }
2487
+ export interface BorrowMutOrderBookOptions {
2488
+ package?: string;
2489
+ arguments: BorrowMutOrderBookArguments | [
2490
+ market: RawTransactionArgument<string>,
2491
+ tag: RawTransactionArgument<number>
2492
+ ];
2493
+ typeArguments: [
2494
+ string
2495
+ ];
2496
+ }
2497
+ export declare function borrowMutOrderBook(options: BorrowMutOrderBookOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2498
+ export interface TakeOrderDirectArguments {
2499
+ market: RawTransactionArgument<string>;
2500
+ triggerPriceKey: RawTransactionArgument<number | bigint>;
2501
+ orderId: RawTransactionArgument<number | bigint>;
2502
+ user: RawTransactionArgument<string>;
2503
+ orderTypeTag: RawTransactionArgument<number>;
2504
+ }
2505
+ export interface TakeOrderDirectOptions {
2506
+ package?: string;
2507
+ arguments: TakeOrderDirectArguments | [
2508
+ market: RawTransactionArgument<string>,
2509
+ triggerPriceKey: RawTransactionArgument<number | bigint>,
2510
+ orderId: RawTransactionArgument<number | bigint>,
2511
+ user: RawTransactionArgument<string>,
2512
+ orderTypeTag: RawTransactionArgument<number>
2513
+ ];
2514
+ typeArguments: [
2515
+ string
2516
+ ];
2517
+ }
2518
+ export declare function takeOrderDirect(options: TakeOrderDirectOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2519
+ export interface ReturnToUserArguments {
2520
+ wxaRegistry: RawTransactionArgument<string>;
2521
+ balance: RawTransactionArgument<string>;
2522
+ accountObjAddr: RawTransactionArgument<string>;
2523
+ }
2524
+ export interface ReturnToUserOptions {
2525
+ package?: string;
2526
+ arguments: ReturnToUserArguments | [
2527
+ wxaRegistry: RawTransactionArgument<string>,
2528
+ balance: RawTransactionArgument<string>,
2529
+ accountObjAddr: RawTransactionArgument<string>
2530
+ ];
2531
+ typeArguments: [
2532
+ string
2533
+ ];
2534
+ }
2535
+ /**
2536
+ * Returns `balance` to the user's wxa stored balance under the `WaterXPerp`
2537
+ * witness. `account_obj_addr` is the wxa account's UID address (i.e.
2538
+ * `account_id.to_address()`), so `.to_id()` recovers the account_id. Zero balances
2539
+ * are silently destroyed (no event).
2540
+ */
2541
+ export declare function returnToUser(options: ReturnToUserOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2542
+ export interface MarketIdArguments {
2543
+ market: RawTransactionArgument<string>;
2544
+ }
2545
+ export interface MarketIdOptions {
2546
+ package?: string;
2547
+ arguments: MarketIdArguments | [
2548
+ market: RawTransactionArgument<string>
2549
+ ];
2550
+ typeArguments: [
2551
+ string
2552
+ ];
2553
+ }
2554
+ /** Returns the object ID of this Market (trading vault). */
2555
+ export declare function marketId(options: MarketIdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2556
+ export interface BorrowPositionArguments {
2557
+ market: RawTransactionArgument<string>;
2558
+ positionId: RawTransactionArgument<number | bigint>;
2559
+ }
2560
+ export interface BorrowPositionOptions {
2561
+ package?: string;
2562
+ arguments: BorrowPositionArguments | [
2563
+ market: RawTransactionArgument<string>,
2564
+ positionId: RawTransactionArgument<number | bigint>
2565
+ ];
2566
+ typeArguments: [
2567
+ string
2568
+ ];
2569
+ }
2570
+ /** Borrows a position by ID. */
2571
+ export declare function borrowPosition(options: BorrowPositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2572
+ export interface HasPositionArguments {
2573
+ market: RawTransactionArgument<string>;
2574
+ positionId: RawTransactionArgument<number | bigint>;
2575
+ }
2576
+ export interface HasPositionOptions {
2577
+ package?: string;
2578
+ arguments: HasPositionArguments | [
2579
+ market: RawTransactionArgument<string>,
2580
+ positionId: RawTransactionArgument<number | bigint>
2581
+ ];
2582
+ typeArguments: [
2583
+ string
2584
+ ];
2585
+ }
2586
+ /** Checks if a position exists. */
2587
+ export declare function hasPosition(options: HasPositionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2588
+ export interface BorrowOrderArguments {
2589
+ market: RawTransactionArgument<string>;
2590
+ orderTypeTag: RawTransactionArgument<number>;
2591
+ triggerPriceKey: RawTransactionArgument<number | bigint>;
2592
+ orderId: RawTransactionArgument<number | bigint>;
2593
+ }
2594
+ export interface BorrowOrderOptions {
2595
+ package?: string;
2596
+ arguments: BorrowOrderArguments | [
2597
+ market: RawTransactionArgument<string>,
2598
+ orderTypeTag: RawTransactionArgument<number>,
2599
+ triggerPriceKey: RawTransactionArgument<number | bigint>,
2600
+ orderId: RawTransactionArgument<number | bigint>
2601
+ ];
2602
+ typeArguments: [
2603
+ string
2604
+ ];
2605
+ }
2606
+ /** Borrows a single order by type, price key, and order id. */
2607
+ export declare function borrowOrder(options: BorrowOrderOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2608
+ export interface BorrowPositionsArguments {
2609
+ market: RawTransactionArgument<string>;
2610
+ }
2611
+ export interface BorrowPositionsOptions {
2612
+ package?: string;
2613
+ arguments: BorrowPositionsArguments | [
2614
+ market: RawTransactionArgument<string>
2615
+ ];
2616
+ typeArguments: [
2617
+ string
2618
+ ];
2619
+ }
2620
+ /** Borrows the positions KeyedBigVector (for paginated iteration). */
2621
+ export declare function borrowPositions(options: BorrowPositionsOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2622
+ export interface BorrowOrderBookArguments {
2623
+ market: RawTransactionArgument<string>;
2624
+ orderTypeTag: RawTransactionArgument<number>;
2625
+ }
2626
+ export interface BorrowOrderBookOptions {
2627
+ package?: string;
2628
+ arguments: BorrowOrderBookArguments | [
2629
+ market: RawTransactionArgument<string>,
2630
+ orderTypeTag: RawTransactionArgument<number>
2631
+ ];
2632
+ typeArguments: [
2633
+ string
2634
+ ];
2635
+ }
2636
+ /** Borrows an order book by type tag (0-3), read-only. */
2637
+ export declare function borrowOrderBook(options: BorrowOrderBookOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2638
+ export interface BorrowConfigArguments {
2639
+ market: RawTransactionArgument<string>;
2640
+ }
2641
+ export interface BorrowConfigOptions {
2642
+ package?: string;
2643
+ arguments: BorrowConfigArguments | [
2644
+ market: RawTransactionArgument<string>
2645
+ ];
2646
+ typeArguments: [
2647
+ string
2648
+ ];
2649
+ }
2650
+ /** Borrows the market config (for view.move). */
2651
+ export declare function borrowConfig(options: BorrowConfigOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2652
+ export interface MarketSymbolArguments {
2653
+ market: RawTransactionArgument<string>;
2654
+ }
2655
+ export interface MarketSymbolOptions {
2656
+ package?: string;
2657
+ arguments: MarketSymbolArguments | [
2658
+ market: RawTransactionArgument<string>
2659
+ ];
2660
+ typeArguments: [
2661
+ string
2662
+ ];
2663
+ }
2664
+ export declare function marketSymbol(options: MarketSymbolOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2665
+ export interface CreateMarketRegistryArguments {
2666
+ Cap: RawTransactionArgument<string>;
2667
+ }
2668
+ export interface CreateMarketRegistryOptions {
2669
+ package?: string;
2670
+ arguments: CreateMarketRegistryArguments | [
2671
+ Cap: RawTransactionArgument<string>
2672
+ ];
2673
+ typeArguments: [
2674
+ string
2675
+ ];
2676
+ }
2677
+ /** Creates and shares a new `MarketRegistry`. Admin-gated. */
2678
+ export declare function createMarketRegistry(options: CreateMarketRegistryOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2679
+ export interface RegistryAssertVersionArguments {
2680
+ registry: RawTransactionArgument<string>;
2681
+ }
2682
+ export interface RegistryAssertVersionOptions {
2683
+ package?: string;
2684
+ arguments: RegistryAssertVersionArguments | [
2685
+ registry: RawTransactionArgument<string>
2686
+ ];
2687
+ typeArguments: [
2688
+ string
2689
+ ];
2690
+ }
2691
+ export declare function registryAssertVersion(options: RegistryAssertVersionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2692
+ export interface RegistryAllowVersionArguments {
2693
+ registry: RawTransactionArgument<string>;
2694
+ _: RawTransactionArgument<string>;
2695
+ v: RawTransactionArgument<number>;
2696
+ }
2697
+ export interface RegistryAllowVersionOptions {
2698
+ package?: string;
2699
+ arguments: RegistryAllowVersionArguments | [
2700
+ registry: RawTransactionArgument<string>,
2701
+ _: RawTransactionArgument<string>,
2702
+ v: RawTransactionArgument<number>
2703
+ ];
2704
+ typeArguments: [
2705
+ string
2706
+ ];
2707
+ }
2708
+ export declare function registryAllowVersion(options: RegistryAllowVersionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2709
+ export interface RegistryDisallowVersionArguments {
2710
+ registry: RawTransactionArgument<string>;
2711
+ _: RawTransactionArgument<string>;
2712
+ v: RawTransactionArgument<number>;
2713
+ }
2714
+ export interface RegistryDisallowVersionOptions {
2715
+ package?: string;
2716
+ arguments: RegistryDisallowVersionArguments | [
2717
+ registry: RawTransactionArgument<string>,
2718
+ _: RawTransactionArgument<string>,
2719
+ v: RawTransactionArgument<number>
2720
+ ];
2721
+ typeArguments: [
2722
+ string
2723
+ ];
2724
+ }
2725
+ export declare function registryDisallowVersion(options: RegistryDisallowVersionOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2726
+ export interface AddMarketArguments {
2727
+ registry: RawTransactionArgument<string>;
2728
+ Cap: RawTransactionArgument<string>;
2729
+ ticker: RawTransactionArgument<string>;
2730
+ market: RawTransactionArgument<string>;
2731
+ }
2732
+ export interface AddMarketOptions {
2733
+ package?: string;
2734
+ arguments: AddMarketArguments | [
2735
+ registry: RawTransactionArgument<string>,
2736
+ Cap: RawTransactionArgument<string>,
2737
+ ticker: RawTransactionArgument<string>,
2738
+ market: RawTransactionArgument<string>
2739
+ ];
2740
+ typeArguments: [
2741
+ string
2742
+ ];
2743
+ }
2744
+ /** Stores `market` in the registry under `ticker`. Aborts if already taken. */
2745
+ export declare function addMarket(options: AddMarketOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2746
+ export interface RemoveMarketArguments {
2747
+ registry: RawTransactionArgument<string>;
2748
+ Cap: RawTransactionArgument<string>;
2749
+ ticker: RawTransactionArgument<string>;
2750
+ }
2751
+ export interface RemoveMarketOptions {
2752
+ package?: string;
2753
+ arguments: RemoveMarketArguments | [
2754
+ registry: RawTransactionArgument<string>,
2755
+ Cap: RawTransactionArgument<string>,
2756
+ ticker: RawTransactionArgument<string>
2757
+ ];
2758
+ typeArguments: [
2759
+ string
2760
+ ];
2761
+ }
2762
+ /** Removes a market from the registry and returns it. */
2763
+ export declare function removeMarket(options: RemoveMarketOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2764
+ export interface HasMarketArguments {
2765
+ registry: RawTransactionArgument<string>;
2766
+ ticker: RawTransactionArgument<string>;
2767
+ }
2768
+ export interface HasMarketOptions {
2769
+ package?: string;
2770
+ arguments: HasMarketArguments | [
2771
+ registry: RawTransactionArgument<string>,
2772
+ ticker: RawTransactionArgument<string>
2773
+ ];
2774
+ typeArguments: [
2775
+ string
2776
+ ];
2777
+ }
2778
+ export declare function hasMarket(options: HasMarketOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2779
+ export interface ListedTickersArguments {
2780
+ registry: RawTransactionArgument<string>;
2781
+ }
2782
+ export interface ListedTickersOptions {
2783
+ package?: string;
2784
+ arguments: ListedTickersArguments | [
2785
+ registry: RawTransactionArgument<string>
2786
+ ];
2787
+ typeArguments: [
2788
+ string
2789
+ ];
2790
+ }
2791
+ export declare function listedTickers(options: ListedTickersOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2792
+ export interface BorrowMarketArguments {
2793
+ registry: RawTransactionArgument<string>;
2794
+ ticker: RawTransactionArgument<string>;
2795
+ }
2796
+ export interface BorrowMarketOptions {
2797
+ package?: string;
2798
+ arguments: BorrowMarketArguments | [
2799
+ registry: RawTransactionArgument<string>,
2800
+ ticker: RawTransactionArgument<string>
2801
+ ];
2802
+ typeArguments: [
2803
+ string
2804
+ ];
2805
+ }
2806
+ export declare function borrowMarket(options: BorrowMarketOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
2807
+ export interface BorrowMarketMutArguments {
2808
+ registry: RawTransactionArgument<string>;
2809
+ ticker: RawTransactionArgument<string>;
2810
+ }
2811
+ export interface BorrowMarketMutOptions {
2812
+ package?: string;
2813
+ arguments: BorrowMarketMutArguments | [
2814
+ registry: RawTransactionArgument<string>,
2815
+ ticker: RawTransactionArgument<string>
2816
+ ];
2817
+ typeArguments: [
2818
+ string
2819
+ ];
2820
+ }
2821
+ export declare function borrowMarketMut(options: BorrowMarketMutOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;