@waterx/sdk 3.0.1 → 3.0.3

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 (398) hide show
  1. package/dist/cjs/package.json +3 -0
  2. package/dist/cjs/src/account/account-request.d.ts +9 -0
  3. package/dist/cjs/src/account/account-request.js +20 -0
  4. package/dist/cjs/src/account/account.d.ts +158 -0
  5. package/dist/cjs/src/account/account.js +238 -0
  6. package/dist/cjs/src/account/client.d.ts +42 -0
  7. package/dist/cjs/src/account/client.js +18 -0
  8. package/dist/cjs/src/account/config.d.ts +151 -0
  9. package/dist/cjs/src/account/config.js +9 -0
  10. package/dist/cjs/src/account/constants.d.ts +5 -0
  11. package/dist/cjs/src/account/constants.js +8 -0
  12. package/dist/cjs/src/account/fetch/referral.d.ts +15 -0
  13. package/dist/cjs/src/account/fetch/referral.js +56 -0
  14. package/dist/cjs/src/account/fetch/simulate.d.ts +34 -0
  15. package/dist/cjs/src/account/fetch/simulate.js +49 -0
  16. package/dist/cjs/src/account/funding/balance.d.ts +32 -0
  17. package/dist/cjs/src/account/funding/balance.js +100 -0
  18. package/dist/cjs/src/account/funding/consolidate.d.ts +46 -0
  19. package/dist/cjs/src/account/funding/consolidate.js +143 -0
  20. package/dist/cjs/src/account/funding/credit.d.ts +129 -0
  21. package/dist/cjs/src/account/funding/credit.js +252 -0
  22. package/dist/cjs/src/account/funding/custody.d.ts +57 -0
  23. package/dist/cjs/src/account/funding/custody.js +139 -0
  24. package/dist/cjs/src/account/funding/wormhole.d.ts +86 -0
  25. package/dist/cjs/src/account/funding/wormhole.js +166 -0
  26. package/dist/cjs/src/account/index.d.ts +29 -0
  27. package/dist/cjs/src/account/index.js +45 -0
  28. package/dist/cjs/src/account/referral.d.ts +21 -0
  29. package/dist/cjs/src/account/referral.js +78 -0
  30. package/dist/cjs/src/account/waterx-account.d.ts +31 -0
  31. package/dist/cjs/src/account/waterx-account.js +29 -0
  32. package/dist/cjs/src/base-client.d.ts +74 -0
  33. package/dist/cjs/src/base-client.js +101 -0
  34. package/dist/cjs/src/constants.d.ts +32 -0
  35. package/dist/cjs/src/constants.js +41 -0
  36. package/dist/cjs/src/generated/bucket_v2_framework/account.d.ts +107 -0
  37. package/dist/cjs/src/generated/bucket_v2_framework/account.js +141 -0
  38. package/dist/cjs/src/generated/bucket_v2_framework/deps/std/type_name.d.ts +17 -0
  39. package/dist/cjs/src/generated/bucket_v2_framework/deps/std/type_name.js +22 -0
  40. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/balance.d.ts +12 -0
  41. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/balance.js +17 -0
  42. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_map.d.ts +36 -0
  43. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_map.js +31 -0
  44. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_set.d.ts +16 -0
  45. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_set.js +22 -0
  46. package/dist/cjs/src/generated/bucket_v2_framework/double.d.ts +384 -0
  47. package/dist/cjs/src/generated/bucket_v2_framework/double.js +504 -0
  48. package/dist/cjs/src/generated/bucket_v2_framework/float.d.ts +364 -0
  49. package/dist/cjs/src/generated/bucket_v2_framework/float.js +476 -0
  50. package/dist/cjs/src/generated/bucket_v2_framework/liability.d.ts +171 -0
  51. package/dist/cjs/src/generated/bucket_v2_framework/liability.js +192 -0
  52. package/dist/cjs/src/generated/bucket_v2_framework/linked_table.d.ts +384 -0
  53. package/dist/cjs/src/generated/bucket_v2_framework/linked_table.js +405 -0
  54. package/dist/cjs/src/generated/bucket_v2_framework/sheet.d.ts +424 -0
  55. package/dist/cjs/src/generated/bucket_v2_framework/sheet.js +395 -0
  56. package/dist/cjs/src/generated/native_custody/custody_vault.d.ts +586 -0
  57. package/dist/cjs/src/generated/native_custody/custody_vault.js +555 -0
  58. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/float.d.ts +8 -0
  59. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/float.js +13 -0
  60. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/liability.d.ts +11 -0
  61. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/liability.js +16 -0
  62. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/sheet.d.ts +49 -0
  63. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/sheet.js +52 -0
  64. package/dist/cjs/src/generated/native_custody/deps/std/type_name.d.ts +17 -0
  65. package/dist/cjs/src/generated/native_custody/deps/std/type_name.js +22 -0
  66. package/dist/cjs/src/generated/native_custody/deps/sui/balance.d.ts +12 -0
  67. package/dist/cjs/src/generated/native_custody/deps/sui/balance.js +17 -0
  68. package/dist/cjs/src/generated/native_custody/deps/sui/vec_map.d.ts +36 -0
  69. package/dist/cjs/src/generated/native_custody/deps/sui/vec_map.js +31 -0
  70. package/dist/cjs/src/generated/native_custody/deps/sui/vec_set.d.ts +16 -0
  71. package/dist/cjs/src/generated/native_custody/deps/sui/vec_set.js +22 -0
  72. package/dist/cjs/src/generated/native_custody/events.d.ts +36 -0
  73. package/dist/cjs/src/generated/native_custody/events.js +71 -0
  74. package/dist/cjs/src/generated/pyth_sponsor_rule/deps/sui/balance.d.ts +12 -0
  75. package/dist/cjs/src/generated/pyth_sponsor_rule/deps/sui/balance.js +17 -0
  76. package/dist/cjs/src/generated/pyth_sponsor_rule/pyth_sponsor_rule.d.ts +68 -0
  77. package/dist/cjs/src/generated/pyth_sponsor_rule/pyth_sponsor_rule.js +113 -0
  78. package/dist/cjs/src/generated/utils/index.d.ts +30 -0
  79. package/dist/cjs/src/generated/utils/index.js +168 -0
  80. package/dist/cjs/src/generated/waterx_account/account.d.ts +1906 -0
  81. package/dist/cjs/src/generated/waterx_account/account.js +1929 -0
  82. package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/liability.d.ts +11 -0
  83. package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/liability.js +16 -0
  84. package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/sheet.d.ts +49 -0
  85. package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/sheet.js +52 -0
  86. package/dist/cjs/src/generated/waterx_account/deps/std/type_name.d.ts +17 -0
  87. package/dist/cjs/src/generated/waterx_account/deps/std/type_name.js +22 -0
  88. package/dist/cjs/src/generated/waterx_account/deps/sui/balance.d.ts +12 -0
  89. package/dist/cjs/src/generated/waterx_account/deps/sui/balance.js +17 -0
  90. package/dist/cjs/src/generated/waterx_account/deps/sui/object_table.d.ts +17 -0
  91. package/dist/cjs/src/generated/waterx_account/deps/sui/object_table.js +22 -0
  92. package/dist/cjs/src/generated/waterx_account/deps/sui/table.d.ts +29 -0
  93. package/dist/cjs/src/generated/waterx_account/deps/sui/table.js +34 -0
  94. package/dist/cjs/src/generated/waterx_account/deps/sui/vec_map.d.ts +36 -0
  95. package/dist/cjs/src/generated/waterx_account/deps/sui/vec_map.js +31 -0
  96. package/dist/cjs/src/generated/waterx_account/deps/sui/vec_set.d.ts +16 -0
  97. package/dist/cjs/src/generated/waterx_account/deps/sui/vec_set.js +22 -0
  98. package/dist/cjs/src/generated/waterx_account/direct_rule.d.ts +77 -0
  99. package/dist/cjs/src/generated/waterx_account/direct_rule.js +83 -0
  100. package/dist/cjs/src/generated/waterx_account/events.d.ts +190 -0
  101. package/dist/cjs/src/generated/waterx_account/events.js +173 -0
  102. package/dist/cjs/src/generated/waterx_account/version.d.ts +10 -0
  103. package/dist/cjs/src/generated/waterx_account/version.js +11 -0
  104. package/dist/cjs/src/generated/waterx_constant_rule/constant_rule.d.ts +68 -0
  105. package/dist/cjs/src/generated/waterx_constant_rule/constant_rule.js +97 -0
  106. package/dist/cjs/src/generated/waterx_constant_rule/deps/bucket_v2_framework/float.d.ts +8 -0
  107. package/dist/cjs/src/generated/waterx_constant_rule/deps/bucket_v2_framework/float.js +13 -0
  108. package/dist/cjs/src/generated/waterx_constant_rule/deps/sui/vec_map.d.ts +36 -0
  109. package/dist/cjs/src/generated/waterx_constant_rule/deps/sui/vec_map.js +31 -0
  110. package/dist/cjs/src/generated/waterx_credit/credit_registry.d.ts +708 -0
  111. package/dist/cjs/src/generated/waterx_credit/credit_registry.js +728 -0
  112. package/dist/cjs/src/generated/waterx_credit/deps/std/type_name.d.ts +17 -0
  113. package/dist/cjs/src/generated/waterx_credit/deps/std/type_name.js +22 -0
  114. package/dist/cjs/src/generated/waterx_credit/deps/sui/table.d.ts +29 -0
  115. package/dist/cjs/src/generated/waterx_credit/deps/sui/table.js +34 -0
  116. package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_map.d.ts +36 -0
  117. package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_map.js +31 -0
  118. package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_set.d.ts +16 -0
  119. package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_set.js +22 -0
  120. package/dist/cjs/src/generated/waterx_credit/limited_supply.d.ts +107 -0
  121. package/dist/cjs/src/generated/waterx_credit/limited_supply.js +143 -0
  122. package/dist/cjs/src/generated/waterx_oracle/aggregator.d.ts +211 -0
  123. package/dist/cjs/src/generated/waterx_oracle/aggregator.js +258 -0
  124. package/dist/cjs/src/generated/waterx_oracle/collector.d.ts +119 -0
  125. package/dist/cjs/src/generated/waterx_oracle/collector.js +147 -0
  126. package/dist/cjs/src/generated/waterx_oracle/deps/bucket_v2_framework/float.d.ts +8 -0
  127. package/dist/cjs/src/generated/waterx_oracle/deps/bucket_v2_framework/float.js +13 -0
  128. package/dist/cjs/src/generated/waterx_oracle/deps/std/type_name.d.ts +17 -0
  129. package/dist/cjs/src/generated/waterx_oracle/deps/std/type_name.js +22 -0
  130. package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_map.d.ts +36 -0
  131. package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_map.js +31 -0
  132. package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_set.d.ts +16 -0
  133. package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_set.js +22 -0
  134. package/dist/cjs/src/generated/waterx_oracle/oracle.d.ts +304 -0
  135. package/dist/cjs/src/generated/waterx_oracle/oracle.js +381 -0
  136. package/dist/cjs/src/generated/waterx_oracle/version.d.ts +10 -0
  137. package/dist/cjs/src/generated/waterx_oracle/version.js +11 -0
  138. package/dist/cjs/src/generated/waterx_perp/account_data.d.ts +269 -0
  139. package/dist/cjs/src/generated/waterx_perp/account_data.js +340 -0
  140. package/dist/cjs/src/generated/waterx_perp/admin.d.ts +19 -0
  141. package/dist/cjs/src/generated/waterx_perp/admin.js +26 -0
  142. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/double.d.ts +8 -0
  143. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/double.js +13 -0
  144. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/float.d.ts +8 -0
  145. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/float.js +13 -0
  146. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/liability.d.ts +11 -0
  147. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/liability.js +16 -0
  148. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/linked_table.d.ts +8 -0
  149. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/linked_table.js +21 -0
  150. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/sheet.d.ts +49 -0
  151. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/sheet.js +52 -0
  152. package/dist/cjs/src/generated/waterx_perp/deps/std/type_name.d.ts +17 -0
  153. package/dist/cjs/src/generated/waterx_perp/deps/std/type_name.js +22 -0
  154. package/dist/cjs/src/generated/waterx_perp/deps/sui/balance.d.ts +15 -0
  155. package/dist/cjs/src/generated/waterx_perp/deps/sui/balance.js +20 -0
  156. package/dist/cjs/src/generated/waterx_perp/deps/sui/coin.d.ts +14 -0
  157. package/dist/cjs/src/generated/waterx_perp/deps/sui/coin.js +51 -0
  158. package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_map.d.ts +36 -0
  159. package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_map.js +31 -0
  160. package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_set.d.ts +16 -0
  161. package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_set.js +22 -0
  162. package/dist/cjs/src/generated/waterx_perp/events.d.ts +1283 -0
  163. package/dist/cjs/src/generated/waterx_perp/events.js +990 -0
  164. package/dist/cjs/src/generated/waterx_perp/global_config.d.ts +775 -0
  165. package/dist/cjs/src/generated/waterx_perp/global_config.js +918 -0
  166. package/dist/cjs/src/generated/waterx_perp/keyed_big_vector.d.ts +553 -0
  167. package/dist/cjs/src/generated/waterx_perp/keyed_big_vector.js +626 -0
  168. package/dist/cjs/src/generated/waterx_perp/lp_pool.d.ts +1648 -0
  169. package/dist/cjs/src/generated/waterx_perp/lp_pool.js +1630 -0
  170. package/dist/cjs/src/generated/waterx_perp/market_config.d.ts +733 -0
  171. package/dist/cjs/src/generated/waterx_perp/market_config.js +871 -0
  172. package/dist/cjs/src/generated/waterx_perp/math.d.ts +63 -0
  173. package/dist/cjs/src/generated/waterx_perp/math.js +70 -0
  174. package/dist/cjs/src/generated/waterx_perp/memo.d.ts +251 -0
  175. package/dist/cjs/src/generated/waterx_perp/memo.js +360 -0
  176. package/dist/cjs/src/generated/waterx_perp/order_book.d.ts +290 -0
  177. package/dist/cjs/src/generated/waterx_perp/order_book.js +388 -0
  178. package/dist/cjs/src/generated/waterx_perp/position.d.ts +1005 -0
  179. package/dist/cjs/src/generated/waterx_perp/position.js +1200 -0
  180. package/dist/cjs/src/generated/waterx_perp/request.d.ts +544 -0
  181. package/dist/cjs/src/generated/waterx_perp/request.js +609 -0
  182. package/dist/cjs/src/generated/waterx_perp/response.d.ts +247 -0
  183. package/dist/cjs/src/generated/waterx_perp/response.js +331 -0
  184. package/dist/cjs/src/generated/waterx_perp/trading.d.ts +2945 -0
  185. package/dist/cjs/src/generated/waterx_perp/trading.js +2616 -0
  186. package/dist/cjs/src/generated/waterx_perp/version.d.ts +10 -0
  187. package/dist/cjs/src/generated/waterx_perp/version.js +11 -0
  188. package/dist/cjs/src/generated/waterx_perp/witness.d.ts +18 -0
  189. package/dist/cjs/src/generated/waterx_perp/witness.js +25 -0
  190. package/dist/cjs/src/generated/waterx_perp_view/deps/std/type_name.d.ts +17 -0
  191. package/dist/cjs/src/generated/waterx_perp_view/deps/std/type_name.js +22 -0
  192. package/dist/cjs/src/generated/waterx_perp_view/view.d.ts +447 -0
  193. package/dist/cjs/src/generated/waterx_perp_view/view.js +459 -0
  194. package/dist/cjs/src/generated/waterx_prediction/account_data.d.ts +344 -0
  195. package/dist/cjs/src/generated/waterx_prediction/account_data.js +470 -0
  196. package/dist/cjs/src/generated/waterx_prediction/admin.d.ts +7 -0
  197. package/dist/cjs/src/generated/waterx_prediction/admin.js +12 -0
  198. package/dist/cjs/src/generated/waterx_prediction/deps/bucket_v2_framework/linked_table.d.ts +8 -0
  199. package/dist/cjs/src/generated/waterx_prediction/deps/bucket_v2_framework/linked_table.js +21 -0
  200. package/dist/cjs/src/generated/waterx_prediction/deps/sui/balance.d.ts +12 -0
  201. package/dist/cjs/src/generated/waterx_prediction/deps/sui/balance.js +17 -0
  202. package/dist/cjs/src/generated/waterx_prediction/deps/sui/table.d.ts +29 -0
  203. package/dist/cjs/src/generated/waterx_prediction/deps/sui/table.js +34 -0
  204. package/dist/cjs/src/generated/waterx_prediction/deps/sui/vec_set.d.ts +16 -0
  205. package/dist/cjs/src/generated/waterx_prediction/deps/sui/vec_set.js +22 -0
  206. package/dist/cjs/src/generated/waterx_prediction/events.d.ts +288 -0
  207. package/dist/cjs/src/generated/waterx_prediction/events.js +254 -0
  208. package/dist/cjs/src/generated/waterx_prediction/global_config.d.ts +121 -0
  209. package/dist/cjs/src/generated/waterx_prediction/global_config.js +186 -0
  210. package/dist/cjs/src/generated/waterx_prediction/order.d.ts +233 -0
  211. package/dist/cjs/src/generated/waterx_prediction/order.js +339 -0
  212. package/dist/cjs/src/generated/waterx_prediction/outcome.d.ts +58 -0
  213. package/dist/cjs/src/generated/waterx_prediction/outcome.js +82 -0
  214. package/dist/cjs/src/generated/waterx_prediction/position.d.ts +175 -0
  215. package/dist/cjs/src/generated/waterx_prediction/position.js +232 -0
  216. package/dist/cjs/src/generated/waterx_prediction/version.d.ts +10 -0
  217. package/dist/cjs/src/generated/waterx_prediction/version.js +11 -0
  218. package/dist/cjs/src/generated/waterx_prediction/view.d.ts +418 -0
  219. package/dist/cjs/src/generated/waterx_prediction/view.js +492 -0
  220. package/dist/cjs/src/generated/waterx_prediction/waterx_prediction.d.ts +1858 -0
  221. package/dist/cjs/src/generated/waterx_prediction/waterx_prediction.js +1972 -0
  222. package/dist/cjs/src/generated/waterx_pyth_rule/deps/sui/vec_map.d.ts +36 -0
  223. package/dist/cjs/src/generated/waterx_pyth_rule/deps/sui/vec_map.js +31 -0
  224. package/dist/cjs/src/generated/waterx_pyth_rule/pyth_rule.d.ts +192 -0
  225. package/dist/cjs/src/generated/waterx_pyth_rule/pyth_rule.js +214 -0
  226. package/dist/cjs/src/generated/waterx_referral/deps/sui/table.d.ts +29 -0
  227. package/dist/cjs/src/generated/waterx_referral/deps/sui/table.js +34 -0
  228. package/dist/cjs/src/generated/waterx_referral/deps/sui/vec_set.d.ts +16 -0
  229. package/dist/cjs/src/generated/waterx_referral/deps/sui/vec_set.js +22 -0
  230. package/dist/cjs/src/generated/waterx_referral/referral_table.d.ts +171 -0
  231. package/dist/cjs/src/generated/waterx_referral/referral_table.js +239 -0
  232. package/dist/cjs/src/generated/waterx_staking/deps/bucket_v2_framework/double.d.ts +8 -0
  233. package/dist/cjs/src/generated/waterx_staking/deps/bucket_v2_framework/double.js +13 -0
  234. package/dist/cjs/src/generated/waterx_staking/deps/sui/balance.d.ts +12 -0
  235. package/dist/cjs/src/generated/waterx_staking/deps/sui/balance.js +17 -0
  236. package/dist/cjs/src/generated/waterx_staking/deps/sui/table.d.ts +29 -0
  237. package/dist/cjs/src/generated/waterx_staking/deps/sui/table.js +34 -0
  238. package/dist/cjs/src/generated/waterx_staking/deps/sui/vec_set.d.ts +16 -0
  239. package/dist/cjs/src/generated/waterx_staking/deps/sui/vec_set.js +22 -0
  240. package/dist/cjs/src/generated/waterx_staking/waterx_staking.d.ts +746 -0
  241. package/dist/cjs/src/generated/waterx_staking/waterx_staking.js +797 -0
  242. package/dist/cjs/src/generated/waterx_staking/witness.d.ts +16 -0
  243. package/dist/cjs/src/generated/waterx_staking/witness.js +21 -0
  244. package/dist/cjs/src/generated/waterx_supra_rule/deps/sui/vec_map.d.ts +36 -0
  245. package/dist/cjs/src/generated/waterx_supra_rule/deps/sui/vec_map.js +31 -0
  246. package/dist/cjs/src/generated/waterx_supra_rule/supra_rule.d.ts +158 -0
  247. package/dist/cjs/src/generated/waterx_supra_rule/supra_rule.js +189 -0
  248. package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/float.d.ts +8 -0
  249. package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/float.js +13 -0
  250. package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/linked_table.d.ts +8 -0
  251. package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/linked_table.js +21 -0
  252. package/dist/cjs/src/generated/withdrawal_queue/deps/std/type_name.d.ts +17 -0
  253. package/dist/cjs/src/generated/withdrawal_queue/deps/std/type_name.js +22 -0
  254. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/balance.d.ts +12 -0
  255. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/balance.js +17 -0
  256. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_map.d.ts +36 -0
  257. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_map.js +31 -0
  258. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_set.d.ts +16 -0
  259. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_set.js +22 -0
  260. package/dist/cjs/src/generated/withdrawal_queue/withdrawal_queue.d.ts +923 -0
  261. package/dist/cjs/src/generated/withdrawal_queue/withdrawal_queue.js +965 -0
  262. package/dist/cjs/src/generated/wlp/wlp.d.ts +28 -0
  263. package/dist/cjs/src/generated/wlp/wlp.js +37 -0
  264. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/table.d.ts +29 -0
  265. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/table.js +34 -0
  266. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_map.d.ts +36 -0
  267. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_map.js +31 -0
  268. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_set.d.ts +16 -0
  269. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_set.js +22 -0
  270. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/consumed_vaas.d.ts +12 -0
  271. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/consumed_vaas.js +45 -0
  272. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/emitter.d.ts +14 -0
  273. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/emitter.js +19 -0
  274. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/set.d.ts +16 -0
  275. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/set.js +51 -0
  276. package/dist/cjs/src/generated/wormhole_bridge/events.d.ts +32 -0
  277. package/dist/cjs/src/generated/wormhole_bridge/events.js +31 -0
  278. package/dist/cjs/src/generated/wormhole_bridge/wormhole_bridge.d.ts +638 -0
  279. package/dist/cjs/src/generated/wormhole_bridge/wormhole_bridge.js +692 -0
  280. package/dist/cjs/src/oracle/aggregate.d.ts +74 -0
  281. package/dist/cjs/src/oracle/aggregate.js +118 -0
  282. package/dist/cjs/src/oracle/config.d.ts +99 -0
  283. package/dist/cjs/src/oracle/config.js +26 -0
  284. package/dist/cjs/src/oracle/host.d.ts +32 -0
  285. package/dist/cjs/src/oracle/host.js +11 -0
  286. package/dist/cjs/src/oracle/index.d.ts +16 -0
  287. package/dist/cjs/src/oracle/index.js +31 -0
  288. package/dist/cjs/src/oracle/pyth.d.ts +52 -0
  289. package/dist/cjs/src/oracle/pyth.js +227 -0
  290. package/dist/cjs/src/oracle/rules/constant-rule.d.ts +9 -0
  291. package/dist/cjs/src/oracle/rules/constant-rule.js +17 -0
  292. package/dist/cjs/src/oracle/rules/pyth-rule.d.ts +11 -0
  293. package/dist/cjs/src/oracle/rules/pyth-rule.js +23 -0
  294. package/dist/cjs/src/oracle/rules/sponsor.d.ts +28 -0
  295. package/dist/cjs/src/oracle/rules/sponsor.js +52 -0
  296. package/dist/cjs/src/oracle/rules/supra-rule.d.ts +11 -0
  297. package/dist/cjs/src/oracle/rules/supra-rule.js +25 -0
  298. package/dist/cjs/src/perp/client.d.ts +78 -0
  299. package/dist/cjs/src/perp/client.js +112 -0
  300. package/dist/cjs/src/perp/config-view.d.ts +102 -0
  301. package/dist/cjs/src/perp/config-view.js +178 -0
  302. package/dist/cjs/src/perp/config.d.ts +126 -0
  303. package/dist/cjs/src/perp/config.js +119 -0
  304. package/dist/cjs/src/perp/constants.d.ts +49 -0
  305. package/dist/cjs/src/perp/constants.js +79 -0
  306. package/dist/cjs/src/perp/fetch/account.d.ts +43 -0
  307. package/dist/cjs/src/perp/fetch/account.js +69 -0
  308. package/dist/cjs/src/perp/fetch/bridge.d.ts +90 -0
  309. package/dist/cjs/src/perp/fetch/bridge.js +131 -0
  310. package/dist/cjs/src/perp/fetch/custody.d.ts +32 -0
  311. package/dist/cjs/src/perp/fetch/custody.js +66 -0
  312. package/dist/cjs/src/perp/fetch/market.d.ts +30 -0
  313. package/dist/cjs/src/perp/fetch/market.js +75 -0
  314. package/dist/cjs/src/perp/fetch/positions.d.ts +70 -0
  315. package/dist/cjs/src/perp/fetch/positions.js +195 -0
  316. package/dist/cjs/src/perp/fetch/simulate.d.ts +12 -0
  317. package/dist/cjs/src/perp/fetch/simulate.js +21 -0
  318. package/dist/cjs/src/perp/fetch.d.ts +23 -0
  319. package/dist/cjs/src/perp/fetch.js +39 -0
  320. package/dist/cjs/src/perp/index.d.ts +29 -0
  321. package/dist/cjs/src/perp/index.js +183 -0
  322. package/dist/cjs/src/perp/tx-builders/common.d.ts +83 -0
  323. package/dist/cjs/src/perp/tx-builders/common.js +76 -0
  324. package/dist/cjs/src/perp/tx-builders/credit.d.ts +65 -0
  325. package/dist/cjs/src/perp/tx-builders/credit.js +67 -0
  326. package/dist/cjs/src/perp/tx-builders/rewards.d.ts +30 -0
  327. package/dist/cjs/src/perp/tx-builders/rewards.js +37 -0
  328. package/dist/cjs/src/perp/tx-builders/trading.d.ts +51 -0
  329. package/dist/cjs/src/perp/tx-builders/trading.js +71 -0
  330. package/dist/cjs/src/perp/tx-builders/wlp.d.ts +90 -0
  331. package/dist/cjs/src/perp/tx-builders/wlp.js +126 -0
  332. package/dist/cjs/src/perp/tx-builders.d.ts +23 -0
  333. package/dist/cjs/src/perp/tx-builders.js +45 -0
  334. package/dist/cjs/src/perp/user/index.d.ts +8 -0
  335. package/dist/cjs/src/perp/user/index.js +24 -0
  336. package/dist/cjs/src/perp/user/order.d.ts +89 -0
  337. package/dist/cjs/src/perp/user/order.js +175 -0
  338. package/dist/cjs/src/perp/user/staking.d.ts +54 -0
  339. package/dist/cjs/src/perp/user/staking.js +147 -0
  340. package/dist/cjs/src/perp/user/trading.d.ts +119 -0
  341. package/dist/cjs/src/perp/user/trading.js +310 -0
  342. package/dist/cjs/src/perp/user/wlp.d.ts +58 -0
  343. package/dist/cjs/src/perp/user/wlp.js +139 -0
  344. package/dist/cjs/src/prediction/account.d.ts +96 -0
  345. package/dist/cjs/src/prediction/account.js +212 -0
  346. package/dist/cjs/src/prediction/admin.d.ts +47 -0
  347. package/dist/cjs/src/prediction/admin.js +116 -0
  348. package/dist/cjs/src/prediction/bcs.d.ts +28 -0
  349. package/dist/cjs/src/prediction/bcs.js +189 -0
  350. package/dist/cjs/src/prediction/client.d.ts +45 -0
  351. package/dist/cjs/src/prediction/client.js +112 -0
  352. package/dist/cjs/src/prediction/config.d.ts +74 -0
  353. package/dist/cjs/src/prediction/config.js +86 -0
  354. package/dist/cjs/src/prediction/constants.d.ts +44 -0
  355. package/dist/cjs/src/prediction/constants.js +49 -0
  356. package/dist/cjs/src/prediction/fetch.d.ts +82 -0
  357. package/dist/cjs/src/prediction/fetch.js +294 -0
  358. package/dist/cjs/src/prediction/gift-link.d.ts +6 -0
  359. package/dist/cjs/src/prediction/gift-link.js +16 -0
  360. package/dist/cjs/src/prediction/gift.d.ts +223 -0
  361. package/dist/cjs/src/prediction/gift.js +465 -0
  362. package/dist/cjs/src/prediction/index.d.ts +29 -0
  363. package/dist/cjs/src/prediction/index.js +154 -0
  364. package/dist/cjs/src/prediction/prediction.d.ts +149 -0
  365. package/dist/cjs/src/prediction/prediction.js +410 -0
  366. package/dist/cjs/src/prediction/tx-builders.d.ts +44 -0
  367. package/dist/cjs/src/prediction/tx-builders.js +56 -0
  368. package/dist/cjs/src/prediction/types.d.ts +95 -0
  369. package/dist/cjs/src/prediction/types.js +2 -0
  370. package/dist/cjs/src/prediction/user/account.d.ts +2 -0
  371. package/dist/cjs/src/prediction/user/account.js +17 -0
  372. package/dist/cjs/src/prediction/user/admin.d.ts +6 -0
  373. package/dist/cjs/src/prediction/user/admin.js +19 -0
  374. package/dist/cjs/src/prediction/user/gift.d.ts +2 -0
  375. package/dist/cjs/src/prediction/user/gift.js +24 -0
  376. package/dist/cjs/src/prediction/user/index.d.ts +5 -0
  377. package/dist/cjs/src/prediction/user/index.js +60 -0
  378. package/dist/cjs/src/prediction/user/keeper.d.ts +2 -0
  379. package/dist/cjs/src/prediction/user/keeper.js +13 -0
  380. package/dist/cjs/src/prediction/user/order.d.ts +2 -0
  381. package/dist/cjs/src/prediction/user/order.js +6 -0
  382. package/dist/cjs/src/prediction/user/position.d.ts +2 -0
  383. package/dist/cjs/src/prediction/user/position.js +11 -0
  384. package/dist/cjs/src/prediction/utils/bcs.d.ts +6 -0
  385. package/dist/cjs/src/prediction/utils/bcs.js +29 -0
  386. package/dist/cjs/src/prediction/utils/index.d.ts +8 -0
  387. package/dist/cjs/src/prediction/utils/index.js +31 -0
  388. package/dist/cjs/src/prediction/utils.d.ts +30 -0
  389. package/dist/cjs/src/prediction/utils.js +200 -0
  390. package/dist/cjs/src/sdk.d.ts +22 -0
  391. package/dist/cjs/src/sdk.js +62 -0
  392. package/dist/cjs/src/unified-client.d.ts +402 -0
  393. package/dist/cjs/src/unified-client.js +218 -0
  394. package/dist/cjs/src/utils/config.d.ts +11 -0
  395. package/dist/cjs/src/utils/config.js +19 -0
  396. package/dist/cjs/src/utils/math.d.ts +287 -0
  397. package/dist/cjs/src/utils/math.js +469 -0
  398. package/package.json +119 -31
