@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.
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/src/account/account-request.d.ts +9 -0
- package/dist/cjs/src/account/account-request.js +20 -0
- package/dist/cjs/src/account/account.d.ts +158 -0
- package/dist/cjs/src/account/account.js +238 -0
- package/dist/cjs/src/account/client.d.ts +42 -0
- package/dist/cjs/src/account/client.js +18 -0
- package/dist/cjs/src/account/config.d.ts +151 -0
- package/dist/cjs/src/account/config.js +9 -0
- package/dist/cjs/src/account/constants.d.ts +5 -0
- package/dist/cjs/src/account/constants.js +8 -0
- package/dist/cjs/src/account/fetch/referral.d.ts +15 -0
- package/dist/cjs/src/account/fetch/referral.js +56 -0
- package/dist/cjs/src/account/fetch/simulate.d.ts +34 -0
- package/dist/cjs/src/account/fetch/simulate.js +49 -0
- package/dist/cjs/src/account/funding/balance.d.ts +32 -0
- package/dist/cjs/src/account/funding/balance.js +100 -0
- package/dist/cjs/src/account/funding/consolidate.d.ts +46 -0
- package/dist/cjs/src/account/funding/consolidate.js +143 -0
- package/dist/cjs/src/account/funding/credit.d.ts +129 -0
- package/dist/cjs/src/account/funding/credit.js +252 -0
- package/dist/cjs/src/account/funding/custody.d.ts +57 -0
- package/dist/cjs/src/account/funding/custody.js +139 -0
- package/dist/cjs/src/account/funding/wormhole.d.ts +86 -0
- package/dist/cjs/src/account/funding/wormhole.js +166 -0
- package/dist/cjs/src/account/index.d.ts +29 -0
- package/dist/cjs/src/account/index.js +45 -0
- package/dist/cjs/src/account/referral.d.ts +21 -0
- package/dist/cjs/src/account/referral.js +78 -0
- package/dist/cjs/src/account/waterx-account.d.ts +31 -0
- package/dist/cjs/src/account/waterx-account.js +29 -0
- package/dist/cjs/src/base-client.d.ts +74 -0
- package/dist/cjs/src/base-client.js +101 -0
- package/dist/cjs/src/constants.d.ts +32 -0
- package/dist/cjs/src/constants.js +41 -0
- package/dist/cjs/src/generated/bucket_v2_framework/account.d.ts +107 -0
- package/dist/cjs/src/generated/bucket_v2_framework/account.js +141 -0
- package/dist/cjs/src/generated/bucket_v2_framework/deps/std/type_name.d.ts +17 -0
- package/dist/cjs/src/generated/bucket_v2_framework/deps/std/type_name.js +22 -0
- package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/balance.d.ts +12 -0
- package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/balance.js +17 -0
- package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/bucket_v2_framework/double.d.ts +384 -0
- package/dist/cjs/src/generated/bucket_v2_framework/double.js +504 -0
- package/dist/cjs/src/generated/bucket_v2_framework/float.d.ts +364 -0
- package/dist/cjs/src/generated/bucket_v2_framework/float.js +476 -0
- package/dist/cjs/src/generated/bucket_v2_framework/liability.d.ts +171 -0
- package/dist/cjs/src/generated/bucket_v2_framework/liability.js +192 -0
- package/dist/cjs/src/generated/bucket_v2_framework/linked_table.d.ts +384 -0
- package/dist/cjs/src/generated/bucket_v2_framework/linked_table.js +405 -0
- package/dist/cjs/src/generated/bucket_v2_framework/sheet.d.ts +424 -0
- package/dist/cjs/src/generated/bucket_v2_framework/sheet.js +395 -0
- package/dist/cjs/src/generated/native_custody/custody_vault.d.ts +586 -0
- package/dist/cjs/src/generated/native_custody/custody_vault.js +555 -0
- package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/float.d.ts +8 -0
- package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/float.js +13 -0
- package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/liability.d.ts +11 -0
- package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/liability.js +16 -0
- package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/sheet.d.ts +49 -0
- package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/sheet.js +52 -0
- package/dist/cjs/src/generated/native_custody/deps/std/type_name.d.ts +17 -0
- package/dist/cjs/src/generated/native_custody/deps/std/type_name.js +22 -0
- package/dist/cjs/src/generated/native_custody/deps/sui/balance.d.ts +12 -0
- package/dist/cjs/src/generated/native_custody/deps/sui/balance.js +17 -0
- package/dist/cjs/src/generated/native_custody/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/native_custody/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/native_custody/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/native_custody/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/native_custody/events.d.ts +36 -0
- package/dist/cjs/src/generated/native_custody/events.js +71 -0
- package/dist/cjs/src/generated/pyth_sponsor_rule/deps/sui/balance.d.ts +12 -0
- package/dist/cjs/src/generated/pyth_sponsor_rule/deps/sui/balance.js +17 -0
- package/dist/cjs/src/generated/pyth_sponsor_rule/pyth_sponsor_rule.d.ts +68 -0
- package/dist/cjs/src/generated/pyth_sponsor_rule/pyth_sponsor_rule.js +113 -0
- package/dist/cjs/src/generated/utils/index.d.ts +30 -0
- package/dist/cjs/src/generated/utils/index.js +168 -0
- package/dist/cjs/src/generated/waterx_account/account.d.ts +1906 -0
- package/dist/cjs/src/generated/waterx_account/account.js +1929 -0
- package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/liability.d.ts +11 -0
- package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/liability.js +16 -0
- package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/sheet.d.ts +49 -0
- package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/sheet.js +52 -0
- package/dist/cjs/src/generated/waterx_account/deps/std/type_name.d.ts +17 -0
- package/dist/cjs/src/generated/waterx_account/deps/std/type_name.js +22 -0
- package/dist/cjs/src/generated/waterx_account/deps/sui/balance.d.ts +12 -0
- package/dist/cjs/src/generated/waterx_account/deps/sui/balance.js +17 -0
- package/dist/cjs/src/generated/waterx_account/deps/sui/object_table.d.ts +17 -0
- package/dist/cjs/src/generated/waterx_account/deps/sui/object_table.js +22 -0
- package/dist/cjs/src/generated/waterx_account/deps/sui/table.d.ts +29 -0
- package/dist/cjs/src/generated/waterx_account/deps/sui/table.js +34 -0
- package/dist/cjs/src/generated/waterx_account/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/waterx_account/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/waterx_account/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/waterx_account/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/waterx_account/direct_rule.d.ts +77 -0
- package/dist/cjs/src/generated/waterx_account/direct_rule.js +83 -0
- package/dist/cjs/src/generated/waterx_account/events.d.ts +190 -0
- package/dist/cjs/src/generated/waterx_account/events.js +173 -0
- package/dist/cjs/src/generated/waterx_account/version.d.ts +10 -0
- package/dist/cjs/src/generated/waterx_account/version.js +11 -0
- package/dist/cjs/src/generated/waterx_constant_rule/constant_rule.d.ts +68 -0
- package/dist/cjs/src/generated/waterx_constant_rule/constant_rule.js +97 -0
- package/dist/cjs/src/generated/waterx_constant_rule/deps/bucket_v2_framework/float.d.ts +8 -0
- package/dist/cjs/src/generated/waterx_constant_rule/deps/bucket_v2_framework/float.js +13 -0
- package/dist/cjs/src/generated/waterx_constant_rule/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/waterx_constant_rule/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/waterx_credit/credit_registry.d.ts +708 -0
- package/dist/cjs/src/generated/waterx_credit/credit_registry.js +728 -0
- package/dist/cjs/src/generated/waterx_credit/deps/std/type_name.d.ts +17 -0
- package/dist/cjs/src/generated/waterx_credit/deps/std/type_name.js +22 -0
- package/dist/cjs/src/generated/waterx_credit/deps/sui/table.d.ts +29 -0
- package/dist/cjs/src/generated/waterx_credit/deps/sui/table.js +34 -0
- package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/waterx_credit/limited_supply.d.ts +107 -0
- package/dist/cjs/src/generated/waterx_credit/limited_supply.js +143 -0
- package/dist/cjs/src/generated/waterx_oracle/aggregator.d.ts +211 -0
- package/dist/cjs/src/generated/waterx_oracle/aggregator.js +258 -0
- package/dist/cjs/src/generated/waterx_oracle/collector.d.ts +119 -0
- package/dist/cjs/src/generated/waterx_oracle/collector.js +147 -0
- package/dist/cjs/src/generated/waterx_oracle/deps/bucket_v2_framework/float.d.ts +8 -0
- package/dist/cjs/src/generated/waterx_oracle/deps/bucket_v2_framework/float.js +13 -0
- package/dist/cjs/src/generated/waterx_oracle/deps/std/type_name.d.ts +17 -0
- package/dist/cjs/src/generated/waterx_oracle/deps/std/type_name.js +22 -0
- package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/waterx_oracle/oracle.d.ts +304 -0
- package/dist/cjs/src/generated/waterx_oracle/oracle.js +381 -0
- package/dist/cjs/src/generated/waterx_oracle/version.d.ts +10 -0
- package/dist/cjs/src/generated/waterx_oracle/version.js +11 -0
- package/dist/cjs/src/generated/waterx_perp/account_data.d.ts +269 -0
- package/dist/cjs/src/generated/waterx_perp/account_data.js +340 -0
- package/dist/cjs/src/generated/waterx_perp/admin.d.ts +19 -0
- package/dist/cjs/src/generated/waterx_perp/admin.js +26 -0
- package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/double.d.ts +8 -0
- package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/double.js +13 -0
- package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/float.d.ts +8 -0
- package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/float.js +13 -0
- package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/liability.d.ts +11 -0
- package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/liability.js +16 -0
- package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/linked_table.d.ts +8 -0
- package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/linked_table.js +21 -0
- package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/sheet.d.ts +49 -0
- package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/sheet.js +52 -0
- package/dist/cjs/src/generated/waterx_perp/deps/std/type_name.d.ts +17 -0
- package/dist/cjs/src/generated/waterx_perp/deps/std/type_name.js +22 -0
- package/dist/cjs/src/generated/waterx_perp/deps/sui/balance.d.ts +15 -0
- package/dist/cjs/src/generated/waterx_perp/deps/sui/balance.js +20 -0
- package/dist/cjs/src/generated/waterx_perp/deps/sui/coin.d.ts +14 -0
- package/dist/cjs/src/generated/waterx_perp/deps/sui/coin.js +51 -0
- package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/waterx_perp/events.d.ts +1283 -0
- package/dist/cjs/src/generated/waterx_perp/events.js +990 -0
- package/dist/cjs/src/generated/waterx_perp/global_config.d.ts +775 -0
- package/dist/cjs/src/generated/waterx_perp/global_config.js +918 -0
- package/dist/cjs/src/generated/waterx_perp/keyed_big_vector.d.ts +553 -0
- package/dist/cjs/src/generated/waterx_perp/keyed_big_vector.js +626 -0
- package/dist/cjs/src/generated/waterx_perp/lp_pool.d.ts +1648 -0
- package/dist/cjs/src/generated/waterx_perp/lp_pool.js +1630 -0
- package/dist/cjs/src/generated/waterx_perp/market_config.d.ts +733 -0
- package/dist/cjs/src/generated/waterx_perp/market_config.js +871 -0
- package/dist/cjs/src/generated/waterx_perp/math.d.ts +63 -0
- package/dist/cjs/src/generated/waterx_perp/math.js +70 -0
- package/dist/cjs/src/generated/waterx_perp/memo.d.ts +251 -0
- package/dist/cjs/src/generated/waterx_perp/memo.js +360 -0
- package/dist/cjs/src/generated/waterx_perp/order_book.d.ts +290 -0
- package/dist/cjs/src/generated/waterx_perp/order_book.js +388 -0
- package/dist/cjs/src/generated/waterx_perp/position.d.ts +1005 -0
- package/dist/cjs/src/generated/waterx_perp/position.js +1200 -0
- package/dist/cjs/src/generated/waterx_perp/request.d.ts +544 -0
- package/dist/cjs/src/generated/waterx_perp/request.js +609 -0
- package/dist/cjs/src/generated/waterx_perp/response.d.ts +247 -0
- package/dist/cjs/src/generated/waterx_perp/response.js +331 -0
- package/dist/cjs/src/generated/waterx_perp/trading.d.ts +2945 -0
- package/dist/cjs/src/generated/waterx_perp/trading.js +2616 -0
- package/dist/cjs/src/generated/waterx_perp/version.d.ts +10 -0
- package/dist/cjs/src/generated/waterx_perp/version.js +11 -0
- package/dist/cjs/src/generated/waterx_perp/witness.d.ts +18 -0
- package/dist/cjs/src/generated/waterx_perp/witness.js +25 -0
- package/dist/cjs/src/generated/waterx_perp_view/deps/std/type_name.d.ts +17 -0
- package/dist/cjs/src/generated/waterx_perp_view/deps/std/type_name.js +22 -0
- package/dist/cjs/src/generated/waterx_perp_view/view.d.ts +447 -0
- package/dist/cjs/src/generated/waterx_perp_view/view.js +459 -0
- package/dist/cjs/src/generated/waterx_prediction/account_data.d.ts +344 -0
- package/dist/cjs/src/generated/waterx_prediction/account_data.js +470 -0
- package/dist/cjs/src/generated/waterx_prediction/admin.d.ts +7 -0
- package/dist/cjs/src/generated/waterx_prediction/admin.js +12 -0
- package/dist/cjs/src/generated/waterx_prediction/deps/bucket_v2_framework/linked_table.d.ts +8 -0
- package/dist/cjs/src/generated/waterx_prediction/deps/bucket_v2_framework/linked_table.js +21 -0
- package/dist/cjs/src/generated/waterx_prediction/deps/sui/balance.d.ts +12 -0
- package/dist/cjs/src/generated/waterx_prediction/deps/sui/balance.js +17 -0
- package/dist/cjs/src/generated/waterx_prediction/deps/sui/table.d.ts +29 -0
- package/dist/cjs/src/generated/waterx_prediction/deps/sui/table.js +34 -0
- package/dist/cjs/src/generated/waterx_prediction/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/waterx_prediction/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/waterx_prediction/events.d.ts +288 -0
- package/dist/cjs/src/generated/waterx_prediction/events.js +254 -0
- package/dist/cjs/src/generated/waterx_prediction/global_config.d.ts +121 -0
- package/dist/cjs/src/generated/waterx_prediction/global_config.js +186 -0
- package/dist/cjs/src/generated/waterx_prediction/order.d.ts +233 -0
- package/dist/cjs/src/generated/waterx_prediction/order.js +339 -0
- package/dist/cjs/src/generated/waterx_prediction/outcome.d.ts +58 -0
- package/dist/cjs/src/generated/waterx_prediction/outcome.js +82 -0
- package/dist/cjs/src/generated/waterx_prediction/position.d.ts +175 -0
- package/dist/cjs/src/generated/waterx_prediction/position.js +232 -0
- package/dist/cjs/src/generated/waterx_prediction/version.d.ts +10 -0
- package/dist/cjs/src/generated/waterx_prediction/version.js +11 -0
- package/dist/cjs/src/generated/waterx_prediction/view.d.ts +418 -0
- package/dist/cjs/src/generated/waterx_prediction/view.js +492 -0
- package/dist/cjs/src/generated/waterx_prediction/waterx_prediction.d.ts +1858 -0
- package/dist/cjs/src/generated/waterx_prediction/waterx_prediction.js +1972 -0
- package/dist/cjs/src/generated/waterx_pyth_rule/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/waterx_pyth_rule/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/waterx_pyth_rule/pyth_rule.d.ts +192 -0
- package/dist/cjs/src/generated/waterx_pyth_rule/pyth_rule.js +214 -0
- package/dist/cjs/src/generated/waterx_referral/deps/sui/table.d.ts +29 -0
- package/dist/cjs/src/generated/waterx_referral/deps/sui/table.js +34 -0
- package/dist/cjs/src/generated/waterx_referral/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/waterx_referral/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/waterx_referral/referral_table.d.ts +171 -0
- package/dist/cjs/src/generated/waterx_referral/referral_table.js +239 -0
- package/dist/cjs/src/generated/waterx_staking/deps/bucket_v2_framework/double.d.ts +8 -0
- package/dist/cjs/src/generated/waterx_staking/deps/bucket_v2_framework/double.js +13 -0
- package/dist/cjs/src/generated/waterx_staking/deps/sui/balance.d.ts +12 -0
- package/dist/cjs/src/generated/waterx_staking/deps/sui/balance.js +17 -0
- package/dist/cjs/src/generated/waterx_staking/deps/sui/table.d.ts +29 -0
- package/dist/cjs/src/generated/waterx_staking/deps/sui/table.js +34 -0
- package/dist/cjs/src/generated/waterx_staking/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/waterx_staking/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/waterx_staking/waterx_staking.d.ts +746 -0
- package/dist/cjs/src/generated/waterx_staking/waterx_staking.js +797 -0
- package/dist/cjs/src/generated/waterx_staking/witness.d.ts +16 -0
- package/dist/cjs/src/generated/waterx_staking/witness.js +21 -0
- package/dist/cjs/src/generated/waterx_supra_rule/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/waterx_supra_rule/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/waterx_supra_rule/supra_rule.d.ts +158 -0
- package/dist/cjs/src/generated/waterx_supra_rule/supra_rule.js +189 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/float.d.ts +8 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/float.js +13 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/linked_table.d.ts +8 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/linked_table.js +21 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/std/type_name.d.ts +17 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/std/type_name.js +22 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/sui/balance.d.ts +12 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/sui/balance.js +17 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/withdrawal_queue/withdrawal_queue.d.ts +923 -0
- package/dist/cjs/src/generated/withdrawal_queue/withdrawal_queue.js +965 -0
- package/dist/cjs/src/generated/wlp/wlp.d.ts +28 -0
- package/dist/cjs/src/generated/wlp/wlp.js +37 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/sui/table.d.ts +29 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/sui/table.js +34 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_set.d.ts +16 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_set.js +22 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/consumed_vaas.d.ts +12 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/consumed_vaas.js +45 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/emitter.d.ts +14 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/emitter.js +19 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/set.d.ts +16 -0
- package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/set.js +51 -0
- package/dist/cjs/src/generated/wormhole_bridge/events.d.ts +32 -0
- package/dist/cjs/src/generated/wormhole_bridge/events.js +31 -0
- package/dist/cjs/src/generated/wormhole_bridge/wormhole_bridge.d.ts +638 -0
- package/dist/cjs/src/generated/wormhole_bridge/wormhole_bridge.js +692 -0
- package/dist/cjs/src/oracle/aggregate.d.ts +74 -0
- package/dist/cjs/src/oracle/aggregate.js +118 -0
- package/dist/cjs/src/oracle/config.d.ts +99 -0
- package/dist/cjs/src/oracle/config.js +26 -0
- package/dist/cjs/src/oracle/host.d.ts +32 -0
- package/dist/cjs/src/oracle/host.js +11 -0
- package/dist/cjs/src/oracle/index.d.ts +16 -0
- package/dist/cjs/src/oracle/index.js +31 -0
- package/dist/cjs/src/oracle/pyth.d.ts +52 -0
- package/dist/cjs/src/oracle/pyth.js +227 -0
- package/dist/cjs/src/oracle/rules/constant-rule.d.ts +9 -0
- package/dist/cjs/src/oracle/rules/constant-rule.js +17 -0
- package/dist/cjs/src/oracle/rules/pyth-rule.d.ts +11 -0
- package/dist/cjs/src/oracle/rules/pyth-rule.js +23 -0
- package/dist/cjs/src/oracle/rules/sponsor.d.ts +28 -0
- package/dist/cjs/src/oracle/rules/sponsor.js +52 -0
- package/dist/cjs/src/oracle/rules/supra-rule.d.ts +11 -0
- package/dist/cjs/src/oracle/rules/supra-rule.js +25 -0
- package/dist/cjs/src/perp/client.d.ts +78 -0
- package/dist/cjs/src/perp/client.js +112 -0
- package/dist/cjs/src/perp/config-view.d.ts +102 -0
- package/dist/cjs/src/perp/config-view.js +178 -0
- package/dist/cjs/src/perp/config.d.ts +126 -0
- package/dist/cjs/src/perp/config.js +119 -0
- package/dist/cjs/src/perp/constants.d.ts +49 -0
- package/dist/cjs/src/perp/constants.js +79 -0
- package/dist/cjs/src/perp/fetch/account.d.ts +43 -0
- package/dist/cjs/src/perp/fetch/account.js +69 -0
- package/dist/cjs/src/perp/fetch/bridge.d.ts +90 -0
- package/dist/cjs/src/perp/fetch/bridge.js +131 -0
- package/dist/cjs/src/perp/fetch/custody.d.ts +32 -0
- package/dist/cjs/src/perp/fetch/custody.js +66 -0
- package/dist/cjs/src/perp/fetch/market.d.ts +30 -0
- package/dist/cjs/src/perp/fetch/market.js +75 -0
- package/dist/cjs/src/perp/fetch/positions.d.ts +70 -0
- package/dist/cjs/src/perp/fetch/positions.js +195 -0
- package/dist/cjs/src/perp/fetch/simulate.d.ts +12 -0
- package/dist/cjs/src/perp/fetch/simulate.js +21 -0
- package/dist/cjs/src/perp/fetch.d.ts +23 -0
- package/dist/cjs/src/perp/fetch.js +39 -0
- package/dist/cjs/src/perp/index.d.ts +29 -0
- package/dist/cjs/src/perp/index.js +183 -0
- package/dist/cjs/src/perp/tx-builders/common.d.ts +83 -0
- package/dist/cjs/src/perp/tx-builders/common.js +76 -0
- package/dist/cjs/src/perp/tx-builders/credit.d.ts +65 -0
- package/dist/cjs/src/perp/tx-builders/credit.js +67 -0
- package/dist/cjs/src/perp/tx-builders/rewards.d.ts +30 -0
- package/dist/cjs/src/perp/tx-builders/rewards.js +37 -0
- package/dist/cjs/src/perp/tx-builders/trading.d.ts +51 -0
- package/dist/cjs/src/perp/tx-builders/trading.js +71 -0
- package/dist/cjs/src/perp/tx-builders/wlp.d.ts +90 -0
- package/dist/cjs/src/perp/tx-builders/wlp.js +126 -0
- package/dist/cjs/src/perp/tx-builders.d.ts +23 -0
- package/dist/cjs/src/perp/tx-builders.js +45 -0
- package/dist/cjs/src/perp/user/index.d.ts +8 -0
- package/dist/cjs/src/perp/user/index.js +24 -0
- package/dist/cjs/src/perp/user/order.d.ts +89 -0
- package/dist/cjs/src/perp/user/order.js +175 -0
- package/dist/cjs/src/perp/user/staking.d.ts +54 -0
- package/dist/cjs/src/perp/user/staking.js +147 -0
- package/dist/cjs/src/perp/user/trading.d.ts +119 -0
- package/dist/cjs/src/perp/user/trading.js +310 -0
- package/dist/cjs/src/perp/user/wlp.d.ts +58 -0
- package/dist/cjs/src/perp/user/wlp.js +139 -0
- package/dist/cjs/src/prediction/account.d.ts +96 -0
- package/dist/cjs/src/prediction/account.js +212 -0
- package/dist/cjs/src/prediction/admin.d.ts +47 -0
- package/dist/cjs/src/prediction/admin.js +116 -0
- package/dist/cjs/src/prediction/bcs.d.ts +28 -0
- package/dist/cjs/src/prediction/bcs.js +189 -0
- package/dist/cjs/src/prediction/client.d.ts +45 -0
- package/dist/cjs/src/prediction/client.js +112 -0
- package/dist/cjs/src/prediction/config.d.ts +74 -0
- package/dist/cjs/src/prediction/config.js +86 -0
- package/dist/cjs/src/prediction/constants.d.ts +44 -0
- package/dist/cjs/src/prediction/constants.js +49 -0
- package/dist/cjs/src/prediction/fetch.d.ts +82 -0
- package/dist/cjs/src/prediction/fetch.js +294 -0
- package/dist/cjs/src/prediction/gift-link.d.ts +6 -0
- package/dist/cjs/src/prediction/gift-link.js +16 -0
- package/dist/cjs/src/prediction/gift.d.ts +223 -0
- package/dist/cjs/src/prediction/gift.js +465 -0
- package/dist/cjs/src/prediction/index.d.ts +29 -0
- package/dist/cjs/src/prediction/index.js +154 -0
- package/dist/cjs/src/prediction/prediction.d.ts +149 -0
- package/dist/cjs/src/prediction/prediction.js +410 -0
- package/dist/cjs/src/prediction/tx-builders.d.ts +44 -0
- package/dist/cjs/src/prediction/tx-builders.js +56 -0
- package/dist/cjs/src/prediction/types.d.ts +95 -0
- package/dist/cjs/src/prediction/types.js +2 -0
- package/dist/cjs/src/prediction/user/account.d.ts +2 -0
- package/dist/cjs/src/prediction/user/account.js +17 -0
- package/dist/cjs/src/prediction/user/admin.d.ts +6 -0
- package/dist/cjs/src/prediction/user/admin.js +19 -0
- package/dist/cjs/src/prediction/user/gift.d.ts +2 -0
- package/dist/cjs/src/prediction/user/gift.js +24 -0
- package/dist/cjs/src/prediction/user/index.d.ts +5 -0
- package/dist/cjs/src/prediction/user/index.js +60 -0
- package/dist/cjs/src/prediction/user/keeper.d.ts +2 -0
- package/dist/cjs/src/prediction/user/keeper.js +13 -0
- package/dist/cjs/src/prediction/user/order.d.ts +2 -0
- package/dist/cjs/src/prediction/user/order.js +6 -0
- package/dist/cjs/src/prediction/user/position.d.ts +2 -0
- package/dist/cjs/src/prediction/user/position.js +11 -0
- package/dist/cjs/src/prediction/utils/bcs.d.ts +6 -0
- package/dist/cjs/src/prediction/utils/bcs.js +29 -0
- package/dist/cjs/src/prediction/utils/index.d.ts +8 -0
- package/dist/cjs/src/prediction/utils/index.js +31 -0
- package/dist/cjs/src/prediction/utils.d.ts +30 -0
- package/dist/cjs/src/prediction/utils.js +200 -0
- package/dist/cjs/src/sdk.d.ts +22 -0
- package/dist/cjs/src/sdk.js +62 -0
- package/dist/cjs/src/unified-client.d.ts +402 -0
- package/dist/cjs/src/unified-client.js +218 -0
- package/dist/cjs/src/utils/config.d.ts +11 -0
- package/dist/cjs/src/utils/config.js +19 -0
- package/dist/cjs/src/utils/math.d.ts +287 -0
- package/dist/cjs/src/utils/math.js +469 -0
- 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
|
+
}
|