1use super::*;
2
3use {CString, Error, CommandHandle, WalletHandle};
4
5extern {
6 #[no_mangle]
7 pub fn indy_register_payment_method(command_handle: CommandHandle,
8 payment_method: CString,
9 create_payment_address: Option<CreatePaymentAddressCB>,
10 add_request_fees: Option<AddRequestFeesCB>,
11 parse_response_with_fees: Option<ParseResponseWithFeesCB>,
12 build_get_payment_sources_request: Option<BuildGetPaymentSourcesRequestCB>,
13 parse_get_payment_sources_response: Option<ParseGetPaymentSourcesResponseCB>,
14 build_payment_req: Option<BuildPaymentReqCB>,
15 parse_payment_response: Option<ParsePaymentResponseCB>,
16 build_mint_req: Option<BuildMintReqCB>,
17 build_set_txn_fees_req: Option<BuildSetTxnFeesReqCB>,
18 build_get_txn_fees_req: Option<BuildGetTxnFeesReqCB>,
19 parse_get_txn_fees_response: Option<ParseGetTxnFeesResponseCB>,
20 build_verify_payment_req: Option<BuildVerifyPaymentReqCB>,
21 parse_verify_payment_response: Option<ParseVerifyPaymentResponseCB>,
22 sign_with_address: Option<SignWithAddressCB>,
23 verify_with_address: Option<VerifyWithAddressCB>,
24 cb: Option<ResponseEmptyCB>) -> Error;
25
26 #[no_mangle]
27 pub fn indy_create_payment_address(command_handle: CommandHandle,
28 wallet_handle: WalletHandle,
29 payment_method: CString,
30 config: CString,
31 cb: Option<ResponseStringCB>) -> Error;
32
33 #[no_mangle]
34 pub fn indy_list_payment_addresses(command_handle: CommandHandle,
35 wallet_handle: WalletHandle,
36 cb: Option<ResponseStringCB>) -> Error;
37
38 #[no_mangle]
39 pub fn indy_add_request_fees(command_handle: CommandHandle,
40 wallet_handle: WalletHandle,
41 submitter_did: CString,
42 req_json: CString,
43 inputs_json: CString,
44 outputs_json: CString,
45 extra: CString,
46 cb: Option<ResponseStringStringCB>) -> Error;
47
48 #[no_mangle]
49 pub fn indy_parse_response_with_fees(command_handle: CommandHandle,
50 payment_method: CString,
51 resp_json: CString,
52 cb: Option<ResponseStringCB>) -> Error;
53
54 #[no_mangle]
55 pub fn indy_build_get_payment_sources_with_from_request(command_handle: CommandHandle,
56 wallet_handle: WalletHandle,
57 submitter_did: CString,
58 payment_address: CString,
59 from: i64,
60 cb: Option<ResponseStringStringCB>) -> Error;
61
62 #[no_mangle]
63 pub fn indy_parse_get_payment_sources_with_from_response(command_handle: CommandHandle,
64 payment_method: CString,
65 resp_json: CString,
66 cb: Option<ResponseStringI64CB>) -> Error;
67
68 #[no_mangle]
69 pub fn indy_build_get_payment_sources_request(command_handle: CommandHandle,
70 wallet_handle: WalletHandle,
71 submitter_did: CString,
72 payment_address: CString,
73 cb: Option<ResponseStringStringCB>) -> Error;
74
75 #[no_mangle]
76 pub fn indy_parse_get_payment_sources_response(command_handle: CommandHandle,
77 payment_method: CString,
78 resp_json: CString,
79 cb: Option<ResponseStringCB>) -> Error;
80
81 #[no_mangle]
82 pub fn indy_build_payment_req(command_handle: CommandHandle,
83 wallet_handle: WalletHandle,
84 submitter_did: CString,
85 inputs_json: CString,
86 outputs_json: CString,
87 extra: CString,
88 cb: Option<ResponseStringStringCB>) -> Error;
89
90 #[no_mangle]
91 pub fn indy_parse_payment_response(command_handle: CommandHandle,
92 payment_method: CString,
93 resp_json: CString,
94 cb: Option<ResponseStringCB>) -> Error;
95
96 #[no_mangle]
97 pub fn indy_prepare_payment_extra_with_acceptance_data(command_handle: CommandHandle,
98 extra_json: CString,
99 text: CString,
100 version: CString,
101 hash: CString,
102 acc_mech_type: CString,
103 time_of_acceptance: u64,
104 cb: Option<ResponseStringCB>) -> Error;
105
106 #[no_mangle]
107 pub fn indy_build_mint_req(command_handle: CommandHandle,
108 wallet_handle: WalletHandle,
109 submitter_did: CString,
110 outputs_json: CString,
111 extra: CString,
112 cb: Option<ResponseStringStringCB>) -> Error;
113
114 #[no_mangle]
115 pub fn indy_build_set_txn_fees_req(command_handle: CommandHandle,
116 wallet_handle: WalletHandle,
117 submitter_did: CString,
118 payment_method: CString,
119 fees_json: CString,
120 cb: Option<ResponseStringCB>) -> Error;
121
122 #[no_mangle]
123 pub fn indy_build_get_txn_fees_req(command_handle: CommandHandle,
124 wallet_handle: WalletHandle,
125 submitter_did: CString,
126 payment_method: CString,
127 cb: Option<ResponseStringCB>) -> Error;
128
129 #[no_mangle]
130 pub fn indy_parse_get_txn_fees_response(command_handle: CommandHandle,
131 payment_method: CString,
132 resp_json: CString,
133 cb: Option<ResponseStringCB>) -> Error;
134
135 #[no_mangle]
136 pub fn indy_build_verify_payment_req(command_handle: CommandHandle,
137 wallet_handle: WalletHandle,
138 submitter_did: CString,
139 receipt: CString,
140 cb: Option<ResponseStringStringCB>) -> Error;
141
142 #[no_mangle]
143 pub fn indy_parse_verify_payment_response(command_handle: CommandHandle,
144 payment_method: CString,
145 resp_json: CString,
146 cb: Option<ResponseStringCB>) -> Error;
147
148 #[no_mangle]
149 pub fn indy_get_request_info(command_handle: CommandHandle,
150 get_auth_rule_resp_json: CString,
151 requester_info_json: CString,
152 fees_json: CString,
153 cb: Option<ResponseStringCB>) -> Error;
154 pub fn indy_sign_with_address(command_handle: CommandHandle,
155 wallet_handle: WalletHandle,
156 address: CString,
157 message_raw: BString,
158 message_len: u32,
159 cb: Option<ResponseSliceCB>) -> Error;
160 #[no_mangle]
161 pub fn indy_verify_with_address(command_handle: CommandHandle,
162 address: CString,
163 message_raw: BString,
164 message_len: u32,
165 signature_raw: BString,
166 signature_len: u32,
167 cb: Option<ResponseBoolCB>) -> Error;
168
169}
170
171pub type CreatePaymentAddressCB = extern fn(command_handle: CommandHandle,
172 wallet_handle: WalletHandle,
173 config: CString,
174 cb: Option<extern fn(command_handle_: CommandHandle,
175 err: Error,
176 payment_address: CString) -> Error>) -> Error;
177pub type AddRequestFeesCB = extern fn(command_handle: CommandHandle,
178 wallet_handle: WalletHandle,
179 submitter_did: CString,
180 req_json: CString,
181 inputs_json: CString,
182 outputs_json: CString,
183 extra: CString,
184 cb: Option<extern fn(command_handle_: CommandHandle,
185 err: Error,
186 req_with_fees_json: CString) -> Error>) -> Error;
187pub type ParseResponseWithFeesCB = extern fn(command_handle: CommandHandle,
188 resp_json: CString,
189 cb: Option<extern fn(command_handle_: CommandHandle,
190 err: Error,
191 receipts_json: CString) -> Error>) -> Error;
192pub type BuildGetPaymentSourcesRequestCB = extern fn(command_handle: CommandHandle,
193 wallet_handle: WalletHandle,
194 submitter_did: CString,
195 payment_address: CString,
196 from: i64,
197 cb: Option<extern fn(command_handle_: CommandHandle,
198 err: Error,
199 get_sources_txn_json: CString) -> Error>) -> Error;
200pub type ParseGetPaymentSourcesResponseCB = extern fn(command_handle: CommandHandle,
201 resp_json: CString,
202 cb: Option<extern fn(command_handle_: CommandHandle,
203 err: Error,
204 sources_json: CString,
205 next: i64) -> Error>) -> Error;
206pub type BuildPaymentReqCB = extern fn(command_handle: CommandHandle,
207 wallet_handle: WalletHandle,
208 submitter_did: CString,
209 inputs_json: CString,
210 outputs_json: CString,
211 extra: CString,
212 cb: Option<extern fn(command_handle_: CommandHandle,
213 err: Error,
214 payment_req_json: CString) -> Error>) -> Error;
215pub type ParsePaymentResponseCB = extern fn(command_handle: CommandHandle,
216 resp_json: CString,
217 cb: Option<extern fn(command_handle_: CommandHandle,
218 err: Error,
219 receipts_json: CString) -> Error>) -> Error;
220pub type BuildMintReqCB = extern fn(command_handle: CommandHandle,
221 wallet_handle: WalletHandle,
222 submitter_did: CString,
223 outputs_json: CString,
224 extra: CString,
225 cb: Option<extern fn(command_handle_: CommandHandle,
226 err: Error,
227 mint_req_json: CString) -> Error>) -> Error;
228pub type BuildSetTxnFeesReqCB = extern fn(command_handle: CommandHandle,
229 wallet_handle: WalletHandle,
230 submitter_did: CString,
231 fees_json: CString,
232 cb: Option<extern fn(command_handle_: CommandHandle,
233 err: Error,
234 set_txn_fees_json: CString) -> Error>) -> Error;
235pub type BuildGetTxnFeesReqCB = extern fn(command_handle: CommandHandle,
236 wallet_handle: WalletHandle,
237 submitter_did: CString,
238 cb: Option<extern fn(command_handle_: CommandHandle,
239 err: Error,
240 get_txn_fees_json: CString) -> Error>) -> Error;
241pub type ParseGetTxnFeesResponseCB = extern fn(command_handle: CommandHandle,
242 resp_json: CString,
243 cb: Option<extern fn(command_handle_: CommandHandle,
244 err: Error,
245 fees_json: CString) -> Error>) -> Error;
246pub type BuildVerifyPaymentReqCB = extern fn(command_handle: CommandHandle,
247 wallet_handle: WalletHandle,
248 submitter_did: CString,
249 receipt: CString,
250 cb: Option<extern fn(command_handle_: CommandHandle,
251 err: Error,
252 verify_txn_json: CString) -> Error>) -> Error;
253pub type ParseVerifyPaymentResponseCB = extern fn(command_handle: CommandHandle,
254 resp_json: CString,
255 cb: Option<extern fn(command_handle_: CommandHandle,
256 err: Error,
257 txn_json: CString) -> Error>) -> Error;
258
259pub type SignWithAddressCB = extern fn (command_handle: CommandHandle, wallet_handle: WalletHandle,
260 address: CString,
261 message_raw: BString, message_len: u32,
262 cb: Option<extern fn(command_handle: i32, err: Error, raw: BString, len: u32)>) -> Error;
263
264pub type VerifyWithAddressCB = extern fn (command_handle: i32, address: CString,
265 message_raw: BString, message_len: u32,
266 signature_raw: BString, signature_len: u32,
267 cb: Option<extern fn(command_handle: i32, err: Error, result: bool)>) -> Error;
268