@@ -0,0 +1,1630 @@
1
+ "use strict";
2
+ /**************************************************************
3
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
4
+ **************************************************************/
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.AumMarketContribution = exports.WlpAum = exports.RedeemRequest = exports.WlpPool = exports.TokenPoolInfo = void 0;
40
+ exports.assertWxaProtocolPerm = assertWxaProtocolPerm;
41
+ exports.createPool = createPool;
42
+ exports.createAum = createAum;
43
+ exports.assertVersion = assertVersion;
44
+ exports.allowVersion = allowVersion;
45
+ exports.disallowVersion = disallowVersion;
46
+ exports.addToken = addToken;
47
+ exports.updateTokenPoolConfig = updateTokenPoolConfig;
48
+ exports.mintWlp = mintWlp;
49
+ exports.requestRedeem = requestRedeem;
50
+ exports.mintWlpWithPricingTvl = mintWlpWithPricingTvl;
51
+ exports.doRequestRedeem = doRequestRedeem;
52
+ exports.cancelRedeem = cancelRedeem;
53
+ exports.rejectRedeemByAdmin = rejectRedeemByAdmin;
54
+ exports.rejectRedeemByRedeemOperator = rejectRedeemByRedeemOperator;
55
+ exports.settleRedeem = settleRedeem;
56
+ exports.settleRedeemWithPricingTvl = settleRedeemWithPricingTvl;
57
+ exports.updateBorrowRates = updateBorrowRates;
58
+ exports.updateTokenValue = updateTokenValue;
59
+ exports.aumPoolId = aumPoolId;
60
+ exports.aumMarketCount = aumMarketCount;
61
+ exports.aumTotalTraderProfitUsd = aumTotalTraderProfitUsd;
62
+ exports.aumTotalTraderLossUsd = aumTotalTraderLossUsd;
63
+ exports.aumMarketContribution = aumMarketContribution;
64
+ exports.aumMarketContributionByIndex = aumMarketContributionByIndex;
65
+ exports.aumContributionIsTraderProfit = aumContributionIsTraderProfit;
66
+ exports.aumContributionPnlUsd = aumContributionPnlUsd;
67
+ exports.aumContributionLastRefreshTimestamp = aumContributionLastRefreshTimestamp;
68
+ exports.registerMarketAum = registerMarketAum;
69
+ exports.refreshMarketAum = refreshMarketAum;
70
+ exports.aumEquityUsd = aumEquityUsd;
71
+ exports.cumulativeBorrowRate = cumulativeBorrowRate;
72
+ exports.tvlUsd = tvlUsd;
73
+ exports.checkOiCap = checkOiCap;
74
+ exports.checkReserveValid = checkReserveValid;
75
+ exports.increaseReserve = increaseReserve;
76
+ exports.decreaseReserve = decreaseReserve;
77
+ exports.putCollateral = putCollateral;
78
+ exports.requestCollateral = requestCollateral;
79
+ exports.tokenPoolInfo = tokenPoolInfo;
80
+ exports.tokenDecimal = tokenDecimal;
81
+ exports.tokenTicker = tokenTicker;
82
+ exports.suspendPool = suspendPool;
83
+ exports.resumePool = resumePool;
84
+ exports.isActive = isActive;
85
+ exports.lpDecimal = lpDecimal;
86
+ exports.totalLpSupply = totalLpSupply;
87
+ exports.borrowRedeemRequests = borrowRedeemRequests;
88
+ exports.poolTvlUsd = poolTvlUsd;
89
+ exports.tokenCount = tokenCount;
90
+ exports.borrowTokenPoolByIndex = borrowTokenPoolByIndex;
91
+ exports.tpiTokenType = tpiTokenType;
92
+ exports.tpiTicker = tpiTicker;
93
+ exports.tpiTokenDecimal = tpiTokenDecimal;
94
+ exports.tpiLiquidityAmount = tpiLiquidityAmount;
95
+ exports.tpiReservedAmount = tpiReservedAmount;
96
+ exports.tpiValueUsd = tpiValueUsd;
97
+ exports.tpiTargetWeightBps = tpiTargetWeightBps;
98
+ exports.tpiMintFeeBps = tpiMintFeeBps;
99
+ exports.tpiBurnFeeBps = tpiBurnFeeBps;
100
+ exports.tpiCumulativeBorrowRate = tpiCumulativeBorrowRate;
101
+ exports.tpiLastPriceRefreshTimestamp = tpiLastPriceRefreshTimestamp;
102
+ exports.redeemRecipientAccountId = redeemRecipientAccountId;
103
+ exports.redeemLpAmount = redeemLpAmount;
104
+ exports.redeemTokenType = redeemTokenType;
105
+ exports.redeemRequestTimestamp = redeemRequestTimestamp;
106
+ exports.findTokenPoolIndex = findTokenPoolIndex;
107
+ exports.borrowTokenPool = borrowTokenPool;
108
+ exports.borrowMutTokenPool = borrowMutTokenPool;
109
+ exports.refreshTokenValueWithPrice = refreshTokenValueWithPrice;
110
+ exports.addAumContribution = addAumContribution;
111
+ exports.removeAumContribution = removeAumContribution;
112
+ exports.assertAumFresh = assertAumFresh;
113
+ exports.assertPricesFresh = assertPricesFresh;
114
+ exports.assertRedeemAllowed = assertRedeemAllowed;
115
+ exports.assertTokenRedeemAllowed = assertTokenRedeemAllowed;
116
+ exports.calculateTotalWlpUtilizationBps = calculateTotalWlpUtilizationBps;
117
+ exports.takeRedeemRequest = takeRedeemRequest;
118
+ exports.returnRejectedRedeemRequest = returnRejectedRedeemRequest;
119
+ exports.calculateDynamicFee = calculateDynamicFee;
120
+ exports.assertValidBorrowConfig = assertValidBorrowConfig;
121
+ exports.assertValidMaxReserveRatio = assertValidMaxReserveRatio;
122
+ exports.calculateBorrowRate = calculateBorrowRate;
123
+ exports.calculateBorrowRateAccrual = calculateBorrowRateAccrual;
124
+ /**
125
+ * WLP (WaterX Liquidity Pool) — counterparty to all traders. Manages liquidity
126
+ * pools, token pools, minting/burning WLP, and borrowing. Mint is instant; redeem
127
+ * is T+1.
128
+ */
129
+ const index_ts_1 = require("../utils/index.js");
130
+ const bcs_1 = require("@mysten/sui/bcs");
131
+ const type_name = __importStar(require("./deps/std/type_name.js"));
132
+ const float = __importStar(require("./deps/bucket_v2_framework/float.js"));
133
+ const vec_set = __importStar(require("./deps/sui/vec_set.js"));
134
+ const coin = __importStar(require("./deps/sui/coin.js"));
135
+ const keyed_big_vector = __importStar(require("./keyed_big_vector.js"));
136
+ const balance = __importStar(require("./deps/sui/balance.js"));
137
+ const $moduleName = '@waterx/perp::lp_pool';
138
+ exports.TokenPoolInfo = new index_ts_1.MoveStruct({ name: `${$moduleName}::TokenPoolInfo`, fields: {
139
+ /** Token type. */
140
+ token_type: type_name.TypeName,
141
+ /**
142
+ * Oracle ticker bound to this token type. Set at `add_token` time and immutable
143
+ * thereafter. Every per-token price lookup (`mint_wlp`, `settle_redeem`,
144
+ * `update_token_value`, perp collateral pricing) goes through this field — callers
145
+ * do _not_ supply a ticker string, eliminating the "lie about the asset I'm
146
+ * pricing" attack class.
147
+ */
148
+ ticker: bcs_1.bcs.string(),
149
+ /** Token decimal. */
150
+ token_decimal: bcs_1.bcs.u8(),
151
+ /** Target weight in bps (e.g., 5000 = 50%). */
152
+ target_weight_bps: bcs_1.bcs.u64(),
153
+ /** Mint fee in bps. */
154
+ mint_fee_bps: bcs_1.bcs.u64(),
155
+ /** Burn fee in bps. */
156
+ burn_fee_bps: bcs_1.bcs.u64(),
157
+ /** Max capacity. */
158
+ max_capacity: bcs_1.bcs.u64(),
159
+ /** Min deposit. */
160
+ min_deposit: bcs_1.bcs.u64(),
161
+ /** Per-interval borrow rate at utilization 0 (Float, 1e9 scale). */
162
+ basic_borrow_rate_0: float.Float,
163
+ /** Per-interval borrow rate at utilization threshold_0 (Float). */
164
+ basic_borrow_rate_1: float.Float,
165
+ /** Per-interval borrow rate at utilization threshold_1 (Float). */
166
+ basic_borrow_rate_2: float.Float,
167
+ utilization_threshold_0_bps: bcs_1.bcs.u64(),
168
+ utilization_threshold_1_bps: bcs_1.bcs.u64(),
169
+ borrow_interval_ms: bcs_1.bcs.u64(),
170
+ max_reserve_ratio_bps: bcs_1.bcs.u64(),
171
+ /** Liquidity amount in token units. */
172
+ liquidity_amount: bcs_1.bcs.u64(),
173
+ /** Value in USD. */
174
+ value_usd: float.Float,
175
+ /** Reserved amount for open positions. */
176
+ reserved_amount: bcs_1.bcs.u64(),
177
+ /** Last borrow rate update timestamp. */
178
+ last_borrow_timestamp: bcs_1.bcs.u64(),
179
+ /** Cumulative borrow rate as Float (1e9 scale). */
180
+ cumulative_borrow_rate: float.Float,
181
+ /** Last timestamp when this token price was refreshed via oracle. */
182
+ last_price_refresh_timestamp: bcs_1.bcs.u64()
183
+ } });
184
+ exports.WlpPool = new index_ts_1.MoveStruct({ name: `${$moduleName}::WlpPool<phantom LP_TOKEN>`, fields: {
185
+ id: bcs_1.bcs.Address,
186
+ /** Whether this pool is active. */
187
+ is_active: bcs_1.bcs.bool(),
188
+ /** Allowed protocol versions (admin-managed). */
189
+ allowed_versions: vec_set.VecSet(bcs_1.bcs.u16()),
190
+ /** LP token treasury cap. */
191
+ lp_treasury_cap: coin.TreasuryCap,
192
+ /** LP token decimal. */
193
+ lp_decimal: bcs_1.bcs.u8(),
194
+ /** Supported token types. */
195
+ token_types: bcs_1.bcs.vector(type_name.TypeName),
196
+ /** Token pool configs and states. */
197
+ token_pools: bcs_1.bcs.vector(exports.TokenPoolInfo),
198
+ /** Total value locked in USD (Float). */
199
+ tvl_usd: float.Float,
200
+ /** Redeem requests. */
201
+ redeem_requests: keyed_big_vector.KeyedBigVector,
202
+ /** Next redeem request ID. */
203
+ next_redeem_id: bcs_1.bcs.u64()
204
+ } });
205
+ exports.RedeemRequest = new index_ts_1.MoveStruct({ name: `${$moduleName}::RedeemRequest<phantom LP_TOKEN>`, fields: {
206
+ /** Wxa account ID to repay into at settlement. */
207
+ recipient_account_id: bcs_1.bcs.Address,
208
+ /** LP balance held pending settlement. */
209
+ lp_balance: balance.Balance,
210
+ /** Requested token type to receive. */
211
+ token_type: type_name.TypeName,
212
+ /** Request timestamp. */
213
+ request_timestamp: bcs_1.bcs.u64()
214
+ } });
215
+ exports.WlpAum = new index_ts_1.MoveStruct({ name: `${$moduleName}::WlpAum<phantom LP_TOKEN>`, fields: {
216
+ id: bcs_1.bcs.Address,
217
+ /** WLP pool this AUM object prices. */
218
+ pool_id: bcs_1.bcs.Address,
219
+ /** Registered market PnL contributions keyed by market ID. */
220
+ market_contributions: keyed_big_vector.KeyedBigVector,
221
+ /** Sum of registered markets where traders are in profit. */
222
+ total_trader_profit_usd: float.Float,
223
+ /** Sum of registered markets where traders are in loss. */
224
+ total_trader_loss_usd: float.Float
225
+ } });
226
+ exports.AumMarketContribution = new index_ts_1.MoveStruct({ name: `${$moduleName}::AumMarketContribution`, fields: {
227
+ /** Whether the market's aggregate unrealized PnL is trader profit. */
228
+ is_trader_profit: bcs_1.bcs.bool(),
229
+ /** Absolute aggregate unrealized PnL in USD. */
230
+ pnl_usd: float.Float,
231
+ /** Timestamp of the oracle price used to refresh this contribution. */
232
+ last_refresh_timestamp: bcs_1.bcs.u64()
233
+ } });
234
+ /**
235
+ * Pre-take permission check for WLP actions. Uses `WaterXPerp` as the permission
236
+ * scope (shared witness across the perp's wxa surface). `PERM_MINT_WLP` and
237
+ * `PERM_REDEEM_WLP` are the relevant bits. Must run before any `wxa_account::take`
238
+ * so a failed auth doesn't drain.
239
+ */
240
+ function assertWxaProtocolPerm(options) {
241
+ const packageAddress = options.package ?? '@waterx/perp';
242
+ const argumentsTypes = [
243
+ null,
244
+ '0x2::object::ID',
245
+ 'address',
246
+ 'u32',
247
+ '0x2::clock::Clock'
248
+ ];
249
+ const parameterNames = ["wxaRegistry", "accountId", "sender", "permission"];
250
+ return (tx) => tx.moveCall({
251
+ package: packageAddress,
252
+ module: 'lp_pool',
253
+ function: 'assert_wxa_protocol_perm',
254
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
255
+ });
256
+ }
257
+ /** Creates a new WLP pool (AdminCap-gated). */
258
+ function createPool(options) {
259
+ const packageAddress = options.package ?? '@waterx/perp';
260
+ const argumentsTypes = [
261
+ null,
262
+ null,
263
+ 'u8'
264
+ ];
265
+ const parameterNames = ["Cap", "lpTreasuryCap", "lpDecimal"];
266
+ return (tx) => tx.moveCall({
267
+ package: packageAddress,
268
+ module: 'lp_pool',
269
+ function: 'create_pool',
270
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
271
+ typeArguments: options.typeArguments
272
+ });
273
+ }
274
+ /** Creates a pool-level AUM object used for multi-market WLP share pricing. */
275
+ function createAum(options) {
276
+ const packageAddress = options.package ?? '@waterx/perp';
277
+ const argumentsTypes = [
278
+ null,
279
+ null
280
+ ];
281
+ const parameterNames = ["Cap", "pool"];
282
+ return (tx) => tx.moveCall({
283
+ package: packageAddress,
284
+ module: 'lp_pool',
285
+ function: 'create_aum',
286
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
287
+ typeArguments: options.typeArguments
288
+ });
289
+ }
290
+ function assertVersion(options) {
291
+ const packageAddress = options.package ?? '@waterx/perp';
292
+ const argumentsTypes = [
293
+ null
294
+ ];
295
+ const parameterNames = ["wlpPool"];
296
+ return (tx) => tx.moveCall({
297
+ package: packageAddress,
298
+ module: 'lp_pool',
299
+ function: 'assert_version',
300
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
301
+ typeArguments: options.typeArguments
302
+ });
303
+ }
304
+ function allowVersion(options) {
305
+ const packageAddress = options.package ?? '@waterx/perp';
306
+ const argumentsTypes = [
307
+ null,
308
+ null,
309
+ 'u16'
310
+ ];
311
+ const parameterNames = ["wlpPool", "_", "v"];
312
+ return (tx) => tx.moveCall({
313
+ package: packageAddress,
314
+ module: 'lp_pool',
315
+ function: 'allow_version',
316
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
317
+ typeArguments: options.typeArguments
318
+ });
319
+ }
320
+ function disallowVersion(options) {
321
+ const packageAddress = options.package ?? '@waterx/perp';
322
+ const argumentsTypes = [
323
+ null,
324
+ null,
325
+ 'u16'
326
+ ];
327
+ const parameterNames = ["wlpPool", "_", "v"];
328
+ return (tx) => tx.moveCall({
329
+ package: packageAddress,
330
+ module: 'lp_pool',
331
+ function: 'disallow_version',
332
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
333
+ typeArguments: options.typeArguments
334
+ });
335
+ }
336
+ /**
337
+ * Adds a supported token to the pool. `basic_borrow_rate_0/1/2` are scaled Float
338
+ * values (1e9 scale).
339
+ */
340
+ function addToken(options) {
341
+ const packageAddress = options.package ?? '@waterx/perp';
342
+ const argumentsTypes = [
343
+ null,
344
+ null,
345
+ '0x1::string::String',
346
+ 'u8',
347
+ 'u64',
348
+ 'u64',
349
+ 'u64',
350
+ 'u64',
351
+ 'u64',
352
+ 'u128',
353
+ 'u128',
354
+ 'u128',
355
+ 'u64',
356
+ 'u64',
357
+ 'u64',
358
+ 'u64',
359
+ '0x2::clock::Clock'
360
+ ];
361
+ const parameterNames = ["pool", "Cap", "ticker", "tokenDecimal", "targetWeightBps", "mintFeeBps", "burnFeeBps", "maxCapacity", "minDeposit", "basicBorrowRate_0", "basicBorrowRate_1", "basicBorrowRate_2", "utilizationThreshold_0Bps", "utilizationThreshold_1Bps", "borrowIntervalMs", "maxReserveRatioBps"];
362
+ return (tx) => tx.moveCall({
363
+ package: packageAddress,
364
+ module: 'lp_pool',
365
+ function: 'add_token',
366
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
367
+ typeArguments: options.typeArguments
368
+ });
369
+ }
370
+ /**
371
+ * Updates configuration for an existing token pool (AdminCap-gated). Does not
372
+ * modify state fields (liquidity, value, reserved, borrow state).
373
+ */
374
+ function updateTokenPoolConfig(options) {
375
+ const packageAddress = options.package ?? '@waterx/perp';
376
+ const argumentsTypes = [
377
+ null,
378
+ null,
379
+ 'u64',
380
+ 'u64',
381
+ 'u64',
382
+ 'u64',
383
+ 'u64',
384
+ 'u128',
385
+ 'u128',
386
+ 'u128',
387
+ 'u64',
388
+ 'u64',
389
+ 'u64',
390
+ 'u64'
391
+ ];
392
+ const parameterNames = ["pool", "Cap", "targetWeightBps", "mintFeeBps", "burnFeeBps", "maxCapacity", "minDeposit", "basicBorrowRate_0", "basicBorrowRate_1", "basicBorrowRate_2", "utilizationThreshold_0Bps", "utilizationThreshold_1Bps", "borrowIntervalMs", "maxReserveRatioBps"];
393
+ return (tx) => tx.moveCall({
394
+ package: packageAddress,
395
+ module: 'lp_pool',
396
+ function: 'update_token_pool_config',
397
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
398
+ typeArguments: options.typeArguments
399
+ });
400
+ }
401
+ /**
402
+ * Mints WLP by taking `deposit_amount` of `TOKEN` from the caller's wxa stored
403
+ * balance, pricing against AUM-adjusted TVL, and putting the minted WLP back into
404
+ * the same wxa account. Returns the minted `lp_amount` (also emitted on
405
+ * `WlpMinted`).
406
+ */
407
+ function mintWlp(options) {
408
+ const packageAddress = options.package ?? '@waterx/perp';
409
+ const argumentsTypes = [
410
+ null,
411
+ null,
412
+ null,
413
+ null,
414
+ null,
415
+ '0x2::object::ID',
416
+ 'u64',
417
+ 'u64',
418
+ null,
419
+ '0x2::clock::Clock'
420
+ ];
421
+ const parameterNames = ["pool", "globalConfig", "wxaRegistry", "aum", "senderRequest", "accountId", "depositAmount", "minLpAmount", "oracle"];
422
+ return (tx) => tx.moveCall({
423
+ package: packageAddress,
424
+ module: 'lp_pool',
425
+ function: 'mint_wlp',
426
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
427
+ typeArguments: options.typeArguments
428
+ });
429
+ }
430
+ /**
431
+ * Enqueues a WLP redeem (T+1 settlement) by taking `lp_amount` of `LP_TOKEN` from
432
+ * the caller's wxa stored balance into a pending `RedeemRequest`. Returns the
433
+ * `request_id`. Settlement (via `settle_redeem`) and cancellation (via
434
+ * `cancel_redeem`) repay the proceeds / WLP back into the same wxa account.
435
+ */
436
+ function requestRedeem(options) {
437
+ const packageAddress = options.package ?? '@waterx/perp';
438
+ const argumentsTypes = [
439
+ null,
440
+ null,
441
+ null,
442
+ null,
443
+ '0x2::object::ID',
444
+ 'u64',
445
+ '0x2::clock::Clock'
446
+ ];
447
+ const parameterNames = ["pool", "globalConfig", "wxaRegistry", "senderRequest", "accountId", "lpAmount"];
448
+ return (tx) => tx.moveCall({
449
+ package: packageAddress,
450
+ module: 'lp_pool',
451
+ function: 'request_redeem',
452
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
453
+ typeArguments: options.typeArguments
454
+ });
455
+ }
456
+ function mintWlpWithPricingTvl(options) {
457
+ const packageAddress = options.package ?? '@waterx/perp';
458
+ const argumentsTypes = [
459
+ null,
460
+ null,
461
+ null,
462
+ null,
463
+ '0x1::string::String',
464
+ null,
465
+ 'u64',
466
+ 'address',
467
+ '0x2::clock::Clock'
468
+ ];
469
+ const parameterNames = ["pool", "globalConfig", "deposit", "oracle", "ticker", "pricingTvlUsd", "minLpAmount", "accountId"];
470
+ return (tx) => tx.moveCall({
471
+ package: packageAddress,
472
+ module: 'lp_pool',
473
+ function: 'mint_wlp_with_pricing_tvl',
474
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
475
+ typeArguments: options.typeArguments
476
+ });
477
+ }
478
+ function doRequestRedeem(options) {
479
+ const packageAddress = options.package ?? '@waterx/perp';
480
+ const argumentsTypes = [
481
+ null,
482
+ null,
483
+ '0x2::object::ID',
484
+ null,
485
+ 'u64',
486
+ '0x2::clock::Clock'
487
+ ];
488
+ const parameterNames = ["pool", "globalConfig", "recipientAccountId", "lpBalance", "expectedLpAmount"];
489
+ return (tx) => tx.moveCall({
490
+ package: packageAddress,
491
+ module: 'lp_pool',
492
+ function: 'do_request_redeem',
493
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
494
+ typeArguments: options.typeArguments
495
+ });
496
+ }
497
+ /**
498
+ * Cancels a pending WLP redeem request. Caller must hold `PERM_REDEEM_WLP` on the
499
+ * recipient wxa account (checked under the shared `WaterXPerp` permission scope).
500
+ * The escrowed WLP is put back into the recipient account.
501
+ */
502
+ function cancelRedeem(options) {
503
+ const packageAddress = options.package ?? '@waterx/perp';
504
+ const argumentsTypes = [
505
+ null,
506
+ null,
507
+ null,
508
+ null,
509
+ 'u64',
510
+ '0x2::clock::Clock'
511
+ ];
512
+ const parameterNames = ["pool", "globalConfig", "wxaRegistry", "senderRequest", "requestId"];
513
+ return (tx) => tx.moveCall({
514
+ package: packageAddress,
515
+ module: 'lp_pool',
516
+ function: 'cancel_redeem',
517
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
518
+ typeArguments: options.typeArguments
519
+ });
520
+ }
521
+ /**
522
+ * Rejects a pending WLP redeem request as admin and repays the LP back to the
523
+ * original recipient's wxa account.
524
+ */
525
+ function rejectRedeemByAdmin(options) {
526
+ const packageAddress = options.package ?? '@waterx/perp';
527
+ const argumentsTypes = [
528
+ null,
529
+ null,
530
+ null,
531
+ 'u64'
532
+ ];
533
+ const parameterNames = ["pool", "wxaRegistry", "Cap", "requestId"];
534
+ return (tx) => tx.moveCall({
535
+ package: packageAddress,
536
+ module: 'lp_pool',
537
+ function: 'reject_redeem_by_admin',
538
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
539
+ typeArguments: options.typeArguments
540
+ });
541
+ }
542
+ /**
543
+ * Rejects a pending WLP redeem request as redeem operator and repays the LP back
544
+ * to the original recipient's wxa account.
545
+ */
546
+ function rejectRedeemByRedeemOperator(options) {
547
+ const packageAddress = options.package ?? '@waterx/perp';
548
+ const argumentsTypes = [
549
+ null,
550
+ null,
551
+ null,
552
+ null,
553
+ 'u64'
554
+ ];
555
+ const parameterNames = ["pool", "globalConfig", "wxaRegistry", "operatorRequest", "requestId"];
556
+ return (tx) => tx.moveCall({
557
+ package: packageAddress,
558
+ module: 'lp_pool',
559
+ function: 'reject_redeem_by_redeem_operator',
560
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
561
+ typeArguments: options.typeArguments
562
+ });
563
+ }
564
+ /**
565
+ * Settles a WLP redeem request using pool-level AUM pricing. The payout is repaid
566
+ * back into the recipient's wxa account as `Balance<TOKEN>` via
567
+ * `wxa_account::put<TOKEN, WaterXPerp>`.
568
+ */
569
+ function settleRedeem(options) {
570
+ const packageAddress = options.package ?? '@waterx/perp';
571
+ const argumentsTypes = [
572
+ null,
573
+ null,
574
+ null,
575
+ null,
576
+ null,
577
+ 'u64',
578
+ null,
579
+ '0x2::clock::Clock'
580
+ ];
581
+ const parameterNames = ["pool", "globalConfig", "wxaRegistry", "operatorRequest", "aum", "requestId", "oracle"];
582
+ return (tx) => tx.moveCall({
583
+ package: packageAddress,
584
+ module: 'lp_pool',
585
+ function: 'settle_redeem',
586
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
587
+ typeArguments: options.typeArguments
588
+ });
589
+ }
590
+ function settleRedeemWithPricingTvl(options) {
591
+ const packageAddress = options.package ?? '@waterx/perp';
592
+ const argumentsTypes = [
593
+ null,
594
+ null,
595
+ 'u64',
596
+ null,
597
+ '0x1::string::String',
598
+ null,
599
+ '0x2::clock::Clock'
600
+ ];
601
+ const parameterNames = ["pool", "globalConfig", "requestId", "oracle", "ticker", "pricingTvlUsd"];
602
+ return (tx) => tx.moveCall({
603
+ package: packageAddress,
604
+ module: 'lp_pool',
605
+ function: 'settle_redeem_with_pricing_tvl',
606
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
607
+ typeArguments: options.typeArguments
608
+ });
609
+ }
610
+ /** Updates borrow rates for all token pools. */
611
+ function updateBorrowRates(options) {
612
+ const packageAddress = options.package ?? '@waterx/perp';
613
+ const argumentsTypes = [
614
+ null,
615
+ '0x2::clock::Clock'
616
+ ];
617
+ const parameterNames = ["pool"];
618
+ return (tx) => tx.moveCall({
619
+ package: packageAddress,
620
+ module: 'lp_pool',
621
+ function: 'update_borrow_rates',
622
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
623
+ typeArguments: options.typeArguments
624
+ });
625
+ }
626
+ function updateTokenValue(options) {
627
+ const packageAddress = options.package ?? '@waterx/perp';
628
+ const argumentsTypes = [
629
+ null,
630
+ null,
631
+ '0x2::clock::Clock'
632
+ ];
633
+ const parameterNames = ["pool", "oracle"];
634
+ return (tx) => tx.moveCall({
635
+ package: packageAddress,
636
+ module: 'lp_pool',
637
+ function: 'update_token_value',
638
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
639
+ typeArguments: options.typeArguments
640
+ });
641
+ }
642
+ function aumPoolId(options) {
643
+ const packageAddress = options.package ?? '@waterx/perp';
644
+ const argumentsTypes = [
645
+ null
646
+ ];
647
+ const parameterNames = ["aum"];
648
+ return (tx) => tx.moveCall({
649
+ package: packageAddress,
650
+ module: 'lp_pool',
651
+ function: 'aum_pool_id',
652
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
653
+ typeArguments: options.typeArguments
654
+ });
655
+ }
656
+ function aumMarketCount(options) {
657
+ const packageAddress = options.package ?? '@waterx/perp';
658
+ const argumentsTypes = [
659
+ null
660
+ ];
661
+ const parameterNames = ["aum"];
662
+ return (tx) => tx.moveCall({
663
+ package: packageAddress,
664
+ module: 'lp_pool',
665
+ function: 'aum_market_count',
666
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
667
+ typeArguments: options.typeArguments
668
+ });
669
+ }
670
+ function aumTotalTraderProfitUsd(options) {
671
+ const packageAddress = options.package ?? '@waterx/perp';
672
+ const argumentsTypes = [
673
+ null
674
+ ];
675
+ const parameterNames = ["aum"];
676
+ return (tx) => tx.moveCall({
677
+ package: packageAddress,
678
+ module: 'lp_pool',
679
+ function: 'aum_total_trader_profit_usd',
680
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
681
+ typeArguments: options.typeArguments
682
+ });
683
+ }
684
+ function aumTotalTraderLossUsd(options) {
685
+ const packageAddress = options.package ?? '@waterx/perp';
686
+ const argumentsTypes = [
687
+ null
688
+ ];
689
+ const parameterNames = ["aum"];
690
+ return (tx) => tx.moveCall({
691
+ package: packageAddress,
692
+ module: 'lp_pool',
693
+ function: 'aum_total_trader_loss_usd',
694
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
695
+ typeArguments: options.typeArguments
696
+ });
697
+ }
698
+ function aumMarketContribution(options) {
699
+ const packageAddress = options.package ?? '@waterx/perp';
700
+ const argumentsTypes = [
701
+ null,
702
+ '0x2::object::ID'
703
+ ];
704
+ const parameterNames = ["aum", "marketId"];
705
+ return (tx) => tx.moveCall({
706
+ package: packageAddress,
707
+ module: 'lp_pool',
708
+ function: 'aum_market_contribution',
709
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
710
+ typeArguments: options.typeArguments
711
+ });
712
+ }
713
+ function aumMarketContributionByIndex(options) {
714
+ const packageAddress = options.package ?? '@waterx/perp';
715
+ const argumentsTypes = [
716
+ null,
717
+ 'u64'
718
+ ];
719
+ const parameterNames = ["aum", "index"];
720
+ return (tx) => tx.moveCall({
721
+ package: packageAddress,
722
+ module: 'lp_pool',
723
+ function: 'aum_market_contribution_by_index',
724
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
725
+ typeArguments: options.typeArguments
726
+ });
727
+ }
728
+ function aumContributionIsTraderProfit(options) {
729
+ const packageAddress = options.package ?? '@waterx/perp';
730
+ const argumentsTypes = [
731
+ null
732
+ ];
733
+ const parameterNames = ["c"];
734
+ return (tx) => tx.moveCall({
735
+ package: packageAddress,
736
+ module: 'lp_pool',
737
+ function: 'aum_contribution_is_trader_profit',
738
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
739
+ });
740
+ }
741
+ function aumContributionPnlUsd(options) {
742
+ const packageAddress = options.package ?? '@waterx/perp';
743
+ const argumentsTypes = [
744
+ null
745
+ ];
746
+ const parameterNames = ["c"];
747
+ return (tx) => tx.moveCall({
748
+ package: packageAddress,
749
+ module: 'lp_pool',
750
+ function: 'aum_contribution_pnl_usd',
751
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
752
+ });
753
+ }
754
+ function aumContributionLastRefreshTimestamp(options) {
755
+ const packageAddress = options.package ?? '@waterx/perp';
756
+ const argumentsTypes = [
757
+ null
758
+ ];
759
+ const parameterNames = ["c"];
760
+ return (tx) => tx.moveCall({
761
+ package: packageAddress,
762
+ module: 'lp_pool',
763
+ function: 'aum_contribution_last_refresh_timestamp',
764
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
765
+ });
766
+ }
767
+ /** Registers a market contribution for this WLP AUM object. */
768
+ function registerMarketAum(options) {
769
+ const packageAddress = options.package ?? '@waterx/perp';
770
+ const argumentsTypes = [
771
+ null,
772
+ null,
773
+ '0x2::object::ID',
774
+ 'bool',
775
+ null,
776
+ '0x2::clock::Clock'
777
+ ];
778
+ const parameterNames = ["aum", "Cap", "marketId", "isTraderProfit", "pnlUsd"];
779
+ return (tx) => tx.moveCall({
780
+ package: packageAddress,
781
+ module: 'lp_pool',
782
+ function: 'register_market_aum',
783
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
784
+ typeArguments: options.typeArguments
785
+ });
786
+ }
787
+ /** Refreshes an existing market's AUM contribution. */
788
+ function refreshMarketAum(options) {
789
+ const packageAddress = options.package ?? '@waterx/perp';
790
+ const argumentsTypes = [
791
+ null,
792
+ '0x2::object::ID',
793
+ 'bool',
794
+ null,
795
+ '0x2::clock::Clock'
796
+ ];
797
+ const parameterNames = ["aum", "marketId", "isTraderProfit", "pnlUsd"];
798
+ return (tx) => tx.moveCall({
799
+ package: packageAddress,
800
+ module: 'lp_pool',
801
+ function: 'refresh_market_aum',
802
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
803
+ typeArguments: options.typeArguments
804
+ });
805
+ }
806
+ /** Returns WLP equity after applying all registered market unrealized PnL. */
807
+ function aumEquityUsd(options) {
808
+ const packageAddress = options.package ?? '@waterx/perp';
809
+ const argumentsTypes = [
810
+ null,
811
+ null,
812
+ null,
813
+ '0x2::clock::Clock'
814
+ ];
815
+ const parameterNames = ["pool", "aum", "globalConfig"];
816
+ return (tx) => tx.moveCall({
817
+ package: packageAddress,
818
+ module: 'lp_pool',
819
+ function: 'aum_equity_usd',
820
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
821
+ typeArguments: options.typeArguments
822
+ });
823
+ }
824
+ /** Gets cumulative borrow rate for a token. */
825
+ function cumulativeBorrowRate(options) {
826
+ const packageAddress = options.package ?? '@waterx/perp';
827
+ const argumentsTypes = [
828
+ null,
829
+ null
830
+ ];
831
+ const parameterNames = ["pool", "tokenType"];
832
+ return (tx) => tx.moveCall({
833
+ package: packageAddress,
834
+ module: 'lp_pool',
835
+ function: 'cumulative_borrow_rate',
836
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
837
+ typeArguments: options.typeArguments
838
+ });
839
+ }
840
+ /** Gets TVL in USD. */
841
+ function tvlUsd(options) {
842
+ const packageAddress = options.package ?? '@waterx/perp';
843
+ const argumentsTypes = [
844
+ null
845
+ ];
846
+ const parameterNames = ["pool"];
847
+ return (tx) => tx.moveCall({
848
+ package: packageAddress,
849
+ module: 'lp_pool',
850
+ function: 'tvl_usd',
851
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
852
+ typeArguments: options.typeArguments
853
+ });
854
+ }
855
+ /** Checks if OI is within cap (reads from global_config.oi_cap_bps; 0 = no cap). */
856
+ function checkOiCap(options) {
857
+ const packageAddress = options.package ?? '@waterx/perp';
858
+ const argumentsTypes = [
859
+ null,
860
+ null,
861
+ null
862
+ ];
863
+ const parameterNames = ["pool", "globalConfig", "totalOiUsd"];
864
+ return (tx) => tx.moveCall({
865
+ package: packageAddress,
866
+ module: 'lp_pool',
867
+ function: 'check_oi_cap',
868
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
869
+ typeArguments: options.typeArguments
870
+ });
871
+ }
872
+ /** Checks if reserve is within max ratio. */
873
+ function checkReserveValid(options) {
874
+ const packageAddress = options.package ?? '@waterx/perp';
875
+ const argumentsTypes = [
876
+ null,
877
+ null,
878
+ 'u64'
879
+ ];
880
+ const parameterNames = ["pool", "tokenType", "additionalReserve"];
881
+ return (tx) => tx.moveCall({
882
+ package: packageAddress,
883
+ module: 'lp_pool',
884
+ function: 'check_reserve_valid',
885
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
886
+ typeArguments: options.typeArguments
887
+ });
888
+ }
889
+ /** Increases reserved amount. */
890
+ function increaseReserve(options) {
891
+ const packageAddress = options.package ?? '@waterx/perp';
892
+ const argumentsTypes = [
893
+ null,
894
+ null,
895
+ 'u64'
896
+ ];
897
+ const parameterNames = ["pool", "tokenType", "amount"];
898
+ return (tx) => tx.moveCall({
899
+ package: packageAddress,
900
+ module: 'lp_pool',
901
+ function: 'increase_reserve',
902
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
903
+ typeArguments: options.typeArguments
904
+ });
905
+ }
906
+ /** Decreases reserved amount. */
907
+ function decreaseReserve(options) {
908
+ const packageAddress = options.package ?? '@waterx/perp';
909
+ const argumentsTypes = [
910
+ null,
911
+ null,
912
+ 'u64'
913
+ ];
914
+ const parameterNames = ["pool", "tokenType", "amount"];
915
+ return (tx) => tx.moveCall({
916
+ package: packageAddress,
917
+ module: 'lp_pool',
918
+ function: 'decrease_reserve',
919
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
920
+ typeArguments: options.typeArguments
921
+ });
922
+ }
923
+ /** Puts collateral back into the pool (from fees/losses). */
924
+ function putCollateral(options) {
925
+ const packageAddress = options.package ?? '@waterx/perp';
926
+ const argumentsTypes = [
927
+ null,
928
+ null,
929
+ null,
930
+ null
931
+ ];
932
+ const parameterNames = ["pool", "globalConfig", "collateral", "price"];
933
+ return (tx) => tx.moveCall({
934
+ package: packageAddress,
935
+ module: 'lp_pool',
936
+ function: 'put_collateral',
937
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
938
+ typeArguments: options.typeArguments
939
+ });
940
+ }
941
+ /** Requests collateral from the pool (for profit payout). */
942
+ function requestCollateral(options) {
943
+ const packageAddress = options.package ?? '@waterx/perp';
944
+ const argumentsTypes = [
945
+ null,
946
+ null,
947
+ 'u64',
948
+ null
949
+ ];
950
+ const parameterNames = ["pool", "globalConfig", "amount", "price"];
951
+ return (tx) => tx.moveCall({
952
+ package: packageAddress,
953
+ module: 'lp_pool',
954
+ function: 'request_collateral',
955
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
956
+ typeArguments: options.typeArguments
957
+ });
958
+ }
959
+ /** Gets token pool info (copy). */
960
+ function tokenPoolInfo(options) {
961
+ const packageAddress = options.package ?? '@waterx/perp';
962
+ const argumentsTypes = [
963
+ null,
964
+ null
965
+ ];
966
+ const parameterNames = ["pool", "tokenType"];
967
+ return (tx) => tx.moveCall({
968
+ package: packageAddress,
969
+ module: 'lp_pool',
970
+ function: 'token_pool_info',
971
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
972
+ typeArguments: options.typeArguments
973
+ });
974
+ }
975
+ /** Gets token decimal. */
976
+ function tokenDecimal(options) {
977
+ const packageAddress = options.package ?? '@waterx/perp';
978
+ const argumentsTypes = [
979
+ null,
980
+ null
981
+ ];
982
+ const parameterNames = ["pool", "tokenType"];
983
+ return (tx) => tx.moveCall({
984
+ package: packageAddress,
985
+ module: 'lp_pool',
986
+ function: 'token_decimal',
987
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
988
+ typeArguments: options.typeArguments
989
+ });
990
+ }
991
+ /**
992
+ * Returns the oracle ticker bound to `TOKEN` at `add_token` time. This is the only
993
+ * source of truth for "what ticker do I price TOKEN at?" — perp + lp_pool
994
+ * callsites look it up here instead of accepting a free-form string from the
995
+ * caller. Aborts if TOKEN is not a supported token in this pool.
996
+ */
997
+ function tokenTicker(options) {
998
+ const packageAddress = options.package ?? '@waterx/perp';
999
+ const argumentsTypes = [
1000
+ null
1001
+ ];
1002
+ const parameterNames = ["pool"];
1003
+ return (tx) => tx.moveCall({
1004
+ package: packageAddress,
1005
+ module: 'lp_pool',
1006
+ function: 'token_ticker',
1007
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1008
+ typeArguments: options.typeArguments
1009
+ });
1010
+ }
1011
+ /** Suspend/resume pool. */
1012
+ function suspendPool(options) {
1013
+ const packageAddress = options.package ?? '@waterx/perp';
1014
+ const argumentsTypes = [
1015
+ null,
1016
+ null
1017
+ ];
1018
+ const parameterNames = ["pool", "Cap"];
1019
+ return (tx) => tx.moveCall({
1020
+ package: packageAddress,
1021
+ module: 'lp_pool',
1022
+ function: 'suspend_pool',
1023
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1024
+ typeArguments: options.typeArguments
1025
+ });
1026
+ }
1027
+ function resumePool(options) {
1028
+ const packageAddress = options.package ?? '@waterx/perp';
1029
+ const argumentsTypes = [
1030
+ null,
1031
+ null
1032
+ ];
1033
+ const parameterNames = ["pool", "Cap"];
1034
+ return (tx) => tx.moveCall({
1035
+ package: packageAddress,
1036
+ module: 'lp_pool',
1037
+ function: 'resume_pool',
1038
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1039
+ typeArguments: options.typeArguments
1040
+ });
1041
+ }
1042
+ /** Whether the pool is active. */
1043
+ function isActive(options) {
1044
+ const packageAddress = options.package ?? '@waterx/perp';
1045
+ const argumentsTypes = [
1046
+ null
1047
+ ];
1048
+ const parameterNames = ["pool"];
1049
+ return (tx) => tx.moveCall({
1050
+ package: packageAddress,
1051
+ module: 'lp_pool',
1052
+ function: 'is_active',
1053
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1054
+ typeArguments: options.typeArguments
1055
+ });
1056
+ }
1057
+ /** LP token decimal. */
1058
+ function lpDecimal(options) {
1059
+ const packageAddress = options.package ?? '@waterx/perp';
1060
+ const argumentsTypes = [
1061
+ null
1062
+ ];
1063
+ const parameterNames = ["pool"];
1064
+ return (tx) => tx.moveCall({
1065
+ package: packageAddress,
1066
+ module: 'lp_pool',
1067
+ function: 'lp_decimal',
1068
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1069
+ typeArguments: options.typeArguments
1070
+ });
1071
+ }
1072
+ /** Total LP supply (derived from treasury cap). */
1073
+ function totalLpSupply(options) {
1074
+ const packageAddress = options.package ?? '@waterx/perp';
1075
+ const argumentsTypes = [
1076
+ null
1077
+ ];
1078
+ const parameterNames = ["pool"];
1079
+ return (tx) => tx.moveCall({
1080
+ package: packageAddress,
1081
+ module: 'lp_pool',
1082
+ function: 'total_lp_supply',
1083
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1084
+ typeArguments: options.typeArguments
1085
+ });
1086
+ }
1087
+ function borrowRedeemRequests(options) {
1088
+ const packageAddress = options.package ?? '@waterx/perp';
1089
+ const argumentsTypes = [
1090
+ null
1091
+ ];
1092
+ const parameterNames = ["pool"];
1093
+ return (tx) => tx.moveCall({
1094
+ package: packageAddress,
1095
+ module: 'lp_pool',
1096
+ function: 'borrow_redeem_requests',
1097
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1098
+ typeArguments: options.typeArguments
1099
+ });
1100
+ }
1101
+ /** TVL in USD as Float. */
1102
+ function poolTvlUsd(options) {
1103
+ const packageAddress = options.package ?? '@waterx/perp';
1104
+ const argumentsTypes = [
1105
+ null
1106
+ ];
1107
+ const parameterNames = ["pool"];
1108
+ return (tx) => tx.moveCall({
1109
+ package: packageAddress,
1110
+ module: 'lp_pool',
1111
+ function: 'pool_tvl_usd',
1112
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1113
+ typeArguments: options.typeArguments
1114
+ });
1115
+ }
1116
+ /** Number of supported tokens. */
1117
+ function tokenCount(options) {
1118
+ const packageAddress = options.package ?? '@waterx/perp';
1119
+ const argumentsTypes = [
1120
+ null
1121
+ ];
1122
+ const parameterNames = ["pool"];
1123
+ return (tx) => tx.moveCall({
1124
+ package: packageAddress,
1125
+ module: 'lp_pool',
1126
+ function: 'token_count',
1127
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1128
+ typeArguments: options.typeArguments
1129
+ });
1130
+ }
1131
+ /** Borrows a TokenPoolInfo by index. */
1132
+ function borrowTokenPoolByIndex(options) {
1133
+ const packageAddress = options.package ?? '@waterx/perp';
1134
+ const argumentsTypes = [
1135
+ null,
1136
+ 'u64'
1137
+ ];
1138
+ const parameterNames = ["pool", "index"];
1139
+ return (tx) => tx.moveCall({
1140
+ package: packageAddress,
1141
+ module: 'lp_pool',
1142
+ function: 'borrow_token_pool_by_index',
1143
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1144
+ typeArguments: options.typeArguments
1145
+ });
1146
+ }
1147
+ /** TokenPoolInfo field accessors. */
1148
+ function tpiTokenType(options) {
1149
+ const packageAddress = options.package ?? '@waterx/perp';
1150
+ const argumentsTypes = [
1151
+ null
1152
+ ];
1153
+ const parameterNames = ["tp"];
1154
+ return (tx) => tx.moveCall({
1155
+ package: packageAddress,
1156
+ module: 'lp_pool',
1157
+ function: 'tpi_token_type',
1158
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1159
+ });
1160
+ }
1161
+ function tpiTicker(options) {
1162
+ const packageAddress = options.package ?? '@waterx/perp';
1163
+ const argumentsTypes = [
1164
+ null
1165
+ ];
1166
+ const parameterNames = ["tp"];
1167
+ return (tx) => tx.moveCall({
1168
+ package: packageAddress,
1169
+ module: 'lp_pool',
1170
+ function: 'tpi_ticker',
1171
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1172
+ });
1173
+ }
1174
+ function tpiTokenDecimal(options) {
1175
+ const packageAddress = options.package ?? '@waterx/perp';
1176
+ const argumentsTypes = [
1177
+ null
1178
+ ];
1179
+ const parameterNames = ["tp"];
1180
+ return (tx) => tx.moveCall({
1181
+ package: packageAddress,
1182
+ module: 'lp_pool',
1183
+ function: 'tpi_token_decimal',
1184
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1185
+ });
1186
+ }
1187
+ function tpiLiquidityAmount(options) {
1188
+ const packageAddress = options.package ?? '@waterx/perp';
1189
+ const argumentsTypes = [
1190
+ null
1191
+ ];
1192
+ const parameterNames = ["tp"];
1193
+ return (tx) => tx.moveCall({
1194
+ package: packageAddress,
1195
+ module: 'lp_pool',
1196
+ function: 'tpi_liquidity_amount',
1197
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1198
+ });
1199
+ }
1200
+ function tpiReservedAmount(options) {
1201
+ const packageAddress = options.package ?? '@waterx/perp';
1202
+ const argumentsTypes = [
1203
+ null
1204
+ ];
1205
+ const parameterNames = ["tp"];
1206
+ return (tx) => tx.moveCall({
1207
+ package: packageAddress,
1208
+ module: 'lp_pool',
1209
+ function: 'tpi_reserved_amount',
1210
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1211
+ });
1212
+ }
1213
+ function tpiValueUsd(options) {
1214
+ const packageAddress = options.package ?? '@waterx/perp';
1215
+ const argumentsTypes = [
1216
+ null
1217
+ ];
1218
+ const parameterNames = ["tp"];
1219
+ return (tx) => tx.moveCall({
1220
+ package: packageAddress,
1221
+ module: 'lp_pool',
1222
+ function: 'tpi_value_usd',
1223
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1224
+ });
1225
+ }
1226
+ function tpiTargetWeightBps(options) {
1227
+ const packageAddress = options.package ?? '@waterx/perp';
1228
+ const argumentsTypes = [
1229
+ null
1230
+ ];
1231
+ const parameterNames = ["tp"];
1232
+ return (tx) => tx.moveCall({
1233
+ package: packageAddress,
1234
+ module: 'lp_pool',
1235
+ function: 'tpi_target_weight_bps',
1236
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1237
+ });
1238
+ }
1239
+ function tpiMintFeeBps(options) {
1240
+ const packageAddress = options.package ?? '@waterx/perp';
1241
+ const argumentsTypes = [
1242
+ null
1243
+ ];
1244
+ const parameterNames = ["tp"];
1245
+ return (tx) => tx.moveCall({
1246
+ package: packageAddress,
1247
+ module: 'lp_pool',
1248
+ function: 'tpi_mint_fee_bps',
1249
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1250
+ });
1251
+ }
1252
+ function tpiBurnFeeBps(options) {
1253
+ const packageAddress = options.package ?? '@waterx/perp';
1254
+ const argumentsTypes = [
1255
+ null
1256
+ ];
1257
+ const parameterNames = ["tp"];
1258
+ return (tx) => tx.moveCall({
1259
+ package: packageAddress,
1260
+ module: 'lp_pool',
1261
+ function: 'tpi_burn_fee_bps',
1262
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1263
+ });
1264
+ }
1265
+ function tpiCumulativeBorrowRate(options) {
1266
+ const packageAddress = options.package ?? '@waterx/perp';
1267
+ const argumentsTypes = [
1268
+ null
1269
+ ];
1270
+ const parameterNames = ["tp"];
1271
+ return (tx) => tx.moveCall({
1272
+ package: packageAddress,
1273
+ module: 'lp_pool',
1274
+ function: 'tpi_cumulative_borrow_rate',
1275
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1276
+ });
1277
+ }
1278
+ function tpiLastPriceRefreshTimestamp(options) {
1279
+ const packageAddress = options.package ?? '@waterx/perp';
1280
+ const argumentsTypes = [
1281
+ null
1282
+ ];
1283
+ const parameterNames = ["tp"];
1284
+ return (tx) => tx.moveCall({
1285
+ package: packageAddress,
1286
+ module: 'lp_pool',
1287
+ function: 'tpi_last_price_refresh_timestamp',
1288
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1289
+ });
1290
+ }
1291
+ function redeemRecipientAccountId(options) {
1292
+ const packageAddress = options.package ?? '@waterx/perp';
1293
+ const argumentsTypes = [
1294
+ null
1295
+ ];
1296
+ const parameterNames = ["r"];
1297
+ return (tx) => tx.moveCall({
1298
+ package: packageAddress,
1299
+ module: 'lp_pool',
1300
+ function: 'redeem_recipient_account_id',
1301
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1302
+ typeArguments: options.typeArguments
1303
+ });
1304
+ }
1305
+ function redeemLpAmount(options) {
1306
+ const packageAddress = options.package ?? '@waterx/perp';
1307
+ const argumentsTypes = [
1308
+ null
1309
+ ];
1310
+ const parameterNames = ["r"];
1311
+ return (tx) => tx.moveCall({
1312
+ package: packageAddress,
1313
+ module: 'lp_pool',
1314
+ function: 'redeem_lp_amount',
1315
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1316
+ typeArguments: options.typeArguments
1317
+ });
1318
+ }
1319
+ function redeemTokenType(options) {
1320
+ const packageAddress = options.package ?? '@waterx/perp';
1321
+ const argumentsTypes = [
1322
+ null
1323
+ ];
1324
+ const parameterNames = ["r"];
1325
+ return (tx) => tx.moveCall({
1326
+ package: packageAddress,
1327
+ module: 'lp_pool',
1328
+ function: 'redeem_token_type',
1329
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1330
+ typeArguments: options.typeArguments
1331
+ });
1332
+ }
1333
+ function redeemRequestTimestamp(options) {
1334
+ const packageAddress = options.package ?? '@waterx/perp';
1335
+ const argumentsTypes = [
1336
+ null
1337
+ ];
1338
+ const parameterNames = ["r"];
1339
+ return (tx) => tx.moveCall({
1340
+ package: packageAddress,
1341
+ module: 'lp_pool',
1342
+ function: 'redeem_request_timestamp',
1343
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1344
+ typeArguments: options.typeArguments
1345
+ });
1346
+ }
1347
+ function findTokenPoolIndex(options) {
1348
+ const packageAddress = options.package ?? '@waterx/perp';
1349
+ const argumentsTypes = [
1350
+ null,
1351
+ null
1352
+ ];
1353
+ const parameterNames = ["pool", "tokenType"];
1354
+ return (tx) => tx.moveCall({
1355
+ package: packageAddress,
1356
+ module: 'lp_pool',
1357
+ function: 'find_token_pool_index',
1358
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1359
+ typeArguments: options.typeArguments
1360
+ });
1361
+ }
1362
+ function borrowTokenPool(options) {
1363
+ const packageAddress = options.package ?? '@waterx/perp';
1364
+ const argumentsTypes = [
1365
+ null,
1366
+ null
1367
+ ];
1368
+ const parameterNames = ["pool", "tokenType"];
1369
+ return (tx) => tx.moveCall({
1370
+ package: packageAddress,
1371
+ module: 'lp_pool',
1372
+ function: 'borrow_token_pool',
1373
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1374
+ typeArguments: options.typeArguments
1375
+ });
1376
+ }
1377
+ function borrowMutTokenPool(options) {
1378
+ const packageAddress = options.package ?? '@waterx/perp';
1379
+ const argumentsTypes = [
1380
+ null,
1381
+ null
1382
+ ];
1383
+ const parameterNames = ["pool", "tokenType"];
1384
+ return (tx) => tx.moveCall({
1385
+ package: packageAddress,
1386
+ module: 'lp_pool',
1387
+ function: 'borrow_mut_token_pool',
1388
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1389
+ typeArguments: options.typeArguments
1390
+ });
1391
+ }
1392
+ function refreshTokenValueWithPrice(options) {
1393
+ const packageAddress = options.package ?? '@waterx/perp';
1394
+ const argumentsTypes = [
1395
+ null,
1396
+ null,
1397
+ 'u64'
1398
+ ];
1399
+ const parameterNames = ["pool", "price", "refreshTimestamp"];
1400
+ return (tx) => tx.moveCall({
1401
+ package: packageAddress,
1402
+ module: 'lp_pool',
1403
+ function: 'refresh_token_value_with_price',
1404
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1405
+ typeArguments: options.typeArguments
1406
+ });
1407
+ }
1408
+ function addAumContribution(options) {
1409
+ const packageAddress = options.package ?? '@waterx/perp';
1410
+ const argumentsTypes = [
1411
+ null,
1412
+ null
1413
+ ];
1414
+ const parameterNames = ["aum", "contribution"];
1415
+ return (tx) => tx.moveCall({
1416
+ package: packageAddress,
1417
+ module: 'lp_pool',
1418
+ function: 'add_aum_contribution',
1419
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1420
+ typeArguments: options.typeArguments
1421
+ });
1422
+ }
1423
+ function removeAumContribution(options) {
1424
+ const packageAddress = options.package ?? '@waterx/perp';
1425
+ const argumentsTypes = [
1426
+ null,
1427
+ null
1428
+ ];
1429
+ const parameterNames = ["aum", "contribution"];
1430
+ return (tx) => tx.moveCall({
1431
+ package: packageAddress,
1432
+ module: 'lp_pool',
1433
+ function: 'remove_aum_contribution',
1434
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1435
+ typeArguments: options.typeArguments
1436
+ });
1437
+ }
1438
+ function assertAumFresh(options) {
1439
+ const packageAddress = options.package ?? '@waterx/perp';
1440
+ const argumentsTypes = [
1441
+ null,
1442
+ null,
1443
+ '0x2::clock::Clock'
1444
+ ];
1445
+ const parameterNames = ["aum", "globalConfig"];
1446
+ return (tx) => tx.moveCall({
1447
+ package: packageAddress,
1448
+ module: 'lp_pool',
1449
+ function: 'assert_aum_fresh',
1450
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1451
+ typeArguments: options.typeArguments
1452
+ });
1453
+ }
1454
+ function assertPricesFresh(options) {
1455
+ const packageAddress = options.package ?? '@waterx/perp';
1456
+ const argumentsTypes = [
1457
+ null,
1458
+ null,
1459
+ '0x2::clock::Clock'
1460
+ ];
1461
+ const parameterNames = ["pool", "globalConfig"];
1462
+ return (tx) => tx.moveCall({
1463
+ package: packageAddress,
1464
+ module: 'lp_pool',
1465
+ function: 'assert_prices_fresh',
1466
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1467
+ typeArguments: options.typeArguments
1468
+ });
1469
+ }
1470
+ function assertRedeemAllowed(options) {
1471
+ const packageAddress = options.package ?? '@waterx/perp';
1472
+ const argumentsTypes = [
1473
+ null
1474
+ ];
1475
+ const parameterNames = ["pool"];
1476
+ return (tx) => tx.moveCall({
1477
+ package: packageAddress,
1478
+ module: 'lp_pool',
1479
+ function: 'assert_redeem_allowed',
1480
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1481
+ typeArguments: options.typeArguments
1482
+ });
1483
+ }
1484
+ function assertTokenRedeemAllowed(options) {
1485
+ const packageAddress = options.package ?? '@waterx/perp';
1486
+ const argumentsTypes = [
1487
+ null,
1488
+ null
1489
+ ];
1490
+ const parameterNames = ["pool", "tokenType"];
1491
+ return (tx) => tx.moveCall({
1492
+ package: packageAddress,
1493
+ module: 'lp_pool',
1494
+ function: 'assert_token_redeem_allowed',
1495
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1496
+ typeArguments: options.typeArguments
1497
+ });
1498
+ }
1499
+ function calculateTotalWlpUtilizationBps(options) {
1500
+ const packageAddress = options.package ?? '@waterx/perp';
1501
+ const argumentsTypes = [
1502
+ null
1503
+ ];
1504
+ const parameterNames = ["pool"];
1505
+ return (tx) => tx.moveCall({
1506
+ package: packageAddress,
1507
+ module: 'lp_pool',
1508
+ function: 'calculate_total_wlp_utilization_bps',
1509
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1510
+ typeArguments: options.typeArguments
1511
+ });
1512
+ }
1513
+ function takeRedeemRequest(options) {
1514
+ const packageAddress = options.package ?? '@waterx/perp';
1515
+ const argumentsTypes = [
1516
+ null,
1517
+ 'u64'
1518
+ ];
1519
+ const parameterNames = ["pool", "requestId"];
1520
+ return (tx) => tx.moveCall({
1521
+ package: packageAddress,
1522
+ module: 'lp_pool',
1523
+ function: 'take_redeem_request',
1524
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1525
+ typeArguments: options.typeArguments
1526
+ });
1527
+ }
1528
+ function returnRejectedRedeemRequest(options) {
1529
+ const packageAddress = options.package ?? '@waterx/perp';
1530
+ const argumentsTypes = [
1531
+ null,
1532
+ null,
1533
+ 'address',
1534
+ 'u64'
1535
+ ];
1536
+ const parameterNames = ["wxaRegistry", "request", "operator", "requestId"];
1537
+ return (tx) => tx.moveCall({
1538
+ package: packageAddress,
1539
+ module: 'lp_pool',
1540
+ function: 'return_rejected_redeem_request',
1541
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1542
+ typeArguments: options.typeArguments
1543
+ });
1544
+ }
1545
+ /** Calculates dynamic fee based on weight deviation. */
1546
+ function calculateDynamicFee(options) {
1547
+ const packageAddress = options.package ?? '@waterx/perp';
1548
+ const argumentsTypes = [
1549
+ null,
1550
+ null,
1551
+ null,
1552
+ 'u64',
1553
+ 'u64',
1554
+ 'bool'
1555
+ ];
1556
+ const parameterNames = ["tokenValueUsd", "tvlUsd", "operationValueUsd", "targetWeightBps", "baseFeeBps", "isDeposit"];
1557
+ return (tx) => tx.moveCall({
1558
+ package: packageAddress,
1559
+ module: 'lp_pool',
1560
+ function: 'calculate_dynamic_fee',
1561
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1562
+ });
1563
+ }
1564
+ function assertValidBorrowConfig(options) {
1565
+ const packageAddress = options.package ?? '@waterx/perp';
1566
+ const argumentsTypes = [
1567
+ null,
1568
+ null,
1569
+ null,
1570
+ 'u64'
1571
+ ];
1572
+ const parameterNames = ["rate_0", "rate_1", "rate_2", "intervalMs"];
1573
+ return (tx) => tx.moveCall({
1574
+ package: packageAddress,
1575
+ module: 'lp_pool',
1576
+ function: 'assert_valid_borrow_config',
1577
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1578
+ });
1579
+ }
1580
+ function assertValidMaxReserveRatio(options) {
1581
+ const packageAddress = options.package ?? '@waterx/perp';
1582
+ const argumentsTypes = [
1583
+ 'u64'
1584
+ ];
1585
+ const parameterNames = ["maxReserveRatioBps"];
1586
+ return (tx) => tx.moveCall({
1587
+ package: packageAddress,
1588
+ module: 'lp_pool',
1589
+ function: 'assert_valid_max_reserve_ratio',
1590
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1591
+ });
1592
+ }
1593
+ /** Calculates borrow rate using 3-slope utilization curve. */
1594
+ function calculateBorrowRate(options) {
1595
+ const packageAddress = options.package ?? '@waterx/perp';
1596
+ const argumentsTypes = [
1597
+ 'u64',
1598
+ null,
1599
+ null,
1600
+ null,
1601
+ 'u64',
1602
+ 'u64'
1603
+ ];
1604
+ const parameterNames = ["utilizationBps", "rate_0", "rate_1", "rate_2", "threshold_0", "threshold_1"];
1605
+ return (tx) => tx.moveCall({
1606
+ package: packageAddress,
1607
+ module: 'lp_pool',
1608
+ function: 'calculate_borrow_rate',
1609
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1610
+ });
1611
+ }
1612
+ /**
1613
+ * Converts the instantaneous borrow rate into a cumulative index delta using the
1614
+ * configured interval as the time basis.
1615
+ */
1616
+ function calculateBorrowRateAccrual(options) {
1617
+ const packageAddress = options.package ?? '@waterx/perp';
1618
+ const argumentsTypes = [
1619
+ null,
1620
+ 'u64',
1621
+ 'u64'
1622
+ ];
1623
+ const parameterNames = ["borrowRate", "elapsedMs", "intervalMs"];
1624
+ return (tx) => tx.moveCall({
1625
+ package: packageAddress,
1626
+ module: 'lp_pool',
1627
+ function: 'calculate_borrow_rate_accrual',
1628
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1629
+ });
1630
+ }