side_proto/prost/side/
side.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 a block to be accepted
7    #[prost(int32, tag = "1")]
8    pub confirmations: i32,
9    /// Indicates the maximum depth or distance from the latest block up to which transactions are considered for acceptance.
10    #[prost(uint64, tag = "2")]
11    pub max_acceptable_block_depth: u64,
12    /// The denomination of the voucher
13    #[prost(string, tag = "3")]
14    pub btc_voucher_denom: ::prost::alloc::string::String,
15    /// Indicates if deposit is enabled
16    #[prost(bool, tag = "4")]
17    pub deposit_enabled: bool,
18    /// Indicates if withdrawal is enabled
19    #[prost(bool, tag = "5")]
20    pub withdraw_enabled: bool,
21    /// Trusted relayers to submit bitcoin block headers
22    #[prost(string, repeated, tag = "6")]
23    pub trusted_btc_relayers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
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 oracles for providing offchain data, e.g. bitcoin fee rate
28    #[prost(string, repeated, tag = "8")]
29    pub trusted_oracles: ::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}
49impl ::prost::Name for Params {
50    const NAME: &'static str = "Params";
51    const PACKAGE: &'static str = "side.btcbridge";
52    fn full_name() -> ::prost::alloc::string::String {
53        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
54    }
55}
56/// Vault defines the asset vault
57#[allow(clippy::derive_partial_eq_without_eq)]
58#[derive(Clone, PartialEq, ::prost::Message)]
59pub struct Vault {
60    /// the vault address for deposit
61    #[prost(string, tag = "1")]
62    pub address: ::prost::alloc::string::String,
63    /// public key of the vault
64    #[prost(string, tag = "2")]
65    pub pub_key: ::prost::alloc::string::String,
66    /// the asset type supported by the vault
67    #[prost(enumeration = "AssetType", tag = "3")]
68    pub asset_type: i32,
69    /// version
70    #[prost(uint64, tag = "4")]
71    pub version: u64,
72}
73impl ::prost::Name for Vault {
74    const NAME: &'static str = "Vault";
75    const PACKAGE: &'static str = "side.btcbridge";
76    fn full_name() -> ::prost::alloc::string::String {
77        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
78    }
79}
80#[allow(clippy::derive_partial_eq_without_eq)]
81#[derive(Clone, PartialEq, ::prost::Message)]
82pub struct WithdrawParams {
83    /// Maximum number of utxos used to build the signing request; O means unlimited
84    #[prost(uint32, tag = "1")]
85    pub max_utxo_num: u32,
86    /// Period for handling btc withdrawal requests
87    #[prost(int64, tag = "2")]
88    pub btc_batch_withdraw_period: i64,
89    /// Maximum number of btc withdrawal requests to be handled per batch
90    #[prost(uint32, tag = "3")]
91    pub max_btc_batch_withdraw_num: u32,
92}
93impl ::prost::Name for WithdrawParams {
94    const NAME: &'static str = "WithdrawParams";
95    const PACKAGE: &'static str = "side.btcbridge";
96    fn full_name() -> ::prost::alloc::string::String {
97        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
98    }
99}
100/// ProtocolLimits defines the params related to the the protocol limitations
101#[allow(clippy::derive_partial_eq_without_eq)]
102#[derive(Clone, PartialEq, ::prost::Message)]
103pub struct ProtocolLimits {
104    /// The minimum deposit amount for btc in sat
105    #[prost(int64, tag = "1")]
106    pub btc_min_deposit: i64,
107    /// The minimum withdrawal amount for btc in sat
108    #[prost(int64, tag = "2")]
109    pub btc_min_withdraw: i64,
110    /// The maximum withdrawal amount for btc in sat
111    #[prost(int64, tag = "3")]
112    pub btc_max_withdraw: i64,
113}
114impl ::prost::Name for ProtocolLimits {
115    const NAME: &'static str = "ProtocolLimits";
116    const PACKAGE: &'static str = "side.btcbridge";
117    fn full_name() -> ::prost::alloc::string::String {
118        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
119    }
120}
121/// ProtocolFees defines the params related to the protocol fees
122#[allow(clippy::derive_partial_eq_without_eq)]
123#[derive(Clone, PartialEq, ::prost::Message)]
124pub struct ProtocolFees {
125    /// Protocol fee amount for deposit in sat
126    #[prost(int64, tag = "1")]
127    pub deposit_fee: i64,
128    /// Protocol fee amount for withdrawal in sat
129    #[prost(int64, tag = "2")]
130    pub withdraw_fee: i64,
131    /// Protocol fee collector
132    #[prost(string, tag = "3")]
133    pub collector: ::prost::alloc::string::String,
134}
135impl ::prost::Name for ProtocolFees {
136    const NAME: &'static str = "ProtocolFees";
137    const PACKAGE: &'static str = "side.btcbridge";
138    fn full_name() -> ::prost::alloc::string::String {
139        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
140    }
141}
142/// TSSParams defines the params related to TSS
143#[allow(clippy::derive_partial_eq_without_eq)]
144#[derive(Clone, PartialEq, ::prost::Message)]
145pub struct TssParams {
146    /// Timeout duration for DKG request
147    #[prost(message, optional, tag = "1")]
148    pub dkg_timeout_period: ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
149    /// Transition period after which TSS participants update process is completed
150    #[prost(message, optional, tag = "2")]
151    pub participant_update_transition_period:
152        ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
153}
154impl ::prost::Name for TssParams {
155    const NAME: &'static str = "TSSParams";
156    const PACKAGE: &'static str = "side.btcbridge";
157    fn full_name() -> ::prost::alloc::string::String {
158        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
159    }
160}
161/// AssetType defines the type of asset
162#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
163#[repr(i32)]
164pub enum AssetType {
165    /// Unspecified asset type
166    Unspecified = 0,
167    /// BTC
168    Btc = 1,
169    /// BRC20: ordi, sats
170    Brc20 = 2,
171    /// RUNE: dog•go•to•the•moon
172    Runes = 3,
173}
174impl AssetType {
175    /// String value of the enum field names used in the ProtoBuf definition.
176    ///
177    /// The values are not transformed in any way and thus are considered stable
178    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
179    pub fn as_str_name(&self) -> &'static str {
180        match self {
181            AssetType::Unspecified => "ASSET_TYPE_UNSPECIFIED",
182            AssetType::Btc => "ASSET_TYPE_BTC",
183            AssetType::Brc20 => "ASSET_TYPE_BRC20",
184            AssetType::Runes => "ASSET_TYPE_RUNES",
185        }
186    }
187    /// Creates an enum from field names used in the ProtoBuf definition.
188    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
189        match value {
190            "ASSET_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
191            "ASSET_TYPE_BTC" => Some(Self::Btc),
192            "ASSET_TYPE_BRC20" => Some(Self::Brc20),
193            "ASSET_TYPE_RUNES" => Some(Self::Runes),
194            _ => None,
195        }
196    }
197}
198/// Bitcoin Block Header
199#[allow(clippy::derive_partial_eq_without_eq)]
200#[derive(Clone, PartialEq, ::prost::Message)]
201pub struct BlockHeader {
202    #[prost(uint64, tag = "1")]
203    pub version: u64,
204    #[prost(string, tag = "2")]
205    pub hash: ::prost::alloc::string::String,
206    #[prost(uint64, tag = "3")]
207    pub height: u64,
208    #[prost(string, tag = "4")]
209    pub previous_block_hash: ::prost::alloc::string::String,
210    #[prost(string, tag = "5")]
211    pub merkle_root: ::prost::alloc::string::String,
212    #[prost(uint64, tag = "6")]
213    pub nonce: u64,
214    #[prost(string, tag = "7")]
215    pub bits: ::prost::alloc::string::String,
216    #[prost(uint64, tag = "8")]
217    pub time: u64,
218    #[prost(uint64, tag = "9")]
219    pub ntx: u64,
220}
221impl ::prost::Name for BlockHeader {
222    const NAME: &'static str = "BlockHeader";
223    const PACKAGE: &'static str = "side.btcbridge";
224    fn full_name() -> ::prost::alloc::string::String {
225        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
226    }
227}
228/// Fee rate
229#[allow(clippy::derive_partial_eq_without_eq)]
230#[derive(Clone, PartialEq, ::prost::Message)]
231pub struct FeeRate {
232    /// fee rate
233    #[prost(int64, tag = "1")]
234    pub value: i64,
235    /// block height at which the fee rate is submitted
236    #[prost(int64, tag = "2")]
237    pub height: i64,
238}
239impl ::prost::Name for FeeRate {
240    const NAME: &'static str = "FeeRate";
241    const PACKAGE: &'static str = "side.btcbridge";
242    fn full_name() -> ::prost::alloc::string::String {
243        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
244    }
245}
246/// Bitcoin Signing Request
247#[allow(clippy::derive_partial_eq_without_eq)]
248#[derive(Clone, PartialEq, ::prost::Message)]
249pub struct SigningRequest {
250    #[prost(string, tag = "1")]
251    pub address: ::prost::alloc::string::String,
252    #[prost(uint64, tag = "2")]
253    pub sequence: u64,
254    #[prost(string, tag = "3")]
255    pub txid: ::prost::alloc::string::String,
256    #[prost(string, tag = "4")]
257    pub psbt: ::prost::alloc::string::String,
258    #[prost(message, optional, tag = "5")]
259    pub creation_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
260    #[prost(enumeration = "SigningStatus", tag = "6")]
261    pub status: i32,
262}
263impl ::prost::Name for SigningRequest {
264    const NAME: &'static str = "SigningRequest";
265    const PACKAGE: &'static str = "side.btcbridge";
266    fn full_name() -> ::prost::alloc::string::String {
267        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
268    }
269}
270/// Withdrawal Request
271#[allow(clippy::derive_partial_eq_without_eq)]
272#[derive(Clone, PartialEq, ::prost::Message)]
273pub struct WithdrawRequest {
274    #[prost(string, tag = "1")]
275    pub address: ::prost::alloc::string::String,
276    #[prost(string, tag = "2")]
277    pub amount: ::prost::alloc::string::String,
278    #[prost(uint64, tag = "3")]
279    pub sequence: u64,
280    #[prost(string, tag = "4")]
281    pub txid: ::prost::alloc::string::String,
282}
283impl ::prost::Name for WithdrawRequest {
284    const NAME: &'static str = "WithdrawRequest";
285    const PACKAGE: &'static str = "side.btcbridge";
286    fn full_name() -> ::prost::alloc::string::String {
287        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
288    }
289}
290/// Bitcoin UTXO
291#[allow(clippy::derive_partial_eq_without_eq)]
292#[derive(Clone, PartialEq, ::prost::Message)]
293pub struct Utxo {
294    #[prost(string, tag = "1")]
295    pub txid: ::prost::alloc::string::String,
296    #[prost(uint64, tag = "2")]
297    pub vout: u64,
298    #[prost(string, tag = "3")]
299    pub address: ::prost::alloc::string::String,
300    #[prost(uint64, tag = "4")]
301    pub amount: u64,
302    #[prost(uint64, tag = "5")]
303    pub height: u64,
304    #[prost(bytes = "vec", tag = "6")]
305    pub pub_key_script: ::prost::alloc::vec::Vec<u8>,
306    #[prost(bool, tag = "7")]
307    pub is_locked: bool,
308    /// rune balances associated with the UTXO
309    #[prost(message, repeated, tag = "8")]
310    pub runes: ::prost::alloc::vec::Vec<RuneBalance>,
311}
312impl ::prost::Name for Utxo {
313    const NAME: &'static str = "UTXO";
314    const PACKAGE: &'static str = "side.btcbridge";
315    fn full_name() -> ::prost::alloc::string::String {
316        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
317    }
318}
319/// Rune Balance
320#[allow(clippy::derive_partial_eq_without_eq)]
321#[derive(Clone, PartialEq, ::prost::Message)]
322pub struct RuneBalance {
323    /// serialized rune id
324    #[prost(string, tag = "1")]
325    pub id: ::prost::alloc::string::String,
326    /// rune amount
327    #[prost(string, tag = "2")]
328    pub amount: ::prost::alloc::string::String,
329}
330impl ::prost::Name for RuneBalance {
331    const NAME: &'static str = "RuneBalance";
332    const PACKAGE: &'static str = "side.btcbridge";
333    fn full_name() -> ::prost::alloc::string::String {
334        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
335    }
336}
337/// Rune ID
338#[allow(clippy::derive_partial_eq_without_eq)]
339#[derive(Clone, PartialEq, ::prost::Message)]
340pub struct RuneId {
341    /// block height
342    #[prost(uint64, tag = "1")]
343    pub block: u64,
344    /// tx index
345    #[prost(uint32, tag = "2")]
346    pub tx: u32,
347}
348impl ::prost::Name for RuneId {
349    const NAME: &'static str = "RuneId";
350    const PACKAGE: &'static str = "side.btcbridge";
351    fn full_name() -> ::prost::alloc::string::String {
352        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
353    }
354}
355/// Rune Edict
356#[allow(clippy::derive_partial_eq_without_eq)]
357#[derive(Clone, PartialEq, ::prost::Message)]
358pub struct Edict {
359    #[prost(message, optional, tag = "1")]
360    pub id: ::core::option::Option<RuneId>,
361    #[prost(string, tag = "2")]
362    pub amount: ::prost::alloc::string::String,
363    #[prost(uint32, tag = "3")]
364    pub output: u32,
365}
366impl ::prost::Name for Edict {
367    const NAME: &'static str = "Edict";
368    const PACKAGE: &'static str = "side.btcbridge";
369    fn full_name() -> ::prost::alloc::string::String {
370        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
371    }
372}
373/// BTC UTXO Consolidation
374#[allow(clippy::derive_partial_eq_without_eq)]
375#[derive(Clone, PartialEq, ::prost::Message)]
376pub struct BtcConsolidation {
377    /// maximum threshold of the btc value
378    #[prost(int64, tag = "1")]
379    pub target_threshold: i64,
380    /// maximum number of the utxos to be consolidated; 0 means all
381    #[prost(uint32, tag = "2")]
382    pub max_num: u32,
383}
384impl ::prost::Name for BtcConsolidation {
385    const NAME: &'static str = "BtcConsolidation";
386    const PACKAGE: &'static str = "side.btcbridge";
387    fn full_name() -> ::prost::alloc::string::String {
388        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
389    }
390}
391/// Runes UTXO Consolidation
392#[allow(clippy::derive_partial_eq_without_eq)]
393#[derive(Clone, PartialEq, ::prost::Message)]
394pub struct RunesConsolidation {
395    /// rune id
396    #[prost(string, tag = "1")]
397    pub rune_id: ::prost::alloc::string::String,
398    /// maximum threshold of the corresponding rune balance
399    #[prost(string, tag = "2")]
400    pub target_threshold: ::prost::alloc::string::String,
401    /// maximum number of the utxos to be consolidated; 0 means all
402    #[prost(uint32, tag = "3")]
403    pub max_num: u32,
404}
405impl ::prost::Name for RunesConsolidation {
406    const NAME: &'static str = "RunesConsolidation";
407    const PACKAGE: &'static str = "side.btcbridge";
408    fn full_name() -> ::prost::alloc::string::String {
409        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
410    }
411}
412/// DKG Participant
413#[allow(clippy::derive_partial_eq_without_eq)]
414#[derive(Clone, PartialEq, ::prost::Message)]
415pub struct DkgParticipant {
416    /// the moniker of the corresponding validator
417    #[prost(string, tag = "1")]
418    pub moniker: ::prost::alloc::string::String,
419    /// the operator address of the corresponding validator
420    #[prost(string, tag = "2")]
421    pub operator_address: ::prost::alloc::string::String,
422    /// the consensus public key of the corresponding validator
423    #[prost(string, tag = "3")]
424    pub consensus_pubkey: ::prost::alloc::string::String,
425}
426impl ::prost::Name for DkgParticipant {
427    const NAME: &'static str = "DKGParticipant";
428    const PACKAGE: &'static str = "side.btcbridge";
429    fn full_name() -> ::prost::alloc::string::String {
430        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
431    }
432}
433/// DKG Request
434#[allow(clippy::derive_partial_eq_without_eq)]
435#[derive(Clone, PartialEq, ::prost::Message)]
436pub struct DkgRequest {
437    /// the unique request id
438    #[prost(uint64, tag = "1")]
439    pub id: u64,
440    /// participant set
441    #[prost(message, repeated, tag = "2")]
442    pub participants: ::prost::alloc::vec::Vec<DkgParticipant>,
443    /// threshold required to perform DKG
444    #[prost(uint32, tag = "3")]
445    pub threshold: u32,
446    /// asset types of vaults to be generated
447    #[prost(enumeration = "AssetType", repeated, tag = "4")]
448    pub vault_types: ::prost::alloc::vec::Vec<i32>,
449    /// indicates if transferring assets to the newly generated vaults when the DKG request is completed
450    #[prost(bool, tag = "5")]
451    pub enable_transfer: bool,
452    /// target number of the UTXOs to be transferred each time
453    #[prost(uint32, tag = "6")]
454    pub target_utxo_num: u32,
455    /// expiration time
456    #[prost(message, optional, tag = "7")]
457    pub expiration: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
458    /// status
459    #[prost(enumeration = "DkgRequestStatus", tag = "8")]
460    pub status: i32,
461}
462impl ::prost::Name for DkgRequest {
463    const NAME: &'static str = "DKGRequest";
464    const PACKAGE: &'static str = "side.btcbridge";
465    fn full_name() -> ::prost::alloc::string::String {
466        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
467    }
468}
469/// DKG Completion Request
470#[allow(clippy::derive_partial_eq_without_eq)]
471#[derive(Clone, PartialEq, ::prost::Message)]
472pub struct DkgCompletionRequest {
473    /// request id
474    #[prost(uint64, tag = "1")]
475    pub id: u64,
476    /// sender
477    #[prost(string, tag = "2")]
478    pub sender: ::prost::alloc::string::String,
479    /// new vaults generated by DKG
480    #[prost(string, repeated, tag = "3")]
481    pub vaults: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
482    /// consensus address of the corresponding validator
483    #[prost(string, tag = "4")]
484    pub consensus_address: ::prost::alloc::string::String,
485    /// hex encoded validator signature
486    #[prost(string, tag = "5")]
487    pub signature: ::prost::alloc::string::String,
488}
489impl ::prost::Name for DkgCompletionRequest {
490    const NAME: &'static str = "DKGCompletionRequest";
491    const PACKAGE: &'static str = "side.btcbridge";
492    fn full_name() -> ::prost::alloc::string::String {
493        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
494    }
495}
496/// Bitcoin Signing Status
497#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
498#[repr(i32)]
499pub enum SigningStatus {
500    /// SIGNING_STATUS_UNSPECIFIED - Default value, should not be used
501    Unspecified = 0,
502    /// SIGNING_STATUS_PENDING - The signing request is pending
503    Pending = 1,
504    /// SIGNING_STATUS_BROADCASTED - The signing request is broadcasted
505    Broadcasted = 2,
506    /// SIGNING_STATUS_CONFIRMED - The signing request is confirmed
507    Confirmed = 3,
508    /// SIGNING_STATUS_FAILED - The signing request failed to be signed or broadcast due to unexpected exceptions
509    Failed = 4,
510}
511impl SigningStatus {
512    /// String value of the enum field names used in the ProtoBuf definition.
513    ///
514    /// The values are not transformed in any way and thus are considered stable
515    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
516    pub fn as_str_name(&self) -> &'static str {
517        match self {
518            SigningStatus::Unspecified => "SIGNING_STATUS_UNSPECIFIED",
519            SigningStatus::Pending => "SIGNING_STATUS_PENDING",
520            SigningStatus::Broadcasted => "SIGNING_STATUS_BROADCASTED",
521            SigningStatus::Confirmed => "SIGNING_STATUS_CONFIRMED",
522            SigningStatus::Failed => "SIGNING_STATUS_FAILED",
523        }
524    }
525    /// Creates an enum from field names used in the ProtoBuf definition.
526    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
527        match value {
528            "SIGNING_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
529            "SIGNING_STATUS_PENDING" => Some(Self::Pending),
530            "SIGNING_STATUS_BROADCASTED" => Some(Self::Broadcasted),
531            "SIGNING_STATUS_CONFIRMED" => Some(Self::Confirmed),
532            "SIGNING_STATUS_FAILED" => Some(Self::Failed),
533            _ => None,
534        }
535    }
536}
537#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
538#[repr(i32)]
539pub enum DkgRequestStatus {
540    /// DKG_REQUEST_STATUS_UNSPECIFIED defines the unknown DKG request status
541    Unspecified = 0,
542    /// DKG_REQUEST_STATUS_PENDING defines the status of the DKG request which is pending
543    Pending = 1,
544    /// DKG_REQUEST_STATUS_COMPLETED defines the status of the DKG request which is completed
545    Completed = 2,
546    /// DKG_REQUEST_STATUS_FAILED defines the status of the DKG request which failed
547    Failed = 3,
548    /// DKG_REQUEST_STATUS_TIMEDOUT defines the status of the DKG request which timed out
549    Timedout = 4,
550}
551impl DkgRequestStatus {
552    /// String value of the enum field names used in the ProtoBuf definition.
553    ///
554    /// The values are not transformed in any way and thus are considered stable
555    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
556    pub fn as_str_name(&self) -> &'static str {
557        match self {
558            DkgRequestStatus::Unspecified => "DKG_REQUEST_STATUS_UNSPECIFIED",
559            DkgRequestStatus::Pending => "DKG_REQUEST_STATUS_PENDING",
560            DkgRequestStatus::Completed => "DKG_REQUEST_STATUS_COMPLETED",
561            DkgRequestStatus::Failed => "DKG_REQUEST_STATUS_FAILED",
562            DkgRequestStatus::Timedout => "DKG_REQUEST_STATUS_TIMEDOUT",
563        }
564    }
565    /// Creates an enum from field names used in the ProtoBuf definition.
566    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
567        match value {
568            "DKG_REQUEST_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
569            "DKG_REQUEST_STATUS_PENDING" => Some(Self::Pending),
570            "DKG_REQUEST_STATUS_COMPLETED" => Some(Self::Completed),
571            "DKG_REQUEST_STATUS_FAILED" => Some(Self::Failed),
572            "DKG_REQUEST_STATUS_TIMEDOUT" => Some(Self::Timedout),
573            _ => None,
574        }
575    }
576}
577/// GenesisState defines the btc bridge module's genesis state.
578#[allow(clippy::derive_partial_eq_without_eq)]
579#[derive(Clone, PartialEq, ::prost::Message)]
580pub struct GenesisState {
581    #[prost(message, optional, tag = "1")]
582    pub params: ::core::option::Option<Params>,
583    /// the chain tip of the bitcoin chain
584    #[prost(message, optional, tag = "2")]
585    pub best_block_header: ::core::option::Option<BlockHeader>,
586    #[prost(message, repeated, tag = "3")]
587    pub block_headers: ::prost::alloc::vec::Vec<BlockHeader>,
588    #[prost(message, repeated, tag = "4")]
589    pub utxos: ::prost::alloc::vec::Vec<Utxo>,
590}
591impl ::prost::Name for GenesisState {
592    const NAME: &'static str = "GenesisState";
593    const PACKAGE: &'static str = "side.btcbridge";
594    fn full_name() -> ::prost::alloc::string::String {
595        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
596    }
597}
598/// QueryWithdrawRequestsByAddressRequest is request type for the Query/WithdrawRequestsByAddress RPC method.
599#[allow(clippy::derive_partial_eq_without_eq)]
600#[derive(Clone, PartialEq, ::prost::Message)]
601pub struct QueryWithdrawRequestsByAddressRequest {
602    #[prost(string, tag = "1")]
603    pub address: ::prost::alloc::string::String,
604    #[prost(message, optional, tag = "2")]
605    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
606}
607impl ::prost::Name for QueryWithdrawRequestsByAddressRequest {
608    const NAME: &'static str = "QueryWithdrawRequestsByAddressRequest";
609    const PACKAGE: &'static str = "side.btcbridge";
610    fn full_name() -> ::prost::alloc::string::String {
611        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
612    }
613}
614/// QueryWithdrawRequestsByAddressResponse is response type for the Query/WithdrawRequestsByAddress RPC method.
615#[allow(clippy::derive_partial_eq_without_eq)]
616#[derive(Clone, PartialEq, ::prost::Message)]
617pub struct QueryWithdrawRequestsByAddressResponse {
618    #[prost(message, repeated, tag = "1")]
619    pub requests: ::prost::alloc::vec::Vec<WithdrawRequest>,
620    #[prost(message, optional, tag = "2")]
621    pub pagination:
622        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
623}
624impl ::prost::Name for QueryWithdrawRequestsByAddressResponse {
625    const NAME: &'static str = "QueryWithdrawRequestsByAddressResponse";
626    const PACKAGE: &'static str = "side.btcbridge";
627    fn full_name() -> ::prost::alloc::string::String {
628        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
629    }
630}
631/// QueryWithdrawRequestsByTxHashRequest is request type for the Query/WithdrawRequestsByTxHash RPC method.
632#[allow(clippy::derive_partial_eq_without_eq)]
633#[derive(Clone, PartialEq, ::prost::Message)]
634pub struct QueryWithdrawRequestsByTxHashRequest {
635    #[prost(string, tag = "1")]
636    pub txid: ::prost::alloc::string::String,
637}
638impl ::prost::Name for QueryWithdrawRequestsByTxHashRequest {
639    const NAME: &'static str = "QueryWithdrawRequestsByTxHashRequest";
640    const PACKAGE: &'static str = "side.btcbridge";
641    fn full_name() -> ::prost::alloc::string::String {
642        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
643    }
644}
645/// QueryWithdrawRequestsByTxHashResponse is response type for the Query/WithdrawRequestsByTxHash RPC method.
646#[allow(clippy::derive_partial_eq_without_eq)]
647#[derive(Clone, PartialEq, ::prost::Message)]
648pub struct QueryWithdrawRequestsByTxHashResponse {
649    #[prost(message, repeated, tag = "1")]
650    pub requests: ::prost::alloc::vec::Vec<WithdrawRequest>,
651}
652impl ::prost::Name for QueryWithdrawRequestsByTxHashResponse {
653    const NAME: &'static str = "QueryWithdrawRequestsByTxHashResponse";
654    const PACKAGE: &'static str = "side.btcbridge";
655    fn full_name() -> ::prost::alloc::string::String {
656        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
657    }
658}
659/// QueryPendingBtcWithdrawRequestsRequest is request type for the Query/PendingBtcWithdrawRequests RPC method.
660#[allow(clippy::derive_partial_eq_without_eq)]
661#[derive(Clone, PartialEq, ::prost::Message)]
662pub struct QueryPendingBtcWithdrawRequestsRequest {
663    #[prost(message, optional, tag = "1")]
664    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
665}
666impl ::prost::Name for QueryPendingBtcWithdrawRequestsRequest {
667    const NAME: &'static str = "QueryPendingBtcWithdrawRequestsRequest";
668    const PACKAGE: &'static str = "side.btcbridge";
669    fn full_name() -> ::prost::alloc::string::String {
670        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
671    }
672}
673/// QueryPendingBtcWithdrawRequestsResponse is response type for the Query/PendingBtcWithdrawRequests RPC method.
674#[allow(clippy::derive_partial_eq_without_eq)]
675#[derive(Clone, PartialEq, ::prost::Message)]
676pub struct QueryPendingBtcWithdrawRequestsResponse {
677    #[prost(message, repeated, tag = "1")]
678    pub requests: ::prost::alloc::vec::Vec<WithdrawRequest>,
679    #[prost(message, optional, tag = "2")]
680    pub pagination:
681        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
682}
683impl ::prost::Name for QueryPendingBtcWithdrawRequestsResponse {
684    const NAME: &'static str = "QueryPendingBtcWithdrawRequestsResponse";
685    const PACKAGE: &'static str = "side.btcbridge";
686    fn full_name() -> ::prost::alloc::string::String {
687        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
688    }
689}
690/// QuerySigningRequestsRequest is request type for the Query/SigningRequests RPC method.
691#[allow(clippy::derive_partial_eq_without_eq)]
692#[derive(Clone, PartialEq, ::prost::Message)]
693pub struct QuerySigningRequestsRequest {
694    #[prost(enumeration = "SigningStatus", tag = "1")]
695    pub status: i32,
696    #[prost(message, optional, tag = "2")]
697    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
698}
699impl ::prost::Name for QuerySigningRequestsRequest {
700    const NAME: &'static str = "QuerySigningRequestsRequest";
701    const PACKAGE: &'static str = "side.btcbridge";
702    fn full_name() -> ::prost::alloc::string::String {
703        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
704    }
705}
706/// QuerySigningRequestsResponse is response type for the Query/SigningRequests RPC method.
707#[allow(clippy::derive_partial_eq_without_eq)]
708#[derive(Clone, PartialEq, ::prost::Message)]
709pub struct QuerySigningRequestsResponse {
710    #[prost(message, repeated, tag = "1")]
711    pub requests: ::prost::alloc::vec::Vec<SigningRequest>,
712    #[prost(message, optional, tag = "2")]
713    pub pagination:
714        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
715}
716impl ::prost::Name for QuerySigningRequestsResponse {
717    const NAME: &'static str = "QuerySigningRequestsResponse";
718    const PACKAGE: &'static str = "side.btcbridge";
719    fn full_name() -> ::prost::alloc::string::String {
720        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
721    }
722}
723/// QuerySigningRequestsByAddressRequest is request type for the Query/SigningRequestsByAddress RPC method.
724#[allow(clippy::derive_partial_eq_without_eq)]
725#[derive(Clone, PartialEq, ::prost::Message)]
726pub struct QuerySigningRequestsByAddressRequest {
727    #[prost(string, tag = "1")]
728    pub address: ::prost::alloc::string::String,
729    #[prost(message, optional, tag = "2")]
730    pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
731}
732impl ::prost::Name for QuerySigningRequestsByAddressRequest {
733    const NAME: &'static str = "QuerySigningRequestsByAddressRequest";
734    const PACKAGE: &'static str = "side.btcbridge";
735    fn full_name() -> ::prost::alloc::string::String {
736        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
737    }
738}
739/// QuerySigningRequestsByAddressResponse is response type for the Query/SigningRequestsByAddress RPC method.
740#[allow(clippy::derive_partial_eq_without_eq)]
741#[derive(Clone, PartialEq, ::prost::Message)]
742pub struct QuerySigningRequestsByAddressResponse {
743    #[prost(message, repeated, tag = "1")]
744    pub requests: ::prost::alloc::vec::Vec<SigningRequest>,
745    #[prost(message, optional, tag = "2")]
746    pub pagination:
747        ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
748}
749impl ::prost::Name for QuerySigningRequestsByAddressResponse {
750    const NAME: &'static str = "QuerySigningRequestsByAddressResponse";
751    const PACKAGE: &'static str = "side.btcbridge";
752    fn full_name() -> ::prost::alloc::string::String {
753        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
754    }
755}
756/// QuerySigningRequestByTxHashRequest is request type for the Query/SigningRequestByTxHash RPC method.
757#[allow(clippy::derive_partial_eq_without_eq)]
758#[derive(Clone, PartialEq, ::prost::Message)]
759pub struct QuerySigningRequestByTxHashRequest {
760    #[prost(string, tag = "1")]
761    pub txid: ::prost::alloc::string::String,
762}
763impl ::prost::Name for QuerySigningRequestByTxHashRequest {
764    const NAME: &'static str = "QuerySigningRequestByTxHashRequest";
765    const PACKAGE: &'static str = "side.btcbridge";
766    fn full_name() -> ::prost::alloc::string::String {
767        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
768    }
769}
770/// QuerySigningRequestByTxHashResponse is response type for the Query/SigningRequestByTxHashResponse RPC method.
771#[allow(clippy::derive_partial_eq_without_eq)]
772#[derive(Clone, PartialEq, ::prost::Message)]
773pub struct QuerySigningRequestByTxHashResponse {
774    #[prost(message, optional, tag = "1")]
775    pub request: ::core::option::Option<SigningRequest>,
776}
777impl ::prost::Name for QuerySigningRequestByTxHashResponse {
778    const NAME: &'static str = "QuerySigningRequestByTxHashResponse";
779    const PACKAGE: &'static str = "side.btcbridge";
780    fn full_name() -> ::prost::alloc::string::String {
781        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
782    }
783}
784/// QueryFeeRateRequest is request type for the Query/FeeRate RPC method.
785#[allow(clippy::derive_partial_eq_without_eq)]
786#[derive(Clone, PartialEq, ::prost::Message)]
787pub struct QueryFeeRateRequest {}
788impl ::prost::Name for QueryFeeRateRequest {
789    const NAME: &'static str = "QueryFeeRateRequest";
790    const PACKAGE: &'static str = "side.btcbridge";
791    fn full_name() -> ::prost::alloc::string::String {
792        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
793    }
794}
795/// QueryFeeRateResponse is response type for the Query/FeeRate RPC method.
796#[allow(clippy::derive_partial_eq_without_eq)]
797#[derive(Clone, PartialEq, ::prost::Message)]
798pub struct QueryFeeRateResponse {
799    #[prost(message, optional, tag = "1")]
800    pub fee_rate: ::core::option::Option<FeeRate>,
801}
802impl ::prost::Name for QueryFeeRateResponse {
803    const NAME: &'static str = "QueryFeeRateResponse";
804    const PACKAGE: &'static str = "side.btcbridge";
805    fn full_name() -> ::prost::alloc::string::String {
806        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
807    }
808}
809/// QueryWithdrawalNetworkFeeRequest is request type for the Query/WithdrawalNetworkFee RPC method.
810#[allow(clippy::derive_partial_eq_without_eq)]
811#[derive(Clone, PartialEq, ::prost::Message)]
812pub struct QueryWithdrawalNetworkFeeRequest {
813    #[prost(string, tag = "1")]
814    pub address: ::prost::alloc::string::String,
815    #[prost(string, tag = "2")]
816    pub amount: ::prost::alloc::string::String,
817    #[prost(int64, tag = "3")]
818    pub fee_rate: i64,
819}
820impl ::prost::Name for QueryWithdrawalNetworkFeeRequest {
821    const NAME: &'static str = "QueryWithdrawalNetworkFeeRequest";
822    const PACKAGE: &'static str = "side.btcbridge";
823    fn full_name() -> ::prost::alloc::string::String {
824        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
825    }
826}
827/// QueryWithdrawalNetworkFeeResponse is response type for the Query/WithdrawalNetworkFee RPC method.
828#[allow(clippy::derive_partial_eq_without_eq)]
829#[derive(Clone, PartialEq, ::prost::Message)]
830pub struct QueryWithdrawalNetworkFeeResponse {
831    #[prost(int64, tag = "1")]
832    pub fee_rate: i64,
833    #[prost(string, tag = "2")]
834    pub fee: ::prost::alloc::string::String,
835}
836impl ::prost::Name for QueryWithdrawalNetworkFeeResponse {
837    const NAME: &'static str = "QueryWithdrawalNetworkFeeResponse";
838    const PACKAGE: &'static str = "side.btcbridge";
839    fn full_name() -> ::prost::alloc::string::String {
840        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
841    }
842}
843/// QueryParamsRequest is request type for the Query/Params RPC method.
844#[allow(clippy::derive_partial_eq_without_eq)]
845#[derive(Clone, PartialEq, ::prost::Message)]
846pub struct QueryParamsRequest {}
847impl ::prost::Name for QueryParamsRequest {
848    const NAME: &'static str = "QueryParamsRequest";
849    const PACKAGE: &'static str = "side.btcbridge";
850    fn full_name() -> ::prost::alloc::string::String {
851        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
852    }
853}
854/// QueryParamsResponse is response type for the Query/Params RPC method.
855#[allow(clippy::derive_partial_eq_without_eq)]
856#[derive(Clone, PartialEq, ::prost::Message)]
857pub struct QueryParamsResponse {
858    /// params holds all the parameters of this module.
859    #[prost(message, optional, tag = "1")]
860    pub params: ::core::option::Option<Params>,
861}
862impl ::prost::Name for QueryParamsResponse {
863    const NAME: &'static str = "QueryParamsResponse";
864    const PACKAGE: &'static str = "side.btcbridge";
865    fn full_name() -> ::prost::alloc::string::String {
866        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
867    }
868}
869/// QueryChainTipRequest is request type for the Query/ChainTip RPC method.
870#[allow(clippy::derive_partial_eq_without_eq)]
871#[derive(Clone, PartialEq, ::prost::Message)]
872pub struct QueryChainTipRequest {}
873impl ::prost::Name for QueryChainTipRequest {
874    const NAME: &'static str = "QueryChainTipRequest";
875    const PACKAGE: &'static str = "side.btcbridge";
876    fn full_name() -> ::prost::alloc::string::String {
877        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
878    }
879}
880/// QueryChainTipResponse is response type for the Query/ChainTip RPC method.
881#[allow(clippy::derive_partial_eq_without_eq)]
882#[derive(Clone, PartialEq, ::prost::Message)]
883pub struct QueryChainTipResponse {
884    #[prost(string, tag = "1")]
885    pub hash: ::prost::alloc::string::String,
886    #[prost(uint64, tag = "2")]
887    pub height: u64,
888}
889impl ::prost::Name for QueryChainTipResponse {
890    const NAME: &'static str = "QueryChainTipResponse";
891    const PACKAGE: &'static str = "side.btcbridge";
892    fn full_name() -> ::prost::alloc::string::String {
893        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
894    }
895}
896/// QueryBlockHeaderByHeightRequest is the request type for the Query/BlockHeaderByHeight RPC method.
897#[allow(clippy::derive_partial_eq_without_eq)]
898#[derive(Clone, PartialEq, ::prost::Message)]
899pub struct QueryBlockHeaderByHeightRequest {
900    #[prost(uint64, tag = "1")]
901    pub height: u64,
902}
903impl ::prost::Name for QueryBlockHeaderByHeightRequest {
904    const NAME: &'static str = "QueryBlockHeaderByHeightRequest";
905    const PACKAGE: &'static str = "side.btcbridge";
906    fn full_name() -> ::prost::alloc::string::String {
907        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
908    }
909}
910/// QueryBlockHeaderByHeightResponse is the response type for the Query/BlockHeaderByHeight RPC method.
911#[allow(clippy::derive_partial_eq_without_eq)]
912#[derive(Clone, PartialEq, ::prost::Message)]
913pub struct QueryBlockHeaderByHeightResponse {
914    #[prost(message, optional, tag = "1")]
915    pub block_header: ::core::option::Option<BlockHeader>,
916}
917impl ::prost::Name for QueryBlockHeaderByHeightResponse {
918    const NAME: &'static str = "QueryBlockHeaderByHeightResponse";
919    const PACKAGE: &'static str = "side.btcbridge";
920    fn full_name() -> ::prost::alloc::string::String {
921        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
922    }
923}
924/// QueryBlockHeaderByHashRequest is the request type for the Query/BlockHeaderByHash RPC method.
925#[allow(clippy::derive_partial_eq_without_eq)]
926#[derive(Clone, PartialEq, ::prost::Message)]
927pub struct QueryBlockHeaderByHashRequest {
928    #[prost(string, tag = "1")]
929    pub hash: ::prost::alloc::string::String,
930}
931impl ::prost::Name for QueryBlockHeaderByHashRequest {
932    const NAME: &'static str = "QueryBlockHeaderByHashRequest";
933    const PACKAGE: &'static str = "side.btcbridge";
934    fn full_name() -> ::prost::alloc::string::String {
935        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
936    }
937}
938/// QueryBlockHeaderByHashResponse is the response type for the Query/BlockHeaderByHash RPC method.
939#[allow(clippy::derive_partial_eq_without_eq)]
940#[derive(Clone, PartialEq, ::prost::Message)]
941pub struct QueryBlockHeaderByHashResponse {
942    #[prost(message, optional, tag = "1")]
943    pub block_header: ::core::option::Option<BlockHeader>,
944}
945impl ::prost::Name for QueryBlockHeaderByHashResponse {
946    const NAME: &'static str = "QueryBlockHeaderByHashResponse";
947    const PACKAGE: &'static str = "side.btcbridge";
948    fn full_name() -> ::prost::alloc::string::String {
949        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
950    }
951}
952/// QueryUTXOsRequest is the request type for the Query/UTXOs RPC method.
953#[allow(clippy::derive_partial_eq_without_eq)]
954#[derive(Clone, PartialEq, ::prost::Message)]
955pub struct QueryUtxOsRequest {}
956impl ::prost::Name for QueryUtxOsRequest {
957    const NAME: &'static str = "QueryUTXOsRequest";
958    const PACKAGE: &'static str = "side.btcbridge";
959    fn full_name() -> ::prost::alloc::string::String {
960        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
961    }
962}
963/// QueryUTXOsResponse is the response type for the Query/UTXOs RPC method.
964#[allow(clippy::derive_partial_eq_without_eq)]
965#[derive(Clone, PartialEq, ::prost::Message)]
966pub struct QueryUtxOsResponse {
967    #[prost(message, repeated, tag = "1")]
968    pub utxos: ::prost::alloc::vec::Vec<Utxo>,
969}
970impl ::prost::Name for QueryUtxOsResponse {
971    const NAME: &'static str = "QueryUTXOsResponse";
972    const PACKAGE: &'static str = "side.btcbridge";
973    fn full_name() -> ::prost::alloc::string::String {
974        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
975    }
976}
977/// QueryUTXOsByAddressRequest is the request type for the Query/UTXOsByAddress RPC method.
978#[allow(clippy::derive_partial_eq_without_eq)]
979#[derive(Clone, PartialEq, ::prost::Message)]
980pub struct QueryUtxOsByAddressRequest {
981    #[prost(string, tag = "1")]
982    pub address: ::prost::alloc::string::String,
983}
984impl ::prost::Name for QueryUtxOsByAddressRequest {
985    const NAME: &'static str = "QueryUTXOsByAddressRequest";
986    const PACKAGE: &'static str = "side.btcbridge";
987    fn full_name() -> ::prost::alloc::string::String {
988        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
989    }
990}
991/// QueryUTXOsByAddressResponse is the response type for the Query/UTXOsByAddress RPC method.
992#[allow(clippy::derive_partial_eq_without_eq)]
993#[derive(Clone, PartialEq, ::prost::Message)]
994pub struct QueryUtxOsByAddressResponse {
995    #[prost(message, repeated, tag = "1")]
996    pub utxos: ::prost::alloc::vec::Vec<Utxo>,
997}
998impl ::prost::Name for QueryUtxOsByAddressResponse {
999    const NAME: &'static str = "QueryUTXOsByAddressResponse";
1000    const PACKAGE: &'static str = "side.btcbridge";
1001    fn full_name() -> ::prost::alloc::string::String {
1002        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1003    }
1004}
1005/// QueryUTXOCountAndBalancesByAddressRequest is the request type for the Query/UTXOCountAndBalancesByAddress RPC method.
1006#[allow(clippy::derive_partial_eq_without_eq)]
1007#[derive(Clone, PartialEq, ::prost::Message)]
1008pub struct QueryUtxoCountAndBalancesByAddressRequest {
1009    #[prost(string, tag = "1")]
1010    pub address: ::prost::alloc::string::String,
1011}
1012impl ::prost::Name for QueryUtxoCountAndBalancesByAddressRequest {
1013    const NAME: &'static str = "QueryUTXOCountAndBalancesByAddressRequest";
1014    const PACKAGE: &'static str = "side.btcbridge";
1015    fn full_name() -> ::prost::alloc::string::String {
1016        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1017    }
1018}
1019/// QueryUTXOCountAndBalancesByAddressResponse is the response type for the Query/UTXOCountAndBalancesByAddress RPC method.
1020#[allow(clippy::derive_partial_eq_without_eq)]
1021#[derive(Clone, PartialEq, ::prost::Message)]
1022pub struct QueryUtxoCountAndBalancesByAddressResponse {
1023    #[prost(uint32, tag = "1")]
1024    pub count: u32,
1025    #[prost(int64, tag = "2")]
1026    pub value: i64,
1027    #[prost(message, repeated, tag = "3")]
1028    pub rune_balances: ::prost::alloc::vec::Vec<RuneBalance>,
1029}
1030impl ::prost::Name for QueryUtxoCountAndBalancesByAddressResponse {
1031    const NAME: &'static str = "QueryUTXOCountAndBalancesByAddressResponse";
1032    const PACKAGE: &'static str = "side.btcbridge";
1033    fn full_name() -> ::prost::alloc::string::String {
1034        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1035    }
1036}
1037/// QueryDKGRequestRequest is the request type for the Query/DKGRequest RPC method.
1038#[allow(clippy::derive_partial_eq_without_eq)]
1039#[derive(Clone, PartialEq, ::prost::Message)]
1040pub struct QueryDkgRequestRequest {
1041    #[prost(uint64, tag = "1")]
1042    pub id: u64,
1043}
1044impl ::prost::Name for QueryDkgRequestRequest {
1045    const NAME: &'static str = "QueryDKGRequestRequest";
1046    const PACKAGE: &'static str = "side.btcbridge";
1047    fn full_name() -> ::prost::alloc::string::String {
1048        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1049    }
1050}
1051/// QueryDKGRequestResponse is the response type for the Query/DKGRequest RPC method.
1052#[allow(clippy::derive_partial_eq_without_eq)]
1053#[derive(Clone, PartialEq, ::prost::Message)]
1054pub struct QueryDkgRequestResponse {
1055    #[prost(message, optional, tag = "1")]
1056    pub request: ::core::option::Option<DkgRequest>,
1057}
1058impl ::prost::Name for QueryDkgRequestResponse {
1059    const NAME: &'static str = "QueryDKGRequestResponse";
1060    const PACKAGE: &'static str = "side.btcbridge";
1061    fn full_name() -> ::prost::alloc::string::String {
1062        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1063    }
1064}
1065/// QueryDKGRequestsRequest is the request type for the Query/DKGRequests RPC method.
1066#[allow(clippy::derive_partial_eq_without_eq)]
1067#[derive(Clone, PartialEq, ::prost::Message)]
1068pub struct QueryDkgRequestsRequest {
1069    #[prost(enumeration = "DkgRequestStatus", tag = "1")]
1070    pub status: i32,
1071}
1072impl ::prost::Name for QueryDkgRequestsRequest {
1073    const NAME: &'static str = "QueryDKGRequestsRequest";
1074    const PACKAGE: &'static str = "side.btcbridge";
1075    fn full_name() -> ::prost::alloc::string::String {
1076        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1077    }
1078}
1079/// QueryDKGRequestsResponse is the response type for the Query/DKGRequests RPC method.
1080#[allow(clippy::derive_partial_eq_without_eq)]
1081#[derive(Clone, PartialEq, ::prost::Message)]
1082pub struct QueryDkgRequestsResponse {
1083    #[prost(message, repeated, tag = "1")]
1084    pub requests: ::prost::alloc::vec::Vec<DkgRequest>,
1085}
1086impl ::prost::Name for QueryDkgRequestsResponse {
1087    const NAME: &'static str = "QueryDKGRequestsResponse";
1088    const PACKAGE: &'static str = "side.btcbridge";
1089    fn full_name() -> ::prost::alloc::string::String {
1090        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1091    }
1092}
1093/// QueryAllDKGRequestsRequest is the request type for the Query/AllDKGRequests RPC method.
1094#[allow(clippy::derive_partial_eq_without_eq)]
1095#[derive(Clone, PartialEq, ::prost::Message)]
1096pub struct QueryAllDkgRequestsRequest {}
1097impl ::prost::Name for QueryAllDkgRequestsRequest {
1098    const NAME: &'static str = "QueryAllDKGRequestsRequest";
1099    const PACKAGE: &'static str = "side.btcbridge";
1100    fn full_name() -> ::prost::alloc::string::String {
1101        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1102    }
1103}
1104/// QueryAllDKGRequestsResponse is the response type for the Query/AllDKGRequests RPC method.
1105#[allow(clippy::derive_partial_eq_without_eq)]
1106#[derive(Clone, PartialEq, ::prost::Message)]
1107pub struct QueryAllDkgRequestsResponse {
1108    #[prost(message, repeated, tag = "1")]
1109    pub requests: ::prost::alloc::vec::Vec<DkgRequest>,
1110}
1111impl ::prost::Name for QueryAllDkgRequestsResponse {
1112    const NAME: &'static str = "QueryAllDKGRequestsResponse";
1113    const PACKAGE: &'static str = "side.btcbridge";
1114    fn full_name() -> ::prost::alloc::string::String {
1115        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1116    }
1117}
1118/// QueryDKGCompletionRequestsRequest is the request type for the Query/DKGCompletionRequests RPC method.
1119#[allow(clippy::derive_partial_eq_without_eq)]
1120#[derive(Clone, PartialEq, ::prost::Message)]
1121pub struct QueryDkgCompletionRequestsRequest {
1122    #[prost(uint64, tag = "1")]
1123    pub id: u64,
1124}
1125impl ::prost::Name for QueryDkgCompletionRequestsRequest {
1126    const NAME: &'static str = "QueryDKGCompletionRequestsRequest";
1127    const PACKAGE: &'static str = "side.btcbridge";
1128    fn full_name() -> ::prost::alloc::string::String {
1129        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1130    }
1131}
1132/// QueryDKGCompletionRequestsResponse is the response type for the Query/DKGCompletionRequests RPC method.
1133#[allow(clippy::derive_partial_eq_without_eq)]
1134#[derive(Clone, PartialEq, ::prost::Message)]
1135pub struct QueryDkgCompletionRequestsResponse {
1136    #[prost(message, repeated, tag = "1")]
1137    pub requests: ::prost::alloc::vec::Vec<DkgCompletionRequest>,
1138}
1139impl ::prost::Name for QueryDkgCompletionRequestsResponse {
1140    const NAME: &'static str = "QueryDKGCompletionRequestsResponse";
1141    const PACKAGE: &'static str = "side.btcbridge";
1142    fn full_name() -> ::prost::alloc::string::String {
1143        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1144    }
1145}
1146/// MsgSubmitBlockHeaders defines the Msg/SubmitBlockHeaders request type.
1147#[allow(clippy::derive_partial_eq_without_eq)]
1148#[derive(Clone, PartialEq, ::prost::Message)]
1149pub struct MsgSubmitBlockHeaders {
1150    #[prost(string, tag = "1")]
1151    pub sender: ::prost::alloc::string::String,
1152    #[prost(message, repeated, tag = "2")]
1153    pub block_headers: ::prost::alloc::vec::Vec<BlockHeader>,
1154}
1155impl ::prost::Name for MsgSubmitBlockHeaders {
1156    const NAME: &'static str = "MsgSubmitBlockHeaders";
1157    const PACKAGE: &'static str = "side.btcbridge";
1158    fn full_name() -> ::prost::alloc::string::String {
1159        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1160    }
1161}
1162/// MsgSubmitBlockHeadersResponse defines the Msg/SubmitBlockHeaders response type.
1163#[allow(clippy::derive_partial_eq_without_eq)]
1164#[derive(Clone, PartialEq, ::prost::Message)]
1165pub struct MsgSubmitBlockHeadersResponse {}
1166impl ::prost::Name for MsgSubmitBlockHeadersResponse {
1167    const NAME: &'static str = "MsgSubmitBlockHeadersResponse";
1168    const PACKAGE: &'static str = "side.btcbridge";
1169    fn full_name() -> ::prost::alloc::string::String {
1170        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1171    }
1172}
1173/// MsgSubmitDepositTransaction defines the Msg/SubmitDepositTransaction request type.
1174#[allow(clippy::derive_partial_eq_without_eq)]
1175#[derive(Clone, PartialEq, ::prost::Message)]
1176pub struct MsgSubmitDepositTransaction {
1177    /// this is the relayer address who submits the bitcoin transaction to the side chain
1178    #[prost(string, tag = "1")]
1179    pub sender: ::prost::alloc::string::String,
1180    #[prost(string, tag = "2")]
1181    pub blockhash: ::prost::alloc::string::String,
1182    /// the tx bytes in base64 format
1183    /// used for parsing the sender of the transaction
1184    #[prost(string, tag = "3")]
1185    pub prev_tx_bytes: ::prost::alloc::string::String,
1186    /// the tx bytes in base64 format
1187    #[prost(string, tag = "4")]
1188    pub tx_bytes: ::prost::alloc::string::String,
1189    #[prost(string, repeated, tag = "5")]
1190    pub proof: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1191}
1192impl ::prost::Name for MsgSubmitDepositTransaction {
1193    const NAME: &'static str = "MsgSubmitDepositTransaction";
1194    const PACKAGE: &'static str = "side.btcbridge";
1195    fn full_name() -> ::prost::alloc::string::String {
1196        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1197    }
1198}
1199/// MsgSubmitDepositTransactionResponse defines the Msg/SubmitDepositTransaction response type.
1200#[allow(clippy::derive_partial_eq_without_eq)]
1201#[derive(Clone, PartialEq, ::prost::Message)]
1202pub struct MsgSubmitDepositTransactionResponse {}
1203impl ::prost::Name for MsgSubmitDepositTransactionResponse {
1204    const NAME: &'static str = "MsgSubmitDepositTransactionResponse";
1205    const PACKAGE: &'static str = "side.btcbridge";
1206    fn full_name() -> ::prost::alloc::string::String {
1207        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1208    }
1209}
1210/// MsgSubmitWithdrawTransaction defines the Msg/SubmitWithdrawTransaction request type.
1211#[allow(clippy::derive_partial_eq_without_eq)]
1212#[derive(Clone, PartialEq, ::prost::Message)]
1213pub struct MsgSubmitWithdrawTransaction {
1214    /// this is the relayer address who submits the bitcoin transaction to the side chain
1215    #[prost(string, tag = "1")]
1216    pub sender: ::prost::alloc::string::String,
1217    #[prost(string, tag = "2")]
1218    pub blockhash: ::prost::alloc::string::String,
1219    /// the tx bytes in base64 format
1220    #[prost(string, tag = "3")]
1221    pub tx_bytes: ::prost::alloc::string::String,
1222    #[prost(string, repeated, tag = "4")]
1223    pub proof: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1224}
1225impl ::prost::Name for MsgSubmitWithdrawTransaction {
1226    const NAME: &'static str = "MsgSubmitWithdrawTransaction";
1227    const PACKAGE: &'static str = "side.btcbridge";
1228    fn full_name() -> ::prost::alloc::string::String {
1229        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1230    }
1231}
1232/// MsgSubmitWithdrawTransactionResponse defines the Msg/SubmitWithdrawTransaction response type.
1233#[allow(clippy::derive_partial_eq_without_eq)]
1234#[derive(Clone, PartialEq, ::prost::Message)]
1235pub struct MsgSubmitWithdrawTransactionResponse {}
1236impl ::prost::Name for MsgSubmitWithdrawTransactionResponse {
1237    const NAME: &'static str = "MsgSubmitWithdrawTransactionResponse";
1238    const PACKAGE: &'static str = "side.btcbridge";
1239    fn full_name() -> ::prost::alloc::string::String {
1240        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1241    }
1242}
1243/// MsgSubmitFeeRate defines the Msg/SubmitFeeRate request type.
1244#[allow(clippy::derive_partial_eq_without_eq)]
1245#[derive(Clone, PartialEq, ::prost::Message)]
1246pub struct MsgSubmitFeeRate {
1247    #[prost(string, tag = "1")]
1248    pub sender: ::prost::alloc::string::String,
1249    #[prost(int64, tag = "2")]
1250    pub fee_rate: i64,
1251}
1252impl ::prost::Name for MsgSubmitFeeRate {
1253    const NAME: &'static str = "MsgSubmitFeeRate";
1254    const PACKAGE: &'static str = "side.btcbridge";
1255    fn full_name() -> ::prost::alloc::string::String {
1256        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1257    }
1258}
1259/// MsgSubmitFeeRateResponse defines the Msg/SubmitFeeRate response type.
1260#[allow(clippy::derive_partial_eq_without_eq)]
1261#[derive(Clone, PartialEq, ::prost::Message)]
1262pub struct MsgSubmitFeeRateResponse {}
1263impl ::prost::Name for MsgSubmitFeeRateResponse {
1264    const NAME: &'static str = "MsgSubmitFeeRateResponse";
1265    const PACKAGE: &'static str = "side.btcbridge";
1266    fn full_name() -> ::prost::alloc::string::String {
1267        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1268    }
1269}
1270/// MsgUpdateTrustedNonBtcRelayers defines the Msg/UpdateTrustedNonBtcRelayers request type.
1271#[allow(clippy::derive_partial_eq_without_eq)]
1272#[derive(Clone, PartialEq, ::prost::Message)]
1273pub struct MsgUpdateTrustedNonBtcRelayers {
1274    #[prost(string, tag = "1")]
1275    pub sender: ::prost::alloc::string::String,
1276    #[prost(string, repeated, tag = "2")]
1277    pub relayers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1278}
1279impl ::prost::Name for MsgUpdateTrustedNonBtcRelayers {
1280    const NAME: &'static str = "MsgUpdateTrustedNonBtcRelayers";
1281    const PACKAGE: &'static str = "side.btcbridge";
1282    fn full_name() -> ::prost::alloc::string::String {
1283        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1284    }
1285}
1286/// MsgUpdateTrustedNonBtcRelayersResponse defines the Msg/UpdateTrustedNonBtcRelayers response type.
1287#[allow(clippy::derive_partial_eq_without_eq)]
1288#[derive(Clone, PartialEq, ::prost::Message)]
1289pub struct MsgUpdateTrustedNonBtcRelayersResponse {}
1290impl ::prost::Name for MsgUpdateTrustedNonBtcRelayersResponse {
1291    const NAME: &'static str = "MsgUpdateTrustedNonBtcRelayersResponse";
1292    const PACKAGE: &'static str = "side.btcbridge";
1293    fn full_name() -> ::prost::alloc::string::String {
1294        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1295    }
1296}
1297/// MsgUpdateTrustedOracles defines the Msg/UpdateTrustedOracles request type.
1298#[allow(clippy::derive_partial_eq_without_eq)]
1299#[derive(Clone, PartialEq, ::prost::Message)]
1300pub struct MsgUpdateTrustedOracles {
1301    #[prost(string, tag = "1")]
1302    pub sender: ::prost::alloc::string::String,
1303    #[prost(string, repeated, tag = "2")]
1304    pub oracles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1305}
1306impl ::prost::Name for MsgUpdateTrustedOracles {
1307    const NAME: &'static str = "MsgUpdateTrustedOracles";
1308    const PACKAGE: &'static str = "side.btcbridge";
1309    fn full_name() -> ::prost::alloc::string::String {
1310        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1311    }
1312}
1313/// MsgUpdateTrustedOraclesResponse defines the Msg/UpdateTrustedOracles response type.
1314#[allow(clippy::derive_partial_eq_without_eq)]
1315#[derive(Clone, PartialEq, ::prost::Message)]
1316pub struct MsgUpdateTrustedOraclesResponse {}
1317impl ::prost::Name for MsgUpdateTrustedOraclesResponse {
1318    const NAME: &'static str = "MsgUpdateTrustedOraclesResponse";
1319    const PACKAGE: &'static str = "side.btcbridge";
1320    fn full_name() -> ::prost::alloc::string::String {
1321        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1322    }
1323}
1324/// MsgWithdrawToBitcoin defines the Msg/WithdrawToBitcoin request type.
1325#[allow(clippy::derive_partial_eq_without_eq)]
1326#[derive(Clone, PartialEq, ::prost::Message)]
1327pub struct MsgWithdrawToBitcoin {
1328    #[prost(string, tag = "1")]
1329    pub sender: ::prost::alloc::string::String,
1330    /// withdraw amount in satoshi, etc: 100000000sat = 1btc
1331    #[prost(string, tag = "2")]
1332    pub amount: ::prost::alloc::string::String,
1333}
1334impl ::prost::Name for MsgWithdrawToBitcoin {
1335    const NAME: &'static str = "MsgWithdrawToBitcoin";
1336    const PACKAGE: &'static str = "side.btcbridge";
1337    fn full_name() -> ::prost::alloc::string::String {
1338        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1339    }
1340}
1341/// MsgWithdrawToBitcoinResponse defines the Msg/WithdrawToBitcoin response type.
1342#[allow(clippy::derive_partial_eq_without_eq)]
1343#[derive(Clone, PartialEq, ::prost::Message)]
1344pub struct MsgWithdrawToBitcoinResponse {}
1345impl ::prost::Name for MsgWithdrawToBitcoinResponse {
1346    const NAME: &'static str = "MsgWithdrawToBitcoinResponse";
1347    const PACKAGE: &'static str = "side.btcbridge";
1348    fn full_name() -> ::prost::alloc::string::String {
1349        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1350    }
1351}
1352/// MsgSubmitSignatures defines the Msg/SubmitSignatures request type.
1353#[allow(clippy::derive_partial_eq_without_eq)]
1354#[derive(Clone, PartialEq, ::prost::Message)]
1355pub struct MsgSubmitSignatures {
1356    #[prost(string, tag = "1")]
1357    pub sender: ::prost::alloc::string::String,
1358    #[prost(string, tag = "2")]
1359    pub txid: ::prost::alloc::string::String,
1360    #[prost(string, tag = "3")]
1361    pub psbt: ::prost::alloc::string::String,
1362}
1363impl ::prost::Name for MsgSubmitSignatures {
1364    const NAME: &'static str = "MsgSubmitSignatures";
1365    const PACKAGE: &'static str = "side.btcbridge";
1366    fn full_name() -> ::prost::alloc::string::String {
1367        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1368    }
1369}
1370/// MsgSubmitSignaturesResponse defines the Msg/SubmitSignatures response type.
1371#[allow(clippy::derive_partial_eq_without_eq)]
1372#[derive(Clone, PartialEq, ::prost::Message)]
1373pub struct MsgSubmitSignaturesResponse {}
1374impl ::prost::Name for MsgSubmitSignaturesResponse {
1375    const NAME: &'static str = "MsgSubmitSignaturesResponse";
1376    const PACKAGE: &'static str = "side.btcbridge";
1377    fn full_name() -> ::prost::alloc::string::String {
1378        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1379    }
1380}
1381/// MsgConsolidateVaults is the Msg/ConsolidateVaults request type.
1382#[allow(clippy::derive_partial_eq_without_eq)]
1383#[derive(Clone, PartialEq, ::prost::Message)]
1384pub struct MsgConsolidateVaults {
1385    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1386    #[prost(string, tag = "1")]
1387    pub authority: ::prost::alloc::string::String,
1388    /// vault version
1389    #[prost(uint64, tag = "2")]
1390    pub vault_version: u64,
1391    /// btc consolidation
1392    #[prost(message, optional, tag = "3")]
1393    pub btc_consolidation: ::core::option::Option<BtcConsolidation>,
1394    /// runes consolidations
1395    #[prost(message, repeated, tag = "4")]
1396    pub runes_consolidations: ::prost::alloc::vec::Vec<RunesConsolidation>,
1397}
1398impl ::prost::Name for MsgConsolidateVaults {
1399    const NAME: &'static str = "MsgConsolidateVaults";
1400    const PACKAGE: &'static str = "side.btcbridge";
1401    fn full_name() -> ::prost::alloc::string::String {
1402        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1403    }
1404}
1405/// MsgConsolidateVaultsResponse defines the Msg/ConsolidateVaults response type.
1406#[allow(clippy::derive_partial_eq_without_eq)]
1407#[derive(Clone, PartialEq, ::prost::Message)]
1408pub struct MsgConsolidateVaultsResponse {}
1409impl ::prost::Name for MsgConsolidateVaultsResponse {
1410    const NAME: &'static str = "MsgConsolidateVaultsResponse";
1411    const PACKAGE: &'static str = "side.btcbridge";
1412    fn full_name() -> ::prost::alloc::string::String {
1413        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1414    }
1415}
1416/// MsgInitiateDKG is the Msg/InitiateDKG request type.
1417#[allow(clippy::derive_partial_eq_without_eq)]
1418#[derive(Clone, PartialEq, ::prost::Message)]
1419pub struct MsgInitiateDkg {
1420    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1421    #[prost(string, tag = "1")]
1422    pub authority: ::prost::alloc::string::String,
1423    /// expected participant set
1424    #[prost(message, repeated, tag = "2")]
1425    pub participants: ::prost::alloc::vec::Vec<DkgParticipant>,
1426    /// threshold required to perform DKG
1427    #[prost(uint32, tag = "3")]
1428    pub threshold: u32,
1429    /// asset types of vaults to be generated
1430    #[prost(enumeration = "AssetType", repeated, tag = "4")]
1431    pub vault_types: ::prost::alloc::vec::Vec<i32>,
1432    /// indicates if transferring the current vaults to the newly generated vaults when the DKG request is completed
1433    #[prost(bool, tag = "5")]
1434    pub enable_transfer: bool,
1435    /// target number of the UTXOs to be transferred each time
1436    #[prost(uint32, tag = "6")]
1437    pub target_utxo_num: u32,
1438}
1439impl ::prost::Name for MsgInitiateDkg {
1440    const NAME: &'static str = "MsgInitiateDKG";
1441    const PACKAGE: &'static str = "side.btcbridge";
1442    fn full_name() -> ::prost::alloc::string::String {
1443        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1444    }
1445}
1446/// MsgInitiateDKGResponse defines the Msg/InitiateDKG response type.
1447#[allow(clippy::derive_partial_eq_without_eq)]
1448#[derive(Clone, PartialEq, ::prost::Message)]
1449pub struct MsgInitiateDkgResponse {}
1450impl ::prost::Name for MsgInitiateDkgResponse {
1451    const NAME: &'static str = "MsgInitiateDKGResponse";
1452    const PACKAGE: &'static str = "side.btcbridge";
1453    fn full_name() -> ::prost::alloc::string::String {
1454        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1455    }
1456}
1457/// MsgCompleteDKG is the Msg/CompleteDKG request type.
1458#[allow(clippy::derive_partial_eq_without_eq)]
1459#[derive(Clone, PartialEq, ::prost::Message)]
1460pub struct MsgCompleteDkg {
1461    /// the sender
1462    #[prost(string, tag = "1")]
1463    pub sender: ::prost::alloc::string::String,
1464    /// DKG request id
1465    #[prost(uint64, tag = "2")]
1466    pub id: u64,
1467    /// new vaults generated by DKG
1468    #[prost(string, repeated, tag = "3")]
1469    pub vaults: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1470    /// consensus address of the corresponding validator
1471    #[prost(string, tag = "4")]
1472    pub consensus_address: ::prost::alloc::string::String,
1473    /// hex encoded validator signature
1474    #[prost(string, tag = "5")]
1475    pub signature: ::prost::alloc::string::String,
1476}
1477impl ::prost::Name for MsgCompleteDkg {
1478    const NAME: &'static str = "MsgCompleteDKG";
1479    const PACKAGE: &'static str = "side.btcbridge";
1480    fn full_name() -> ::prost::alloc::string::String {
1481        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1482    }
1483}
1484/// MsgCompleteDKGResponse defines the Msg/CompleteDKG response type.
1485#[allow(clippy::derive_partial_eq_without_eq)]
1486#[derive(Clone, PartialEq, ::prost::Message)]
1487pub struct MsgCompleteDkgResponse {}
1488impl ::prost::Name for MsgCompleteDkgResponse {
1489    const NAME: &'static str = "MsgCompleteDKGResponse";
1490    const PACKAGE: &'static str = "side.btcbridge";
1491    fn full_name() -> ::prost::alloc::string::String {
1492        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1493    }
1494}
1495/// MsgTransferVault is the Msg/TransferVault request type.
1496#[allow(clippy::derive_partial_eq_without_eq)]
1497#[derive(Clone, PartialEq, ::prost::Message)]
1498pub struct MsgTransferVault {
1499    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1500    #[prost(string, tag = "1")]
1501    pub authority: ::prost::alloc::string::String,
1502    /// version of the source vault
1503    #[prost(uint64, tag = "2")]
1504    pub source_version: u64,
1505    /// version of the destination vault
1506    #[prost(uint64, tag = "3")]
1507    pub dest_version: u64,
1508    /// asset type
1509    #[prost(enumeration = "AssetType", tag = "4")]
1510    pub asset_type: i32,
1511    /// a set of optional pre-built PSBTs to perform the asset transfer
1512    #[prost(string, repeated, tag = "5")]
1513    pub psbts: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1514    /// target number of the UTXOs to be transferred; only take effect when psbt not provided
1515    #[prost(uint32, tag = "6")]
1516    pub target_utxo_num: u32,
1517}
1518impl ::prost::Name for MsgTransferVault {
1519    const NAME: &'static str = "MsgTransferVault";
1520    const PACKAGE: &'static str = "side.btcbridge";
1521    fn full_name() -> ::prost::alloc::string::String {
1522        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1523    }
1524}
1525/// MsgTransferVaultResponse defines the Msg/TransferVault response type.
1526#[allow(clippy::derive_partial_eq_without_eq)]
1527#[derive(Clone, PartialEq, ::prost::Message)]
1528pub struct MsgTransferVaultResponse {}
1529impl ::prost::Name for MsgTransferVaultResponse {
1530    const NAME: &'static str = "MsgTransferVaultResponse";
1531    const PACKAGE: &'static str = "side.btcbridge";
1532    fn full_name() -> ::prost::alloc::string::String {
1533        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1534    }
1535}
1536/// MsgUpdateParams is the Msg/UpdateParams request type.
1537///
1538/// Since: cosmos-sdk 0.47
1539#[allow(clippy::derive_partial_eq_without_eq)]
1540#[derive(Clone, PartialEq, ::prost::Message)]
1541pub struct MsgUpdateParams {
1542    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1543    #[prost(string, tag = "1")]
1544    pub authority: ::prost::alloc::string::String,
1545    /// params defines the x/btcbridge parameters to be updated.
1546    ///
1547    /// NOTE: All parameters must be supplied.
1548    #[prost(message, optional, tag = "2")]
1549    pub params: ::core::option::Option<Params>,
1550}
1551impl ::prost::Name for MsgUpdateParams {
1552    const NAME: &'static str = "MsgUpdateParams";
1553    const PACKAGE: &'static str = "side.btcbridge";
1554    fn full_name() -> ::prost::alloc::string::String {
1555        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1556    }
1557}
1558/// MsgUpdateParamsResponse defines the Msg/UpdateParams response type.
1559///
1560/// Since: cosmos-sdk 0.47
1561#[allow(clippy::derive_partial_eq_without_eq)]
1562#[derive(Clone, PartialEq, ::prost::Message)]
1563pub struct MsgUpdateParamsResponse {}
1564impl ::prost::Name for MsgUpdateParamsResponse {
1565    const NAME: &'static str = "MsgUpdateParamsResponse";
1566    const PACKAGE: &'static str = "side.btcbridge";
1567    fn full_name() -> ::prost::alloc::string::String {
1568        ::prost::alloc::format!("side.btcbridge.{}", Self::NAME)
1569    }
1570}
1571include!("side.btcbridge.serde.rs");
1572include!("side.btcbridge.tonic.rs");
1573// @@protoc_insertion_point(module)