bitway_proto/prost/bitway/
bitway.btcbridge.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    /// The minimum number of confirmations required for the deposit transactions
7    #[prost(int32, tag = "1")]
8    pub deposit_confirmation_depth: i32,
9    /// The minimum number of confirmations required for the withdrawal transactions
10    #[prost(int32, tag = "2")]
11    pub withdraw_confirmation_depth: i32,
12    /// Indicates the maximum depth or distance from the latest block up to which transactions are considered for acceptance.
13    #[prost(uint64, tag = "3")]
14    pub max_acceptable_block_depth: u64,
15    /// The denomination of the voucher
16    #[prost(string, tag = "4")]
17    pub btc_voucher_denom: ::prost::alloc::string::String,
18    /// Indicates if deposit is enabled
19    #[prost(bool, tag = "5")]
20    pub deposit_enabled: bool,
21    /// Indicates if withdrawal is enabled
22    #[prost(bool, tag = "6")]
23    pub withdraw_enabled: bool,
24    /// Trusted relayers for non-btc asset deposit
25    #[prost(string, repeated, tag = "7")]
26    pub trusted_non_btc_relayers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
27    /// Trusted fee providers to submit bitcoin fee rate
28    #[prost(string, repeated, tag = "8")]
29    pub trusted_fee_providers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
30    /// Period of validity for the fee rate
31    #[prost(int64, tag = "9")]
32    pub fee_rate_validity_period: i64,
33    /// Asset vaults
34    #[prost(message, repeated, tag = "10")]
35    pub vaults: ::prost::alloc::vec::Vec<Vault>,
36    /// Withdrawal params
37    #[prost(message, optional, tag = "11")]
38    pub withdraw_params: ::core::option::Option<WithdrawParams>,
39    /// Protocol limitations
40    #[prost(message, optional, tag = "12")]
41    pub protocol_limits: ::core::option::Option<ProtocolLimits>,
42    /// Protocol fees
43    #[prost(message, optional, tag = "13")]
44    pub protocol_fees: ::core::option::Option<ProtocolFees>,
45    /// TSS params
46    #[prost(message, optional, tag = "14")]
47    pub tss_params: ::core::option::Option<TssParams>,
48    /// Rate limit params
49    #[prost(message, optional, tag = "15")]
50    pub rate_limit_params: ::core::option::Option<RateLimitParams>,
51    /// IBC params
52    #[prost(message, optional, tag = "16")]
53    pub ibc_params: ::core::option::Option<IbcParams>,
54    /// Fee sponsorship params
55    #[prost(message, optional, tag = "17")]
56    pub fee_sponsorship_params: ::core::option::Option<FeeSponsorshipParams>,
57}
58impl ::prost::Name for Params {
59    const NAME: &'static str = "Params";
60    const PACKAGE: &'static str = "bitway.btcbridge";
61    fn full_name() -> ::prost::alloc::string::String {
62        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
63    }
64}
65/// Vault defines the asset vault
66#[allow(clippy::derive_partial_eq_without_eq)]
67#[derive(Clone, PartialEq, ::prost::Message)]
68pub struct Vault {
69    /// the vault address for deposit
70    #[prost(string, tag = "1")]
71    pub address: ::prost::alloc::string::String,
72    /// public key of the vault
73    #[prost(string, tag = "2")]
74    pub pub_key: ::prost::alloc::string::String,
75    /// the asset type supported by the vault
76    #[prost(enumeration = "AssetType", tag = "3")]
77    pub asset_type: i32,
78    /// version
79    #[prost(uint64, tag = "4")]
80    pub version: u64,
81}
82impl ::prost::Name for Vault {
83    const NAME: &'static str = "Vault";
84    const PACKAGE: &'static str = "bitway.btcbridge";
85    fn full_name() -> ::prost::alloc::string::String {
86        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
87    }
88}
89#[allow(clippy::derive_partial_eq_without_eq)]
90#[derive(Clone, PartialEq, ::prost::Message)]
91pub struct WithdrawParams {
92    /// Maximum number of utxos used to build the signing request; O means unlimited
93    #[prost(uint32, tag = "1")]
94    pub max_utxo_num: u32,
95    /// Period for handling btc withdrawal requests
96    #[prost(int64, tag = "2")]
97    pub btc_batch_withdraw_period: i64,
98    /// Maximum number of btc withdrawal requests to be handled per batch
99    #[prost(uint32, tag = "3")]
100    pub max_btc_batch_withdraw_num: u32,
101}
102impl ::prost::Name for WithdrawParams {
103    const NAME: &'static str = "WithdrawParams";
104    const PACKAGE: &'static str = "bitway.btcbridge";
105    fn full_name() -> ::prost::alloc::string::String {
106        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
107    }
108}
109/// ProtocolLimits defines the params related to the the protocol limitations
110#[allow(clippy::derive_partial_eq_without_eq)]
111#[derive(Clone, PartialEq, ::prost::Message)]
112pub struct ProtocolLimits {
113    /// The minimum deposit amount for btc in sat
114    #[prost(int64, tag = "1")]
115    pub btc_min_deposit: i64,
116    /// The minimum withdrawal amount for btc in sat
117    #[prost(int64, tag = "2")]
118    pub btc_min_withdraw: i64,
119    /// The maximum withdrawal amount for btc in sat
120    #[prost(int64, tag = "3")]
121    pub btc_max_withdraw: i64,
122}
123impl ::prost::Name for ProtocolLimits {
124    const NAME: &'static str = "ProtocolLimits";
125    const PACKAGE: &'static str = "bitway.btcbridge";
126    fn full_name() -> ::prost::alloc::string::String {
127        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
128    }
129}
130/// ProtocolFees defines the params related to the protocol fees
131#[allow(clippy::derive_partial_eq_without_eq)]
132#[derive(Clone, PartialEq, ::prost::Message)]
133pub struct ProtocolFees {
134    /// Protocol fee amount for deposit in sat
135    #[prost(int64, tag = "1")]
136    pub deposit_fee: i64,
137    /// Protocol fee amount for withdrawal in sat
138    #[prost(int64, tag = "2")]
139    pub withdraw_fee: i64,
140    /// Protocol fee collector
141    #[prost(string, tag = "3")]
142    pub collector: ::prost::alloc::string::String,
143}
144impl ::prost::Name for ProtocolFees {
145    const NAME: &'static str = "ProtocolFees";
146    const PACKAGE: &'static str = "bitway.btcbridge";
147    fn full_name() -> ::prost::alloc::string::String {
148        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
149    }
150}
151/// TSSParams defines the params related to TSS
152#[allow(clippy::derive_partial_eq_without_eq)]
153#[derive(Clone, PartialEq, ::prost::Message)]
154pub struct TssParams {
155    /// Timeout duration for DKG request
156    #[prost(message, optional, tag = "1")]
157    pub dkg_timeout_period: ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
158    /// Transition period after which TSS participants update process is completed
159    #[prost(message, optional, tag = "2")]
160    pub participant_update_transition_period:
161        ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
162}
163impl ::prost::Name for TssParams {
164    const NAME: &'static str = "TSSParams";
165    const PACKAGE: &'static str = "bitway.btcbridge";
166    fn full_name() -> ::prost::alloc::string::String {
167        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
168    }
169}
170/// RateLimitParams defines the params related to the rate limit for BTC withdrawal
171#[allow(clippy::derive_partial_eq_without_eq)]
172#[derive(Clone, PartialEq, ::prost::Message)]
173pub struct RateLimitParams {
174    /// Global rate limit params
175    #[prost(message, optional, tag = "1")]
176    pub global_rate_limit_params: ::core::option::Option<GlobalRateLimitParams>,
177    /// Per address rate limit params
178    #[prost(message, optional, tag = "2")]
179    pub address_rate_limit_params: ::core::option::Option<AddressRateLimitParams>,
180}
181impl ::prost::Name for RateLimitParams {
182    const NAME: &'static str = "RateLimitParams";
183    const PACKAGE: &'static str = "bitway.btcbridge";
184    fn full_name() -> ::prost::alloc::string::String {
185        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
186    }
187}
188/// GlobalRateLimitParams defines the global rate limit params
189#[allow(clippy::derive_partial_eq_without_eq)]
190#[derive(Clone, PartialEq, ::prost::Message)]
191pub struct GlobalRateLimitParams {
192    /// Duration of each rate limit epoch
193    #[prost(message, optional, tag = "1")]
194    pub period: ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
195    /// Maximum withdrawable supply percentage during the rate limit period; 100 means no limit
196    #[prost(uint32, tag = "2")]
197    pub supply_percentage_quota: u32,
198}
199impl ::prost::Name for GlobalRateLimitParams {
200    const NAME: &'static str = "GlobalRateLimitParams";
201    const PACKAGE: &'static str = "bitway.btcbridge";
202    fn full_name() -> ::prost::alloc::string::String {
203        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
204    }
205}
206/// AddressRateLimitParams defines the per address rate limit params
207#[allow(clippy::derive_partial_eq_without_eq)]
208#[derive(Clone, PartialEq, ::prost::Message)]
209pub struct AddressRateLimitParams {
210    /// Duration of each rate limit epoch
211    #[prost(message, optional, tag = "1")]
212    pub period: ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
213    /// Maximum withdrawable amount during the rate limit period; 0 means no limit
214    #[prost(int64, tag = "2")]
215    pub quota: i64,
216}
217impl ::prost::Name for AddressRateLimitParams {
218    const NAME: &'static str = "AddressRateLimitParams";
219    const PACKAGE: &'static str = "bitway.btcbridge";
220    fn full_name() -> ::prost::alloc::string::String {
221        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
222    }
223}
224/// IBCParams defines the params related to IBC
225#[allow(clippy::derive_partial_eq_without_eq)]
226#[derive(Clone, PartialEq, ::prost::Message)]
227pub struct IbcParams {
228    /// Timeout height offset relative to the current client height
229    #[prost(uint64, tag = "1")]
230    pub timeout_height_offset: u64,
231    /// Timeout duration relative to the current time
232    #[prost(message, optional, tag = "2")]
233    pub timeout_duration: ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
234}
235impl ::prost::Name for IbcParams {
236    const NAME: &'static str = "IBCParams";
237    const PACKAGE: &'static str = "bitway.btcbridge";
238    fn full_name() -> ::prost::alloc::string::String {
239        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
240    }
241}
242/// FeeSponsorshipParams defines the params related to fee sponsorship
243#[allow(clippy::derive_partial_eq_without_eq)]
244#[derive(Clone, PartialEq, ::prost::Message)]
245pub struct FeeSponsorshipParams {
246    /// Maximum sponsorship fee per tx
247    #[prost(message, repeated, tag = "1")]
248    pub max_sponsor_fee: ::prost::alloc::vec::Vec<super::super::cosmos::base::v1beta1::Coin>,
249}
250impl ::prost::Name for FeeSponsorshipParams {
251    const NAME: &'static str = "FeeSponsorshipParams";
252    const PACKAGE: &'static str = "bitway.btcbridge";
253    fn full_name() -> ::prost::alloc::string::String {
254        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
255    }
256}
257/// AssetType defines the type of asset
258#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
259#[repr(i32)]
260pub enum AssetType {
261    /// Unspecified asset type
262    Unspecified = 0,
263    /// BTC
264    Btc = 1,
265    /// BRC20: ordi, sats
266    Brc20 = 2,
267    /// RUNE: dog•go•to•the•moon
268    Runes = 3,
269}
270impl AssetType {
271    /// String value of the enum field names used in the ProtoBuf definition.
272    ///
273    /// The values are not transformed in any way and thus are considered stable
274    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
275    pub fn as_str_name(&self) -> &'static str {
276        match self {
277            AssetType::Unspecified => "ASSET_TYPE_UNSPECIFIED",
278            AssetType::Btc => "ASSET_TYPE_BTC",
279            AssetType::Brc20 => "ASSET_TYPE_BRC20",
280            AssetType::Runes => "ASSET_TYPE_RUNES",
281        }
282    }
283    /// Creates an enum from field names used in the ProtoBuf definition.
284    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
285        match value {
286            "ASSET_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
287            "ASSET_TYPE_BTC" => Some(Self::Btc),
288            "ASSET_TYPE_BRC20" => Some(Self::Brc20),
289            "ASSET_TYPE_RUNES" => Some(Self::Runes),
290            _ => None,
291        }
292    }
293}
294/// Fee rate
295#[allow(clippy::derive_partial_eq_without_eq)]
296#[derive(Clone, PartialEq, ::prost::Message)]
297pub struct FeeRate {
298    /// fee rate
299    #[prost(int64, tag = "1")]
300    pub value: i64,
301    /// block height at which the fee rate is submitted
302    #[prost(int64, tag = "2")]
303    pub height: i64,
304}
305impl ::prost::Name for FeeRate {
306    const NAME: &'static str = "FeeRate";
307    const PACKAGE: &'static str = "bitway.btcbridge";
308    fn full_name() -> ::prost::alloc::string::String {
309        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
310    }
311}
312/// Bitcoin Signing Request
313#[allow(clippy::derive_partial_eq_without_eq)]
314#[derive(Clone, PartialEq, ::prost::Message)]
315pub struct SigningRequest {
316    #[prost(string, tag = "1")]
317    pub address: ::prost::alloc::string::String,
318    #[prost(uint64, tag = "2")]
319    pub sequence: u64,
320    #[prost(enumeration = "AssetType", tag = "3")]
321    pub r#type: i32,
322    #[prost(string, tag = "4")]
323    pub txid: ::prost::alloc::string::String,
324    #[prost(string, tag = "5")]
325    pub psbt: ::prost::alloc::string::String,
326    #[prost(message, optional, tag = "6")]
327    pub creation_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
328    #[prost(enumeration = "SigningStatus", tag = "7")]
329    pub status: i32,
330}
331impl ::prost::Name for SigningRequest {
332    const NAME: &'static str = "SigningRequest";
333    const PACKAGE: &'static str = "bitway.btcbridge";
334    fn full_name() -> ::prost::alloc::string::String {
335        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
336    }
337}
338/// Compact Signing Request
339#[allow(clippy::derive_partial_eq_without_eq)]
340#[derive(Clone, PartialEq, ::prost::Message)]
341pub struct CompactSigningRequest {
342    #[prost(string, tag = "1")]
343    pub address: ::prost::alloc::string::String,
344    #[prost(uint64, tag = "2")]
345    pub sequence: u64,
346    #[prost(enumeration = "AssetType", tag = "3")]
347    pub r#type: i32,
348    #[prost(string, tag = "4")]
349    pub txid: ::prost::alloc::string::String,
350    #[prost(string, repeated, tag = "5")]
351    pub signers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
352    #[prost(string, repeated, tag = "6")]
353    pub sig_hashes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
354    #[prost(message, optional, tag = "7")]
355    pub creation_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
356    #[prost(enumeration = "SigningStatus", tag = "8")]
357    pub status: i32,
358}
359impl ::prost::Name for CompactSigningRequest {
360    const NAME: &'static str = "CompactSigningRequest";
361    const PACKAGE: &'static str = "bitway.btcbridge";
362    fn full_name() -> ::prost::alloc::string::String {
363        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
364    }
365}
366/// Withdrawal Request
367#[allow(clippy::derive_partial_eq_without_eq)]
368#[derive(Clone, PartialEq, ::prost::Message)]
369pub struct WithdrawRequest {
370    #[prost(string, tag = "1")]
371    pub address: ::prost::alloc::string::String,
372    #[prost(string, tag = "2")]
373    pub amount: ::prost::alloc::string::String,
374    #[prost(uint64, tag = "3")]
375    pub sequence: u64,
376    #[prost(string, tag = "4")]
377    pub txid: ::prost::alloc::string::String,
378}
379impl ::prost::Name for WithdrawRequest {
380    const NAME: &'static str = "WithdrawRequest";
381    const PACKAGE: &'static str = "bitway.btcbridge";
382    fn full_name() -> ::prost::alloc::string::String {
383        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
384    }
385}
386/// Withdrawal request via IBC
387#[allow(clippy::derive_partial_eq_without_eq)]
388#[derive(Clone, PartialEq, ::prost::Message)]
389pub struct IbcWithdrawRequest {
390    #[prost(string, tag = "1")]
391    pub channel_id: ::prost::alloc::string::String,
392    #[prost(uint64, tag = "2")]
393    pub sequence: u64,
394    #[prost(string, tag = "3")]
395    pub address: ::prost::alloc::string::String,
396    #[prost(string, tag = "4")]
397    pub amount: ::prost::alloc::string::String,
398}
399impl ::prost::Name for IbcWithdrawRequest {
400    const NAME: &'static str = "IBCWithdrawRequest";
401    const PACKAGE: &'static str = "bitway.btcbridge";
402    fn full_name() -> ::prost::alloc::string::String {
403        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
404    }
405}
406/// Rate limit for BTC withdrawal
407#[allow(clippy::derive_partial_eq_without_eq)]
408#[derive(Clone, PartialEq, ::prost::Message)]
409pub struct RateLimit {
410    #[prost(message, optional, tag = "1")]
411    pub global_rate_limit: ::core::option::Option<GlobalRateLimit>,
412    #[prost(message, optional, tag = "2")]
413    pub address_rate_limit: ::core::option::Option<AddressRateLimit>,
414}
415impl ::prost::Name for RateLimit {
416    const NAME: &'static str = "RateLimit";
417    const PACKAGE: &'static str = "bitway.btcbridge";
418    fn full_name() -> ::prost::alloc::string::String {
419        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
420    }
421}
422/// Global rate limit for BTC withdrawal
423#[allow(clippy::derive_partial_eq_without_eq)]
424#[derive(Clone, PartialEq, ::prost::Message)]
425pub struct GlobalRateLimit {
426    /// Starting time for the current epoch
427    #[prost(message, optional, tag = "1")]
428    pub start_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
429    /// End time for the current epoch
430    #[prost(message, optional, tag = "2")]
431    pub end_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
432    /// Maximum withdrawable amount for the current epoch; 0 means no limit
433    #[prost(int64, tag = "3")]
434    pub quota: i64,
435    /// Used quota currently
436    #[prost(int64, tag = "4")]
437    pub used: i64,
438}
439impl ::prost::Name for GlobalRateLimit {
440    const NAME: &'static str = "GlobalRateLimit";
441    const PACKAGE: &'static str = "bitway.btcbridge";
442    fn full_name() -> ::prost::alloc::string::String {
443        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
444    }
445}
446/// Per address rate limit for BTC withdrawal
447#[allow(clippy::derive_partial_eq_without_eq)]
448#[derive(Clone, PartialEq, ::prost::Message)]
449pub struct AddressRateLimit {
450    /// Starting time for the current epoch
451    #[prost(message, optional, tag = "1")]
452    pub start_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
453    /// End time for the current epoch
454    #[prost(message, optional, tag = "2")]
455    pub end_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
456    /// Maximum withdrawable amount for the current epoch; 0 means no limit
457    #[prost(int64, tag = "3")]
458    pub quota: i64,
459}
460impl ::prost::Name for AddressRateLimit {
461    const NAME: &'static str = "AddressRateLimit";
462    const PACKAGE: &'static str = "bitway.btcbridge";
463    fn full_name() -> ::prost::alloc::string::String {
464        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
465    }
466}
467/// Per address rate limit details
468#[allow(clippy::derive_partial_eq_without_eq)]
469#[derive(Clone, PartialEq, ::prost::Message)]
470pub struct AddressRateLimitDetails {
471    /// Address
472    #[prost(string, tag = "1")]
473    pub address: ::prost::alloc::string::String,
474    /// Used quota currently
475    #[prost(int64, tag = "2")]
476    pub used: i64,
477}
478impl ::prost::Name for AddressRateLimitDetails {
479    const NAME: &'static str = "AddressRateLimitDetails";
480    const PACKAGE: &'static str = "bitway.btcbridge";
481    fn full_name() -> ::prost::alloc::string::String {
482        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
483    }
484}
485/// Bitcoin UTXO
486#[allow(clippy::derive_partial_eq_without_eq)]
487#[derive(Clone, PartialEq, ::prost::Message)]
488pub struct Utxo {
489    #[prost(string, tag = "1")]
490    pub txid: ::prost::alloc::string::String,
491    #[prost(uint64, tag = "2")]
492    pub vout: u64,
493    #[prost(string, tag = "3")]
494    pub address: ::prost::alloc::string::String,
495    #[prost(uint64, tag = "4")]
496    pub amount: u64,
497    #[prost(uint64, tag = "5")]
498    pub height: u64,
499    #[prost(bytes = "vec", tag = "6")]
500    pub pub_key_script: ::prost::alloc::vec::Vec<u8>,
501    #[prost(bool, tag = "7")]
502    pub is_locked: bool,
503    /// rune balances associated with the UTXO
504    #[prost(message, repeated, tag = "8")]
505    pub runes: ::prost::alloc::vec::Vec<RuneBalance>,
506}
507impl ::prost::Name for Utxo {
508    const NAME: &'static str = "UTXO";
509    const PACKAGE: &'static str = "bitway.btcbridge";
510    fn full_name() -> ::prost::alloc::string::String {
511        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
512    }
513}
514/// Rune Balance
515#[allow(clippy::derive_partial_eq_without_eq)]
516#[derive(Clone, PartialEq, ::prost::Message)]
517pub struct RuneBalance {
518    /// serialized rune id
519    #[prost(string, tag = "1")]
520    pub id: ::prost::alloc::string::String,
521    /// rune amount
522    #[prost(string, tag = "2")]
523    pub amount: ::prost::alloc::string::String,
524}
525impl ::prost::Name for RuneBalance {
526    const NAME: &'static str = "RuneBalance";
527    const PACKAGE: &'static str = "bitway.btcbridge";
528    fn full_name() -> ::prost::alloc::string::String {
529        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
530    }
531}
532/// Rune ID
533#[allow(clippy::derive_partial_eq_without_eq)]
534#[derive(Clone, PartialEq, ::prost::Message)]
535pub struct RuneId {
536    /// block height
537    #[prost(uint64, tag = "1")]
538    pub block: u64,
539    /// tx index
540    #[prost(uint32, tag = "2")]
541    pub tx: u32,
542}
543impl ::prost::Name for RuneId {
544    const NAME: &'static str = "RuneId";
545    const PACKAGE: &'static str = "bitway.btcbridge";
546    fn full_name() -> ::prost::alloc::string::String {
547        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
548    }
549}
550/// Rune Edict
551#[allow(clippy::derive_partial_eq_without_eq)]
552#[derive(Clone, PartialEq, ::prost::Message)]
553pub struct Edict {
554    #[prost(message, optional, tag = "1")]
555    pub id: ::core::option::Option<RuneId>,
556    #[prost(string, tag = "2")]
557    pub amount: ::prost::alloc::string::String,
558    #[prost(uint32, tag = "3")]
559    pub output: u32,
560}
561impl ::prost::Name for Edict {
562    const NAME: &'static str = "Edict";
563    const PACKAGE: &'static str = "bitway.btcbridge";
564    fn full_name() -> ::prost::alloc::string::String {
565        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
566    }
567}
568/// BTC UTXO Consolidation
569#[allow(clippy::derive_partial_eq_without_eq)]
570#[derive(Clone, PartialEq, ::prost::Message)]
571pub struct BtcConsolidation {
572    /// maximum threshold of the btc value
573    #[prost(int64, tag = "1")]
574    pub target_threshold: i64,
575    /// maximum number of the utxos to be consolidated; 0 means all
576    #[prost(uint32, tag = "2")]
577    pub max_num: u32,
578}
579impl ::prost::Name for BtcConsolidation {
580    const NAME: &'static str = "BtcConsolidation";
581    const PACKAGE: &'static str = "bitway.btcbridge";
582    fn full_name() -> ::prost::alloc::string::String {
583        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
584    }
585}
586/// Runes UTXO Consolidation
587#[allow(clippy::derive_partial_eq_without_eq)]
588#[derive(Clone, PartialEq, ::prost::Message)]
589pub struct RunesConsolidation {
590    /// rune id
591    #[prost(string, tag = "1")]
592    pub rune_id: ::prost::alloc::string::String,
593    /// maximum threshold of the corresponding rune balance
594    #[prost(string, tag = "2")]
595    pub target_threshold: ::prost::alloc::string::String,
596    /// maximum number of the utxos to be consolidated; 0 means all
597    #[prost(uint32, tag = "3")]
598    pub max_num: u32,
599}
600impl ::prost::Name for RunesConsolidation {
601    const NAME: &'static str = "RunesConsolidation";
602    const PACKAGE: &'static str = "bitway.btcbridge";
603    fn full_name() -> ::prost::alloc::string::String {
604        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
605    }
606}
607/// DKG Participant
608#[allow(clippy::derive_partial_eq_without_eq)]
609#[derive(Clone, PartialEq, ::prost::Message)]
610pub struct DkgParticipant {
611    /// the optional moniker
612    #[prost(string, tag = "1")]
613    pub moniker: ::prost::alloc::string::String,
614    /// the optional operator address
615    #[prost(string, tag = "2")]
616    pub operator_address: ::prost::alloc::string::String,
617    /// participant consensus pub key
618    #[prost(string, tag = "3")]
619    pub consensus_pubkey: ::prost::alloc::string::String,
620}
621impl ::prost::Name for DkgParticipant {
622    const NAME: &'static str = "DKGParticipant";
623    const PACKAGE: &'static str = "bitway.btcbridge";
624    fn full_name() -> ::prost::alloc::string::String {
625        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
626    }
627}
628/// DKG Request
629#[allow(clippy::derive_partial_eq_without_eq)]
630#[derive(Clone, PartialEq, ::prost::Message)]
631pub struct DkgRequest {
632    /// the unique request id
633    #[prost(uint64, tag = "1")]
634    pub id: u64,
635    /// participant set
636    #[prost(message, repeated, tag = "2")]
637    pub participants: ::prost::alloc::vec::Vec<DkgParticipant>,
638    /// threshold required to perform DKG
639    #[prost(uint32, tag = "3")]
640    pub threshold: u32,
641    /// asset types of vaults to be generated
642    #[prost(enumeration = "AssetType", repeated, tag = "4")]
643    pub vault_types: ::prost::alloc::vec::Vec<i32>,
644    /// indicates if transferring assets to the newly generated vaults when the DKG request is completed
645    #[prost(bool, tag = "5")]
646    pub enable_transfer: bool,
647    /// target number of the UTXOs to be transferred each time
648    #[prost(uint32, tag = "6")]
649    pub target_utxo_num: u32,
650    /// expiration time
651    #[prost(message, optional, tag = "7")]
652    pub expiration: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
653    /// status
654    #[prost(enumeration = "DkgRequestStatus", tag = "8")]
655    pub status: i32,
656}
657impl ::prost::Name for DkgRequest {
658    const NAME: &'static str = "DKGRequest";
659    const PACKAGE: &'static str = "bitway.btcbridge";
660    fn full_name() -> ::prost::alloc::string::String {
661        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
662    }
663}
664/// DKG Completion Request
665#[allow(clippy::derive_partial_eq_without_eq)]
666#[derive(Clone, PartialEq, ::prost::Message)]
667pub struct DkgCompletionRequest {
668    /// request id
669    #[prost(uint64, tag = "1")]
670    pub id: u64,
671    /// sender
672    #[prost(string, tag = "2")]
673    pub sender: ::prost::alloc::string::String,
674    /// new vaults generated by DKG
675    #[prost(string, repeated, tag = "3")]
676    pub vaults: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
677    /// participant consensus pub key
678    #[prost(string, tag = "4")]
679    pub consensus_pubkey: ::prost::alloc::string::String,
680    /// hex encoded participant signature
681    #[prost(string, tag = "5")]
682    pub signature: ::prost::alloc::string::String,
683}
684impl ::prost::Name for DkgCompletionRequest {
685    const NAME: &'static str = "DKGCompletionRequest";
686    const PACKAGE: &'static str = "bitway.btcbridge";
687    fn full_name() -> ::prost::alloc::string::String {
688        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
689    }
690}
691/// Refreshing Request
692#[allow(clippy::derive_partial_eq_without_eq)]
693#[derive(Clone, PartialEq, ::prost::Message)]
694pub struct RefreshingRequest {
695    /// request id
696    #[prost(uint64, tag = "1")]
697    pub id: u64,
698    /// request id of the DKG corresponding to the key shares to be refreshed
699    #[prost(uint64, tag = "2")]
700    pub dkg_id: u64,
701    /// removed participant set
702    #[prost(string, repeated, tag = "3")]
703    pub removed_participants: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
704    /// new threshold
705    #[prost(uint32, tag = "4")]
706    pub threshold: u32,
707    /// expiration time
708    #[prost(message, optional, tag = "5")]
709    pub expiration_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
710    /// status
711    #[prost(enumeration = "RefreshingStatus", tag = "6")]
712    pub status: i32,
713}
714impl ::prost::Name for RefreshingRequest {
715    const NAME: &'static str = "RefreshingRequest";
716    const PACKAGE: &'static str = "bitway.btcbridge";
717    fn full_name() -> ::prost::alloc::string::String {
718        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
719    }
720}
721/// Refreshing Completion
722#[allow(clippy::derive_partial_eq_without_eq)]
723#[derive(Clone, PartialEq, ::prost::Message)]
724pub struct RefreshingCompletion {
725    /// request id
726    #[prost(uint64, tag = "1")]
727    pub id: u64,
728    /// sender
729    #[prost(string, tag = "2")]
730    pub sender: ::prost::alloc::string::String,
731    /// participant consensus pub key
732    #[prost(string, tag = "3")]
733    pub consensus_pubkey: ::prost::alloc::string::String,
734    /// hex encoded participant signature
735    #[prost(string, tag = "4")]
736    pub signature: ::prost::alloc::string::String,
737}
738impl ::prost::Name for RefreshingCompletion {
739    const NAME: &'static str = "RefreshingCompletion";
740    const PACKAGE: &'static str = "bitway.btcbridge";
741    fn full_name() -> ::prost::alloc::string::String {
742        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
743    }
744}
745/// Bitcoin Signing Status
746#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
747#[repr(i32)]
748pub enum SigningStatus {
749    /// SIGNING_STATUS_UNSPECIFIED - Default value, should not be used
750    Unspecified = 0,
751    /// SIGNING_STATUS_PENDING - The signing request is pending
752    Pending = 1,
753    /// SIGNING_STATUS_BROADCASTED - The signing request is broadcasted
754    Broadcasted = 2,
755    /// SIGNING_STATUS_CONFIRMED - The signing request is confirmed
756    Confirmed = 3,
757    /// SIGNING_STATUS_FAILED - The signing request failed to be signed or broadcast due to unexpected exceptions
758    Failed = 4,
759}
760impl SigningStatus {
761    /// String value of the enum field names used in the ProtoBuf definition.
762    ///
763    /// The values are not transformed in any way and thus are considered stable
764    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
765    pub fn as_str_name(&self) -> &'static str {
766        match self {
767            SigningStatus::Unspecified => "SIGNING_STATUS_UNSPECIFIED",
768            SigningStatus::Pending => "SIGNING_STATUS_PENDING",
769            SigningStatus::Broadcasted => "SIGNING_STATUS_BROADCASTED",
770            SigningStatus::Confirmed => "SIGNING_STATUS_CONFIRMED",
771            SigningStatus::Failed => "SIGNING_STATUS_FAILED",
772        }
773    }
774    /// Creates an enum from field names used in the ProtoBuf definition.
775    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
776        match value {
777            "SIGNING_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
778            "SIGNING_STATUS_PENDING" => Some(Self::Pending),
779            "SIGNING_STATUS_BROADCASTED" => Some(Self::Broadcasted),
780            "SIGNING_STATUS_CONFIRMED" => Some(Self::Confirmed),
781            "SIGNING_STATUS_FAILED" => Some(Self::Failed),
782            _ => None,
783        }
784    }
785}
786#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
787#[repr(i32)]
788pub enum DkgRequestStatus {
789    /// DKG_REQUEST_STATUS_UNSPECIFIED defines the unknown DKG request status
790    Unspecified = 0,
791    /// DKG_REQUEST_STATUS_PENDING defines the status of the DKG request which is pending
792    Pending = 1,
793    /// DKG_REQUEST_STATUS_COMPLETED defines the status of the DKG request which is completed
794    Completed = 2,
795    /// DKG_REQUEST_STATUS_FAILED defines the status of the DKG request which failed
796    Failed = 3,
797    /// DKG_REQUEST_STATUS_TIMEDOUT defines the status of the DKG request which timed out
798    Timedout = 4,
799}
800impl DkgRequestStatus {
801    /// String value of the enum field names used in the ProtoBuf definition.
802    ///
803    /// The values are not transformed in any way and thus are considered stable
804    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
805    pub fn as_str_name(&self) -> &'static str {
806        match self {
807            DkgRequestStatus::Unspecified => "DKG_REQUEST_STATUS_UNSPECIFIED",
808            DkgRequestStatus::Pending => "DKG_REQUEST_STATUS_PENDING",
809            DkgRequestStatus::Completed => "DKG_REQUEST_STATUS_COMPLETED",
810            DkgRequestStatus::Failed => "DKG_REQUEST_STATUS_FAILED",
811            DkgRequestStatus::Timedout => "DKG_REQUEST_STATUS_TIMEDOUT",
812        }
813    }
814    /// Creates an enum from field names used in the ProtoBuf definition.
815    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
816        match value {
817            "DKG_REQUEST_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
818            "DKG_REQUEST_STATUS_PENDING" => Some(Self::Pending),
819            "DKG_REQUEST_STATUS_COMPLETED" => Some(Self::Completed),
820            "DKG_REQUEST_STATUS_FAILED" => Some(Self::Failed),
821            "DKG_REQUEST_STATUS_TIMEDOUT" => Some(Self::Timedout),
822            _ => None,
823        }
824    }
825}
826/// Refreshing Status
827#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
828#[repr(i32)]
829pub enum RefreshingStatus {
830    /// REFRESHING_STATUS_UNSPECIFIED defines the unknown refreshing status
831    Unspecified = 0,
832    /// REFRESHING_STATUS_PENDING defines the status of the refreshing request which is pending
833    Pending = 1,
834    /// REFRESHING_STATUS_COMPLETED defines the status of the refreshing request which is completed
835    Completed = 2,
836    /// REFRESHING_STATUS_TIMEDOUT defines the status of the refreshing request which timed out
837    Timedout = 3,
838}
839impl RefreshingStatus {
840    /// String value of the enum field names used in the ProtoBuf definition.
841    ///
842    /// The values are not transformed in any way and thus are considered stable
843    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
844    pub fn as_str_name(&self) -> &'static str {
845        match self {
846            RefreshingStatus::Unspecified => "REFRESHING_STATUS_UNSPECIFIED",
847            RefreshingStatus::Pending => "REFRESHING_STATUS_PENDING",
848            RefreshingStatus::Completed => "REFRESHING_STATUS_COMPLETED",
849            RefreshingStatus::Timedout => "REFRESHING_STATUS_TIMEDOUT",
850        }
851    }
852    /// Creates an enum from field names used in the ProtoBuf definition.
853    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
854        match value {
855            "REFRESHING_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
856            "REFRESHING_STATUS_PENDING" => Some(Self::Pending),
857            "REFRESHING_STATUS_COMPLETED" => Some(Self::Completed),
858            "REFRESHING_STATUS_TIMEDOUT" => Some(Self::Timedout),
859            _ => None,
860        }
861    }
862}
863/// GenesisState defines the btc bridge module's genesis state.
864#[allow(clippy::derive_partial_eq_without_eq)]
865#[derive(Clone, PartialEq, ::prost::Message)]
866pub struct GenesisState {
867    #[prost(message, optional, tag = "1")]
868    pub params: ::core::option::Option<Params>,
869    #[prost(message, repeated, tag = "2")]
870    pub utxos: ::prost::alloc::vec::Vec<Utxo>,
871    #[prost(message, repeated, tag = "3")]
872    pub dkg_requests: ::prost::alloc::vec::Vec<DkgRequest>,
873    #[prost(message, repeated, tag = "4")]
874    pub dkg_completions: ::prost::alloc::vec::Vec<DkgCompletionRequest>,
875    #[prost(message, repeated, tag = "5")]
876    pub signing_requests: ::prost::alloc::vec::Vec<SigningRequest>,
877    #[prost(message, repeated, tag = "6")]
878    pub withdraw_requests: ::prost::alloc::vec::Vec<WithdrawRequest>,
879    #[prost(message, repeated, tag = "7")]
880    pub pending_btc_withdraw_requests: ::prost::alloc::vec::Vec<WithdrawRequest>,
881    #[prost(string, repeated, tag = "8")]
882    pub minted_tx_hashes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
883}
884impl ::prost::Name for GenesisState {
885    const NAME: &'static str = "GenesisState";
886    const PACKAGE: &'static str = "bitway.btcbridge";
887    fn full_name() -> ::prost::alloc::string::String {
888        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
889    }
890}
891/// QueryWithdrawRequestsByAddressRequest is request type for the Query/WithdrawRequestsByAddress RPC method.
892#[allow(clippy::derive_partial_eq_without_eq)]
893#[derive(Clone, PartialEq, ::prost::Message)]
894pub struct QueryWithdrawRequestsByAddressRequest {
895    #[prost(string, tag = "1")]
896    pub address: ::prost::alloc::string::String,
897    #[prost(message, optional, tag = "2")]
898    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
899}
900impl ::prost::Name for QueryWithdrawRequestsByAddressRequest {
901    const NAME: &'static str = "QueryWithdrawRequestsByAddressRequest";
902    const PACKAGE: &'static str = "bitway.btcbridge";
903    fn full_name() -> ::prost::alloc::string::String {
904        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
905    }
906}
907/// QueryWithdrawRequestsByAddressResponse is response type for the Query/WithdrawRequestsByAddress RPC method.
908#[allow(clippy::derive_partial_eq_without_eq)]
909#[derive(Clone, PartialEq, ::prost::Message)]
910pub struct QueryWithdrawRequestsByAddressResponse {
911    #[prost(message, repeated, tag = "1")]
912    pub requests: ::prost::alloc::vec::Vec<WithdrawRequest>,
913    #[prost(message, optional, tag = "2")]
914    pub pagination:
915        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
916}
917impl ::prost::Name for QueryWithdrawRequestsByAddressResponse {
918    const NAME: &'static str = "QueryWithdrawRequestsByAddressResponse";
919    const PACKAGE: &'static str = "bitway.btcbridge";
920    fn full_name() -> ::prost::alloc::string::String {
921        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
922    }
923}
924/// QueryWithdrawRequestsByTxHashRequest is request type for the Query/WithdrawRequestsByTxHash RPC method.
925#[allow(clippy::derive_partial_eq_without_eq)]
926#[derive(Clone, PartialEq, ::prost::Message)]
927pub struct QueryWithdrawRequestsByTxHashRequest {
928    #[prost(string, tag = "1")]
929    pub txid: ::prost::alloc::string::String,
930}
931impl ::prost::Name for QueryWithdrawRequestsByTxHashRequest {
932    const NAME: &'static str = "QueryWithdrawRequestsByTxHashRequest";
933    const PACKAGE: &'static str = "bitway.btcbridge";
934    fn full_name() -> ::prost::alloc::string::String {
935        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
936    }
937}
938/// QueryWithdrawRequestsByTxHashResponse is response type for the Query/WithdrawRequestsByTxHash RPC method.
939#[allow(clippy::derive_partial_eq_without_eq)]
940#[derive(Clone, PartialEq, ::prost::Message)]
941pub struct QueryWithdrawRequestsByTxHashResponse {
942    #[prost(message, repeated, tag = "1")]
943    pub requests: ::prost::alloc::vec::Vec<WithdrawRequest>,
944}
945impl ::prost::Name for QueryWithdrawRequestsByTxHashResponse {
946    const NAME: &'static str = "QueryWithdrawRequestsByTxHashResponse";
947    const PACKAGE: &'static str = "bitway.btcbridge";
948    fn full_name() -> ::prost::alloc::string::String {
949        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
950    }
951}
952/// QueryPendingBtcWithdrawRequestsRequest is request type for the Query/PendingBtcWithdrawRequests RPC method.
953#[allow(clippy::derive_partial_eq_without_eq)]
954#[derive(Clone, PartialEq, ::prost::Message)]
955pub struct QueryPendingBtcWithdrawRequestsRequest {
956    #[prost(message, optional, tag = "1")]
957    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
958}
959impl ::prost::Name for QueryPendingBtcWithdrawRequestsRequest {
960    const NAME: &'static str = "QueryPendingBtcWithdrawRequestsRequest";
961    const PACKAGE: &'static str = "bitway.btcbridge";
962    fn full_name() -> ::prost::alloc::string::String {
963        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
964    }
965}
966/// QueryPendingBtcWithdrawRequestsResponse is response type for the Query/PendingBtcWithdrawRequests RPC method.
967#[allow(clippy::derive_partial_eq_without_eq)]
968#[derive(Clone, PartialEq, ::prost::Message)]
969pub struct QueryPendingBtcWithdrawRequestsResponse {
970    #[prost(message, repeated, tag = "1")]
971    pub requests: ::prost::alloc::vec::Vec<WithdrawRequest>,
972    #[prost(message, optional, tag = "2")]
973    pub pagination:
974        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
975}
976impl ::prost::Name for QueryPendingBtcWithdrawRequestsResponse {
977    const NAME: &'static str = "QueryPendingBtcWithdrawRequestsResponse";
978    const PACKAGE: &'static str = "bitway.btcbridge";
979    fn full_name() -> ::prost::alloc::string::String {
980        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
981    }
982}
983/// QuerySigningRequestRequest is request type for the Query/SigningRequest RPC method.
984#[allow(clippy::derive_partial_eq_without_eq)]
985#[derive(Clone, PartialEq, ::prost::Message)]
986pub struct QuerySigningRequestRequest {
987    #[prost(uint64, tag = "1")]
988    pub sequence: u64,
989}
990impl ::prost::Name for QuerySigningRequestRequest {
991    const NAME: &'static str = "QuerySigningRequestRequest";
992    const PACKAGE: &'static str = "bitway.btcbridge";
993    fn full_name() -> ::prost::alloc::string::String {
994        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
995    }
996}
997/// QuerySigningRequestResponse is response type for the Query/SigningRequest RPC method.
998#[allow(clippy::derive_partial_eq_without_eq)]
999#[derive(Clone, PartialEq, ::prost::Message)]
1000pub struct QuerySigningRequestResponse {
1001    #[prost(message, optional, tag = "1")]
1002    pub request: ::core::option::Option<SigningRequest>,
1003}
1004impl ::prost::Name for QuerySigningRequestResponse {
1005    const NAME: &'static str = "QuerySigningRequestResponse";
1006    const PACKAGE: &'static str = "bitway.btcbridge";
1007    fn full_name() -> ::prost::alloc::string::String {
1008        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1009    }
1010}
1011/// QuerySigningRequestsRequest is request type for the Query/SigningRequests RPC method.
1012#[allow(clippy::derive_partial_eq_without_eq)]
1013#[derive(Clone, PartialEq, ::prost::Message)]
1014pub struct QuerySigningRequestsRequest {
1015    #[prost(enumeration = "SigningStatus", tag = "1")]
1016    pub status: i32,
1017    #[prost(message, optional, tag = "2")]
1018    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1019}
1020impl ::prost::Name for QuerySigningRequestsRequest {
1021    const NAME: &'static str = "QuerySigningRequestsRequest";
1022    const PACKAGE: &'static str = "bitway.btcbridge";
1023    fn full_name() -> ::prost::alloc::string::String {
1024        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1025    }
1026}
1027/// QuerySigningRequestsResponse is response type for the Query/SigningRequests RPC method.
1028#[allow(clippy::derive_partial_eq_without_eq)]
1029#[derive(Clone, PartialEq, ::prost::Message)]
1030pub struct QuerySigningRequestsResponse {
1031    #[prost(message, repeated, tag = "1")]
1032    pub requests: ::prost::alloc::vec::Vec<SigningRequest>,
1033    #[prost(message, optional, tag = "2")]
1034    pub pagination:
1035        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
1036}
1037impl ::prost::Name for QuerySigningRequestsResponse {
1038    const NAME: &'static str = "QuerySigningRequestsResponse";
1039    const PACKAGE: &'static str = "bitway.btcbridge";
1040    fn full_name() -> ::prost::alloc::string::String {
1041        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1042    }
1043}
1044/// QuerySigningRequestsByAddressRequest is request type for the Query/SigningRequestsByAddress RPC method.
1045#[allow(clippy::derive_partial_eq_without_eq)]
1046#[derive(Clone, PartialEq, ::prost::Message)]
1047pub struct QuerySigningRequestsByAddressRequest {
1048    #[prost(string, tag = "1")]
1049    pub address: ::prost::alloc::string::String,
1050    #[prost(message, optional, tag = "2")]
1051    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1052}
1053impl ::prost::Name for QuerySigningRequestsByAddressRequest {
1054    const NAME: &'static str = "QuerySigningRequestsByAddressRequest";
1055    const PACKAGE: &'static str = "bitway.btcbridge";
1056    fn full_name() -> ::prost::alloc::string::String {
1057        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1058    }
1059}
1060/// QuerySigningRequestsByAddressResponse is response type for the Query/SigningRequestsByAddress RPC method.
1061#[allow(clippy::derive_partial_eq_without_eq)]
1062#[derive(Clone, PartialEq, ::prost::Message)]
1063pub struct QuerySigningRequestsByAddressResponse {
1064    #[prost(message, repeated, tag = "1")]
1065    pub requests: ::prost::alloc::vec::Vec<SigningRequest>,
1066    #[prost(message, optional, tag = "2")]
1067    pub pagination:
1068        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
1069}
1070impl ::prost::Name for QuerySigningRequestsByAddressResponse {
1071    const NAME: &'static str = "QuerySigningRequestsByAddressResponse";
1072    const PACKAGE: &'static str = "bitway.btcbridge";
1073    fn full_name() -> ::prost::alloc::string::String {
1074        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1075    }
1076}
1077/// QuerySigningRequestByTxHashRequest is request type for the Query/SigningRequestByTxHash RPC method.
1078#[allow(clippy::derive_partial_eq_without_eq)]
1079#[derive(Clone, PartialEq, ::prost::Message)]
1080pub struct QuerySigningRequestByTxHashRequest {
1081    #[prost(string, tag = "1")]
1082    pub txid: ::prost::alloc::string::String,
1083}
1084impl ::prost::Name for QuerySigningRequestByTxHashRequest {
1085    const NAME: &'static str = "QuerySigningRequestByTxHashRequest";
1086    const PACKAGE: &'static str = "bitway.btcbridge";
1087    fn full_name() -> ::prost::alloc::string::String {
1088        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1089    }
1090}
1091/// QuerySigningRequestByTxHashResponse is response type for the Query/SigningRequestByTxHashResponse RPC method.
1092#[allow(clippy::derive_partial_eq_without_eq)]
1093#[derive(Clone, PartialEq, ::prost::Message)]
1094pub struct QuerySigningRequestByTxHashResponse {
1095    #[prost(message, optional, tag = "1")]
1096    pub request: ::core::option::Option<SigningRequest>,
1097}
1098impl ::prost::Name for QuerySigningRequestByTxHashResponse {
1099    const NAME: &'static str = "QuerySigningRequestByTxHashResponse";
1100    const PACKAGE: &'static str = "bitway.btcbridge";
1101    fn full_name() -> ::prost::alloc::string::String {
1102        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1103    }
1104}
1105/// QueryPendingSigningRequestsRequest is request type for the Query/PendingSigningRequests RPC method.
1106#[allow(clippy::derive_partial_eq_without_eq)]
1107#[derive(Clone, PartialEq, ::prost::Message)]
1108pub struct QueryPendingSigningRequestsRequest {
1109    #[prost(message, optional, tag = "1")]
1110    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1111}
1112impl ::prost::Name for QueryPendingSigningRequestsRequest {
1113    const NAME: &'static str = "QueryPendingSigningRequestsRequest";
1114    const PACKAGE: &'static str = "bitway.btcbridge";
1115    fn full_name() -> ::prost::alloc::string::String {
1116        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1117    }
1118}
1119/// QueryPendingSigningRequestsResponse is response type for the Query/PendingSigningRequests RPC method.
1120#[allow(clippy::derive_partial_eq_without_eq)]
1121#[derive(Clone, PartialEq, ::prost::Message)]
1122pub struct QueryPendingSigningRequestsResponse {
1123    #[prost(message, repeated, tag = "1")]
1124    pub requests: ::prost::alloc::vec::Vec<CompactSigningRequest>,
1125    #[prost(message, optional, tag = "2")]
1126    pub pagination:
1127        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
1128}
1129impl ::prost::Name for QueryPendingSigningRequestsResponse {
1130    const NAME: &'static str = "QueryPendingSigningRequestsResponse";
1131    const PACKAGE: &'static str = "bitway.btcbridge";
1132    fn full_name() -> ::prost::alloc::string::String {
1133        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1134    }
1135}
1136/// QueryFeeRateRequest is request type for the Query/FeeRate RPC method.
1137#[allow(clippy::derive_partial_eq_without_eq)]
1138#[derive(Clone, PartialEq, ::prost::Message)]
1139pub struct QueryFeeRateRequest {}
1140impl ::prost::Name for QueryFeeRateRequest {
1141    const NAME: &'static str = "QueryFeeRateRequest";
1142    const PACKAGE: &'static str = "bitway.btcbridge";
1143    fn full_name() -> ::prost::alloc::string::String {
1144        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1145    }
1146}
1147/// QueryFeeRateResponse is response type for the Query/FeeRate RPC method.
1148#[allow(clippy::derive_partial_eq_without_eq)]
1149#[derive(Clone, PartialEq, ::prost::Message)]
1150pub struct QueryFeeRateResponse {
1151    #[prost(message, optional, tag = "1")]
1152    pub fee_rate: ::core::option::Option<FeeRate>,
1153}
1154impl ::prost::Name for QueryFeeRateResponse {
1155    const NAME: &'static str = "QueryFeeRateResponse";
1156    const PACKAGE: &'static str = "bitway.btcbridge";
1157    fn full_name() -> ::prost::alloc::string::String {
1158        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1159    }
1160}
1161/// QueryWithdrawalNetworkFeeRequest is request type for the Query/WithdrawalNetworkFee RPC method.
1162#[allow(clippy::derive_partial_eq_without_eq)]
1163#[derive(Clone, PartialEq, ::prost::Message)]
1164pub struct QueryWithdrawalNetworkFeeRequest {
1165    #[prost(string, tag = "1")]
1166    pub address: ::prost::alloc::string::String,
1167    #[prost(string, tag = "2")]
1168    pub amount: ::prost::alloc::string::String,
1169    #[prost(int64, tag = "3")]
1170    pub fee_rate: i64,
1171}
1172impl ::prost::Name for QueryWithdrawalNetworkFeeRequest {
1173    const NAME: &'static str = "QueryWithdrawalNetworkFeeRequest";
1174    const PACKAGE: &'static str = "bitway.btcbridge";
1175    fn full_name() -> ::prost::alloc::string::String {
1176        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1177    }
1178}
1179/// QueryWithdrawalNetworkFeeResponse is response type for the Query/WithdrawalNetworkFee RPC method.
1180#[allow(clippy::derive_partial_eq_without_eq)]
1181#[derive(Clone, PartialEq, ::prost::Message)]
1182pub struct QueryWithdrawalNetworkFeeResponse {
1183    #[prost(int64, tag = "1")]
1184    pub fee_rate: i64,
1185    #[prost(string, tag = "2")]
1186    pub fee: ::prost::alloc::string::String,
1187}
1188impl ::prost::Name for QueryWithdrawalNetworkFeeResponse {
1189    const NAME: &'static str = "QueryWithdrawalNetworkFeeResponse";
1190    const PACKAGE: &'static str = "bitway.btcbridge";
1191    fn full_name() -> ::prost::alloc::string::String {
1192        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1193    }
1194}
1195/// QueryParamsRequest is request type for the Query/Params RPC method.
1196#[allow(clippy::derive_partial_eq_without_eq)]
1197#[derive(Clone, PartialEq, ::prost::Message)]
1198pub struct QueryParamsRequest {}
1199impl ::prost::Name for QueryParamsRequest {
1200    const NAME: &'static str = "QueryParamsRequest";
1201    const PACKAGE: &'static str = "bitway.btcbridge";
1202    fn full_name() -> ::prost::alloc::string::String {
1203        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1204    }
1205}
1206/// QueryParamsResponse is response type for the Query/Params RPC method.
1207#[allow(clippy::derive_partial_eq_without_eq)]
1208#[derive(Clone, PartialEq, ::prost::Message)]
1209pub struct QueryParamsResponse {
1210    /// params holds all the parameters of this module.
1211    #[prost(message, optional, tag = "1")]
1212    pub params: ::core::option::Option<Params>,
1213}
1214impl ::prost::Name for QueryParamsResponse {
1215    const NAME: &'static str = "QueryParamsResponse";
1216    const PACKAGE: &'static str = "bitway.btcbridge";
1217    fn full_name() -> ::prost::alloc::string::String {
1218        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1219    }
1220}
1221/// QueryUTXOsRequest is the request type for the Query/UTXOs RPC method.
1222#[allow(clippy::derive_partial_eq_without_eq)]
1223#[derive(Clone, PartialEq, ::prost::Message)]
1224pub struct QueryUtxOsRequest {}
1225impl ::prost::Name for QueryUtxOsRequest {
1226    const NAME: &'static str = "QueryUTXOsRequest";
1227    const PACKAGE: &'static str = "bitway.btcbridge";
1228    fn full_name() -> ::prost::alloc::string::String {
1229        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1230    }
1231}
1232/// QueryUTXOsResponse is the response type for the Query/UTXOs RPC method.
1233#[allow(clippy::derive_partial_eq_without_eq)]
1234#[derive(Clone, PartialEq, ::prost::Message)]
1235pub struct QueryUtxOsResponse {
1236    #[prost(message, repeated, tag = "1")]
1237    pub utxos: ::prost::alloc::vec::Vec<Utxo>,
1238}
1239impl ::prost::Name for QueryUtxOsResponse {
1240    const NAME: &'static str = "QueryUTXOsResponse";
1241    const PACKAGE: &'static str = "bitway.btcbridge";
1242    fn full_name() -> ::prost::alloc::string::String {
1243        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1244    }
1245}
1246/// QueryUTXOsByAddressRequest is the request type for the Query/UTXOsByAddress RPC method.
1247#[allow(clippy::derive_partial_eq_without_eq)]
1248#[derive(Clone, PartialEq, ::prost::Message)]
1249pub struct QueryUtxOsByAddressRequest {
1250    #[prost(string, tag = "1")]
1251    pub address: ::prost::alloc::string::String,
1252}
1253impl ::prost::Name for QueryUtxOsByAddressRequest {
1254    const NAME: &'static str = "QueryUTXOsByAddressRequest";
1255    const PACKAGE: &'static str = "bitway.btcbridge";
1256    fn full_name() -> ::prost::alloc::string::String {
1257        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1258    }
1259}
1260/// QueryUTXOsByAddressResponse is the response type for the Query/UTXOsByAddress RPC method.
1261#[allow(clippy::derive_partial_eq_without_eq)]
1262#[derive(Clone, PartialEq, ::prost::Message)]
1263pub struct QueryUtxOsByAddressResponse {
1264    #[prost(message, repeated, tag = "1")]
1265    pub utxos: ::prost::alloc::vec::Vec<Utxo>,
1266}
1267impl ::prost::Name for QueryUtxOsByAddressResponse {
1268    const NAME: &'static str = "QueryUTXOsByAddressResponse";
1269    const PACKAGE: &'static str = "bitway.btcbridge";
1270    fn full_name() -> ::prost::alloc::string::String {
1271        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1272    }
1273}
1274/// QueryUTXOCountAndBalancesByAddressRequest is the request type for the Query/UTXOCountAndBalancesByAddress RPC method.
1275#[allow(clippy::derive_partial_eq_without_eq)]
1276#[derive(Clone, PartialEq, ::prost::Message)]
1277pub struct QueryUtxoCountAndBalancesByAddressRequest {
1278    #[prost(string, tag = "1")]
1279    pub address: ::prost::alloc::string::String,
1280}
1281impl ::prost::Name for QueryUtxoCountAndBalancesByAddressRequest {
1282    const NAME: &'static str = "QueryUTXOCountAndBalancesByAddressRequest";
1283    const PACKAGE: &'static str = "bitway.btcbridge";
1284    fn full_name() -> ::prost::alloc::string::String {
1285        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1286    }
1287}
1288/// QueryUTXOCountAndBalancesByAddressResponse is the response type for the Query/UTXOCountAndBalancesByAddress RPC method.
1289#[allow(clippy::derive_partial_eq_without_eq)]
1290#[derive(Clone, PartialEq, ::prost::Message)]
1291pub struct QueryUtxoCountAndBalancesByAddressResponse {
1292    #[prost(uint32, tag = "1")]
1293    pub count: u32,
1294    #[prost(int64, tag = "2")]
1295    pub value: i64,
1296    #[prost(message, repeated, tag = "3")]
1297    pub rune_balances: ::prost::alloc::vec::Vec<RuneBalance>,
1298}
1299impl ::prost::Name for QueryUtxoCountAndBalancesByAddressResponse {
1300    const NAME: &'static str = "QueryUTXOCountAndBalancesByAddressResponse";
1301    const PACKAGE: &'static str = "bitway.btcbridge";
1302    fn full_name() -> ::prost::alloc::string::String {
1303        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1304    }
1305}
1306/// QueryDKGRequestRequest is the request type for the Query/DKGRequest RPC method.
1307#[allow(clippy::derive_partial_eq_without_eq)]
1308#[derive(Clone, PartialEq, ::prost::Message)]
1309pub struct QueryDkgRequestRequest {
1310    #[prost(uint64, tag = "1")]
1311    pub id: u64,
1312}
1313impl ::prost::Name for QueryDkgRequestRequest {
1314    const NAME: &'static str = "QueryDKGRequestRequest";
1315    const PACKAGE: &'static str = "bitway.btcbridge";
1316    fn full_name() -> ::prost::alloc::string::String {
1317        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1318    }
1319}
1320/// QueryDKGRequestResponse is the response type for the Query/DKGRequest RPC method.
1321#[allow(clippy::derive_partial_eq_without_eq)]
1322#[derive(Clone, PartialEq, ::prost::Message)]
1323pub struct QueryDkgRequestResponse {
1324    #[prost(message, optional, tag = "1")]
1325    pub request: ::core::option::Option<DkgRequest>,
1326}
1327impl ::prost::Name for QueryDkgRequestResponse {
1328    const NAME: &'static str = "QueryDKGRequestResponse";
1329    const PACKAGE: &'static str = "bitway.btcbridge";
1330    fn full_name() -> ::prost::alloc::string::String {
1331        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1332    }
1333}
1334/// QueryDKGRequestsRequest is the request type for the Query/DKGRequests RPC method.
1335#[allow(clippy::derive_partial_eq_without_eq)]
1336#[derive(Clone, PartialEq, ::prost::Message)]
1337pub struct QueryDkgRequestsRequest {
1338    #[prost(enumeration = "DkgRequestStatus", tag = "1")]
1339    pub status: i32,
1340}
1341impl ::prost::Name for QueryDkgRequestsRequest {
1342    const NAME: &'static str = "QueryDKGRequestsRequest";
1343    const PACKAGE: &'static str = "bitway.btcbridge";
1344    fn full_name() -> ::prost::alloc::string::String {
1345        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1346    }
1347}
1348/// QueryDKGRequestsResponse is the response type for the Query/DKGRequests RPC method.
1349#[allow(clippy::derive_partial_eq_without_eq)]
1350#[derive(Clone, PartialEq, ::prost::Message)]
1351pub struct QueryDkgRequestsResponse {
1352    #[prost(message, repeated, tag = "1")]
1353    pub requests: ::prost::alloc::vec::Vec<DkgRequest>,
1354}
1355impl ::prost::Name for QueryDkgRequestsResponse {
1356    const NAME: &'static str = "QueryDKGRequestsResponse";
1357    const PACKAGE: &'static str = "bitway.btcbridge";
1358    fn full_name() -> ::prost::alloc::string::String {
1359        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1360    }
1361}
1362/// QueryAllDKGRequestsRequest is the request type for the Query/AllDKGRequests RPC method.
1363#[allow(clippy::derive_partial_eq_without_eq)]
1364#[derive(Clone, PartialEq, ::prost::Message)]
1365pub struct QueryAllDkgRequestsRequest {}
1366impl ::prost::Name for QueryAllDkgRequestsRequest {
1367    const NAME: &'static str = "QueryAllDKGRequestsRequest";
1368    const PACKAGE: &'static str = "bitway.btcbridge";
1369    fn full_name() -> ::prost::alloc::string::String {
1370        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1371    }
1372}
1373/// QueryAllDKGRequestsResponse is the response type for the Query/AllDKGRequests RPC method.
1374#[allow(clippy::derive_partial_eq_without_eq)]
1375#[derive(Clone, PartialEq, ::prost::Message)]
1376pub struct QueryAllDkgRequestsResponse {
1377    #[prost(message, repeated, tag = "1")]
1378    pub requests: ::prost::alloc::vec::Vec<DkgRequest>,
1379}
1380impl ::prost::Name for QueryAllDkgRequestsResponse {
1381    const NAME: &'static str = "QueryAllDKGRequestsResponse";
1382    const PACKAGE: &'static str = "bitway.btcbridge";
1383    fn full_name() -> ::prost::alloc::string::String {
1384        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1385    }
1386}
1387/// QueryDKGCompletionRequestsRequest is the request type for the Query/DKGCompletionRequests RPC method.
1388#[allow(clippy::derive_partial_eq_without_eq)]
1389#[derive(Clone, PartialEq, ::prost::Message)]
1390pub struct QueryDkgCompletionRequestsRequest {
1391    #[prost(uint64, tag = "1")]
1392    pub id: u64,
1393}
1394impl ::prost::Name for QueryDkgCompletionRequestsRequest {
1395    const NAME: &'static str = "QueryDKGCompletionRequestsRequest";
1396    const PACKAGE: &'static str = "bitway.btcbridge";
1397    fn full_name() -> ::prost::alloc::string::String {
1398        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1399    }
1400}
1401/// QueryDKGCompletionRequestsResponse is the response type for the Query/DKGCompletionRequests RPC method.
1402#[allow(clippy::derive_partial_eq_without_eq)]
1403#[derive(Clone, PartialEq, ::prost::Message)]
1404pub struct QueryDkgCompletionRequestsResponse {
1405    #[prost(message, repeated, tag = "1")]
1406    pub requests: ::prost::alloc::vec::Vec<DkgCompletionRequest>,
1407}
1408impl ::prost::Name for QueryDkgCompletionRequestsResponse {
1409    const NAME: &'static str = "QueryDKGCompletionRequestsResponse";
1410    const PACKAGE: &'static str = "bitway.btcbridge";
1411    fn full_name() -> ::prost::alloc::string::String {
1412        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1413    }
1414}
1415#[allow(clippy::derive_partial_eq_without_eq)]
1416#[derive(Clone, PartialEq, ::prost::Message)]
1417pub struct QueryRefreshingRequestRequest {
1418    #[prost(uint64, tag = "1")]
1419    pub id: u64,
1420}
1421impl ::prost::Name for QueryRefreshingRequestRequest {
1422    const NAME: &'static str = "QueryRefreshingRequestRequest";
1423    const PACKAGE: &'static str = "bitway.btcbridge";
1424    fn full_name() -> ::prost::alloc::string::String {
1425        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1426    }
1427}
1428#[allow(clippy::derive_partial_eq_without_eq)]
1429#[derive(Clone, PartialEq, ::prost::Message)]
1430pub struct QueryRefreshingRequestResponse {
1431    #[prost(message, optional, tag = "1")]
1432    pub request: ::core::option::Option<RefreshingRequest>,
1433}
1434impl ::prost::Name for QueryRefreshingRequestResponse {
1435    const NAME: &'static str = "QueryRefreshingRequestResponse";
1436    const PACKAGE: &'static str = "bitway.btcbridge";
1437    fn full_name() -> ::prost::alloc::string::String {
1438        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1439    }
1440}
1441#[allow(clippy::derive_partial_eq_without_eq)]
1442#[derive(Clone, PartialEq, ::prost::Message)]
1443pub struct QueryRefreshingRequestsRequest {
1444    #[prost(enumeration = "RefreshingStatus", tag = "1")]
1445    pub status: i32,
1446    #[prost(message, optional, tag = "2")]
1447    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1448}
1449impl ::prost::Name for QueryRefreshingRequestsRequest {
1450    const NAME: &'static str = "QueryRefreshingRequestsRequest";
1451    const PACKAGE: &'static str = "bitway.btcbridge";
1452    fn full_name() -> ::prost::alloc::string::String {
1453        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1454    }
1455}
1456#[allow(clippy::derive_partial_eq_without_eq)]
1457#[derive(Clone, PartialEq, ::prost::Message)]
1458pub struct QueryRefreshingRequestsResponse {
1459    #[prost(message, repeated, tag = "1")]
1460    pub requests: ::prost::alloc::vec::Vec<RefreshingRequest>,
1461    #[prost(message, optional, tag = "2")]
1462    pub pagination:
1463        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
1464}
1465impl ::prost::Name for QueryRefreshingRequestsResponse {
1466    const NAME: &'static str = "QueryRefreshingRequestsResponse";
1467    const PACKAGE: &'static str = "bitway.btcbridge";
1468    fn full_name() -> ::prost::alloc::string::String {
1469        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1470    }
1471}
1472#[allow(clippy::derive_partial_eq_without_eq)]
1473#[derive(Clone, PartialEq, ::prost::Message)]
1474pub struct QueryRefreshingCompletionsRequest {
1475    #[prost(uint64, tag = "1")]
1476    pub id: u64,
1477    #[prost(message, optional, tag = "2")]
1478    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
1479}
1480impl ::prost::Name for QueryRefreshingCompletionsRequest {
1481    const NAME: &'static str = "QueryRefreshingCompletionsRequest";
1482    const PACKAGE: &'static str = "bitway.btcbridge";
1483    fn full_name() -> ::prost::alloc::string::String {
1484        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1485    }
1486}
1487#[allow(clippy::derive_partial_eq_without_eq)]
1488#[derive(Clone, PartialEq, ::prost::Message)]
1489pub struct QueryRefreshingCompletionsResponse {
1490    #[prost(message, repeated, tag = "1")]
1491    pub completions: ::prost::alloc::vec::Vec<RefreshingCompletion>,
1492    #[prost(message, optional, tag = "2")]
1493    pub pagination:
1494        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
1495}
1496impl ::prost::Name for QueryRefreshingCompletionsResponse {
1497    const NAME: &'static str = "QueryRefreshingCompletionsResponse";
1498    const PACKAGE: &'static str = "bitway.btcbridge";
1499    fn full_name() -> ::prost::alloc::string::String {
1500        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1501    }
1502}
1503/// QueryIBCDepositScriptRequest is the request type for the Query/IBCDepositScript RPC method.
1504#[allow(clippy::derive_partial_eq_without_eq)]
1505#[derive(Clone, PartialEq, ::prost::Message)]
1506pub struct QueryIbcDepositScriptRequest {
1507    #[prost(string, tag = "1")]
1508    pub channel_id: ::prost::alloc::string::String,
1509    #[prost(string, tag = "2")]
1510    pub recipient_address: ::prost::alloc::string::String,
1511}
1512impl ::prost::Name for QueryIbcDepositScriptRequest {
1513    const NAME: &'static str = "QueryIBCDepositScriptRequest";
1514    const PACKAGE: &'static str = "bitway.btcbridge";
1515    fn full_name() -> ::prost::alloc::string::String {
1516        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1517    }
1518}
1519/// QueryIBCDepositScriptResponse is the response type for the Query/IBCDepositScript RPC method.
1520#[allow(clippy::derive_partial_eq_without_eq)]
1521#[derive(Clone, PartialEq, ::prost::Message)]
1522pub struct QueryIbcDepositScriptResponse {
1523    #[prost(string, tag = "1")]
1524    pub script: ::prost::alloc::string::String,
1525}
1526impl ::prost::Name for QueryIbcDepositScriptResponse {
1527    const NAME: &'static str = "QueryIBCDepositScriptResponse";
1528    const PACKAGE: &'static str = "bitway.btcbridge";
1529    fn full_name() -> ::prost::alloc::string::String {
1530        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1531    }
1532}
1533/// QueryRateLimitRequest is the request type for the Query/RateLimit RPC method.
1534#[allow(clippy::derive_partial_eq_without_eq)]
1535#[derive(Clone, PartialEq, ::prost::Message)]
1536pub struct QueryRateLimitRequest {}
1537impl ::prost::Name for QueryRateLimitRequest {
1538    const NAME: &'static str = "QueryRateLimitRequest";
1539    const PACKAGE: &'static str = "bitway.btcbridge";
1540    fn full_name() -> ::prost::alloc::string::String {
1541        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1542    }
1543}
1544/// QueryRateLimitResponse is the response type for the Query/RateLimit RPC method.
1545#[allow(clippy::derive_partial_eq_without_eq)]
1546#[derive(Clone, PartialEq, ::prost::Message)]
1547pub struct QueryRateLimitResponse {
1548    #[prost(message, optional, tag = "1")]
1549    pub rate_limit: ::core::option::Option<RateLimit>,
1550}
1551impl ::prost::Name for QueryRateLimitResponse {
1552    const NAME: &'static str = "QueryRateLimitResponse";
1553    const PACKAGE: &'static str = "bitway.btcbridge";
1554    fn full_name() -> ::prost::alloc::string::String {
1555        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1556    }
1557}
1558/// QueryRateLimitByAddressRequest is the request type for the Query/RateLimitByAddress RPC method.
1559#[allow(clippy::derive_partial_eq_without_eq)]
1560#[derive(Clone, PartialEq, ::prost::Message)]
1561pub struct QueryRateLimitByAddressRequest {
1562    #[prost(string, tag = "1")]
1563    pub address: ::prost::alloc::string::String,
1564}
1565impl ::prost::Name for QueryRateLimitByAddressRequest {
1566    const NAME: &'static str = "QueryRateLimitByAddressRequest";
1567    const PACKAGE: &'static str = "bitway.btcbridge";
1568    fn full_name() -> ::prost::alloc::string::String {
1569        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1570    }
1571}
1572/// QueryRateLimitByAddressResponse is the response type for the Query/RateLimitByAddress RPC method.
1573#[allow(clippy::derive_partial_eq_without_eq)]
1574#[derive(Clone, PartialEq, ::prost::Message)]
1575pub struct QueryRateLimitByAddressResponse {
1576    /// Address
1577    #[prost(string, tag = "1")]
1578    pub address: ::prost::alloc::string::String,
1579    /// Starting time for the current epoch
1580    #[prost(message, optional, tag = "2")]
1581    pub start_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
1582    /// End time for the current epoch
1583    #[prost(message, optional, tag = "3")]
1584    pub end_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
1585    /// Maximum withdrawable amount for the current epoch; 0 means no limit
1586    #[prost(int64, tag = "4")]
1587    pub quota: i64,
1588    /// Used quota currently
1589    #[prost(int64, tag = "5")]
1590    pub used: i64,
1591}
1592impl ::prost::Name for QueryRateLimitByAddressResponse {
1593    const NAME: &'static str = "QueryRateLimitByAddressResponse";
1594    const PACKAGE: &'static str = "bitway.btcbridge";
1595    fn full_name() -> ::prost::alloc::string::String {
1596        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1597    }
1598}
1599/// MsgSubmitDepositTransaction defines the Msg/SubmitDepositTransaction request type.
1600#[allow(clippy::derive_partial_eq_without_eq)]
1601#[derive(Clone, PartialEq, ::prost::Message)]
1602pub struct MsgSubmitDepositTransaction {
1603    /// this is the relayer address who submits the bitcoin transaction to the bitway chain
1604    #[prost(string, tag = "1")]
1605    pub sender: ::prost::alloc::string::String,
1606    #[prost(string, tag = "2")]
1607    pub blockhash: ::prost::alloc::string::String,
1608    /// the tx bytes in base64 format
1609    /// used for parsing the sender of the transaction
1610    #[prost(string, tag = "3")]
1611    pub prev_tx_bytes: ::prost::alloc::string::String,
1612    /// the tx bytes in base64 format
1613    #[prost(string, tag = "4")]
1614    pub tx_bytes: ::prost::alloc::string::String,
1615    #[prost(string, repeated, tag = "5")]
1616    pub proof: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1617}
1618impl ::prost::Name for MsgSubmitDepositTransaction {
1619    const NAME: &'static str = "MsgSubmitDepositTransaction";
1620    const PACKAGE: &'static str = "bitway.btcbridge";
1621    fn full_name() -> ::prost::alloc::string::String {
1622        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1623    }
1624}
1625/// MsgSubmitDepositTransactionResponse defines the Msg/SubmitDepositTransaction response type.
1626#[allow(clippy::derive_partial_eq_without_eq)]
1627#[derive(Clone, PartialEq, ::prost::Message)]
1628pub struct MsgSubmitDepositTransactionResponse {}
1629impl ::prost::Name for MsgSubmitDepositTransactionResponse {
1630    const NAME: &'static str = "MsgSubmitDepositTransactionResponse";
1631    const PACKAGE: &'static str = "bitway.btcbridge";
1632    fn full_name() -> ::prost::alloc::string::String {
1633        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1634    }
1635}
1636/// MsgSubmitWithdrawTransaction defines the Msg/SubmitWithdrawTransaction request type.
1637#[allow(clippy::derive_partial_eq_without_eq)]
1638#[derive(Clone, PartialEq, ::prost::Message)]
1639pub struct MsgSubmitWithdrawTransaction {
1640    /// this is the relayer address who submits the bitcoin transaction to the bitway chain
1641    #[prost(string, tag = "1")]
1642    pub sender: ::prost::alloc::string::String,
1643    #[prost(string, tag = "2")]
1644    pub blockhash: ::prost::alloc::string::String,
1645    /// the tx bytes in base64 format
1646    #[prost(string, tag = "3")]
1647    pub tx_bytes: ::prost::alloc::string::String,
1648    #[prost(string, repeated, tag = "4")]
1649    pub proof: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1650}
1651impl ::prost::Name for MsgSubmitWithdrawTransaction {
1652    const NAME: &'static str = "MsgSubmitWithdrawTransaction";
1653    const PACKAGE: &'static str = "bitway.btcbridge";
1654    fn full_name() -> ::prost::alloc::string::String {
1655        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1656    }
1657}
1658/// MsgSubmitWithdrawTransactionResponse defines the Msg/SubmitWithdrawTransaction response type.
1659#[allow(clippy::derive_partial_eq_without_eq)]
1660#[derive(Clone, PartialEq, ::prost::Message)]
1661pub struct MsgSubmitWithdrawTransactionResponse {}
1662impl ::prost::Name for MsgSubmitWithdrawTransactionResponse {
1663    const NAME: &'static str = "MsgSubmitWithdrawTransactionResponse";
1664    const PACKAGE: &'static str = "bitway.btcbridge";
1665    fn full_name() -> ::prost::alloc::string::String {
1666        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1667    }
1668}
1669/// MsgSubmitFeeRate defines the Msg/SubmitFeeRate request type.
1670#[allow(clippy::derive_partial_eq_without_eq)]
1671#[derive(Clone, PartialEq, ::prost::Message)]
1672pub struct MsgSubmitFeeRate {
1673    #[prost(string, tag = "1")]
1674    pub sender: ::prost::alloc::string::String,
1675    #[prost(int64, tag = "2")]
1676    pub fee_rate: i64,
1677}
1678impl ::prost::Name for MsgSubmitFeeRate {
1679    const NAME: &'static str = "MsgSubmitFeeRate";
1680    const PACKAGE: &'static str = "bitway.btcbridge";
1681    fn full_name() -> ::prost::alloc::string::String {
1682        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1683    }
1684}
1685/// MsgSubmitFeeRateResponse defines the Msg/SubmitFeeRate response type.
1686#[allow(clippy::derive_partial_eq_without_eq)]
1687#[derive(Clone, PartialEq, ::prost::Message)]
1688pub struct MsgSubmitFeeRateResponse {}
1689impl ::prost::Name for MsgSubmitFeeRateResponse {
1690    const NAME: &'static str = "MsgSubmitFeeRateResponse";
1691    const PACKAGE: &'static str = "bitway.btcbridge";
1692    fn full_name() -> ::prost::alloc::string::String {
1693        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1694    }
1695}
1696/// MsgUpdateTrustedNonBtcRelayers defines the Msg/UpdateTrustedNonBtcRelayers request type.
1697#[allow(clippy::derive_partial_eq_without_eq)]
1698#[derive(Clone, PartialEq, ::prost::Message)]
1699pub struct MsgUpdateTrustedNonBtcRelayers {
1700    #[prost(string, tag = "1")]
1701    pub sender: ::prost::alloc::string::String,
1702    #[prost(string, repeated, tag = "2")]
1703    pub relayers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1704}
1705impl ::prost::Name for MsgUpdateTrustedNonBtcRelayers {
1706    const NAME: &'static str = "MsgUpdateTrustedNonBtcRelayers";
1707    const PACKAGE: &'static str = "bitway.btcbridge";
1708    fn full_name() -> ::prost::alloc::string::String {
1709        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1710    }
1711}
1712/// MsgUpdateTrustedNonBtcRelayersResponse defines the Msg/UpdateTrustedNonBtcRelayers response type.
1713#[allow(clippy::derive_partial_eq_without_eq)]
1714#[derive(Clone, PartialEq, ::prost::Message)]
1715pub struct MsgUpdateTrustedNonBtcRelayersResponse {}
1716impl ::prost::Name for MsgUpdateTrustedNonBtcRelayersResponse {
1717    const NAME: &'static str = "MsgUpdateTrustedNonBtcRelayersResponse";
1718    const PACKAGE: &'static str = "bitway.btcbridge";
1719    fn full_name() -> ::prost::alloc::string::String {
1720        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1721    }
1722}
1723/// MsgUpdateTrustedFeeProviders defines the Msg/UpdateTrustedFeeProviders request type.
1724#[allow(clippy::derive_partial_eq_without_eq)]
1725#[derive(Clone, PartialEq, ::prost::Message)]
1726pub struct MsgUpdateTrustedFeeProviders {
1727    #[prost(string, tag = "1")]
1728    pub sender: ::prost::alloc::string::String,
1729    #[prost(string, repeated, tag = "2")]
1730    pub fee_providers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1731}
1732impl ::prost::Name for MsgUpdateTrustedFeeProviders {
1733    const NAME: &'static str = "MsgUpdateTrustedFeeProviders";
1734    const PACKAGE: &'static str = "bitway.btcbridge";
1735    fn full_name() -> ::prost::alloc::string::String {
1736        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1737    }
1738}
1739/// MsgUpdateTrustedFeeProvidersResponse defines the Msg/UpdateTrustedFeeProviders response type.
1740#[allow(clippy::derive_partial_eq_without_eq)]
1741#[derive(Clone, PartialEq, ::prost::Message)]
1742pub struct MsgUpdateTrustedFeeProvidersResponse {}
1743impl ::prost::Name for MsgUpdateTrustedFeeProvidersResponse {
1744    const NAME: &'static str = "MsgUpdateTrustedFeeProvidersResponse";
1745    const PACKAGE: &'static str = "bitway.btcbridge";
1746    fn full_name() -> ::prost::alloc::string::String {
1747        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1748    }
1749}
1750/// MsgWithdrawToBitcoin defines the Msg/WithdrawToBitcoin request type.
1751#[allow(clippy::derive_partial_eq_without_eq)]
1752#[derive(Clone, PartialEq, ::prost::Message)]
1753pub struct MsgWithdrawToBitcoin {
1754    #[prost(string, tag = "1")]
1755    pub sender: ::prost::alloc::string::String,
1756    /// withdraw amount in satoshi, etc: 100000000sat = 1btc
1757    #[prost(string, tag = "2")]
1758    pub amount: ::prost::alloc::string::String,
1759}
1760impl ::prost::Name for MsgWithdrawToBitcoin {
1761    const NAME: &'static str = "MsgWithdrawToBitcoin";
1762    const PACKAGE: &'static str = "bitway.btcbridge";
1763    fn full_name() -> ::prost::alloc::string::String {
1764        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1765    }
1766}
1767/// MsgWithdrawToBitcoinResponse defines the Msg/WithdrawToBitcoin response type.
1768#[allow(clippy::derive_partial_eq_without_eq)]
1769#[derive(Clone, PartialEq, ::prost::Message)]
1770pub struct MsgWithdrawToBitcoinResponse {}
1771impl ::prost::Name for MsgWithdrawToBitcoinResponse {
1772    const NAME: &'static str = "MsgWithdrawToBitcoinResponse";
1773    const PACKAGE: &'static str = "bitway.btcbridge";
1774    fn full_name() -> ::prost::alloc::string::String {
1775        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1776    }
1777}
1778/// MsgSubmitSignatures defines the Msg/SubmitSignatures request type.
1779#[allow(clippy::derive_partial_eq_without_eq)]
1780#[derive(Clone, PartialEq, ::prost::Message)]
1781pub struct MsgSubmitSignatures {
1782    #[prost(string, tag = "1")]
1783    pub sender: ::prost::alloc::string::String,
1784    #[prost(string, tag = "2")]
1785    pub txid: ::prost::alloc::string::String,
1786    #[prost(string, repeated, tag = "3")]
1787    pub signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1788}
1789impl ::prost::Name for MsgSubmitSignatures {
1790    const NAME: &'static str = "MsgSubmitSignatures";
1791    const PACKAGE: &'static str = "bitway.btcbridge";
1792    fn full_name() -> ::prost::alloc::string::String {
1793        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1794    }
1795}
1796/// MsgSubmitSignaturesResponse defines the Msg/SubmitSignatures response type.
1797#[allow(clippy::derive_partial_eq_without_eq)]
1798#[derive(Clone, PartialEq, ::prost::Message)]
1799pub struct MsgSubmitSignaturesResponse {}
1800impl ::prost::Name for MsgSubmitSignaturesResponse {
1801    const NAME: &'static str = "MsgSubmitSignaturesResponse";
1802    const PACKAGE: &'static str = "bitway.btcbridge";
1803    fn full_name() -> ::prost::alloc::string::String {
1804        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1805    }
1806}
1807/// MsgConsolidateVaults is the Msg/ConsolidateVaults request type.
1808#[allow(clippy::derive_partial_eq_without_eq)]
1809#[derive(Clone, PartialEq, ::prost::Message)]
1810pub struct MsgConsolidateVaults {
1811    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1812    #[prost(string, tag = "1")]
1813    pub authority: ::prost::alloc::string::String,
1814    /// vault version
1815    #[prost(uint64, tag = "2")]
1816    pub vault_version: u64,
1817    /// btc consolidation
1818    #[prost(message, optional, tag = "3")]
1819    pub btc_consolidation: ::core::option::Option<BtcConsolidation>,
1820    /// runes consolidations
1821    #[prost(message, repeated, tag = "4")]
1822    pub runes_consolidations: ::prost::alloc::vec::Vec<RunesConsolidation>,
1823}
1824impl ::prost::Name for MsgConsolidateVaults {
1825    const NAME: &'static str = "MsgConsolidateVaults";
1826    const PACKAGE: &'static str = "bitway.btcbridge";
1827    fn full_name() -> ::prost::alloc::string::String {
1828        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1829    }
1830}
1831/// MsgConsolidateVaultsResponse defines the Msg/ConsolidateVaults response type.
1832#[allow(clippy::derive_partial_eq_without_eq)]
1833#[derive(Clone, PartialEq, ::prost::Message)]
1834pub struct MsgConsolidateVaultsResponse {}
1835impl ::prost::Name for MsgConsolidateVaultsResponse {
1836    const NAME: &'static str = "MsgConsolidateVaultsResponse";
1837    const PACKAGE: &'static str = "bitway.btcbridge";
1838    fn full_name() -> ::prost::alloc::string::String {
1839        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1840    }
1841}
1842/// MsgInitiateDKG is the Msg/InitiateDKG request type.
1843#[allow(clippy::derive_partial_eq_without_eq)]
1844#[derive(Clone, PartialEq, ::prost::Message)]
1845pub struct MsgInitiateDkg {
1846    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1847    #[prost(string, tag = "1")]
1848    pub authority: ::prost::alloc::string::String,
1849    /// expected participant set
1850    #[prost(message, repeated, tag = "2")]
1851    pub participants: ::prost::alloc::vec::Vec<DkgParticipant>,
1852    /// threshold required to perform DKG
1853    #[prost(uint32, tag = "3")]
1854    pub threshold: u32,
1855    /// asset types of vaults to be generated
1856    #[prost(enumeration = "AssetType", repeated, tag = "4")]
1857    pub vault_types: ::prost::alloc::vec::Vec<i32>,
1858    /// indicates if transferring the current vaults to the newly generated vaults when the DKG request is completed
1859    #[prost(bool, tag = "5")]
1860    pub enable_transfer: bool,
1861    /// target number of the UTXOs to be transferred each time
1862    #[prost(uint32, tag = "6")]
1863    pub target_utxo_num: u32,
1864}
1865impl ::prost::Name for MsgInitiateDkg {
1866    const NAME: &'static str = "MsgInitiateDKG";
1867    const PACKAGE: &'static str = "bitway.btcbridge";
1868    fn full_name() -> ::prost::alloc::string::String {
1869        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1870    }
1871}
1872/// MsgInitiateDKGResponse defines the Msg/InitiateDKG response type.
1873#[allow(clippy::derive_partial_eq_without_eq)]
1874#[derive(Clone, PartialEq, ::prost::Message)]
1875pub struct MsgInitiateDkgResponse {}
1876impl ::prost::Name for MsgInitiateDkgResponse {
1877    const NAME: &'static str = "MsgInitiateDKGResponse";
1878    const PACKAGE: &'static str = "bitway.btcbridge";
1879    fn full_name() -> ::prost::alloc::string::String {
1880        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1881    }
1882}
1883/// MsgCompleteDKG is the Msg/CompleteDKG request type.
1884#[allow(clippy::derive_partial_eq_without_eq)]
1885#[derive(Clone, PartialEq, ::prost::Message)]
1886pub struct MsgCompleteDkg {
1887    /// the sender
1888    #[prost(string, tag = "1")]
1889    pub sender: ::prost::alloc::string::String,
1890    /// DKG request id
1891    #[prost(uint64, tag = "2")]
1892    pub id: u64,
1893    /// new vaults generated by DKG
1894    #[prost(string, repeated, tag = "3")]
1895    pub vaults: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1896    /// participant consensus pub key
1897    #[prost(string, tag = "4")]
1898    pub consensus_pubkey: ::prost::alloc::string::String,
1899    /// hex encoded participant signature
1900    #[prost(string, tag = "5")]
1901    pub signature: ::prost::alloc::string::String,
1902}
1903impl ::prost::Name for MsgCompleteDkg {
1904    const NAME: &'static str = "MsgCompleteDKG";
1905    const PACKAGE: &'static str = "bitway.btcbridge";
1906    fn full_name() -> ::prost::alloc::string::String {
1907        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1908    }
1909}
1910/// MsgCompleteDKGResponse defines the Msg/CompleteDKG response type.
1911#[allow(clippy::derive_partial_eq_without_eq)]
1912#[derive(Clone, PartialEq, ::prost::Message)]
1913pub struct MsgCompleteDkgResponse {}
1914impl ::prost::Name for MsgCompleteDkgResponse {
1915    const NAME: &'static str = "MsgCompleteDKGResponse";
1916    const PACKAGE: &'static str = "bitway.btcbridge";
1917    fn full_name() -> ::prost::alloc::string::String {
1918        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1919    }
1920}
1921/// MsgRefresh defines the Msg/Refresh request type.
1922#[allow(clippy::derive_partial_eq_without_eq)]
1923#[derive(Clone, PartialEq, ::prost::Message)]
1924pub struct MsgRefresh {
1925    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1926    #[prost(string, tag = "1")]
1927    pub authority: ::prost::alloc::string::String,
1928    /// list of DKGs corresponding to key shares to be refreshed
1929    #[prost(uint64, repeated, tag = "2")]
1930    pub dkg_ids: ::prost::alloc::vec::Vec<u64>,
1931    /// removed participant set
1932    #[prost(string, repeated, tag = "3")]
1933    pub removed_participants: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1934    /// new threshold set corresponding to the DKGs
1935    #[prost(uint32, repeated, tag = "4")]
1936    pub thresholds: ::prost::alloc::vec::Vec<u32>,
1937    /// timeout duration per DKG refreshing
1938    #[prost(message, optional, tag = "5")]
1939    pub timeout_duration: ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
1940}
1941impl ::prost::Name for MsgRefresh {
1942    const NAME: &'static str = "MsgRefresh";
1943    const PACKAGE: &'static str = "bitway.btcbridge";
1944    fn full_name() -> ::prost::alloc::string::String {
1945        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1946    }
1947}
1948/// MsgRefreshResponse defines the Msg/Refresh response type.
1949#[allow(clippy::derive_partial_eq_without_eq)]
1950#[derive(Clone, PartialEq, ::prost::Message)]
1951pub struct MsgRefreshResponse {}
1952impl ::prost::Name for MsgRefreshResponse {
1953    const NAME: &'static str = "MsgRefreshResponse";
1954    const PACKAGE: &'static str = "bitway.btcbridge";
1955    fn full_name() -> ::prost::alloc::string::String {
1956        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1957    }
1958}
1959/// MsgCompleteRefreshing defines the Msg/CompleteRefreshing request type.
1960#[allow(clippy::derive_partial_eq_without_eq)]
1961#[derive(Clone, PartialEq, ::prost::Message)]
1962pub struct MsgCompleteRefreshing {
1963    /// sender
1964    #[prost(string, tag = "1")]
1965    pub sender: ::prost::alloc::string::String,
1966    /// request id
1967    #[prost(uint64, tag = "2")]
1968    pub id: u64,
1969    /// participant consensus pub key
1970    #[prost(string, tag = "3")]
1971    pub consensus_pubkey: ::prost::alloc::string::String,
1972    /// hex encoded participant signature
1973    #[prost(string, tag = "4")]
1974    pub signature: ::prost::alloc::string::String,
1975}
1976impl ::prost::Name for MsgCompleteRefreshing {
1977    const NAME: &'static str = "MsgCompleteRefreshing";
1978    const PACKAGE: &'static str = "bitway.btcbridge";
1979    fn full_name() -> ::prost::alloc::string::String {
1980        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1981    }
1982}
1983/// MsgCompleteRefreshingResponse defines the Msg/CompleteRefreshing response type.
1984#[allow(clippy::derive_partial_eq_without_eq)]
1985#[derive(Clone, PartialEq, ::prost::Message)]
1986pub struct MsgCompleteRefreshingResponse {}
1987impl ::prost::Name for MsgCompleteRefreshingResponse {
1988    const NAME: &'static str = "MsgCompleteRefreshingResponse";
1989    const PACKAGE: &'static str = "bitway.btcbridge";
1990    fn full_name() -> ::prost::alloc::string::String {
1991        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
1992    }
1993}
1994/// MsgTransferVault is the Msg/TransferVault request type.
1995#[allow(clippy::derive_partial_eq_without_eq)]
1996#[derive(Clone, PartialEq, ::prost::Message)]
1997pub struct MsgTransferVault {
1998    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1999    #[prost(string, tag = "1")]
2000    pub authority: ::prost::alloc::string::String,
2001    /// version of the source vault
2002    #[prost(uint64, tag = "2")]
2003    pub source_version: u64,
2004    /// version of the destination vault
2005    #[prost(uint64, tag = "3")]
2006    pub dest_version: u64,
2007    /// asset type
2008    #[prost(enumeration = "AssetType", tag = "4")]
2009    pub asset_type: i32,
2010    /// a set of optional pre-built PSBTs to perform the asset transfer
2011    #[prost(string, repeated, tag = "5")]
2012    pub psbts: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2013    /// target number of the UTXOs to be transferred; only take effect when psbt not provided
2014    #[prost(uint32, tag = "6")]
2015    pub target_utxo_num: u32,
2016}
2017impl ::prost::Name for MsgTransferVault {
2018    const NAME: &'static str = "MsgTransferVault";
2019    const PACKAGE: &'static str = "bitway.btcbridge";
2020    fn full_name() -> ::prost::alloc::string::String {
2021        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
2022    }
2023}
2024/// MsgTransferVaultResponse defines the Msg/TransferVault response type.
2025#[allow(clippy::derive_partial_eq_without_eq)]
2026#[derive(Clone, PartialEq, ::prost::Message)]
2027pub struct MsgTransferVaultResponse {}
2028impl ::prost::Name for MsgTransferVaultResponse {
2029    const NAME: &'static str = "MsgTransferVaultResponse";
2030    const PACKAGE: &'static str = "bitway.btcbridge";
2031    fn full_name() -> ::prost::alloc::string::String {
2032        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
2033    }
2034}
2035/// MsgUpdateParams is the Msg/UpdateParams request type.
2036///
2037/// Since: cosmos-sdk 0.47
2038#[allow(clippy::derive_partial_eq_without_eq)]
2039#[derive(Clone, PartialEq, ::prost::Message)]
2040pub struct MsgUpdateParams {
2041    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
2042    #[prost(string, tag = "1")]
2043    pub authority: ::prost::alloc::string::String,
2044    /// params defines the x/btcbridge parameters to be updated.
2045    ///
2046    /// NOTE: All parameters must be supplied.
2047    #[prost(message, optional, tag = "2")]
2048    pub params: ::core::option::Option<Params>,
2049}
2050impl ::prost::Name for MsgUpdateParams {
2051    const NAME: &'static str = "MsgUpdateParams";
2052    const PACKAGE: &'static str = "bitway.btcbridge";
2053    fn full_name() -> ::prost::alloc::string::String {
2054        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
2055    }
2056}
2057/// MsgUpdateParamsResponse defines the Msg/UpdateParams response type.
2058///
2059/// Since: cosmos-sdk 0.47
2060#[allow(clippy::derive_partial_eq_without_eq)]
2061#[derive(Clone, PartialEq, ::prost::Message)]
2062pub struct MsgUpdateParamsResponse {}
2063impl ::prost::Name for MsgUpdateParamsResponse {
2064    const NAME: &'static str = "MsgUpdateParamsResponse";
2065    const PACKAGE: &'static str = "bitway.btcbridge";
2066    fn full_name() -> ::prost::alloc::string::String {
2067        ::prost::alloc::format!("bitway.btcbridge.{}", Self::NAME)
2068    }
2069}
2070include!("bitway.btcbridge.serde.rs");
2071include!("bitway.btcbridge.tonic.rs");
2072// @@protoc_insertion_point(module)