use osmosis_std_derive::CosmwasmExt;
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.Gauge")]
pub struct Gauge {
#[prost(uint64, tag = "1")]
#[serde(alias = "ID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub id: u64,
#[prost(bool, tag = "2")]
pub is_perpetual: bool,
#[prost(message, optional, tag = "3")]
pub distribute_to: ::core::option::Option<super::lockup::QueryCondition>,
#[prost(message, repeated, tag = "4")]
pub coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
#[prost(message, optional, tag = "5")]
pub start_time: ::core::option::Option<crate::shim::Timestamp>,
#[prost(uint64, tag = "6")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub num_epochs_paid_over: u64,
#[prost(uint64, tag = "7")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub filled_epochs: u64,
#[prost(message, repeated, tag = "8")]
pub distributed_coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.LockableDurationsInfo")]
pub struct LockableDurationsInfo {
#[prost(message, repeated, tag = "1")]
pub lockable_durations: ::prost::alloc::vec::Vec<crate::shim::Duration>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.Params")]
pub struct Params {
#[prost(string, tag = "1")]
#[serde(alias = "distr_epochIDentifier")]
pub distr_epoch_identifier: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub group_creation_fee: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
#[prost(string, repeated, tag = "3")]
pub unrestricted_creator_whitelist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.InternalGaugeInfo")]
pub struct InternalGaugeInfo {
#[prost(string, tag = "1")]
pub total_weight: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub gauge_records: ::prost::alloc::vec::Vec<InternalGaugeRecord>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.InternalGaugeRecord")]
pub struct InternalGaugeRecord {
#[prost(uint64, tag = "1")]
#[serde(alias = "gaugeID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub gauge_id: u64,
#[prost(string, tag = "2")]
pub current_weight: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub cumulative_weight: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.Group")]
pub struct Group {
#[prost(uint64, tag = "1")]
#[serde(alias = "group_gaugeID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub group_gauge_id: u64,
#[prost(message, optional, tag = "2")]
pub internal_gauge_info: ::core::option::Option<InternalGaugeInfo>,
#[prost(enumeration = "SplittingPolicy", tag = "3")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub splitting_policy: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.CreateGroup")]
pub struct CreateGroup {
#[prost(uint64, repeated, tag = "1")]
#[serde(alias = "poolIDs")]
#[serde(
serialize_with = "crate::serde::as_str_vec::serialize",
deserialize_with = "crate::serde::as_str_vec::deserialize"
)]
pub pool_ids: ::prost::alloc::vec::Vec<u64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.GroupsWithGauge")]
pub struct GroupsWithGauge {
#[prost(message, optional, tag = "1")]
pub group: ::core::option::Option<Group>,
#[prost(message, optional, tag = "2")]
pub gauge: ::core::option::Option<Gauge>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
pub enum SplittingPolicy {
ByVolume = 0,
}
impl SplittingPolicy {
pub fn as_str_name(&self) -> &'static str {
match self {
SplittingPolicy::ByVolume => "ByVolume",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ByVolume" => Some(Self::ByVolume),
_ => None,
}
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.GenesisState")]
pub struct GenesisState {
#[prost(message, optional, tag = "1")]
pub params: ::core::option::Option<Params>,
#[prost(message, repeated, tag = "2")]
pub gauges: ::prost::alloc::vec::Vec<Gauge>,
#[prost(message, repeated, tag = "3")]
pub lockable_durations: ::prost::alloc::vec::Vec<crate::shim::Duration>,
#[prost(uint64, tag = "4")]
#[serde(alias = "last_gaugeID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub last_gauge_id: u64,
#[prost(message, repeated, tag = "5")]
pub group_gauges: ::prost::alloc::vec::Vec<Gauge>,
#[prost(message, repeated, tag = "6")]
pub groups: ::prost::alloc::vec::Vec<Group>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.CreateGroupsProposal")]
pub struct CreateGroupsProposal {
#[prost(string, tag = "1")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub create_groups: ::prost::alloc::vec::Vec<CreateGroup>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.ModuleToDistributeCoinsRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/ModuleToDistributeCoins",
response_type = ModuleToDistributeCoinsResponse
)]
pub struct ModuleToDistributeCoinsRequest {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.ModuleToDistributeCoinsResponse")]
pub struct ModuleToDistributeCoinsResponse {
#[prost(message, repeated, tag = "1")]
pub coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.GaugeByIDRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/GaugeByID",
response_type = GaugeByIdResponse
)]
pub struct GaugeByIdRequest {
#[prost(uint64, tag = "1")]
#[serde(alias = "ID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.GaugeByIDResponse")]
pub struct GaugeByIdResponse {
#[prost(message, optional, tag = "1")]
pub gauge: ::core::option::Option<Gauge>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.GaugesRequest")]
#[proto_query(path = "/osmosis.incentives.Query/Gauges", response_type = GaugesResponse)]
pub struct GaugesRequest {
#[prost(message, optional, tag = "1")]
pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.GaugesResponse")]
pub struct GaugesResponse {
#[prost(message, repeated, tag = "1")]
pub data: ::prost::alloc::vec::Vec<Gauge>,
#[prost(message, optional, tag = "2")]
pub pagination:
::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.ActiveGaugesRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/ActiveGauges",
response_type = ActiveGaugesResponse
)]
pub struct ActiveGaugesRequest {
#[prost(message, optional, tag = "1")]
pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.ActiveGaugesResponse")]
pub struct ActiveGaugesResponse {
#[prost(message, repeated, tag = "1")]
pub data: ::prost::alloc::vec::Vec<Gauge>,
#[prost(message, optional, tag = "2")]
pub pagination:
::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.ActiveGaugesPerDenomRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/ActiveGaugesPerDenom",
response_type = ActiveGaugesPerDenomResponse
)]
pub struct ActiveGaugesPerDenomRequest {
#[prost(string, tag = "1")]
pub denom: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.ActiveGaugesPerDenomResponse")]
pub struct ActiveGaugesPerDenomResponse {
#[prost(message, repeated, tag = "1")]
pub data: ::prost::alloc::vec::Vec<Gauge>,
#[prost(message, optional, tag = "2")]
pub pagination:
::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/UpcomingGauges",
response_type = UpcomingGaugesResponse
)]
pub struct UpcomingGaugesRequest {
#[prost(message, optional, tag = "1")]
pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesResponse")]
pub struct UpcomingGaugesResponse {
#[prost(message, repeated, tag = "1")]
pub data: ::prost::alloc::vec::Vec<Gauge>,
#[prost(message, optional, tag = "2")]
pub pagination:
::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesPerDenomRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/UpcomingGaugesPerDenom",
response_type = UpcomingGaugesPerDenomResponse
)]
pub struct UpcomingGaugesPerDenomRequest {
#[prost(string, tag = "1")]
pub denom: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesPerDenomResponse")]
pub struct UpcomingGaugesPerDenomResponse {
#[prost(message, repeated, tag = "1")]
pub upcoming_gauges: ::prost::alloc::vec::Vec<Gauge>,
#[prost(message, optional, tag = "2")]
pub pagination:
::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.RewardsEstRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/RewardsEst",
response_type = RewardsEstResponse
)]
pub struct RewardsEstRequest {
#[prost(string, tag = "1")]
pub owner: ::prost::alloc::string::String,
#[prost(uint64, repeated, tag = "2")]
#[serde(alias = "lockIDs")]
#[serde(
serialize_with = "crate::serde::as_str_vec::serialize",
deserialize_with = "crate::serde::as_str_vec::deserialize"
)]
pub lock_ids: ::prost::alloc::vec::Vec<u64>,
#[prost(int64, tag = "3")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub end_epoch: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.RewardsEstResponse")]
pub struct RewardsEstResponse {
#[prost(message, repeated, tag = "1")]
pub coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryLockableDurationsRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/LockableDurations",
response_type = QueryLockableDurationsResponse
)]
pub struct QueryLockableDurationsRequest {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryLockableDurationsResponse")]
pub struct QueryLockableDurationsResponse {
#[prost(message, repeated, tag = "1")]
pub lockable_durations: ::prost::alloc::vec::Vec<crate::shim::Duration>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/AllGroups",
response_type = QueryAllGroupsResponse
)]
pub struct QueryAllGroupsRequest {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsResponse")]
pub struct QueryAllGroupsResponse {
#[prost(message, repeated, tag = "1")]
pub groups: ::prost::alloc::vec::Vec<Group>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsGaugesRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/AllGroupsGauges",
response_type = QueryAllGroupsGaugesResponse
)]
pub struct QueryAllGroupsGaugesRequest {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsGaugesResponse")]
pub struct QueryAllGroupsGaugesResponse {
#[prost(message, repeated, tag = "1")]
pub gauges: ::prost::alloc::vec::Vec<Gauge>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsWithGaugeRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/AllGroupsWithGauge",
response_type = QueryAllGroupsWithGaugeResponse
)]
pub struct QueryAllGroupsWithGaugeRequest {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryAllGroupsWithGaugeResponse")]
pub struct QueryAllGroupsWithGaugeResponse {
#[prost(message, repeated, tag = "1")]
pub groups_with_gauge: ::prost::alloc::vec::Vec<GroupsWithGauge>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryGroupByGroupGaugeIDRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/GroupByGroupGaugeID",
response_type = QueryGroupByGroupGaugeIdResponse
)]
pub struct QueryGroupByGroupGaugeIdRequest {
#[prost(uint64, tag = "1")]
#[serde(alias = "ID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryGroupByGroupGaugeIDResponse")]
pub struct QueryGroupByGroupGaugeIdResponse {
#[prost(message, optional, tag = "1")]
pub group: ::core::option::Option<Group>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryCurrentWeightByGroupGaugeIDRequest")]
#[proto_query(
path = "/osmosis.incentives.Query/CurrentWeightByGroupGaugeID",
response_type = QueryCurrentWeightByGroupGaugeIdResponse
)]
pub struct QueryCurrentWeightByGroupGaugeIdRequest {
#[prost(uint64, tag = "1")]
#[serde(alias = "group_gaugeID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub group_gauge_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.QueryCurrentWeightByGroupGaugeIDResponse")]
pub struct QueryCurrentWeightByGroupGaugeIdResponse {
#[prost(message, repeated, tag = "1")]
pub gauge_weight: ::prost::alloc::vec::Vec<GaugeWeight>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.GaugeWeight")]
pub struct GaugeWeight {
#[prost(uint64, tag = "1")]
#[serde(alias = "gaugeID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub gauge_id: u64,
#[prost(string, tag = "2")]
pub weight_ratio: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.MsgCreateGauge")]
pub struct MsgCreateGauge {
#[prost(bool, tag = "1")]
pub is_perpetual: bool,
#[prost(string, tag = "2")]
pub owner: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub distribute_to: ::core::option::Option<super::lockup::QueryCondition>,
#[prost(message, repeated, tag = "4")]
pub coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
#[prost(message, optional, tag = "5")]
pub start_time: ::core::option::Option<crate::shim::Timestamp>,
#[prost(uint64, tag = "6")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub num_epochs_paid_over: u64,
#[prost(uint64, tag = "7")]
#[serde(alias = "poolID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub pool_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.MsgCreateGaugeResponse")]
pub struct MsgCreateGaugeResponse {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.MsgAddToGauge")]
pub struct MsgAddToGauge {
#[prost(string, tag = "1")]
pub owner: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
#[serde(alias = "gaugeID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub gauge_id: u64,
#[prost(message, repeated, tag = "3")]
pub rewards: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.MsgAddToGaugeResponse")]
pub struct MsgAddToGaugeResponse {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.MsgCreateGroup")]
pub struct MsgCreateGroup {
#[prost(message, repeated, tag = "1")]
pub coins: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
#[prost(uint64, tag = "2")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub num_epochs_paid_over: u64,
#[prost(string, tag = "3")]
pub owner: ::prost::alloc::string::String,
#[prost(uint64, repeated, tag = "4")]
#[serde(alias = "poolIDs")]
#[serde(
serialize_with = "crate::serde::as_str_vec::serialize",
deserialize_with = "crate::serde::as_str_vec::deserialize"
)]
pub pool_ids: ::prost::alloc::vec::Vec<u64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/osmosis.incentives.MsgCreateGroupResponse")]
pub struct MsgCreateGroupResponse {
#[prost(uint64, tag = "1")]
#[serde(alias = "groupID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub group_id: u64,
}
pub struct IncentivesQuerier<'a, Q: cosmwasm_std::CustomQuery> {
querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>,
}
impl<'a, Q: cosmwasm_std::CustomQuery> IncentivesQuerier<'a, Q> {
pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self {
Self { querier }
}
pub fn module_to_distribute_coins(
&self,
) -> Result<ModuleToDistributeCoinsResponse, cosmwasm_std::StdError> {
ModuleToDistributeCoinsRequest {}.query(self.querier)
}
pub fn gauge_by_id(&self, id: u64) -> Result<GaugeByIdResponse, cosmwasm_std::StdError> {
GaugeByIdRequest { id }.query(self.querier)
}
pub fn gauges(
&self,
pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
) -> Result<GaugesResponse, cosmwasm_std::StdError> {
GaugesRequest { pagination }.query(self.querier)
}
pub fn active_gauges(
&self,
pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
) -> Result<ActiveGaugesResponse, cosmwasm_std::StdError> {
ActiveGaugesRequest { pagination }.query(self.querier)
}
pub fn active_gauges_per_denom(
&self,
denom: ::prost::alloc::string::String,
pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
) -> Result<ActiveGaugesPerDenomResponse, cosmwasm_std::StdError> {
ActiveGaugesPerDenomRequest { denom, pagination }.query(self.querier)
}
pub fn upcoming_gauges(
&self,
pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
) -> Result<UpcomingGaugesResponse, cosmwasm_std::StdError> {
UpcomingGaugesRequest { pagination }.query(self.querier)
}
pub fn upcoming_gauges_per_denom(
&self,
denom: ::prost::alloc::string::String,
pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
) -> Result<UpcomingGaugesPerDenomResponse, cosmwasm_std::StdError> {
UpcomingGaugesPerDenomRequest { denom, pagination }.query(self.querier)
}
pub fn rewards_est(
&self,
owner: ::prost::alloc::string::String,
lock_ids: ::prost::alloc::vec::Vec<u64>,
end_epoch: i64,
) -> Result<RewardsEstResponse, cosmwasm_std::StdError> {
RewardsEstRequest {
owner,
lock_ids,
end_epoch,
}
.query(self.querier)
}
pub fn lockable_durations(
&self,
) -> Result<QueryLockableDurationsResponse, cosmwasm_std::StdError> {
QueryLockableDurationsRequest {}.query(self.querier)
}
pub fn all_groups(&self) -> Result<QueryAllGroupsResponse, cosmwasm_std::StdError> {
QueryAllGroupsRequest {}.query(self.querier)
}
pub fn all_groups_gauges(
&self,
) -> Result<QueryAllGroupsGaugesResponse, cosmwasm_std::StdError> {
QueryAllGroupsGaugesRequest {}.query(self.querier)
}
pub fn all_groups_with_gauge(
&self,
) -> Result<QueryAllGroupsWithGaugeResponse, cosmwasm_std::StdError> {
QueryAllGroupsWithGaugeRequest {}.query(self.querier)
}
pub fn group_by_group_gauge_id(
&self,
id: u64,
) -> Result<QueryGroupByGroupGaugeIdResponse, cosmwasm_std::StdError> {
QueryGroupByGroupGaugeIdRequest { id }.query(self.querier)
}
pub fn current_weight_by_group_gauge_id(
&self,
group_gauge_id: u64,
) -> Result<QueryCurrentWeightByGroupGaugeIdResponse, cosmwasm_std::StdError> {
QueryCurrentWeightByGroupGaugeIdRequest { group_gauge_id }.query(self.querier)
}
}