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