1#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct Params {
6 #[prost(message, optional, tag = "1")]
8 pub final_timeout_duration:
9 ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
10 #[prost(int64, tag = "2")]
12 pub max_liquidation_fee_rate_multiplier: i64,
13 #[prost(string, tag = "3")]
15 pub request_fee_collector: ::prost::alloc::string::String,
16 #[prost(string, tag = "4")]
18 pub origination_fee_collector: ::prost::alloc::string::String,
19 #[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#[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#[allow(clippy::derive_partial_eq_without_eq)]
54#[derive(Clone, PartialEq, ::prost::Message)]
55pub struct PoolTrancheConfig {
56 #[prost(int64, tag = "1")]
58 pub maturity: i64,
59 #[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#[allow(clippy::derive_partial_eq_without_eq)]
72#[derive(Clone, PartialEq, ::prost::Message)]
73pub struct PoolConfig {
74 #[prost(message, optional, tag = "1")]
76 pub collateral_asset: ::core::option::Option<AssetMetadata>,
77 #[prost(message, optional, tag = "2")]
79 pub lending_asset: ::core::option::Option<AssetMetadata>,
80 #[prost(string, tag = "3")]
82 pub supply_cap: ::prost::alloc::string::String,
83 #[prost(string, tag = "4")]
85 pub borrow_cap: ::prost::alloc::string::String,
86 #[prost(string, tag = "5")]
88 pub min_borrow_amount: ::prost::alloc::string::String,
89 #[prost(string, tag = "6")]
91 pub max_borrow_amount: ::prost::alloc::string::String,
92 #[prost(message, repeated, tag = "7")]
94 pub tranches: ::prost::alloc::vec::Vec<PoolTrancheConfig>,
95 #[prost(message, optional, tag = "8")]
97 pub request_fee: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
98 #[prost(string, tag = "9")]
100 pub origination_fee_factor: ::prost::alloc::string::String,
101 #[prost(string, tag = "10")]
103 pub reserve_factor: ::prost::alloc::string::String,
104 #[prost(string, tag = "11")]
106 pub max_ltv: ::prost::alloc::string::String,
107 #[prost(string, tag = "12")]
109 pub liquidation_threshold: ::prost::alloc::string::String,
110 #[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#[allow(clippy::derive_partial_eq_without_eq)]
123#[derive(Clone, PartialEq, ::prost::Message)]
124pub struct PoolTranche {
125 #[prost(int64, tag = "1")]
127 pub maturity: i64,
128 #[prost(string, tag = "2")]
130 pub borrow_index: ::prost::alloc::string::String,
131 #[prost(string, tag = "3")]
133 pub total_borrowed: ::prost::alloc::string::String,
134 #[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#[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 #[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#[allow(clippy::derive_partial_eq_without_eq)]
260#[derive(Clone, PartialEq, ::prost::Message)]
261pub struct Referrer {
262 #[prost(string, tag = "1")]
264 pub name: ::prost::alloc::string::String,
265 #[prost(string, tag = "2")]
267 pub referral_code: ::prost::alloc::string::String,
268 #[prost(string, tag = "3")]
270 pub address: ::prost::alloc::string::String,
271 #[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#[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#[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 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
485#[repr(i32)]
486pub enum LoanStatus {
487 Unspecified = 0,
489 Requested = 1,
491 Cancelled = 2,
493 Authorized = 3,
495 Rejected = 4,
497 Open = 5,
499 Repaid = 6,
501 Defaulted = 7,
503 Liquidated = 8,
505 Closed = 9,
507}
508impl LoanStatus {
509 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
546#[repr(i32)]
547pub enum AuthorizationStatus {
548 Pending = 0,
550 Authorized = 1,
552 Rejected = 2,
554}
555impl AuthorizationStatus {
556 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 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 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 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 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 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#[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 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 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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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#[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 #[prost(string, tag = "1")]
1275 pub authority: ::prost::alloc::string::String,
1276 #[prost(string, tag = "2")]
1278 pub id: ::prost::alloc::string::String,
1279 #[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 #[prost(string, tag = "1")]
1305 pub authority: ::prost::alloc::string::String,
1306 #[prost(string, tag = "2")]
1308 pub pool_id: ::prost::alloc::string::String,
1309 #[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#[allow(clippy::derive_partial_eq_without_eq)]
1544#[derive(Clone, PartialEq, ::prost::Message)]
1545pub struct MsgRegisterReferrer {
1546 #[prost(string, tag = "1")]
1548 pub authority: ::prost::alloc::string::String,
1549 #[prost(string, tag = "2")]
1551 pub name: ::prost::alloc::string::String,
1552 #[prost(string, tag = "3")]
1554 pub referral_code: ::prost::alloc::string::String,
1555 #[prost(string, tag = "4")]
1557 pub address: ::prost::alloc::string::String,
1558 #[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#[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#[allow(clippy::derive_partial_eq_without_eq)]
1582#[derive(Clone, PartialEq, ::prost::Message)]
1583pub struct MsgUpdateReferrer {
1584 #[prost(string, tag = "1")]
1586 pub authority: ::prost::alloc::string::String,
1587 #[prost(string, tag = "2")]
1589 pub name: ::prost::alloc::string::String,
1590 #[prost(string, tag = "3")]
1592 pub referral_code: ::prost::alloc::string::String,
1593 #[prost(string, tag = "4")]
1595 pub address: ::prost::alloc::string::String,
1596 #[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#[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#[allow(clippy::derive_partial_eq_without_eq)]
1622#[derive(Clone, PartialEq, ::prost::Message)]
1623pub struct MsgUpdateParams {
1624 #[prost(string, tag = "1")]
1626 pub authority: ::prost::alloc::string::String,
1627 #[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#[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