1use elys_std_deriv::CosmwasmExt;
2#[allow(clippy::derive_partial_eq_without_eq)]
3#[derive(
4 Clone,
5 PartialEq,
6 Eq,
7 ::prost::Message,
8 ::serde::Serialize,
9 ::serde::Deserialize,
10 ::schemars::JsonSchema,
11 CosmwasmExt,
12)]
13#[proto_message(type_url = "/elys.amm.LegacyPoolAsset")]
14pub struct LegacyPoolAsset {
15 #[prost(message, optional, tag = "1")]
16 pub token: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
17 #[prost(string, tag = "2")]
18 pub weight: ::prost::alloc::string::String,
19}
20#[allow(clippy::derive_partial_eq_without_eq)]
21#[derive(
22 Clone,
23 PartialEq,
24 Eq,
25 ::prost::Message,
26 ::serde::Serialize,
27 ::serde::Deserialize,
28 ::schemars::JsonSchema,
29 CosmwasmExt,
30)]
31#[proto_message(type_url = "/elys.amm.PoolAsset")]
32pub struct PoolAsset {
33 #[prost(message, optional, tag = "1")]
34 pub token: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
35 #[prost(string, tag = "2")]
36 pub weight: ::prost::alloc::string::String,
37 #[prost(string, tag = "3")]
38 pub external_liquidity_ratio: ::prost::alloc::string::String,
39}
40#[allow(clippy::derive_partial_eq_without_eq)]
41#[derive(
42 Clone,
43 PartialEq,
44 Eq,
45 ::prost::Message,
46 ::serde::Serialize,
47 ::serde::Deserialize,
48 ::schemars::JsonSchema,
49 CosmwasmExt,
50)]
51#[proto_message(type_url = "/elys.amm.DenomLiquidity")]
52pub struct DenomLiquidity {
53 #[prost(string, tag = "1")]
54 pub denom: ::prost::alloc::string::String,
55 #[prost(string, tag = "2")]
56 pub liquidity: ::prost::alloc::string::String,
57}
58#[allow(clippy::derive_partial_eq_without_eq)]
59#[derive(
60 Clone,
61 PartialEq,
62 Eq,
63 ::prost::Message,
64 ::serde::Serialize,
65 ::serde::Deserialize,
66 ::schemars::JsonSchema,
67 CosmwasmExt,
68)]
69#[proto_message(type_url = "/elys.amm.Params")]
70pub struct Params {
71 #[prost(string, tag = "1")]
72 pub pool_creation_fee: ::prost::alloc::string::String,
73 #[prost(uint64, tag = "2")]
75 #[serde(
76 serialize_with = "crate::serde::as_str::serialize",
77 deserialize_with = "crate::serde::as_str::deserialize"
78 )]
79 pub slippage_track_duration: u64,
80 #[prost(string, repeated, tag = "3")]
81 pub base_assets: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
82 #[prost(string, tag = "4")]
83 pub weight_breaking_fee_exponent: ::prost::alloc::string::String,
84 #[prost(string, tag = "5")]
85 pub weight_breaking_fee_multiplier: ::prost::alloc::string::String,
86 #[prost(string, tag = "6")]
87 pub weight_breaking_fee_portion: ::prost::alloc::string::String,
88 #[prost(string, tag = "7")]
89 pub weight_recovery_fee_portion: ::prost::alloc::string::String,
90 #[prost(string, tag = "8")]
91 pub threshold_weight_difference: ::prost::alloc::string::String,
92 #[prost(string, repeated, tag = "9")]
93 pub allowed_pool_creators: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
94 #[prost(string, tag = "10")]
95 pub threshold_weight_difference_swap_fee: ::prost::alloc::string::String,
96 #[prost(uint64, tag = "11")]
97 #[serde(
98 serialize_with = "crate::serde::as_str::serialize",
99 deserialize_with = "crate::serde::as_str::deserialize"
100 )]
101 pub lp_lockup_duration: u64,
102 #[prost(string, tag = "12")]
103 pub min_slippage: ::prost::alloc::string::String,
104 #[prost(string, repeated, tag = "13")]
105 pub allowed_upfront_swap_makers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
106}
107#[allow(clippy::derive_partial_eq_without_eq)]
108#[derive(
109 Clone,
110 PartialEq,
111 Eq,
112 ::prost::Message,
113 ::serde::Serialize,
114 ::serde::Deserialize,
115 ::schemars::JsonSchema,
116 CosmwasmExt,
117)]
118#[proto_message(type_url = "/elys.amm.LegacyPoolParams")]
119pub struct LegacyPoolParams {
120 #[prost(string, tag = "1")]
121 pub swap_fee: ::prost::alloc::string::String,
122 #[prost(string, tag = "2")]
123 pub exit_fee: ::prost::alloc::string::String,
124 #[prost(bool, tag = "3")]
125 pub use_oracle: bool,
126 #[prost(string, tag = "4")]
127 pub weight_breaking_fee_multiplier: ::prost::alloc::string::String,
128 #[prost(string, tag = "5")]
129 pub weight_breaking_fee_exponent: ::prost::alloc::string::String,
130 #[prost(string, tag = "6")]
131 pub weight_recovery_fee_portion: ::prost::alloc::string::String,
132 #[prost(string, tag = "7")]
133 pub threshold_weight_difference: ::prost::alloc::string::String,
134 #[prost(string, tag = "8")]
135 pub weight_breaking_fee_portion: ::prost::alloc::string::String,
136 #[prost(string, tag = "9")]
138 pub fee_denom: ::prost::alloc::string::String,
139}
140#[allow(clippy::derive_partial_eq_without_eq)]
141#[derive(
142 Clone,
143 PartialEq,
144 Eq,
145 ::prost::Message,
146 ::serde::Serialize,
147 ::serde::Deserialize,
148 ::schemars::JsonSchema,
149 CosmwasmExt,
150)]
151#[proto_message(type_url = "/elys.amm.PoolParams")]
152pub struct PoolParams {
153 #[prost(string, tag = "1")]
154 pub swap_fee: ::prost::alloc::string::String,
155 #[prost(bool, tag = "2")]
156 pub use_oracle: bool,
157 #[prost(string, tag = "3")]
159 pub fee_denom: ::prost::alloc::string::String,
160}
161#[allow(clippy::derive_partial_eq_without_eq)]
162#[derive(
163 Clone,
164 PartialEq,
165 Eq,
166 ::prost::Message,
167 ::serde::Serialize,
168 ::serde::Deserialize,
169 ::schemars::JsonSchema,
170 CosmwasmExt,
171)]
172#[proto_message(type_url = "/elys.amm.LegacyPool")]
173pub struct LegacyPool {
174 #[prost(uint64, tag = "1")]
175 #[serde(alias = "poolID")]
176 #[serde(
177 serialize_with = "crate::serde::as_str::serialize",
178 deserialize_with = "crate::serde::as_str::deserialize"
179 )]
180 pub pool_id: u64,
181 #[prost(string, tag = "2")]
182 pub address: ::prost::alloc::string::String,
183 #[prost(message, optional, tag = "3")]
184 pub pool_params: ::core::option::Option<LegacyPoolParams>,
185 #[prost(message, optional, tag = "4")]
186 pub total_shares: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
187 #[prost(message, repeated, tag = "5")]
188 pub pool_assets: ::prost::alloc::vec::Vec<PoolAsset>,
189 #[prost(string, tag = "6")]
190 pub total_weight: ::prost::alloc::string::String,
191 #[prost(string, tag = "7")]
192 pub rebalance_treasury: ::prost::alloc::string::String,
193}
194#[allow(clippy::derive_partial_eq_without_eq)]
195#[derive(
196 Clone,
197 PartialEq,
198 Eq,
199 ::prost::Message,
200 ::serde::Serialize,
201 ::serde::Deserialize,
202 ::schemars::JsonSchema,
203 CosmwasmExt,
204)]
205#[proto_message(type_url = "/elys.amm.Pool")]
206pub struct Pool {
207 #[prost(uint64, tag = "1")]
208 #[serde(alias = "poolID")]
209 #[serde(
210 serialize_with = "crate::serde::as_str::serialize",
211 deserialize_with = "crate::serde::as_str::deserialize"
212 )]
213 pub pool_id: u64,
214 #[prost(string, tag = "2")]
215 pub address: ::prost::alloc::string::String,
216 #[prost(message, optional, tag = "3")]
217 pub pool_params: ::core::option::Option<PoolParams>,
218 #[prost(message, optional, tag = "4")]
219 pub total_shares: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
220 #[prost(message, repeated, tag = "5")]
221 pub pool_assets: ::prost::alloc::vec::Vec<PoolAsset>,
222 #[prost(string, tag = "6")]
223 pub total_weight: ::prost::alloc::string::String,
224 #[prost(string, tag = "7")]
225 pub rebalance_treasury: ::prost::alloc::string::String,
226}
227#[allow(clippy::derive_partial_eq_without_eq)]
228#[derive(
229 Clone,
230 PartialEq,
231 Eq,
232 ::prost::Message,
233 ::serde::Serialize,
234 ::serde::Deserialize,
235 ::schemars::JsonSchema,
236 CosmwasmExt,
237)]
238#[proto_message(type_url = "/elys.amm.PoolExtraInfo")]
239pub struct PoolExtraInfo {
240 #[prost(string, tag = "1")]
241 pub tvl: ::prost::alloc::string::String,
242 #[prost(string, tag = "2")]
243 pub lp_token_price: ::prost::alloc::string::String,
244 #[prost(string, tag = "3")]
245 pub lp_saved_apr: ::prost::alloc::string::String,
246}
247#[allow(clippy::derive_partial_eq_without_eq)]
248#[derive(
249 Clone,
250 PartialEq,
251 Eq,
252 ::prost::Message,
253 ::serde::Serialize,
254 ::serde::Deserialize,
255 ::schemars::JsonSchema,
256 CosmwasmExt,
257)]
258#[proto_message(type_url = "/elys.amm.OraclePoolSlippageTrack")]
259pub struct OraclePoolSlippageTrack {
260 #[prost(uint64, tag = "1")]
261 #[serde(alias = "poolID")]
262 #[serde(
263 serialize_with = "crate::serde::as_str::serialize",
264 deserialize_with = "crate::serde::as_str::deserialize"
265 )]
266 pub pool_id: u64,
267 #[prost(uint64, tag = "2")]
268 #[serde(
269 serialize_with = "crate::serde::as_str::serialize",
270 deserialize_with = "crate::serde::as_str::deserialize"
271 )]
272 pub timestamp: u64,
273 #[prost(message, repeated, tag = "3")]
274 pub tracked: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
275}
276#[allow(clippy::derive_partial_eq_without_eq)]
277#[derive(
278 Clone,
279 PartialEq,
280 Eq,
281 ::prost::Message,
282 ::serde::Serialize,
283 ::serde::Deserialize,
284 ::schemars::JsonSchema,
285 CosmwasmExt,
286)]
287#[proto_message(type_url = "/elys.amm.WeightBreakingSlippage")]
288pub struct WeightBreakingSlippage {
289 #[prost(uint64, tag = "1")]
290 #[serde(alias = "poolID")]
291 #[serde(
292 serialize_with = "crate::serde::as_str::serialize",
293 deserialize_with = "crate::serde::as_str::deserialize"
294 )]
295 pub pool_id: u64,
296 #[prost(string, tag = "2")]
297 pub date: ::prost::alloc::string::String,
298 #[prost(string, tag = "3")]
299 pub amount: ::prost::alloc::string::String,
300}
301#[allow(clippy::derive_partial_eq_without_eq)]
303#[derive(
304 Clone,
305 PartialEq,
306 Eq,
307 ::prost::Message,
308 ::serde::Serialize,
309 ::serde::Deserialize,
310 ::schemars::JsonSchema,
311 CosmwasmExt,
312)]
313#[proto_message(type_url = "/elys.amm.GenesisState")]
314pub struct GenesisState {
315 #[prost(message, optional, tag = "1")]
316 pub params: ::core::option::Option<Params>,
317 #[prost(message, repeated, tag = "2")]
318 pub pool_list: ::prost::alloc::vec::Vec<Pool>,
319 #[prost(message, repeated, tag = "3")]
320 pub denom_liquidity_list: ::prost::alloc::vec::Vec<DenomLiquidity>,
321 #[prost(message, repeated, tag = "4")]
322 pub slippage_tracks: ::prost::alloc::vec::Vec<OraclePoolSlippageTrack>,
323}
324#[allow(clippy::derive_partial_eq_without_eq)]
325#[derive(
326 Clone,
327 PartialEq,
328 Eq,
329 ::prost::Message,
330 ::serde::Serialize,
331 ::serde::Deserialize,
332 ::schemars::JsonSchema,
333 CosmwasmExt,
334)]
335#[proto_message(type_url = "/elys.amm.SwapAmountInRoute")]
336pub struct SwapAmountInRoute {
337 #[prost(uint64, tag = "1")]
338 #[serde(alias = "poolID")]
339 #[serde(
340 serialize_with = "crate::serde::as_str::serialize",
341 deserialize_with = "crate::serde::as_str::deserialize"
342 )]
343 pub pool_id: u64,
344 #[prost(string, tag = "2")]
345 pub token_out_denom: ::prost::alloc::string::String,
346}
347#[allow(clippy::derive_partial_eq_without_eq)]
348#[derive(
349 Clone,
350 PartialEq,
351 Eq,
352 ::prost::Message,
353 ::serde::Serialize,
354 ::serde::Deserialize,
355 ::schemars::JsonSchema,
356 CosmwasmExt,
357)]
358#[proto_message(type_url = "/elys.amm.SwapAmountOutRoute")]
359pub struct SwapAmountOutRoute {
360 #[prost(uint64, tag = "1")]
361 #[serde(alias = "poolID")]
362 #[serde(
363 serialize_with = "crate::serde::as_str::serialize",
364 deserialize_with = "crate::serde::as_str::deserialize"
365 )]
366 pub pool_id: u64,
367 #[prost(string, tag = "2")]
368 pub token_in_denom: ::prost::alloc::string::String,
369}
370#[allow(clippy::derive_partial_eq_without_eq)]
371#[derive(
372 Clone,
373 PartialEq,
374 Eq,
375 ::prost::Message,
376 ::serde::Serialize,
377 ::serde::Deserialize,
378 ::schemars::JsonSchema,
379 CosmwasmExt,
380)]
381#[proto_message(type_url = "/elys.amm.ProposalCreateBalancerPool")]
382pub struct ProposalCreateBalancerPool {
383 #[prost(string, tag = "1")]
384 pub title: ::prost::alloc::string::String,
385 #[prost(string, tag = "2")]
386 pub description: ::prost::alloc::string::String,
387 #[prost(message, optional, tag = "3")]
388 pub pool_params: ::core::option::Option<PoolParams>,
389 #[prost(message, repeated, tag = "4")]
390 pub pool_assets: ::prost::alloc::vec::Vec<PoolAsset>,
391}
392#[allow(clippy::derive_partial_eq_without_eq)]
393#[derive(
394 Clone,
395 PartialEq,
396 Eq,
397 ::prost::Message,
398 ::serde::Serialize,
399 ::serde::Deserialize,
400 ::schemars::JsonSchema,
401 CosmwasmExt,
402)]
403#[proto_message(type_url = "/elys.amm.ProposalUpdatePoolParams")]
404pub struct ProposalUpdatePoolParams {
405 #[prost(string, tag = "1")]
406 pub title: ::prost::alloc::string::String,
407 #[prost(string, tag = "2")]
408 pub description: ::prost::alloc::string::String,
409 #[prost(uint64, tag = "3")]
410 #[serde(alias = "poolID")]
411 #[serde(
412 serialize_with = "crate::serde::as_str::serialize",
413 deserialize_with = "crate::serde::as_str::deserialize"
414 )]
415 pub pool_id: u64,
416 #[prost(message, optional, tag = "4")]
417 pub pool_params: ::core::option::Option<PoolParams>,
418}
419#[allow(clippy::derive_partial_eq_without_eq)]
421#[derive(
422 Clone,
423 PartialEq,
424 Eq,
425 ::prost::Message,
426 ::serde::Serialize,
427 ::serde::Deserialize,
428 ::schemars::JsonSchema,
429 CosmwasmExt,
430)]
431#[proto_message(type_url = "/elys.amm.QueryParamsRequest")]
432#[proto_query(path = "/elys.amm.Query/Params", response_type = QueryParamsResponse)]
433pub struct QueryParamsRequest {}
434#[allow(clippy::derive_partial_eq_without_eq)]
436#[derive(
437 Clone,
438 PartialEq,
439 Eq,
440 ::prost::Message,
441 ::serde::Serialize,
442 ::serde::Deserialize,
443 ::schemars::JsonSchema,
444 CosmwasmExt,
445)]
446#[proto_message(type_url = "/elys.amm.QueryParamsResponse")]
447pub struct QueryParamsResponse {
448 #[prost(message, optional, tag = "1")]
450 pub params: ::core::option::Option<Params>,
451}
452#[allow(clippy::derive_partial_eq_without_eq)]
453#[derive(
454 Clone,
455 PartialEq,
456 Eq,
457 ::prost::Message,
458 ::serde::Serialize,
459 ::serde::Deserialize,
460 ::schemars::JsonSchema,
461 CosmwasmExt,
462)]
463#[proto_message(type_url = "/elys.amm.QueryGetPoolRequest")]
464#[proto_query(path = "/elys.amm.Query/Pool", response_type = QueryGetPoolResponse)]
465pub struct QueryGetPoolRequest {
466 #[prost(uint64, tag = "1")]
467 #[serde(alias = "poolID")]
468 #[serde(
469 serialize_with = "crate::serde::as_str::serialize",
470 deserialize_with = "crate::serde::as_str::deserialize"
471 )]
472 pub pool_id: u64,
473 #[prost(uint64, tag = "2")]
474 #[serde(
475 serialize_with = "crate::serde::as_str::serialize",
476 deserialize_with = "crate::serde::as_str::deserialize"
477 )]
478 pub days: u64,
479}
480#[allow(clippy::derive_partial_eq_without_eq)]
481#[derive(
482 Clone,
483 PartialEq,
484 Eq,
485 ::prost::Message,
486 ::serde::Serialize,
487 ::serde::Deserialize,
488 ::schemars::JsonSchema,
489 CosmwasmExt,
490)]
491#[proto_message(type_url = "/elys.amm.QueryGetPoolResponse")]
492pub struct QueryGetPoolResponse {
493 #[prost(message, optional, tag = "1")]
494 pub pool: ::core::option::Option<Pool>,
495 #[prost(message, optional, tag = "2")]
496 pub extra_info: ::core::option::Option<PoolExtraInfo>,
497}
498#[allow(clippy::derive_partial_eq_without_eq)]
499#[derive(
500 Clone,
501 PartialEq,
502 Eq,
503 ::prost::Message,
504 ::serde::Serialize,
505 ::serde::Deserialize,
506 ::schemars::JsonSchema,
507 CosmwasmExt,
508)]
509#[proto_message(type_url = "/elys.amm.QueryAllPoolRequest")]
510#[proto_query(path = "/elys.amm.Query/PoolAll", response_type = QueryAllPoolResponse)]
511pub struct QueryAllPoolRequest {
512 #[prost(uint64, tag = "1")]
513 #[serde(
514 serialize_with = "crate::serde::as_str::serialize",
515 deserialize_with = "crate::serde::as_str::deserialize"
516 )]
517 pub days: u64,
518 #[prost(message, optional, tag = "2")]
519 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
520}
521#[allow(clippy::derive_partial_eq_without_eq)]
522#[derive(
523 Clone,
524 PartialEq,
525 Eq,
526 ::prost::Message,
527 ::serde::Serialize,
528 ::serde::Deserialize,
529 ::schemars::JsonSchema,
530 CosmwasmExt,
531)]
532#[proto_message(type_url = "/elys.amm.QueryAllPoolResponse")]
533pub struct QueryAllPoolResponse {
534 #[prost(message, repeated, tag = "1")]
535 pub pool: ::prost::alloc::vec::Vec<Pool>,
536 #[prost(message, repeated, tag = "2")]
537 pub extra_infos: ::prost::alloc::vec::Vec<PoolExtraInfo>,
538 #[prost(message, optional, tag = "3")]
539 pub pagination:
540 ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
541}
542#[allow(clippy::derive_partial_eq_without_eq)]
543#[derive(
544 Clone,
545 PartialEq,
546 Eq,
547 ::prost::Message,
548 ::serde::Serialize,
549 ::serde::Deserialize,
550 ::schemars::JsonSchema,
551 CosmwasmExt,
552)]
553#[proto_message(type_url = "/elys.amm.QueryGetDenomLiquidityRequest")]
554#[proto_query(
555 path = "/elys.amm.Query/DenomLiquidity",
556 response_type = QueryGetDenomLiquidityResponse
557)]
558pub struct QueryGetDenomLiquidityRequest {
559 #[prost(string, tag = "1")]
560 pub denom: ::prost::alloc::string::String,
561}
562#[allow(clippy::derive_partial_eq_without_eq)]
563#[derive(
564 Clone,
565 PartialEq,
566 Eq,
567 ::prost::Message,
568 ::serde::Serialize,
569 ::serde::Deserialize,
570 ::schemars::JsonSchema,
571 CosmwasmExt,
572)]
573#[proto_message(type_url = "/elys.amm.QueryGetDenomLiquidityResponse")]
574pub struct QueryGetDenomLiquidityResponse {
575 #[prost(message, optional, tag = "1")]
576 pub denom_liquidity: ::core::option::Option<DenomLiquidity>,
577}
578#[allow(clippy::derive_partial_eq_without_eq)]
579#[derive(
580 Clone,
581 PartialEq,
582 Eq,
583 ::prost::Message,
584 ::serde::Serialize,
585 ::serde::Deserialize,
586 ::schemars::JsonSchema,
587 CosmwasmExt,
588)]
589#[proto_message(type_url = "/elys.amm.QueryAllDenomLiquidityRequest")]
590#[proto_query(
591 path = "/elys.amm.Query/DenomLiquidityAll",
592 response_type = QueryAllDenomLiquidityResponse
593)]
594pub struct QueryAllDenomLiquidityRequest {
595 #[prost(message, optional, tag = "1")]
596 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
597}
598#[allow(clippy::derive_partial_eq_without_eq)]
599#[derive(
600 Clone,
601 PartialEq,
602 Eq,
603 ::prost::Message,
604 ::serde::Serialize,
605 ::serde::Deserialize,
606 ::schemars::JsonSchema,
607 CosmwasmExt,
608)]
609#[proto_message(type_url = "/elys.amm.QueryAllDenomLiquidityResponse")]
610pub struct QueryAllDenomLiquidityResponse {
611 #[prost(message, repeated, tag = "1")]
612 pub denom_liquidity: ::prost::alloc::vec::Vec<DenomLiquidity>,
613 #[prost(message, optional, tag = "2")]
614 pub pagination:
615 ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
616}
617#[allow(clippy::derive_partial_eq_without_eq)]
618#[derive(
619 Clone,
620 PartialEq,
621 Eq,
622 ::prost::Message,
623 ::serde::Serialize,
624 ::serde::Deserialize,
625 ::schemars::JsonSchema,
626 CosmwasmExt,
627)]
628#[proto_message(type_url = "/elys.amm.QuerySwapEstimationRequest")]
629#[proto_query(
630 path = "/elys.amm.Query/SwapEstimation",
631 response_type = QuerySwapEstimationResponse
632)]
633pub struct QuerySwapEstimationRequest {
634 #[prost(message, repeated, tag = "1")]
635 pub routes: ::prost::alloc::vec::Vec<SwapAmountInRoute>,
636 #[prost(message, optional, tag = "2")]
637 pub token_in: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
638 #[prost(string, tag = "3")]
639 pub discount: ::prost::alloc::string::String,
640}
641#[allow(clippy::derive_partial_eq_without_eq)]
642#[derive(
643 Clone,
644 PartialEq,
645 Eq,
646 ::prost::Message,
647 ::serde::Serialize,
648 ::serde::Deserialize,
649 ::schemars::JsonSchema,
650 CosmwasmExt,
651)]
652#[proto_message(type_url = "/elys.amm.QuerySwapEstimationExactAmountOutRequest")]
653#[proto_query(
654 path = "/elys.amm.Query/SwapEstimationExactAmountOut",
655 response_type = QuerySwapEstimationExactAmountOutResponse
656)]
657pub struct QuerySwapEstimationExactAmountOutRequest {
658 #[prost(message, repeated, tag = "1")]
659 pub routes: ::prost::alloc::vec::Vec<SwapAmountOutRoute>,
660 #[prost(message, optional, tag = "2")]
661 pub token_out: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
662 #[prost(string, tag = "3")]
663 pub discount: ::prost::alloc::string::String,
664}
665#[allow(clippy::derive_partial_eq_without_eq)]
666#[derive(
667 Clone,
668 PartialEq,
669 Eq,
670 ::prost::Message,
671 ::serde::Serialize,
672 ::serde::Deserialize,
673 ::schemars::JsonSchema,
674 CosmwasmExt,
675)]
676#[proto_message(type_url = "/elys.amm.QueryJoinPoolEstimationRequest")]
677#[proto_query(
678 path = "/elys.amm.Query/JoinPoolEstimation",
679 response_type = QueryJoinPoolEstimationResponse
680)]
681pub struct QueryJoinPoolEstimationRequest {
682 #[prost(uint64, tag = "1")]
683 #[serde(alias = "poolID")]
684 #[serde(
685 serialize_with = "crate::serde::as_str::serialize",
686 deserialize_with = "crate::serde::as_str::deserialize"
687 )]
688 pub pool_id: u64,
689 #[prost(message, repeated, tag = "2")]
690 pub amounts_in: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
691}
692#[allow(clippy::derive_partial_eq_without_eq)]
693#[derive(
694 Clone,
695 PartialEq,
696 Eq,
697 ::prost::Message,
698 ::serde::Serialize,
699 ::serde::Deserialize,
700 ::schemars::JsonSchema,
701 CosmwasmExt,
702)]
703#[proto_message(type_url = "/elys.amm.QueryJoinPoolEstimationResponse")]
704pub struct QueryJoinPoolEstimationResponse {
705 #[prost(message, optional, tag = "1")]
706 pub share_amount_out: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
707 #[prost(message, repeated, tag = "2")]
708 pub amounts_in: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
709 #[prost(string, tag = "3")]
710 pub slippage: ::prost::alloc::string::String,
711 #[prost(string, tag = "4")]
712 pub weight_balance_ratio: ::prost::alloc::string::String,
713 #[prost(string, tag = "5")]
714 pub swap_fee: ::prost::alloc::string::String,
715 #[prost(string, tag = "6")]
716 pub taker_fee: ::prost::alloc::string::String,
717}
718#[allow(clippy::derive_partial_eq_without_eq)]
719#[derive(
720 Clone,
721 PartialEq,
722 Eq,
723 ::prost::Message,
724 ::serde::Serialize,
725 ::serde::Deserialize,
726 ::schemars::JsonSchema,
727 CosmwasmExt,
728)]
729#[proto_message(type_url = "/elys.amm.QueryExitPoolEstimationRequest")]
730#[proto_query(
731 path = "/elys.amm.Query/ExitPoolEstimation",
732 response_type = QueryExitPoolEstimationResponse
733)]
734pub struct QueryExitPoolEstimationRequest {
735 #[prost(uint64, tag = "1")]
736 #[serde(alias = "poolID")]
737 #[serde(
738 serialize_with = "crate::serde::as_str::serialize",
739 deserialize_with = "crate::serde::as_str::deserialize"
740 )]
741 pub pool_id: u64,
742 #[prost(string, tag = "2")]
743 pub share_amount_in: ::prost::alloc::string::String,
744 #[prost(string, tag = "3")]
745 pub token_out_denom: ::prost::alloc::string::String,
746}
747#[allow(clippy::derive_partial_eq_without_eq)]
748#[derive(
749 Clone,
750 PartialEq,
751 Eq,
752 ::prost::Message,
753 ::serde::Serialize,
754 ::serde::Deserialize,
755 ::schemars::JsonSchema,
756 CosmwasmExt,
757)]
758#[proto_message(type_url = "/elys.amm.QueryExitPoolEstimationResponse")]
759pub struct QueryExitPoolEstimationResponse {
760 #[prost(message, repeated, tag = "1")]
761 pub amounts_out: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
762 #[prost(string, tag = "2")]
763 pub weight_balance_ratio: ::prost::alloc::string::String,
764 #[prost(string, tag = "3")]
765 pub slippage: ::prost::alloc::string::String,
766 #[prost(string, tag = "4")]
767 pub swap_fee: ::prost::alloc::string::String,
768 #[prost(string, tag = "5")]
769 pub taker_fee: ::prost::alloc::string::String,
770}
771#[allow(clippy::derive_partial_eq_without_eq)]
772#[derive(
773 Clone,
774 PartialEq,
775 Eq,
776 ::prost::Message,
777 ::serde::Serialize,
778 ::serde::Deserialize,
779 ::schemars::JsonSchema,
780 CosmwasmExt,
781)]
782#[proto_message(type_url = "/elys.amm.QuerySwapEstimationResponse")]
783pub struct QuerySwapEstimationResponse {
784 #[prost(string, tag = "1")]
785 pub spot_price: ::prost::alloc::string::String,
786 #[prost(message, optional, tag = "2")]
787 pub token_out: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
788 #[prost(string, tag = "3")]
789 pub swap_fee: ::prost::alloc::string::String,
790 #[prost(string, tag = "4")]
791 pub discount: ::prost::alloc::string::String,
792 #[prost(message, optional, tag = "5")]
793 pub available_liquidity: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
794 #[prost(string, tag = "6")]
795 pub slippage: ::prost::alloc::string::String,
796 #[prost(string, tag = "7")]
797 pub weight_balance_ratio: ::prost::alloc::string::String,
798}
799#[allow(clippy::derive_partial_eq_without_eq)]
800#[derive(
801 Clone,
802 PartialEq,
803 Eq,
804 ::prost::Message,
805 ::serde::Serialize,
806 ::serde::Deserialize,
807 ::schemars::JsonSchema,
808 CosmwasmExt,
809)]
810#[proto_message(type_url = "/elys.amm.QuerySwapEstimationExactAmountOutResponse")]
811pub struct QuerySwapEstimationExactAmountOutResponse {
812 #[prost(string, tag = "1")]
813 pub spot_price: ::prost::alloc::string::String,
814 #[prost(message, optional, tag = "2")]
815 pub token_in: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
816 #[prost(string, tag = "3")]
817 pub swap_fee: ::prost::alloc::string::String,
818 #[prost(string, tag = "4")]
819 pub discount: ::prost::alloc::string::String,
820 #[prost(message, optional, tag = "5")]
821 pub available_liquidity: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
822 #[prost(string, tag = "6")]
823 pub slippage: ::prost::alloc::string::String,
824 #[prost(string, tag = "7")]
825 pub weight_balance_ratio: ::prost::alloc::string::String,
826}
827#[allow(clippy::derive_partial_eq_without_eq)]
828#[derive(
829 Clone,
830 PartialEq,
831 Eq,
832 ::prost::Message,
833 ::serde::Serialize,
834 ::serde::Deserialize,
835 ::schemars::JsonSchema,
836 CosmwasmExt,
837)]
838#[proto_message(type_url = "/elys.amm.QuerySlippageTrackRequest")]
839#[proto_query(
840 path = "/elys.amm.Query/SlippageTrack",
841 response_type = QuerySlippageTrackResponse
842)]
843pub struct QuerySlippageTrackRequest {
844 #[prost(uint64, tag = "1")]
845 #[serde(alias = "poolID")]
846 #[serde(
847 serialize_with = "crate::serde::as_str::serialize",
848 deserialize_with = "crate::serde::as_str::deserialize"
849 )]
850 pub pool_id: u64,
851}
852#[allow(clippy::derive_partial_eq_without_eq)]
853#[derive(
854 Clone,
855 PartialEq,
856 Eq,
857 ::prost::Message,
858 ::serde::Serialize,
859 ::serde::Deserialize,
860 ::schemars::JsonSchema,
861 CosmwasmExt,
862)]
863#[proto_message(type_url = "/elys.amm.QuerySlippageTrackResponse")]
864pub struct QuerySlippageTrackResponse {
865 #[prost(message, optional, tag = "1")]
866 pub track: ::core::option::Option<OraclePoolSlippageTrack>,
867}
868#[allow(clippy::derive_partial_eq_without_eq)]
869#[derive(
870 Clone,
871 PartialEq,
872 Eq,
873 ::prost::Message,
874 ::serde::Serialize,
875 ::serde::Deserialize,
876 ::schemars::JsonSchema,
877 CosmwasmExt,
878)]
879#[proto_message(type_url = "/elys.amm.QuerySlippageTrackAllRequest")]
880#[proto_query(
881 path = "/elys.amm.Query/SlippageTrackAll",
882 response_type = QuerySlippageTrackAllResponse
883)]
884pub struct QuerySlippageTrackAllRequest {}
885#[allow(clippy::derive_partial_eq_without_eq)]
886#[derive(
887 Clone,
888 PartialEq,
889 Eq,
890 ::prost::Message,
891 ::serde::Serialize,
892 ::serde::Deserialize,
893 ::schemars::JsonSchema,
894 CosmwasmExt,
895)]
896#[proto_message(type_url = "/elys.amm.QuerySlippageTrackAllResponse")]
897pub struct QuerySlippageTrackAllResponse {
898 #[prost(message, repeated, tag = "1")]
899 pub tracks: ::prost::alloc::vec::Vec<OraclePoolSlippageTrack>,
900}
901#[allow(clippy::derive_partial_eq_without_eq)]
902#[derive(
903 Clone,
904 PartialEq,
905 Eq,
906 ::prost::Message,
907 ::serde::Serialize,
908 ::serde::Deserialize,
909 ::schemars::JsonSchema,
910 CosmwasmExt,
911)]
912#[proto_message(type_url = "/elys.amm.QueryBalanceRequest")]
913#[proto_query(path = "/elys.amm.Query/Balance", response_type = QueryBalanceResponse)]
914pub struct QueryBalanceRequest {
915 #[prost(string, tag = "1")]
916 pub address: ::prost::alloc::string::String,
917 #[prost(string, tag = "2")]
918 pub denom: ::prost::alloc::string::String,
919}
920#[allow(clippy::derive_partial_eq_without_eq)]
921#[derive(
922 Clone,
923 PartialEq,
924 Eq,
925 ::prost::Message,
926 ::serde::Serialize,
927 ::serde::Deserialize,
928 ::schemars::JsonSchema,
929 CosmwasmExt,
930)]
931#[proto_message(type_url = "/elys.amm.QueryBalanceResponse")]
932pub struct QueryBalanceResponse {
933 #[prost(message, optional, tag = "1")]
934 pub balance: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
935}
936#[allow(clippy::derive_partial_eq_without_eq)]
937#[derive(
938 Clone,
939 PartialEq,
940 Eq,
941 ::prost::Message,
942 ::serde::Serialize,
943 ::serde::Deserialize,
944 ::schemars::JsonSchema,
945 CosmwasmExt,
946)]
947#[proto_message(type_url = "/elys.amm.QueryInRouteByDenomRequest")]
948#[proto_query(
949 path = "/elys.amm.Query/InRouteByDenom",
950 response_type = QueryInRouteByDenomResponse
951)]
952pub struct QueryInRouteByDenomRequest {
953 #[prost(string, tag = "1")]
954 pub denom_in: ::prost::alloc::string::String,
955 #[prost(string, tag = "2")]
956 pub denom_out: ::prost::alloc::string::String,
957}
958#[allow(clippy::derive_partial_eq_without_eq)]
959#[derive(
960 Clone,
961 PartialEq,
962 Eq,
963 ::prost::Message,
964 ::serde::Serialize,
965 ::serde::Deserialize,
966 ::schemars::JsonSchema,
967 CosmwasmExt,
968)]
969#[proto_message(type_url = "/elys.amm.QueryInRouteByDenomResponse")]
970pub struct QueryInRouteByDenomResponse {
971 #[prost(message, repeated, tag = "1")]
972 pub in_route: ::prost::alloc::vec::Vec<SwapAmountInRoute>,
973}
974#[allow(clippy::derive_partial_eq_without_eq)]
975#[derive(
976 Clone,
977 PartialEq,
978 Eq,
979 ::prost::Message,
980 ::serde::Serialize,
981 ::serde::Deserialize,
982 ::schemars::JsonSchema,
983 CosmwasmExt,
984)]
985#[proto_message(type_url = "/elys.amm.QueryOutRouteByDenomRequest")]
986#[proto_query(
987 path = "/elys.amm.Query/OutRouteByDenom",
988 response_type = QueryOutRouteByDenomResponse
989)]
990pub struct QueryOutRouteByDenomRequest {
991 #[prost(string, tag = "1")]
992 pub denom_out: ::prost::alloc::string::String,
993 #[prost(string, tag = "2")]
994 pub denom_in: ::prost::alloc::string::String,
995}
996#[allow(clippy::derive_partial_eq_without_eq)]
997#[derive(
998 Clone,
999 PartialEq,
1000 Eq,
1001 ::prost::Message,
1002 ::serde::Serialize,
1003 ::serde::Deserialize,
1004 ::schemars::JsonSchema,
1005 CosmwasmExt,
1006)]
1007#[proto_message(type_url = "/elys.amm.QueryOutRouteByDenomResponse")]
1008pub struct QueryOutRouteByDenomResponse {
1009 #[prost(message, repeated, tag = "1")]
1010 pub out_route: ::prost::alloc::vec::Vec<SwapAmountOutRoute>,
1011}
1012#[allow(clippy::derive_partial_eq_without_eq)]
1013#[derive(
1014 Clone,
1015 PartialEq,
1016 Eq,
1017 ::prost::Message,
1018 ::serde::Serialize,
1019 ::serde::Deserialize,
1020 ::schemars::JsonSchema,
1021 CosmwasmExt,
1022)]
1023#[proto_message(type_url = "/elys.amm.QuerySwapEstimationByDenomRequest")]
1024#[proto_query(
1025 path = "/elys.amm.Query/SwapEstimationByDenom",
1026 response_type = QuerySwapEstimationByDenomResponse
1027)]
1028pub struct QuerySwapEstimationByDenomRequest {
1029 #[prost(message, optional, tag = "1")]
1030 pub amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1031 #[prost(string, tag = "2")]
1032 pub denom_in: ::prost::alloc::string::String,
1033 #[prost(string, tag = "3")]
1034 pub denom_out: ::prost::alloc::string::String,
1035 #[prost(string, tag = "4")]
1036 pub address: ::prost::alloc::string::String,
1037}
1038#[allow(clippy::derive_partial_eq_without_eq)]
1039#[derive(
1040 Clone,
1041 PartialEq,
1042 Eq,
1043 ::prost::Message,
1044 ::serde::Serialize,
1045 ::serde::Deserialize,
1046 ::schemars::JsonSchema,
1047 CosmwasmExt,
1048)]
1049#[proto_message(type_url = "/elys.amm.QuerySwapEstimationByDenomResponse")]
1050pub struct QuerySwapEstimationByDenomResponse {
1051 #[prost(message, repeated, tag = "1")]
1052 pub in_route: ::prost::alloc::vec::Vec<SwapAmountInRoute>,
1053 #[prost(message, repeated, tag = "2")]
1054 pub out_route: ::prost::alloc::vec::Vec<SwapAmountOutRoute>,
1055 #[prost(string, tag = "3")]
1056 pub spot_price: ::prost::alloc::string::String,
1057 #[prost(message, optional, tag = "4")]
1058 pub amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1059 #[prost(string, tag = "5")]
1060 pub swap_fee: ::prost::alloc::string::String,
1061 #[prost(string, tag = "6")]
1062 pub discount: ::prost::alloc::string::String,
1063 #[prost(message, optional, tag = "7")]
1064 pub available_liquidity: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1065 #[prost(string, tag = "8")]
1066 pub weight_balance_ratio: ::prost::alloc::string::String,
1067 #[prost(string, tag = "9")]
1068 pub slippage: ::prost::alloc::string::String,
1069 #[prost(string, tag = "10")]
1070 pub price_impact: ::prost::alloc::string::String,
1071}
1072#[allow(clippy::derive_partial_eq_without_eq)]
1073#[derive(
1074 Clone,
1075 PartialEq,
1076 Eq,
1077 ::prost::Message,
1078 ::serde::Serialize,
1079 ::serde::Deserialize,
1080 ::schemars::JsonSchema,
1081 CosmwasmExt,
1082)]
1083#[proto_message(type_url = "/elys.amm.QueryAMMPriceRequest")]
1084pub struct QueryAmmPriceRequest {
1085 #[prost(message, optional, tag = "1")]
1086 pub token_in: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1087 #[prost(string, tag = "2")]
1088 pub discount: ::prost::alloc::string::String,
1089}
1090#[allow(clippy::derive_partial_eq_without_eq)]
1091#[derive(
1092 Clone,
1093 PartialEq,
1094 Eq,
1095 ::prost::Message,
1096 ::serde::Serialize,
1097 ::serde::Deserialize,
1098 ::schemars::JsonSchema,
1099 CosmwasmExt,
1100)]
1101#[proto_message(type_url = "/elys.amm.QueryWeightAndSlippageFeeRequest")]
1102#[proto_query(
1103 path = "/elys.amm.Query/WeightAndSlippageFee",
1104 response_type = QueryWeightAndSlippageFeeResponse
1105)]
1106pub struct QueryWeightAndSlippageFeeRequest {
1107 #[prost(uint64, tag = "1")]
1108 #[serde(alias = "poolID")]
1109 #[serde(
1110 serialize_with = "crate::serde::as_str::serialize",
1111 deserialize_with = "crate::serde::as_str::deserialize"
1112 )]
1113 pub pool_id: u64,
1114 #[prost(string, tag = "2")]
1115 pub date: ::prost::alloc::string::String,
1116}
1117#[allow(clippy::derive_partial_eq_without_eq)]
1118#[derive(
1119 Clone,
1120 PartialEq,
1121 Eq,
1122 ::prost::Message,
1123 ::serde::Serialize,
1124 ::serde::Deserialize,
1125 ::schemars::JsonSchema,
1126 CosmwasmExt,
1127)]
1128#[proto_message(type_url = "/elys.amm.QueryWeightAndSlippageFeeResponse")]
1129pub struct QueryWeightAndSlippageFeeResponse {
1130 #[prost(string, tag = "1")]
1131 pub value: ::prost::alloc::string::String,
1132}
1133#[allow(clippy::derive_partial_eq_without_eq)]
1134#[derive(
1135 Clone,
1136 PartialEq,
1137 Eq,
1138 ::prost::Message,
1139 ::serde::Serialize,
1140 ::serde::Deserialize,
1141 ::schemars::JsonSchema,
1142 CosmwasmExt,
1143)]
1144#[proto_message(type_url = "/elys.amm.MsgCreatePool")]
1145pub struct MsgCreatePool {
1146 #[prost(string, tag = "1")]
1147 pub sender: ::prost::alloc::string::String,
1148 #[prost(message, optional, tag = "2")]
1149 pub pool_params: ::core::option::Option<PoolParams>,
1150 #[prost(message, repeated, tag = "3")]
1151 pub pool_assets: ::prost::alloc::vec::Vec<PoolAsset>,
1152}
1153#[allow(clippy::derive_partial_eq_without_eq)]
1154#[derive(
1155 Clone,
1156 PartialEq,
1157 Eq,
1158 ::prost::Message,
1159 ::serde::Serialize,
1160 ::serde::Deserialize,
1161 ::schemars::JsonSchema,
1162 CosmwasmExt,
1163)]
1164#[proto_message(type_url = "/elys.amm.MsgCreatePoolResponse")]
1165pub struct MsgCreatePoolResponse {
1166 #[prost(uint64, tag = "1")]
1167 #[serde(alias = "poolID")]
1168 #[serde(
1169 serialize_with = "crate::serde::as_str::serialize",
1170 deserialize_with = "crate::serde::as_str::deserialize"
1171 )]
1172 pub pool_id: u64,
1173}
1174#[allow(clippy::derive_partial_eq_without_eq)]
1175#[derive(
1176 Clone,
1177 PartialEq,
1178 Eq,
1179 ::prost::Message,
1180 ::serde::Serialize,
1181 ::serde::Deserialize,
1182 ::schemars::JsonSchema,
1183 CosmwasmExt,
1184)]
1185#[proto_message(type_url = "/elys.amm.MsgJoinPool")]
1186pub struct MsgJoinPool {
1187 #[prost(string, tag = "1")]
1188 pub sender: ::prost::alloc::string::String,
1189 #[prost(uint64, tag = "2")]
1190 #[serde(alias = "poolID")]
1191 #[serde(
1192 serialize_with = "crate::serde::as_str::serialize",
1193 deserialize_with = "crate::serde::as_str::deserialize"
1194 )]
1195 pub pool_id: u64,
1196 #[prost(message, repeated, tag = "3")]
1197 pub max_amounts_in: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
1198 #[prost(string, tag = "4")]
1199 pub share_amount_out: ::prost::alloc::string::String,
1200}
1201#[allow(clippy::derive_partial_eq_without_eq)]
1202#[derive(
1203 Clone,
1204 PartialEq,
1205 Eq,
1206 ::prost::Message,
1207 ::serde::Serialize,
1208 ::serde::Deserialize,
1209 ::schemars::JsonSchema,
1210 CosmwasmExt,
1211)]
1212#[proto_message(type_url = "/elys.amm.MsgJoinPoolResponse")]
1213pub struct MsgJoinPoolResponse {
1214 #[prost(string, tag = "1")]
1215 pub share_amount_out: ::prost::alloc::string::String,
1216 #[prost(message, repeated, tag = "2")]
1217 pub token_in: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
1218}
1219#[allow(clippy::derive_partial_eq_without_eq)]
1220#[derive(
1221 Clone,
1222 PartialEq,
1223 Eq,
1224 ::prost::Message,
1225 ::serde::Serialize,
1226 ::serde::Deserialize,
1227 ::schemars::JsonSchema,
1228 CosmwasmExt,
1229)]
1230#[proto_message(type_url = "/elys.amm.MsgExitPool")]
1231pub struct MsgExitPool {
1232 #[prost(string, tag = "1")]
1233 pub sender: ::prost::alloc::string::String,
1234 #[prost(uint64, tag = "2")]
1235 #[serde(alias = "poolID")]
1236 #[serde(
1237 serialize_with = "crate::serde::as_str::serialize",
1238 deserialize_with = "crate::serde::as_str::deserialize"
1239 )]
1240 pub pool_id: u64,
1241 #[prost(message, repeated, tag = "3")]
1242 pub min_amounts_out: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
1243 #[prost(string, tag = "4")]
1244 pub share_amount_in: ::prost::alloc::string::String,
1245 #[prost(string, tag = "5")]
1246 pub token_out_denom: ::prost::alloc::string::String,
1247}
1248#[allow(clippy::derive_partial_eq_without_eq)]
1249#[derive(
1250 Clone,
1251 PartialEq,
1252 Eq,
1253 ::prost::Message,
1254 ::serde::Serialize,
1255 ::serde::Deserialize,
1256 ::schemars::JsonSchema,
1257 CosmwasmExt,
1258)]
1259#[proto_message(type_url = "/elys.amm.MsgExitPoolResponse")]
1260pub struct MsgExitPoolResponse {
1261 #[prost(message, repeated, tag = "1")]
1262 pub token_out: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
1263 #[prost(string, tag = "2")]
1264 pub weight_balance_ratio: ::prost::alloc::string::String,
1265 #[prost(string, tag = "3")]
1266 pub slippage: ::prost::alloc::string::String,
1267 #[prost(string, tag = "4")]
1268 pub swap_fee: ::prost::alloc::string::String,
1269}
1270#[allow(clippy::derive_partial_eq_without_eq)]
1271#[derive(
1272 Clone,
1273 PartialEq,
1274 Eq,
1275 ::prost::Message,
1276 ::serde::Serialize,
1277 ::serde::Deserialize,
1278 ::schemars::JsonSchema,
1279 CosmwasmExt,
1280)]
1281#[proto_message(type_url = "/elys.amm.MsgUpFrontSwapExactAmountIn")]
1282pub struct MsgUpFrontSwapExactAmountIn {
1283 #[prost(string, tag = "1")]
1284 pub sender: ::prost::alloc::string::String,
1285 #[prost(message, repeated, tag = "2")]
1286 pub routes: ::prost::alloc::vec::Vec<SwapAmountInRoute>,
1287 #[prost(message, optional, tag = "3")]
1288 pub token_in: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1289 #[prost(string, tag = "4")]
1290 pub token_out_min_amount: ::prost::alloc::string::String,
1291}
1292#[allow(clippy::derive_partial_eq_without_eq)]
1293#[derive(
1294 Clone,
1295 PartialEq,
1296 Eq,
1297 ::prost::Message,
1298 ::serde::Serialize,
1299 ::serde::Deserialize,
1300 ::schemars::JsonSchema,
1301 CosmwasmExt,
1302)]
1303#[proto_message(type_url = "/elys.amm.MsgUpFrontSwapExactAmountInResponse")]
1304pub struct MsgUpFrontSwapExactAmountInResponse {
1305 #[prost(string, tag = "1")]
1306 pub token_out_amount: ::prost::alloc::string::String,
1307 #[prost(string, tag = "2")]
1308 pub swap_fee: ::prost::alloc::string::String,
1309 #[prost(string, tag = "3")]
1310 pub discount: ::prost::alloc::string::String,
1311}
1312#[allow(clippy::derive_partial_eq_without_eq)]
1313#[derive(
1314 Clone,
1315 PartialEq,
1316 Eq,
1317 ::prost::Message,
1318 ::serde::Serialize,
1319 ::serde::Deserialize,
1320 ::schemars::JsonSchema,
1321 CosmwasmExt,
1322)]
1323#[proto_message(type_url = "/elys.amm.MsgSwapExactAmountIn")]
1324pub struct MsgSwapExactAmountIn {
1325 #[prost(string, tag = "1")]
1326 pub sender: ::prost::alloc::string::String,
1327 #[prost(message, repeated, tag = "2")]
1328 pub routes: ::prost::alloc::vec::Vec<SwapAmountInRoute>,
1329 #[prost(message, optional, tag = "3")]
1330 pub token_in: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1331 #[prost(string, tag = "4")]
1332 pub token_out_min_amount: ::prost::alloc::string::String,
1333 #[prost(string, tag = "5")]
1334 pub recipient: ::prost::alloc::string::String,
1335}
1336#[allow(clippy::derive_partial_eq_without_eq)]
1337#[derive(
1338 Clone,
1339 PartialEq,
1340 Eq,
1341 ::prost::Message,
1342 ::serde::Serialize,
1343 ::serde::Deserialize,
1344 ::schemars::JsonSchema,
1345 CosmwasmExt,
1346)]
1347#[proto_message(type_url = "/elys.amm.MsgSwapExactAmountInResponse")]
1348pub struct MsgSwapExactAmountInResponse {
1349 #[prost(string, tag = "1")]
1350 pub token_out_amount: ::prost::alloc::string::String,
1351 #[prost(string, tag = "2")]
1352 pub swap_fee: ::prost::alloc::string::String,
1353 #[prost(string, tag = "3")]
1354 pub discount: ::prost::alloc::string::String,
1355 #[prost(string, tag = "4")]
1356 pub recipient: ::prost::alloc::string::String,
1357}
1358#[allow(clippy::derive_partial_eq_without_eq)]
1359#[derive(
1360 Clone,
1361 PartialEq,
1362 Eq,
1363 ::prost::Message,
1364 ::serde::Serialize,
1365 ::serde::Deserialize,
1366 ::schemars::JsonSchema,
1367 CosmwasmExt,
1368)]
1369#[proto_message(type_url = "/elys.amm.MsgSwapExactAmountOut")]
1370pub struct MsgSwapExactAmountOut {
1371 #[prost(string, tag = "1")]
1372 pub sender: ::prost::alloc::string::String,
1373 #[prost(message, repeated, tag = "2")]
1374 pub routes: ::prost::alloc::vec::Vec<SwapAmountOutRoute>,
1375 #[prost(message, optional, tag = "3")]
1376 pub token_out: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1377 #[prost(string, tag = "4")]
1378 pub token_in_max_amount: ::prost::alloc::string::String,
1379 #[prost(string, tag = "5")]
1380 pub recipient: ::prost::alloc::string::String,
1381}
1382#[allow(clippy::derive_partial_eq_without_eq)]
1383#[derive(
1384 Clone,
1385 PartialEq,
1386 Eq,
1387 ::prost::Message,
1388 ::serde::Serialize,
1389 ::serde::Deserialize,
1390 ::schemars::JsonSchema,
1391 CosmwasmExt,
1392)]
1393#[proto_message(type_url = "/elys.amm.MsgSwapExactAmountOutResponse")]
1394pub struct MsgSwapExactAmountOutResponse {
1395 #[prost(string, tag = "1")]
1396 pub token_in_amount: ::prost::alloc::string::String,
1397 #[prost(string, tag = "2")]
1398 pub swap_fee: ::prost::alloc::string::String,
1399 #[prost(string, tag = "3")]
1400 pub discount: ::prost::alloc::string::String,
1401 #[prost(string, tag = "4")]
1402 pub recipient: ::prost::alloc::string::String,
1403}
1404#[allow(clippy::derive_partial_eq_without_eq)]
1405#[derive(
1406 Clone,
1407 PartialEq,
1408 Eq,
1409 ::prost::Message,
1410 ::serde::Serialize,
1411 ::serde::Deserialize,
1412 ::schemars::JsonSchema,
1413 CosmwasmExt,
1414)]
1415#[proto_message(type_url = "/elys.amm.MsgFeedMultipleExternalLiquidity")]
1416pub struct MsgFeedMultipleExternalLiquidity {
1417 #[prost(string, tag = "1")]
1418 pub sender: ::prost::alloc::string::String,
1419 #[prost(message, repeated, tag = "2")]
1420 pub liquidity: ::prost::alloc::vec::Vec<ExternalLiquidity>,
1421}
1422#[allow(clippy::derive_partial_eq_without_eq)]
1423#[derive(
1424 Clone,
1425 PartialEq,
1426 Eq,
1427 ::prost::Message,
1428 ::serde::Serialize,
1429 ::serde::Deserialize,
1430 ::schemars::JsonSchema,
1431 CosmwasmExt,
1432)]
1433#[proto_message(type_url = "/elys.amm.MsgFeedMultipleExternalLiquidityResponse")]
1434pub struct MsgFeedMultipleExternalLiquidityResponse {}
1435#[allow(clippy::derive_partial_eq_without_eq)]
1436#[derive(
1437 Clone,
1438 PartialEq,
1439 Eq,
1440 ::prost::Message,
1441 ::serde::Serialize,
1442 ::serde::Deserialize,
1443 ::schemars::JsonSchema,
1444 CosmwasmExt,
1445)]
1446#[proto_message(type_url = "/elys.amm.AssetAmountDepth")]
1447pub struct AssetAmountDepth {
1448 #[prost(string, tag = "1")]
1449 pub asset: ::prost::alloc::string::String,
1450 #[prost(string, tag = "2")]
1451 pub amount: ::prost::alloc::string::String,
1452 #[prost(string, tag = "3")]
1453 pub depth: ::prost::alloc::string::String,
1454}
1455#[allow(clippy::derive_partial_eq_without_eq)]
1458#[derive(
1459 Clone,
1460 PartialEq,
1461 Eq,
1462 ::prost::Message,
1463 ::serde::Serialize,
1464 ::serde::Deserialize,
1465 ::schemars::JsonSchema,
1466 CosmwasmExt,
1467)]
1468#[proto_message(type_url = "/elys.amm.ExternalLiquidity")]
1469pub struct ExternalLiquidity {
1470 #[prost(uint64, tag = "1")]
1471 #[serde(alias = "poolID")]
1472 #[serde(
1473 serialize_with = "crate::serde::as_str::serialize",
1474 deserialize_with = "crate::serde::as_str::deserialize"
1475 )]
1476 pub pool_id: u64,
1477 #[prost(message, repeated, tag = "2")]
1478 pub amount_depth_info: ::prost::alloc::vec::Vec<AssetAmountDepth>,
1479}
1480#[allow(clippy::derive_partial_eq_without_eq)]
1481#[derive(
1482 Clone,
1483 PartialEq,
1484 Eq,
1485 ::prost::Message,
1486 ::serde::Serialize,
1487 ::serde::Deserialize,
1488 ::schemars::JsonSchema,
1489 CosmwasmExt,
1490)]
1491#[proto_message(type_url = "/elys.amm.MsgSwapByDenom")]
1492pub struct MsgSwapByDenom {
1493 #[prost(string, tag = "1")]
1494 pub sender: ::prost::alloc::string::String,
1495 #[prost(message, optional, tag = "2")]
1496 pub amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1497 #[prost(message, optional, tag = "3")]
1498 pub min_amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1499 #[prost(message, optional, tag = "4")]
1500 pub max_amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1501 #[prost(string, tag = "5")]
1502 pub denom_in: ::prost::alloc::string::String,
1503 #[prost(string, tag = "6")]
1504 pub denom_out: ::prost::alloc::string::String,
1505 #[prost(string, tag = "7")]
1506 pub recipient: ::prost::alloc::string::String,
1507}
1508#[allow(clippy::derive_partial_eq_without_eq)]
1509#[derive(
1510 Clone,
1511 PartialEq,
1512 Eq,
1513 ::prost::Message,
1514 ::serde::Serialize,
1515 ::serde::Deserialize,
1516 ::schemars::JsonSchema,
1517 CosmwasmExt,
1518)]
1519#[proto_message(type_url = "/elys.amm.MsgSwapByDenomResponse")]
1520pub struct MsgSwapByDenomResponse {
1521 #[prost(message, optional, tag = "1")]
1522 pub amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1523 #[prost(message, repeated, tag = "2")]
1524 pub in_route: ::prost::alloc::vec::Vec<SwapAmountInRoute>,
1525 #[prost(message, repeated, tag = "3")]
1526 pub out_route: ::prost::alloc::vec::Vec<SwapAmountOutRoute>,
1527 #[prost(string, tag = "4")]
1528 pub spot_price: ::prost::alloc::string::String,
1529 #[prost(string, tag = "5")]
1530 pub swap_fee: ::prost::alloc::string::String,
1531 #[prost(string, tag = "6")]
1532 pub discount: ::prost::alloc::string::String,
1533 #[prost(string, tag = "7")]
1534 pub recipient: ::prost::alloc::string::String,
1535 #[prost(string, tag = "8")]
1536 pub slippage: ::prost::alloc::string::String,
1537 #[prost(string, tag = "9")]
1538 pub weight_bonus: ::prost::alloc::string::String,
1539}
1540#[allow(clippy::derive_partial_eq_without_eq)]
1541#[derive(
1542 Clone,
1543 PartialEq,
1544 Eq,
1545 ::prost::Message,
1546 ::serde::Serialize,
1547 ::serde::Deserialize,
1548 ::schemars::JsonSchema,
1549 CosmwasmExt,
1550)]
1551#[proto_message(type_url = "/elys.amm.MsgUpdatePoolParams")]
1552pub struct MsgUpdatePoolParams {
1553 #[prost(string, tag = "1")]
1554 pub authority: ::prost::alloc::string::String,
1555 #[prost(uint64, tag = "2")]
1556 #[serde(alias = "poolID")]
1557 #[serde(
1558 serialize_with = "crate::serde::as_str::serialize",
1559 deserialize_with = "crate::serde::as_str::deserialize"
1560 )]
1561 pub pool_id: u64,
1562 #[prost(message, optional, tag = "3")]
1563 pub pool_params: ::core::option::Option<PoolParams>,
1564}
1565#[allow(clippy::derive_partial_eq_without_eq)]
1566#[derive(
1567 Clone,
1568 PartialEq,
1569 Eq,
1570 ::prost::Message,
1571 ::serde::Serialize,
1572 ::serde::Deserialize,
1573 ::schemars::JsonSchema,
1574 CosmwasmExt,
1575)]
1576#[proto_message(type_url = "/elys.amm.MsgUpdatePoolParamsResponse")]
1577pub struct MsgUpdatePoolParamsResponse {
1578 #[prost(uint64, tag = "1")]
1579 #[serde(alias = "poolID")]
1580 #[serde(
1581 serialize_with = "crate::serde::as_str::serialize",
1582 deserialize_with = "crate::serde::as_str::deserialize"
1583 )]
1584 pub pool_id: u64,
1585 #[prost(message, optional, tag = "2")]
1586 pub pool_params: ::core::option::Option<PoolParams>,
1587}
1588#[allow(clippy::derive_partial_eq_without_eq)]
1589#[derive(
1590 Clone,
1591 PartialEq,
1592 Eq,
1593 ::prost::Message,
1594 ::serde::Serialize,
1595 ::serde::Deserialize,
1596 ::schemars::JsonSchema,
1597 CosmwasmExt,
1598)]
1599#[proto_message(type_url = "/elys.amm.MsgUpdateParams")]
1600pub struct MsgUpdateParams {
1601 #[prost(string, tag = "1")]
1602 pub authority: ::prost::alloc::string::String,
1603 #[prost(message, optional, tag = "2")]
1604 pub params: ::core::option::Option<Params>,
1605}
1606#[allow(clippy::derive_partial_eq_without_eq)]
1607#[derive(
1608 Clone,
1609 PartialEq,
1610 Eq,
1611 ::prost::Message,
1612 ::serde::Serialize,
1613 ::serde::Deserialize,
1614 ::schemars::JsonSchema,
1615 CosmwasmExt,
1616)]
1617#[proto_message(type_url = "/elys.amm.MsgUpdateParamsResponse")]
1618pub struct MsgUpdateParamsResponse {}
1619#[allow(clippy::derive_partial_eq_without_eq)]
1620#[derive(
1621 Clone,
1622 PartialEq,
1623 Eq,
1624 ::prost::Message,
1625 ::serde::Serialize,
1626 ::serde::Deserialize,
1627 ::schemars::JsonSchema,
1628 CosmwasmExt,
1629)]
1630#[proto_message(type_url = "/elys.amm.QueryEarnPoolRequest")]
1631pub struct QueryEarnPoolRequest {
1632 #[prost(uint64, repeated, tag = "1")]
1633 #[serde(alias = "poolIDs")]
1634 #[serde(
1635 serialize_with = "crate::serde::as_str_vec::serialize",
1636 deserialize_with = "crate::serde::as_str_vec::deserialize"
1637 )]
1638 pub pool_ids: ::prost::alloc::vec::Vec<u64>,
1639 #[prost(enumeration = "FilterType", tag = "2")]
1640 #[serde(
1641 serialize_with = "crate::serde::as_str::serialize",
1642 deserialize_with = "crate::serde::as_str::deserialize"
1643 )]
1644 pub filter_type: i32,
1645 #[prost(message, optional, tag = "3")]
1646 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1647}
1648#[allow(clippy::derive_partial_eq_without_eq)]
1649#[derive(
1650 Clone,
1651 PartialEq,
1652 Eq,
1653 ::prost::Message,
1654 ::serde::Serialize,
1655 ::serde::Deserialize,
1656 ::schemars::JsonSchema,
1657 CosmwasmExt,
1658)]
1659#[proto_message(type_url = "/elys.amm.EarnPool")]
1660pub struct EarnPool {
1661 #[prost(uint64, tag = "1")]
1662 #[serde(alias = "poolID")]
1663 #[serde(
1664 serialize_with = "crate::serde::as_str::serialize",
1665 deserialize_with = "crate::serde::as_str::deserialize"
1666 )]
1667 pub pool_id: u64,
1668 #[prost(message, repeated, tag = "2")]
1669 pub assets: ::prost::alloc::vec::Vec<PoolAsset>,
1670 #[prost(string, tag = "3")]
1671 pub pool_ratio: ::prost::alloc::string::String,
1672 #[prost(string, tag = "4")]
1673 pub rewards_apr: ::prost::alloc::string::String,
1674 #[prost(string, tag = "5")]
1675 pub borrow_apr: ::prost::alloc::string::String,
1676 #[prost(string, tag = "6")]
1677 pub leverage_lp: ::prost::alloc::string::String,
1678 #[prost(string, tag = "7")]
1679 pub perpetual: ::prost::alloc::string::String,
1680 #[prost(string, tag = "8")]
1681 pub tvl: ::prost::alloc::string::String,
1682 #[prost(string, tag = "9")]
1683 pub lp_token_price: ::prost::alloc::string::String,
1684 #[prost(string, tag = "10")]
1685 pub rewards_usd: ::prost::alloc::string::String,
1686 #[prost(message, repeated, tag = "11")]
1687 pub reward_coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
1688 #[prost(message, optional, tag = "12")]
1689 pub total_shares: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1690 #[prost(string, tag = "13")]
1691 pub swap_fee: ::prost::alloc::string::String,
1692 #[prost(string, tag = "14")]
1693 pub fee_denom: ::prost::alloc::string::String,
1694 #[prost(bool, tag = "15")]
1695 pub use_oracle: bool,
1696 #[prost(bool, tag = "16")]
1697 pub is_leveragelp: bool,
1698}
1699#[allow(clippy::derive_partial_eq_without_eq)]
1700#[derive(
1701 Clone,
1702 PartialEq,
1703 Eq,
1704 ::prost::Message,
1705 ::serde::Serialize,
1706 ::serde::Deserialize,
1707 ::schemars::JsonSchema,
1708 CosmwasmExt,
1709)]
1710#[proto_message(type_url = "/elys.amm.QueryEarnPoolResponse")]
1711pub struct QueryEarnPoolResponse {
1712 #[prost(message, repeated, tag = "1")]
1713 pub pools: ::prost::alloc::vec::Vec<EarnPool>,
1714}
1715#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1716#[repr(i32)]
1717#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
1718pub enum FilterType {
1719 FilterAll = 0,
1720 FilterPerpetual = 1,
1721 FilterFixedWeight = 2,
1722 FilterDynamicWeight = 3,
1723 FilterLeverage = 4,
1724}
1725impl FilterType {
1726 pub fn as_str_name(&self) -> &'static str {
1731 match self {
1732 FilterType::FilterAll => "FILTER_ALL",
1733 FilterType::FilterPerpetual => "FILTER_PERPETUAL",
1734 FilterType::FilterFixedWeight => "FILTER_FIXED_WEIGHT",
1735 FilterType::FilterDynamicWeight => "FILTER_DYNAMIC_WEIGHT",
1736 FilterType::FilterLeverage => "FILTER_LEVERAGE",
1737 }
1738 }
1739 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1741 match value {
1742 "FILTER_ALL" => Some(Self::FilterAll),
1743 "FILTER_PERPETUAL" => Some(Self::FilterPerpetual),
1744 "FILTER_FIXED_WEIGHT" => Some(Self::FilterFixedWeight),
1745 "FILTER_DYNAMIC_WEIGHT" => Some(Self::FilterDynamicWeight),
1746 "FILTER_LEVERAGE" => Some(Self::FilterLeverage),
1747 _ => None,
1748 }
1749 }
1750}
1751pub struct AmmQuerier<'a, Q: cosmwasm_std::CustomQuery> {
1752 querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>,
1753}
1754impl<'a, Q: cosmwasm_std::CustomQuery> AmmQuerier<'a, Q> {
1755 pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self {
1756 Self { querier }
1757 }
1758 pub fn params(&self) -> Result<QueryParamsResponse, cosmwasm_std::StdError> {
1759 QueryParamsRequest {}.query(self.querier)
1760 }
1761 pub fn pool(
1762 &self,
1763 pool_id: u64,
1764 days: u64,
1765 ) -> Result<QueryGetPoolResponse, cosmwasm_std::StdError> {
1766 QueryGetPoolRequest { pool_id, days }.query(self.querier)
1767 }
1768 pub fn pool_all(
1769 &self,
1770 days: u64,
1771 pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1772 ) -> Result<QueryAllPoolResponse, cosmwasm_std::StdError> {
1773 QueryAllPoolRequest { days, pagination }.query(self.querier)
1774 }
1775 pub fn denom_liquidity(
1776 &self,
1777 denom: ::prost::alloc::string::String,
1778 ) -> Result<QueryGetDenomLiquidityResponse, cosmwasm_std::StdError> {
1779 QueryGetDenomLiquidityRequest { denom }.query(self.querier)
1780 }
1781 pub fn denom_liquidity_all(
1782 &self,
1783 pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1784 ) -> Result<QueryAllDenomLiquidityResponse, cosmwasm_std::StdError> {
1785 QueryAllDenomLiquidityRequest { pagination }.query(self.querier)
1786 }
1787 pub fn swap_estimation(
1788 &self,
1789 routes: ::prost::alloc::vec::Vec<SwapAmountInRoute>,
1790 token_in: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1791 discount: ::prost::alloc::string::String,
1792 ) -> Result<QuerySwapEstimationResponse, cosmwasm_std::StdError> {
1793 QuerySwapEstimationRequest {
1794 routes,
1795 token_in,
1796 discount,
1797 }
1798 .query(self.querier)
1799 }
1800 pub fn swap_estimation_exact_amount_out(
1801 &self,
1802 routes: ::prost::alloc::vec::Vec<SwapAmountOutRoute>,
1803 token_out: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1804 discount: ::prost::alloc::string::String,
1805 ) -> Result<QuerySwapEstimationExactAmountOutResponse, cosmwasm_std::StdError> {
1806 QuerySwapEstimationExactAmountOutRequest {
1807 routes,
1808 token_out,
1809 discount,
1810 }
1811 .query(self.querier)
1812 }
1813 pub fn join_pool_estimation(
1814 &self,
1815 pool_id: u64,
1816 amounts_in: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
1817 ) -> Result<QueryJoinPoolEstimationResponse, cosmwasm_std::StdError> {
1818 QueryJoinPoolEstimationRequest {
1819 pool_id,
1820 amounts_in,
1821 }
1822 .query(self.querier)
1823 }
1824 pub fn exit_pool_estimation(
1825 &self,
1826 pool_id: u64,
1827 share_amount_in: ::prost::alloc::string::String,
1828 token_out_denom: ::prost::alloc::string::String,
1829 ) -> Result<QueryExitPoolEstimationResponse, cosmwasm_std::StdError> {
1830 QueryExitPoolEstimationRequest {
1831 pool_id,
1832 share_amount_in,
1833 token_out_denom,
1834 }
1835 .query(self.querier)
1836 }
1837 pub fn slippage_track(
1838 &self,
1839 pool_id: u64,
1840 ) -> Result<QuerySlippageTrackResponse, cosmwasm_std::StdError> {
1841 QuerySlippageTrackRequest { pool_id }.query(self.querier)
1842 }
1843 pub fn slippage_track_all(
1844 &self,
1845 ) -> Result<QuerySlippageTrackAllResponse, cosmwasm_std::StdError> {
1846 QuerySlippageTrackAllRequest {}.query(self.querier)
1847 }
1848 pub fn balance(
1849 &self,
1850 address: ::prost::alloc::string::String,
1851 denom: ::prost::alloc::string::String,
1852 ) -> Result<QueryBalanceResponse, cosmwasm_std::StdError> {
1853 QueryBalanceRequest { address, denom }.query(self.querier)
1854 }
1855 pub fn in_route_by_denom(
1856 &self,
1857 denom_in: ::prost::alloc::string::String,
1858 denom_out: ::prost::alloc::string::String,
1859 ) -> Result<QueryInRouteByDenomResponse, cosmwasm_std::StdError> {
1860 QueryInRouteByDenomRequest {
1861 denom_in,
1862 denom_out,
1863 }
1864 .query(self.querier)
1865 }
1866 pub fn out_route_by_denom(
1867 &self,
1868 denom_out: ::prost::alloc::string::String,
1869 denom_in: ::prost::alloc::string::String,
1870 ) -> Result<QueryOutRouteByDenomResponse, cosmwasm_std::StdError> {
1871 QueryOutRouteByDenomRequest {
1872 denom_out,
1873 denom_in,
1874 }
1875 .query(self.querier)
1876 }
1877 pub fn swap_estimation_by_denom(
1878 &self,
1879 amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1880 denom_in: ::prost::alloc::string::String,
1881 denom_out: ::prost::alloc::string::String,
1882 address: ::prost::alloc::string::String,
1883 ) -> Result<QuerySwapEstimationByDenomResponse, cosmwasm_std::StdError> {
1884 QuerySwapEstimationByDenomRequest {
1885 amount,
1886 denom_in,
1887 denom_out,
1888 address,
1889 }
1890 .query(self.querier)
1891 }
1892 pub fn weight_and_slippage_fee(
1893 &self,
1894 pool_id: u64,
1895 date: ::prost::alloc::string::String,
1896 ) -> Result<QueryWeightAndSlippageFeeResponse, cosmwasm_std::StdError> {
1897 QueryWeightAndSlippageFeeRequest { pool_id, date }.query(self.querier)
1898 }
1899}