@@ -2,6 +2,7 @@ use super::ErrorCode;
22
33use libc:: c_char;
44use std:: ffi:: CString ;
5+ use std:: ptr:: null;
56
67pub struct Payment { }
78
@@ -35,13 +36,14 @@ impl Payment {
3536 super :: results:: result_to_string ( err, receiver)
3637 }
3738
38- pub fn add_request_fees ( wallet_handle : i32 , submitter_did : & str , req_json : & str , inputs_json : & str , outputs_json : & str ) -> Result < ( String , String ) , ErrorCode > {
39+ pub fn add_request_fees ( wallet_handle : i32 , submitter_did : & str , req_json : & str , inputs_json : & str , outputs_json : & str , extra : Option < & str > ) -> Result < ( String , String ) , ErrorCode > {
3940 let ( receiver, command_handle, cb) = super :: callbacks:: _closure_to_cb_ec_string_string ( ) ;
4041
4142 let submitter_did = CString :: new ( submitter_did) . unwrap ( ) ;
4243 let req_json = CString :: new ( req_json) . unwrap ( ) ;
4344 let inputs_json = CString :: new ( inputs_json) . unwrap ( ) ;
4445 let outputs_json = CString :: new ( outputs_json) . unwrap ( ) ;
46+ let extra_str = extra. map ( |s| CString :: new ( s) . unwrap ( ) ) . unwrap_or ( CString :: new ( "" ) . unwrap ( ) ) ;
4547
4648 let err = unsafe {
4749 indy_add_request_fees ( command_handle,
@@ -50,6 +52,7 @@ impl Payment {
5052 req_json. as_ptr ( ) ,
5153 inputs_json. as_ptr ( ) ,
5254 outputs_json. as_ptr ( ) ,
55+ if extra. is_some ( ) { extra_str. as_ptr ( ) } else { null ( ) } ,
5356 cb)
5457 } ;
5558
@@ -92,20 +95,22 @@ impl Payment {
9295 super :: results:: result_to_string ( err, receiver)
9396 }
9497
95- pub fn build_payment_req ( wallet_handle : i32 , submitter_did : & str , inputs : & str , outputs : & str ) -> Result < ( String , String ) , ErrorCode > {
98+ pub fn build_payment_req ( wallet_handle : i32 , submitter_did : & str , inputs : & str , outputs : & str , extra : Option < & str > ) -> Result < ( String , String ) , ErrorCode > {
9699 let ( receiver, command_handle, cb) =
97100 super :: callbacks:: _closure_to_cb_ec_string_string ( ) ;
98101
99102 let submitter_did = CString :: new ( submitter_did) . unwrap ( ) ;
100103 let inputs = CString :: new ( inputs) . unwrap ( ) ;
101104 let outputs = CString :: new ( outputs) . unwrap ( ) ;
105+ let extra_str = extra. map ( |s| CString :: new ( s) . unwrap ( ) ) . unwrap_or ( CString :: new ( "" ) . unwrap ( ) ) ;
102106
103107 let err = unsafe {
104108 indy_build_payment_req ( command_handle,
105109 wallet_handle,
106110 submitter_did. as_ptr ( ) ,
107111 inputs. as_ptr ( ) ,
108112 outputs. as_ptr ( ) ,
113+ if extra. is_some ( ) { extra_str. as_ptr ( ) } else { null ( ) } ,
109114 cb)
110115 } ;
111116
@@ -129,18 +134,20 @@ impl Payment {
129134 super :: results:: result_to_string ( err, receiver)
130135 }
131136
132- pub fn build_mint_req ( wallet_handle : i32 , submitter_did : & str , outputs_json : & str ) -> Result < ( String , String ) , ErrorCode > {
137+ pub fn build_mint_req ( wallet_handle : i32 , submitter_did : & str , outputs_json : & str , extra : Option < & str > ) -> Result < ( String , String ) , ErrorCode > {
133138 let ( receiver, command_handle, cb) =
134139 super :: callbacks:: _closure_to_cb_ec_string_string ( ) ;
135140
136141 let submitter_did = CString :: new ( submitter_did) . unwrap ( ) ;
137142 let outputs_json = CString :: new ( outputs_json) . unwrap ( ) ;
143+ let extra_str = extra. map ( |s| CString :: new ( s) . unwrap ( ) ) . unwrap_or ( CString :: new ( "" ) . unwrap ( ) ) ;
138144
139145 let err = unsafe {
140146 indy_build_mint_req ( command_handle,
141147 wallet_handle,
142148 submitter_did. as_ptr ( ) ,
143149 outputs_json. as_ptr ( ) ,
150+ if extra. is_some ( ) { extra_str. as_ptr ( ) } else { null ( ) } ,
144151 cb)
145152 } ;
146153
@@ -244,6 +251,7 @@ extern {
244251 req_json : * const c_char ,
245252 inputs_json : * const c_char ,
246253 outputs_json : * const c_char ,
254+ extra : * const c_char ,
247255 cb : Option < extern fn ( command_handle_ : i32 ,
248256 err : ErrorCode ,
249257 req_with_fees_json : * const c_char ,
@@ -273,6 +281,7 @@ extern {
273281 submitter_did : * const c_char ,
274282 inputs_json : * const c_char ,
275283 outputs_json : * const c_char ,
284+ extra : * const c_char ,
276285 cb : Option < extern fn ( command_handle_ : i32 ,
277286 err : ErrorCode ,
278287 payment_req_json : * const c_char ,
@@ -291,6 +300,7 @@ extern {
291300 wallet_handle : i32 ,
292301 submitter_did : * const c_char ,
293302 outputs_json : * const c_char ,
303+ extra : * const c_char ,
294304 cb : Option < extern fn ( command_handle_ : i32 ,
295305 err : ErrorCode ,
296306 mint_req_json : * const c_char ,
0 commit comments