side_proto/prost/side/
side.lending.rs

1// @generated
2/// Params defines the parameters for the module.
3#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct Params {
6    /// final timeout duration for loan
7    #[prost(message, optional, tag = "1")]
8    pub final_timeout_duration:
9        ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
10    /// request fee collector address
11    #[prost(string, tag = "2")]
12    pub request_fee_collector: ::prost::alloc::string::String,
13    /// origination fee collector address
14    #[prost(string, tag = "3")]
15    pub origination_fee_collector: ::prost::alloc::string::String,
16    /// protocol fee collector address
17    #[prost(string, tag = "4")]
18    pub protocol_fee_collector: ::prost::alloc::string::String,
19}
20impl ::prost::Name for Params {
21    const NAME: &'static str = "Params";
22    const PACKAGE: &'static str = "side.lending";
23    fn full_name() -> ::prost::alloc::string::String {
24        ::prost::alloc::format!("side.lending.{}", Self::NAME)
25    }
26}
27/// Asset metadata
28#[allow(clippy::derive_partial_eq_without_eq)]
29#[derive(Clone, PartialEq, ::prost::Message)]
30pub struct AssetMetadata {
31    #[prost(string, tag = "1")]
32    pub denom: ::prost::alloc::string::String,
33    #[prost(string, tag = "2")]
34    pub symbol: ::prost::alloc::string::String,
35    #[prost(int32, tag = "3")]
36    pub decimals: i32,
37    #[prost(string, tag = "4")]
38    pub price_symbol: ::prost::alloc::string::String,
39    #[prost(bool, tag = "5")]
40    pub is_base_price_asset: bool,
41}
42impl ::prost::Name for AssetMetadata {
43    const NAME: &'static str = "AssetMetadata";
44    const PACKAGE: &'static str = "side.lending";
45    fn full_name() -> ::prost::alloc::string::String {
46        ::prost::alloc::format!("side.lending.{}", Self::NAME)
47    }
48}
49/// Pool tranche config
50#[allow(clippy::derive_partial_eq_without_eq)]
51#[derive(Clone, PartialEq, ::prost::Message)]
52pub struct PoolTrancheConfig {
53    /// maturity duration in seconds
54    #[prost(int64, tag = "1")]
55    pub maturity: i64,
56    /// borrow apr
57    #[prost(string, tag = "2")]
58    pub borrow_apr: ::prost::alloc::string::String,
59}
60impl ::prost::Name for PoolTrancheConfig {
61    const NAME: &'static str = "PoolTrancheConfig";
62    const PACKAGE: &'static str = "side.lending";
63    fn full_name() -> ::prost::alloc::string::String {
64        ::prost::alloc::format!("side.lending.{}", Self::NAME)
65    }
66}
67/// Pool config
68#[allow(clippy::derive_partial_eq_without_eq)]
69#[derive(Clone, PartialEq, ::prost::Message)]
70pub struct PoolConfig {
71    /// collateral asset metadata
72    #[prost(message, optional, tag = "1")]
73    pub collateral_asset: ::core::option::Option<AssetMetadata>,
74    /// lending asset metadata
75    #[prost(message, optional, tag = "2")]
76    pub lending_asset: ::core::option::Option<AssetMetadata>,
77    /// supply cap
78    #[prost(string, tag = "3")]
79    pub supply_cap: ::prost::alloc::string::String,
80    /// borrow cap
81    #[prost(string, tag = "4")]
82    pub borrow_cap: ::prost::alloc::string::String,
83    /// minimum amount to be borrowed
84    #[prost(string, tag = "5")]
85    pub min_borrow_amount: ::prost::alloc::string::String,
86    /// maximum amount to be borrowed
87    #[prost(string, tag = "6")]
88    pub max_borrow_amount: ::prost::alloc::string::String,
89    /// tranches
90    #[prost(message, repeated, tag = "7")]
91    pub tranches: ::prost::alloc::vec::Vec<PoolTrancheConfig>,
92    /// request fee
93    #[prost(message, optional, tag = "8")]
94    pub request_fee: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
95    /// origination fee factor
96    #[prost(string, tag = "9")]
97    pub origination_fee_factor: ::prost::alloc::string::String,
98    /// reserve factor
99    #[prost(string, tag = "10")]
100    pub reserve_factor: ::prost::alloc::string::String,
101    /// maximum ltv
102    #[prost(string, tag = "11")]
103    pub max_ltv: ::prost::alloc::string::String,
104    /// liquidation ltv
105    #[prost(string, tag = "12")]
106    pub liquidation_threshold: ::prost::alloc::string::String,
107    /// indicates if the pool is paused
108    #[prost(bool, tag = "13")]
109    pub paused: bool,
110}
111impl ::prost::Name for PoolConfig {
112    const NAME: &'static str = "PoolConfig";
113    const PACKAGE: &'static str = "side.lending";
114    fn full_name() -> ::prost::alloc::string::String {
115        ::prost::alloc::format!("side.lending.{}", Self::NAME)
116    }
117}
118/// Pool tranche
119#[allow(clippy::derive_partial_eq_without_eq)]
120#[derive(Clone, PartialEq, ::prost::Message)]
121pub struct PoolTranche {
122    /// maturity duration
123    #[prost(int64, tag = "1")]
124    pub maturity: i64,
125    /// borrow index
126    #[prost(string, tag = "2")]
127    pub borrow_index: ::prost::alloc::string::String,
128    /// total borrowed
129    #[prost(string, tag = "3")]
130    pub total_borrowed: ::prost::alloc::string::String,
131    /// total reserve
132    #[prost(string, tag = "4")]
133    pub total_reserve: ::prost::alloc::string::String,
134}
135impl ::prost::Name for PoolTranche {
136    const NAME: &'static str = "PoolTranche";
137    const PACKAGE: &'static str = "side.lending";
138    fn full_name() -> ::prost::alloc::string::String {
139        ::prost::alloc::format!("side.lending.{}", Self::NAME)
140    }
141}
142#[allow(clippy::derive_partial_eq_without_eq)]
143#[derive(Clone, PartialEq, ::prost::Message)]
144pub struct LendingPool {
145    #[prost(string, tag = "1")]
146    pub id: ::prost::alloc::string::String,
147    #[prost(message, optional, tag = "2")]
148    pub supply: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
149    #[prost(string, tag = "3")]
150    pub available_amount: ::prost::alloc::string::String,
151    #[prost(string, tag = "4")]
152    pub borrowed_amount: ::prost::alloc::string::String,
153    #[prost(string, tag = "5")]
154    pub total_borrowed: ::prost::alloc::string::String,
155    #[prost(string, tag = "6")]
156    pub reserve_amount: ::prost::alloc::string::String,
157    #[prost(string, tag = "7")]
158    pub total_reserve: ::prost::alloc::string::String,
159    #[prost(message, optional, tag = "8")]
160    pub total_ytokens: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
161    #[prost(message, repeated, tag = "9")]
162    pub tranches: ::prost::alloc::vec::Vec<PoolTranche>,
163    #[prost(message, optional, tag = "10")]
164    pub config: ::core::option::Option<PoolConfig>,
165    #[prost(enumeration = "PoolStatus", tag = "11")]
166    pub status: i32,
167}
168impl ::prost::Name for LendingPool {
169    const NAME: &'static str = "LendingPool";
170    const PACKAGE: &'static str = "side.lending";
171    fn full_name() -> ::prost::alloc::string::String {
172        ::prost::alloc::format!("side.lending.{}", Self::NAME)
173    }
174}
175/// Authorization with deposit txs for cets
176#[allow(clippy::derive_partial_eq_without_eq)]
177#[derive(Clone, PartialEq, ::prost::Message)]
178pub struct Authorization {
179    #[prost(uint64, tag = "1")]
180    pub id: u64,
181    #[prost(string, repeated, tag = "2")]
182    pub deposit_txs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
183    #[prost(enumeration = "AuthorizationStatus", tag = "3")]
184    pub status: i32,
185}
186impl ::prost::Name for Authorization {
187    const NAME: &'static str = "Authorization";
188    const PACKAGE: &'static str = "side.lending";
189    fn full_name() -> ::prost::alloc::string::String {
190        ::prost::alloc::format!("side.lending.{}", Self::NAME)
191    }
192}
193#[allow(clippy::derive_partial_eq_without_eq)]
194#[derive(Clone, PartialEq, ::prost::Message)]
195pub struct Loan {
196    /// id
197    #[prost(string, tag = "1")]
198    pub vault_address: ::prost::alloc::string::String,
199    #[prost(string, tag = "2")]
200    pub borrower: ::prost::alloc::string::String,
201    #[prost(string, tag = "3")]
202    pub borrower_pub_key: ::prost::alloc::string::String,
203    #[prost(string, tag = "4")]
204    pub borrower_auth_pub_key: ::prost::alloc::string::String,
205    #[prost(string, tag = "5")]
206    pub dcm: ::prost::alloc::string::String,
207    #[prost(int64, tag = "6")]
208    pub maturity_time: i64,
209    #[prost(int64, tag = "7")]
210    pub final_timeout: i64,
211    #[prost(string, tag = "8")]
212    pub pool_id: ::prost::alloc::string::String,
213    #[prost(message, optional, tag = "9")]
214    pub borrow_amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
215    #[prost(message, optional, tag = "10")]
216    pub request_fee: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
217    #[prost(string, tag = "11")]
218    pub origination_fee: ::prost::alloc::string::String,
219    #[prost(string, tag = "12")]
220    pub interest: ::prost::alloc::string::String,
221    #[prost(string, tag = "13")]
222    pub protocol_fee: ::prost::alloc::string::String,
223    #[prost(int64, tag = "14")]
224    pub maturity: i64,
225    #[prost(string, tag = "15")]
226    pub borrow_apr: ::prost::alloc::string::String,
227    #[prost(string, tag = "16")]
228    pub start_borrow_index: ::prost::alloc::string::String,
229    #[prost(string, tag = "17")]
230    pub liquidation_price: ::prost::alloc::string::String,
231    #[prost(uint64, tag = "18")]
232    pub dlc_event_id: u64,
233    #[prost(message, repeated, tag = "19")]
234    pub authorizations: ::prost::alloc::vec::Vec<Authorization>,
235    #[prost(string, tag = "20")]
236    pub collateral_amount: ::prost::alloc::string::String,
237    #[prost(uint64, tag = "21")]
238    pub liquidation_id: u64,
239    #[prost(message, optional, tag = "22")]
240    pub referrer: ::core::option::Option<Referrer>,
241    #[prost(message, optional, tag = "23")]
242    pub create_at: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
243    #[prost(message, optional, tag = "24")]
244    pub disburse_at: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
245    #[prost(enumeration = "LoanStatus", tag = "25")]
246    pub status: i32,
247}
248impl ::prost::Name for Loan {
249    const NAME: &'static str = "Loan";
250    const PACKAGE: &'static str = "side.lending";
251    fn full_name() -> ::prost::alloc::string::String {
252        ::prost::alloc::format!("side.lending.{}", Self::NAME)
253    }
254}
255/// Referrer defines the referrer
256#[allow(clippy::derive_partial_eq_without_eq)]
257#[derive(Clone, PartialEq, ::prost::Message)]
258pub struct Referrer {
259    /// Optional name
260    #[prost(string, tag = "1")]
261    pub name: ::prost::alloc::string::String,
262    /// Unique referral code with 8 alphanumeric characters
263    #[prost(string, tag = "2")]
264    pub referral_code: ::prost::alloc::string::String,
265    /// Referrer address
266    #[prost(string, tag = "3")]
267    pub address: ::prost::alloc::string::String,
268    /// Referral fee factor
269    #[prost(string, tag = "4")]
270    pub referral_fee_factor: ::prost::alloc::string::String,
271}
272impl ::prost::Name for Referrer {
273    const NAME: &'static str = "Referrer";
274    const PACKAGE: &'static str = "side.lending";
275    fn full_name() -> ::prost::alloc::string::String {
276        ::prost::alloc::format!("side.lending.{}", Self::NAME)
277    }
278}
279/// LeafScript defines the tap leaf script
280#[allow(clippy::derive_partial_eq_without_eq)]
281#[derive(Clone, PartialEq, ::prost::Message)]
282pub struct LeafScript {
283    #[prost(string, tag = "1")]
284    pub script: ::prost::alloc::string::String,
285    #[prost(string, tag = "2")]
286    pub control_block: ::prost::alloc::string::String,
287}
288impl ::prost::Name for LeafScript {
289    const NAME: &'static str = "LeafScript";
290    const PACKAGE: &'static str = "side.lending";
291    fn full_name() -> ::prost::alloc::string::String {
292        ::prost::alloc::format!("side.lending.{}", Self::NAME)
293    }
294}
295#[allow(clippy::derive_partial_eq_without_eq)]
296#[derive(Clone, PartialEq, ::prost::Message)]
297pub struct CetInfo {
298    #[prost(uint64, tag = "1")]
299    pub event_id: u64,
300    #[prost(uint32, tag = "2")]
301    pub outcome_index: u32,
302    #[prost(string, tag = "3")]
303    pub signature_point: ::prost::alloc::string::String,
304    #[prost(message, optional, tag = "4")]
305    pub script: ::core::option::Option<LeafScript>,
306    #[prost(uint32, tag = "5")]
307    pub sighash_type: u32,
308}
309impl ::prost::Name for CetInfo {
310    const NAME: &'static str = "CetInfo";
311    const PACKAGE: &'static str = "side.lending";
312    fn full_name() -> ::prost::alloc::string::String {
313        ::prost::alloc::format!("side.lending.{}", Self::NAME)
314    }
315}
316#[allow(clippy::derive_partial_eq_without_eq)]
317#[derive(Clone, PartialEq, ::prost::Message)]
318pub struct LiquidationCet {
319    #[prost(string, tag = "1")]
320    pub tx: ::prost::alloc::string::String,
321    #[prost(string, repeated, tag = "2")]
322    pub borrower_adaptor_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
323    #[prost(string, repeated, tag = "3")]
324    pub borrower_adapted_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
325    #[prost(string, repeated, tag = "4")]
326    pub dcm_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
327    #[prost(string, tag = "5")]
328    pub signed_tx_hex: ::prost::alloc::string::String,
329}
330impl ::prost::Name for LiquidationCet {
331    const NAME: &'static str = "LiquidationCet";
332    const PACKAGE: &'static str = "side.lending";
333    fn full_name() -> ::prost::alloc::string::String {
334        ::prost::alloc::format!("side.lending.{}", Self::NAME)
335    }
336}
337#[allow(clippy::derive_partial_eq_without_eq)]
338#[derive(Clone, PartialEq, ::prost::Message)]
339pub struct RepaymentCet {
340    #[prost(string, tag = "1")]
341    pub tx: ::prost::alloc::string::String,
342    #[prost(string, repeated, tag = "2")]
343    pub dcm_adaptor_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
344    #[prost(string, repeated, tag = "3")]
345    pub dcm_adapted_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
346    #[prost(string, repeated, tag = "4")]
347    pub borrower_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
348    #[prost(string, tag = "5")]
349    pub signed_tx_hex: ::prost::alloc::string::String,
350}
351impl ::prost::Name for RepaymentCet {
352    const NAME: &'static str = "RepaymentCet";
353    const PACKAGE: &'static str = "side.lending";
354    fn full_name() -> ::prost::alloc::string::String {
355        ::prost::alloc::format!("side.lending.{}", Self::NAME)
356    }
357}
358#[allow(clippy::derive_partial_eq_without_eq)]
359#[derive(Clone, PartialEq, ::prost::Message)]
360pub struct DlcMeta {
361    #[prost(message, optional, tag = "1")]
362    pub liquidation_cet: ::core::option::Option<LiquidationCet>,
363    #[prost(message, optional, tag = "2")]
364    pub default_liquidation_cet: ::core::option::Option<LiquidationCet>,
365    #[prost(message, optional, tag = "3")]
366    pub repayment_cet: ::core::option::Option<RepaymentCet>,
367    #[prost(string, tag = "4")]
368    pub timeout_refund_tx: ::prost::alloc::string::String,
369    #[prost(message, repeated, tag = "5")]
370    pub vault_utxos: ::prost::alloc::vec::Vec<super::btcbridge::Utxo>,
371    #[prost(string, tag = "6")]
372    pub internal_key: ::prost::alloc::string::String,
373    #[prost(message, optional, tag = "7")]
374    pub liquidation_script: ::core::option::Option<LeafScript>,
375    #[prost(message, optional, tag = "8")]
376    pub repayment_script: ::core::option::Option<LeafScript>,
377    #[prost(message, optional, tag = "9")]
378    pub timeout_refund_script: ::core::option::Option<LeafScript>,
379}
380impl ::prost::Name for DlcMeta {
381    const NAME: &'static str = "DLCMeta";
382    const PACKAGE: &'static str = "side.lending";
383    fn full_name() -> ::prost::alloc::string::String {
384        ::prost::alloc::format!("side.lending.{}", Self::NAME)
385    }
386}
387#[allow(clippy::derive_partial_eq_without_eq)]
388#[derive(Clone, PartialEq, ::prost::Message)]
389pub struct DepositLog {
390    #[prost(string, tag = "1")]
391    pub txid: ::prost::alloc::string::String,
392    #[prost(string, tag = "2")]
393    pub vault_address: ::prost::alloc::string::String,
394    #[prost(uint64, tag = "3")]
395    pub authorization_id: u64,
396    #[prost(string, tag = "4")]
397    pub deposit_tx: ::prost::alloc::string::String,
398    #[prost(enumeration = "DepositStatus", tag = "5")]
399    pub status: i32,
400}
401impl ::prost::Name for DepositLog {
402    const NAME: &'static str = "DepositLog";
403    const PACKAGE: &'static str = "side.lending";
404    fn full_name() -> ::prost::alloc::string::String {
405        ::prost::alloc::format!("side.lending.{}", Self::NAME)
406    }
407}
408#[allow(clippy::derive_partial_eq_without_eq)]
409#[derive(Clone, PartialEq, ::prost::Message)]
410pub struct Repayment {
411    #[prost(string, tag = "1")]
412    pub loan_id: ::prost::alloc::string::String,
413    #[prost(message, optional, tag = "2")]
414    pub amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
415    #[prost(message, optional, tag = "3")]
416    pub create_at: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
417}
418impl ::prost::Name for Repayment {
419    const NAME: &'static str = "Repayment";
420    const PACKAGE: &'static str = "side.lending";
421    fn full_name() -> ::prost::alloc::string::String {
422        ::prost::alloc::format!("side.lending.{}", Self::NAME)
423    }
424}
425#[allow(clippy::derive_partial_eq_without_eq)]
426#[derive(Clone, PartialEq, ::prost::Message)]
427pub struct Redemption {
428    #[prost(uint64, tag = "1")]
429    pub id: u64,
430    #[prost(string, tag = "2")]
431    pub loan_id: ::prost::alloc::string::String,
432    #[prost(string, tag = "3")]
433    pub txid: ::prost::alloc::string::String,
434    #[prost(string, tag = "4")]
435    pub tx: ::prost::alloc::string::String,
436    #[prost(string, repeated, tag = "5")]
437    pub signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
438    #[prost(string, repeated, tag = "6")]
439    pub dcm_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
440    #[prost(message, optional, tag = "7")]
441    pub create_at: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
442}
443impl ::prost::Name for Redemption {
444    const NAME: &'static str = "Redemption";
445    const PACKAGE: &'static str = "side.lending";
446    fn full_name() -> ::prost::alloc::string::String {
447        ::prost::alloc::format!("side.lending.{}", Self::NAME)
448    }
449}
450/// Status options for a lending pool
451#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
452#[repr(i32)]
453pub enum PoolStatus {
454    Inactive = 0,
455    Active = 1,
456    Paused = 2,
457}
458impl PoolStatus {
459    /// String value of the enum field names used in the ProtoBuf definition.
460    ///
461    /// The values are not transformed in any way and thus are considered stable
462    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
463    pub fn as_str_name(&self) -> &'static str {
464        match self {
465            PoolStatus::Inactive => "INACTIVE",
466            PoolStatus::Active => "ACTIVE",
467            PoolStatus::Paused => "PAUSED",
468        }
469    }
470    /// Creates an enum from field names used in the ProtoBuf definition.
471    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
472        match value {
473            "INACTIVE" => Some(Self::Inactive),
474            "ACTIVE" => Some(Self::Active),
475            "PAUSED" => Some(Self::Paused),
476            _ => None,
477        }
478    }
479}
480/// Loan Status
481#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
482#[repr(i32)]
483pub enum LoanStatus {
484    /// Unspecified
485    Unspecified = 0,
486    /// Loan Requested
487    Requested = 1,
488    /// Loan Cancelled
489    Cancelled = 2,
490    /// Loan Authorized
491    Authorized = 3,
492    /// Loan Rejected
493    Rejected = 4,
494    /// Loan Open
495    Open = 5,
496    /// Loan Repaid
497    Repaid = 6,
498    /// Loan Defaulted
499    Defaulted = 7,
500    /// Loan Liquidated
501    Liquidated = 8,
502    /// Loan Closed
503    Closed = 9,
504}
505impl LoanStatus {
506    /// String value of the enum field names used in the ProtoBuf definition.
507    ///
508    /// The values are not transformed in any way and thus are considered stable
509    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
510    pub fn as_str_name(&self) -> &'static str {
511        match self {
512            LoanStatus::Unspecified => "Unspecified",
513            LoanStatus::Requested => "Requested",
514            LoanStatus::Cancelled => "Cancelled",
515            LoanStatus::Authorized => "Authorized",
516            LoanStatus::Rejected => "Rejected",
517            LoanStatus::Open => "Open",
518            LoanStatus::Repaid => "Repaid",
519            LoanStatus::Defaulted => "Defaulted",
520            LoanStatus::Liquidated => "Liquidated",
521            LoanStatus::Closed => "Closed",
522        }
523    }
524    /// Creates an enum from field names used in the ProtoBuf definition.
525    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
526        match value {
527            "Unspecified" => Some(Self::Unspecified),
528            "Requested" => Some(Self::Requested),
529            "Cancelled" => Some(Self::Cancelled),
530            "Authorized" => Some(Self::Authorized),
531            "Rejected" => Some(Self::Rejected),
532            "Open" => Some(Self::Open),
533            "Repaid" => Some(Self::Repaid),
534            "Defaulted" => Some(Self::Defaulted),
535            "Liquidated" => Some(Self::Liquidated),
536            "Closed" => Some(Self::Closed),
537            _ => None,
538        }
539    }
540}
541/// Authorization Status
542#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
543#[repr(i32)]
544pub enum AuthorizationStatus {
545    /// Pending
546    Pending = 0,
547    /// Authorized
548    Authorized = 1,
549    /// Rejected
550    Rejected = 2,
551}
552impl AuthorizationStatus {
553    /// String value of the enum field names used in the ProtoBuf definition.
554    ///
555    /// The values are not transformed in any way and thus are considered stable
556    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
557    pub fn as_str_name(&self) -> &'static str {
558        match self {
559            AuthorizationStatus::Pending => "AUTHORIZATION_STATUS_PENDING",
560            AuthorizationStatus::Authorized => "AUTHORIZATION_STATUS_AUTHORIZED",
561            AuthorizationStatus::Rejected => "AUTHORIZATION_STATUS_REJECTED",
562        }
563    }
564    /// Creates an enum from field names used in the ProtoBuf definition.
565    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
566        match value {
567            "AUTHORIZATION_STATUS_PENDING" => Some(Self::Pending),
568            "AUTHORIZATION_STATUS_AUTHORIZED" => Some(Self::Authorized),
569            "AUTHORIZATION_STATUS_REJECTED" => Some(Self::Rejected),
570            _ => None,
571        }
572    }
573}
574#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
575#[repr(i32)]
576pub enum CetType {
577    Liquidation = 0,
578    DefaultLiquidation = 1,
579    Repayment = 2,
580}
581impl CetType {
582    /// String value of the enum field names used in the ProtoBuf definition.
583    ///
584    /// The values are not transformed in any way and thus are considered stable
585    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
586    pub fn as_str_name(&self) -> &'static str {
587        match self {
588            CetType::Liquidation => "LIQUIDATION",
589            CetType::DefaultLiquidation => "DEFAULT_LIQUIDATION",
590            CetType::Repayment => "REPAYMENT",
591        }
592    }
593    /// Creates an enum from field names used in the ProtoBuf definition.
594    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
595        match value {
596            "LIQUIDATION" => Some(Self::Liquidation),
597            "DEFAULT_LIQUIDATION" => Some(Self::DefaultLiquidation),
598            "REPAYMENT" => Some(Self::Repayment),
599            _ => None,
600        }
601    }
602}
603#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
604#[repr(i32)]
605pub enum DepositStatus {
606    Pending = 0,
607    Verified = 1,
608    Redeeming = 2,
609    Redeemed = 3,
610}
611impl DepositStatus {
612    /// String value of the enum field names used in the ProtoBuf definition.
613    ///
614    /// The values are not transformed in any way and thus are considered stable
615    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
616    pub fn as_str_name(&self) -> &'static str {
617        match self {
618            DepositStatus::Pending => "DEPOSIT_STATUS_PENDING",
619            DepositStatus::Verified => "DEPOSIT_STATUS_VERIFIED",
620            DepositStatus::Redeeming => "DEPOSIT_STATUS_REDEEMING",
621            DepositStatus::Redeemed => "DEPOSIT_STATUS_REDEEMED",
622        }
623    }
624    /// Creates an enum from field names used in the ProtoBuf definition.
625    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
626        match value {
627            "DEPOSIT_STATUS_PENDING" => Some(Self::Pending),
628            "DEPOSIT_STATUS_VERIFIED" => Some(Self::Verified),
629            "DEPOSIT_STATUS_REDEEMING" => Some(Self::Redeeming),
630            "DEPOSIT_STATUS_REDEEMED" => Some(Self::Redeemed),
631            _ => None,
632        }
633    }
634}
635/// Signing intent
636#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
637#[repr(i32)]
638pub enum SigningIntent {
639    Repayment = 0,
640    Liquidation = 1,
641    DefaultLiquidation = 2,
642    Redemption = 3,
643}
644impl SigningIntent {
645    /// String value of the enum field names used in the ProtoBuf definition.
646    ///
647    /// The values are not transformed in any way and thus are considered stable
648    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
649    pub fn as_str_name(&self) -> &'static str {
650        match self {
651            SigningIntent::Repayment => "SIGNING_INTENT_REPAYMENT",
652            SigningIntent::Liquidation => "SIGNING_INTENT_LIQUIDATION",
653            SigningIntent::DefaultLiquidation => "SIGNING_INTENT_DEFAULT_LIQUIDATION",
654            SigningIntent::Redemption => "SIGNING_INTENT_REDEMPTION",
655        }
656    }
657    /// Creates an enum from field names used in the ProtoBuf definition.
658    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
659        match value {
660            "SIGNING_INTENT_REPAYMENT" => Some(Self::Repayment),
661            "SIGNING_INTENT_LIQUIDATION" => Some(Self::Liquidation),
662            "SIGNING_INTENT_DEFAULT_LIQUIDATION" => Some(Self::DefaultLiquidation),
663            "SIGNING_INTENT_REDEMPTION" => Some(Self::Redemption),
664            _ => None,
665        }
666    }
667}
668/// GenesisState defines the lending module's genesis state.
669#[allow(clippy::derive_partial_eq_without_eq)]
670#[derive(Clone, PartialEq, ::prost::Message)]
671pub struct GenesisState {
672    #[prost(message, optional, tag = "1")]
673    pub params: ::core::option::Option<Params>,
674    #[prost(message, repeated, tag = "2")]
675    pub pools: ::prost::alloc::vec::Vec<LendingPool>,
676}
677impl ::prost::Name for GenesisState {
678    const NAME: &'static str = "GenesisState";
679    const PACKAGE: &'static str = "side.lending";
680    fn full_name() -> ::prost::alloc::string::String {
681        ::prost::alloc::format!("side.lending.{}", Self::NAME)
682    }
683}
684/// QueryPoolRequest is request type for the Query/Pool RPC method.
685#[allow(clippy::derive_partial_eq_without_eq)]
686#[derive(Clone, PartialEq, ::prost::Message)]
687pub struct QueryPoolRequest {
688    #[prost(string, tag = "1")]
689    pub id: ::prost::alloc::string::String,
690}
691impl ::prost::Name for QueryPoolRequest {
692    const NAME: &'static str = "QueryPoolRequest";
693    const PACKAGE: &'static str = "side.lending";
694    fn full_name() -> ::prost::alloc::string::String {
695        ::prost::alloc::format!("side.lending.{}", Self::NAME)
696    }
697}
698/// QueryPoolResponse is response type for the Query/Pool RPC method.
699#[allow(clippy::derive_partial_eq_without_eq)]
700#[derive(Clone, PartialEq, ::prost::Message)]
701pub struct QueryPoolResponse {
702    #[prost(message, optional, tag = "1")]
703    pub pool: ::core::option::Option<LendingPool>,
704}
705impl ::prost::Name for QueryPoolResponse {
706    const NAME: &'static str = "QueryPoolResponse";
707    const PACKAGE: &'static str = "side.lending";
708    fn full_name() -> ::prost::alloc::string::String {
709        ::prost::alloc::format!("side.lending.{}", Self::NAME)
710    }
711}
712/// QueryPoolsRequest is request type for the Query/Pools RPC method.
713#[allow(clippy::derive_partial_eq_without_eq)]
714#[derive(Clone, PartialEq, ::prost::Message)]
715pub struct QueryPoolsRequest {
716    #[prost(message, optional, tag = "1")]
717    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
718}
719impl ::prost::Name for QueryPoolsRequest {
720    const NAME: &'static str = "QueryPoolsRequest";
721    const PACKAGE: &'static str = "side.lending";
722    fn full_name() -> ::prost::alloc::string::String {
723        ::prost::alloc::format!("side.lending.{}", Self::NAME)
724    }
725}
726/// QueryPoolsResponse is response type for the Query/Pools RPC method.
727#[allow(clippy::derive_partial_eq_without_eq)]
728#[derive(Clone, PartialEq, ::prost::Message)]
729pub struct QueryPoolsResponse {
730    #[prost(message, repeated, tag = "1")]
731    pub pools: ::prost::alloc::vec::Vec<LendingPool>,
732    #[prost(message, optional, tag = "2")]
733    pub pagination:
734        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
735}
736impl ::prost::Name for QueryPoolsResponse {
737    const NAME: &'static str = "QueryPoolsResponse";
738    const PACKAGE: &'static str = "side.lending";
739    fn full_name() -> ::prost::alloc::string::String {
740        ::prost::alloc::format!("side.lending.{}", Self::NAME)
741    }
742}
743/// QueryPoolExchangeRateRequest is request type for the Query/PoolExchangeRate RPC method.
744#[allow(clippy::derive_partial_eq_without_eq)]
745#[derive(Clone, PartialEq, ::prost::Message)]
746pub struct QueryPoolExchangeRateRequest {
747    #[prost(string, tag = "1")]
748    pub pool_id: ::prost::alloc::string::String,
749}
750impl ::prost::Name for QueryPoolExchangeRateRequest {
751    const NAME: &'static str = "QueryPoolExchangeRateRequest";
752    const PACKAGE: &'static str = "side.lending";
753    fn full_name() -> ::prost::alloc::string::String {
754        ::prost::alloc::format!("side.lending.{}", Self::NAME)
755    }
756}
757/// QueryPoolExchangeRateResponse is response type for the Query/PoolExchangeRate RPC method.
758#[allow(clippy::derive_partial_eq_without_eq)]
759#[derive(Clone, PartialEq, ::prost::Message)]
760pub struct QueryPoolExchangeRateResponse {
761    #[prost(string, tag = "1")]
762    pub exchange_rate: ::prost::alloc::string::String,
763}
764impl ::prost::Name for QueryPoolExchangeRateResponse {
765    const NAME: &'static str = "QueryPoolExchangeRateResponse";
766    const PACKAGE: &'static str = "side.lending";
767    fn full_name() -> ::prost::alloc::string::String {
768        ::prost::alloc::format!("side.lending.{}", Self::NAME)
769    }
770}
771#[allow(clippy::derive_partial_eq_without_eq)]
772#[derive(Clone, PartialEq, ::prost::Message)]
773pub struct QueryLiquidationPriceRequest {
774    #[prost(string, tag = "1")]
775    pub pool_id: ::prost::alloc::string::String,
776    #[prost(string, tag = "2")]
777    pub collateral_amount: ::prost::alloc::string::String,
778    #[prost(string, tag = "3")]
779    pub borrow_amount: ::prost::alloc::string::String,
780    #[prost(int64, tag = "4")]
781    pub maturity: i64,
782}
783impl ::prost::Name for QueryLiquidationPriceRequest {
784    const NAME: &'static str = "QueryLiquidationPriceRequest";
785    const PACKAGE: &'static str = "side.lending";
786    fn full_name() -> ::prost::alloc::string::String {
787        ::prost::alloc::format!("side.lending.{}", Self::NAME)
788    }
789}
790#[allow(clippy::derive_partial_eq_without_eq)]
791#[derive(Clone, PartialEq, ::prost::Message)]
792pub struct QueryLiquidationPriceResponse {
793    #[prost(string, tag = "1")]
794    pub price: ::prost::alloc::string::String,
795    #[prost(string, tag = "2")]
796    pub pair: ::prost::alloc::string::String,
797}
798impl ::prost::Name for QueryLiquidationPriceResponse {
799    const NAME: &'static str = "QueryLiquidationPriceResponse";
800    const PACKAGE: &'static str = "side.lending";
801    fn full_name() -> ::prost::alloc::string::String {
802        ::prost::alloc::format!("side.lending.{}", Self::NAME)
803    }
804}
805#[allow(clippy::derive_partial_eq_without_eq)]
806#[derive(Clone, PartialEq, ::prost::Message)]
807pub struct QueryDlcEventCountRequest {}
808impl ::prost::Name for QueryDlcEventCountRequest {
809    const NAME: &'static str = "QueryDlcEventCountRequest";
810    const PACKAGE: &'static str = "side.lending";
811    fn full_name() -> ::prost::alloc::string::String {
812        ::prost::alloc::format!("side.lending.{}", Self::NAME)
813    }
814}
815#[allow(clippy::derive_partial_eq_without_eq)]
816#[derive(Clone, PartialEq, ::prost::Message)]
817pub struct QueryDlcEventCountResponse {
818    #[prost(uint64, tag = "1")]
819    pub count: u64,
820}
821impl ::prost::Name for QueryDlcEventCountResponse {
822    const NAME: &'static str = "QueryDlcEventCountResponse";
823    const PACKAGE: &'static str = "side.lending";
824    fn full_name() -> ::prost::alloc::string::String {
825        ::prost::alloc::format!("side.lending.{}", Self::NAME)
826    }
827}
828#[allow(clippy::derive_partial_eq_without_eq)]
829#[derive(Clone, PartialEq, ::prost::Message)]
830pub struct QueryLoanCetInfosRequest {
831    #[prost(string, tag = "1")]
832    pub loan_id: ::prost::alloc::string::String,
833    #[prost(string, tag = "2")]
834    pub collateral_amount: ::prost::alloc::string::String,
835}
836impl ::prost::Name for QueryLoanCetInfosRequest {
837    const NAME: &'static str = "QueryLoanCetInfosRequest";
838    const PACKAGE: &'static str = "side.lending";
839    fn full_name() -> ::prost::alloc::string::String {
840        ::prost::alloc::format!("side.lending.{}", Self::NAME)
841    }
842}
843#[allow(clippy::derive_partial_eq_without_eq)]
844#[derive(Clone, PartialEq, ::prost::Message)]
845pub struct QueryLoanCetInfosResponse {
846    #[prost(message, optional, tag = "1")]
847    pub liquidation_cet_info: ::core::option::Option<CetInfo>,
848    #[prost(message, optional, tag = "2")]
849    pub default_liquidation_cet_info: ::core::option::Option<CetInfo>,
850    #[prost(message, optional, tag = "3")]
851    pub repayment_cet_info: ::core::option::Option<CetInfo>,
852}
853impl ::prost::Name for QueryLoanCetInfosResponse {
854    const NAME: &'static str = "QueryLoanCetInfosResponse";
855    const PACKAGE: &'static str = "side.lending";
856    fn full_name() -> ::prost::alloc::string::String {
857        ::prost::alloc::format!("side.lending.{}", Self::NAME)
858    }
859}
860#[allow(clippy::derive_partial_eq_without_eq)]
861#[derive(Clone, PartialEq, ::prost::Message)]
862pub struct QueryCollateralAddressRequest {
863    #[prost(string, tag = "1")]
864    pub borrower_pubkey: ::prost::alloc::string::String,
865    #[prost(string, tag = "2")]
866    pub borrower_auth_pubkey: ::prost::alloc::string::String,
867    #[prost(string, tag = "3")]
868    pub dcm_pubkey: ::prost::alloc::string::String,
869    #[prost(uint64, tag = "4")]
870    pub maturity_time: u64,
871}
872impl ::prost::Name for QueryCollateralAddressRequest {
873    const NAME: &'static str = "QueryCollateralAddressRequest";
874    const PACKAGE: &'static str = "side.lending";
875    fn full_name() -> ::prost::alloc::string::String {
876        ::prost::alloc::format!("side.lending.{}", Self::NAME)
877    }
878}
879#[allow(clippy::derive_partial_eq_without_eq)]
880#[derive(Clone, PartialEq, ::prost::Message)]
881pub struct QueryCollateralAddressResponse {
882    #[prost(string, tag = "1")]
883    pub address: ::prost::alloc::string::String,
884}
885impl ::prost::Name for QueryCollateralAddressResponse {
886    const NAME: &'static str = "QueryCollateralAddressResponse";
887    const PACKAGE: &'static str = "side.lending";
888    fn full_name() -> ::prost::alloc::string::String {
889        ::prost::alloc::format!("side.lending.{}", Self::NAME)
890    }
891}
892/// QueryParamsRequest is request type for the Query/Params RPC method.
893#[allow(clippy::derive_partial_eq_without_eq)]
894#[derive(Clone, PartialEq, ::prost::Message)]
895pub struct QueryParamsRequest {}
896impl ::prost::Name for QueryParamsRequest {
897    const NAME: &'static str = "QueryParamsRequest";
898    const PACKAGE: &'static str = "side.lending";
899    fn full_name() -> ::prost::alloc::string::String {
900        ::prost::alloc::format!("side.lending.{}", Self::NAME)
901    }
902}
903/// QueryParamsResponse is response type for the Query/Params RPC method.
904#[allow(clippy::derive_partial_eq_without_eq)]
905#[derive(Clone, PartialEq, ::prost::Message)]
906pub struct QueryParamsResponse {
907    #[prost(message, optional, tag = "1")]
908    pub params: ::core::option::Option<Params>,
909}
910impl ::prost::Name for QueryParamsResponse {
911    const NAME: &'static str = "QueryParamsResponse";
912    const PACKAGE: &'static str = "side.lending";
913    fn full_name() -> ::prost::alloc::string::String {
914        ::prost::alloc::format!("side.lending.{}", Self::NAME)
915    }
916}
917/// QueryLoanRequest is request type for the Query/Loan RPC method.
918#[allow(clippy::derive_partial_eq_without_eq)]
919#[derive(Clone, PartialEq, ::prost::Message)]
920pub struct QueryLoanRequest {
921    #[prost(string, tag = "1")]
922    pub id: ::prost::alloc::string::String,
923}
924impl ::prost::Name for QueryLoanRequest {
925    const NAME: &'static str = "QueryLoanRequest";
926    const PACKAGE: &'static str = "side.lending";
927    fn full_name() -> ::prost::alloc::string::String {
928        ::prost::alloc::format!("side.lending.{}", Self::NAME)
929    }
930}
931/// QueryLoanResponse is response type for the Query/Loan RPC method.
932#[allow(clippy::derive_partial_eq_without_eq)]
933#[derive(Clone, PartialEq, ::prost::Message)]
934pub struct QueryLoanResponse {
935    #[prost(message, optional, tag = "1")]
936    pub loan: ::core::option::Option<Loan>,
937}
938impl ::prost::Name for QueryLoanResponse {
939    const NAME: &'static str = "QueryLoanResponse";
940    const PACKAGE: &'static str = "side.lending";
941    fn full_name() -> ::prost::alloc::string::String {
942        ::prost::alloc::format!("side.lending.{}", Self::NAME)
943    }
944}
945/// QueryLoansRequest is request type for the Query/Loans RPC method.
946#[allow(clippy::derive_partial_eq_without_eq)]
947#[derive(Clone, PartialEq, ::prost::Message)]
948pub struct QueryLoansRequest {
949    #[prost(enumeration = "LoanStatus", tag = "1")]
950    pub status: i32,
951    #[prost(message, optional, tag = "2")]
952    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
953}
954impl ::prost::Name for QueryLoansRequest {
955    const NAME: &'static str = "QueryLoansRequest";
956    const PACKAGE: &'static str = "side.lending";
957    fn full_name() -> ::prost::alloc::string::String {
958        ::prost::alloc::format!("side.lending.{}", Self::NAME)
959    }
960}
961/// QueryLoansResponse is response type for the Query/Loans RPC method.
962#[allow(clippy::derive_partial_eq_without_eq)]
963#[derive(Clone, PartialEq, ::prost::Message)]
964pub struct QueryLoansResponse {
965    #[prost(message, repeated, tag = "1")]
966    pub loans: ::prost::alloc::vec::Vec<Loan>,
967    #[prost(message, optional, tag = "2")]
968    pub pagination:
969        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
970}
971impl ::prost::Name for QueryLoansResponse {
972    const NAME: &'static str = "QueryLoansResponse";
973    const PACKAGE: &'static str = "side.lending";
974    fn full_name() -> ::prost::alloc::string::String {
975        ::prost::alloc::format!("side.lending.{}", Self::NAME)
976    }
977}
978/// QueryLoansByAddressRequest is request type for the Query/LoansByAddress RPC method.
979#[allow(clippy::derive_partial_eq_without_eq)]
980#[derive(Clone, PartialEq, ::prost::Message)]
981pub struct QueryLoansByAddressRequest {
982    #[prost(string, tag = "1")]
983    pub address: ::prost::alloc::string::String,
984    #[prost(enumeration = "LoanStatus", tag = "2")]
985    pub status: i32,
986    #[prost(message, optional, tag = "3")]
987    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
988}
989impl ::prost::Name for QueryLoansByAddressRequest {
990    const NAME: &'static str = "QueryLoansByAddressRequest";
991    const PACKAGE: &'static str = "side.lending";
992    fn full_name() -> ::prost::alloc::string::String {
993        ::prost::alloc::format!("side.lending.{}", Self::NAME)
994    }
995}
996/// QueryLoansByAddressResponse is response type for the Query/LoansByAddress RPC method.
997#[allow(clippy::derive_partial_eq_without_eq)]
998#[derive(Clone, PartialEq, ::prost::Message)]
999pub struct QueryLoansByAddressResponse {
1000    #[prost(message, repeated, tag = "1")]
1001    pub loans: ::prost::alloc::vec::Vec<Loan>,
1002    #[prost(message, optional, tag = "2")]
1003    pub pagination:
1004        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
1005}
1006impl ::prost::Name for QueryLoansByAddressResponse {
1007    const NAME: &'static str = "QueryLoansByAddressResponse";
1008    const PACKAGE: &'static str = "side.lending";
1009    fn full_name() -> ::prost::alloc::string::String {
1010        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1011    }
1012}
1013/// QueryLoansByOracleRequest is request type for the Query/LoansByOracle RPC method.
1014#[allow(clippy::derive_partial_eq_without_eq)]
1015#[derive(Clone, PartialEq, ::prost::Message)]
1016pub struct QueryLoansByOracleRequest {
1017    #[prost(string, tag = "1")]
1018    pub oracle_pubkey: ::prost::alloc::string::String,
1019    #[prost(message, optional, tag = "2")]
1020    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1021}
1022impl ::prost::Name for QueryLoansByOracleRequest {
1023    const NAME: &'static str = "QueryLoansByOracleRequest";
1024    const PACKAGE: &'static str = "side.lending";
1025    fn full_name() -> ::prost::alloc::string::String {
1026        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1027    }
1028}
1029/// QueryLoansByOracleResponse is response type for the Query/LoansByOracle RPC method.
1030#[allow(clippy::derive_partial_eq_without_eq)]
1031#[derive(Clone, PartialEq, ::prost::Message)]
1032pub struct QueryLoansByOracleResponse {
1033    #[prost(message, repeated, tag = "1")]
1034    pub loans: ::prost::alloc::vec::Vec<Loan>,
1035    #[prost(message, optional, tag = "2")]
1036    pub pagination:
1037        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
1038}
1039impl ::prost::Name for QueryLoansByOracleResponse {
1040    const NAME: &'static str = "QueryLoansByOracleResponse";
1041    const PACKAGE: &'static str = "side.lending";
1042    fn full_name() -> ::prost::alloc::string::String {
1043        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1044    }
1045}
1046/// QueryLoanDlcMetaRequest is request type for the Query/LoanDlcMeta RPC method.
1047#[allow(clippy::derive_partial_eq_without_eq)]
1048#[derive(Clone, PartialEq, ::prost::Message)]
1049pub struct QueryLoanDlcMetaRequest {
1050    #[prost(string, tag = "1")]
1051    pub loan_id: ::prost::alloc::string::String,
1052}
1053impl ::prost::Name for QueryLoanDlcMetaRequest {
1054    const NAME: &'static str = "QueryLoanDlcMetaRequest";
1055    const PACKAGE: &'static str = "side.lending";
1056    fn full_name() -> ::prost::alloc::string::String {
1057        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1058    }
1059}
1060/// QueryLoanDlcMetaResponse is response type for the Query/LoanDlcMeta RPC method.
1061#[allow(clippy::derive_partial_eq_without_eq)]
1062#[derive(Clone, PartialEq, ::prost::Message)]
1063pub struct QueryLoanDlcMetaResponse {
1064    #[prost(message, optional, tag = "1")]
1065    pub dlc_meta: ::core::option::Option<DlcMeta>,
1066}
1067impl ::prost::Name for QueryLoanDlcMetaResponse {
1068    const NAME: &'static str = "QueryLoanDlcMetaResponse";
1069    const PACKAGE: &'static str = "side.lending";
1070    fn full_name() -> ::prost::alloc::string::String {
1071        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1072    }
1073}
1074/// QueryLoanAuthorizationRequest is request type for the Query/LoanAuthorization RPC method.
1075#[allow(clippy::derive_partial_eq_without_eq)]
1076#[derive(Clone, PartialEq, ::prost::Message)]
1077pub struct QueryLoanAuthorizationRequest {
1078    #[prost(string, tag = "1")]
1079    pub loan_id: ::prost::alloc::string::String,
1080    #[prost(uint64, tag = "2")]
1081    pub id: u64,
1082}
1083impl ::prost::Name for QueryLoanAuthorizationRequest {
1084    const NAME: &'static str = "QueryLoanAuthorizationRequest";
1085    const PACKAGE: &'static str = "side.lending";
1086    fn full_name() -> ::prost::alloc::string::String {
1087        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1088    }
1089}
1090/// QueryLoanAuthorizationResponse is response type for the Query/LoanAuthorization RPC method.
1091#[allow(clippy::derive_partial_eq_without_eq)]
1092#[derive(Clone, PartialEq, ::prost::Message)]
1093pub struct QueryLoanAuthorizationResponse {
1094    #[prost(message, repeated, tag = "1")]
1095    pub deposits: ::prost::alloc::vec::Vec<DepositLog>,
1096    #[prost(enumeration = "AuthorizationStatus", tag = "2")]
1097    pub status: i32,
1098}
1099impl ::prost::Name for QueryLoanAuthorizationResponse {
1100    const NAME: &'static str = "QueryLoanAuthorizationResponse";
1101    const PACKAGE: &'static str = "side.lending";
1102    fn full_name() -> ::prost::alloc::string::String {
1103        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1104    }
1105}
1106#[allow(clippy::derive_partial_eq_without_eq)]
1107#[derive(Clone, PartialEq, ::prost::Message)]
1108pub struct QueryLoanDepositsRequest {
1109    #[prost(string, tag = "1")]
1110    pub loan_id: ::prost::alloc::string::String,
1111}
1112impl ::prost::Name for QueryLoanDepositsRequest {
1113    const NAME: &'static str = "QueryLoanDepositsRequest";
1114    const PACKAGE: &'static str = "side.lending";
1115    fn full_name() -> ::prost::alloc::string::String {
1116        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1117    }
1118}
1119#[allow(clippy::derive_partial_eq_without_eq)]
1120#[derive(Clone, PartialEq, ::prost::Message)]
1121pub struct QueryLoanDepositsResponse {
1122    #[prost(message, repeated, tag = "1")]
1123    pub deposits: ::prost::alloc::vec::Vec<DepositLog>,
1124}
1125impl ::prost::Name for QueryLoanDepositsResponse {
1126    const NAME: &'static str = "QueryLoanDepositsResponse";
1127    const PACKAGE: &'static str = "side.lending";
1128    fn full_name() -> ::prost::alloc::string::String {
1129        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1130    }
1131}
1132/// QueryRedemptionRequest is request type for the Query/Redemption RPC method.
1133#[allow(clippy::derive_partial_eq_without_eq)]
1134#[derive(Clone, PartialEq, ::prost::Message)]
1135pub struct QueryRedemptionRequest {
1136    #[prost(uint64, tag = "1")]
1137    pub id: u64,
1138}
1139impl ::prost::Name for QueryRedemptionRequest {
1140    const NAME: &'static str = "QueryRedemptionRequest";
1141    const PACKAGE: &'static str = "side.lending";
1142    fn full_name() -> ::prost::alloc::string::String {
1143        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1144    }
1145}
1146/// QueryRedemptionResponse is response type for the Query/Redemption RPC method.
1147#[allow(clippy::derive_partial_eq_without_eq)]
1148#[derive(Clone, PartialEq, ::prost::Message)]
1149pub struct QueryRedemptionResponse {
1150    #[prost(message, optional, tag = "1")]
1151    pub redemption: ::core::option::Option<Redemption>,
1152}
1153impl ::prost::Name for QueryRedemptionResponse {
1154    const NAME: &'static str = "QueryRedemptionResponse";
1155    const PACKAGE: &'static str = "side.lending";
1156    fn full_name() -> ::prost::alloc::string::String {
1157        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1158    }
1159}
1160#[allow(clippy::derive_partial_eq_without_eq)]
1161#[derive(Clone, PartialEq, ::prost::Message)]
1162pub struct QueryRepaymentRequest {
1163    #[prost(string, tag = "1")]
1164    pub loan_id: ::prost::alloc::string::String,
1165}
1166impl ::prost::Name for QueryRepaymentRequest {
1167    const NAME: &'static str = "QueryRepaymentRequest";
1168    const PACKAGE: &'static str = "side.lending";
1169    fn full_name() -> ::prost::alloc::string::String {
1170        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1171    }
1172}
1173#[allow(clippy::derive_partial_eq_without_eq)]
1174#[derive(Clone, PartialEq, ::prost::Message)]
1175pub struct QueryRepaymentResponse {
1176    #[prost(message, optional, tag = "1")]
1177    pub repayment: ::core::option::Option<Repayment>,
1178}
1179impl ::prost::Name for QueryRepaymentResponse {
1180    const NAME: &'static str = "QueryRepaymentResponse";
1181    const PACKAGE: &'static str = "side.lending";
1182    fn full_name() -> ::prost::alloc::string::String {
1183        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1184    }
1185}
1186#[allow(clippy::derive_partial_eq_without_eq)]
1187#[derive(Clone, PartialEq, ::prost::Message)]
1188pub struct QueryCurrentInterestRequest {
1189    #[prost(string, tag = "1")]
1190    pub loan_id: ::prost::alloc::string::String,
1191}
1192impl ::prost::Name for QueryCurrentInterestRequest {
1193    const NAME: &'static str = "QueryCurrentInterestRequest";
1194    const PACKAGE: &'static str = "side.lending";
1195    fn full_name() -> ::prost::alloc::string::String {
1196        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1197    }
1198}
1199#[allow(clippy::derive_partial_eq_without_eq)]
1200#[derive(Clone, PartialEq, ::prost::Message)]
1201pub struct QueryCurrentInterestResponse {
1202    #[prost(message, optional, tag = "1")]
1203    pub interest: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1204}
1205impl ::prost::Name for QueryCurrentInterestResponse {
1206    const NAME: &'static str = "QueryCurrentInterestResponse";
1207    const PACKAGE: &'static str = "side.lending";
1208    fn full_name() -> ::prost::alloc::string::String {
1209        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1210    }
1211}
1212#[allow(clippy::derive_partial_eq_without_eq)]
1213#[derive(Clone, PartialEq, ::prost::Message)]
1214pub struct QueryReferrersRequest {
1215    #[prost(message, optional, tag = "1")]
1216    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1217}
1218impl ::prost::Name for QueryReferrersRequest {
1219    const NAME: &'static str = "QueryReferrersRequest";
1220    const PACKAGE: &'static str = "side.lending";
1221    fn full_name() -> ::prost::alloc::string::String {
1222        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1223    }
1224}
1225#[allow(clippy::derive_partial_eq_without_eq)]
1226#[derive(Clone, PartialEq, ::prost::Message)]
1227pub struct QueryReferrersResponse {
1228    #[prost(message, repeated, tag = "1")]
1229    pub referrers: ::prost::alloc::vec::Vec<Referrer>,
1230    #[prost(message, optional, tag = "2")]
1231    pub pagination:
1232        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
1233}
1234impl ::prost::Name for QueryReferrersResponse {
1235    const NAME: &'static str = "QueryReferrersResponse";
1236    const PACKAGE: &'static str = "side.lending";
1237    fn full_name() -> ::prost::alloc::string::String {
1238        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1239    }
1240}
1241#[allow(clippy::derive_partial_eq_without_eq)]
1242#[derive(Clone, PartialEq, ::prost::Message)]
1243pub struct MsgCreatePool {
1244    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1245    #[prost(string, tag = "1")]
1246    pub authority: ::prost::alloc::string::String,
1247    /// pool id
1248    #[prost(string, tag = "2")]
1249    pub id: ::prost::alloc::string::String,
1250    /// pool config
1251    #[prost(message, optional, tag = "3")]
1252    pub config: ::core::option::Option<PoolConfig>,
1253}
1254impl ::prost::Name for MsgCreatePool {
1255    const NAME: &'static str = "MsgCreatePool";
1256    const PACKAGE: &'static str = "side.lending";
1257    fn full_name() -> ::prost::alloc::string::String {
1258        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1259    }
1260}
1261#[allow(clippy::derive_partial_eq_without_eq)]
1262#[derive(Clone, PartialEq, ::prost::Message)]
1263pub struct MsgCreatePoolResponse {}
1264impl ::prost::Name for MsgCreatePoolResponse {
1265    const NAME: &'static str = "MsgCreatePoolResponse";
1266    const PACKAGE: &'static str = "side.lending";
1267    fn full_name() -> ::prost::alloc::string::String {
1268        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1269    }
1270}
1271#[allow(clippy::derive_partial_eq_without_eq)]
1272#[derive(Clone, PartialEq, ::prost::Message)]
1273pub struct MsgUpdatePoolConfig {
1274    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1275    #[prost(string, tag = "1")]
1276    pub authority: ::prost::alloc::string::String,
1277    /// pool id
1278    #[prost(string, tag = "2")]
1279    pub pool_id: ::prost::alloc::string::String,
1280    /// pool config
1281    #[prost(message, optional, tag = "3")]
1282    pub config: ::core::option::Option<PoolConfig>,
1283}
1284impl ::prost::Name for MsgUpdatePoolConfig {
1285    const NAME: &'static str = "MsgUpdatePoolConfig";
1286    const PACKAGE: &'static str = "side.lending";
1287    fn full_name() -> ::prost::alloc::string::String {
1288        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1289    }
1290}
1291#[allow(clippy::derive_partial_eq_without_eq)]
1292#[derive(Clone, PartialEq, ::prost::Message)]
1293pub struct MsgUpdatePoolConfigResponse {}
1294impl ::prost::Name for MsgUpdatePoolConfigResponse {
1295    const NAME: &'static str = "MsgUpdatePoolConfigResponse";
1296    const PACKAGE: &'static str = "side.lending";
1297    fn full_name() -> ::prost::alloc::string::String {
1298        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1299    }
1300}
1301#[allow(clippy::derive_partial_eq_without_eq)]
1302#[derive(Clone, PartialEq, ::prost::Message)]
1303pub struct MsgRepay {
1304    #[prost(string, tag = "1")]
1305    pub borrower: ::prost::alloc::string::String,
1306    #[prost(string, tag = "2")]
1307    pub loan_id: ::prost::alloc::string::String,
1308}
1309impl ::prost::Name for MsgRepay {
1310    const NAME: &'static str = "MsgRepay";
1311    const PACKAGE: &'static str = "side.lending";
1312    fn full_name() -> ::prost::alloc::string::String {
1313        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1314    }
1315}
1316#[allow(clippy::derive_partial_eq_without_eq)]
1317#[derive(Clone, PartialEq, ::prost::Message)]
1318pub struct MsgRepayResponse {}
1319impl ::prost::Name for MsgRepayResponse {
1320    const NAME: &'static str = "MsgRepayResponse";
1321    const PACKAGE: &'static str = "side.lending";
1322    fn full_name() -> ::prost::alloc::string::String {
1323        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1324    }
1325}
1326#[allow(clippy::derive_partial_eq_without_eq)]
1327#[derive(Clone, PartialEq, ::prost::Message)]
1328pub struct MsgAddLiquidity {
1329    #[prost(string, tag = "1")]
1330    pub lender: ::prost::alloc::string::String,
1331    #[prost(string, tag = "2")]
1332    pub pool_id: ::prost::alloc::string::String,
1333    #[prost(message, optional, tag = "3")]
1334    pub amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1335}
1336impl ::prost::Name for MsgAddLiquidity {
1337    const NAME: &'static str = "MsgAddLiquidity";
1338    const PACKAGE: &'static str = "side.lending";
1339    fn full_name() -> ::prost::alloc::string::String {
1340        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1341    }
1342}
1343#[allow(clippy::derive_partial_eq_without_eq)]
1344#[derive(Clone, PartialEq, ::prost::Message)]
1345pub struct MsgAddLiquidityResponse {}
1346impl ::prost::Name for MsgAddLiquidityResponse {
1347    const NAME: &'static str = "MsgAddLiquidityResponse";
1348    const PACKAGE: &'static str = "side.lending";
1349    fn full_name() -> ::prost::alloc::string::String {
1350        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1351    }
1352}
1353#[allow(clippy::derive_partial_eq_without_eq)]
1354#[derive(Clone, PartialEq, ::prost::Message)]
1355pub struct MsgRemoveLiquidity {
1356    #[prost(string, tag = "1")]
1357    pub lender: ::prost::alloc::string::String,
1358    #[prost(message, optional, tag = "2")]
1359    pub ytokens: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1360}
1361impl ::prost::Name for MsgRemoveLiquidity {
1362    const NAME: &'static str = "MsgRemoveLiquidity";
1363    const PACKAGE: &'static str = "side.lending";
1364    fn full_name() -> ::prost::alloc::string::String {
1365        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1366    }
1367}
1368#[allow(clippy::derive_partial_eq_without_eq)]
1369#[derive(Clone, PartialEq, ::prost::Message)]
1370pub struct MsgRemoveLiquidityResponse {}
1371impl ::prost::Name for MsgRemoveLiquidityResponse {
1372    const NAME: &'static str = "MsgRemoveLiquidityResponse";
1373    const PACKAGE: &'static str = "side.lending";
1374    fn full_name() -> ::prost::alloc::string::String {
1375        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1376    }
1377}
1378#[allow(clippy::derive_partial_eq_without_eq)]
1379#[derive(Clone, PartialEq, ::prost::Message)]
1380pub struct MsgApply {
1381    #[prost(string, tag = "1")]
1382    pub borrower: ::prost::alloc::string::String,
1383    #[prost(string, tag = "2")]
1384    pub borrower_pubkey: ::prost::alloc::string::String,
1385    #[prost(string, tag = "3")]
1386    pub borrower_auth_pubkey: ::prost::alloc::string::String,
1387    #[prost(string, tag = "4")]
1388    pub pool_id: ::prost::alloc::string::String,
1389    #[prost(message, optional, tag = "5")]
1390    pub borrow_amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
1391    #[prost(int64, tag = "6")]
1392    pub maturity: i64,
1393    #[prost(uint64, tag = "7")]
1394    pub dcm_id: u64,
1395    #[prost(string, tag = "8")]
1396    pub referral_code: ::prost::alloc::string::String,
1397}
1398impl ::prost::Name for MsgApply {
1399    const NAME: &'static str = "MsgApply";
1400    const PACKAGE: &'static str = "side.lending";
1401    fn full_name() -> ::prost::alloc::string::String {
1402        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1403    }
1404}
1405#[allow(clippy::derive_partial_eq_without_eq)]
1406#[derive(Clone, PartialEq, ::prost::Message)]
1407pub struct MsgApplyResponse {}
1408impl ::prost::Name for MsgApplyResponse {
1409    const NAME: &'static str = "MsgApplyResponse";
1410    const PACKAGE: &'static str = "side.lending";
1411    fn full_name() -> ::prost::alloc::string::String {
1412        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1413    }
1414}
1415#[allow(clippy::derive_partial_eq_without_eq)]
1416#[derive(Clone, PartialEq, ::prost::Message)]
1417pub struct MsgSubmitCets {
1418    #[prost(string, tag = "1")]
1419    pub borrower: ::prost::alloc::string::String,
1420    #[prost(string, tag = "2")]
1421    pub loan_id: ::prost::alloc::string::String,
1422    #[prost(string, repeated, tag = "3")]
1423    pub deposit_txs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1424    #[prost(string, tag = "4")]
1425    pub liquidation_cet: ::prost::alloc::string::String,
1426    #[prost(string, repeated, tag = "5")]
1427    pub liquidation_adaptor_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1428    #[prost(string, repeated, tag = "6")]
1429    pub default_liquidation_adaptor_signatures:
1430        ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1431    #[prost(string, tag = "7")]
1432    pub repayment_cet: ::prost::alloc::string::String,
1433    #[prost(string, repeated, tag = "8")]
1434    pub repayment_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1435}
1436impl ::prost::Name for MsgSubmitCets {
1437    const NAME: &'static str = "MsgSubmitCets";
1438    const PACKAGE: &'static str = "side.lending";
1439    fn full_name() -> ::prost::alloc::string::String {
1440        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1441    }
1442}
1443#[allow(clippy::derive_partial_eq_without_eq)]
1444#[derive(Clone, PartialEq, ::prost::Message)]
1445pub struct MsgSubmitCetsResponse {}
1446impl ::prost::Name for MsgSubmitCetsResponse {
1447    const NAME: &'static str = "MsgSubmitCetsResponse";
1448    const PACKAGE: &'static str = "side.lending";
1449    fn full_name() -> ::prost::alloc::string::String {
1450        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1451    }
1452}
1453#[allow(clippy::derive_partial_eq_without_eq)]
1454#[derive(Clone, PartialEq, ::prost::Message)]
1455pub struct MsgSubmitDepositTransaction {
1456    #[prost(string, tag = "1")]
1457    pub relayer: ::prost::alloc::string::String,
1458    #[prost(string, tag = "2")]
1459    pub vault: ::prost::alloc::string::String,
1460    #[prost(string, tag = "3")]
1461    pub deposit_tx: ::prost::alloc::string::String,
1462    #[prost(string, tag = "4")]
1463    pub block_hash: ::prost::alloc::string::String,
1464    #[prost(string, repeated, tag = "5")]
1465    pub proof: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1466}
1467impl ::prost::Name for MsgSubmitDepositTransaction {
1468    const NAME: &'static str = "MsgSubmitDepositTransaction";
1469    const PACKAGE: &'static str = "side.lending";
1470    fn full_name() -> ::prost::alloc::string::String {
1471        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1472    }
1473}
1474#[allow(clippy::derive_partial_eq_without_eq)]
1475#[derive(Clone, PartialEq, ::prost::Message)]
1476pub struct MsgSubmitDepositTransactionResponse {}
1477impl ::prost::Name for MsgSubmitDepositTransactionResponse {
1478    const NAME: &'static str = "MsgSubmitDepositTransactionResponse";
1479    const PACKAGE: &'static str = "side.lending";
1480    fn full_name() -> ::prost::alloc::string::String {
1481        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1482    }
1483}
1484#[allow(clippy::derive_partial_eq_without_eq)]
1485#[derive(Clone, PartialEq, ::prost::Message)]
1486pub struct MsgRedeem {
1487    #[prost(string, tag = "1")]
1488    pub borrower: ::prost::alloc::string::String,
1489    #[prost(string, tag = "2")]
1490    pub loan_id: ::prost::alloc::string::String,
1491    #[prost(string, tag = "3")]
1492    pub tx: ::prost::alloc::string::String,
1493    #[prost(string, repeated, tag = "4")]
1494    pub signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1495}
1496impl ::prost::Name for MsgRedeem {
1497    const NAME: &'static str = "MsgRedeem";
1498    const PACKAGE: &'static str = "side.lending";
1499    fn full_name() -> ::prost::alloc::string::String {
1500        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1501    }
1502}
1503#[allow(clippy::derive_partial_eq_without_eq)]
1504#[derive(Clone, PartialEq, ::prost::Message)]
1505pub struct MsgRedeemResponse {}
1506impl ::prost::Name for MsgRedeemResponse {
1507    const NAME: &'static str = "MsgRedeemResponse";
1508    const PACKAGE: &'static str = "side.lending";
1509    fn full_name() -> ::prost::alloc::string::String {
1510        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1511    }
1512}
1513/// MsgRegisterReferrer is the Msg/RegisterReferrer request type.
1514#[allow(clippy::derive_partial_eq_without_eq)]
1515#[derive(Clone, PartialEq, ::prost::Message)]
1516pub struct MsgRegisterReferrer {
1517    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1518    #[prost(string, tag = "1")]
1519    pub authority: ::prost::alloc::string::String,
1520    /// Optional referrer name
1521    #[prost(string, tag = "2")]
1522    pub name: ::prost::alloc::string::String,
1523    /// Unique referral code with 8 alphanumeric characters
1524    #[prost(string, tag = "3")]
1525    pub referral_code: ::prost::alloc::string::String,
1526    /// Referrer address
1527    #[prost(string, tag = "4")]
1528    pub address: ::prost::alloc::string::String,
1529    /// Referral fee factor
1530    #[prost(string, tag = "5")]
1531    pub referral_fee_factor: ::prost::alloc::string::String,
1532}
1533impl ::prost::Name for MsgRegisterReferrer {
1534    const NAME: &'static str = "MsgRegisterReferrer";
1535    const PACKAGE: &'static str = "side.lending";
1536    fn full_name() -> ::prost::alloc::string::String {
1537        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1538    }
1539}
1540/// MsgRegisterReferrerResponse defines the Msg/RegisterReferrer response type.
1541#[allow(clippy::derive_partial_eq_without_eq)]
1542#[derive(Clone, PartialEq, ::prost::Message)]
1543pub struct MsgRegisterReferrerResponse {}
1544impl ::prost::Name for MsgRegisterReferrerResponse {
1545    const NAME: &'static str = "MsgRegisterReferrerResponse";
1546    const PACKAGE: &'static str = "side.lending";
1547    fn full_name() -> ::prost::alloc::string::String {
1548        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1549    }
1550}
1551/// MsgUpdateReferrer is the Msg/UpdateReferrer request type.
1552#[allow(clippy::derive_partial_eq_without_eq)]
1553#[derive(Clone, PartialEq, ::prost::Message)]
1554pub struct MsgUpdateReferrer {
1555    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1556    #[prost(string, tag = "1")]
1557    pub authority: ::prost::alloc::string::String,
1558    /// new referrer name
1559    #[prost(string, tag = "2")]
1560    pub name: ::prost::alloc::string::String,
1561    /// Unique referral code with 8 alphanumeric characters
1562    #[prost(string, tag = "3")]
1563    pub referral_code: ::prost::alloc::string::String,
1564    /// new referrer address
1565    #[prost(string, tag = "4")]
1566    pub address: ::prost::alloc::string::String,
1567    /// new referral fee factor
1568    #[prost(string, tag = "5")]
1569    pub referral_fee_factor: ::prost::alloc::string::String,
1570}
1571impl ::prost::Name for MsgUpdateReferrer {
1572    const NAME: &'static str = "MsgUpdateReferrer";
1573    const PACKAGE: &'static str = "side.lending";
1574    fn full_name() -> ::prost::alloc::string::String {
1575        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1576    }
1577}
1578/// MsgUpdateReferrerResponse defines the Msg/UpdateReferrer response type.
1579#[allow(clippy::derive_partial_eq_without_eq)]
1580#[derive(Clone, PartialEq, ::prost::Message)]
1581pub struct MsgUpdateReferrerResponse {}
1582impl ::prost::Name for MsgUpdateReferrerResponse {
1583    const NAME: &'static str = "MsgUpdateReferrerResponse";
1584    const PACKAGE: &'static str = "side.lending";
1585    fn full_name() -> ::prost::alloc::string::String {
1586        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1587    }
1588}
1589/// MsgUpdateParams is the Msg/UpdateParams request type.
1590///
1591/// Since: cosmos-sdk 0.47
1592#[allow(clippy::derive_partial_eq_without_eq)]
1593#[derive(Clone, PartialEq, ::prost::Message)]
1594pub struct MsgUpdateParams {
1595    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1596    #[prost(string, tag = "1")]
1597    pub authority: ::prost::alloc::string::String,
1598    /// params defines the x/dlc parameters to be updated.
1599    ///
1600    /// NOTE: All parameters must be supplied.
1601    #[prost(message, optional, tag = "2")]
1602    pub params: ::core::option::Option<Params>,
1603}
1604impl ::prost::Name for MsgUpdateParams {
1605    const NAME: &'static str = "MsgUpdateParams";
1606    const PACKAGE: &'static str = "side.lending";
1607    fn full_name() -> ::prost::alloc::string::String {
1608        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1609    }
1610}
1611/// MsgUpdateParamsResponse defines the Msg/UpdateParams response type.
1612///
1613/// Since: cosmos-sdk 0.47
1614#[allow(clippy::derive_partial_eq_without_eq)]
1615#[derive(Clone, PartialEq, ::prost::Message)]
1616pub struct MsgUpdateParamsResponse {}
1617impl ::prost::Name for MsgUpdateParamsResponse {
1618    const NAME: &'static str = "MsgUpdateParamsResponse";
1619    const PACKAGE: &'static str = "side.lending";
1620    fn full_name() -> ::prost::alloc::string::String {
1621        ::prost::alloc::format!("side.lending.{}", Self::NAME)
1622    }
1623}
1624include!("side.lending.serde.rs");
1625include!("side.lending.tonic.rs");
1626// @@protoc_insertion_point(module)