@@ -45,6 +45,9 @@ pub struct Params {
45
45
/// TSS params
46
46
#[ prost( message, optional, tag = "14" ) ]
47
47
pub tss_params : :: core:: option:: Option < TssParams > ,
48
+ /// IBC params
49
+ #[ prost( message, optional, tag = "15" ) ]
50
+ pub ibc_params : :: core:: option:: Option < IbcParams > ,
48
51
}
49
52
impl :: prost:: Name for Params {
50
53
const NAME : & ' static str = "Params" ;
@@ -158,6 +161,27 @@ impl ::prost::Name for TssParams {
158
161
:: prost:: alloc:: format!( "side.btcbridge.{}" , Self :: NAME )
159
162
}
160
163
}
164
+ /// IBCParams defines the params related to IBC
165
+ #[ allow( clippy:: derive_partial_eq_without_eq) ]
166
+ #[ derive( Clone , PartialEq , :: prost:: Message ) ]
167
+ pub struct IbcParams {
168
+ /// Id of the IBC port used to transfer sBTC
169
+ #[ prost( string, tag = "1" ) ]
170
+ pub port_id : :: prost:: alloc:: string:: String ,
171
+ /// Timeout height offset relative to the current client height
172
+ #[ prost( uint64, tag = "2" ) ]
173
+ pub timeout_height_offset : u64 ,
174
+ /// Timeout duration relative to the current time
175
+ #[ prost( message, optional, tag = "3" ) ]
176
+ pub timeout_duration : :: core:: option:: Option < :: tendermint_proto:: google:: protobuf:: Duration > ,
177
+ }
178
+ impl :: prost:: Name for IbcParams {
179
+ const NAME : & ' static str = "IBCParams" ;
180
+ const PACKAGE : & ' static str = "side.btcbridge" ;
181
+ fn full_name ( ) -> :: prost:: alloc:: string:: String {
182
+ :: prost:: alloc:: format!( "side.btcbridge.{}" , Self :: NAME )
183
+ }
184
+ }
161
185
/// AssetType defines the type of asset
162
186
#[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash , PartialOrd , Ord , :: prost:: Enumeration ) ]
163
187
#[ repr( i32 ) ]
@@ -287,6 +311,26 @@ impl ::prost::Name for WithdrawRequest {
287
311
:: prost:: alloc:: format!( "side.btcbridge.{}" , Self :: NAME )
288
312
}
289
313
}
314
+ /// Withdrawal request via IBC
315
+ #[ allow( clippy:: derive_partial_eq_without_eq) ]
316
+ #[ derive( Clone , PartialEq , :: prost:: Message ) ]
317
+ pub struct IbcWithdrawRequest {
318
+ #[ prost( string, tag = "1" ) ]
319
+ pub channel_id : :: prost:: alloc:: string:: String ,
320
+ #[ prost( uint64, tag = "2" ) ]
321
+ pub sequence : u64 ,
322
+ #[ prost( string, tag = "3" ) ]
323
+ pub address : :: prost:: alloc:: string:: String ,
324
+ #[ prost( string, tag = "4" ) ]
325
+ pub amount : :: prost:: alloc:: string:: String ,
326
+ }
327
+ impl :: prost:: Name for IbcWithdrawRequest {
328
+ const NAME : & ' static str = "IBCWithdrawRequest" ;
329
+ const PACKAGE : & ' static str = "side.btcbridge" ;
330
+ fn full_name ( ) -> :: prost:: alloc:: string:: String {
331
+ :: prost:: alloc:: format!( "side.btcbridge.{}" , Self :: NAME )
332
+ }
333
+ }
290
334
/// Bitcoin UTXO
291
335
#[ allow( clippy:: derive_partial_eq_without_eq) ]
292
336
#[ derive( Clone , PartialEq , :: prost:: Message ) ]
@@ -1116,6 +1160,36 @@ impl ::prost::Name for QueryDkgCompletionRequestsResponse {
1116
1160
:: prost:: alloc:: format!( "side.btcbridge.{}" , Self :: NAME )
1117
1161
}
1118
1162
}
1163
+ /// QueryIBCDepositScriptRequest is the request type for the Query/IBCDepositScript RPC method.
1164
+ #[ allow( clippy:: derive_partial_eq_without_eq) ]
1165
+ #[ derive( Clone , PartialEq , :: prost:: Message ) ]
1166
+ pub struct QueryIbcDepositScriptRequest {
1167
+ #[ prost( string, tag = "1" ) ]
1168
+ pub channel_id : :: prost:: alloc:: string:: String ,
1169
+ #[ prost( string, tag = "2" ) ]
1170
+ pub recipient_address : :: prost:: alloc:: string:: String ,
1171
+ }
1172
+ impl :: prost:: Name for QueryIbcDepositScriptRequest {
1173
+ const NAME : & ' static str = "QueryIBCDepositScriptRequest" ;
1174
+ const PACKAGE : & ' static str = "side.btcbridge" ;
1175
+ fn full_name ( ) -> :: prost:: alloc:: string:: String {
1176
+ :: prost:: alloc:: format!( "side.btcbridge.{}" , Self :: NAME )
1177
+ }
1178
+ }
1179
+ /// QueryIBCDepositScriptResponse is the response type for the Query/IBCDepositScript RPC method.
1180
+ #[ allow( clippy:: derive_partial_eq_without_eq) ]
1181
+ #[ derive( Clone , PartialEq , :: prost:: Message ) ]
1182
+ pub struct QueryIbcDepositScriptResponse {
1183
+ #[ prost( string, tag = "1" ) ]
1184
+ pub script : :: prost:: alloc:: string:: String ,
1185
+ }
1186
+ impl :: prost:: Name for QueryIbcDepositScriptResponse {
1187
+ const NAME : & ' static str = "QueryIBCDepositScriptResponse" ;
1188
+ const PACKAGE : & ' static str = "side.btcbridge" ;
1189
+ fn full_name ( ) -> :: prost:: alloc:: string:: String {
1190
+ :: prost:: alloc:: format!( "side.btcbridge.{}" , Self :: NAME )
1191
+ }
1192
+ }
1119
1193
/// MsgSubmitDepositTransaction defines the Msg/SubmitDepositTransaction request type.
1120
1194
#[ allow( clippy:: derive_partial_eq_without_eq) ]
1121
1195
#[ derive( Clone , PartialEq , :: prost:: Message ) ]
0 commit comments