1use osmosis_std_derive::CosmwasmExt;
2#[allow(clippy::derive_partial_eq_without_eq)]
6#[derive(
7 Clone,
8 PartialEq,
9 Eq,
10 ::prost::Message,
11 ::serde::Serialize,
12 ::serde::Deserialize,
13 ::schemars::JsonSchema,
14 CosmwasmExt,
15)]
16#[proto_message(type_url = "/osmosis.incentives.Gauge")]
17pub struct Gauge {
18 #[prost(uint64, tag = "1")]
20 #[serde(alias = "ID")]
21 #[serde(
22 serialize_with = "crate::serde::as_str::serialize",
23 deserialize_with = "crate::serde::as_str::deserialize"
24 )]
25 pub id: u64,
26 #[prost(bool, tag = "2")]
32 pub is_perpetual: bool,
33 #[prost(message, optional, tag = "3")]
36 pub distribute_to: ::core::option::Option<super::lockup::QueryCondition>,
37 #[prost(message, repeated, tag = "4")]
40 pub coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
41 #[prost(message, optional, tag = "5")]
43 pub start_time: ::core::option::Option<crate::shim::Timestamp>,
44 #[prost(uint64, tag = "6")]
47 #[serde(
48 serialize_with = "crate::serde::as_str::serialize",
49 deserialize_with = "crate::serde::as_str::deserialize"
50 )]
51 pub num_epochs_paid_over: u64,
52 #[prost(uint64, tag = "7")]
55 #[serde(
56 serialize_with = "crate::serde::as_str::serialize",
57 deserialize_with = "crate::serde::as_str::deserialize"
58 )]
59 pub filled_epochs: u64,
60 #[prost(message, repeated, tag = "8")]
62 pub distributed_coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
63}
64#[allow(clippy::derive_partial_eq_without_eq)]
65#[derive(
66 Clone,
67 PartialEq,
68 Eq,
69 ::prost::Message,
70 ::serde::Serialize,
71 ::serde::Deserialize,
72 ::schemars::JsonSchema,
73 CosmwasmExt,
74)]
75#[proto_message(type_url = "/osmosis.incentives.LockableDurationsInfo")]
76pub struct LockableDurationsInfo {
77 #[prost(message, repeated, tag = "1")]
79 pub lockable_durations: ::prost::alloc::vec::Vec<crate::shim::Duration>,
80}
81#[allow(clippy::derive_partial_eq_without_eq)]
83#[derive(
84 Clone,
85 PartialEq,
86 Eq,
87 ::prost::Message,
88 ::serde::Serialize,
89 ::serde::Deserialize,
90 ::schemars::JsonSchema,
91 CosmwasmExt,
92)]
93#[proto_message(type_url = "/osmosis.incentives.Params")]
94pub struct Params {
95 #[prost(string, tag = "1")]
98 #[serde(alias = "distr_epochIDentifier")]
99 pub distr_epoch_identifier: ::prost::alloc::string::String,
100 #[prost(message, repeated, tag = "2")]
104 pub group_creation_fee: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
105 #[prost(string, repeated, tag = "3")]
114 pub unrestricted_creator_whitelist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
115 #[prost(message, optional, tag = "4")]
122 pub internal_uptime: ::core::option::Option<crate::shim::Duration>,
123 #[prost(message, optional, tag = "5")]
129 pub min_value_for_distribution:
130 ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
131}
132#[allow(clippy::derive_partial_eq_without_eq)]
139#[derive(
140 Clone,
141 PartialEq,
142 Eq,
143 ::prost::Message,
144 ::serde::Serialize,
145 ::serde::Deserialize,
146 ::schemars::JsonSchema,
147 CosmwasmExt,
148)]
149#[proto_message(type_url = "/osmosis.incentives.InternalGaugeInfo")]
150pub struct InternalGaugeInfo {
151 #[prost(string, tag = "1")]
152 pub total_weight: ::prost::alloc::string::String,
153 #[prost(message, repeated, tag = "2")]
154 pub gauge_records: ::prost::alloc::vec::Vec<InternalGaugeRecord>,
155}
156#[allow(clippy::derive_partial_eq_without_eq)]
157#[derive(
158 Clone,
159 PartialEq,
160 Eq,
161 ::prost::Message,
162 ::serde::Serialize,
163 ::serde::Deserialize,
164 ::schemars::JsonSchema,
165 CosmwasmExt,
166)]
167#[proto_message(type_url = "/osmosis.incentives.InternalGaugeRecord")]
168pub struct InternalGaugeRecord {
169 #[prost(uint64, tag = "1")]
170 #[serde(alias = "gaugeID")]
171 #[serde(
172 serialize_with = "crate::serde::as_str::serialize",
173 deserialize_with = "crate::serde::as_str::deserialize"
174 )]
175 pub gauge_id: u64,
176 #[prost(string, tag = "2")]
180 pub current_weight: ::prost::alloc::string::String,
181 #[prost(string, tag = "3")]
185 pub cumulative_weight: ::prost::alloc::string::String,
186}
187#[allow(clippy::derive_partial_eq_without_eq)]
192#[derive(
193 Clone,
194 PartialEq,
195 Eq,
196 ::prost::Message,
197 ::serde::Serialize,
198 ::serde::Deserialize,
199 ::schemars::JsonSchema,
200 CosmwasmExt,
201)]
202#[proto_message(type_url = "/osmosis.incentives.Group")]
203pub struct Group {
204 #[prost(uint64, tag = "1")]
205 #[serde(alias = "group_gaugeID")]
206 #[serde(
207 serialize_with = "crate::serde::as_str::serialize",
208 deserialize_with = "crate::serde::as_str::deserialize"
209 )]
210 pub group_gauge_id: u64,
211 #[prost(message, optional, tag = "2")]
212 pub internal_gauge_info: ::core::option::Option<InternalGaugeInfo>,
213 #[prost(enumeration = "SplittingPolicy", tag = "3")]
214 #[serde(
215 serialize_with = "crate::serde::as_str::serialize",
216 deserialize_with = "crate::serde::as_str::deserialize"
217 )]
218 pub splitting_policy: i32,
219}
220#[allow(clippy::derive_partial_eq_without_eq)]
223#[derive(
224 Clone,
225 PartialEq,
226 Eq,
227 ::prost::Message,
228 ::serde::Serialize,
229 ::serde::Deserialize,
230 ::schemars::JsonSchema,
231 CosmwasmExt,
232)]
233#[proto_message(type_url = "/osmosis.incentives.CreateGroup")]
234pub struct CreateGroup {
235 #[prost(uint64, repeated, tag = "1")]
236 #[serde(alias = "poolIDs")]
237 #[serde(
238 serialize_with = "crate::serde::as_str_vec::serialize",
239 deserialize_with = "crate::serde::as_str_vec::deserialize"
240 )]
241 pub pool_ids: ::prost::alloc::vec::Vec<u64>,
242}
243#[allow(clippy::derive_partial_eq_without_eq)]
246#[derive(
247 Clone,
248 PartialEq,
249 Eq,
250 ::prost::Message,
251 ::serde::Serialize,
252 ::serde::Deserialize,
253 ::schemars::JsonSchema,
254 CosmwasmExt,
255)]
256#[proto_message(type_url = "/osmosis.incentives.GroupsWithGauge")]
257pub struct GroupsWithGauge {
258 #[prost(message, optional, tag = "1")]
259 pub group: ::core::option::Option<Group>,
260 #[prost(message, optional, tag = "2")]
261 pub gauge: ::core::option::Option<Gauge>,
262}
263#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
265#[repr(i32)]
266#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
267pub enum SplittingPolicy {
268 ByVolume = 0,
269}
270impl SplittingPolicy {
271 pub fn as_str_name(&self) -> &'static str {
276 match self {
277 SplittingPolicy::ByVolume => "ByVolume",
278 }
279 }
280 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
282 match value {
283 "ByVolume" => Some(Self::ByVolume),
284 _ => None,
285 }
286 }
287}
288#[allow(clippy::derive_partial_eq_without_eq)]
291#[derive(
292 Clone,
293 PartialEq,
294 Eq,
295 ::prost::Message,
296 ::serde::Serialize,
297 ::serde::Deserialize,
298 ::schemars::JsonSchema,
299 CosmwasmExt,
300)]
301#[proto_message(type_url = "/osmosis.incentives.GenesisState")]
302pub struct GenesisState {
303 #[prost(message, optional, tag = "1")]
305 pub params: ::core::option::Option<Params>,
306 #[prost(message, repeated, tag = "2")]
309 pub gauges: ::prost::alloc::vec::Vec<Gauge>,
310 #[prost(message, repeated, tag = "3")]
313 pub lockable_durations: ::prost::alloc::vec::Vec<crate::shim::Duration>,
314 #[prost(uint64, tag = "4")]
317 #[serde(alias = "last_gaugeID")]
318 #[serde(
319 serialize_with = "crate::serde::as_str::serialize",
320 deserialize_with = "crate::serde::as_str::deserialize"
321 )]
322 pub last_gauge_id: u64,
323 #[prost(message, repeated, tag = "5")]
325 pub group_gauges: ::prost::alloc::vec::Vec<Gauge>,
326 #[prost(message, repeated, tag = "6")]
328 pub groups: ::prost::alloc::vec::Vec<Group>,
329}
330#[allow(clippy::derive_partial_eq_without_eq)]
334#[derive(
335 Clone,
336 PartialEq,
337 Eq,
338 ::prost::Message,
339 ::serde::Serialize,
340 ::serde::Deserialize,
341 ::schemars::JsonSchema,
342 CosmwasmExt,
343)]
344#[proto_message(type_url = "/osmosis.incentives.CreateGroupsProposal")]
345pub struct CreateGroupsProposal {
346 #[prost(string, tag = "1")]
347 pub title: ::prost::alloc::string::String,
348 #[prost(string, tag = "2")]
349 pub description: ::prost::alloc::string::String,
350 #[prost(message, repeated, tag = "3")]
351 pub create_groups: ::prost::alloc::vec::Vec<CreateGroup>,
352}
353#[allow(clippy::derive_partial_eq_without_eq)]
354#[derive(
355 Clone,
356 PartialEq,
357 Eq,
358 ::prost::Message,
359 ::serde::Serialize,
360 ::serde::Deserialize,
361 ::schemars::JsonSchema,
362 CosmwasmExt,
363)]
364#[proto_message(type_url = "/osmosis.incentives.ModuleToDistributeCoinsRequest")]
365#[proto_query(
366 path = "/osmosis.incentives.Query/ModuleToDistributeCoins",
367 response_type = ModuleToDistributeCoinsResponse
368)]
369pub struct ModuleToDistributeCoinsRequest {}
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 = "/osmosis.incentives.ModuleToDistributeCoinsResponse")]
382pub struct ModuleToDistributeCoinsResponse {
383 #[prost(message, repeated, tag = "1")]
385 pub coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
386}
387#[allow(clippy::derive_partial_eq_without_eq)]
388#[derive(
389 Clone,
390 PartialEq,
391 Eq,
392 ::prost::Message,
393 ::serde::Serialize,
394 ::serde::Deserialize,
395 ::schemars::JsonSchema,
396 CosmwasmExt,
397)]
398#[proto_message(type_url = "/osmosis.incentives.GaugeByIDRequest")]
399#[proto_query(
400 path = "/osmosis.incentives.Query/GaugeByID",
401 response_type = GaugeByIdResponse
402)]
403pub struct GaugeByIdRequest {
404 #[prost(uint64, tag = "1")]
406 #[serde(alias = "ID")]
407 #[serde(
408 serialize_with = "crate::serde::as_str::serialize",
409 deserialize_with = "crate::serde::as_str::deserialize"
410 )]
411 pub id: u64,
412}
413#[allow(clippy::derive_partial_eq_without_eq)]
414#[derive(
415 Clone,
416 PartialEq,
417 Eq,
418 ::prost::Message,
419 ::serde::Serialize,
420 ::serde::Deserialize,
421 ::schemars::JsonSchema,
422 CosmwasmExt,
423)]
424#[proto_message(type_url = "/osmosis.incentives.GaugeByIDResponse")]
425pub struct GaugeByIdResponse {
426 #[prost(message, optional, tag = "1")]
428 pub gauge: ::core::option::Option<Gauge>,
429}
430#[allow(clippy::derive_partial_eq_without_eq)]
431#[derive(
432 Clone,
433 PartialEq,
434 Eq,
435 ::prost::Message,
436 ::serde::Serialize,
437 ::serde::Deserialize,
438 ::schemars::JsonSchema,
439 CosmwasmExt,
440)]
441#[proto_message(type_url = "/osmosis.incentives.GaugesRequest")]
442#[proto_query(path = "/osmosis.incentives.Query/Gauges", response_type = GaugesResponse)]
443pub struct GaugesRequest {
444 #[prost(message, optional, tag = "1")]
446 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
447}
448#[allow(clippy::derive_partial_eq_without_eq)]
449#[derive(
450 Clone,
451 PartialEq,
452 Eq,
453 ::prost::Message,
454 ::serde::Serialize,
455 ::serde::Deserialize,
456 ::schemars::JsonSchema,
457 CosmwasmExt,
458)]
459#[proto_message(type_url = "/osmosis.incentives.GaugesResponse")]
460pub struct GaugesResponse {
461 #[prost(message, repeated, tag = "1")]
463 pub data: ::prost::alloc::vec::Vec<Gauge>,
464 #[prost(message, optional, tag = "2")]
466 pub pagination:
467 ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
468}
469#[allow(clippy::derive_partial_eq_without_eq)]
470#[derive(
471 Clone,
472 PartialEq,
473 Eq,
474 ::prost::Message,
475 ::serde::Serialize,
476 ::serde::Deserialize,
477 ::schemars::JsonSchema,
478 CosmwasmExt,
479)]
480#[proto_message(type_url = "/osmosis.incentives.ActiveGaugesRequest")]
481#[proto_query(
482 path = "/osmosis.incentives.Query/ActiveGauges",
483 response_type = ActiveGaugesResponse
484)]
485pub struct ActiveGaugesRequest {
486 #[prost(message, optional, tag = "1")]
488 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
489}
490#[allow(clippy::derive_partial_eq_without_eq)]
491#[derive(
492 Clone,
493 PartialEq,
494 Eq,
495 ::prost::Message,
496 ::serde::Serialize,
497 ::serde::Deserialize,
498 ::schemars::JsonSchema,
499 CosmwasmExt,
500)]
501#[proto_message(type_url = "/osmosis.incentives.ActiveGaugesResponse")]
502pub struct ActiveGaugesResponse {
503 #[prost(message, repeated, tag = "1")]
505 pub data: ::prost::alloc::vec::Vec<Gauge>,
506 #[prost(message, optional, tag = "2")]
508 pub pagination:
509 ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
510}
511#[allow(clippy::derive_partial_eq_without_eq)]
512#[derive(
513 Clone,
514 PartialEq,
515 Eq,
516 ::prost::Message,
517 ::serde::Serialize,
518 ::serde::Deserialize,
519 ::schemars::JsonSchema,
520 CosmwasmExt,
521)]
522#[proto_message(type_url = "/osmosis.incentives.ActiveGaugesPerDenomRequest")]
523#[proto_query(
524 path = "/osmosis.incentives.Query/ActiveGaugesPerDenom",
525 response_type = ActiveGaugesPerDenomResponse
526)]
527pub struct ActiveGaugesPerDenomRequest {
528 #[prost(string, tag = "1")]
530 pub denom: ::prost::alloc::string::String,
531 #[prost(message, optional, tag = "2")]
533 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
534}
535#[allow(clippy::derive_partial_eq_without_eq)]
536#[derive(
537 Clone,
538 PartialEq,
539 Eq,
540 ::prost::Message,
541 ::serde::Serialize,
542 ::serde::Deserialize,
543 ::schemars::JsonSchema,
544 CosmwasmExt,
545)]
546#[proto_message(type_url = "/osmosis.incentives.ActiveGaugesPerDenomResponse")]
547pub struct ActiveGaugesPerDenomResponse {
548 #[prost(message, repeated, tag = "1")]
550 pub data: ::prost::alloc::vec::Vec<Gauge>,
551 #[prost(message, optional, tag = "2")]
553 pub pagination:
554 ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
555}
556#[allow(clippy::derive_partial_eq_without_eq)]
557#[derive(
558 Clone,
559 PartialEq,
560 Eq,
561 ::prost::Message,
562 ::serde::Serialize,
563 ::serde::Deserialize,
564 ::schemars::JsonSchema,
565 CosmwasmExt,
566)]
567#[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesRequest")]
568#[proto_query(
569 path = "/osmosis.incentives.Query/UpcomingGauges",
570 response_type = UpcomingGaugesResponse
571)]
572pub struct UpcomingGaugesRequest {
573 #[prost(message, optional, tag = "1")]
575 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
576}
577#[allow(clippy::derive_partial_eq_without_eq)]
578#[derive(
579 Clone,
580 PartialEq,
581 Eq,
582 ::prost::Message,
583 ::serde::Serialize,
584 ::serde::Deserialize,
585 ::schemars::JsonSchema,
586 CosmwasmExt,
587)]
588#[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesResponse")]
589pub struct UpcomingGaugesResponse {
590 #[prost(message, repeated, tag = "1")]
592 pub data: ::prost::alloc::vec::Vec<Gauge>,
593 #[prost(message, optional, tag = "2")]
595 pub pagination:
596 ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
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 = "/osmosis.incentives.UpcomingGaugesPerDenomRequest")]
610#[proto_query(
611 path = "/osmosis.incentives.Query/UpcomingGaugesPerDenom",
612 response_type = UpcomingGaugesPerDenomResponse
613)]
614pub struct UpcomingGaugesPerDenomRequest {
615 #[prost(string, tag = "1")]
617 pub denom: ::prost::alloc::string::String,
618 #[prost(message, optional, tag = "2")]
620 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
621}
622#[allow(clippy::derive_partial_eq_without_eq)]
623#[derive(
624 Clone,
625 PartialEq,
626 Eq,
627 ::prost::Message,
628 ::serde::Serialize,
629 ::serde::Deserialize,
630 ::schemars::JsonSchema,
631 CosmwasmExt,
632)]
633#[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesPerDenomResponse")]
634pub struct UpcomingGaugesPerDenomResponse {
635 #[prost(message, repeated, tag = "1")]
637 pub upcoming_gauges: ::prost::alloc::vec::Vec<Gauge>,
638 #[prost(message, optional, tag = "2")]
640 pub pagination:
641 ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
642}
643#[allow(clippy::derive_partial_eq_without_eq)]
644#[derive(
645 Clone,
646 PartialEq,
647 Eq,
648 ::prost::Message,
649 ::serde::Serialize,
650 ::serde::Deserialize,
651 ::schemars::JsonSchema,
652 CosmwasmExt,
653)]
654#[proto_message(type_url = "/osmosis.incentives.RewardsEstRequest")]
655#[proto_query(
656 path = "/osmosis.incentives.Query/RewardsEst",
657 response_type = RewardsEstResponse
658)]
659pub struct RewardsEstRequest {
660 #[prost(string, tag = "1")]
662 pub owner: ::prost::alloc::string::String,
663 #[prost(uint64, repeated, tag = "2")]
665 #[serde(alias = "lockIDs")]
666 #[serde(
667 serialize_with = "crate::serde::as_str_vec::serialize",
668 deserialize_with = "crate::serde::as_str_vec::deserialize"
669 )]
670 pub lock_ids: ::prost::alloc::vec::Vec<u64>,
671 #[prost(int64, tag = "3")]
674 #[serde(
675 serialize_with = "crate::serde::as_str::serialize",
676 deserialize_with = "crate::serde::as_str::deserialize"
677 )]
678 pub end_epoch: i64,
679}
680#[allow(clippy::derive_partial_eq_without_eq)]
681#[derive(
682 Clone,
683 PartialEq,
684 Eq,
685 ::prost::Message,
686 ::serde::Serialize,
687 ::serde::Deserialize,
688 ::schemars::JsonSchema,
689 CosmwasmExt,
690)]
691#[proto_message(type_url = "/osmosis.incentives.RewardsEstResponse")]
692pub struct RewardsEstResponse {
693 #[prost(message, repeated, tag = "1")]
696 pub coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
697}
698#[allow(clippy::derive_partial_eq_without_eq)]
699#[derive(
700 Clone,
701 PartialEq,
702 Eq,
703 ::prost::Message,
704 ::serde::Serialize,
705 ::serde::Deserialize,
706 ::schemars::JsonSchema,
707 CosmwasmExt,
708)]
709#[proto_message(type_url = "/osmosis.incentives.QueryLockableDurationsRequest")]
710#[proto_query(
711 path = "/osmosis.incentives.Query/LockableDurations",
712 response_type = QueryLockableDurationsResponse
713)]
714pub struct QueryLockableDurationsRequest {}
715#[allow(clippy::derive_partial_eq_without_eq)]
716#[derive(
717 Clone,
718 PartialEq,
719 Eq,
720 ::prost::Message,
721 ::serde::Serialize,
722 ::serde::Deserialize,
723 ::schemars::JsonSchema,
724 CosmwasmExt,
725)]
726#[proto_message(type_url = "/osmosis.incentives.QueryLockableDurationsResponse")]
727pub struct QueryLockableDurationsResponse {
728 #[prost(message, repeated, tag = "1")]
730 pub lockable_durations: ::prost::alloc::vec::Vec<crate::shim::Duration>,
731}
732#[allow(clippy::derive_partial_eq_without_eq)]
733#[derive(
734 Clone,
735 PartialEq,
736 Eq,
737 ::prost::Message,
738 ::serde::Serialize,
739 ::serde::Deserialize,
740 ::schemars::JsonSchema,
741 CosmwasmExt,
742)]
743#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsRequest")]
744#[proto_query(
745 path = "/osmosis.incentives.Query/AllGroups",
746 response_type = QueryAllGroupsResponse
747)]
748pub struct QueryAllGroupsRequest {}
749#[allow(clippy::derive_partial_eq_without_eq)]
750#[derive(
751 Clone,
752 PartialEq,
753 Eq,
754 ::prost::Message,
755 ::serde::Serialize,
756 ::serde::Deserialize,
757 ::schemars::JsonSchema,
758 CosmwasmExt,
759)]
760#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsResponse")]
761pub struct QueryAllGroupsResponse {
762 #[prost(message, repeated, tag = "1")]
763 pub groups: ::prost::alloc::vec::Vec<Group>,
764}
765#[allow(clippy::derive_partial_eq_without_eq)]
766#[derive(
767 Clone,
768 PartialEq,
769 Eq,
770 ::prost::Message,
771 ::serde::Serialize,
772 ::serde::Deserialize,
773 ::schemars::JsonSchema,
774 CosmwasmExt,
775)]
776#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsGaugesRequest")]
777#[proto_query(
778 path = "/osmosis.incentives.Query/AllGroupsGauges",
779 response_type = QueryAllGroupsGaugesResponse
780)]
781pub struct QueryAllGroupsGaugesRequest {}
782#[allow(clippy::derive_partial_eq_without_eq)]
783#[derive(
784 Clone,
785 PartialEq,
786 Eq,
787 ::prost::Message,
788 ::serde::Serialize,
789 ::serde::Deserialize,
790 ::schemars::JsonSchema,
791 CosmwasmExt,
792)]
793#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsGaugesResponse")]
794pub struct QueryAllGroupsGaugesResponse {
795 #[prost(message, repeated, tag = "1")]
796 pub gauges: ::prost::alloc::vec::Vec<Gauge>,
797}
798#[allow(clippy::derive_partial_eq_without_eq)]
799#[derive(
800 Clone,
801 PartialEq,
802 Eq,
803 ::prost::Message,
804 ::serde::Serialize,
805 ::serde::Deserialize,
806 ::schemars::JsonSchema,
807 CosmwasmExt,
808)]
809#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsWithGaugeRequest")]
810#[proto_query(
811 path = "/osmosis.incentives.Query/AllGroupsWithGauge",
812 response_type = QueryAllGroupsWithGaugeResponse
813)]
814pub struct QueryAllGroupsWithGaugeRequest {}
815#[allow(clippy::derive_partial_eq_without_eq)]
816#[derive(
817 Clone,
818 PartialEq,
819 Eq,
820 ::prost::Message,
821 ::serde::Serialize,
822 ::serde::Deserialize,
823 ::schemars::JsonSchema,
824 CosmwasmExt,
825)]
826#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsWithGaugeResponse")]
827pub struct QueryAllGroupsWithGaugeResponse {
828 #[prost(message, repeated, tag = "1")]
829 pub groups_with_gauge: ::prost::alloc::vec::Vec<GroupsWithGauge>,
830}
831#[allow(clippy::derive_partial_eq_without_eq)]
832#[derive(
833 Clone,
834 PartialEq,
835 Eq,
836 ::prost::Message,
837 ::serde::Serialize,
838 ::serde::Deserialize,
839 ::schemars::JsonSchema,
840 CosmwasmExt,
841)]
842#[proto_message(type_url = "/osmosis.incentives.QueryGroupByGroupGaugeIDRequest")]
843#[proto_query(
844 path = "/osmosis.incentives.Query/GroupByGroupGaugeID",
845 response_type = QueryGroupByGroupGaugeIdResponse
846)]
847pub struct QueryGroupByGroupGaugeIdRequest {
848 #[prost(uint64, tag = "1")]
849 #[serde(alias = "ID")]
850 #[serde(
851 serialize_with = "crate::serde::as_str::serialize",
852 deserialize_with = "crate::serde::as_str::deserialize"
853 )]
854 pub id: u64,
855}
856#[allow(clippy::derive_partial_eq_without_eq)]
857#[derive(
858 Clone,
859 PartialEq,
860 Eq,
861 ::prost::Message,
862 ::serde::Serialize,
863 ::serde::Deserialize,
864 ::schemars::JsonSchema,
865 CosmwasmExt,
866)]
867#[proto_message(type_url = "/osmosis.incentives.QueryGroupByGroupGaugeIDResponse")]
868pub struct QueryGroupByGroupGaugeIdResponse {
869 #[prost(message, optional, tag = "1")]
870 pub group: ::core::option::Option<Group>,
871}
872#[allow(clippy::derive_partial_eq_without_eq)]
873#[derive(
874 Clone,
875 PartialEq,
876 Eq,
877 ::prost::Message,
878 ::serde::Serialize,
879 ::serde::Deserialize,
880 ::schemars::JsonSchema,
881 CosmwasmExt,
882)]
883#[proto_message(type_url = "/osmosis.incentives.QueryCurrentWeightByGroupGaugeIDRequest")]
884#[proto_query(
885 path = "/osmosis.incentives.Query/CurrentWeightByGroupGaugeID",
886 response_type = QueryCurrentWeightByGroupGaugeIdResponse
887)]
888pub struct QueryCurrentWeightByGroupGaugeIdRequest {
889 #[prost(uint64, tag = "1")]
890 #[serde(alias = "group_gaugeID")]
891 #[serde(
892 serialize_with = "crate::serde::as_str::serialize",
893 deserialize_with = "crate::serde::as_str::deserialize"
894 )]
895 pub group_gauge_id: u64,
896}
897#[allow(clippy::derive_partial_eq_without_eq)]
898#[derive(
899 Clone,
900 PartialEq,
901 Eq,
902 ::prost::Message,
903 ::serde::Serialize,
904 ::serde::Deserialize,
905 ::schemars::JsonSchema,
906 CosmwasmExt,
907)]
908#[proto_message(type_url = "/osmosis.incentives.QueryCurrentWeightByGroupGaugeIDResponse")]
909pub struct QueryCurrentWeightByGroupGaugeIdResponse {
910 #[prost(message, repeated, tag = "1")]
911 pub gauge_weight: ::prost::alloc::vec::Vec<GaugeWeight>,
912}
913#[allow(clippy::derive_partial_eq_without_eq)]
914#[derive(
915 Clone,
916 PartialEq,
917 Eq,
918 ::prost::Message,
919 ::serde::Serialize,
920 ::serde::Deserialize,
921 ::schemars::JsonSchema,
922 CosmwasmExt,
923)]
924#[proto_message(type_url = "/osmosis.incentives.GaugeWeight")]
925pub struct GaugeWeight {
926 #[prost(uint64, tag = "1")]
927 #[serde(alias = "gaugeID")]
928 #[serde(
929 serialize_with = "crate::serde::as_str::serialize",
930 deserialize_with = "crate::serde::as_str::deserialize"
931 )]
932 pub gauge_id: u64,
933 #[prost(string, tag = "2")]
934 pub weight_ratio: ::prost::alloc::string::String,
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 = "/osmosis.incentives.QueryInternalGaugesRequest")]
948#[proto_query(
949 path = "/osmosis.incentives.Query/InternalGauges",
950 response_type = QueryInternalGaugesResponse
951)]
952pub struct QueryInternalGaugesRequest {
953 #[prost(message, optional, tag = "1")]
955 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
956}
957#[allow(clippy::derive_partial_eq_without_eq)]
958#[derive(
959 Clone,
960 PartialEq,
961 Eq,
962 ::prost::Message,
963 ::serde::Serialize,
964 ::serde::Deserialize,
965 ::schemars::JsonSchema,
966 CosmwasmExt,
967)]
968#[proto_message(type_url = "/osmosis.incentives.QueryInternalGaugesResponse")]
969pub struct QueryInternalGaugesResponse {
970 #[prost(message, repeated, tag = "1")]
971 pub gauges: ::prost::alloc::vec::Vec<Gauge>,
972 #[prost(message, optional, tag = "2")]
974 pub pagination:
975 ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
976}
977#[allow(clippy::derive_partial_eq_without_eq)]
978#[derive(
979 Clone,
980 PartialEq,
981 Eq,
982 ::prost::Message,
983 ::serde::Serialize,
984 ::serde::Deserialize,
985 ::schemars::JsonSchema,
986 CosmwasmExt,
987)]
988#[proto_message(type_url = "/osmosis.incentives.QueryExternalGaugesRequest")]
989#[proto_query(
990 path = "/osmosis.incentives.Query/ExternalGauges",
991 response_type = QueryExternalGaugesResponse
992)]
993pub struct QueryExternalGaugesRequest {
994 #[prost(message, optional, tag = "1")]
996 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
997}
998#[allow(clippy::derive_partial_eq_without_eq)]
999#[derive(
1000 Clone,
1001 PartialEq,
1002 Eq,
1003 ::prost::Message,
1004 ::serde::Serialize,
1005 ::serde::Deserialize,
1006 ::schemars::JsonSchema,
1007 CosmwasmExt,
1008)]
1009#[proto_message(type_url = "/osmosis.incentives.QueryExternalGaugesResponse")]
1010pub struct QueryExternalGaugesResponse {
1011 #[prost(message, repeated, tag = "1")]
1012 pub gauges: ::prost::alloc::vec::Vec<Gauge>,
1013 #[prost(message, optional, tag = "2")]
1015 pub pagination:
1016 ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
1017}
1018#[allow(clippy::derive_partial_eq_without_eq)]
1019#[derive(
1020 Clone,
1021 PartialEq,
1022 Eq,
1023 ::prost::Message,
1024 ::serde::Serialize,
1025 ::serde::Deserialize,
1026 ::schemars::JsonSchema,
1027 CosmwasmExt,
1028)]
1029#[proto_message(type_url = "/osmosis.incentives.QueryGaugesByPoolIDRequest")]
1030#[proto_query(
1031 path = "/osmosis.incentives.Query/GaugesByPoolID",
1032 response_type = QueryGaugesByPoolIdResponse
1033)]
1034pub struct QueryGaugesByPoolIdRequest {
1035 #[prost(uint64, tag = "1")]
1036 #[serde(alias = "ID")]
1037 #[serde(
1038 serialize_with = "crate::serde::as_str::serialize",
1039 deserialize_with = "crate::serde::as_str::deserialize"
1040 )]
1041 pub id: u64,
1042 #[prost(message, optional, tag = "2")]
1044 pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1045}
1046#[allow(clippy::derive_partial_eq_without_eq)]
1047#[derive(
1048 Clone,
1049 PartialEq,
1050 Eq,
1051 ::prost::Message,
1052 ::serde::Serialize,
1053 ::serde::Deserialize,
1054 ::schemars::JsonSchema,
1055 CosmwasmExt,
1056)]
1057#[proto_message(type_url = "/osmosis.incentives.QueryGaugesByPoolIDResponse")]
1058pub struct QueryGaugesByPoolIdResponse {
1059 #[prost(message, repeated, tag = "1")]
1060 pub gauges: ::prost::alloc::vec::Vec<Gauge>,
1061 #[prost(message, optional, tag = "2")]
1063 pub pagination:
1064 ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
1065}
1066#[allow(clippy::derive_partial_eq_without_eq)]
1067#[derive(
1068 Clone,
1069 PartialEq,
1070 Eq,
1071 ::prost::Message,
1072 ::serde::Serialize,
1073 ::serde::Deserialize,
1074 ::schemars::JsonSchema,
1075 CosmwasmExt,
1076)]
1077#[proto_message(type_url = "/osmosis.incentives.ParamsRequest")]
1078#[proto_query(path = "/osmosis.incentives.Query/Params", response_type = ParamsResponse)]
1079pub struct ParamsRequest {}
1080#[allow(clippy::derive_partial_eq_without_eq)]
1081#[derive(
1082 Clone,
1083 PartialEq,
1084 Eq,
1085 ::prost::Message,
1086 ::serde::Serialize,
1087 ::serde::Deserialize,
1088 ::schemars::JsonSchema,
1089 CosmwasmExt,
1090)]
1091#[proto_message(type_url = "/osmosis.incentives.ParamsResponse")]
1092pub struct ParamsResponse {
1093 #[prost(message, optional, tag = "1")]
1094 pub params: ::core::option::Option<Params>,
1095}
1096#[allow(clippy::derive_partial_eq_without_eq)]
1098#[derive(
1099 Clone,
1100 PartialEq,
1101 Eq,
1102 ::prost::Message,
1103 ::serde::Serialize,
1104 ::serde::Deserialize,
1105 ::schemars::JsonSchema,
1106 CosmwasmExt,
1107)]
1108#[proto_message(type_url = "/osmosis.incentives.MsgCreateGauge")]
1109pub struct MsgCreateGauge {
1110 #[prost(bool, tag = "1")]
1116 pub is_perpetual: bool,
1117 #[prost(string, tag = "2")]
1119 pub owner: ::prost::alloc::string::String,
1120 #[prost(message, optional, tag = "3")]
1123 pub distribute_to: ::core::option::Option<super::lockup::QueryCondition>,
1124 #[prost(message, repeated, tag = "4")]
1126 pub coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
1127 #[prost(message, optional, tag = "5")]
1129 pub start_time: ::core::option::Option<crate::shim::Timestamp>,
1130 #[prost(uint64, tag = "6")]
1133 #[serde(
1134 serialize_with = "crate::serde::as_str::serialize",
1135 deserialize_with = "crate::serde::as_str::deserialize"
1136 )]
1137 pub num_epochs_paid_over: u64,
1138 #[prost(uint64, tag = "7")]
1146 #[serde(alias = "poolID")]
1147 #[serde(
1148 serialize_with = "crate::serde::as_str::serialize",
1149 deserialize_with = "crate::serde::as_str::deserialize"
1150 )]
1151 pub pool_id: u64,
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 = "/osmosis.incentives.MsgCreateGaugeResponse")]
1165pub struct MsgCreateGaugeResponse {}
1166#[allow(clippy::derive_partial_eq_without_eq)]
1168#[derive(
1169 Clone,
1170 PartialEq,
1171 Eq,
1172 ::prost::Message,
1173 ::serde::Serialize,
1174 ::serde::Deserialize,
1175 ::schemars::JsonSchema,
1176 CosmwasmExt,
1177)]
1178#[proto_message(type_url = "/osmosis.incentives.MsgAddToGauge")]
1179pub struct MsgAddToGauge {
1180 #[prost(string, tag = "1")]
1182 pub owner: ::prost::alloc::string::String,
1183 #[prost(uint64, tag = "2")]
1185 #[serde(alias = "gaugeID")]
1186 #[serde(
1187 serialize_with = "crate::serde::as_str::serialize",
1188 deserialize_with = "crate::serde::as_str::deserialize"
1189 )]
1190 pub gauge_id: u64,
1191 #[prost(message, repeated, tag = "3")]
1193 pub rewards: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
1194}
1195#[allow(clippy::derive_partial_eq_without_eq)]
1196#[derive(
1197 Clone,
1198 PartialEq,
1199 Eq,
1200 ::prost::Message,
1201 ::serde::Serialize,
1202 ::serde::Deserialize,
1203 ::schemars::JsonSchema,
1204 CosmwasmExt,
1205)]
1206#[proto_message(type_url = "/osmosis.incentives.MsgAddToGaugeResponse")]
1207pub struct MsgAddToGaugeResponse {}
1208#[allow(clippy::derive_partial_eq_without_eq)]
1210#[derive(
1211 Clone,
1212 PartialEq,
1213 Eq,
1214 ::prost::Message,
1215 ::serde::Serialize,
1216 ::serde::Deserialize,
1217 ::schemars::JsonSchema,
1218 CosmwasmExt,
1219)]
1220#[proto_message(type_url = "/osmosis.incentives.MsgCreateGroup")]
1221pub struct MsgCreateGroup {
1222 #[prost(message, repeated, tag = "1")]
1224 pub coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
1225 #[prost(uint64, tag = "2")]
1228 #[serde(
1229 serialize_with = "crate::serde::as_str::serialize",
1230 deserialize_with = "crate::serde::as_str::deserialize"
1231 )]
1232 pub num_epochs_paid_over: u64,
1233 #[prost(string, tag = "3")]
1235 pub owner: ::prost::alloc::string::String,
1236 #[prost(uint64, repeated, tag = "4")]
1238 #[serde(alias = "poolIDs")]
1239 #[serde(
1240 serialize_with = "crate::serde::as_str_vec::serialize",
1241 deserialize_with = "crate::serde::as_str_vec::deserialize"
1242 )]
1243 pub pool_ids: ::prost::alloc::vec::Vec<u64>,
1244}
1245#[allow(clippy::derive_partial_eq_without_eq)]
1246#[derive(
1247 Clone,
1248 PartialEq,
1249 Eq,
1250 ::prost::Message,
1251 ::serde::Serialize,
1252 ::serde::Deserialize,
1253 ::schemars::JsonSchema,
1254 CosmwasmExt,
1255)]
1256#[proto_message(type_url = "/osmosis.incentives.MsgCreateGroupResponse")]
1257pub struct MsgCreateGroupResponse {
1258 #[prost(uint64, tag = "1")]
1260 #[serde(alias = "groupID")]
1261 #[serde(
1262 serialize_with = "crate::serde::as_str::serialize",
1263 deserialize_with = "crate::serde::as_str::deserialize"
1264 )]
1265 pub group_id: u64,
1266}
1267pub struct IncentivesQuerier<'a, Q: cosmwasm_std::CustomQuery> {
1268 querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>,
1269}
1270impl<'a, Q: cosmwasm_std::CustomQuery> IncentivesQuerier<'a, Q> {
1271 pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self {
1272 Self { querier }
1273 }
1274 pub fn module_to_distribute_coins(
1275 &self,
1276 ) -> Result<ModuleToDistributeCoinsResponse, cosmwasm_std::StdError> {
1277 ModuleToDistributeCoinsRequest {}.query(self.querier)
1278 }
1279 pub fn gauge_by_id(&self, id: u64) -> Result<GaugeByIdResponse, cosmwasm_std::StdError> {
1280 GaugeByIdRequest { id }.query(self.querier)
1281 }
1282 pub fn gauges(
1283 &self,
1284 pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1285 ) -> Result<GaugesResponse, cosmwasm_std::StdError> {
1286 GaugesRequest { pagination }.query(self.querier)
1287 }
1288 pub fn active_gauges(
1289 &self,
1290 pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1291 ) -> Result<ActiveGaugesResponse, cosmwasm_std::StdError> {
1292 ActiveGaugesRequest { pagination }.query(self.querier)
1293 }
1294 pub fn active_gauges_per_denom(
1295 &self,
1296 denom: ::prost::alloc::string::String,
1297 pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1298 ) -> Result<ActiveGaugesPerDenomResponse, cosmwasm_std::StdError> {
1299 ActiveGaugesPerDenomRequest { denom, pagination }.query(self.querier)
1300 }
1301 pub fn upcoming_gauges(
1302 &self,
1303 pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1304 ) -> Result<UpcomingGaugesResponse, cosmwasm_std::StdError> {
1305 UpcomingGaugesRequest { pagination }.query(self.querier)
1306 }
1307 pub fn upcoming_gauges_per_denom(
1308 &self,
1309 denom: ::prost::alloc::string::String,
1310 pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1311 ) -> Result<UpcomingGaugesPerDenomResponse, cosmwasm_std::StdError> {
1312 UpcomingGaugesPerDenomRequest { denom, pagination }.query(self.querier)
1313 }
1314 pub fn rewards_est(
1315 &self,
1316 owner: ::prost::alloc::string::String,
1317 lock_ids: ::prost::alloc::vec::Vec<u64>,
1318 end_epoch: i64,
1319 ) -> Result<RewardsEstResponse, cosmwasm_std::StdError> {
1320 RewardsEstRequest {
1321 owner,
1322 lock_ids,
1323 end_epoch,
1324 }
1325 .query(self.querier)
1326 }
1327 pub fn lockable_durations(
1328 &self,
1329 ) -> Result<QueryLockableDurationsResponse, cosmwasm_std::StdError> {
1330 QueryLockableDurationsRequest {}.query(self.querier)
1331 }
1332 pub fn all_groups(&self) -> Result<QueryAllGroupsResponse, cosmwasm_std::StdError> {
1333 QueryAllGroupsRequest {}.query(self.querier)
1334 }
1335 pub fn all_groups_gauges(
1336 &self,
1337 ) -> Result<QueryAllGroupsGaugesResponse, cosmwasm_std::StdError> {
1338 QueryAllGroupsGaugesRequest {}.query(self.querier)
1339 }
1340 pub fn all_groups_with_gauge(
1341 &self,
1342 ) -> Result<QueryAllGroupsWithGaugeResponse, cosmwasm_std::StdError> {
1343 QueryAllGroupsWithGaugeRequest {}.query(self.querier)
1344 }
1345 pub fn group_by_group_gauge_id(
1346 &self,
1347 id: u64,
1348 ) -> Result<QueryGroupByGroupGaugeIdResponse, cosmwasm_std::StdError> {
1349 QueryGroupByGroupGaugeIdRequest { id }.query(self.querier)
1350 }
1351 pub fn current_weight_by_group_gauge_id(
1352 &self,
1353 group_gauge_id: u64,
1354 ) -> Result<QueryCurrentWeightByGroupGaugeIdResponse, cosmwasm_std::StdError> {
1355 QueryCurrentWeightByGroupGaugeIdRequest { group_gauge_id }.query(self.querier)
1356 }
1357 pub fn internal_gauges(
1358 &self,
1359 pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1360 ) -> Result<QueryInternalGaugesResponse, cosmwasm_std::StdError> {
1361 QueryInternalGaugesRequest { pagination }.query(self.querier)
1362 }
1363 pub fn external_gauges(
1364 &self,
1365 pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1366 ) -> Result<QueryExternalGaugesResponse, cosmwasm_std::StdError> {
1367 QueryExternalGaugesRequest { pagination }.query(self.querier)
1368 }
1369 pub fn gauges_by_pool_id(
1370 &self,
1371 id: u64,
1372 pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1373 ) -> Result<QueryGaugesByPoolIdResponse, cosmwasm_std::StdError> {
1374 QueryGaugesByPoolIdRequest { id, pagination }.query(self.querier)
1375 }
1376 pub fn params(&self) -> Result<ParamsResponse, cosmwasm_std::StdError> {
1377 ParamsRequest {}.query(self.querier)
1378 }
1379}