1#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct Params {
6    #[prost(uint64, tag="1")]
8    pub vote_period: u64,
9    #[prost(string, tag="2")]
12    pub vote_threshold: ::prost::alloc::string::String,
13    #[prost(string, tag="3")]
22    pub reward_band: ::prost::alloc::string::String,
23    #[prost(string, repeated, tag="4")]
26    pub whitelist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
27    #[prost(string, tag="5")]
31    pub slash_fraction: ::prost::alloc::string::String,
32    #[prost(uint64, tag="6")]
37    pub slash_window: u64,
38    #[prost(string, tag="7")]
39    pub min_valid_per_window: ::prost::alloc::string::String,
40    #[prost(message, optional, tag="8")]
43    pub twap_lookback_window: ::core::option::Option<::prost_types::Duration>,
44    #[prost(uint64, tag="9")]
47    pub min_voters: u64,
48    #[prost(string, tag="10")]
50    pub validator_fee_ratio: ::prost::alloc::string::String,
51    #[prost(uint64, tag="11")]
52    pub expiration_blocks: u64,
53}
54#[allow(clippy::derive_partial_eq_without_eq)]
59#[derive(Clone, PartialEq, ::prost::Message)]
60pub struct AggregateExchangeRatePrevote {
61    #[prost(string, tag="1")]
62    pub hash: ::prost::alloc::string::String,
63    #[prost(string, tag="2")]
64    pub voter: ::prost::alloc::string::String,
65    #[prost(uint64, tag="3")]
66    pub submit_block: u64,
67}
68#[allow(clippy::derive_partial_eq_without_eq)]
71#[derive(Clone, PartialEq, ::prost::Message)]
72pub struct AggregateExchangeRateVote {
73    #[prost(message, repeated, tag="1")]
74    pub exchange_rate_tuples: ::prost::alloc::vec::Vec<ExchangeRateTuple>,
75    #[prost(string, tag="2")]
76    pub voter: ::prost::alloc::string::String,
77}
78#[allow(clippy::derive_partial_eq_without_eq)]
80#[derive(Clone, PartialEq, ::prost::Message)]
81pub struct ExchangeRateTuple {
82    #[prost(string, tag="1")]
83    pub pair: ::prost::alloc::string::String,
84    #[prost(string, tag="2")]
85    pub exchange_rate: ::prost::alloc::string::String,
86}
87#[allow(clippy::derive_partial_eq_without_eq)]
88#[derive(Clone, PartialEq, ::prost::Message)]
89pub struct ExchangeRateAtBlock {
90    #[prost(string, tag="1")]
91    pub exchange_rate: ::prost::alloc::string::String,
92    #[prost(uint64, tag="2")]
93    pub created_block: u64,
94    #[prost(int64, tag="3")]
98    pub block_timestamp_ms: i64,
99}
100#[allow(clippy::derive_partial_eq_without_eq)]
103#[derive(Clone, PartialEq, ::prost::Message)]
104pub struct Rewards {
105    #[prost(uint64, tag="1")]
107    pub id: u64,
108    #[prost(uint64, tag="2")]
111    pub vote_periods: u64,
112    #[prost(message, repeated, tag="3")]
114    pub coins: ::prost::alloc::vec::Vec<crate::proto::cosmos::base::v1beta1::Coin>,
115}
116#[allow(clippy::derive_partial_eq_without_eq)]
118#[derive(Clone, PartialEq, ::prost::Message)]
119pub struct EventPriceUpdate {
120    #[prost(string, tag="1")]
121    pub pair: ::prost::alloc::string::String,
122    #[prost(string, tag="2")]
123    pub price: ::prost::alloc::string::String,
124    #[prost(int64, tag="3")]
125    pub timestamp_ms: i64,
126}
127#[allow(clippy::derive_partial_eq_without_eq)]
129#[derive(Clone, PartialEq, ::prost::Message)]
130pub struct EventDelegateFeederConsent {
131    #[prost(string, tag="1")]
133    pub validator: ::prost::alloc::string::String,
134    #[prost(string, tag="2")]
137    pub feeder: ::prost::alloc::string::String,
138}
139#[allow(clippy::derive_partial_eq_without_eq)]
141#[derive(Clone, PartialEq, ::prost::Message)]
142pub struct EventAggregateVote {
143    #[prost(string, tag="1")]
145    pub validator: ::prost::alloc::string::String,
146    #[prost(string, tag="2")]
149    pub feeder: ::prost::alloc::string::String,
150    #[prost(message, repeated, tag="3")]
151    pub prices: ::prost::alloc::vec::Vec<ExchangeRateTuple>,
152}
153#[allow(clippy::derive_partial_eq_without_eq)]
156#[derive(Clone, PartialEq, ::prost::Message)]
157pub struct EventAggregatePrevote {
158    #[prost(string, tag="1")]
160    pub validator: ::prost::alloc::string::String,
161    #[prost(string, tag="2")]
164    pub feeder: ::prost::alloc::string::String,
165}
166#[allow(clippy::derive_partial_eq_without_eq)]
167#[derive(Clone, PartialEq, ::prost::Message)]
168pub struct EventValidatorPerformance {
169    #[prost(string, tag="1")]
171    pub validator: ::prost::alloc::string::String,
172    #[prost(int64, tag="2")]
174    pub voting_power: i64,
175    #[prost(int64, tag="3")]
178    pub reward_weight: i64,
179    #[prost(int64, tag="4")]
181    pub win_count: i64,
182    #[prost(int64, tag="5")]
184    pub abstain_count: i64,
185    #[prost(int64, tag="6")]
187    pub miss_count: i64,
188}
189#[allow(clippy::derive_partial_eq_without_eq)]
191#[derive(Clone, PartialEq, ::prost::Message)]
192pub struct GenesisState {
193    #[prost(message, optional, tag="1")]
194    pub params: ::core::option::Option<Params>,
195    #[prost(message, repeated, tag="2")]
196    pub feeder_delegations: ::prost::alloc::vec::Vec<FeederDelegation>,
197    #[prost(message, repeated, tag="3")]
198    pub exchange_rates: ::prost::alloc::vec::Vec<ExchangeRateTuple>,
199    #[prost(message, repeated, tag="4")]
200    pub miss_counters: ::prost::alloc::vec::Vec<MissCounter>,
201    #[prost(message, repeated, tag="5")]
202    pub aggregate_exchange_rate_prevotes: ::prost::alloc::vec::Vec<AggregateExchangeRatePrevote>,
203    #[prost(message, repeated, tag="6")]
204    pub aggregate_exchange_rate_votes: ::prost::alloc::vec::Vec<AggregateExchangeRateVote>,
205    #[prost(string, repeated, tag="7")]
206    pub pairs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
207    #[prost(message, repeated, tag="8")]
208    pub rewards: ::prost::alloc::vec::Vec<Rewards>,
209}
210#[allow(clippy::derive_partial_eq_without_eq)]
214#[derive(Clone, PartialEq, ::prost::Message)]
215pub struct FeederDelegation {
216    #[prost(string, tag="1")]
217    pub feeder_address: ::prost::alloc::string::String,
218    #[prost(string, tag="2")]
219    pub validator_address: ::prost::alloc::string::String,
220}
221#[allow(clippy::derive_partial_eq_without_eq)]
224#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct MissCounter {
226    #[prost(string, tag="1")]
227    pub validator_address: ::prost::alloc::string::String,
228    #[prost(uint64, tag="2")]
229    pub miss_counter: u64,
230}
231#[allow(clippy::derive_partial_eq_without_eq)]
234#[derive(Clone, PartialEq, ::prost::Message)]
235pub struct QueryExchangeRateRequest {
236    #[prost(string, tag="1")]
238    pub pair: ::prost::alloc::string::String,
239}
240#[allow(clippy::derive_partial_eq_without_eq)]
243#[derive(Clone, PartialEq, ::prost::Message)]
244pub struct QueryExchangeRateResponse {
245    #[prost(string, tag="1")]
247    pub exchange_rate: ::prost::alloc::string::String,
248    #[prost(int64, tag="2")]
252    pub block_timestamp_ms: i64,
253    #[prost(uint64, tag="3")]
255    pub block_height: u64,
256}
257#[allow(clippy::derive_partial_eq_without_eq)]
260#[derive(Clone, PartialEq, ::prost::Message)]
261pub struct QueryExchangeRatesRequest {
262}
263#[allow(clippy::derive_partial_eq_without_eq)]
266#[derive(Clone, PartialEq, ::prost::Message)]
267pub struct QueryExchangeRatesResponse {
268    #[prost(message, repeated, tag="1")]
271    pub exchange_rates: ::prost::alloc::vec::Vec<ExchangeRateTuple>,
272}
273#[allow(clippy::derive_partial_eq_without_eq)]
275#[derive(Clone, PartialEq, ::prost::Message)]
276pub struct QueryActivesRequest {
277}
278#[allow(clippy::derive_partial_eq_without_eq)]
281#[derive(Clone, PartialEq, ::prost::Message)]
282pub struct QueryActivesResponse {
283    #[prost(string, repeated, tag="1")]
285    pub actives: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
286}
287#[allow(clippy::derive_partial_eq_without_eq)]
290#[derive(Clone, PartialEq, ::prost::Message)]
291pub struct QueryVoteTargetsRequest {
292}
293#[allow(clippy::derive_partial_eq_without_eq)]
296#[derive(Clone, PartialEq, ::prost::Message)]
297pub struct QueryVoteTargetsResponse {
298    #[prost(string, repeated, tag="1")]
301    pub vote_targets: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
302}
303#[allow(clippy::derive_partial_eq_without_eq)]
306#[derive(Clone, PartialEq, ::prost::Message)]
307pub struct QueryFeederDelegationRequest {
308    #[prost(string, tag="1")]
310    pub validator_addr: ::prost::alloc::string::String,
311}
312#[allow(clippy::derive_partial_eq_without_eq)]
315#[derive(Clone, PartialEq, ::prost::Message)]
316pub struct QueryFeederDelegationResponse {
317    #[prost(string, tag="1")]
319    pub feeder_addr: ::prost::alloc::string::String,
320}
321#[allow(clippy::derive_partial_eq_without_eq)]
324#[derive(Clone, PartialEq, ::prost::Message)]
325pub struct QueryMissCounterRequest {
326    #[prost(string, tag="1")]
328    pub validator_addr: ::prost::alloc::string::String,
329}
330#[allow(clippy::derive_partial_eq_without_eq)]
333#[derive(Clone, PartialEq, ::prost::Message)]
334pub struct QueryMissCounterResponse {
335    #[prost(uint64, tag="1")]
337    pub miss_counter: u64,
338}
339#[allow(clippy::derive_partial_eq_without_eq)]
342#[derive(Clone, PartialEq, ::prost::Message)]
343pub struct QueryAggregatePrevoteRequest {
344    #[prost(string, tag="1")]
346    pub validator_addr: ::prost::alloc::string::String,
347}
348#[allow(clippy::derive_partial_eq_without_eq)]
351#[derive(Clone, PartialEq, ::prost::Message)]
352pub struct QueryAggregatePrevoteResponse {
353    #[prost(message, optional, tag="1")]
356    pub aggregate_prevote: ::core::option::Option<AggregateExchangeRatePrevote>,
357}
358#[allow(clippy::derive_partial_eq_without_eq)]
361#[derive(Clone, PartialEq, ::prost::Message)]
362pub struct QueryAggregatePrevotesRequest {
363}
364#[allow(clippy::derive_partial_eq_without_eq)]
367#[derive(Clone, PartialEq, ::prost::Message)]
368pub struct QueryAggregatePrevotesResponse {
369    #[prost(message, repeated, tag="1")]
372    pub aggregate_prevotes: ::prost::alloc::vec::Vec<AggregateExchangeRatePrevote>,
373}
374#[allow(clippy::derive_partial_eq_without_eq)]
377#[derive(Clone, PartialEq, ::prost::Message)]
378pub struct QueryAggregateVoteRequest {
379    #[prost(string, tag="1")]
381    pub validator_addr: ::prost::alloc::string::String,
382}
383#[allow(clippy::derive_partial_eq_without_eq)]
386#[derive(Clone, PartialEq, ::prost::Message)]
387pub struct QueryAggregateVoteResponse {
388    #[prost(message, optional, tag="1")]
391    pub aggregate_vote: ::core::option::Option<AggregateExchangeRateVote>,
392}
393#[allow(clippy::derive_partial_eq_without_eq)]
396#[derive(Clone, PartialEq, ::prost::Message)]
397pub struct QueryAggregateVotesRequest {
398}
399#[allow(clippy::derive_partial_eq_without_eq)]
402#[derive(Clone, PartialEq, ::prost::Message)]
403pub struct QueryAggregateVotesResponse {
404    #[prost(message, repeated, tag="1")]
407    pub aggregate_votes: ::prost::alloc::vec::Vec<AggregateExchangeRateVote>,
408}
409#[allow(clippy::derive_partial_eq_without_eq)]
411#[derive(Clone, PartialEq, ::prost::Message)]
412pub struct QueryParamsRequest {
413}
414#[allow(clippy::derive_partial_eq_without_eq)]
416#[derive(Clone, PartialEq, ::prost::Message)]
417pub struct QueryParamsResponse {
418    #[prost(message, optional, tag="1")]
420    pub params: ::core::option::Option<Params>,
421}
422#[allow(clippy::derive_partial_eq_without_eq)]
424#[derive(Clone, PartialEq, ::prost::Message)]
425pub struct PriceSnapshot {
426    #[prost(string, tag="1")]
427    pub pair: ::prost::alloc::string::String,
428    #[prost(string, tag="2")]
429    pub price: ::prost::alloc::string::String,
430    #[prost(int64, tag="3")]
432    pub timestamp_ms: i64,
433}
434#[allow(clippy::derive_partial_eq_without_eq)]
437#[derive(Clone, PartialEq, ::prost::Message)]
438pub struct MsgAggregateExchangeRatePrevote {
439    #[prost(string, tag="1")]
440    pub hash: ::prost::alloc::string::String,
441    #[prost(string, tag="2")]
445    pub feeder: ::prost::alloc::string::String,
446    #[prost(string, tag="3")]
448    pub validator: ::prost::alloc::string::String,
449}
450#[allow(clippy::derive_partial_eq_without_eq)]
453#[derive(Clone, PartialEq, ::prost::Message)]
454pub struct MsgAggregateExchangeRatePrevoteResponse {
455}
456#[allow(clippy::derive_partial_eq_without_eq)]
459#[derive(Clone, PartialEq, ::prost::Message)]
460pub struct MsgAggregateExchangeRateVote {
461    #[prost(string, tag="1")]
462    pub salt: ::prost::alloc::string::String,
463    #[prost(string, tag="2")]
464    pub exchange_rates: ::prost::alloc::string::String,
465    #[prost(string, tag="3")]
469    pub feeder: ::prost::alloc::string::String,
470    #[prost(string, tag="4")]
472    pub validator: ::prost::alloc::string::String,
473}
474#[allow(clippy::derive_partial_eq_without_eq)]
477#[derive(Clone, PartialEq, ::prost::Message)]
478pub struct MsgAggregateExchangeRateVoteResponse {
479}
480#[allow(clippy::derive_partial_eq_without_eq)]
483#[derive(Clone, PartialEq, ::prost::Message)]
484pub struct MsgDelegateFeedConsent {
485    #[prost(string, tag="1")]
486    pub operator: ::prost::alloc::string::String,
487    #[prost(string, tag="2")]
488    pub delegate: ::prost::alloc::string::String,
489}
490#[allow(clippy::derive_partial_eq_without_eq)]
493#[derive(Clone, PartialEq, ::prost::Message)]
494pub struct MsgDelegateFeedConsentResponse {
495}
496#[allow(clippy::derive_partial_eq_without_eq)]
497#[derive(Clone, PartialEq, ::prost::Message)]
498pub struct MsgEditOracleParams {
499    #[prost(string, tag="1")]
500    pub sender: ::prost::alloc::string::String,
501    #[prost(message, optional, tag="2")]
502    pub params: ::core::option::Option<OracleParamsMsg>,
503}
504#[allow(clippy::derive_partial_eq_without_eq)]
505#[derive(Clone, PartialEq, ::prost::Message)]
506pub struct MsgEditOracleParamsResponse {
507}
508#[allow(clippy::derive_partial_eq_without_eq)]
509#[derive(Clone, PartialEq, ::prost::Message)]
510pub struct OracleParamsMsg {
511    #[prost(uint64, tag="1")]
513    pub vote_period: u64,
514    #[prost(string, tag="2")]
517    pub vote_threshold: ::prost::alloc::string::String,
518    #[prost(string, tag="3")]
527    pub reward_band: ::prost::alloc::string::String,
528    #[prost(string, repeated, tag="4")]
531    pub whitelist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
532    #[prost(string, tag="5")]
536    pub slash_fraction: ::prost::alloc::string::String,
537    #[prost(uint64, tag="6")]
542    pub slash_window: u64,
543    #[prost(string, tag="7")]
544    pub min_valid_per_window: ::prost::alloc::string::String,
545    #[prost(message, optional, tag="8")]
547    pub twap_lookback_window: ::core::option::Option<::prost_types::Duration>,
548    #[prost(uint64, tag="9")]
551    pub min_voters: u64,
552    #[prost(string, tag="10")]
554    pub validator_fee_ratio: ::prost::alloc::string::String,
555    #[prost(uint64, tag="11")]
556    pub expiration_blocks: u64,
557}
558