@@ -25,6 +25,7 @@ use crate::external::results::{
25
25
HandleSuccess , InitSuccess , MigrateSuccess , QuerySuccess , UpdateAdminSuccess ,
26
26
} ;
27
27
use crate :: message:: { is_ibc_msg, parse_message} ;
28
+ use crate :: message_utils:: try_get_decrypted_secret_msg;
28
29
use crate :: types:: ParsedMessage ;
29
30
30
31
use crate :: random:: update_msg_counter;
@@ -116,7 +117,24 @@ pub fn init(
116
117
117
118
let parsed_sig_info: SigInfo = extract_sig_info ( sig_info) ?;
118
119
119
- let secret_msg = SecretMessage :: from_slice ( msg) ?;
120
+ let ( secret_msg, decrypted_msg) =
121
+ if let Some ( decrypted_secret_msg) = try_get_decrypted_secret_msg ( msg) {
122
+ trace ! ( "init input before decryption: {:?}" , base64:: encode( msg) ) ;
123
+ (
124
+ decrypted_secret_msg. secret_msg ,
125
+ decrypted_secret_msg. decrypted_msg ,
126
+ )
127
+ } else {
128
+ trace ! ( "init input was plaintext: {:?}" , base64:: encode( msg) ) ;
129
+ let secret_msg = SecretMessage {
130
+ nonce : [ 0 ; 32 ] ,
131
+ user_public_key : [ 0 ; 32 ] ,
132
+ msg : msg. into ( ) ,
133
+ } ;
134
+
135
+ let decrypted_msg = secret_msg. msg . clone ( ) ;
136
+ ( secret_msg, decrypted_msg)
137
+ } ;
120
138
121
139
//let start = Instant::now();
122
140
verify_params (
@@ -135,7 +153,7 @@ pub fn init(
135
153
// trace!("Time elapsed in verify_params: {:?}", duration);
136
154
137
155
//let start = Instant::now();
138
- let decrypted_msg = secret_msg. decrypt ( ) ?;
156
+ // let decrypted_msg = secret_msg.decrypt()?;
139
157
// let duration = start.elapsed();
140
158
// trace!("Time elapsed in decrypt: {:?}", duration);
141
159
0 commit comments