@waterx/sdk 4.0.1 → 4.3.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/README.md +37 -17
- package/dist/cjs/src/account/account.js +2 -1
- package/dist/cjs/src/account/config.d.ts +3 -2
- package/dist/cjs/src/account/funding/balance.d.ts +25 -2
- package/dist/cjs/src/account/funding/balance.js +36 -24
- package/dist/cjs/src/account/funding/credit.js +6 -10
- package/dist/cjs/src/constants.d.ts +15 -1
- package/dist/cjs/src/constants.js +18 -4
- package/dist/cjs/src/generated/waterx_rule/deps/bucket_v2_framework/float.d.ts +8 -0
- package/dist/cjs/src/generated/waterx_rule/deps/bucket_v2_framework/float.js +13 -0
- package/dist/cjs/src/generated/waterx_rule/deps/sui/vec_map.d.ts +36 -0
- package/dist/cjs/src/generated/waterx_rule/deps/sui/vec_map.js +31 -0
- package/dist/cjs/src/generated/waterx_rule/waterx_rule.d.ts +813 -0
- package/dist/cjs/src/generated/waterx_rule/waterx_rule.js +946 -0
- package/dist/cjs/src/oracle/aggregate.d.ts +23 -21
- package/dist/cjs/src/oracle/aggregate.js +133 -59
- package/dist/cjs/src/oracle/config.d.ts +82 -41
- package/dist/cjs/src/oracle/config.js +0 -42
- package/dist/cjs/src/oracle/host.d.ts +26 -11
- package/dist/cjs/src/oracle/index.d.ts +6 -2
- package/dist/cjs/src/oracle/index.js +36 -8
- package/dist/cjs/src/oracle/price-update-rule.d.ts +16 -10
- package/dist/cjs/src/oracle/price-update-rule.js +3 -3
- package/dist/cjs/src/oracle/pyth.d.ts +44 -0
- package/dist/cjs/src/oracle/pyth.js +48 -6
- package/dist/cjs/src/oracle/read-plane.d.ts +70 -0
- package/dist/cjs/src/oracle/read-plane.js +78 -0
- package/dist/cjs/src/oracle/rule-registry.d.ts +14 -11
- package/dist/cjs/src/oracle/rule-registry.js +16 -11
- package/dist/cjs/src/oracle/rules/pyth-core-rule.js +4 -4
- package/dist/cjs/src/oracle/rules/pyth-lazer-rule.d.ts +21 -0
- package/dist/cjs/src/oracle/rules/pyth-lazer-rule.js +29 -4
- package/dist/cjs/src/oracle/rules/pyth-rule.js +5 -4
- package/dist/cjs/src/oracle/rules/waterx-rule.d.ts +126 -0
- package/dist/cjs/src/oracle/rules/waterx-rule.js +312 -0
- package/dist/cjs/src/perp/client.d.ts +71 -20
- package/dist/cjs/src/perp/client.js +35 -13
- package/dist/cjs/src/perp/config.d.ts +6 -7
- package/dist/cjs/src/perp/config.js +12 -11
- package/dist/cjs/src/perp/constants.d.ts +0 -6
- package/dist/cjs/src/perp/constants.js +11 -9
- package/dist/cjs/src/perp/fetch/account.js +3 -0
- package/dist/cjs/src/perp/fetch/bridge.js +2 -1
- package/dist/cjs/src/perp/fetch/market.js +2 -1
- package/dist/cjs/src/perp/fetch/positions.d.ts +16 -10
- package/dist/cjs/src/perp/fetch/positions.js +23 -20
- package/dist/cjs/src/perp/index.d.ts +9 -5
- package/dist/cjs/src/perp/index.js +16 -7
- package/dist/cjs/src/perp/liq-view.d.ts +64 -0
- package/dist/cjs/src/perp/liq-view.js +74 -0
- package/dist/cjs/src/perp/user/order.d.ts +13 -0
- package/dist/cjs/src/perp/user/order.js +30 -16
- package/dist/cjs/src/perp/user/staking.js +3 -2
- package/dist/cjs/src/perp/user/trading.js +25 -24
- package/dist/cjs/src/perp/user/wlp.js +6 -5
- package/dist/cjs/src/prediction/utils.d.ts +11 -2
- package/dist/cjs/src/prediction/utils.js +22 -22
- package/dist/cjs/src/unified-client.d.ts +41 -15
- package/dist/cjs/src/unified-client.js +4 -2
- package/dist/cjs/src/utils/format.d.ts +14 -0
- package/dist/cjs/src/utils/format.js +24 -0
- package/dist/cjs/src/utils/math.d.ts +304 -12
- package/dist/cjs/src/utils/math.js +397 -17
- package/dist/cjs/src/utils/validate.d.ts +69 -0
- package/dist/cjs/src/utils/validate.js +183 -0
- package/dist/src/account/account.js +2 -1
- package/dist/src/account/config.d.ts +3 -2
- package/dist/src/account/funding/balance.d.ts +25 -2
- package/dist/src/account/funding/balance.js +36 -24
- package/dist/src/account/funding/credit.js +6 -10
- package/dist/src/constants.d.ts +15 -1
- package/dist/src/constants.js +17 -3
- package/dist/src/generated/waterx_rule/deps/bucket_v2_framework/float.d.ts +8 -0
- package/dist/src/generated/waterx_rule/deps/bucket_v2_framework/float.js +10 -0
- package/dist/src/generated/waterx_rule/deps/sui/vec_map.d.ts +36 -0
- package/dist/src/generated/waterx_rule/deps/sui/vec_map.js +27 -0
- package/dist/src/generated/waterx_rule/waterx_rule.d.ts +813 -0
- package/dist/src/generated/waterx_rule/waterx_rule.js +855 -0
- package/dist/src/oracle/aggregate.d.ts +23 -21
- package/dist/src/oracle/aggregate.js +133 -59
- package/dist/src/oracle/config.d.ts +82 -41
- package/dist/src/oracle/config.js +1 -41
- package/dist/src/oracle/host.d.ts +26 -11
- package/dist/src/oracle/index.d.ts +6 -2
- package/dist/src/oracle/index.js +27 -9
- package/dist/src/oracle/price-update-rule.d.ts +16 -10
- package/dist/src/oracle/price-update-rule.js +3 -3
- package/dist/src/oracle/pyth.d.ts +44 -0
- package/dist/src/oracle/pyth.js +45 -5
- package/dist/src/oracle/read-plane.d.ts +70 -0
- package/dist/src/oracle/read-plane.js +74 -0
- package/dist/src/oracle/rule-registry.d.ts +14 -11
- package/dist/src/oracle/rule-registry.js +16 -11
- package/dist/src/oracle/rules/pyth-core-rule.js +5 -5
- package/dist/src/oracle/rules/pyth-lazer-rule.d.ts +21 -0
- package/dist/src/oracle/rules/pyth-lazer-rule.js +28 -3
- package/dist/src/oracle/rules/pyth-rule.js +5 -4
- package/dist/src/oracle/rules/waterx-rule.d.ts +126 -0
- package/dist/src/oracle/rules/waterx-rule.js +305 -0
- package/dist/src/perp/client.d.ts +71 -20
- package/dist/src/perp/client.js +36 -14
- package/dist/src/perp/config.d.ts +6 -7
- package/dist/src/perp/config.js +11 -9
- package/dist/src/perp/constants.d.ts +0 -6
- package/dist/src/perp/constants.js +10 -8
- package/dist/src/perp/fetch/account.js +3 -0
- package/dist/src/perp/fetch/bridge.js +2 -1
- package/dist/src/perp/fetch/market.js +2 -1
- package/dist/src/perp/fetch/positions.d.ts +16 -10
- package/dist/src/perp/fetch/positions.js +28 -20
- package/dist/src/perp/index.d.ts +9 -5
- package/dist/src/perp/index.js +6 -4
- package/dist/src/perp/liq-view.d.ts +64 -0
- package/dist/src/perp/liq-view.js +71 -0
- package/dist/src/perp/user/order.d.ts +13 -0
- package/dist/src/perp/user/order.js +30 -16
- package/dist/src/perp/user/staking.js +3 -2
- package/dist/src/perp/user/trading.js +25 -24
- package/dist/src/perp/user/wlp.js +6 -5
- package/dist/src/prediction/utils.d.ts +11 -2
- package/dist/src/prediction/utils.js +22 -22
- package/dist/src/unified-client.d.ts +41 -15
- package/dist/src/unified-client.js +4 -2
- package/dist/src/utils/format.d.ts +14 -0
- package/dist/src/utils/format.js +21 -0
- package/dist/src/utils/math.d.ts +304 -12
- package/dist/src/utils/math.js +394 -17
- package/dist/src/utils/validate.d.ts +69 -0
- package/dist/src/utils/validate.js +167 -0
- package/package.json +4 -1
|
@@ -0,0 +1,855 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
/** Nautilus-backed oracle rule for Binance, Bybit, and Gate.io prices. */
|
|
5
|
+
import { MoveStruct, normalizeMoveArguments } from "../utils/index.js";
|
|
6
|
+
import { bcs } from '@mysten/sui/bcs';
|
|
7
|
+
import * as float from "./deps/bucket_v2_framework/float.js";
|
|
8
|
+
import * as vec_map from "./deps/sui/vec_map.js";
|
|
9
|
+
const $moduleName = '@waterx/rule::waterx_rule';
|
|
10
|
+
export const WATERX_RULE = new MoveStruct({ name: `${$moduleName}::WATERX_RULE`, fields: {
|
|
11
|
+
dummy_field: bcs.bool()
|
|
12
|
+
} });
|
|
13
|
+
export const WaterxRule = new MoveStruct({ name: `${$moduleName}::WaterxRule`, fields: {
|
|
14
|
+
dummy_field: bcs.bool()
|
|
15
|
+
} });
|
|
16
|
+
export const PricePayload = new MoveStruct({ name: `${$moduleName}::PricePayload`, fields: {
|
|
17
|
+
ticker: bcs.string(),
|
|
18
|
+
sources: bcs.vector(bcs.u64()),
|
|
19
|
+
method: bcs.string(),
|
|
20
|
+
price_timestamp_ms: bcs.u64(),
|
|
21
|
+
price_n: bcs.u64(),
|
|
22
|
+
price_scale: bcs.u64(),
|
|
23
|
+
confidence_n: bcs.u64(),
|
|
24
|
+
confidence_scale: bcs.u64(),
|
|
25
|
+
max_source_deviation_bps: bcs.u64(),
|
|
26
|
+
num_sources: bcs.u8()
|
|
27
|
+
} });
|
|
28
|
+
export const BatchPriceItem = new MoveStruct({ name: `${$moduleName}::BatchPriceItem`, fields: {
|
|
29
|
+
symbol: bcs.string(),
|
|
30
|
+
ticker: bcs.string(),
|
|
31
|
+
sources: bcs.vector(bcs.u64()),
|
|
32
|
+
method: bcs.string(),
|
|
33
|
+
price_timestamp_ms: bcs.u64(),
|
|
34
|
+
price_n: bcs.u64(),
|
|
35
|
+
price_scale: bcs.u64(),
|
|
36
|
+
confidence_n: bcs.u64(),
|
|
37
|
+
confidence_scale: bcs.u64(),
|
|
38
|
+
max_source_deviation_bps: bcs.u64(),
|
|
39
|
+
num_sources: bcs.u8()
|
|
40
|
+
} });
|
|
41
|
+
export const BatchPricePayload = new MoveStruct({ name: `${$moduleName}::BatchPricePayload`, fields: {
|
|
42
|
+
items: bcs.vector(BatchPriceItem)
|
|
43
|
+
} });
|
|
44
|
+
export const FeedConfig = new MoveStruct({ name: `${$moduleName}::FeedConfig`, fields: {
|
|
45
|
+
ticker: bcs.string(),
|
|
46
|
+
sources: bcs.vector(bcs.u64()),
|
|
47
|
+
method: bcs.string(),
|
|
48
|
+
max_age_ms: bcs.u64(),
|
|
49
|
+
max_confidence_bps: bcs.u64(),
|
|
50
|
+
max_source_deviation_bps: bcs.u64(),
|
|
51
|
+
min_sources: bcs.u8()
|
|
52
|
+
} });
|
|
53
|
+
export const VerifiedPrice = new MoveStruct({ name: `${$moduleName}::VerifiedPrice`, fields: {
|
|
54
|
+
symbol: bcs.string(),
|
|
55
|
+
ticker: bcs.string(),
|
|
56
|
+
sources: bcs.vector(bcs.u64()),
|
|
57
|
+
method: bcs.string(),
|
|
58
|
+
price_timestamp_ms: bcs.u64(),
|
|
59
|
+
price: float.Float,
|
|
60
|
+
price_n: bcs.u64(),
|
|
61
|
+
price_scale: bcs.u64(),
|
|
62
|
+
confidence_n: bcs.u64(),
|
|
63
|
+
confidence_scale: bcs.u64(),
|
|
64
|
+
max_source_deviation_bps: bcs.u64(),
|
|
65
|
+
num_sources: bcs.u8(),
|
|
66
|
+
signed_timestamp_ms: bcs.u64()
|
|
67
|
+
} });
|
|
68
|
+
export const Config = new MoveStruct({ name: `${$moduleName}::Config`, fields: {
|
|
69
|
+
id: bcs.Address,
|
|
70
|
+
feed_map: vec_map.VecMap(bcs.string(), FeedConfig)
|
|
71
|
+
} });
|
|
72
|
+
export const SignedTsHwmKey = new MoveStruct({ name: `${$moduleName}::SignedTsHwmKey`, fields: {
|
|
73
|
+
symbol: bcs.string()
|
|
74
|
+
} });
|
|
75
|
+
export const HistoricalPriceVerified = new MoveStruct({ name: `${$moduleName}::HistoricalPriceVerified`, fields: {
|
|
76
|
+
symbol: bcs.string(),
|
|
77
|
+
ticker: bcs.string(),
|
|
78
|
+
sources: bcs.vector(bcs.u64()),
|
|
79
|
+
method: bcs.string(),
|
|
80
|
+
price_timestamp_ms: bcs.u64(),
|
|
81
|
+
price: bcs.u128(),
|
|
82
|
+
confidence: bcs.u128(),
|
|
83
|
+
max_source_deviation_bps: bcs.u64(),
|
|
84
|
+
num_sources: bcs.u8(),
|
|
85
|
+
signed_timestamp_ms: bcs.u64()
|
|
86
|
+
} });
|
|
87
|
+
export const BatchLatestUpdated = new MoveStruct({ name: `${$moduleName}::BatchLatestUpdated`, fields: {
|
|
88
|
+
count: bcs.u64(),
|
|
89
|
+
timestamp_ms: bcs.u64()
|
|
90
|
+
} });
|
|
91
|
+
/**
|
|
92
|
+
* Public Funs Verifies one Nautilus batch signature and updates one or more latest
|
|
93
|
+
* oracle prices. This function is only for current/latest data, never historical
|
|
94
|
+
* data. A single symbol is just a batch of one.
|
|
95
|
+
*/
|
|
96
|
+
export function feedBatchLatest(options) {
|
|
97
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
98
|
+
const argumentsTypes = [
|
|
99
|
+
null,
|
|
100
|
+
null,
|
|
101
|
+
'0x2::clock::Clock',
|
|
102
|
+
null,
|
|
103
|
+
null,
|
|
104
|
+
'u64',
|
|
105
|
+
null,
|
|
106
|
+
'vector<u8>'
|
|
107
|
+
];
|
|
108
|
+
const parameterNames = ["oracleObj", "config", "enclaveConfig", "enclave", "timestampMs", "payload", "sig"];
|
|
109
|
+
return (tx) => tx.moveCall({
|
|
110
|
+
package: packageAddress,
|
|
111
|
+
module: 'waterx_rule',
|
|
112
|
+
function: 'feed_batch_latest',
|
|
113
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Collect-only sibling of `feed_batch_latest` for the **dual-rule** latest path:
|
|
118
|
+
* verifies one Nautilus batch signature and feeds the single item whose symbol
|
|
119
|
+
* matches `collector.symbol()` into a caller-owned `PriceCollector`, WITHOUT
|
|
120
|
+
* calling `oracle::aggregate`. This lets one aggregator carry both a `WaterxRule`
|
|
121
|
+
* and (e.g.) a `PythRule` weight — the caller composes one collector across every
|
|
122
|
+
* weighted rule in the PTB (compose-then-aggregate, like `pyth_rule::feed`) and
|
|
123
|
+
* aggregates once.
|
|
124
|
+
*
|
|
125
|
+
* Abort vs abstain (WL-1963): unlike `feed_batch_latest`, which has no fallback
|
|
126
|
+
* and so aborts on any stale item, this path runs alongside Pyth/Supra. To let
|
|
127
|
+
* those cover a lagging TEE — the blast-radius bound in the GCP ADR — a
|
|
128
|
+
* _freshness_ miss ABSTAINS (records `none`, which `aggregator::remove_outliers`
|
|
129
|
+
* drops before the `weight_threshold` fail-closed check). A _config/integrity_
|
|
130
|
+
* mismatch (source / ticker / method / confidence / deviation) still ABORTS: an
|
|
131
|
+
* enclave whose signed payload disagrees with the on-chain feed config is a red
|
|
132
|
+
* flag, not a liveness blip. Bad signature, malformed batch, a future timestamp,
|
|
133
|
+
* and replay always abort.
|
|
134
|
+
*
|
|
135
|
+
* Every gate is identical to `feed_batch_item_latest`; only the abort-vs-abstain
|
|
136
|
+
* disposition of the two freshness gates differs, and the sink is the caller's
|
|
137
|
+
* collector rather than a fresh single-rule one.
|
|
138
|
+
*/
|
|
139
|
+
export function collectBatchLatest(options) {
|
|
140
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
141
|
+
const argumentsTypes = [
|
|
142
|
+
null,
|
|
143
|
+
null,
|
|
144
|
+
'0x2::clock::Clock',
|
|
145
|
+
null,
|
|
146
|
+
null,
|
|
147
|
+
'u64',
|
|
148
|
+
null,
|
|
149
|
+
'vector<u8>'
|
|
150
|
+
];
|
|
151
|
+
const parameterNames = ["collector", "config", "enclaveConfig", "enclave", "timestampMs", "payload", "sig"];
|
|
152
|
+
return (tx) => tx.moveCall({
|
|
153
|
+
package: packageAddress,
|
|
154
|
+
module: 'waterx_rule',
|
|
155
|
+
function: 'collect_batch_latest',
|
|
156
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Verifies a historical quote without touching `waterx_oracle`.
|
|
161
|
+
*
|
|
162
|
+
* `signed_timestamp_ms` is the fresh timestamp signed by Nautilus.
|
|
163
|
+
* `requested_price_timestamp_ms` is the historical price timestamp the caller
|
|
164
|
+
* requested from Nautilus. Consumers should still assert the returned proof's
|
|
165
|
+
* symbol and timestamp inside their own contract before using the price.
|
|
166
|
+
*/
|
|
167
|
+
export function quoteForTimestamp(options) {
|
|
168
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
169
|
+
const argumentsTypes = [
|
|
170
|
+
null,
|
|
171
|
+
'0x2::clock::Clock',
|
|
172
|
+
null,
|
|
173
|
+
null,
|
|
174
|
+
'0x1::string::String',
|
|
175
|
+
'u64',
|
|
176
|
+
'u64',
|
|
177
|
+
null,
|
|
178
|
+
'vector<u8>'
|
|
179
|
+
];
|
|
180
|
+
const parameterNames = ["config", "enclaveConfig", "enclave", "symbol", "signedTimestampMs", "requestedPriceTimestampMs", "payload", "sig"];
|
|
181
|
+
return (tx) => tx.moveCall({
|
|
182
|
+
package: packageAddress,
|
|
183
|
+
module: 'waterx_rule',
|
|
184
|
+
function: 'quote_for_timestamp',
|
|
185
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Consumes a verified historical price proof when no downstream consumer needs to
|
|
190
|
+
* keep using it in the PTB.
|
|
191
|
+
*/
|
|
192
|
+
export function destroyVerifiedPrice(options) {
|
|
193
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
194
|
+
const argumentsTypes = [
|
|
195
|
+
null
|
|
196
|
+
];
|
|
197
|
+
const parameterNames = ["price"];
|
|
198
|
+
return (tx) => tx.moveCall({
|
|
199
|
+
package: packageAddress,
|
|
200
|
+
module: 'waterx_rule',
|
|
201
|
+
function: 'destroy_verified_price',
|
|
202
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Consumes a verified historical price and feeds it into a collector.
|
|
207
|
+
*
|
|
208
|
+
* Use this after `quote_for_timestamp` and before
|
|
209
|
+
* `waterx_oracle::oracle::register_price_at_timestamp`.
|
|
210
|
+
*/
|
|
211
|
+
export function collectVerifiedPrice(options) {
|
|
212
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
213
|
+
const argumentsTypes = [
|
|
214
|
+
null,
|
|
215
|
+
null
|
|
216
|
+
];
|
|
217
|
+
const parameterNames = ["collector", "price"];
|
|
218
|
+
return (tx) => tx.moveCall({
|
|
219
|
+
package: packageAddress,
|
|
220
|
+
module: 'waterx_rule',
|
|
221
|
+
function: 'collect_verified_price',
|
|
222
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
/** Admin Funs */
|
|
226
|
+
export function setFeed(options) {
|
|
227
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
228
|
+
const argumentsTypes = [
|
|
229
|
+
null,
|
|
230
|
+
null,
|
|
231
|
+
'0x1::string::String',
|
|
232
|
+
'0x1::string::String',
|
|
233
|
+
'vector<u64>',
|
|
234
|
+
'0x1::string::String',
|
|
235
|
+
'u64'
|
|
236
|
+
];
|
|
237
|
+
const parameterNames = ["config", "Cap", "symbol", "ticker", "sources", "method", "maxAgeMs"];
|
|
238
|
+
return (tx) => tx.moveCall({
|
|
239
|
+
package: packageAddress,
|
|
240
|
+
module: 'waterx_rule',
|
|
241
|
+
function: 'set_feed',
|
|
242
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
export function setPerpFeed(options) {
|
|
246
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
247
|
+
const argumentsTypes = [
|
|
248
|
+
null,
|
|
249
|
+
null,
|
|
250
|
+
'0x1::string::String',
|
|
251
|
+
'0x1::string::String',
|
|
252
|
+
'vector<u64>',
|
|
253
|
+
'0x1::string::String',
|
|
254
|
+
'u64',
|
|
255
|
+
'u64',
|
|
256
|
+
'u64',
|
|
257
|
+
'u8'
|
|
258
|
+
];
|
|
259
|
+
const parameterNames = ["config", "Cap", "symbol", "ticker", "sources", "method", "maxAgeMs", "maxConfidenceBps", "maxSourceDeviationBps", "minSources"];
|
|
260
|
+
return (tx) => tx.moveCall({
|
|
261
|
+
package: packageAddress,
|
|
262
|
+
module: 'waterx_rule',
|
|
263
|
+
function: 'set_perp_feed',
|
|
264
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
export function removeFeed(options) {
|
|
268
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
269
|
+
const argumentsTypes = [
|
|
270
|
+
null,
|
|
271
|
+
null,
|
|
272
|
+
'0x1::string::String'
|
|
273
|
+
];
|
|
274
|
+
const parameterNames = ["config", "Cap", "symbol"];
|
|
275
|
+
return (tx) => tx.moveCall({
|
|
276
|
+
package: packageAddress,
|
|
277
|
+
module: 'waterx_rule',
|
|
278
|
+
function: 'remove_feed',
|
|
279
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
/** Getter Funs */
|
|
283
|
+
export function newBatchPayload(options = {}) {
|
|
284
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
285
|
+
return (tx) => tx.moveCall({
|
|
286
|
+
package: packageAddress,
|
|
287
|
+
module: 'waterx_rule',
|
|
288
|
+
function: 'new_batch_payload',
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
export function newBatchItem(options) {
|
|
292
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
293
|
+
const argumentsTypes = [
|
|
294
|
+
'0x1::string::String',
|
|
295
|
+
'0x1::string::String',
|
|
296
|
+
'vector<u64>',
|
|
297
|
+
'0x1::string::String',
|
|
298
|
+
'u64',
|
|
299
|
+
'u64',
|
|
300
|
+
'u64',
|
|
301
|
+
'u64',
|
|
302
|
+
'u64',
|
|
303
|
+
'u64',
|
|
304
|
+
'u8'
|
|
305
|
+
];
|
|
306
|
+
const parameterNames = ["symbol", "ticker", "sources", "method", "priceTimestampMs", "priceN", "priceScale", "confidenceN", "confidenceScale", "maxSourceDeviationBps", "numSources"];
|
|
307
|
+
return (tx) => tx.moveCall({
|
|
308
|
+
package: packageAddress,
|
|
309
|
+
module: 'waterx_rule',
|
|
310
|
+
function: 'new_batch_item',
|
|
311
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
export function pushBatchItem(options) {
|
|
315
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
316
|
+
const argumentsTypes = [
|
|
317
|
+
null,
|
|
318
|
+
null
|
|
319
|
+
];
|
|
320
|
+
const parameterNames = ["payload", "item"];
|
|
321
|
+
return (tx) => tx.moveCall({
|
|
322
|
+
package: packageAddress,
|
|
323
|
+
module: 'waterx_rule',
|
|
324
|
+
function: 'push_batch_item',
|
|
325
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
export function feedConfig(options) {
|
|
329
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
330
|
+
const argumentsTypes = [
|
|
331
|
+
null,
|
|
332
|
+
'0x1::string::String'
|
|
333
|
+
];
|
|
334
|
+
const parameterNames = ["config", "symbol"];
|
|
335
|
+
return (tx) => tx.moveCall({
|
|
336
|
+
package: packageAddress,
|
|
337
|
+
module: 'waterx_rule',
|
|
338
|
+
function: 'feed_config',
|
|
339
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
export function batchPriceIntent(options = {}) {
|
|
343
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
344
|
+
return (tx) => tx.moveCall({
|
|
345
|
+
package: packageAddress,
|
|
346
|
+
module: 'waterx_rule',
|
|
347
|
+
function: 'batch_price_intent',
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
export function maxBatchSize(options = {}) {
|
|
351
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
352
|
+
return (tx) => tx.moveCall({
|
|
353
|
+
package: packageAddress,
|
|
354
|
+
module: 'waterx_rule',
|
|
355
|
+
function: 'max_batch_size',
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
export function batchItems(options) {
|
|
359
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
360
|
+
const argumentsTypes = [
|
|
361
|
+
null
|
|
362
|
+
];
|
|
363
|
+
const parameterNames = ["payload"];
|
|
364
|
+
return (tx) => tx.moveCall({
|
|
365
|
+
package: packageAddress,
|
|
366
|
+
module: 'waterx_rule',
|
|
367
|
+
function: 'batch_items',
|
|
368
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
export function batchItemSymbol(options) {
|
|
372
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
373
|
+
const argumentsTypes = [
|
|
374
|
+
null
|
|
375
|
+
];
|
|
376
|
+
const parameterNames = ["item"];
|
|
377
|
+
return (tx) => tx.moveCall({
|
|
378
|
+
package: packageAddress,
|
|
379
|
+
module: 'waterx_rule',
|
|
380
|
+
function: 'batch_item_symbol',
|
|
381
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
export function batchItemTicker(options) {
|
|
385
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
386
|
+
const argumentsTypes = [
|
|
387
|
+
null
|
|
388
|
+
];
|
|
389
|
+
const parameterNames = ["item"];
|
|
390
|
+
return (tx) => tx.moveCall({
|
|
391
|
+
package: packageAddress,
|
|
392
|
+
module: 'waterx_rule',
|
|
393
|
+
function: 'batch_item_ticker',
|
|
394
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
export function batchItemSources(options) {
|
|
398
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
399
|
+
const argumentsTypes = [
|
|
400
|
+
null
|
|
401
|
+
];
|
|
402
|
+
const parameterNames = ["item"];
|
|
403
|
+
return (tx) => tx.moveCall({
|
|
404
|
+
package: packageAddress,
|
|
405
|
+
module: 'waterx_rule',
|
|
406
|
+
function: 'batch_item_sources',
|
|
407
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
export function batchItemMethod(options) {
|
|
411
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
412
|
+
const argumentsTypes = [
|
|
413
|
+
null
|
|
414
|
+
];
|
|
415
|
+
const parameterNames = ["item"];
|
|
416
|
+
return (tx) => tx.moveCall({
|
|
417
|
+
package: packageAddress,
|
|
418
|
+
module: 'waterx_rule',
|
|
419
|
+
function: 'batch_item_method',
|
|
420
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
export function batchItemPriceTimestampMs(options) {
|
|
424
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
425
|
+
const argumentsTypes = [
|
|
426
|
+
null
|
|
427
|
+
];
|
|
428
|
+
const parameterNames = ["item"];
|
|
429
|
+
return (tx) => tx.moveCall({
|
|
430
|
+
package: packageAddress,
|
|
431
|
+
module: 'waterx_rule',
|
|
432
|
+
function: 'batch_item_price_timestamp_ms',
|
|
433
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
export function batchItemPriceN(options) {
|
|
437
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
438
|
+
const argumentsTypes = [
|
|
439
|
+
null
|
|
440
|
+
];
|
|
441
|
+
const parameterNames = ["item"];
|
|
442
|
+
return (tx) => tx.moveCall({
|
|
443
|
+
package: packageAddress,
|
|
444
|
+
module: 'waterx_rule',
|
|
445
|
+
function: 'batch_item_price_n',
|
|
446
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
export function batchItemPriceScale(options) {
|
|
450
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
451
|
+
const argumentsTypes = [
|
|
452
|
+
null
|
|
453
|
+
];
|
|
454
|
+
const parameterNames = ["item"];
|
|
455
|
+
return (tx) => tx.moveCall({
|
|
456
|
+
package: packageAddress,
|
|
457
|
+
module: 'waterx_rule',
|
|
458
|
+
function: 'batch_item_price_scale',
|
|
459
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
export function batchItemConfidenceN(options) {
|
|
463
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
464
|
+
const argumentsTypes = [
|
|
465
|
+
null
|
|
466
|
+
];
|
|
467
|
+
const parameterNames = ["item"];
|
|
468
|
+
return (tx) => tx.moveCall({
|
|
469
|
+
package: packageAddress,
|
|
470
|
+
module: 'waterx_rule',
|
|
471
|
+
function: 'batch_item_confidence_n',
|
|
472
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
export function batchItemConfidenceScale(options) {
|
|
476
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
477
|
+
const argumentsTypes = [
|
|
478
|
+
null
|
|
479
|
+
];
|
|
480
|
+
const parameterNames = ["item"];
|
|
481
|
+
return (tx) => tx.moveCall({
|
|
482
|
+
package: packageAddress,
|
|
483
|
+
module: 'waterx_rule',
|
|
484
|
+
function: 'batch_item_confidence_scale',
|
|
485
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
486
|
+
});
|
|
487
|
+
}
|
|
488
|
+
export function batchItemMaxSourceDeviationBps(options) {
|
|
489
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
490
|
+
const argumentsTypes = [
|
|
491
|
+
null
|
|
492
|
+
];
|
|
493
|
+
const parameterNames = ["item"];
|
|
494
|
+
return (tx) => tx.moveCall({
|
|
495
|
+
package: packageAddress,
|
|
496
|
+
module: 'waterx_rule',
|
|
497
|
+
function: 'batch_item_max_source_deviation_bps',
|
|
498
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
export function batchItemNumSources(options) {
|
|
502
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
503
|
+
const argumentsTypes = [
|
|
504
|
+
null
|
|
505
|
+
];
|
|
506
|
+
const parameterNames = ["item"];
|
|
507
|
+
return (tx) => tx.moveCall({
|
|
508
|
+
package: packageAddress,
|
|
509
|
+
module: 'waterx_rule',
|
|
510
|
+
function: 'batch_item_num_sources',
|
|
511
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
512
|
+
});
|
|
513
|
+
}
|
|
514
|
+
export function verifiedSymbol(options) {
|
|
515
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
516
|
+
const argumentsTypes = [
|
|
517
|
+
null
|
|
518
|
+
];
|
|
519
|
+
const parameterNames = ["price"];
|
|
520
|
+
return (tx) => tx.moveCall({
|
|
521
|
+
package: packageAddress,
|
|
522
|
+
module: 'waterx_rule',
|
|
523
|
+
function: 'verified_symbol',
|
|
524
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
525
|
+
});
|
|
526
|
+
}
|
|
527
|
+
export function verifiedTicker(options) {
|
|
528
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
529
|
+
const argumentsTypes = [
|
|
530
|
+
null
|
|
531
|
+
];
|
|
532
|
+
const parameterNames = ["price"];
|
|
533
|
+
return (tx) => tx.moveCall({
|
|
534
|
+
package: packageAddress,
|
|
535
|
+
module: 'waterx_rule',
|
|
536
|
+
function: 'verified_ticker',
|
|
537
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
538
|
+
});
|
|
539
|
+
}
|
|
540
|
+
export function verifiedSources(options) {
|
|
541
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
542
|
+
const argumentsTypes = [
|
|
543
|
+
null
|
|
544
|
+
];
|
|
545
|
+
const parameterNames = ["price"];
|
|
546
|
+
return (tx) => tx.moveCall({
|
|
547
|
+
package: packageAddress,
|
|
548
|
+
module: 'waterx_rule',
|
|
549
|
+
function: 'verified_sources',
|
|
550
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
551
|
+
});
|
|
552
|
+
}
|
|
553
|
+
export function verifiedMethod(options) {
|
|
554
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
555
|
+
const argumentsTypes = [
|
|
556
|
+
null
|
|
557
|
+
];
|
|
558
|
+
const parameterNames = ["price"];
|
|
559
|
+
return (tx) => tx.moveCall({
|
|
560
|
+
package: packageAddress,
|
|
561
|
+
module: 'waterx_rule',
|
|
562
|
+
function: 'verified_method',
|
|
563
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
export function verifiedPriceTimestampMs(options) {
|
|
567
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
568
|
+
const argumentsTypes = [
|
|
569
|
+
null
|
|
570
|
+
];
|
|
571
|
+
const parameterNames = ["price"];
|
|
572
|
+
return (tx) => tx.moveCall({
|
|
573
|
+
package: packageAddress,
|
|
574
|
+
module: 'waterx_rule',
|
|
575
|
+
function: 'verified_price_timestamp_ms',
|
|
576
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
577
|
+
});
|
|
578
|
+
}
|
|
579
|
+
export function verifiedPrice(options) {
|
|
580
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
581
|
+
const argumentsTypes = [
|
|
582
|
+
null
|
|
583
|
+
];
|
|
584
|
+
const parameterNames = ["price"];
|
|
585
|
+
return (tx) => tx.moveCall({
|
|
586
|
+
package: packageAddress,
|
|
587
|
+
module: 'waterx_rule',
|
|
588
|
+
function: 'verified_price',
|
|
589
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
export function verifiedPriceScaled(options) {
|
|
593
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
594
|
+
const argumentsTypes = [
|
|
595
|
+
null
|
|
596
|
+
];
|
|
597
|
+
const parameterNames = ["price"];
|
|
598
|
+
return (tx) => tx.moveCall({
|
|
599
|
+
package: packageAddress,
|
|
600
|
+
module: 'waterx_rule',
|
|
601
|
+
function: 'verified_price_scaled',
|
|
602
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
603
|
+
});
|
|
604
|
+
}
|
|
605
|
+
export function verifiedPriceN(options) {
|
|
606
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
607
|
+
const argumentsTypes = [
|
|
608
|
+
null
|
|
609
|
+
];
|
|
610
|
+
const parameterNames = ["price"];
|
|
611
|
+
return (tx) => tx.moveCall({
|
|
612
|
+
package: packageAddress,
|
|
613
|
+
module: 'waterx_rule',
|
|
614
|
+
function: 'verified_price_n',
|
|
615
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
616
|
+
});
|
|
617
|
+
}
|
|
618
|
+
export function verifiedPriceScale(options) {
|
|
619
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
620
|
+
const argumentsTypes = [
|
|
621
|
+
null
|
|
622
|
+
];
|
|
623
|
+
const parameterNames = ["price"];
|
|
624
|
+
return (tx) => tx.moveCall({
|
|
625
|
+
package: packageAddress,
|
|
626
|
+
module: 'waterx_rule',
|
|
627
|
+
function: 'verified_price_scale',
|
|
628
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
629
|
+
});
|
|
630
|
+
}
|
|
631
|
+
export function verifiedConfidenceN(options) {
|
|
632
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
633
|
+
const argumentsTypes = [
|
|
634
|
+
null
|
|
635
|
+
];
|
|
636
|
+
const parameterNames = ["price"];
|
|
637
|
+
return (tx) => tx.moveCall({
|
|
638
|
+
package: packageAddress,
|
|
639
|
+
module: 'waterx_rule',
|
|
640
|
+
function: 'verified_confidence_n',
|
|
641
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
export function verifiedConfidenceScale(options) {
|
|
645
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
646
|
+
const argumentsTypes = [
|
|
647
|
+
null
|
|
648
|
+
];
|
|
649
|
+
const parameterNames = ["price"];
|
|
650
|
+
return (tx) => tx.moveCall({
|
|
651
|
+
package: packageAddress,
|
|
652
|
+
module: 'waterx_rule',
|
|
653
|
+
function: 'verified_confidence_scale',
|
|
654
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
655
|
+
});
|
|
656
|
+
}
|
|
657
|
+
export function verifiedMaxSourceDeviationBps(options) {
|
|
658
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
659
|
+
const argumentsTypes = [
|
|
660
|
+
null
|
|
661
|
+
];
|
|
662
|
+
const parameterNames = ["price"];
|
|
663
|
+
return (tx) => tx.moveCall({
|
|
664
|
+
package: packageAddress,
|
|
665
|
+
module: 'waterx_rule',
|
|
666
|
+
function: 'verified_max_source_deviation_bps',
|
|
667
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
668
|
+
});
|
|
669
|
+
}
|
|
670
|
+
export function verifiedNumSources(options) {
|
|
671
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
672
|
+
const argumentsTypes = [
|
|
673
|
+
null
|
|
674
|
+
];
|
|
675
|
+
const parameterNames = ["price"];
|
|
676
|
+
return (tx) => tx.moveCall({
|
|
677
|
+
package: packageAddress,
|
|
678
|
+
module: 'waterx_rule',
|
|
679
|
+
function: 'verified_num_sources',
|
|
680
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
681
|
+
});
|
|
682
|
+
}
|
|
683
|
+
export function verifiedSignedTimestampMs(options) {
|
|
684
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
685
|
+
const argumentsTypes = [
|
|
686
|
+
null
|
|
687
|
+
];
|
|
688
|
+
const parameterNames = ["price"];
|
|
689
|
+
return (tx) => tx.moveCall({
|
|
690
|
+
package: packageAddress,
|
|
691
|
+
module: 'waterx_rule',
|
|
692
|
+
function: 'verified_signed_timestamp_ms',
|
|
693
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
694
|
+
});
|
|
695
|
+
}
|
|
696
|
+
export function sourceBinanceSpot(options = {}) {
|
|
697
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
698
|
+
return (tx) => tx.moveCall({
|
|
699
|
+
package: packageAddress,
|
|
700
|
+
module: 'waterx_rule',
|
|
701
|
+
function: 'source_binance_spot',
|
|
702
|
+
});
|
|
703
|
+
}
|
|
704
|
+
export function sourceBinanceUsdmPerpWs(options = {}) {
|
|
705
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
706
|
+
return (tx) => tx.moveCall({
|
|
707
|
+
package: packageAddress,
|
|
708
|
+
module: 'waterx_rule',
|
|
709
|
+
function: 'source_binance_usdm_perp_ws',
|
|
710
|
+
});
|
|
711
|
+
}
|
|
712
|
+
export function sourceBybitLinearPerpWs(options = {}) {
|
|
713
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
714
|
+
return (tx) => tx.moveCall({
|
|
715
|
+
package: packageAddress,
|
|
716
|
+
module: 'waterx_rule',
|
|
717
|
+
function: 'source_bybit_linear_perp_ws',
|
|
718
|
+
});
|
|
719
|
+
}
|
|
720
|
+
export function sourceGateioUsdtPerpWs(options = {}) {
|
|
721
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
722
|
+
return (tx) => tx.moveCall({
|
|
723
|
+
package: packageAddress,
|
|
724
|
+
module: 'waterx_rule',
|
|
725
|
+
function: 'source_gateio_usdt_perp_ws',
|
|
726
|
+
});
|
|
727
|
+
}
|
|
728
|
+
export function sourceGataUsdtPerpWs(options = {}) {
|
|
729
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
730
|
+
return (tx) => tx.moveCall({
|
|
731
|
+
package: packageAddress,
|
|
732
|
+
module: 'waterx_rule',
|
|
733
|
+
function: 'source_gata_usdt_perp_ws',
|
|
734
|
+
});
|
|
735
|
+
}
|
|
736
|
+
export function methodDirect(options = {}) {
|
|
737
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
738
|
+
return (tx) => tx.moveCall({
|
|
739
|
+
package: packageAddress,
|
|
740
|
+
module: 'waterx_rule',
|
|
741
|
+
function: 'method_direct',
|
|
742
|
+
});
|
|
743
|
+
}
|
|
744
|
+
export function methodMedian(options = {}) {
|
|
745
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
746
|
+
return (tx) => tx.moveCall({
|
|
747
|
+
package: packageAddress,
|
|
748
|
+
module: 'waterx_rule',
|
|
749
|
+
function: 'method_median',
|
|
750
|
+
});
|
|
751
|
+
}
|
|
752
|
+
export function methodConfidence(options = {}) {
|
|
753
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
754
|
+
return (tx) => tx.moveCall({
|
|
755
|
+
package: packageAddress,
|
|
756
|
+
module: 'waterx_rule',
|
|
757
|
+
function: 'method_confidence',
|
|
758
|
+
});
|
|
759
|
+
}
|
|
760
|
+
export function isSupportedSource(options) {
|
|
761
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
762
|
+
const argumentsTypes = [
|
|
763
|
+
'u64'
|
|
764
|
+
];
|
|
765
|
+
const parameterNames = ["source"];
|
|
766
|
+
return (tx) => tx.moveCall({
|
|
767
|
+
package: packageAddress,
|
|
768
|
+
module: 'waterx_rule',
|
|
769
|
+
function: 'is_supported_source',
|
|
770
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
771
|
+
});
|
|
772
|
+
}
|
|
773
|
+
export function isPerpSource(options) {
|
|
774
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
775
|
+
const argumentsTypes = [
|
|
776
|
+
'u64'
|
|
777
|
+
];
|
|
778
|
+
const parameterNames = ["source"];
|
|
779
|
+
return (tx) => tx.moveCall({
|
|
780
|
+
package: packageAddress,
|
|
781
|
+
module: 'waterx_rule',
|
|
782
|
+
function: 'is_perp_source',
|
|
783
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
784
|
+
});
|
|
785
|
+
}
|
|
786
|
+
export function isSupportedMethod(options) {
|
|
787
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
788
|
+
const argumentsTypes = [
|
|
789
|
+
'0x1::string::String'
|
|
790
|
+
];
|
|
791
|
+
const parameterNames = ["method"];
|
|
792
|
+
return (tx) => tx.moveCall({
|
|
793
|
+
package: packageAddress,
|
|
794
|
+
module: 'waterx_rule',
|
|
795
|
+
function: 'is_supported_method',
|
|
796
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
797
|
+
});
|
|
798
|
+
}
|
|
799
|
+
export function isPerpMethod(options) {
|
|
800
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
801
|
+
const argumentsTypes = [
|
|
802
|
+
'0x1::string::String'
|
|
803
|
+
];
|
|
804
|
+
const parameterNames = ["method"];
|
|
805
|
+
return (tx) => tx.moveCall({
|
|
806
|
+
package: packageAddress,
|
|
807
|
+
module: 'waterx_rule',
|
|
808
|
+
function: 'is_perp_method',
|
|
809
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
810
|
+
});
|
|
811
|
+
}
|
|
812
|
+
export function sourceFromName(options) {
|
|
813
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
814
|
+
const argumentsTypes = [
|
|
815
|
+
'0x1::string::String'
|
|
816
|
+
];
|
|
817
|
+
const parameterNames = ["name"];
|
|
818
|
+
return (tx) => tx.moveCall({
|
|
819
|
+
package: packageAddress,
|
|
820
|
+
module: 'waterx_rule',
|
|
821
|
+
function: 'source_from_name',
|
|
822
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
823
|
+
});
|
|
824
|
+
}
|
|
825
|
+
export function methodFromName(options) {
|
|
826
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
827
|
+
const argumentsTypes = [
|
|
828
|
+
'0x1::string::String'
|
|
829
|
+
];
|
|
830
|
+
const parameterNames = ["name"];
|
|
831
|
+
return (tx) => tx.moveCall({
|
|
832
|
+
package: packageAddress,
|
|
833
|
+
module: 'waterx_rule',
|
|
834
|
+
function: 'method_from_name',
|
|
835
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
836
|
+
});
|
|
837
|
+
}
|
|
838
|
+
/**
|
|
839
|
+
* Last accepted signed timestamp for `symbol` (0 if none yet). View helper for
|
|
840
|
+
* keepers/SDK so they can pick a `timestamp_ms` strictly greater than this.
|
|
841
|
+
*/
|
|
842
|
+
export function signedTsHwm(options) {
|
|
843
|
+
const packageAddress = options.package ?? '@waterx/rule';
|
|
844
|
+
const argumentsTypes = [
|
|
845
|
+
null,
|
|
846
|
+
'0x1::string::String'
|
|
847
|
+
];
|
|
848
|
+
const parameterNames = ["config", "symbol"];
|
|
849
|
+
return (tx) => tx.moveCall({
|
|
850
|
+
package: packageAddress,
|
|
851
|
+
module: 'waterx_rule',
|
|
852
|
+
function: 'signed_ts_hwm',
|
|
853
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
854
|
+
});
|
|
855
|
+
}
|