@chainflip/rpc 2.0.7 → 2.1.0-beta.0

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