rust_libindy_wrapper/native/
payments.rs

1use super::*;
2
3use native::{CString, Error, Handle};
4
5extern {
6    #[no_mangle]
7    pub fn indy_register_payment_method(command_handle: Handle,
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                                        cb: Option<ResponseEmptyCB>) -> Error;
23    #[no_mangle]
24    pub fn indy_create_payment_address(command_handle: Handle,
25                                       wallet_handle: Handle,
26                                       payment_method: CString,
27                                       config: CString,
28                                       cb: Option<ResponseStringCB>) -> Error;
29    #[no_mangle]
30    pub fn indy_list_payment_addresses(command_handle: Handle,
31                                       wallet_handle: Handle,
32                                       cb: Option<ResponseStringCB>) -> Error;
33    #[no_mangle]
34    pub fn indy_add_request_fees(command_handle: Handle,
35                                 wallet_handle: Handle,
36                                 submitter_did: CString,
37                                 req_json: CString,
38                                 inputs_json: CString,
39                                 outputs_json: CString,
40                                 extra: CString,
41                                 cb: Option<ResponseStringStringCB>) -> Error;
42    #[no_mangle]
43    pub fn indy_parse_response_with_fees(command_handle: Handle,
44                                         payment_method: CString,
45                                         resp_json: CString,
46                                         cb: Option<ResponseStringCB>) -> Error;
47    #[no_mangle]
48    pub fn indy_build_get_payment_sources_request(command_handle: Handle,
49                                                  wallet_handle: Handle,
50                                                  submitter_did: CString,
51                                                  payment_address: CString,
52                                                  cb: Option<ResponseStringStringCB>) -> Error;
53    #[no_mangle]
54    pub fn indy_parse_get_payment_sources_response(command_handle: Handle,
55                                                   payment_method: CString,
56                                                   resp_json: CString,
57                                                   cb: Option<ResponseStringCB>) -> Error;
58    #[no_mangle]
59    pub fn indy_build_payment_req(command_handle: Handle,
60                                  wallet_handle: Handle,
61                                  submitter_did: CString,
62                                  inputs_json: CString,
63                                  outputs_json: CString,
64                                  extra: CString,
65                                  cb: Option<ResponseStringStringCB>) -> Error;
66    #[no_mangle]
67    pub fn indy_parse_payment_response(command_handle: Handle,
68                                       payment_method: CString,
69                                       resp_json: CString,
70                                       cb: Option<ResponseStringCB>) -> Error;
71    #[no_mangle]
72    pub fn indy_build_mint_req(command_handle: Handle,
73                               wallet_handle: Handle,
74                               submitter_did: CString,
75                               outputs_json: CString,
76                               extra: CString,
77                               cb: Option<ResponseStringStringCB>) -> Error;
78    #[no_mangle]
79    pub fn indy_build_set_txn_fees_req(command_handle: Handle,
80                                       wallet_handle: Handle,
81                                       submitter_did: CString,
82                                       payment_method: CString,
83                                       fees_json: CString,
84                                       cb: Option<ResponseStringCB>) -> Error;
85    #[no_mangle]
86    pub fn indy_build_get_txn_fees_req(command_handle: Handle,
87                                       wallet_handle: Handle,
88                                       submitter_did: CString,
89                                       payment_method: CString,
90                                       cb: Option<ResponseStringCB>) -> Error;
91    #[no_mangle]
92    pub fn indy_parse_get_txn_fees_response(command_handle: Handle,
93                                            payment_method: CString,
94                                            resp_json: CString,
95                                            cb: Option<ResponseStringCB>) -> Error;
96    #[no_mangle]
97    pub fn indy_build_verify_payment_req(command_handle: Handle,
98                                         wallet_handle: Handle,
99                                         submitter_did: CString,
100                                         receipt: CString,
101                                         cb: Option<ResponseStringStringCB>) -> Error;
102    #[no_mangle]
103    pub fn indy_parse_verify_payment_response(command_handle: Handle,
104                                              payment_method: CString,
105                                              resp_json: CString,
106                                              cb: Option<ResponseStringCB>) -> Error;
107}
108
109pub type CreatePaymentAddressCB = extern fn(command_handle: Handle,
110                                            wallet_handle: Handle,
111                                            config: CString,
112                                            cb: Option<extern fn(command_handle_: Handle,
113                                                                 err: Error,
114                                                                 payment_address: CString) -> Error>) -> Error;
115pub type AddRequestFeesCB = extern fn(command_handle: Handle,
116                                      wallet_handle: Handle,
117                                      submitter_did: CString,
118                                      req_json: CString,
119                                      inputs_json: CString,
120                                      outputs_json: CString,
121                                      extra: CString,
122                                      cb: Option<extern fn(command_handle_: Handle,
123                                                           err: Error,
124                                                           req_with_fees_json: CString) -> Error>) -> Error;
125pub type ParseResponseWithFeesCB = extern fn(command_handle: Handle,
126                                             resp_json: CString,
127                                             cb: Option<extern fn(command_handle_: Handle,
128                                                                  err: Error,
129                                                                  receipts_json: CString) -> Error>) -> Error;
130pub type BuildGetPaymentSourcesRequestCB = extern fn(command_handle: Handle,
131                                                     wallet_handle: Handle,
132                                                     submitter_did: CString,
133                                                     payment_address: CString,
134                                                     cb: Option<extern fn(command_handle_: Handle,
135                                                                          err: Error,
136                                                                          get_sources_txn_json: CString) -> Error>) -> Error;
137pub type ParseGetPaymentSourcesResponseCB = extern fn(command_handle: Handle,
138                                                      resp_json: CString,
139                                                      cb: Option<extern fn(command_handle_: Handle,
140                                                                           err: Error,
141                                                                           sources_json: CString) -> Error>) -> Error;
142pub type BuildPaymentReqCB = extern fn(command_handle: Handle,
143                                       wallet_handle: Handle,
144                                       submitter_did: CString,
145                                       inputs_json: CString,
146                                       outputs_json: CString,
147                                       extra: CString,
148                                       cb: Option<extern fn(command_handle_: Handle,
149                                                            err: Error,
150                                                            payment_req_json: CString) -> Error>) -> Error;
151pub type ParsePaymentResponseCB = extern fn(command_handle: Handle,
152                                            resp_json: CString,
153                                            cb: Option<extern fn(command_handle_: Handle,
154                                                                 err: Error,
155                                                                 receipts_json: CString) -> Error>) -> Error;
156pub type BuildMintReqCB = extern fn(command_handle: Handle,
157                                    wallet_handle: Handle,
158                                    submitter_did: CString,
159                                    outputs_json: CString,
160                                    extra: CString,
161                                    cb: Option<extern fn(command_handle_: Handle,
162                                                         err: Error,
163                                                         mint_req_json: CString) -> Error>) -> Error;
164pub type BuildSetTxnFeesReqCB = extern fn(command_handle: Handle,
165                                          wallet_handle: Handle,
166                                          submitter_did: CString,
167                                          fees_json: CString,
168                                          cb: Option<extern fn(command_handle_: Handle,
169                                                               err: Error,
170                                                               set_txn_fees_json: CString) -> Error>) -> Error;
171pub type BuildGetTxnFeesReqCB = extern fn(command_handle: Handle,
172                                          wallet_handle: Handle,
173                                          submitter_did: CString,
174                                          cb: Option<extern fn(command_handle_: Handle,
175                                                               err: Error,
176                                                               get_txn_fees_json: CString) -> Error>) -> Error;
177pub type ParseGetTxnFeesResponseCB = extern fn(command_handle: Handle,
178                                               resp_json: CString,
179                                               cb: Option<extern fn(command_handle_: Handle,
180                                                                    err: Error,
181                                                                    fees_json: CString) -> Error>) -> Error;
182pub type BuildVerifyPaymentReqCB = extern fn(command_handle: Handle,
183                                             wallet_handle: Handle,
184                                             submitter_did: CString,
185                                             receipt: CString,
186                                             cb: Option<extern fn(command_handle_: Handle,
187                                                           err: Error,
188                                                           verify_txn_json: CString) -> Error>) -> Error;
189pub type ParseVerifyPaymentResponseCB = extern fn(command_handle: Handle,
190                                                  resp_json: CString,
191                                                  cb: Option<extern fn(command_handle_: Handle,
192                                                                err: Error,
193                                                                txn_json: CString) -> Error>) -> Error;