Open-Transactions  0.93.0-ge03d287
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OT_ME.hpp
Go to the documentation of this file.
1 /************************************************************
2  *
3  * OT_ME.hpp
4  *
5  */
6 
7 /************************************************************
8  -----BEGIN PGP SIGNED MESSAGE-----
9  Hash: SHA1
10 
11  * OPEN TRANSACTIONS
12  *
13  * Financial Cryptography and Digital Cash
14  * Library, Protocol, API, Server, CLI, GUI
15  *
16  * -- Anonymous Numbered Accounts.
17  * -- Untraceable Digital Cash.
18  * -- Triple-Signed Receipts.
19  * -- Cheques, Vouchers, Transfers, Inboxes.
20  * -- Basket Currencies, Markets, Payment Plans.
21  * -- Signed, XML, Ricardian-style Contracts.
22  * -- Scripted smart contracts.
23  *
24  * Copyright (C) 2010-2013 by "Fellow Traveler" (A pseudonym)
25  *
26  * EMAIL:
28  *
29  * BITCOIN: 1NtTPVVjDsUfDWybS4BwvHpG2pdS9RnYyQ
30  *
31  * KEY FINGERPRINT (PGP Key in license file):
32  * 9DD5 90EB 9292 4B48 0484 7910 0308 00ED F951 BB8E
33  *
34  * OFFICIAL PROJECT WIKI(s):
35  * https://github.com/FellowTraveler/Moneychanger
36  * https://github.com/FellowTraveler/Open-Transactions/wiki
37  *
38  * WEBSITE:
39  * http://www.OpenTransactions.org/
40  *
41  * Components and licensing:
42  * -- Moneychanger..A Java client GUI.....LICENSE:.....GPLv3
43  * -- otlib.........A class library.......LICENSE:...LAGPLv3
44  * -- otapi.........A client API..........LICENSE:...LAGPLv3
45  * -- opentxs/ot....Command-line client...LICENSE:...LAGPLv3
46  * -- otserver......Server Application....LICENSE:....AGPLv3
47  * Github.com/FellowTraveler/Open-Transactions/wiki/Components
48  *
49  * All of the above OT components were designed and written by
50  * Fellow Traveler, with the exception of Moneychanger, which
51  * was contracted out to Vicky C ([email protected]).
52  * The open-source community has since actively contributed.
53  *
54  * -----------------------------------------------------
55  *
56  * LICENSE:
57  * This program is free software: you can redistribute it
58  * and/or modify it under the terms of the GNU Affero
59  * General Public License as published by the Free Software
60  * Foundation, either version 3 of the License, or (at your
61  * option) any later version.
62  *
63  * ADDITIONAL PERMISSION under the GNU Affero GPL version 3
64  * section 7: (This paragraph applies only to the LAGPLv3
65  * components listed above.) If you modify this Program, or
66  * any covered work, by linking or combining it with other
67  * code, such other code is not for that reason alone subject
68  * to any of the requirements of the GNU Affero GPL version 3.
69  * (==> This means if you are only using the OT API, then you
70  * don't have to open-source your code--only your changes to
71  * Open-Transactions itself must be open source. Similar to
72  * LGPLv3, except it applies to software-as-a-service, not
73  * just to distributing binaries.)
74  *
75  * Extra WAIVER for OpenSSL, Lucre, and all other libraries
76  * used by Open Transactions: This program is released under
77  * the AGPL with the additional exemption that compiling,
78  * linking, and/or using OpenSSL is allowed. The same is true
79  * for any other open source libraries included in this
80  * project: complete waiver from the AGPL is hereby granted to
81  * compile, link, and/or use them with Open-Transactions,
82  * according to their own terms, as long as the rest of the
83  * Open-Transactions terms remain respected, with regard to
84  * the Open-Transactions code itself.
85  *
86  * Lucre License:
87  * This code is also "dual-license", meaning that Ben Lau-
88  * rie's license must also be included and respected, since
89  * the code for Lucre is also included with Open Transactions.
90  * See Open-Transactions/src/otlib/lucre/LUCRE_LICENSE.txt
91  * The Laurie requirements are light, but if there is any
92  * problem with his license, simply remove the Lucre code.
93  * Although there are no other blind token algorithms in Open
94  * Transactions (yet. credlib is coming), the other functions
95  * will continue to operate.
96  * See Lucre on Github: https://github.com/benlaurie/lucre
97  * -----------------------------------------------------
98  * You should have received a copy of the GNU Affero General
99  * Public License along with this program. If not, see:
100  * http://www.gnu.org/licenses/
101  *
102  * If you would like to use this software outside of the free
103  * software license, please contact FellowTraveler.
104  * (Unfortunately many will run anonymously and untraceably,
105  * so who could really stop them?)
106  *
107  * DISCLAIMER:
108  * This program is distributed in the hope that it will be
109  * useful, but WITHOUT ANY WARRANTY; without even the implied
110  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
111  * PURPOSE. See the GNU Affero General Public License for
112  * more details.
113 
114  -----BEGIN PGP SIGNATURE-----
115  Version: GnuPG v1.4.9 (Darwin)
116 
117  iQIcBAEBAgAGBQJRSsfJAAoJEAMIAO35UbuOQT8P/RJbka8etf7wbxdHQNAY+2cC
118  vDf8J3X8VI+pwMqv6wgTVy17venMZJa4I4ikXD/MRyWV1XbTG0mBXk/7AZk7Rexk
119  KTvL/U1kWiez6+8XXLye+k2JNM6v7eej8xMrqEcO0ZArh/DsLoIn1y8p8qjBI7+m
120  aE7lhstDiD0z8mwRRLKFLN2IH5rAFaZZUvj5ERJaoYUKdn4c+RcQVei2YOl4T0FU
121  LWND3YLoH8naqJXkaOKEN4UfJINCwxhe5Ke9wyfLWLUO7NamRkWD2T7CJ0xocnD1
122  sjAzlVGNgaFDRflfIF4QhBx1Ddl6wwhJfw+d08bjqblSq8aXDkmFA7HeunSFKkdn
123  oIEOEgyj+veuOMRJC5pnBJ9vV+7qRdDKQWaCKotynt4sWJDGQ9kWGWm74SsNaduN
124  TPMyr9kNmGsfR69Q2Zq/FLcLX/j8ESxU+HYUB4vaARw2xEOu2xwDDv6jt0j3Vqsg
125  x7rWv4S/Eh18FDNDkVRChiNoOIilLYLL6c38uMf1pnItBuxP3uhgY6COm59kVaRh
126  nyGTYCDYD2TK+fI9o89F1297uDCwEJ62U0Q7iTDp5QuXCoxkPfv8/kX6lS6T3y9G
127  M9mqIoLbIQ1EDntFv7/t6fUTS2+46uCrdZWbQ5RjYXdrzjij02nDmJAm2BngnZvd
128  kamH0Y/n11lCvo1oQxM+
129  =uSzz
130  -----END PGP SIGNATURE-----
131  **************************************************************/
132 
133 #ifndef OPENTXS_CLIENT_OT_ME_HPP
134 #define OPENTXS_CLIENT_OT_ME_HPP
135 
137 
138 namespace opentxs
139 {
140 
141 EXPORT int32_t OT_CLI_GetArgsCount(const std::string& str_Args);
142 EXPORT std::string OT_CLI_GetValueByKey(const std::string& str_Args,
143  const std::string& str_key);
144 EXPORT std::string OT_CLI_GetValueByIndex(const std::string& str_Args,
145  int32_t nIndex);
146 EXPORT std::string OT_CLI_GetKeyByIndex(const std::string& str_Args,
147  int32_t nIndex);
148 EXPORT std::string OT_CLI_ReadLine();
149 EXPORT std::string OT_CLI_ReadUntilEOF();
150 
151 class OTMeCpp;
152 class OTScript;
153 class OTScriptChai;
154 class OTVariable;
155 
156 class OT_ME
157 {
158 public:
159  EXPORT OT_ME();
160  EXPORT ~OT_ME();
161 
162  EXPORT int32_t VerifyMessageSuccess(const std::string& str_Message) const;
163 
164  EXPORT int32_t
165  VerifyMsgBalanceAgrmntSuccess(const std::string& SERVER_ID,
166  const std::string& USER_ID,
167  const std::string& ACCOUNT_ID,
168  const std::string& str_Message) const;
169 
170  EXPORT int32_t VerifyMsgTrnxSuccess(const std::string& SERVER_ID,
171  const std::string& USER_ID,
172  const std::string& ACCOUNT_ID,
173  const std::string& str_Message) const;
174 
175  EXPORT int32_t
176  InterpretTransactionMsgReply(const std::string& SERVER_ID,
177  const std::string& USER_ID,
178  const std::string& ACCOUNT_ID,
179  const std::string& str_Attempt,
180  const std::string& str_Response) const;
181 
182  EXPORT std::string ExecuteScript_ReturnString(
183  const std::string& str_Code, std::string str_DisplayName = "<BLANK>");
184  EXPORT bool ExecuteScript_ReturnBool(
185  const std::string& str_Code, std::string str_DisplayName = "<BLANK>");
186  EXPORT int32_t
187  ExecuteScript_ReturnInt(const std::string& str_Code,
188  std::string str_DisplayName = "<BLANK>");
189  EXPORT void ExecuteScript_ReturnVoid(
190  const std::string& str_Code, std::string str_DisplayName = "<BLANK>");
191 
192  EXPORT void AddVariable(const std::string& str_var_name,
193  OTVariable& theVar);
194  EXPORT OTVariable* FindVariable(const std::string& str_var_name);
195 
196  EXPORT static OTVariable* FindVariable2(const std::string& str_var_name);
197 
198  // OTMeCpp implementation
199 
200  EXPORT bool make_sure_enough_trans_nums(int32_t nNumberNeeded,
201  const std::string& SERVER_ID,
202  const std::string& NYM_ID) const;
203 
204  EXPORT std::string register_nym(const std::string& SERVER_ID,
205  const std::string& NYM_ID) const;
206 
207  EXPORT std::string check_user(const std::string& SERVER_ID,
208  const std::string& NYM_ID,
209  const std::string& TARGET_NYM_ID) const;
210 
211  EXPORT std::string create_nym(int32_t nKeybits,
212  const std::string& NYM_ID_SOURCE,
213  const std::string& ALT_LOCATION) const;
214 
215  EXPORT std::string issue_asset_type(const std::string& SERVER_ID,
216  const std::string& NYM_ID,
217  const std::string& THE_CONTRACT) const;
218 
219  EXPORT std::string issue_basket_currency(
220  const std::string& SERVER_ID, const std::string& NYM_ID,
221  const std::string& THE_BASKET) const;
222 
223  EXPORT std::string exchange_basket_currency(
224  const std::string& SERVER_ID, const std::string& NYM_ID,
225  const std::string& ASSET_TYPE_ID, const std::string& THE_BASKET,
226  const std::string& ACCOUNT_ID, bool IN_OR_OUT) const;
227 
228  EXPORT std::string retrieve_contract(const std::string& SERVER_ID,
229  const std::string& NYM_ID,
230  const std::string& CONTRACT_ID) const;
231 
232  EXPORT std::string load_or_retrieve_contract(
233  const std::string& SERVER_ID, const std::string& NYM_ID,
234  const std::string& CONTRACT_ID) const;
235 
236  EXPORT std::string create_asset_acct(
237  const std::string& SERVER_ID, const std::string& NYM_ID,
238  const std::string& ASSET_TYPE_ID) const;
239 
240  EXPORT std::string stat_asset_account(const std::string& ACCOUNT_ID) const;
241 
242  EXPORT bool retrieve_account(const std::string& SERVER_ID,
243  const std::string& NYM_ID,
244  const std::string& ACCOUNT_ID,
245  bool bForceDownload = false) const;
246 
247  EXPORT bool retrieve_nym(const std::string& SERVER_ID,
248  const std::string& NYM_ID,
249  bool bForceDownload = true) const;
250 
251  EXPORT std::string send_transfer(const std::string& SERVER_ID,
252  const std::string& NYM_ID,
253  const std::string& ACCT_FROM,
254  const std::string& ACCT_TO, int64_t AMOUNT,
255  const std::string& NOTE) const;
256 
257  EXPORT std::string process_inbox(const std::string& SERVER_ID,
258  const std::string& NYM_ID,
259  const std::string& ACCOUNT_ID,
260  const std::string& RESPONSE_LEDGER) const;
261 
262  EXPORT bool accept_inbox_items(const std::string& ACCOUNT_ID,
263  int32_t nItemType,
264  const std::string& INDICES) const;
265 
266  EXPORT bool discard_incoming_payments(const std::string& SERVER_ID,
267  const std::string& NYM_ID,
268  const std::string& INDICES) const;
269 
270  EXPORT bool cancel_outgoing_payments(const std::string& NYM_ID,
271  const std::string& ACCOUNT_ID,
272  const std::string& INDICES) const;
273 
274  EXPORT bool accept_from_paymentbox(const std::string& ACCOUNT_ID,
275  const std::string& INDICES,
276  const std::string& PAYMENT_TYPE) const;
277 
278  EXPORT std::string load_public_encryption_key(
279  const std::string& NYM_ID) const;
280 
281  EXPORT std::string load_public_signing_key(const std::string& NYM_ID) const;
282 
283  EXPORT std::string load_or_retrieve_encrypt_key(
284  const std::string& SERVER_ID, const std::string& NYM_ID,
285  const std::string& TARGET_NYM_ID) const;
286 
287  EXPORT std::string load_or_retrieve_signing_key(
288  const std::string& SERVER_ID, const std::string& NYM_ID,
289  const std::string& TARGET_NYM_ID) const;
290 
291  EXPORT std::string send_user_msg_pubkey(
292  const std::string& SERVER_ID, const std::string& NYM_ID,
293  const std::string& RECIPIENT_NYM_ID,
294  const std::string& RECIPIENT_PUBKEY,
295  const std::string& THE_MESSAGE) const;
296 
297  EXPORT std::string send_user_pmnt_pubkey(
298  const std::string& SERVER_ID, const std::string& NYM_ID,
299  const std::string& RECIPIENT_NYM_ID,
300  const std::string& RECIPIENT_PUBKEY,
301  const std::string& THE_INSTRUMENT) const;
302 
303  EXPORT std::string send_user_cash_pubkey(
304  const std::string& SERVER_ID, const std::string& NYM_ID,
305  const std::string& RECIPIENT_NYM_ID,
306  const std::string& RECIPIENT_PUBKEY, const std::string& THE_INSTRUMENT,
307  const std::string& INSTRUMENT_FOR_SENDER) const;
308 
309  EXPORT std::string send_user_msg(const std::string& SERVER_ID,
310  const std::string& NYM_ID,
311  const std::string& RECIPIENT_NYM_ID,
312  const std::string& THE_MESSAGE) const;
313 
314  EXPORT std::string send_user_payment(const std::string& SERVER_ID,
315  const std::string& NYM_ID,
316  const std::string& RECIPIENT_NYM_ID,
317  const std::string& THE_PAYMENT) const;
318 
319  EXPORT std::string send_user_cash(const std::string& SERVER_ID,
320  const std::string& NYM_ID,
321  const std::string& RECIPIENT_NYM_ID,
322  const std::string& THE_PAYMENT,
323  const std::string& SENDERS_COPY) const;
324 
325  EXPORT bool withdraw_and_send_cash(const std::string& ACCT_ID,
326  const std::string& RECIPIENT_NYM_ID,
327  const std::string& MEMO,
328  int64_t AMOUNT) const;
329 
330  EXPORT std::string get_payment_instrument(
331  const std::string& SERVER_ID, const std::string& NYM_ID, int32_t nIndex,
332  const std::string& PRELOADED_INBOX = "") const;
333 
334  EXPORT std::string get_box_receipt(const std::string& SERVER_ID,
335  const std::string& NYM_ID,
336  const std::string& ACCT_ID,
337  int32_t nBoxType,
338  int64_t TRANS_NUM) const;
339 
340  EXPORT std::string retrieve_mint(const std::string& SERVER_ID,
341  const std::string& NYM_ID,
342  const std::string& ASSET_ID) const;
343 
344  EXPORT std::string load_or_retrieve_mint(const std::string& SERVER_ID,
345  const std::string& NYM_ID,
346  const std::string& ASSET_ID) const;
347 
348  EXPORT std::string query_asset_types(const std::string& SERVER_ID,
349  const std::string& NYM_ID,
350  const std::string& ENCODED_MAP) const;
351 
352  EXPORT std::string create_market_offer(
353  const std::string& ASSET_ACCT_ID, const std::string& CURRENCY_ACCT_ID,
354  int64_t scale, int64_t minIncrement, int64_t quantity, int64_t price,
355  bool bSelling, int64_t lLifespanInSeconds, const std::string& STOP_SIGN,
356  int64_t ACTIVATION_PRICE) const;
357 
358  EXPORT std::string kill_market_offer(const std::string& SERVER_ID,
359  const std::string& NYM_ID,
360  const std::string& ASSET_ACCT_ID,
361  int64_t TRANS_NUM) const;
362 
363  EXPORT std::string kill_payment_plan(const std::string& SERVER_ID,
364  const std::string& NYM_ID,
365  const std::string& ACCT_ID,
366  int64_t TRANS_NUM) const;
367 
368  EXPORT std::string cancel_payment_plan(
369  const std::string& SERVER_ID, const std::string& NYM_ID,
370  const std::string& THE_PAYMENT_PLAN) const;
371 
372  EXPORT std::string activate_smart_contract(
373  const std::string& SERVER_ID, const std::string& NYM_ID,
374  const std::string& ACCT_ID, const std::string& AGENT_NAME,
375  const std::string& THE_SMART_CONTRACT) const;
376 
377  EXPORT std::string trigger_clause(const std::string& SERVER_ID,
378  const std::string& NYM_ID,
379  int64_t TRANS_NUM,
380  const std::string& CLAUSE_NAME,
381  const std::string& STR_PARAM) const;
382 
383  EXPORT std::string withdraw_cash(const std::string& SERVER_ID,
384  const std::string& NYM_ID,
385  const std::string& ACCT_ID,
386  int64_t AMOUNT) const;
387 
388  EXPORT bool easy_withdraw_cash(const std::string& ACCT_ID,
389  int64_t AMOUNT) const;
390 
391  EXPORT std::string export_cash(const std::string& SERVER_ID,
392  const std::string& FROM_NYM_ID,
393  const std::string& ASSET_TYPE_ID,
394  const std::string& TO_NYM_ID,
395  const std::string& STR_INDICES,
396  bool bPasswordProtected,
397  std::string& STR_RETAINED_COPY) const;
398 
399  EXPORT std::string withdraw_voucher(const std::string& SERVER_ID,
400  const std::string& NYM_ID,
401  const std::string& ACCT_ID,
402  const std::string& RECIP_NYM_ID,
403  const std::string& STR_MEMO,
404  int64_t AMOUNT) const;
405 
406  EXPORT std::string pay_dividend(const std::string& SERVER_ID,
407  const std::string& NYM_ID,
408  const std::string& SOURCE_ACCT_ID,
409  const std::string& SHARES_ASSET_ID,
410  const std::string& STR_MEMO,
411  int64_t AMOUNT_PER_SHARE) const;
412 
413  EXPORT std::string deposit_cheque(const std::string& SERVER_ID,
414  const std::string& NYM_ID,
415  const std::string& ACCT_ID,
416  const std::string& STR_CHEQUE) const;
417 
418  EXPORT bool deposit_cash(const std::string& SERVER_ID,
419  const std::string& NYM_ID,
420  const std::string& ACCT_ID,
421  const std::string& STR_PURSE) const;
422 
423  EXPORT bool deposit_local_purse(const std::string& SERVER_ID,
424  const std::string& NYM_ID,
425  const std::string& ACCT_ID,
426  const std::string& STR_INDICES) const;
427 
428  EXPORT std::string get_market_list(const std::string& SERVER_ID,
429  const std::string& NYM_ID) const;
430 
431  EXPORT std::string get_market_offers(const std::string& SERVER_ID,
432  const std::string& NYM_ID,
433  const std::string& MARKET_ID,
434  int64_t MAX_DEPTH) const;
435 
436  EXPORT std::string get_nym_market_offers(const std::string& SERVER_ID,
437  const std::string& NYM_ID) const;
438 
439  EXPORT std::string get_market_recent_trades(
440  const std::string& SERVER_ID, const std::string& NYM_ID,
441  const std::string& MARKET_ID) const;
442 
443  EXPORT std::string adjust_usage_credits(
444  const std::string& SERVER_ID, const std::string& USER_NYM_ID,
445  const std::string& TARGET_NYM_ID, const std::string& ADJUSTMENT) const;
446 
447 private:
448  OT_ME(const OT_ME&);
449  OT_ME& operator=(const OT_ME&);
450 
451  static OT_ME* s_pMe;
452 
453  OT_ME* r_pPrev; // For reference only. Do not delete.
454  std::shared_ptr<OTScript> m_pScript;
455  OTMeCpp* m_pImplementation;
456 
457  bool HaveWorkingScript();
458 
459  bool Register_OTDB_With_Script();
460  bool Register_CLI_With_Script();
461  bool Register_API_With_Script();
462  bool Register_Headers_With_Script();
463 
464 #ifdef OT_USE_SCRIPT_CHAI
465  bool SetupScriptObject();
466  bool Register_OTDB_With_Script_Chai(const OTScriptChai& theScript) const;
467  bool Register_CLI_With_Script_Chai(const OTScriptChai& theScript) const;
468  bool Register_API_With_Script_Chai(const OTScriptChai& theScript) const;
469  bool Register_Headers_With_Script_Chai(const OTScriptChai& theScript) const;
470 #endif
471 };
472 
473 } // namespace opentxs
474 
475 #endif // OPENTXS_CLIENT_OT_ME_HPP
EXPORT std::string exchange_basket_currency(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_TYPE_ID, const std::string &THE_BASKET, const std::string &ACCOUNT_ID, bool IN_OR_OUT) const
Definition: OT_ME.cpp:438
EXPORT std::string send_user_pmnt_pubkey(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &RECIPIENT_NYM_ID, const std::string &RECIPIENT_PUBKEY, const std::string &THE_INSTRUMENT) const
Definition: OT_ME.cpp:606
EXPORT std::string trigger_clause(const std::string &SERVER_ID, const std::string &NYM_ID, int64_t TRANS_NUM, const std::string &CLAUSE_NAME, const std::string &STR_PARAM) const
Definition: OT_ME.cpp:797
EXPORT std::string get_market_list(const std::string &SERVER_ID, const std::string &NYM_ID) const
Definition: OT_ME.cpp:894
EXPORT std::string cancel_payment_plan(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &THE_PAYMENT_PLAN) const
Definition: OT_ME.cpp:776
EXPORT std::string send_user_cash(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &RECIPIENT_NYM_ID, const std::string &THE_PAYMENT, const std::string &SENDERS_COPY) const
Definition: OT_ME.cpp:655
EXPORT void ExecuteScript_ReturnVoid(const std::string &str_Code, std::string str_DisplayName="<BLANK>")
Definition: OT_ME.cpp:1202
EXPORT std::string ExecuteScript_ReturnString(const std::string &str_Code, std::string str_DisplayName="<BLANK>")
Definition: OT_ME.cpp:1151
EXPORT std::string OT_CLI_GetValueByIndex(const std::string &str_Args, int32_t nIndex)
Definition: OT_ME.cpp:222
EXPORT std::string OT_CLI_GetValueByKey(const std::string &str_Args, const std::string &str_key)
Definition: OT_ME.cpp:201
EXPORT bool easy_withdraw_cash(const std::string &ACCT_ID, int64_t AMOUNT) const
Definition: OT_ME.cpp:820
EXPORT bool discard_incoming_payments(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &INDICES) const
Definition: OT_ME.cpp:530
EXPORT std::string load_public_encryption_key(const std::string &NYM_ID) const
Definition: OT_ME.cpp:558
EXPORT std::string get_market_recent_trades(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &MARKET_ID) const
Definition: OT_ME.cpp:915
EXPORT OT_ME()
Definition: OT_ME.cpp:158
EXPORT std::string send_user_msg(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &RECIPIENT_NYM_ID, const std::string &THE_MESSAGE) const
Definition: OT_ME.cpp:631
EXPORT OTVariable * FindVariable(const std::string &str_var_name)
Definition: OT_ME.cpp:1140
EXPORT std::string activate_smart_contract(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, const std::string &AGENT_NAME, const std::string &THE_SMART_CONTRACT) const
Definition: OT_ME.cpp:786
EXPORT int32_t VerifyMsgTrnxSuccess(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &str_Message) const
Definition: OT_ME.cpp:1007
EXPORT std::string export_cash(const std::string &SERVER_ID, const std::string &FROM_NYM_ID, const std::string &ASSET_TYPE_ID, const std::string &TO_NYM_ID, const std::string &STR_INDICES, bool bPasswordProtected, std::string &STR_RETAINED_COPY) const
Definition: OT_ME.cpp:827
EXPORT std::string send_user_cash_pubkey(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &RECIPIENT_NYM_ID, const std::string &RECIPIENT_PUBKEY, const std::string &THE_INSTRUMENT, const std::string &INSTRUMENT_FOR_SENDER) const
Definition: OT_ME.cpp:617
EXPORT std::string register_nym(const std::string &SERVER_ID, const std::string &NYM_ID) const
Definition: OT_ME.cpp:392
EXPORT bool ExecuteScript_ReturnBool(const std::string &str_Code, std::string str_DisplayName="<BLANK>")
Definition: OT_ME.cpp:1168
EXPORT std::string send_transfer(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_FROM, const std::string &ACCT_TO, int64_t AMOUNT, const std::string &NOTE) const
Definition: OT_ME.cpp:502
EXPORT int32_t InterpretTransactionMsgReply(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &str_Attempt, const std::string &str_Response) const
Definition: OT_ME.cpp:1051
EXPORT std::string create_asset_acct(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_TYPE_ID) const
Definition: OT_ME.cpp:470
EXPORT std::string load_or_retrieve_mint(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_ID) const
Definition: OT_ME.cpp:720
EXPORT bool retrieve_nym(const std::string &SERVER_ID, const std::string &NYM_ID, bool bForceDownload=true) const
Definition: OT_ME.cpp:494
EXPORT std::string retrieve_contract(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &CONTRACT_ID) const
Definition: OT_ME.cpp:451
EXPORT std::string query_asset_types(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ENCODED_MAP) const
Definition: OT_ME.cpp:732
EXPORT std::string create_market_offer(const std::string &ASSET_ACCT_ID, const std::string &CURRENCY_ACCT_ID, int64_t scale, int64_t minIncrement, int64_t quantity, int64_t price, bool bSelling, int64_t lLifespanInSeconds, const std::string &STOP_SIGN, int64_t ACTIVATION_PRICE) const
Definition: OT_ME.cpp:741
EXPORT std::string get_nym_market_offers(const std::string &SERVER_ID, const std::string &NYM_ID) const
Definition: OT_ME.cpp:909
EXPORT std::string get_market_offers(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &MARKET_ID, int64_t MAX_DEPTH) const
Definition: OT_ME.cpp:900
EXPORT std::string kill_payment_plan(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, int64_t TRANS_NUM) const
Definition: OT_ME.cpp:765
EXPORT std::string send_user_payment(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &RECIPIENT_NYM_ID, const std::string &THE_PAYMENT) const
Definition: OT_ME.cpp:643
EXPORT int32_t VerifyMsgBalanceAgrmntSuccess(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &str_Message) const
Definition: OT_ME.cpp:968
EXPORT std::string issue_asset_type(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &THE_CONTRACT) const
Definition: OT_ME.cpp:419
EXPORT bool deposit_local_purse(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, const std::string &STR_INDICES) const
Definition: OT_ME.cpp:885
EXPORT int32_t OT_CLI_GetArgsCount(const std::string &str_Args)
Definition: OT_ME.cpp:187
EXPORT std::string load_or_retrieve_signing_key(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &TARGET_NYM_ID) const
Definition: OT_ME.cpp:584
EXPORT std::string issue_basket_currency(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &THE_BASKET) const
Definition: OT_ME.cpp:428
EXPORT std::string get_payment_instrument(const std::string &SERVER_ID, const std::string &NYM_ID, int32_t nIndex, const std::string &PRELOADED_INBOX="") const
Definition: OT_ME.cpp:676
static EXPORT OTVariable * FindVariable2(const std::string &str_var_name)
Definition: OT_ME.cpp:1146
EXPORT std::string OT_CLI_ReadLine()
Definition: Helpers.hpp:144
EXPORT bool make_sure_enough_trans_nums(int32_t nNumberNeeded, const std::string &SERVER_ID, const std::string &NYM_ID) const
Definition: OT_ME.cpp:382
EXPORT std::string load_public_signing_key(const std::string &NYM_ID) const
Definition: OT_ME.cpp:563
EXPORT std::string withdraw_voucher(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, const std::string &RECIP_NYM_ID, const std::string &STR_MEMO, int64_t AMOUNT) const
Definition: OT_ME.cpp:842
EXPORT bool withdraw_and_send_cash(const std::string &ACCT_ID, const std::string &RECIPIENT_NYM_ID, const std::string &MEMO, int64_t AMOUNT) const
Definition: OT_ME.cpp:665
EXPORT ~OT_ME()
Definition: OT_ME.cpp:166
EXPORT std::string OT_CLI_GetKeyByIndex(const std::string &str_Args, int32_t nIndex)
Definition: OT_ME.cpp:253
EXPORT std::string retrieve_mint(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_ID) const
Definition: OT_ME.cpp:702
EXPORT std::string get_box_receipt(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, int32_t nBoxType, int64_t TRANS_NUM) const
Definition: OT_ME.cpp:691
EXPORT std::string check_user(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &TARGET_NYM_ID) const
Definition: OT_ME.cpp:400
EXPORT int32_t ExecuteScript_ReturnInt(const std::string &str_Code, std::string str_DisplayName="<BLANK>")
Definition: OT_ME.cpp:1185
EXPORT std::string create_nym(int32_t nKeybits, const std::string &NYM_ID_SOURCE, const std::string &ALT_LOCATION) const
Definition: OT_ME.cpp:410
EXPORT std::string adjust_usage_credits(const std::string &SERVER_ID, const std::string &USER_NYM_ID, const std::string &TARGET_NYM_ID, const std::string &ADJUSTMENT) const
Definition: OT_ME.cpp:923
EXPORT void AddVariable(const std::string &str_var_name, OTVariable &theVar)
Definition: OT_ME.cpp:1131
EXPORT bool deposit_cash(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, const std::string &STR_PURSE) const
Definition: OT_ME.cpp:877
EXPORT std::string load_or_retrieve_contract(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &CONTRACT_ID) const
Definition: OT_ME.cpp:460
EXPORT bool retrieve_account(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCOUNT_ID, bool bForceDownload=false) const
Definition: OT_ME.cpp:485
EXPORT std::string send_user_msg_pubkey(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &RECIPIENT_NYM_ID, const std::string &RECIPIENT_PUBKEY, const std::string &THE_MESSAGE) const
Definition: OT_ME.cpp:594
EXPORT std::string pay_dividend(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &SOURCE_ACCT_ID, const std::string &SHARES_ASSET_ID, const std::string &STR_MEMO, int64_t AMOUNT_PER_SHARE) const
Definition: OT_ME.cpp:855
EXPORT std::string deposit_cheque(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, const std::string &STR_CHEQUE) const
Definition: OT_ME.cpp:867
EXPORT int32_t VerifyMessageSuccess(const std::string &str_Message) const
Definition: OT_ME.cpp:932
EXPORT std::string OT_CLI_ReadUntilEOF()
Definition: Helpers.hpp:156
EXPORT bool accept_inbox_items(const std::string &ACCOUNT_ID, int32_t nItemType, const std::string &INDICES) const
Definition: OT_ME.cpp:523
EXPORT std::string kill_market_offer(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_ACCT_ID, int64_t TRANS_NUM) const
Definition: OT_ME.cpp:754
EXPORT bool cancel_outgoing_payments(const std::string &NYM_ID, const std::string &ACCOUNT_ID, const std::string &INDICES) const
Definition: OT_ME.cpp:538
EXPORT bool accept_from_paymentbox(const std::string &ACCOUNT_ID, const std::string &INDICES, const std::string &PAYMENT_TYPE) const
Definition: OT_ME.cpp:546
EXPORT std::string stat_asset_account(const std::string &ACCOUNT_ID) const
Definition: OT_ME.cpp:478
EXPORT std::string load_or_retrieve_encrypt_key(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &TARGET_NYM_ID) const
Definition: OT_ME.cpp:576
EXPORT std::string process_inbox(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCOUNT_ID, const std::string &RESPONSE_LEDGER) const
Definition: OT_ME.cpp:514
EXPORT std::string withdraw_cash(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, int64_t AMOUNT) const
Definition: OT_ME.cpp:808