@@ -166,6 +166,24 @@ fn string_to_ptr(other: String) -> *mut c_char {
166166 cstr. into_raw ( )
167167}
168168
169+ pub ( crate ) fn backup (
170+ wallet : & COpaqueStruct ,
171+ backup_path : * const c_char ,
172+ password : * const c_char ,
173+ ) -> Result < ( ) , Error > {
174+ let wallet = Wallet :: from_opaque ( wallet) ?;
175+ let backup_path = ptr_to_string ( backup_path) ;
176+ let password = ptr_to_string ( password) ;
177+ wallet. backup ( & backup_path, & password) ?;
178+ Ok ( ( ) )
179+ }
180+
181+ pub ( crate ) fn backup_info ( wallet : & COpaqueStruct ) -> Result < String , Error > {
182+ let wallet = Wallet :: from_opaque ( wallet) ?;
183+ let res = wallet. backup_info ( ) ?;
184+ Ok ( serde_json:: to_string ( & res) ?)
185+ }
186+
169187pub ( crate ) fn blind_receive (
170188 wallet : & COpaqueStruct ,
171189 asset_id_opt : * const c_char ,
@@ -404,6 +422,18 @@ pub(crate) fn refresh(
404422 Ok ( serde_json:: to_string ( & res) ?)
405423}
406424
425+ pub ( crate ) fn restore_backup (
426+ backup_path : * const c_char ,
427+ password : * const c_char ,
428+ target_dir : * const c_char ,
429+ ) -> Result < ( ) , Error > {
430+ let backup_path = ptr_to_string ( backup_path) ;
431+ let password = ptr_to_string ( password) ;
432+ let target_dir = ptr_to_string ( target_dir) ;
433+ rgb_lib:: restore_backup ( & backup_path, & password, & target_dir) ?;
434+ Ok ( ( ) )
435+ }
436+
407437pub ( crate ) fn restore_keys (
408438 bitcoin_network : * const c_char ,
409439 mnemonic : * const c_char ,
0 commit comments