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