@chainflip/rpc 2.0.6-wbtc-dev.4 → 2.0.7-wbtc-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/parsers.cjs CHANGED
@@ -1,761 +1,804 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/parsers.ts
2
- var _bytes = require('@chainflip/utils/bytes');
3
- var _chainflip = require('@chainflip/utils/chainflip');
4
- var _guard = require('@chainflip/utils/guard');
5
- var _string = require('@chainflip/utils/string');
6
- var _zod = require('zod');
7
- var accountId = _zod.z.string().refine((val) => val.startsWith("cF"));
8
- var hexString = _zod.z.string().refine(_string.isHex, { message: "Invalid hex string" });
9
- var u256 = hexString.transform((value) => BigInt(value));
10
- var numericString = _zod.z.string().regex(/^[0-9]+$/);
11
- var numberOrHex = _zod.z.union([_zod.z.number(), u256, numericString]).transform((n) => BigInt(n));
12
- var chainAssetMapFactory = (parser, _defaultValue) => _zod.z.object({
13
- Bitcoin: _zod.z.object({ BTC: parser }),
14
- Ethereum: _zod.z.object({ ETH: parser, USDC: parser, FLIP: parser, USDT: parser, WBTC: parser }),
15
- Polkadot: _zod.z.object({ DOT: parser }),
16
- Arbitrum: _zod.z.object({ ETH: parser, USDC: parser, USDT: parser }),
17
- Solana: _zod.z.object({ SOL: parser, USDC: parser, USDT: parser }),
18
- Assethub: _zod.z.object({ DOT: parser, USDC: parser, USDT: parser })
19
- }).omit({ Polkadot: true });
20
- var chainBaseAssetMapFactory = (parser, _defaultValue) => _zod.z.object({
21
- Bitcoin: _zod.z.object({ BTC: parser }),
22
- Ethereum: _zod.z.object({ ETH: parser, FLIP: parser, USDT: parser, WBTC: parser }),
23
- Polkadot: _zod.z.object({ DOT: parser }),
24
- Arbitrum: _zod.z.object({ ETH: parser, USDC: parser, USDT: parser }),
25
- Solana: _zod.z.object({ SOL: parser, USDC: parser, USDT: parser }),
26
- Assethub: _zod.z.object({ DOT: parser, USDC: parser, USDT: parser })
27
- }).omit({ Polkadot: true });
28
- var chainMapFactory = (parser, _defaultValue) => _zod.z.object({
29
- Bitcoin: parser,
30
- Ethereum: parser,
31
- Polkadot: parser,
32
- Arbitrum: parser,
33
- Solana: parser,
34
- Assethub: parser
35
- }).omit({ Polkadot: true });
36
- var rpcAssetSchema = _zod.z.union([
37
- _zod.z.object({ chain: _zod.z.literal("Bitcoin"), asset: _zod.z.literal("BTC") }),
38
- _zod.z.object({ chain: _zod.z.literal("Polkadot"), asset: _zod.z.literal("DOT") }),
39
- _zod.z.object({ chain: _zod.z.literal("Ethereum"), asset: _zod.z.literal("FLIP") }),
40
- _zod.z.object({ chain: _zod.z.literal("Ethereum"), asset: _zod.z.literal("ETH") }),
41
- _zod.z.object({ chain: _zod.z.literal("Ethereum"), asset: _zod.z.literal("USDC") }),
42
- _zod.z.object({ chain: _zod.z.literal("Ethereum"), asset: _zod.z.literal("USDT") }),
43
- _zod.z.object({ chain: _zod.z.literal("Ethereum"), asset: _zod.z.literal("WBTC") }),
44
- _zod.z.object({ chain: _zod.z.literal("Arbitrum"), asset: _zod.z.literal("ETH") }),
45
- _zod.z.object({ chain: _zod.z.literal("Arbitrum"), asset: _zod.z.literal("USDC") }),
46
- _zod.z.object({ chain: _zod.z.literal("Arbitrum"), asset: _zod.z.literal("USDT") }),
47
- _zod.z.object({ chain: _zod.z.literal("Solana"), asset: _zod.z.literal("SOL") }),
48
- _zod.z.object({ chain: _zod.z.literal("Solana"), asset: _zod.z.literal("USDC") }),
49
- _zod.z.object({ chain: _zod.z.literal("Solana"), asset: _zod.z.literal("USDT") }),
50
- _zod.z.object({ chain: _zod.z.literal("Assethub"), asset: _zod.z.literal("DOT") }),
51
- _zod.z.object({ chain: _zod.z.literal("Assethub"), asset: _zod.z.literal("USDC") }),
52
- _zod.z.object({ chain: _zod.z.literal("Assethub"), asset: _zod.z.literal("USDT") })
1
+ let zod = require("zod");
2
+ let _chainflip_utils_bytes = require("@chainflip/utils/bytes");
3
+ let _chainflip_utils_chainflip = require("@chainflip/utils/chainflip");
4
+ let _chainflip_utils_guard = require("@chainflip/utils/guard");
5
+ let _chainflip_utils_string = require("@chainflip/utils/string");
6
+
7
+ //#region src/parsers.ts
8
+ const accountId = zod.z.string().refine((val) => val.startsWith("cF"));
9
+ const hexString = zod.z.string().refine(_chainflip_utils_string.isHex, { message: "Invalid hex string" });
10
+ const u256 = hexString.transform((value) => BigInt(value));
11
+ const numericString = zod.z.string().regex(/^[0-9]+$/);
12
+ const numberOrHex = zod.z.union([
13
+ zod.z.number(),
14
+ u256,
15
+ numericString
16
+ ]).transform((n) => BigInt(n));
17
+ const chainAssetMapFactory = (parser, defaultValue) => zod.z.object({
18
+ Bitcoin: zod.z.object({ BTC: parser }),
19
+ Ethereum: zod.z.object({
20
+ ETH: parser,
21
+ USDC: parser,
22
+ FLIP: parser,
23
+ USDT: parser,
24
+ WBTC: parser.default(defaultValue)
25
+ }),
26
+ Arbitrum: zod.z.object({
27
+ ETH: parser,
28
+ USDC: parser,
29
+ USDT: parser.default(defaultValue)
30
+ }),
31
+ Solana: zod.z.object({
32
+ SOL: parser,
33
+ USDC: parser,
34
+ USDT: parser.default(defaultValue)
35
+ }),
36
+ Assethub: zod.z.object({
37
+ DOT: parser,
38
+ USDC: parser,
39
+ USDT: parser
40
+ })
41
+ });
42
+ const chainBaseAssetMapFactory = (parser, defaultValue) => zod.z.object({
43
+ Bitcoin: zod.z.object({ BTC: parser }),
44
+ Ethereum: zod.z.object({
45
+ ETH: parser,
46
+ FLIP: parser,
47
+ USDT: parser,
48
+ WBTC: parser.default(defaultValue)
49
+ }),
50
+ Arbitrum: zod.z.object({
51
+ ETH: parser,
52
+ USDC: parser,
53
+ USDT: parser.default(defaultValue)
54
+ }),
55
+ Solana: zod.z.object({
56
+ SOL: parser,
57
+ USDC: parser,
58
+ USDT: parser.default(defaultValue)
59
+ }),
60
+ Assethub: zod.z.object({
61
+ DOT: parser,
62
+ USDC: parser,
63
+ USDT: parser
64
+ })
65
+ });
66
+ const chainMapFactory = (parser, _defaultValue) => zod.z.object({
67
+ Bitcoin: parser,
68
+ Ethereum: parser,
69
+ Arbitrum: parser,
70
+ Solana: parser,
71
+ Assethub: parser
72
+ });
73
+ const rpcAssetSchema = zod.z.union([
74
+ zod.z.object({
75
+ chain: zod.z.literal("Bitcoin"),
76
+ asset: zod.z.literal("BTC")
77
+ }),
78
+ zod.z.object({
79
+ chain: zod.z.literal("Polkadot"),
80
+ asset: zod.z.literal("DOT")
81
+ }),
82
+ zod.z.object({
83
+ chain: zod.z.literal("Ethereum"),
84
+ asset: zod.z.literal("FLIP")
85
+ }),
86
+ zod.z.object({
87
+ chain: zod.z.literal("Ethereum"),
88
+ asset: zod.z.literal("ETH")
89
+ }),
90
+ zod.z.object({
91
+ chain: zod.z.literal("Ethereum"),
92
+ asset: zod.z.literal("USDC")
93
+ }),
94
+ zod.z.object({
95
+ chain: zod.z.literal("Ethereum"),
96
+ asset: zod.z.literal("USDT")
97
+ }),
98
+ zod.z.object({
99
+ chain: zod.z.literal("Ethereum"),
100
+ asset: zod.z.literal("WBTC")
101
+ }),
102
+ zod.z.object({
103
+ chain: zod.z.literal("Arbitrum"),
104
+ asset: zod.z.literal("ETH")
105
+ }),
106
+ zod.z.object({
107
+ chain: zod.z.literal("Arbitrum"),
108
+ asset: zod.z.literal("USDC")
109
+ }),
110
+ zod.z.object({
111
+ chain: zod.z.literal("Arbitrum"),
112
+ asset: zod.z.literal("USDT")
113
+ }),
114
+ zod.z.object({
115
+ chain: zod.z.literal("Solana"),
116
+ asset: zod.z.literal("SOL")
117
+ }),
118
+ zod.z.object({
119
+ chain: zod.z.literal("Solana"),
120
+ asset: zod.z.literal("USDC")
121
+ }),
122
+ zod.z.object({
123
+ chain: zod.z.literal("Solana"),
124
+ asset: zod.z.literal("USDT")
125
+ }),
126
+ zod.z.object({
127
+ chain: zod.z.literal("Assethub"),
128
+ asset: zod.z.literal("DOT")
129
+ }),
130
+ zod.z.object({
131
+ chain: zod.z.literal("Assethub"),
132
+ asset: zod.z.literal("USDC")
133
+ }),
134
+ zod.z.object({
135
+ chain: zod.z.literal("Assethub"),
136
+ asset: zod.z.literal("USDT")
137
+ })
53
138
  ]);
54
- var networkFee = _zod.z.object({
55
- standard_rate_and_minimum: _zod.z.object({
56
- rate: numberOrHex,
57
- minimum: numberOrHex
58
- }),
59
- rates: chainAssetMapFactory(numberOrHex, 0)
60
- });
61
- var networkFees = _zod.z.object({
62
- regular_network_fee: networkFee,
63
- internal_swap_network_fee: networkFee
64
- });
65
- var rename = (mapping) => (obj) => Object.fromEntries(
66
- Object.entries(obj).map(([key, value]) => [
67
- key in mapping ? mapping[key] : key,
68
- value
69
- ])
70
- );
71
- var rpcBaseResponse = _zod.z.object({
72
- id: _zod.z.string(),
73
- jsonrpc: _zod.z.literal("2.0")
74
- });
75
- var notUndefined = _zod.z.any().refine((v) => !_guard.isUndefined.call(void 0, v), { message: "Value must not be undefined" });
76
- var rpcSuccessResponse = rpcBaseResponse.extend({ result: notUndefined });
77
- var rpcErrorResponse = rpcBaseResponse.extend({
78
- error: _zod.z.object({ code: _zod.z.number(), message: _zod.z.string() })
79
- });
80
- var rpcResponse = _zod.z.union([rpcSuccessResponse, rpcErrorResponse]);
81
- var cfSwapRate = _zod.z.object({
82
- intermediary: numberOrHex.nullable(),
83
- output: numberOrHex
84
- });
85
- var fee = _zod.z.intersection(rpcAssetSchema, _zod.z.object({ amount: numberOrHex }));
86
- var cfSwapRateV2 = _zod.z.object({
87
- egress_fee: fee,
88
- ingress_fee: fee,
89
- intermediary: u256.nullable(),
90
- network_fee: fee,
91
- output: u256
92
- });
93
- var cfSwapRateV3 = cfSwapRateV2.extend({
94
- broker_commission: fee
95
- });
96
- var chainGetBlockHash = hexString;
97
- var stateGetMetadata = hexString;
98
- var stateGetRuntimeVersion = _zod.z.object({
99
- specName: _zod.z.string(),
100
- implName: _zod.z.string(),
101
- authoringVersion: _zod.z.number(),
102
- specVersion: _zod.z.number(),
103
- implVersion: _zod.z.number(),
104
- apis: _zod.z.array(_zod.z.tuple([hexString, _zod.z.number()])),
105
- transactionVersion: _zod.z.number(),
106
- stateVersion: _zod.z.number()
107
- });
108
- var cfIngressEgressEnvironment = _zod.z.object({
109
- minimum_deposit_amounts: chainAssetMapFactory(numberOrHex, 0),
110
- ingress_fees: chainAssetMapFactory(numberOrHex.nullable(), null),
111
- egress_fees: chainAssetMapFactory(numberOrHex.nullable(), null),
112
- witness_safety_margins: chainMapFactory(_zod.z.number().nullable(), null),
113
- egress_dust_limits: chainAssetMapFactory(numberOrHex, 0),
114
- channel_opening_fees: chainMapFactory(numberOrHex, 0),
115
- ingress_delays: chainMapFactory(_zod.z.number(), 0).optional(),
116
- // TODO(1.12): remove after all networks upgraded
117
- boost_delays: chainMapFactory(_zod.z.number(), 0).optional()
118
- // TODO(1.12): remove after all networks upgraded
139
+ const networkFee = zod.z.object({
140
+ standard_rate_and_minimum: zod.z.object({
141
+ rate: numberOrHex,
142
+ minimum: numberOrHex
143
+ }),
144
+ rates: chainAssetMapFactory(numberOrHex, 0)
145
+ });
146
+ const networkFees = zod.z.object({
147
+ regular_network_fee: networkFee,
148
+ internal_swap_network_fee: networkFee
149
+ });
150
+ const rename = (mapping) => (obj) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key in mapping ? mapping[key] : key, value]));
151
+ const rpcBaseResponse = zod.z.object({
152
+ id: zod.z.string(),
153
+ jsonrpc: zod.z.literal("2.0")
154
+ });
155
+ const notUndefined = zod.z.any().refine((v) => !(0, _chainflip_utils_guard.isUndefined)(v), { message: "Value must not be undefined" });
156
+ const rpcSuccessResponse = rpcBaseResponse.extend({ result: notUndefined });
157
+ const rpcErrorResponse = rpcBaseResponse.extend({ error: zod.z.object({
158
+ code: zod.z.number(),
159
+ message: zod.z.string()
160
+ }) });
161
+ const rpcResponse = zod.z.union([rpcSuccessResponse, rpcErrorResponse]);
162
+ const cfSwapRate = zod.z.object({
163
+ intermediary: numberOrHex.nullable(),
164
+ output: numberOrHex
165
+ });
166
+ const fee = zod.z.intersection(rpcAssetSchema, zod.z.object({ amount: numberOrHex }));
167
+ const cfSwapRateV2 = zod.z.object({
168
+ egress_fee: fee,
169
+ ingress_fee: fee,
170
+ intermediary: u256.nullable(),
171
+ network_fee: fee,
172
+ output: u256
173
+ });
174
+ const cfSwapRateV3 = cfSwapRateV2.extend({ broker_commission: fee });
175
+ const chainGetBlockHash = hexString;
176
+ const stateGetMetadata = hexString;
177
+ const stateGetRuntimeVersion = zod.z.object({
178
+ specName: zod.z.string(),
179
+ implName: zod.z.string(),
180
+ authoringVersion: zod.z.number(),
181
+ specVersion: zod.z.number(),
182
+ implVersion: zod.z.number(),
183
+ apis: zod.z.array(zod.z.tuple([hexString, zod.z.number()])),
184
+ transactionVersion: zod.z.number(),
185
+ stateVersion: zod.z.number()
186
+ });
187
+ const cfIngressEgressEnvironment = zod.z.object({
188
+ minimum_deposit_amounts: chainAssetMapFactory(numberOrHex, 0),
189
+ ingress_fees: chainAssetMapFactory(numberOrHex.nullable(), null),
190
+ egress_fees: chainAssetMapFactory(numberOrHex.nullable(), null),
191
+ witness_safety_margins: chainMapFactory(zod.z.number().nullable(), null),
192
+ egress_dust_limits: chainAssetMapFactory(numberOrHex, 0),
193
+ channel_opening_fees: chainMapFactory(numberOrHex, 0),
194
+ ingress_delays: chainMapFactory(zod.z.number(), 0).optional(),
195
+ boost_delays: chainMapFactory(zod.z.number(), 0).optional()
119
196
  }).transform(rename({ egress_dust_limits: "minimum_egress_amounts" }));
120
- var cfSwappingEnvironment = _zod.z.object({
121
- maximum_swap_amounts: chainAssetMapFactory(numberOrHex.nullable(), null),
122
- network_fee_hundredth_pips: _zod.z.number(),
123
- swap_retry_delay_blocks: _zod.z.number().optional(),
124
- max_swap_retry_duration_blocks: _zod.z.number().optional(),
125
- max_swap_request_duration_blocks: _zod.z.number().optional(),
126
- minimum_chunk_size: chainAssetMapFactory(numberOrHex.nullable(), null).optional(),
127
- network_fees: networkFees
128
- });
129
- var cfFundingEnvironment = _zod.z.object({
130
- redemption_tax: numberOrHex,
131
- minimum_funding_amount: numberOrHex
132
- });
133
- var defaultFeeInfo = () => ({
134
- limit_order_fee_hundredth_pips: 0,
135
- range_order_fee_hundredth_pips: 0,
136
- range_order_total_fees_earned: { base: "0x0", quote: "0x0" },
137
- limit_order_total_fees_earned: { base: "0x0", quote: "0x0" },
138
- range_total_swap_inputs: { base: "0x0", quote: "0x0" },
139
- limit_total_swap_inputs: { base: "0x0", quote: "0x0" },
140
- quote_asset: { chain: "Ethereum", asset: "USDC" }
141
- });
142
- var cfPoolsEnvironment = _zod.z.object({
143
- fees: chainBaseAssetMapFactory(
144
- _zod.z.object({
145
- limit_order_fee_hundredth_pips: _zod.z.number(),
146
- range_order_fee_hundredth_pips: _zod.z.number(),
147
- range_order_total_fees_earned: _zod.z.object({ base: u256, quote: u256 }),
148
- limit_order_total_fees_earned: _zod.z.object({ base: u256, quote: u256 }),
149
- range_total_swap_inputs: _zod.z.object({ base: u256, quote: u256 }),
150
- limit_total_swap_inputs: _zod.z.object({ base: u256, quote: u256 }),
151
- quote_asset: _zod.z.object({ chain: _zod.z.literal("Ethereum"), asset: _zod.z.literal("USDC") })
152
- }).nullable().transform((info) => _nullishCoalesce(info, () => ( defaultFeeInfo()))),
153
- defaultFeeInfo()
154
- )
155
- });
156
- var cfEnvironment = _zod.z.object({
157
- ingress_egress: cfIngressEgressEnvironment,
158
- swapping: cfSwappingEnvironment,
159
- funding: cfFundingEnvironment,
160
- pools: cfPoolsEnvironment
161
- });
162
- var cfBoostPoolsDepth = _zod.z.array(
163
- _zod.z.intersection(rpcAssetSchema, _zod.z.object({ tier: _zod.z.number(), available_amount: u256 }))
164
- );
165
- var orderInfoSchema = _zod.z.object({
166
- depth: numberOrHex,
167
- price: numberOrHex.nullable()
168
- });
169
- var assetInfoSchema = _zod.z.object({
170
- limit_orders: orderInfoSchema,
171
- range_orders: orderInfoSchema
172
- });
173
- var cfPoolDepth = _zod.z.object({
174
- asks: assetInfoSchema,
175
- bids: assetInfoSchema
197
+ const cfSwappingEnvironment = zod.z.object({
198
+ maximum_swap_amounts: chainAssetMapFactory(numberOrHex.nullable(), null),
199
+ network_fee_hundredth_pips: zod.z.number(),
200
+ swap_retry_delay_blocks: zod.z.number().optional(),
201
+ max_swap_retry_duration_blocks: zod.z.number().optional(),
202
+ max_swap_request_duration_blocks: zod.z.number().optional(),
203
+ minimum_chunk_size: chainAssetMapFactory(numberOrHex.nullable(), null).optional(),
204
+ network_fees: networkFees
205
+ });
206
+ const cfFundingEnvironment = zod.z.object({
207
+ redemption_tax: numberOrHex,
208
+ minimum_funding_amount: numberOrHex
209
+ });
210
+ const defaultFeeInfo = () => ({
211
+ limit_order_fee_hundredth_pips: 0,
212
+ range_order_fee_hundredth_pips: 0,
213
+ range_order_total_fees_earned: {
214
+ base: "0x0",
215
+ quote: "0x0"
216
+ },
217
+ limit_order_total_fees_earned: {
218
+ base: "0x0",
219
+ quote: "0x0"
220
+ },
221
+ range_total_swap_inputs: {
222
+ base: "0x0",
223
+ quote: "0x0"
224
+ },
225
+ limit_total_swap_inputs: {
226
+ base: "0x0",
227
+ quote: "0x0"
228
+ },
229
+ quote_asset: {
230
+ chain: "Ethereum",
231
+ asset: "USDC"
232
+ }
233
+ });
234
+ const cfPoolsEnvironment = zod.z.object({ fees: chainBaseAssetMapFactory(zod.z.object({
235
+ limit_order_fee_hundredth_pips: zod.z.number(),
236
+ range_order_fee_hundredth_pips: zod.z.number(),
237
+ range_order_total_fees_earned: zod.z.object({
238
+ base: u256,
239
+ quote: u256
240
+ }),
241
+ limit_order_total_fees_earned: zod.z.object({
242
+ base: u256,
243
+ quote: u256
244
+ }),
245
+ range_total_swap_inputs: zod.z.object({
246
+ base: u256,
247
+ quote: u256
248
+ }),
249
+ limit_total_swap_inputs: zod.z.object({
250
+ base: u256,
251
+ quote: u256
252
+ }),
253
+ quote_asset: zod.z.object({
254
+ chain: zod.z.literal("Ethereum"),
255
+ asset: zod.z.literal("USDC")
256
+ })
257
+ }).nullable().transform((info) => info ?? defaultFeeInfo()), defaultFeeInfo()) });
258
+ const cfEnvironment = zod.z.object({
259
+ ingress_egress: cfIngressEgressEnvironment,
260
+ swapping: cfSwappingEnvironment,
261
+ funding: cfFundingEnvironment,
262
+ pools: cfPoolsEnvironment
263
+ });
264
+ const cfBoostPoolsDepth = zod.z.array(zod.z.intersection(rpcAssetSchema, zod.z.object({
265
+ tier: zod.z.number(),
266
+ available_amount: u256
267
+ })));
268
+ const orderInfoSchema = zod.z.object({
269
+ depth: numberOrHex,
270
+ price: numberOrHex.nullable()
271
+ });
272
+ const assetInfoSchema = zod.z.object({
273
+ limit_orders: orderInfoSchema,
274
+ range_orders: orderInfoSchema
275
+ });
276
+ const cfPoolDepth = zod.z.object({
277
+ asks: assetInfoSchema,
278
+ bids: assetInfoSchema
176
279
  }).nullable();
177
- var cfSupportedAssets = _zod.z.array(_zod.z.object({ chain: _zod.z.string(), asset: _zod.z.string() })).transform(
178
- (assets) => assets.filter((asset) => rpcAssetSchema.safeParse(asset).success)
179
- );
180
- var brokerRequestSwapDepositAddress = _zod.z.object({
181
- address: _zod.z.string(),
182
- issued_block: _zod.z.number(),
183
- channel_id: _zod.z.number(),
184
- source_chain_expiry_block: numberOrHex,
185
- channel_opening_fee: u256
186
- });
187
- var brokerRequestAccountCreationDepositAddress = _zod.z.object({
188
- issued_block: _zod.z.number(),
189
- channel_id: _zod.z.number(),
190
- address: _zod.z.string(),
191
- requested_for: accountId,
192
- deposit_chain_expiry_block: numberOrHex,
193
- channel_opening_fee: u256,
194
- refund_address: _zod.z.string()
195
- });
196
- var evmBrokerRequestSwapParameterEncoding = _zod.z.object({
197
- to: hexString,
198
- calldata: hexString,
199
- value: numberOrHex,
200
- source_token_address: hexString.optional()
201
- });
202
- var requestSwapParameterEncoding = _zod.z.discriminatedUnion("chain", [
203
- _zod.z.object({
204
- chain: _zod.z.literal("Bitcoin"),
205
- nulldata_payload: hexString,
206
- deposit_address: _zod.z.string()
207
- }),
208
- evmBrokerRequestSwapParameterEncoding.extend({
209
- chain: _zod.z.literal("Ethereum")
210
- }),
211
- evmBrokerRequestSwapParameterEncoding.extend({
212
- chain: _zod.z.literal("Arbitrum")
213
- }),
214
- _zod.z.object({
215
- chain: _zod.z.literal("Solana"),
216
- program_id: _zod.z.string(),
217
- data: hexString,
218
- accounts: _zod.z.array(
219
- _zod.z.object({
220
- pubkey: _zod.z.string(),
221
- is_signer: _zod.z.boolean(),
222
- is_writable: _zod.z.boolean()
223
- })
224
- )
225
- })
280
+ const cfSupportedAssets = zod.z.array(zod.z.object({
281
+ chain: zod.z.string(),
282
+ asset: zod.z.string()
283
+ })).transform((assets) => assets.filter((asset) => rpcAssetSchema.safeParse(asset).success));
284
+ const brokerRequestSwapDepositAddress = zod.z.object({
285
+ address: zod.z.string(),
286
+ issued_block: zod.z.number(),
287
+ channel_id: zod.z.number(),
288
+ source_chain_expiry_block: numberOrHex,
289
+ channel_opening_fee: u256
290
+ });
291
+ const brokerRequestAccountCreationDepositAddress = zod.z.object({
292
+ issued_block: zod.z.number(),
293
+ channel_id: zod.z.number(),
294
+ address: zod.z.string(),
295
+ requested_for: accountId,
296
+ deposit_chain_expiry_block: numberOrHex,
297
+ channel_opening_fee: u256,
298
+ refund_address: zod.z.string()
299
+ });
300
+ const evmBrokerRequestSwapParameterEncoding = zod.z.object({
301
+ to: hexString,
302
+ calldata: hexString,
303
+ value: numberOrHex,
304
+ source_token_address: hexString.optional()
305
+ });
306
+ const requestSwapParameterEncoding = zod.z.discriminatedUnion("chain", [
307
+ zod.z.object({
308
+ chain: zod.z.literal("Bitcoin"),
309
+ nulldata_payload: hexString,
310
+ deposit_address: zod.z.string()
311
+ }),
312
+ evmBrokerRequestSwapParameterEncoding.extend({ chain: zod.z.literal("Ethereum") }),
313
+ evmBrokerRequestSwapParameterEncoding.extend({ chain: zod.z.literal("Arbitrum") }),
314
+ zod.z.object({
315
+ chain: zod.z.literal("Solana"),
316
+ program_id: zod.z.string(),
317
+ data: hexString,
318
+ accounts: zod.z.array(zod.z.object({
319
+ pubkey: zod.z.string(),
320
+ is_signer: zod.z.boolean(),
321
+ is_writable: zod.z.boolean()
322
+ }))
323
+ })
226
324
  ]);
227
- var delegationStatus = _zod.z.object({
228
- operator: accountId,
229
- bid: numberOrHex
230
- });
231
- var accountInfoCommon = {
232
- vanity_name: _zod.z.string().optional(),
233
- flip_balance: numberOrHex,
234
- asset_balances: chainAssetMapFactory(numberOrHex, 0),
235
- bond: numberOrHex,
236
- estimated_redeemable_balance: numberOrHex,
237
- bound_redeem_address: hexString.optional(),
238
- restricted_balances: _zod.z.record(hexString, numberOrHex).optional(),
239
- current_delegation_status: delegationStatus.optional(),
240
- upcoming_delegation_status: delegationStatus.optional()
325
+ const delegationStatus = zod.z.object({
326
+ operator: accountId,
327
+ bid: numberOrHex
328
+ });
329
+ const accountInfoCommon = {
330
+ vanity_name: zod.z.string().optional(),
331
+ flip_balance: numberOrHex,
332
+ asset_balances: chainAssetMapFactory(numberOrHex, 0),
333
+ bond: numberOrHex,
334
+ estimated_redeemable_balance: numberOrHex,
335
+ bound_redeem_address: hexString.optional(),
336
+ restricted_balances: zod.z.record(hexString, numberOrHex).optional(),
337
+ current_delegation_status: delegationStatus.optional(),
338
+ upcoming_delegation_status: delegationStatus.optional()
241
339
  };
242
- var unregistered = _zod.z.object({
243
- role: _zod.z.literal("unregistered"),
244
- ...accountInfoCommon
245
- });
246
- var broker = _zod.z.object({
247
- role: _zod.z.literal("broker"),
248
- ...accountInfoCommon,
249
- earned_fees: chainAssetMapFactory(numberOrHex, 0),
250
- btc_vault_deposit_address: _zod.z.string().nullable().optional(),
251
- affiliates: _zod.z.array(_zod.z.object({ account_id: accountId, short_id: _zod.z.number(), withdrawal_address: hexString })).optional().default([])
252
- });
253
- var operator = _zod.z.object({
254
- role: _zod.z.literal("operator"),
255
- ...accountInfoCommon,
256
- managed_validators: _zod.z.record(accountId, numberOrHex),
257
- delegators: _zod.z.record(accountId, numberOrHex),
258
- settings: _zod.z.object({
259
- fee_bps: _zod.z.number(),
260
- delegation_acceptance: _zod.z.enum(["Allow", "Deny"])
261
- }),
262
- allowed: _zod.z.array(accountId).optional().default([]),
263
- blocked: _zod.z.array(accountId).optional().default([]),
264
- active_delegation: _zod.z.object({
265
- operator: accountId,
266
- validators: _zod.z.record(accountId, numberOrHex),
267
- delegators: _zod.z.record(accountId, numberOrHex),
268
- delegation_fee_bps: _zod.z.number()
269
- }).optional()
270
- });
271
- var boostBalances = _zod.z.array(
272
- _zod.z.object({
273
- fee_tier: _zod.z.number(),
274
- total_balance: u256,
275
- available_balance: u256,
276
- in_use_balance: u256,
277
- is_withdrawing: _zod.z.boolean()
278
- })
279
- );
280
- var liquidityProvider = _zod.z.object({
281
- role: _zod.z.literal("liquidity_provider"),
282
- ...accountInfoCommon,
283
- refund_addresses: chainMapFactory(_zod.z.string().nullable(), null),
284
- earned_fees: chainAssetMapFactory(numberOrHex, 0),
285
- boost_balances: chainAssetMapFactory(boostBalances, []),
286
- lending_positions: _zod.z.array(
287
- _zod.z.intersection(
288
- rpcAssetSchema,
289
- _zod.z.object({
290
- total_amount: numberOrHex,
291
- available_amount: numberOrHex
292
- })
293
- )
294
- ).optional(),
295
- collateral_balances: _zod.z.array(
296
- _zod.z.intersection(
297
- rpcAssetSchema,
298
- _zod.z.object({
299
- amount: numberOrHex
300
- })
301
- )
302
- ).optional()
303
- });
304
- var validator = _zod.z.object({
305
- role: _zod.z.literal("validator"),
306
- ...accountInfoCommon,
307
- last_heartbeat: _zod.z.number(),
308
- reputation_points: _zod.z.number(),
309
- keyholder_epochs: _zod.z.array(_zod.z.number()),
310
- is_current_authority: _zod.z.boolean(),
311
- is_current_backup: _zod.z.boolean(),
312
- is_qualified: _zod.z.boolean(),
313
- is_online: _zod.z.boolean(),
314
- is_bidding: _zod.z.boolean(),
315
- apy_bp: _zod.z.number().nullable(),
316
- operator: accountId.optional()
317
- });
318
- var cfAccountInfo = _zod.z.discriminatedUnion("role", [unregistered, broker, operator, liquidityProvider, validator]).transform((account) => {
319
- switch (account.role) {
320
- case "broker":
321
- case "validator":
322
- case "unregistered":
323
- case "liquidity_provider":
324
- return account;
325
- case "operator": {
326
- const { managed_validators, delegators, settings, ...rest } = account;
327
- return {
328
- ...rest,
329
- upcoming_delegation: {
330
- validators: managed_validators,
331
- delegators,
332
- delegation_fee_bps: settings.fee_bps,
333
- delegation_acceptance: settings.delegation_acceptance
334
- }
335
- };
336
- }
337
- }
338
- });
339
- var cfAccounts = _zod.z.array(_zod.z.tuple([accountId, _zod.z.string()]));
340
- var cfPoolPriceV2 = _zod.z.object({
341
- sell: numberOrHex.nullable(),
342
- buy: numberOrHex.nullable(),
343
- range_order: numberOrHex,
344
- base_asset: rpcAssetSchema,
345
- quote_asset: rpcAssetSchema
346
- });
347
- var orderId = numberOrHex.transform((n) => String(n));
348
- var limitOrder = _zod.z.object({
349
- id: orderId,
350
- tick: _zod.z.number(),
351
- sell_amount: numberOrHex,
352
- fees_earned: numberOrHex,
353
- original_sell_amount: numberOrHex,
354
- lp: _zod.z.string()
355
- });
356
- var ask = limitOrder.transform((order) => ({
357
- ...order,
358
- type: "ask"
340
+ const unregistered = zod.z.object({
341
+ role: zod.z.literal("unregistered"),
342
+ ...accountInfoCommon
343
+ });
344
+ const broker = zod.z.object({
345
+ role: zod.z.literal("broker"),
346
+ ...accountInfoCommon,
347
+ earned_fees: chainAssetMapFactory(numberOrHex, 0),
348
+ btc_vault_deposit_address: zod.z.string().nullable().optional(),
349
+ affiliates: zod.z.array(zod.z.object({
350
+ account_id: accountId,
351
+ short_id: zod.z.number(),
352
+ withdrawal_address: hexString
353
+ })).optional().default([])
354
+ });
355
+ const operator = zod.z.object({
356
+ role: zod.z.literal("operator"),
357
+ ...accountInfoCommon,
358
+ managed_validators: zod.z.record(accountId, numberOrHex),
359
+ delegators: zod.z.record(accountId, numberOrHex),
360
+ settings: zod.z.object({
361
+ fee_bps: zod.z.number(),
362
+ delegation_acceptance: zod.z.enum(["Allow", "Deny"])
363
+ }),
364
+ allowed: zod.z.array(accountId).optional().default([]),
365
+ blocked: zod.z.array(accountId).optional().default([]),
366
+ active_delegation: zod.z.object({
367
+ operator: accountId,
368
+ validators: zod.z.record(accountId, numberOrHex),
369
+ delegators: zod.z.record(accountId, numberOrHex),
370
+ delegation_fee_bps: zod.z.number()
371
+ }).optional()
372
+ });
373
+ const boostBalances = zod.z.array(zod.z.object({
374
+ fee_tier: zod.z.number(),
375
+ total_balance: u256,
376
+ available_balance: u256,
377
+ in_use_balance: u256,
378
+ is_withdrawing: zod.z.boolean()
359
379
  }));
360
- var bid = limitOrder.transform((order) => ({
361
- ...order,
362
- type: "bid"
380
+ const liquidityProvider = zod.z.object({
381
+ role: zod.z.literal("liquidity_provider"),
382
+ ...accountInfoCommon,
383
+ refund_addresses: chainMapFactory(zod.z.string().nullable(), null),
384
+ earned_fees: chainAssetMapFactory(numberOrHex, 0),
385
+ boost_balances: chainAssetMapFactory(boostBalances, []),
386
+ lending_positions: zod.z.array(zod.z.intersection(rpcAssetSchema, zod.z.object({
387
+ total_amount: numberOrHex,
388
+ available_amount: numberOrHex
389
+ }))).optional(),
390
+ collateral_balances: zod.z.array(zod.z.intersection(rpcAssetSchema, zod.z.object({ amount: numberOrHex }))).optional()
391
+ });
392
+ const validator = zod.z.object({
393
+ role: zod.z.literal("validator"),
394
+ ...accountInfoCommon,
395
+ last_heartbeat: zod.z.number(),
396
+ reputation_points: zod.z.number(),
397
+ keyholder_epochs: zod.z.array(zod.z.number()),
398
+ is_current_authority: zod.z.boolean(),
399
+ is_current_backup: zod.z.boolean(),
400
+ is_qualified: zod.z.boolean(),
401
+ is_online: zod.z.boolean(),
402
+ is_bidding: zod.z.boolean(),
403
+ apy_bp: zod.z.number().nullable(),
404
+ operator: accountId.optional()
405
+ });
406
+ const cfAccountInfo = zod.z.discriminatedUnion("role", [
407
+ unregistered,
408
+ broker,
409
+ operator,
410
+ liquidityProvider,
411
+ validator
412
+ ]).transform((account) => {
413
+ switch (account.role) {
414
+ case "broker":
415
+ case "validator":
416
+ case "unregistered":
417
+ case "liquidity_provider": return account;
418
+ case "operator": {
419
+ const { managed_validators, delegators, settings, ...rest } = account;
420
+ return {
421
+ ...rest,
422
+ upcoming_delegation: {
423
+ validators: managed_validators,
424
+ delegators,
425
+ delegation_fee_bps: settings.fee_bps,
426
+ delegation_acceptance: settings.delegation_acceptance
427
+ }
428
+ };
429
+ }
430
+ }
431
+ });
432
+ const cfAccounts = zod.z.array(zod.z.tuple([accountId, zod.z.string()]));
433
+ const cfPoolPriceV2 = zod.z.object({
434
+ sell: numberOrHex.nullable(),
435
+ buy: numberOrHex.nullable(),
436
+ range_order: numberOrHex,
437
+ base_asset: rpcAssetSchema,
438
+ quote_asset: rpcAssetSchema
439
+ });
440
+ const orderId = numberOrHex.transform((n) => String(n));
441
+ const limitOrder = zod.z.object({
442
+ id: orderId,
443
+ tick: zod.z.number(),
444
+ sell_amount: numberOrHex,
445
+ fees_earned: numberOrHex,
446
+ original_sell_amount: numberOrHex,
447
+ lp: zod.z.string()
448
+ });
449
+ const ask = limitOrder.transform((order) => ({
450
+ ...order,
451
+ type: "ask"
363
452
  }));
364
- var rangeOrder = _zod.z.object({
365
- id: orderId,
366
- range: _zod.z.object({ start: _zod.z.number(), end: _zod.z.number() }),
367
- liquidity: numberOrHex,
368
- fees_earned: _zod.z.object({ base: numberOrHex, quote: numberOrHex }),
369
- lp: _zod.z.string()
370
- }).transform((order) => ({ ...order, type: "range" }));
371
- var cfPoolOrders = _zod.z.object({
372
- limit_orders: _zod.z.object({
373
- asks: _zod.z.array(ask),
374
- bids: _zod.z.array(bid)
375
- }),
376
- range_orders: _zod.z.array(rangeOrder)
377
- });
378
- var boostPoolAmount = _zod.z.object({
379
- account_id: _zod.z.string(),
380
- amount: u256
381
- });
382
- var cfBoostPoolDetails = _zod.z.array(
383
- _zod.z.intersection(
384
- rpcAssetSchema,
385
- _zod.z.object({
386
- fee_tier: _zod.z.number(),
387
- available_amounts: _zod.z.array(boostPoolAmount),
388
- deposits_pending_finalization: _zod.z.array(
389
- _zod.z.object({
390
- deposit_id: numberOrHex,
391
- owed_amounts: _zod.z.array(boostPoolAmount)
392
- })
393
- ),
394
- pending_withdrawals: _zod.z.array(
395
- _zod.z.object({
396
- account_id: _zod.z.string(),
397
- pending_deposits: _zod.z.array(numberOrHex)
398
- })
399
- ),
400
- network_fee_deduction_percent: _zod.z.number().optional()
401
- })
402
- )
403
- );
404
- var cfBoostPoolPendingFees = _zod.z.array(
405
- _zod.z.intersection(
406
- rpcAssetSchema,
407
- _zod.z.object({
408
- fee_tier: _zod.z.number(),
409
- pending_fees: _zod.z.array(
410
- _zod.z.object({
411
- deposit_id: _zod.z.number().transform(BigInt),
412
- fees: _zod.z.array(boostPoolAmount)
413
- })
414
- )
415
- })
416
- )
417
- );
418
- var lpTotalBalances = chainAssetMapFactory(numberOrHex, 0);
419
- var cfFailedCallEvm = _zod.z.object({
420
- contract: hexString,
421
- data: _zod.z.string()
422
- });
423
- var range = (parser) => _zod.z.tuple([parser, parser]);
424
- var cfAuctionState = _zod.z.object({
425
- epoch_duration: _zod.z.number(),
426
- current_epoch_started_at: _zod.z.number(),
427
- redemption_period_as_percentage: _zod.z.number(),
428
- min_funding: numberOrHex,
429
- auction_size_range: range(_zod.z.number()),
430
- min_active_bid: numberOrHex.nullable(),
431
- min_bid: numberOrHex
453
+ const bid = limitOrder.transform((order) => ({
454
+ ...order,
455
+ type: "bid"
456
+ }));
457
+ const rangeOrder = zod.z.object({
458
+ id: orderId,
459
+ range: zod.z.object({
460
+ start: zod.z.number(),
461
+ end: zod.z.number()
462
+ }),
463
+ liquidity: numberOrHex,
464
+ fees_earned: zod.z.object({
465
+ base: numberOrHex,
466
+ quote: numberOrHex
467
+ }),
468
+ lp: zod.z.string()
469
+ }).transform((order) => ({
470
+ ...order,
471
+ type: "range"
472
+ }));
473
+ const cfPoolOrders = zod.z.object({
474
+ limit_orders: zod.z.object({
475
+ asks: zod.z.array(ask),
476
+ bids: zod.z.array(bid)
477
+ }),
478
+ range_orders: zod.z.array(rangeOrder)
479
+ });
480
+ const boostPoolAmount = zod.z.object({
481
+ account_id: zod.z.string(),
482
+ amount: u256
483
+ });
484
+ const cfBoostPoolDetails = zod.z.array(zod.z.intersection(rpcAssetSchema, zod.z.object({
485
+ fee_tier: zod.z.number(),
486
+ available_amounts: zod.z.array(boostPoolAmount),
487
+ deposits_pending_finalization: zod.z.array(zod.z.object({
488
+ deposit_id: numberOrHex,
489
+ owed_amounts: zod.z.array(boostPoolAmount)
490
+ })),
491
+ pending_withdrawals: zod.z.array(zod.z.object({
492
+ account_id: zod.z.string(),
493
+ pending_deposits: zod.z.array(numberOrHex)
494
+ })),
495
+ network_fee_deduction_percent: zod.z.number().optional()
496
+ })));
497
+ const cfBoostPoolPendingFees = zod.z.array(zod.z.intersection(rpcAssetSchema, zod.z.object({
498
+ fee_tier: zod.z.number(),
499
+ pending_fees: zod.z.array(zod.z.object({
500
+ deposit_id: zod.z.number().transform(BigInt),
501
+ fees: zod.z.array(boostPoolAmount)
502
+ }))
503
+ })));
504
+ const lpTotalBalances = chainAssetMapFactory(numberOrHex, 0);
505
+ const cfFailedCallEvm = zod.z.object({
506
+ contract: hexString,
507
+ data: zod.z.string()
508
+ });
509
+ const range = (parser) => zod.z.tuple([parser, parser]);
510
+ const cfAuctionState = zod.z.object({
511
+ epoch_duration: zod.z.number(),
512
+ current_epoch_started_at: zod.z.number(),
513
+ redemption_period_as_percentage: zod.z.number(),
514
+ min_funding: numberOrHex,
515
+ auction_size_range: range(zod.z.number()),
516
+ min_active_bid: numberOrHex.nullable(),
517
+ min_bid: numberOrHex
432
518
  }).transform(rename({ epoch_duration: "epoch_duration_blocks" }));
433
- var cfMonitoringSimulateAuction = _zod.z.object({
434
- auction_outcome: _zod.z.object({
435
- winners: _zod.z.array(accountId),
436
- bond: numberOrHex
437
- }),
438
- operators_info: _zod.z.record(
439
- accountId,
440
- _zod.z.object({
441
- operator: accountId,
442
- validators: _zod.z.record(accountId, numberOrHex),
443
- delegators: _zod.z.record(accountId, numberOrHex),
444
- delegation_fee_bps: _zod.z.number()
445
- })
446
- ),
447
- new_validators: _zod.z.array(accountId),
448
- current_mab: numberOrHex
449
- });
450
- var cfFlipSuppy = range(numberOrHex).transform(([totalIssuance, offchainFunds]) => ({
451
- totalIssuance,
452
- offchainFunds
519
+ const cfMonitoringSimulateAuction = zod.z.object({
520
+ auction_outcome: zod.z.object({
521
+ winners: zod.z.array(accountId),
522
+ bond: numberOrHex
523
+ }),
524
+ operators_info: zod.z.record(accountId, zod.z.object({
525
+ operator: accountId,
526
+ validators: zod.z.record(accountId, numberOrHex),
527
+ delegators: zod.z.record(accountId, numberOrHex),
528
+ delegation_fee_bps: zod.z.number()
529
+ })),
530
+ new_validators: zod.z.array(accountId),
531
+ current_mab: numberOrHex
532
+ });
533
+ const cfFlipSuppy = range(numberOrHex).transform(([totalIssuance, offchainFunds]) => ({
534
+ totalIssuance,
535
+ offchainFunds
536
+ }));
537
+ const ethereumAddress = zod.z.string().transform((address) => `0x${address}`);
538
+ const cfPoolOrderbook = zod.z.object({
539
+ bids: zod.z.array(zod.z.object({
540
+ amount: u256,
541
+ sqrt_price: u256
542
+ })),
543
+ asks: zod.z.array(zod.z.object({
544
+ amount: u256,
545
+ sqrt_price: u256
546
+ }))
547
+ });
548
+ const cfTradingStrategy = zod.z.object({
549
+ lp_id: zod.z.string(),
550
+ strategy_id: zod.z.string(),
551
+ strategy: zod.z.union([
552
+ zod.z.object({ TickZeroCentered: zod.z.object({
553
+ spread_tick: zod.z.number(),
554
+ base_asset: rpcAssetSchema
555
+ }) }),
556
+ zod.z.object({ SimpleBuySell: zod.z.object({
557
+ buy_tick: zod.z.number(),
558
+ sell_tick: zod.z.number(),
559
+ base_asset: rpcAssetSchema
560
+ }) }),
561
+ zod.z.object({ InventoryBased: zod.z.object({
562
+ min_buy_tick: zod.z.number(),
563
+ max_buy_tick: zod.z.number(),
564
+ min_sell_tick: zod.z.number(),
565
+ max_sell_tick: zod.z.number(),
566
+ base_asset: rpcAssetSchema
567
+ }) })
568
+ ]),
569
+ balance: zod.z.array(zod.z.tuple([rpcAssetSchema, numberOrHex]))
570
+ });
571
+ const cfGetTradingStrategies = zod.z.array(cfTradingStrategy).default([]);
572
+ const cfGetTradingStrategyLimits = zod.z.object({
573
+ minimum_deployment_amount: chainAssetMapFactory(zod.z.number().nullable(), null),
574
+ minimum_added_funds_amount: chainAssetMapFactory(zod.z.number().nullable(), null)
575
+ });
576
+ const cfAvailablePools = zod.z.array(zod.z.object({
577
+ base: rpcAssetSchema.refine((a) => a.chain !== "Ethereum" || a.asset !== "USDC"),
578
+ quote: zod.z.object({
579
+ chain: zod.z.literal("Ethereum"),
580
+ asset: zod.z.literal("USDC")
581
+ })
582
+ }));
583
+ const cfOraclePrices = zod.z.array(zod.z.object({
584
+ price: numberOrHex,
585
+ updated_at_oracle_timestamp: zod.z.number(),
586
+ updated_at_statechain_block: zod.z.number(),
587
+ base_asset: zod.z.enum(_chainflip_utils_chainflip.priceAssets),
588
+ quote_asset: zod.z.enum(_chainflip_utils_chainflip.priceAssets),
589
+ price_status: zod.z.enum([
590
+ "UpToDate",
591
+ "Stale",
592
+ "MaybeStale"
593
+ ]).optional()
453
594
  }));
454
- var ethereumAddress = _zod.z.string().transform((address) => `0x${address}`);
455
- var cfPoolOrderbook = _zod.z.object({
456
- bids: _zod.z.array(_zod.z.object({ amount: u256, sqrt_price: u256 })),
457
- asks: _zod.z.array(_zod.z.object({ amount: u256, sqrt_price: u256 }))
458
- });
459
- var cfTradingStrategy = _zod.z.object({
460
- lp_id: _zod.z.string(),
461
- strategy_id: _zod.z.string(),
462
- strategy: _zod.z.union([
463
- _zod.z.object({
464
- TickZeroCentered: _zod.z.object({
465
- spread_tick: _zod.z.number(),
466
- base_asset: rpcAssetSchema
467
- })
468
- }),
469
- _zod.z.object({
470
- SimpleBuySell: _zod.z.object({
471
- buy_tick: _zod.z.number(),
472
- sell_tick: _zod.z.number(),
473
- base_asset: rpcAssetSchema
474
- })
475
- }),
476
- _zod.z.object({
477
- InventoryBased: _zod.z.object({
478
- min_buy_tick: _zod.z.number(),
479
- max_buy_tick: _zod.z.number(),
480
- min_sell_tick: _zod.z.number(),
481
- max_sell_tick: _zod.z.number(),
482
- base_asset: rpcAssetSchema
483
- })
484
- })
485
- ]),
486
- balance: _zod.z.array(_zod.z.tuple([rpcAssetSchema, numberOrHex]))
487
- });
488
- var cfGetTradingStrategies = _zod.z.array(cfTradingStrategy).default([]);
489
- var cfGetTradingStrategyLimits = _zod.z.object({
490
- minimum_deployment_amount: chainAssetMapFactory(_zod.z.number().nullable(), null),
491
- minimum_added_funds_amount: chainAssetMapFactory(_zod.z.number().nullable(), null)
492
- });
493
- var cfAvailablePools = _zod.z.array(
494
- _zod.z.object({
495
- base: rpcAssetSchema.refine(
496
- (a) => a.chain !== "Ethereum" || a.asset !== "USDC"
497
- ),
498
- quote: _zod.z.object({ chain: _zod.z.literal("Ethereum"), asset: _zod.z.literal("USDC") })
499
- })
500
- );
501
- var cfOraclePrices = _zod.z.array(
502
- _zod.z.object({
503
- price: numberOrHex,
504
- updated_at_oracle_timestamp: _zod.z.number(),
505
- updated_at_statechain_block: _zod.z.number(),
506
- base_asset: _zod.z.enum(_chainflip.priceAssets),
507
- quote_asset: _zod.z.enum(_chainflip.priceAssets)
508
- })
509
- );
510
- var broadcastPalletSafeModeStatuses = _zod.z.object({
511
- retry_enabled: _zod.z.boolean(),
512
- egress_witnessing_enabled: _zod.z.boolean()
513
- });
514
- var ingressEgressPalletSafeModeStatuses = _zod.z.object({
515
- boost_deposits_enabled: _zod.z.boolean(),
516
- deposit_channel_creation_enabled: _zod.z.boolean(),
517
- deposit_channel_witnessing_enabled: _zod.z.boolean(),
518
- vault_deposit_witnessing_enabled: _zod.z.boolean()
519
- });
520
- var cfSafeModeStatuses = _zod.z.object({
521
- emissions: _zod.z.object({
522
- emissions_sync_enabled: _zod.z.boolean()
523
- }),
524
- funding: _zod.z.object({
525
- redeem_enabled: _zod.z.boolean()
526
- }),
527
- swapping: _zod.z.object({
528
- swaps_enabled: _zod.z.boolean(),
529
- withdrawals_enabled: _zod.z.boolean(),
530
- broker_registration_enabled: _zod.z.boolean()
531
- }),
532
- liquidity_provider: _zod.z.object({
533
- deposit_enabled: _zod.z.boolean(),
534
- withdrawal_enabled: _zod.z.boolean(),
535
- internal_swaps_enabled: _zod.z.boolean()
536
- }),
537
- validator: _zod.z.object({
538
- authority_rotation_enabled: _zod.z.boolean(),
539
- start_bidding_enabled: _zod.z.boolean(),
540
- stop_bidding_enabled: _zod.z.boolean()
541
- }),
542
- pools: _zod.z.object({
543
- range_order_update_enabled: _zod.z.boolean(),
544
- limit_order_update_enabled: _zod.z.boolean()
545
- }),
546
- trading_strategies: _zod.z.object({
547
- strategy_updates_enabled: _zod.z.boolean(),
548
- strategy_closure_enabled: _zod.z.boolean(),
549
- strategy_execution_enabled: _zod.z.boolean()
550
- }),
551
- reputation: _zod.z.object({
552
- reporting_enabled: _zod.z.boolean()
553
- }),
554
- asset_balances: _zod.z.object({
555
- reconciliation_enabled: _zod.z.boolean()
556
- }),
557
- threshold_signature_evm: _zod.z.object({
558
- slashing_enabled: _zod.z.boolean()
559
- }),
560
- threshold_signature_bitcoin: _zod.z.object({
561
- slashing_enabled: _zod.z.boolean()
562
- }),
563
- threshold_signature_polkadot: _zod.z.object({
564
- slashing_enabled: _zod.z.boolean()
565
- }),
566
- threshold_signature_solana: _zod.z.object({
567
- slashing_enabled: _zod.z.boolean()
568
- }),
569
- lending_pools: _zod.z.object({
570
- add_boost_funds_enabled: _zod.z.boolean(),
571
- stop_boosting_enabled: _zod.z.boolean(),
572
- // TODO(1.12): remove `optional` after all networks upgraded
573
- borrowing_enabled: _zod.z.array(rpcAssetSchema).optional(),
574
- add_lender_funds_enabled: _zod.z.array(rpcAssetSchema).optional(),
575
- withdraw_lender_funds_enabled: _zod.z.array(rpcAssetSchema).optional(),
576
- add_collateral_enabled: _zod.z.array(rpcAssetSchema).optional(),
577
- remove_collateral_enabled: _zod.z.array(rpcAssetSchema).optional()
578
- }),
579
- broadcast_ethereum: broadcastPalletSafeModeStatuses,
580
- broadcast_bitcoin: broadcastPalletSafeModeStatuses,
581
- broadcast_polkadot: broadcastPalletSafeModeStatuses,
582
- broadcast_arbitrum: broadcastPalletSafeModeStatuses,
583
- broadcast_solana: broadcastPalletSafeModeStatuses,
584
- broadcast_assethub: broadcastPalletSafeModeStatuses,
585
- ingress_egress_ethereum: ingressEgressPalletSafeModeStatuses,
586
- ingress_egress_bitcoin: ingressEgressPalletSafeModeStatuses,
587
- ingress_egress_polkadot: ingressEgressPalletSafeModeStatuses,
588
- ingress_egress_arbitrum: ingressEgressPalletSafeModeStatuses,
589
- ingress_egress_solana: ingressEgressPalletSafeModeStatuses,
590
- ingress_egress_assethub: ingressEgressPalletSafeModeStatuses,
591
- witnesser: _zod.z.enum(["CodeRed", "CodeGreen", "CodeAmber"]),
592
- elections_generic: _zod.z.object({
593
- oracle_price_elections: _zod.z.boolean()
594
- })
595
- });
596
- var cfLendingPools = _zod.z.array(
597
- _zod.z.object({
598
- asset: rpcAssetSchema,
599
- total_amount: numberOrHex,
600
- available_amount: numberOrHex,
601
- utilisation_rate: _zod.z.number(),
602
- current_interest_rate: _zod.z.number(),
603
- origination_fee: _zod.z.number(),
604
- liquidation_fee: _zod.z.number(),
605
- interest_rate_curve: _zod.z.object({
606
- interest_at_zero_utilisation: _zod.z.number(),
607
- junction_utilisation: _zod.z.number(),
608
- interest_at_junction_utilisation: _zod.z.number(),
609
- interest_at_max_utilisation: _zod.z.number()
610
- })
611
- })
612
- );
613
- var cfLendingConfig = _zod.z.object({
614
- ltv_thresholds: _zod.z.object({
615
- target: _zod.z.number(),
616
- topup: _zod.z.number().nullable(),
617
- soft_liquidation: _zod.z.number(),
618
- soft_liquidation_abort: _zod.z.number(),
619
- hard_liquidation: _zod.z.number(),
620
- hard_liquidation_abort: _zod.z.number(),
621
- low_ltv: _zod.z.number().nullable()
622
- }),
623
- network_fee_contributions: _zod.z.object({
624
- extra_interest: _zod.z.number(),
625
- low_ltv_penalty_max: _zod.z.number().nullable(),
626
- from_origination_fee: _zod.z.number(),
627
- from_liquidation_fee: _zod.z.number()
628
- }),
629
- fee_swap_interval_blocks: _zod.z.number(),
630
- interest_payment_interval_blocks: _zod.z.number(),
631
- fee_swap_threshold_usd: numberOrHex,
632
- interest_collection_threshold_usd: numberOrHex,
633
- soft_liquidation_swap_chunk_size_usd: numberOrHex,
634
- hard_liquidation_swap_chunk_size_usd: numberOrHex,
635
- soft_liquidation_max_oracle_slippage: _zod.z.number(),
636
- hard_liquidation_max_oracle_slippage: _zod.z.number(),
637
- fee_swap_max_oracle_slippage: _zod.z.number(),
638
- minimum_loan_amount_usd: numberOrHex,
639
- minimum_supply_amount_usd: numberOrHex,
640
- minimum_update_loan_amount_usd: numberOrHex,
641
- minimum_update_collateral_amount_usd: numberOrHex
642
- });
643
- var cfLoanAccount = _zod.z.object({
644
- account: accountId,
645
- collateral_topup_asset: rpcAssetSchema.nullable(),
646
- ltv_ratio: numberOrHex.nullable(),
647
- collateral: _zod.z.array(
648
- _zod.z.intersection(
649
- rpcAssetSchema,
650
- _zod.z.object({
651
- amount: numberOrHex
652
- })
653
- )
654
- ),
655
- loans: _zod.z.array(
656
- _zod.z.object({
657
- loan_id: _zod.z.number(),
658
- asset: rpcAssetSchema,
659
- principal_amount: numberOrHex
660
- })
661
- ),
662
- liquidation_status: _zod.z.object({
663
- liquidation_swaps: _zod.z.array(
664
- _zod.z.object({
665
- swap_request_id: _zod.z.number(),
666
- loan_id: _zod.z.number()
667
- })
668
- ),
669
- liquidation_type: _zod.z.enum(["SoftVoluntary", "Soft", "Hard"])
670
- }).nullable()
671
- });
672
- var cfLoanAccounts = _zod.z.array(cfLoanAccount);
673
- var cfLendingPoolSupplyBalances = _zod.z.array(
674
- _zod.z.intersection(
675
- rpcAssetSchema,
676
- _zod.z.object({
677
- positions: _zod.z.array(
678
- _zod.z.object({
679
- lp_id: accountId,
680
- total_amount: numberOrHex
681
- })
682
- )
683
- })
684
- )
685
- );
686
- var cfVaultAddresses = _zod.z.object({
687
- ethereum: _zod.z.object({ Eth: _zod.z.array(_zod.z.number()).length(20).transform(_bytes.bytesToHex) }),
688
- arbitrum: _zod.z.object({ Arb: _zod.z.array(_zod.z.number()).length(20).transform(_bytes.bytesToHex) }),
689
- bitcoin: _zod.z.array(
690
- _zod.z.tuple([
691
- accountId,
692
- _zod.z.object({
693
- Btc: _zod.z.array(_zod.z.number()).transform((bytes) => new TextDecoder().decode(new Uint8Array(bytes)))
694
- })
695
- ])
696
- )
595
+ const broadcastPalletSafeModeStatuses = zod.z.object({
596
+ retry_enabled: zod.z.boolean(),
597
+ egress_witnessing_enabled: zod.z.boolean()
598
+ });
599
+ const ingressEgressPalletSafeModeStatuses = zod.z.object({
600
+ boost_deposits_enabled: zod.z.boolean(),
601
+ deposit_channel_creation_enabled: zod.z.boolean(),
602
+ deposit_channel_witnessing_enabled: zod.z.boolean(),
603
+ vault_deposit_witnessing_enabled: zod.z.boolean()
604
+ });
605
+ const cfSafeModeStatuses = zod.z.object({
606
+ emissions: zod.z.object({ emissions_sync_enabled: zod.z.boolean() }),
607
+ funding: zod.z.object({ redeem_enabled: zod.z.boolean() }),
608
+ swapping: zod.z.object({
609
+ swaps_enabled: zod.z.boolean(),
610
+ withdrawals_enabled: zod.z.boolean(),
611
+ broker_registration_enabled: zod.z.boolean()
612
+ }),
613
+ liquidity_provider: zod.z.object({
614
+ deposit_enabled: zod.z.boolean(),
615
+ withdrawal_enabled: zod.z.boolean(),
616
+ internal_swaps_enabled: zod.z.boolean()
617
+ }),
618
+ validator: zod.z.object({
619
+ authority_rotation_enabled: zod.z.boolean(),
620
+ start_bidding_enabled: zod.z.boolean(),
621
+ stop_bidding_enabled: zod.z.boolean()
622
+ }),
623
+ pools: zod.z.object({
624
+ range_order_update_enabled: zod.z.boolean(),
625
+ limit_order_update_enabled: zod.z.boolean()
626
+ }),
627
+ trading_strategies: zod.z.object({
628
+ strategy_updates_enabled: zod.z.boolean(),
629
+ strategy_closure_enabled: zod.z.boolean(),
630
+ strategy_execution_enabled: zod.z.boolean()
631
+ }),
632
+ reputation: zod.z.object({ reporting_enabled: zod.z.boolean() }),
633
+ asset_balances: zod.z.object({ reconciliation_enabled: zod.z.boolean() }),
634
+ threshold_signature_evm: zod.z.object({ slashing_enabled: zod.z.boolean() }),
635
+ threshold_signature_bitcoin: zod.z.object({ slashing_enabled: zod.z.boolean() }),
636
+ threshold_signature_polkadot: zod.z.object({ slashing_enabled: zod.z.boolean() }),
637
+ threshold_signature_solana: zod.z.object({ slashing_enabled: zod.z.boolean() }),
638
+ lending_pools: zod.z.object({
639
+ add_boost_funds_enabled: zod.z.boolean(),
640
+ stop_boosting_enabled: zod.z.boolean(),
641
+ borrowing_enabled: zod.z.array(rpcAssetSchema).optional(),
642
+ add_lender_funds_enabled: zod.z.array(rpcAssetSchema).optional(),
643
+ withdraw_lender_funds_enabled: zod.z.array(rpcAssetSchema).optional(),
644
+ add_collateral_enabled: zod.z.array(rpcAssetSchema).optional(),
645
+ remove_collateral_enabled: zod.z.array(rpcAssetSchema).optional()
646
+ }),
647
+ broadcast_ethereum: broadcastPalletSafeModeStatuses,
648
+ broadcast_bitcoin: broadcastPalletSafeModeStatuses,
649
+ broadcast_polkadot: broadcastPalletSafeModeStatuses,
650
+ broadcast_arbitrum: broadcastPalletSafeModeStatuses,
651
+ broadcast_solana: broadcastPalletSafeModeStatuses,
652
+ broadcast_assethub: broadcastPalletSafeModeStatuses,
653
+ ingress_egress_ethereum: ingressEgressPalletSafeModeStatuses,
654
+ ingress_egress_bitcoin: ingressEgressPalletSafeModeStatuses,
655
+ ingress_egress_polkadot: ingressEgressPalletSafeModeStatuses,
656
+ ingress_egress_arbitrum: ingressEgressPalletSafeModeStatuses,
657
+ ingress_egress_solana: ingressEgressPalletSafeModeStatuses,
658
+ ingress_egress_assethub: ingressEgressPalletSafeModeStatuses,
659
+ witnesser: zod.z.enum([
660
+ "CodeRed",
661
+ "CodeGreen",
662
+ "CodeAmber"
663
+ ]),
664
+ elections_generic: zod.z.object({ oracle_price_elections: zod.z.boolean() })
665
+ });
666
+ const cfLendingPools = zod.z.array(zod.z.object({
667
+ asset: rpcAssetSchema,
668
+ total_amount: numberOrHex,
669
+ available_amount: numberOrHex,
670
+ utilisation_rate: zod.z.number(),
671
+ current_interest_rate: zod.z.number(),
672
+ origination_fee: zod.z.number(),
673
+ liquidation_fee: zod.z.number(),
674
+ interest_rate_curve: zod.z.object({
675
+ interest_at_zero_utilisation: zod.z.number(),
676
+ junction_utilisation: zod.z.number(),
677
+ interest_at_junction_utilisation: zod.z.number(),
678
+ interest_at_max_utilisation: zod.z.number()
679
+ })
680
+ }));
681
+ const cfLendingConfig = zod.z.object({
682
+ ltv_thresholds: zod.z.object({
683
+ target: zod.z.number(),
684
+ topup: zod.z.number().nullable(),
685
+ soft_liquidation: zod.z.number(),
686
+ soft_liquidation_abort: zod.z.number(),
687
+ hard_liquidation: zod.z.number(),
688
+ hard_liquidation_abort: zod.z.number(),
689
+ low_ltv: zod.z.number().nullable()
690
+ }),
691
+ network_fee_contributions: zod.z.object({
692
+ extra_interest: zod.z.number(),
693
+ low_ltv_penalty_max: zod.z.number().nullable(),
694
+ from_origination_fee: zod.z.number(),
695
+ from_liquidation_fee: zod.z.number()
696
+ }),
697
+ fee_swap_interval_blocks: zod.z.number(),
698
+ interest_payment_interval_blocks: zod.z.number(),
699
+ fee_swap_threshold_usd: numberOrHex,
700
+ interest_collection_threshold_usd: numberOrHex,
701
+ soft_liquidation_swap_chunk_size_usd: numberOrHex,
702
+ hard_liquidation_swap_chunk_size_usd: numberOrHex,
703
+ soft_liquidation_max_oracle_slippage: zod.z.number(),
704
+ hard_liquidation_max_oracle_slippage: zod.z.number(),
705
+ fee_swap_max_oracle_slippage: zod.z.number(),
706
+ minimum_loan_amount_usd: numberOrHex,
707
+ minimum_supply_amount_usd: numberOrHex,
708
+ minimum_update_loan_amount_usd: numberOrHex,
709
+ minimum_update_collateral_amount_usd: numberOrHex
710
+ });
711
+ const cfLoanAccount = zod.z.object({
712
+ account: accountId,
713
+ collateral_topup_asset: rpcAssetSchema.nullable(),
714
+ ltv_ratio: numberOrHex.nullable(),
715
+ collateral: zod.z.array(zod.z.intersection(rpcAssetSchema, zod.z.object({ amount: numberOrHex }))),
716
+ loans: zod.z.array(zod.z.object({
717
+ loan_id: zod.z.number(),
718
+ asset: rpcAssetSchema,
719
+ principal_amount: numberOrHex
720
+ })),
721
+ liquidation_status: zod.z.object({
722
+ liquidation_swaps: zod.z.array(zod.z.object({
723
+ swap_request_id: zod.z.number(),
724
+ loan_id: zod.z.number()
725
+ })),
726
+ liquidation_type: zod.z.enum([
727
+ "SoftVoluntary",
728
+ "Soft",
729
+ "Hard"
730
+ ])
731
+ }).nullable()
732
+ });
733
+ const cfLoanAccounts = zod.z.array(cfLoanAccount);
734
+ const cfLendingPoolSupplyBalances = zod.z.array(zod.z.intersection(rpcAssetSchema, zod.z.object({ positions: zod.z.array(zod.z.object({
735
+ lp_id: accountId,
736
+ total_amount: numberOrHex
737
+ })) })));
738
+ const cfVaultAddresses = zod.z.object({
739
+ ethereum: zod.z.object({ Eth: zod.z.array(zod.z.number()).length(20).transform(_chainflip_utils_bytes.bytesToHex) }),
740
+ arbitrum: zod.z.object({ Arb: zod.z.array(zod.z.number()).length(20).transform(_chainflip_utils_bytes.bytesToHex) }),
741
+ bitcoin: zod.z.array(zod.z.tuple([accountId, zod.z.object({ Btc: zod.z.array(zod.z.number()).transform((bytes) => new TextDecoder().decode(new Uint8Array(bytes))) })]))
697
742
  }).transform(({ ethereum, arbitrum, bitcoin }) => {
698
- const bitcoinAddresses = new Map(
699
- bitcoin.map(([brokerId, { Btc }]) => [brokerId, Btc])
700
- );
701
- return {
702
- Ethereum: ethereum.Eth,
703
- Arbitrum: arbitrum.Arb,
704
- Bitcoin: bitcoinAddresses
705
- };
706
- });
707
-
708
-
709
-
710
-
711
-
712
-
713
-
714
-
715
-
716
-
717
-
718
-
719
-
720
-
721
-
722
-
723
-
724
-
725
-
726
-
727
-
728
-
729
-
730
-
731
-
732
-
733
-
734
-
735
-
736
-
737
-
738
-
739
-
740
-
741
-
742
-
743
-
744
-
745
-
746
-
747
-
748
-
749
-
750
-
751
-
752
-
753
-
754
-
755
-
756
-
757
-
758
-
759
-
760
-
761
- exports.accountInfoCommon = accountInfoCommon; exports.broker = broker; exports.brokerRequestAccountCreationDepositAddress = brokerRequestAccountCreationDepositAddress; exports.brokerRequestSwapDepositAddress = brokerRequestSwapDepositAddress; exports.cfAccountInfo = cfAccountInfo; exports.cfAccounts = cfAccounts; exports.cfAuctionState = cfAuctionState; exports.cfAvailablePools = cfAvailablePools; exports.cfBoostPoolDetails = cfBoostPoolDetails; exports.cfBoostPoolPendingFees = cfBoostPoolPendingFees; exports.cfBoostPoolsDepth = cfBoostPoolsDepth; exports.cfEnvironment = cfEnvironment; exports.cfFailedCallEvm = cfFailedCallEvm; exports.cfFlipSuppy = cfFlipSuppy; exports.cfFundingEnvironment = cfFundingEnvironment; exports.cfGetTradingStrategies = cfGetTradingStrategies; exports.cfGetTradingStrategyLimits = cfGetTradingStrategyLimits; exports.cfIngressEgressEnvironment = cfIngressEgressEnvironment; exports.cfLendingConfig = cfLendingConfig; exports.cfLendingPoolSupplyBalances = cfLendingPoolSupplyBalances; exports.cfLendingPools = cfLendingPools; exports.cfLoanAccount = cfLoanAccount; exports.cfLoanAccounts = cfLoanAccounts; exports.cfMonitoringSimulateAuction = cfMonitoringSimulateAuction; exports.cfOraclePrices = cfOraclePrices; exports.cfPoolDepth = cfPoolDepth; exports.cfPoolOrderbook = cfPoolOrderbook; exports.cfPoolOrders = cfPoolOrders; exports.cfPoolPriceV2 = cfPoolPriceV2; exports.cfPoolsEnvironment = cfPoolsEnvironment; exports.cfSafeModeStatuses = cfSafeModeStatuses; exports.cfSupportedAssets = cfSupportedAssets; exports.cfSwapRate = cfSwapRate; exports.cfSwapRateV2 = cfSwapRateV2; exports.cfSwapRateV3 = cfSwapRateV3; exports.cfSwappingEnvironment = cfSwappingEnvironment; exports.cfTradingStrategy = cfTradingStrategy; exports.cfVaultAddresses = cfVaultAddresses; exports.chainGetBlockHash = chainGetBlockHash; exports.ethereumAddress = ethereumAddress; exports.hexString = hexString; exports.liquidityProvider = liquidityProvider; exports.lpTotalBalances = lpTotalBalances; exports.numberOrHex = numberOrHex; exports.numericString = numericString; exports.operator = operator; exports.requestSwapParameterEncoding = requestSwapParameterEncoding; exports.rpcResponse = rpcResponse; exports.stateGetMetadata = stateGetMetadata; exports.stateGetRuntimeVersion = stateGetRuntimeVersion; exports.u256 = u256; exports.unregistered = unregistered; exports.validator = validator;
743
+ const bitcoinAddresses = new Map(bitcoin.map(([brokerId, { Btc }]) => [brokerId, Btc]));
744
+ return {
745
+ Ethereum: ethereum.Eth,
746
+ Arbitrum: arbitrum.Arb,
747
+ Bitcoin: bitcoinAddresses
748
+ };
749
+ });
750
+
751
+ //#endregion
752
+ exports.accountInfoCommon = accountInfoCommon;
753
+ exports.broker = broker;
754
+ exports.brokerRequestAccountCreationDepositAddress = brokerRequestAccountCreationDepositAddress;
755
+ exports.brokerRequestSwapDepositAddress = brokerRequestSwapDepositAddress;
756
+ exports.cfAccountInfo = cfAccountInfo;
757
+ exports.cfAccounts = cfAccounts;
758
+ exports.cfAuctionState = cfAuctionState;
759
+ exports.cfAvailablePools = cfAvailablePools;
760
+ exports.cfBoostPoolDetails = cfBoostPoolDetails;
761
+ exports.cfBoostPoolPendingFees = cfBoostPoolPendingFees;
762
+ exports.cfBoostPoolsDepth = cfBoostPoolsDepth;
763
+ exports.cfEnvironment = cfEnvironment;
764
+ exports.cfFailedCallEvm = cfFailedCallEvm;
765
+ exports.cfFlipSuppy = cfFlipSuppy;
766
+ exports.cfFundingEnvironment = cfFundingEnvironment;
767
+ exports.cfGetTradingStrategies = cfGetTradingStrategies;
768
+ exports.cfGetTradingStrategyLimits = cfGetTradingStrategyLimits;
769
+ exports.cfIngressEgressEnvironment = cfIngressEgressEnvironment;
770
+ exports.cfLendingConfig = cfLendingConfig;
771
+ exports.cfLendingPoolSupplyBalances = cfLendingPoolSupplyBalances;
772
+ exports.cfLendingPools = cfLendingPools;
773
+ exports.cfLoanAccount = cfLoanAccount;
774
+ exports.cfLoanAccounts = cfLoanAccounts;
775
+ exports.cfMonitoringSimulateAuction = cfMonitoringSimulateAuction;
776
+ exports.cfOraclePrices = cfOraclePrices;
777
+ exports.cfPoolDepth = cfPoolDepth;
778
+ exports.cfPoolOrderbook = cfPoolOrderbook;
779
+ exports.cfPoolOrders = cfPoolOrders;
780
+ exports.cfPoolPriceV2 = cfPoolPriceV2;
781
+ exports.cfPoolsEnvironment = cfPoolsEnvironment;
782
+ exports.cfSafeModeStatuses = cfSafeModeStatuses;
783
+ exports.cfSupportedAssets = cfSupportedAssets;
784
+ exports.cfSwapRate = cfSwapRate;
785
+ exports.cfSwapRateV2 = cfSwapRateV2;
786
+ exports.cfSwapRateV3 = cfSwapRateV3;
787
+ exports.cfSwappingEnvironment = cfSwappingEnvironment;
788
+ exports.cfTradingStrategy = cfTradingStrategy;
789
+ exports.cfVaultAddresses = cfVaultAddresses;
790
+ exports.chainGetBlockHash = chainGetBlockHash;
791
+ exports.ethereumAddress = ethereumAddress;
792
+ exports.hexString = hexString;
793
+ exports.liquidityProvider = liquidityProvider;
794
+ exports.lpTotalBalances = lpTotalBalances;
795
+ exports.numberOrHex = numberOrHex;
796
+ exports.numericString = numericString;
797
+ exports.operator = operator;
798
+ exports.requestSwapParameterEncoding = requestSwapParameterEncoding;
799
+ exports.rpcResponse = rpcResponse;
800
+ exports.stateGetMetadata = stateGetMetadata;
801
+ exports.stateGetRuntimeVersion = stateGetRuntimeVersion;
802
+ exports.u256 = u256;
803
+ exports.unregistered = unregistered;
804
+ exports.validator = validator;