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