133 #include "../core/stdafx.hpp"
139 #include "../core/util/OTDataFolder.hpp"
140 #include "../core/OTLog.hpp"
141 #include "../core/util/OTPaths.hpp"
142 #include "../core/OTStorage.hpp"
143 #include "../core/script/OTVariable.hpp"
145 #ifdef OT_USE_SCRIPT_CHAI
146 #include "../core/script/OTScriptChai.hpp"
147 #include <chaiscript/chaiscript.hpp>
148 #ifdef OT_USE_CHAI_STDLIB
149 #include <chaiscript/chaiscript_stdlib.hpp>
156 OT_ME* OT_ME::s_pMe =
nullptr;
163 m_pImplementation =
new OTMeCpp;
193 if (bTokenized) nRetVal =
static_cast<int32_t
>(map_values.size());
202 const std::string& str_key)
205 std::string str_retval =
"";
208 if (bTokenized && (!map_values.empty())) {
210 auto it = map_values.find(str_key);
212 if (map_values.end() != it)
213 str_retval = it->second;
225 std::string str_retval =
"";
228 if (bTokenized && (nIndex < static_cast<int32_t>(map_values.size()))) {
229 int32_t nMapIndex = (-1);
230 for (
auto& it : map_values) {
240 if (nIndex == nMapIndex) {
241 str_retval = it.second;
256 std::string str_retval =
"";
259 if (bTokenized && (nIndex < static_cast<int32_t>(map_values.size()))) {
260 int32_t nMapIndex = (-1);
261 for (
auto& it : map_values) {
271 if (nIndex == nMapIndex) {
272 str_retval = it.first;
285 if (std::getline(std::cin, line)) {
314 std::string result(
"");
317 std::string input_line(
"");
328 if (std::getline(std::cin, input_line,
'\n')) {
331 if (input_line[0] ==
'~')
335 result += input_line;
338 otErr <<
"OT_CLI_ReadUntilEOF: getline() was unable to read a "
339 "string from std::cin\n";
342 if (std::cin.eof()) {
347 if (std::cin.fail()) {
352 if (std::cin.bad()) {
383 const std::string& SERVER_ID,
384 const std::string& NYM_ID)
const
393 const std::string& NYM_ID)
const
395 return m_pImplementation->
register_nym(SERVER_ID, NYM_ID);
401 const std::string& NYM_ID,
402 const std::string& TARGET_NYM_ID)
const
404 return m_pImplementation->
check_user(SERVER_ID, NYM_ID, TARGET_NYM_ID);
411 const std::string& NYM_ID_SOURCE,
412 const std::string& ALT_LOCATION)
const
414 return m_pImplementation->
create_nym(nKeybits, NYM_ID_SOURCE, ALT_LOCATION);
420 const std::string& NYM_ID,
421 const std::string& THE_CONTRACT)
const
423 return m_pImplementation->
issue_asset_type(SERVER_ID, NYM_ID, THE_CONTRACT);
429 const std::string& NYM_ID,
430 const std::string& THE_BASKET)
const
439 const std::string& NYM_ID,
440 const std::string& ASSET_TYPE_ID,
441 const std::string& THE_BASKET,
442 const std::string& ACCOUNT_ID,
443 bool IN_OR_OUT)
const
446 SERVER_ID, NYM_ID, ASSET_TYPE_ID, THE_BASKET, ACCOUNT_ID, IN_OR_OUT);
452 const std::string& NYM_ID,
453 const std::string& CONTRACT_ID)
const
461 const std::string& SERVER_ID,
const std::string& NYM_ID,
462 const std::string& CONTRACT_ID)
const
471 const std::string& NYM_ID,
472 const std::string& ASSET_TYPE_ID)
const
486 const std::string& NYM_ID,
487 const std::string& ACCOUNT_ID,
488 bool bForceDownload)
const
495 const std::string& NYM_ID,
bool bForceDownload)
const
497 return m_pImplementation->
retrieve_nym(SERVER_ID, NYM_ID, bForceDownload);
503 const std::string& NYM_ID,
504 const std::string& ACCT_FROM,
505 const std::string& ACCT_TO, int64_t AMOUNT,
506 const std::string& NOTE)
const
508 return m_pImplementation->
send_transfer(SERVER_ID, NYM_ID, ACCT_FROM,
509 ACCT_TO, AMOUNT, NOTE);
515 const std::string& NYM_ID,
516 const std::string& ACCOUNT_ID,
517 const std::string& RESPONSE_LEDGER)
const
519 return m_pImplementation->
process_inbox(SERVER_ID, NYM_ID, ACCOUNT_ID,
524 const std::string& INDICES)
const
531 const std::string& NYM_ID,
532 const std::string& INDICES)
const
539 const std::string& ACCOUNT_ID,
540 const std::string& INDICES)
const
547 const std::string& INDICES,
548 const std::string& PAYMENT_TYPE)
const
577 const std::string& SERVER_ID,
const std::string& NYM_ID,
578 const std::string& TARGET_NYM_ID)
const
585 const std::string& SERVER_ID,
const std::string& NYM_ID,
586 const std::string& TARGET_NYM_ID)
const
595 const std::string& NYM_ID,
596 const std::string& RECIPIENT_NYM_ID,
597 const std::string& RECIPIENT_PUBKEY,
598 const std::string& THE_MESSAGE)
const
601 SERVER_ID, NYM_ID, RECIPIENT_NYM_ID, RECIPIENT_PUBKEY, THE_MESSAGE);
607 const std::string& SERVER_ID,
const std::string& NYM_ID,
608 const std::string& RECIPIENT_NYM_ID,
const std::string& RECIPIENT_PUBKEY,
609 const std::string& THE_INSTRUMENT)
const
612 SERVER_ID, NYM_ID, RECIPIENT_NYM_ID, RECIPIENT_PUBKEY, THE_INSTRUMENT);
618 const std::string& SERVER_ID,
const std::string& NYM_ID,
619 const std::string& RECIPIENT_NYM_ID,
const std::string& RECIPIENT_PUBKEY,
620 const std::string& THE_INSTRUMENT,
621 const std::string& INSTRUMENT_FOR_SENDER)
const
624 SERVER_ID, NYM_ID, RECIPIENT_NYM_ID, RECIPIENT_PUBKEY, THE_INSTRUMENT,
625 INSTRUMENT_FOR_SENDER);
632 const std::string& NYM_ID,
633 const std::string& RECIPIENT_NYM_ID,
634 const std::string& THE_MESSAGE)
const
636 return m_pImplementation->
send_user_msg(SERVER_ID, NYM_ID, RECIPIENT_NYM_ID,
644 const std::string& NYM_ID,
645 const std::string& RECIPIENT_NYM_ID,
646 const std::string& THE_PAYMENT)
const
649 RECIPIENT_NYM_ID, THE_PAYMENT);
656 const std::string& NYM_ID,
657 const std::string& RECIPIENT_NYM_ID,
658 const std::string& THE_PAYMENT,
659 const std::string& SENDERS_COPY)
const
662 SERVER_ID, NYM_ID, RECIPIENT_NYM_ID, THE_PAYMENT, SENDERS_COPY);
666 const std::string& RECIPIENT_NYM_ID,
667 const std::string& MEMO,
668 int64_t AMOUNT)
const
677 const std::string& SERVER_ID,
const std::string& NYM_ID, int32_t nIndex,
678 const std::string& PRELOADED_INBOX)
const
692 const std::string& NYM_ID,
693 const std::string& ACCT_ID, int32_t nBoxType,
694 int64_t TRANS_NUM)
const
697 nBoxType, TRANS_NUM);
703 const std::string& NYM_ID,
704 const std::string& ASSET_ID)
const
706 return m_pImplementation->
retrieve_mint(SERVER_ID, NYM_ID, ASSET_ID);
721 const std::string& NYM_ID,
722 const std::string& ASSET_ID)
const
733 const std::string& NYM_ID,
734 const std::string& ENCODED_MAP)
const
742 const std::string& ASSET_ACCT_ID,
const std::string& CURRENCY_ACCT_ID,
743 int64_t scale, int64_t minIncrement, int64_t quantity, int64_t price,
744 bool bSelling, int64_t lLifespanInSeconds,
const std::string& STOP_SIGN,
745 int64_t ACTIVATION_PRICE)
const
748 ASSET_ACCT_ID, CURRENCY_ACCT_ID, scale, minIncrement, quantity, price,
749 bSelling, lLifespanInSeconds, STOP_SIGN, ACTIVATION_PRICE);
755 const std::string& NYM_ID,
756 const std::string& ASSET_ACCT_ID,
757 int64_t TRANS_NUM)
const
760 ASSET_ACCT_ID, TRANS_NUM);
766 const std::string& NYM_ID,
767 const std::string& ACCT_ID,
768 int64_t TRANS_NUM)
const
777 const std::string& SERVER_ID,
const std::string& NYM_ID,
778 const std::string& THE_PAYMENT_PLAN)
const
787 const std::string& SERVER_ID,
const std::string& NYM_ID,
788 const std::string& ACCT_ID,
const std::string& AGENT_NAME,
789 const std::string& THE_SMART_CONTRACT)
const
792 SERVER_ID, NYM_ID, ACCT_ID, AGENT_NAME, THE_SMART_CONTRACT);
798 const std::string& NYM_ID, int64_t TRANS_NUM,
799 const std::string& CLAUSE_NAME,
800 const std::string& STR_PARAM)
const
802 return m_pImplementation->
trigger_clause(SERVER_ID, NYM_ID, TRANS_NUM,
803 CLAUSE_NAME, STR_PARAM);
809 const std::string& NYM_ID,
810 const std::string& ACCT_ID,
811 int64_t AMOUNT)
const
813 return m_pImplementation->
withdraw_cash(SERVER_ID, NYM_ID, ACCT_ID, AMOUNT);
828 const std::string& FROM_NYM_ID,
829 const std::string& ASSET_TYPE_ID,
830 const std::string& TO_NYM_ID,
831 const std::string& STR_INDICES,
832 bool bPasswordProtected,
833 std::string& STR_RETAINED_COPY)
const
836 SERVER_ID, FROM_NYM_ID, ASSET_TYPE_ID, TO_NYM_ID, STR_INDICES,
837 bPasswordProtected, STR_RETAINED_COPY);
843 const std::string& NYM_ID,
844 const std::string& ACCT_ID,
845 const std::string& RECIP_NYM_ID,
846 const std::string& STR_MEMO,
847 int64_t AMOUNT)
const
850 RECIP_NYM_ID, STR_MEMO, AMOUNT);
856 const std::string& NYM_ID,
857 const std::string& SOURCE_ACCT_ID,
858 const std::string& SHARES_ASSET_ID,
859 const std::string& STR_MEMO,
860 int64_t AMOUNT_PER_SHARE)
const
862 return m_pImplementation->
pay_dividend(SERVER_ID, NYM_ID, SOURCE_ACCT_ID,
863 SHARES_ASSET_ID, STR_MEMO,
868 const std::string& NYM_ID,
869 const std::string& ACCT_ID,
870 const std::string& STR_CHEQUE)
const
873 return m_pImplementation->
deposit_cheque(SERVER_ID, NYM_ID, ACCT_ID,
878 const std::string& NYM_ID,
const std::string& ACCT_ID,
879 const std::string& STR_PURSE)
const
881 return m_pImplementation->
deposit_cash(SERVER_ID, NYM_ID, ACCT_ID,
886 const std::string& NYM_ID,
887 const std::string& ACCT_ID,
888 const std::string& STR_INDICES)
const
895 const std::string& NYM_ID)
const
901 const std::string& NYM_ID,
902 const std::string& MARKET_ID,
903 int64_t MAX_DEPTH)
const
910 const std::string& NYM_ID)
const
916 const std::string& NYM_ID,
917 const std::string& MARKET_ID)
const
924 const std::string& USER_NYM_ID,
925 const std::string& TARGET_NYM_ID,
926 const std::string& ADJUSTMENT)
const
929 TARGET_NYM_ID, ADJUSTMENT);
934 if (str_Message.size() < 10) {
935 otWarn << __FUNCTION__ <<
": Error str_Message is: Too Short: \n"
936 << str_Message <<
"\n\n";
944 otOut << __FUNCTION__
945 <<
": Error calling OT_API_Message_GetSuccess, for message:\n"
946 << str_Message <<
"\n";
950 <<
": Reply received: success == FALSE. Reply message:\n"
951 << str_Message <<
"\n";
954 otWarn << __FUNCTION__ <<
": Reply received: success == TRUE.\n";
957 otOut << __FUNCTION__
958 <<
": Error. (This should never happen!) nStatus: "
959 <<
static_cast<int32_t
>(nStatus) <<
", Input:\n" << str_Message
969 const std::string& SERVER_ID,
const std::string& USER_ID,
970 const std::string& ACCOUNT_ID,
const std::string& str_Message)
const
972 if (str_Message.size() < 10) {
973 otWarn << __FUNCTION__ <<
": Error str_Message is: Too Short: \n"
974 << str_Message <<
"\n\n";
979 SERVER_ID, USER_ID, ACCOUNT_ID, str_Message);
983 otOut << __FUNCTION__
984 <<
": Error calling Msg_GetBlnceAgrmntSuccess, for message:\n"
985 << str_Message <<
"\n";
989 <<
": Reply received: success == FALSE. Reply message:\n"
990 << str_Message <<
"\n";
993 otWarn << __FUNCTION__ <<
": Reply received: success == TRUE.\n";
996 otOut << __FUNCTION__
997 <<
": Error. (This should never happen!) nStatus: "
998 <<
static_cast<int32_t
>(nStatus) <<
", Input:\n" << str_Message
1008 const std::string& USER_ID,
1009 const std::string& ACCOUNT_ID,
1010 const std::string& str_Message)
const
1012 if (str_Message.size() < 10) {
1013 otWarn << __FUNCTION__ <<
": Error str_Message is: Too Short: \n"
1014 << str_Message <<
"\n\n";
1019 SERVER_ID, USER_ID, ACCOUNT_ID, str_Message);
1023 otOut << __FUNCTION__
1024 <<
": Error calling Msg_GetTransactionSuccess, for message:\n"
1025 << str_Message <<
"\n";
1029 <<
": Reply received: success == FALSE. Reply message:\n"
1030 << str_Message <<
"\n";
1033 otWarn << __FUNCTION__ <<
": Reply received: success == TRUE.\n";
1036 otOut << __FUNCTION__
1037 <<
": Error. (This should never happen!) nStatus: "
1038 <<
static_cast<int32_t
>(nStatus) <<
", Input:\n" << str_Message
1052 const std::string& SERVER_ID,
const std::string& USER_ID,
1053 const std::string& ACCOUNT_ID,
const std::string& str_Attempt,
1054 const std::string& str_Response)
const
1058 if ((-1) == nMessageSuccess) {
1059 otOut << __FUNCTION__ <<
": Message error: " << str_Attempt <<
"\n";
1062 else if (0 == nMessageSuccess) {
1063 otOut << __FUNCTION__ <<
": Server reply (" << str_Attempt
1064 <<
"): Message failure.\n";
1069 SERVER_ID, USER_ID, ACCOUNT_ID, str_Response);
1071 if ((-1) == nBalanceSuccess) {
1072 otOut << __FUNCTION__ <<
": Balance agreement error: " << str_Attempt
1076 else if (0 == nBalanceSuccess) {
1077 otOut << __FUNCTION__ <<
": Server reply (" << str_Attempt
1078 <<
"): Balance agreement failure.\n";
1082 int32_t nTransSuccess =
1085 if ((-1) == nTransSuccess) {
1086 otOut << __FUNCTION__ <<
": Transaction error: " << str_Attempt <<
"\n";
1089 else if (0 == nTransSuccess) {
1090 otOut << __FUNCTION__ <<
": Server reply (" << str_Attempt
1091 <<
"): Transaction failure.\n";
1101 bool OT_ME::HaveWorkingScript()
1113 otErr << __FUNCTION__ <<
": Error instantiating script.\n";
1117 #ifdef OT_USE_SCRIPT_CHAI
1118 if (!SetupScriptObject()) {
1119 otErr << __FUNCTION__ <<
": Error setting up script object.\n";
1133 if (HaveWorkingScript()) {
1142 return HaveWorkingScript() ? m_pScript->FindVariable(str_var_name)
1152 std::string str_DisplayName)
1154 std::string str_Return =
"";
1155 if (HaveWorkingScript()) {
1156 OTVariable the_return_value(
"ret_val", str_Return);
1158 m_pScript->SetScript(str_Code);
1159 m_pScript->SetDisplayFilename(str_DisplayName);
1160 m_pScript->ExecuteScript(&the_return_value);
1169 std::string str_DisplayName)
1171 bool bReturn =
false;
1172 if (HaveWorkingScript()) {
1173 OTVariable the_return_value(
"ret_val", bReturn);
1175 m_pScript->SetScript(str_Code);
1176 m_pScript->SetDisplayFilename(str_DisplayName);
1177 m_pScript->ExecuteScript(&the_return_value);
1186 std::string str_DisplayName)
1188 int32_t nReturn = -1;
1189 if (HaveWorkingScript()) {
1190 OTVariable the_return_value(
"ret_val", nReturn);
1192 m_pScript->SetScript(str_Code);
1193 m_pScript->SetDisplayFilename(str_DisplayName);
1194 m_pScript->ExecuteScript(&the_return_value);
1203 std::string str_DisplayName)
1205 if (HaveWorkingScript()) {
1206 m_pScript->SetScript(str_Code);
1207 m_pScript->SetDisplayFilename(str_DisplayName);
1208 m_pScript->ExecuteScript();
1212 #ifdef OT_USE_SCRIPT_CHAI
1213 bool OT_ME::SetupScriptObject()
1219 "SetupScriptObject: Must set Data Path first!");
1221 const bool bRegistered_OTDB = Register_OTDB_With_Script();
1222 const bool bRegistered_CLI = Register_CLI_With_Script();
1223 const bool bRegistered_API = Register_API_With_Script();
1224 const bool bRegistered_Headers = Register_Headers_With_Script();
1225 return bRegistered_OTDB && bRegistered_CLI && bRegistered_API &&
1226 bRegistered_Headers;
1229 bool OT_ME::Register_OTDB_With_Script()
1233 OTScriptChai* pScript =
dynamic_cast<OTScriptChai*
>(m_pScript.get());
1235 if (
nullptr != pScript) {
1236 return Register_OTDB_With_Script_Chai(*pScript);
1239 otErr << __FUNCTION__
1240 <<
": Failed dynamic casting OTScript to OTScriptChai \n";
1244 bool OT_ME::Register_CLI_With_Script()
1248 OTScriptChai* pScript =
dynamic_cast<OTScriptChai*
>(m_pScript.get());
1250 if (
nullptr != pScript) {
1251 return Register_CLI_With_Script_Chai(*pScript);
1254 otErr << __FUNCTION__
1255 <<
": Failed dynamic casting OTScript to OTScriptChai \n";
1259 bool OT_ME::Register_API_With_Script()
1263 OTScriptChai* pScript =
dynamic_cast<OTScriptChai*
>(m_pScript.get());
1265 if (
nullptr != pScript) {
1266 return Register_API_With_Script_Chai(*pScript);
1269 otErr << __FUNCTION__
1270 <<
": Failed dynamic casting OTScript to OTScriptChai \n";
1274 bool OT_ME::Register_Headers_With_Script()
1278 OTScriptChai* pScript =
dynamic_cast<OTScriptChai*
>(m_pScript.get());
1280 if (
nullptr != pScript) {
1281 return Register_Headers_With_Script_Chai(*pScript);
1284 otErr << __FUNCTION__
1285 <<
": Failed dynamic casting OTScript to OTScriptChai \n";
1291 bool OT_ME::Register_OTDB_With_Script_Chai(
const OTScriptChai& theScript)
const
1295 using namespace chaiscript;
1298 theScript.chai->add(user_type<OTDB::StoredObjectType>(),
1299 "OTDB_StoredObjectType");
1302 "STORED_OBJ_STRING");
1306 "STORED_OBJ_STRING_MAP");
1307 theScript.chai->add_global_const(
1310 "STORED_OBJ_BID_DATA");
1312 "STORED_OBJ_ASK_DATA");
1313 theScript.chai->add_global_const(
1315 theScript.chai->add_global_const(
1317 theScript.chai->add_global_const(
1319 "STORED_OBJ_OFFER_LIST_MARKET");
1320 theScript.chai->add_global_const(
1322 "STORED_OBJ_TRADE_DATA_MARKET");
1323 theScript.chai->add_global_const(
1325 "STORED_OBJ_TRADE_LIST_MARKET");
1326 theScript.chai->add_global_const(
1328 "STORED_OBJ_OFFER_DATA_NYM");
1329 theScript.chai->add_global_const(
1331 "STORED_OBJ_OFFER_LIST_NYM");
1332 theScript.chai->add_global_const(
1334 "STORED_OBJ_TRADE_DATA_NYM");
1335 theScript.chai->add_global_const(
1337 "STORED_OBJ_TRADE_LIST_NYM");
1340 theScript.chai->add(user_type<OTDB::Storage>(),
"OTDB_Storage");
1341 theScript.chai->add(user_type<OTDB::Storable>(),
"OTDB_Storable");
1342 theScript.chai->add(user_type<OTDB::OTDBString>(),
"OTDB_String");
1343 theScript.chai->add(user_type<OTDB::Blob>(),
"OTDB_Blob");
1344 theScript.chai->add(user_type<OTDB::StringMap>(),
"OTDB_StringMap");
1345 theScript.chai->add(user_type<OTDB::Displayable>(),
"OTDB_Displayable");
1346 theScript.chai->add(user_type<OTDB::MarketData>(),
"OTDB_MarketData");
1347 theScript.chai->add(user_type<OTDB::MarketList>(),
"OTDB_MarketList");
1348 theScript.chai->add(user_type<OTDB::OfferDataMarket>(),
1349 "OTDB_OfferDataMarket");
1350 theScript.chai->add(user_type<OTDB::BidData>(),
"OTDB_BidData");
1351 theScript.chai->add(user_type<OTDB::AskData>(),
"OTDB_AskData");
1352 theScript.chai->add(user_type<OTDB::OfferListMarket>(),
1353 "OTDB_OfferListMarket");
1354 theScript.chai->add(user_type<OTDB::TradeDataMarket>(),
1355 "OTDB_TradeDataMarket");
1356 theScript.chai->add(user_type<OTDB::TradeListMarket>(),
1357 "OTDB_TradeListMarket");
1358 theScript.chai->add(user_type<OTDB::OfferDataNym>(),
1359 "OTDB_OfferDataNym");
1360 theScript.chai->add(user_type<OTDB::OfferListNym>(),
1361 "OTDB_OfferListNym");
1362 theScript.chai->add(user_type<OTDB::TradeDataNym>(),
1363 "OTDB_TradeDataNym");
1364 theScript.chai->add(user_type<OTDB::TradeListNym>(),
1365 "OTDB_TradeListNym");
1389 theScript.chai->add(
1390 chaiscript::base_class<OTDB::Storable, OTDB::OTDBString>());
1391 theScript.chai->add(
1392 chaiscript::base_class<OTDB::Storable, OTDB::Blob>());
1393 theScript.chai->add(
1394 chaiscript::base_class<OTDB::Storable, OTDB::StringMap>());
1395 theScript.chai->add(
1396 chaiscript::base_class<OTDB::Storable, OTDB::Displayable>());
1397 theScript.chai->add(
1398 chaiscript::base_class<OTDB::Displayable, OTDB::MarketData>());
1399 theScript.chai->add(
1400 chaiscript::base_class<OTDB::Storable, OTDB::MarketList>());
1401 theScript.chai->add(
1402 chaiscript::base_class<OTDB::Displayable, OTDB::OfferDataMarket>());
1403 theScript.chai->add(
1404 chaiscript::base_class<OTDB::OfferDataMarket, OTDB::BidData>());
1405 theScript.chai->add(
1406 chaiscript::base_class<OTDB::OfferDataMarket, OTDB::AskData>());
1407 theScript.chai->add(
1408 chaiscript::base_class<OTDB::Storable, OTDB::OfferListMarket>());
1409 theScript.chai->add(
1410 chaiscript::base_class<OTDB::Displayable, OTDB::TradeDataMarket>());
1411 theScript.chai->add(
1412 chaiscript::base_class<OTDB::Storable, OTDB::TradeListMarket>());
1413 theScript.chai->add(
1414 chaiscript::base_class<OTDB::Displayable, OTDB::OfferDataNym>());
1415 theScript.chai->add(
1416 chaiscript::base_class<OTDB::Storable, OTDB::OfferListNym>());
1417 theScript.chai->add(
1418 chaiscript::base_class<OTDB::Displayable, OTDB::TradeDataNym>());
1419 theScript.chai->add(
1420 chaiscript::base_class<OTDB::Storable, OTDB::TradeListNym>());
1450 theScript.chai->add(
1451 fun<
bool(std::string, std::string, std::string, std::string)>(
1463 theScript.chai->add(
1464 fun<
bool(std::string, std::string, std::string, std::string,
1466 "OTDB_StoreString");
1476 theScript.chai->add(
1477 fun<std::string(std::string, std::string, std::string,
1479 "OTDB_QueryString");
1489 theScript.chai->add(
1490 fun<
bool(std::string, std::string, std::string, std::string,
1492 "OTDB_StorePlainString");
1503 theScript.chai->add(
1504 fun<std::string(std::string, std::string, std::string,
1506 "OTDB_QueryPlainString");
1516 theScript.chai->add(
1517 fun<
bool(OTDB::Storable&, std::string, std::string, std::string,
1519 "OTDB_StoreObject");
1529 theScript.chai->add(
1531 std::string, std::string, std::string)>(
1533 "OTDB_QueryObject");
1554 theScript.chai->add(fun(&OTDB::OTDBString::ot_dynamic_cast),
1555 "OTDB_CAST_STRING");
1556 theScript.chai->add(fun(&OTDB::Blob::ot_dynamic_cast),
1558 theScript.chai->add(fun(&OTDB::StringMap::ot_dynamic_cast),
1559 "OTDB_CAST_STRING_MAP");
1560 theScript.chai->add(fun(&OTDB::Displayable::ot_dynamic_cast),
1561 "OTDB_CAST_DISPLAYABLE");
1562 theScript.chai->add(fun(&OTDB::MarketData::ot_dynamic_cast),
1563 "OTDB_CAST_MARKET_DATA");
1567 theScript.chai->add(fun(&OTDB::MarketList::ot_dynamic_cast),
1568 "OTDB_CAST_MARKET_LIST");
1569 theScript.chai->add(fun(&OTDB::OfferDataMarket::ot_dynamic_cast),
1570 "OTDB_CAST_OFFER_DATA_MARKET");
1571 theScript.chai->add(fun(&OTDB::BidData::ot_dynamic_cast),
1572 "OTDB_CAST_BID_DATA");
1573 theScript.chai->add(fun(&OTDB::AskData::ot_dynamic_cast),
1574 "OTDB_CAST_ASK_DATA");
1575 theScript.chai->add(fun(&OTDB::OfferListMarket::ot_dynamic_cast),
1576 "OTDB_CAST_OFFER_LIST_MARKET");
1577 theScript.chai->add(fun(&OTDB::TradeDataMarket::ot_dynamic_cast),
1578 "OTDB_CAST_TRADE_DATA_MARKET");
1579 theScript.chai->add(fun(&OTDB::TradeListMarket::ot_dynamic_cast),
1580 "OTDB_CAST_TRADE_LIST_MARKET");
1581 theScript.chai->add(fun(&OTDB::OfferDataNym::ot_dynamic_cast),
1582 "OTDB_CAST_OFFER_DATA_NYM");
1583 theScript.chai->add(fun(&OTDB::OfferListNym::ot_dynamic_cast),
1584 "OTDB_CAST_OFFER_LIST_NYM");
1585 theScript.chai->add(fun(&OTDB::TradeDataNym::ot_dynamic_cast),
1586 "OTDB_CAST_TRADE_DATA_NYM");
1587 theScript.chai->add(fun(&OTDB::TradeListNym::ot_dynamic_cast),
1588 "OTDB_CAST_TRADE_LIST_NYM");
1613 #define OT_CHAI_CONTAINER(container, name) \
1614 theScript.chai->add(fun(&OTDB::container::Get##name##Count), \
1615 "Get" #name "Count"); \
1616 theScript.chai->add(fun(&OTDB::container::Get##name), "Get" #name); \
1617 theScript.chai->add(fun(&OTDB::container::Remove##name), "Remove" #name); \
1618 theScript.chai->add(fun(&OTDB::container::Add##name), "Add" #name)
1635 "currency_type_id");
1648 OT_CHAI_CONTAINER(MarketList, MarketData);
1656 "available_assets");
1658 "minimum_increment");
1683 OT_CHAI_CONTAINER(OfferListMarket, BidData);
1684 OT_CHAI_CONTAINER(OfferListMarket, AskData);
1694 OT_CHAI_CONTAINER(TradeListMarket, TradeDataMarket);
1705 "currency_type_id");
1707 "currency_acct_id");
1719 "minimum_increment");
1724 OT_CHAI_CONTAINER(OfferListNym, OfferDataNym);
1746 OT_CHAI_CONTAINER(TradeListNym, TradeDataNym);
1753 bool OT_ME::Register_CLI_With_Script_Chai(
const OTScriptChai& theScript)
const
1755 using namespace chaiscript;
1762 "OT_CLI_ReadUntilEOF");
1769 "OT_CLI_GetArgsCount");
1773 "OT_CLI_GetValueByKey");
1778 "OT_CLI_GetValueByIndex");
1784 "OT_CLI_GetKeyByIndex");
1794 bool OT_ME::Register_API_With_Script_Chai(
const OTScriptChai& theScript)
const
1796 using namespace chaiscript;
1802 "OT_API_NumList_Add");
1804 "OT_API_NumList_Remove");
1806 "OT_API_NumList_VerifyQuery");
1808 "OT_API_NumList_VerifyAll");
1810 "OT_API_NumList_Count");
1818 "OT_API_CreateSymmetricKey");
1820 "OT_API_SymmetricEncrypt");
1822 "OT_API_SymmetricDecrypt");
1824 "OT_API_CreateServerContract");
1826 "OT_API_CreateAssetContract");
1828 "OT_API_GetServer_Contract");
1830 "OT_API_GetAssetType_Contract");
1833 "OT_API_FormatAmount");
1835 "OT_API_StringToAmount");
1839 "OT_API_SignContract");
1841 "OT_API_AddSignature");
1843 "OT_API_VerifySignature");
1848 "OT_API_GetNym_ActiveCronItemIDs");
1850 "OT_API_GetActiveCronItem");
1853 "OT_API_GetNym_SourceForID");
1855 "OT_API_GetNym_AltSourceLocation");
1857 "OT_API_GetNym_CredentialCount");
1859 "OT_API_GetNym_CredentialID");
1861 "OT_API_GetNym_CredentialContents");
1863 "OT_API_GetNym_RevokedCredCount");
1865 "OT_API_GetNym_RevokedCredID");
1867 "OT_API_GetNym_RevokedCredContents");
1869 "OT_API_GetNym_SubcredentialCount");
1871 "OT_API_GetNym_SubCredentialID");
1873 "OT_API_GetNym_SubCredentialContents");
1876 "OT_API_AddSubcredential");
1878 "OT_API_RevokeSubcredential");
1881 "OT_API_AddServerContract");
1883 "OT_API_AddAssetContract");
1885 "OT_API_GetServerCount");
1887 "OT_API_GetAssetTypeCount");
1889 "OT_API_GetAccountCount");
1891 "OT_API_GetNymCount");
1893 "OT_API_GetServer_ID");
1895 "OT_API_GetServer_Name");
1897 "OT_API_GetAssetType_ID");
1899 "OT_API_GetAssetType_Name");
1902 "OT_API_GetAccountWallet_ID");
1904 "OT_API_GetAccountWallet_Name");
1906 "OT_API_GetAccountWallet_Balance");
1908 "OT_API_GetAccountWallet_Type");
1910 "OT_API_GetAccountWallet_AssetTypeID");
1912 "OT_API_GetAccountWallet_ServerID");
1914 "OT_API_GetAccountWallet_NymID");
1917 "OT_API_GetAccountWallet_InboxHash");
1919 "OT_API_GetAccountWallet_OutboxHash");
1922 "OT_API_VerifyAccountReceipt");
1924 "OT_API_GetNym_TransactionNumCount");
1928 "OT_API_GetNym_Name");
1930 "OT_API_GetNym_Stats");
1932 "OT_API_GetNym_NymboxHash");
1934 "OT_API_GetNym_RecentHash");
1936 "OT_API_GetNym_InboxHash");
1938 "OT_API_GetNym_OutboxHash");
1941 "OT_API_IsNym_RegisteredAtServer");
1944 "OT_API_GetNym_MailCount");
1946 "OT_API_GetNym_MailContentsByIndex");
1948 "OT_API_GetNym_MailSenderIDByIndex");
1950 "OT_API_GetNym_MailServerIDByIndex");
1952 "OT_API_Nym_RemoveMailByIndex");
1954 "OT_API_Nym_VerifyMailByIndex");
1956 "OT_API_GetNym_OutmailCount");
1958 "OT_API_GetNym_OutmailContentsByIndex");
1960 "OT_API_GetNym_OutmailRecipientIDByIndex");
1962 "OT_API_GetNym_OutmailServerIDByIndex");
1964 "OT_API_Nym_RemoveOutmailByIndex");
1966 "OT_API_Nym_VerifyOutmailByIndex");
1968 "OT_API_GetNym_OutpaymentsCount");
1970 "OT_API_GetNym_OutpaymentsContentsByIndex");
1971 theScript.chai->add(
1973 "OT_API_GetNym_OutpaymentsRecipientIDByIndex");
1975 "OT_API_GetNym_OutpaymentsServerIDByIndex");
1977 "OT_API_Nym_RemoveOutpaymentsByIndex");
1979 "OT_API_Nym_VerifyOutpaymentsByIndex");
1982 "OT_API_Wallet_CanRemoveServer");
1984 "OT_API_Wallet_RemoveServer");
1986 "OT_API_Wallet_CanRemoveAssetType");
1988 "OT_API_Wallet_RemoveAssetType");
1990 "OT_API_Wallet_CanRemoveNym");
1992 "OT_API_Wallet_RemoveNym");
1994 "OT_API_Wallet_CanRemoveAccount");
1997 "OT_API_Wallet_ChangePassphrase");
2000 "OT_API_Wallet_ExportNym");
2002 "OT_API_Wallet_ImportNym");
2004 "OT_API_Wallet_ImportCert");
2006 "OT_API_Wallet_ExportCert");
2009 "OT_API_Wallet_GetNymIDFromPartial");
2011 "OT_API_Wallet_GetServerIDFromPartial");
2013 "OT_API_Wallet_GetAssetIDFromPartial");
2015 "OT_API_Wallet_GetAccountIDFromPartial");
2018 "OT_API_SetNym_Name");
2020 "OT_API_SetAccountWallet_Name");
2022 "OT_API_SetAssetType_Name");
2024 "OT_API_SetServer_Name");
2027 "OT_API_VerifyAndRetrieveXMLContents");
2029 "OT_API_WriteCheque");
2031 "OT_API_DiscardCheque");
2033 "OT_API_EasyProposePlan");
2035 "OT_API_ConfirmPaymentPlan");
2038 "OT_API_LoadUserPubkey_Encryption");
2040 "OT_API_LoadPubkey_Encryption");
2042 "OT_API_LoadUserPubkey_Signing");
2044 "OT_API_LoadPubkey_Signing");
2046 "OT_API_VerifyUserPrivateKey");
2050 "OT_API_LoadAssetContract");
2052 "OT_API_LoadServerContract");
2054 "OT_API_Mint_IsStillGood");
2057 "OT_API_IsBasketCurrency");
2059 "OT_API_Basket_GetMemberCount");
2061 "OT_API_Basket_GetMemberType");
2063 "OT_API_Basket_GetMinimumTransferAmount");
2064 theScript.chai->add(
2066 "OT_API_Basket_GetMemberMinimumTransferAmount");
2069 "OT_API_LoadAssetAccount");
2074 "OT_API_LoadPaymentInbox");
2076 "OT_API_LoadRecordBox");
2078 "OT_API_LoadExpiredBox");
2081 "OT_API_LoadInboxNoVerify");
2083 "OT_API_LoadOutboxNoVerify");
2086 "OT_API_LoadPaymentInboxNoVerify");
2088 "OT_API_LoadRecordBoxNoVerify");
2090 "OT_API_LoadExpiredBoxNoVerify");
2093 "OT_API_Ledger_GetCount");
2095 "OT_API_Ledger_CreateResponse");
2097 "OT_API_Ledger_GetTransactionByIndex");
2099 "OT_API_Ledger_GetTransactionByID");
2101 "OT_API_Ledger_GetTransactionIDByIndex");
2103 "OT_API_Ledger_GetInstrument");
2106 "OT_API_Ledger_AddTransaction");
2108 "OT_API_Transaction_CreateResponse");
2110 "OT_API_Ledger_FinalizeResponse");
2112 "OT_API_Transaction_GetType");
2115 "OT_API_RecordPayment");
2117 "OT_API_ClearRecord");
2119 "OT_API_ExpiredRecord");
2122 "OT_API_ReplyNotice_GetRequestNum");
2125 "OT_API_Transaction_GetVoucher");
2127 "OT_API_Transaction_GetSuccess");
2129 "OT_API_Transaction_IsCanceled");
2130 theScript.chai->add(
2132 "OT_API_Transaction_GetBlnceAgrmntSuccess");
2134 "OT_API_Transaction_GetDateSigned");
2136 "OT_API_Transaction_GetAmount");
2138 "OT_API_Pending_GetNote");
2141 "OT_API_Transaction_GetSenderUserID");
2143 "OT_API_Transaction_GetSenderAcctID");
2145 "OT_API_Transaction_GetRecipientUserID");
2147 "OT_API_Transaction_GetRecipientAcctID");
2148 theScript.chai->add(
2150 "OT_API_Transaction_GetDisplayReferenceToNum");
2153 "OT_API_Instrmnt_GetAmount");
2155 "OT_API_Instrmnt_GetTransNum");
2157 "OT_API_Instrmnt_GetValidFrom");
2159 "OT_API_Instrmnt_GetValidTo");
2161 "OT_API_Instrmnt_GetMemo");
2163 "OT_API_Instrmnt_GetType");
2165 "OT_API_Instrmnt_GetServerID");
2167 "OT_API_Instrmnt_GetAssetID");
2170 "OT_API_Instrmnt_GetSenderUserID");
2172 "OT_API_Instrmnt_GetSenderAcctID");
2174 "OT_API_Instrmnt_GetRemitterUserID");
2176 "OT_API_Instrmnt_GetRemitterAcctID");
2178 "OT_API_Instrmnt_GetRecipientUserID");
2180 "OT_API_Instrmnt_GetRecipientAcctID");
2183 "OT_API_CreatePurse");
2185 "OT_API_CreatePurse_Passphrase");
2188 "OT_API_Purse_GetTotalValue");
2190 "OT_API_Purse_HasPassword");
2192 "OT_API_Purse_Count");
2196 "OT_API_Purse_Empty");
2199 "OT_API_Wallet_ImportPurse");
2201 "OT_API_exchangePurse");
2203 "OT_API_Token_ChangeOwner");
2206 "OT_API_Token_GetID");
2208 "OT_API_Token_GetDenomination");
2210 "OT_API_Token_GetSeries");
2212 "OT_API_Token_GetValidFrom");
2214 "OT_API_Token_GetValidTo");
2216 "OT_API_Token_GetAssetID");
2218 "OT_API_Token_GetServerID");
2221 "OT_API_checkServerID");
2223 "OT_API_createUserAccount");
2225 "OT_API_deleteUserAccount");
2227 "OT_API_deleteAssetAccount");
2230 "OT_API_usageCredits");
2232 "OT_API_sendUserMessage");
2234 "OT_API_sendUserInstrument");
2238 "OT_API_getTransactionNumber");
2240 "OT_API_issueAssetType");
2242 "OT_API_getContract");
2245 "OT_API_createAssetAccount");
2247 "OT_API_getAccount");
2249 "OT_API_getAccountFiles");
2252 "OT_API_GenerateBasketCreation");
2255 "OT_API_AddBasketCreationItem");
2257 "OT_API_issueBasket");
2259 "OT_API_GenerateBasketExchange");
2261 "OT_API_AddBasketExchangeItem");
2263 "OT_API_exchangeBasket");
2265 "OT_API_notarizeWithdrawal");
2267 "OT_API_notarizeDeposit");
2269 "OT_API_notarizeTransfer");
2274 "OT_API_getOutbox");
2278 "OT_API_Nymbox_GetReplyNotice");
2281 "OT_API_getBoxReceipt");
2283 "OT_API_DoesBoxReceiptExist");
2287 "OT_API_LoadNymboxNoVerify");
2290 "OT_API_processInbox");
2292 "OT_API_processNymbox");
2294 "OT_API_withdrawVoucher");
2296 "OT_API_payDividend");
2299 "OT_API_depositCheque");
2301 "OT_API_depositPaymentPlan");
2303 "OT_API_issueMarketOffer");
2305 "OT_API_getMarketList");
2307 "OT_API_getMarketOffers");
2309 "OT_API_getMarketRecentTrades");
2311 "OT_API_getNym_MarketOffers");
2313 "OT_API_killMarketOffer");
2315 "OT_API_killPaymentPlan");
2318 "OT_API_PopMessageBuffer");
2320 "OT_API_FlushMessageBuffer");
2323 "OT_API_GetSentMessage");
2325 "OT_API_RemoveSentMessage");
2327 "OT_API_FlushSentMessages");
2330 "OT_API_HaveAlreadySeenReply");
2335 "OT_API_ResyncNymWithServer");
2338 "OT_API_queryAssetTypes");
2341 "OT_API_Message_GetPayload");
2343 "OT_API_Message_GetCommand");
2345 "OT_API_Message_GetSuccess");
2347 "OT_API_Message_GetDepth");
2349 "OT_API_Message_GetUsageCredits");
2351 "OT_API_Msg_GetTransactionSuccess");
2353 "OT_API_Msg_IsTransactionCanceled");
2354 theScript.chai->add(
2356 "OT_API_Msg_GetBlnceAgrmntSuccess");
2358 "OT_API_Message_GetLedger");
2360 "OT_API_Message_GetNewAssetTypeID");
2362 "OT_API_Message_GetNewIssuerAcctID");
2364 "OT_API_Message_GetNewAcctID");
2366 "OT_API_Message_GetNymboxHash");
2369 "OT_API_Create_SmartContract");
2372 "OT_API_SmartContract_AddBylaw");
2374 "OT_API_SmartContract_AddClause");
2376 "OT_API_SmartContract_AddVariable");
2378 "OT_API_SmartContract_AddCallback");
2380 "OT_API_SmartContract_AddHook");
2383 "OT_API_SmartContract_AddParty");
2385 "OT_API_SmartContract_AddAccount");
2388 "OT_API_SmartContract_ConfirmAccount");
2390 "OT_API_SmartContract_ConfirmParty");
2393 "OT_API_SmartContract_CountNumsNeeded");
2396 "OT_API_Msg_HarvestTransactionNumbers");
2404 "OT_API_Smart_AreAllPartiesConfirmed");
2406 "OT_API_Smart_IsPartyConfirmed");
2408 "OT_API_Smart_GetBylawCount");
2410 "OT_API_Smart_GetBylawByIndex");
2412 "OT_API_Bylaw_GetLanguage");
2414 "OT_API_Bylaw_GetClauseCount");
2416 "OT_API_Clause_GetNameByIndex");
2418 "OT_API_Clause_GetContents");
2420 "OT_API_Bylaw_GetVariableCount");
2422 "OT_API_Variable_GetNameByIndex");
2424 "OT_API_Variable_GetType");
2426 "OT_API_Variable_GetAccess");
2428 "OT_API_Variable_GetContents");
2430 "OT_API_Bylaw_GetHookCount");
2432 "OT_API_Hook_GetNameByIndex");
2434 "OT_API_Hook_GetClauseCount");
2436 "OT_API_Hook_GetClauseAtIndex");
2438 "OT_API_Bylaw_GetCallbackCount");
2440 "OT_API_Callback_GetNameByIndex");
2442 "OT_API_Callback_GetClause");
2444 "OT_API_Smart_GetPartyCount");
2446 "OT_API_Smart_GetPartyByIndex");
2448 "OT_API_Party_GetID");
2450 "OT_API_Party_GetAcctCount");
2452 "OT_API_Party_GetAcctNameByIndex");
2454 "OT_API_Party_GetAcctID");
2456 "OT_API_Party_GetAcctAssetID");
2458 "OT_API_Party_GetAcctAgentName");
2460 "OT_API_Party_GetAgentCount");
2462 "OT_API_Party_GetAgentNameByIndex");
2464 "OT_API_Party_GetAgentID");
2467 "OT_API_activateSmartContract");
2469 "OT_API_triggerClause");
2475 #endif // OT_USE_SCRIPT_CHAI
2490 int64_t lFileLength(0);
2493 "NewScriptHeaderExists: Error! Filename not Supplied!");
2494 if (3 > strScriptFilename.
GetLength()) {
2495 otErr <<
"NewScriptHeaderExists: Filename: " << strScriptFilename
2496 <<
" is too short!\n";
2504 bool bGetFolderSuccess =
2507 "NewScriptHeaderExists: Unalbe to Get Scripts Path");
2514 out_ScriptFilepath, strScriptsFolder, strScriptFilename);
2516 bBuildFullPathSuccess,
2517 "NewScriptHeaderExists: Unalbe to Build Full Script Path");
2526 bool bGetFolderSuccess =
2527 strDataFolder.
Exists() && 3 < strDataFolder.GetLength();
2529 "NewScriptHeaderExists: Unalbe to Get Scripts Path");
2534 strDataScriptsFolder, strDataFolder,
"scripts");
2537 "NewScriptHeaderExists: Unalbe to Build Full Script Path");
2542 out_ScriptFilepath, strDataScriptsFolder, strScriptFilename);
2544 bBuildFullPathSuccess,
2545 "NewScriptHeaderExists: Unalbe to Build Full Script Path");
2555 strGlobalScriptsFolder, strScriptsFolder,
"scripts");
2558 "NewScriptHeaderExists: Unalbe to Build Full Script Path");
2562 out_ScriptFilepath, strGlobalScriptsFolder,
2565 bBuildFullPathSuccess,
2566 "NewScriptHeaderExists: Unalbe to Build Full Script Path");
2574 #ifdef OT_USE_SCRIPT_CHAI
2581 bool OT_ME::Register_Headers_With_Script_Chai(
2582 const OTScriptChai& theScript)
const
2584 using namespace chaiscript;
2642 otWarn <<
"\n" << __FUNCTION__ <<
": Using Script Headers:\n";
2644 OTString strHeaderFilePath_01;
2646 otWarn <<
" " << strHeaderFilePath_01 <<
"\n";
2649 otErr << __FUNCTION__
2650 <<
": Header script not found: " << strHeaderFilePath_01
2655 OTString strHeaderFilePath_02;
2657 otWarn <<
" " << strHeaderFilePath_02 <<
"\n";
2660 otErr << __FUNCTION__
2661 <<
": Header script not found: " << strHeaderFilePath_02
2667 theScript.chai->use(strHeaderFilePath_01.Get());
2668 theScript.chai->use(strHeaderFilePath_02.Get());
2670 catch (
const chaiscript::exception::eval_error& ee) {
2672 otErr << __FUNCTION__
2673 <<
": Caught chaiscript::exception::eval_error : "
2674 << ee.reason <<
". \n"
2675 " File: " << ee.filename
2677 " Start position, line: " << ee.start_position.line
2678 <<
" column: " << ee.start_position.column
2680 " End position, line: " << ee.end_position.line
2681 <<
" column: " << ee.end_position.column <<
"\n";
2683 std::cout << ee.what();
2684 if (ee.call_stack.size() > 0) {
2685 std::cout <<
"during evaluation at ("
2686 << ee.call_stack[0]->start.line <<
", "
2687 << ee.call_stack[0]->start.column <<
")";
2689 std::cout << std::endl << std::endl;
2691 if (ee.call_stack.size() > 0) {
2692 for (
size_t j = 1; j < ee.call_stack.size(); ++j) {
2693 if (ee.call_stack[j]->identifier !=
2694 chaiscript::AST_Node_Type::Block &&
2695 ee.call_stack[j]->identifier !=
2696 chaiscript::AST_Node_Type::File) {
2697 std::cout << std::endl;
2698 std::cout <<
" from " << *(ee.call_stack[j]->filename)
2699 <<
" (" << ee.call_stack[j]->start.line
2700 <<
", " << ee.call_stack[j]->start.column
2702 std::cout << ee.call_stack[j]->text << std::endl;
2706 std::cout << std::endl;
2709 catch (
const chaiscript::exception::bad_boxed_cast& e) {
2711 otErr << __FUNCTION__
2712 <<
": Caught chaiscript::exception::bad_boxed_cast : "
2713 << ((e.what() !=
nullptr) ? e.what()
2714 :
"e.what() returned null, sorry")
2718 catch (
const std::exception& e) {
2720 otErr << __FUNCTION__ <<
": Caught std::exception exception: "
2721 << ((e.what() !=
nullptr) ? e.what()
2722 :
"e.what() returned null, sorry")
2728 otErr << __FUNCTION__ <<
": Caught exception.\n";
2736 #endif // OT_USE_SCRIPT_CHAI
static EXPORT std::string AddSubcredential(const std::string &NYM_ID, const std::string &MASTER_CRED_ID, const int32_t &nKeySize)
static EXPORT std::string SmartContract_AddParty(const std::string &THE_CONTRACT, const std::string &SIGNER_NYM_ID, const std::string &PARTY_NAME, const std::string &AGENT_NAME)
static EXPORT std::string GetAccountWallet_Name(const std::string &ACCOUNT_ID)
static EXPORT int32_t Token_GetSeries(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &THE_TOKEN)
static EXPORT bool FileExists(const OTString &strFilePath, int64_t &nFileLength)
EXPORT bool StorePlainString(std::string strContents, std::string strFolder, std::string oneStr="", std::string twoStr="", std::string threeStr="")
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
static EXPORT int32_t checkServerID(const std::string &SERVER_ID, const std::string &USER_ID)
static EXPORT int32_t createUserAccount(const std::string &SERVER_ID, const std::string &USER_ID)
static EXPORT std::string Party_GetAcctAssetID(const std::string &THE_CONTRACT, const std::string &PARTY_NAME, const std::string &ACCT_NAME)
static EXPORT int32_t Transaction_IsCanceled(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
std::string issue_asset_type(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &THE_CONTRACT) const
static EXPORT std::string Ledger_AddTransaction(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_LEDGER, const std::string &THE_TRANSACTION)
Add a transaction to a ledger.
static EXPORT std::string GetAccountWallet_NymID(const std::string &ACCOUNT_ID)
static EXPORT std::string LoadOutboxNoVerify(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID)
static EXPORT std::string GetNym_InboxHash(const std::string &ACCOUNT_ID, const std::string &NYM_ID)
EXPORT Storable * CreateObject(StoredObjectType eType)
static EXPORT std::string GetSentMessage(const int64_t &REQUEST_NUMBER, const std::string &SERVER_ID, const std::string &USER_ID)
static EXPORT int32_t getMarketOffers(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &MARKET_ID, const int64_t &MAX_DEPTH)
Gets all offers for a specific market and their details (up until.
static EXPORT int64_t Instrmnt_GetAmount(const std::string &THE_INSTRUMENT)
static EXPORT int64_t Instrmnt_GetTransNum(const std::string &THE_INSTRUMENT)
static EXPORT std::string Instrmnt_GetSenderAcctID(const std::string &THE_INSTRUMENT)
static EXPORT std::string LoadAssetContract(const std::string &ASSET_TYPE_ID)
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
static EXPORT bool DoesBoxReceiptExist(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const int32_t &nBoxType, const int64_t &TRANSACTION_NUMBER)
static EXPORT int32_t GetAccountCount()
static EXPORT std::string Wallet_GetNymIDFromPartial(const std::string &PARTIAL_ID)
Attempts to find a full ID in the wallet, based on a partial of the same.
static EXPORT int32_t Basket_GetMemberCount(const std::string &BASKET_ASSET_TYPE_ID)
static EXPORT bool SavePurse(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &USER_ID, const std::string &THE_PURSE)
bool deposit_cash(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, const std::string &STR_PURSE) const
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
std::string currency_type_id
std::string CopyValueString() const
static EXPORT std::string Transaction_CreateResponse(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &RESPONSE_LEDGER, const std::string &ORIGINAL_TRANSACTION, const bool &BOOL_DO_I_ACCEPT)
static EXPORT bool IsBasketCurrency(const std::string &ASSET_TYPE_ID)
static EXPORT std::string Instrmnt_GetRemitterUserID(const std::string &THE_INSTRUMENT)
EXPORT std::string QueryString(std::string strFolder, std::string oneStr="", std::string twoStr="", std::string threeStr="")
std::string transaction_id
std::string minimum_increment
std::string stat_asset_account(const std::string &ACCOUNT_ID) const
OTVariable_Type GetType() const
EXPORT void RegisterForExecution(OTScript &theScript)
EXPORT std::string get_market_list(const std::string &SERVER_ID, const std::string &NYM_ID) const
static EXPORT int32_t Message_GetSuccess(const std::string &THE_MESSAGE)
static EXPORT std::string SmartContract_AddHook(const std::string &THE_CONTRACT, const std::string &SIGNER_NYM_ID, const std::string &BYLAW_NAME, const std::string &HOOK_NAME, const std::string &CLAUSE_NAME)
static EXPORT int32_t processNymbox(const std::string &SERVER_ID, const std::string &USER_ID)
static EXPORT std::string AddBasketCreationItem(const std::string &USER_ID, const std::string &THE_BASKET, const std::string &ASSET_TYPE_ID, const int64_t &MINIMUM_TRANSFER)
static EXPORT std::string Instrmnt_GetRemitterAcctID(const std::string &THE_INSTRUMENT)
static EXPORT std::string Token_GetAssetID(const std::string &THE_TOKEN)
static EXPORT void FlushMessageBuffer()
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
EXPORT std::string cancel_payment_plan(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &THE_PAYMENT_PLAN) const
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
EXPORT void ExecuteScript_ReturnVoid(const std::string &str_Code, std::string str_DisplayName="<BLANK>")
EXPORT std::string ExecuteScript_ReturnString(const std::string &str_Code, std::string str_DisplayName="<BLANK>")
static EXPORT std::string Wallet_GetAssetIDFromPartial(const std::string &PARTIAL_ID)
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
EXPORT std::string OT_CLI_GetValueByIndex(const std::string &str_Args, int32_t nIndex)
static EXPORT std::string Party_GetAgentID(const std::string &THE_CONTRACT, const std::string &PARTY_NAME, const std::string &AGENT_NAME)
static EXPORT bool Wallet_CanRemoveServer(const std::string &SERVER_ID)
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
static EXPORT std::string GetNym_ID(const int32_t &nIndex)
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
EXPORT std::string OT_CLI_GetValueByKey(const std::string &str_Args, const std::string &str_key)
static EXPORT bool Wallet_RemoveNym(const std::string &NYM_ID)
static EXPORT int64_t ReplyNotice_GetRequestNum(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &THE_TRANSACTION)
Transactions do not have request numbers. However, if you have a.
EXPORT bool easy_withdraw_cash(const std::string &ACCT_ID, int64_t AMOUNT) const
static EXPORT std::string ConfirmPaymentPlan(const std::string &SERVER_ID, const std::string &SENDER_USER_ID, const std::string &SENDER_ACCT_ID, const std::string &RECIPIENT_USER_ID, const std::string &PAYMENT_PLAN)
std::string get_payment_instrument(const std::string &SERVER_ID, const std::string &NYM_ID, int32_t nIndex, const std::string &PRELOADED_INBOX) const
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
static EXPORT std::string Bylaw_GetLanguage(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME)
static EXPORT bool Msg_HarvestTransactionNumbers(const std::string &THE_MESSAGE, const std::string &USER_ID, const bool &bHarvestingForRetry, const bool &bReplyWasSuccess, const bool &bReplyWasFailure, const bool &bTransactionWasSuccess, const bool &bTransactionWasFailure)
static EXPORT std::string GetNym_RecentHash(const std::string &SERVER_ID, const std::string &NYM_ID)
static EXPORT std::string LoadPurse(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &USER_ID)
static EXPORT std::string Party_GetAgentNameByIndex(const std::string &THE_CONTRACT, const std::string &PARTY_NAME, const int32_t &nIndex)
static EXPORT std::string Wallet_ExportNym(const std::string &NYM_ID)
Returns the exported Nym, if success. (Else nullptr.)
static EXPORT std::string CreatePurse(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &OWNER_ID, const std::string &SIGNER_ID)
static EXPORT std::string LoadPubkey_Encryption(const std::string &USER_ID)
std::string get_nym_market_offers(const std::string &SERVER_ID, const std::string &NYM_ID) const
static EXPORT std::string Purse_Empty(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &SIGNER_ID, const std::string &THE_PURSE)
static EXPORT std::string GetNym_OutboxHash(const std::string &ACCOUNT_ID, const std::string &NYM_ID)
static EXPORT int32_t Smart_GetBylawCount(const std::string &THE_CONTRACT)
std::vector< uint8_t > m_memBuffer
static EXPORT std::string LoadPaymentInbox(const std::string &SERVER_ID, const std::string &USER_ID)
std::string load_or_retrieve_mint(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_ID) const
static EXPORT std::string Transaction_GetSenderAcctID(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
EXPORT bool discard_incoming_payments(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &INDICES) const
static EXPORT std::string GetNym_OutmailContentsByIndex(const std::string &NYM_ID, const int32_t &nIndex)
std::string get_market_list(const std::string &SERVER_ID, const std::string &NYM_ID) const
static EXPORT std::string Token_ChangeOwner(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &THE_TOKEN, const std::string &SIGNER_NYM_ID, const std::string &OLD_OWNER, const std::string &NEW_OWNER)
static EXPORT int32_t activateSmartContract(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &THE_SMART_CONTRACT)
std::string issue_basket_currency(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &THE_BASKET) const
EXPORT std::string load_public_encryption_key(const std::string &NYM_ID) const
EXPORT std::string get_market_recent_trades(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &MARKET_ID) const
static EXPORT int32_t GetServerCount()
std::string create_nym(int32_t nKeybits, const std::string &NYM_ID_SOURCE, const std::string &ALT_LOCATION) const
static EXPORT std::string Instrmnt_GetServerID(const std::string &THE_INSTRUMENT)
static EXPORT int32_t payDividend(const std::string &SERVER_ID, const std::string &ISSUER_USER_ID, const std::string &DIVIDEND_FROM_ACCT_ID, const std::string &SHARES_ASSET_TYPE_ID, const std::string &DIVIDEND_MEMO, const int64_t &AMOUNT_PER_SHARE)
PAY DIVIDEND – to shareholders.
static EXPORT std::string Ledger_FinalizeResponse(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_LEDGER)
static EXPORT bool Nym_VerifyMailByIndex(const std::string &NYM_ID, const int32_t &nIndex)
static EXPORT std::string SymmetricEncrypt(const std::string &SYMMETRIC_KEY, const std::string &PLAINTEXT)
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
bool NewScriptExists(const OTString &strScriptFilename, bool bIsHeader, OTString &out_ScriptFilepath)
static EXPORT std::string Wallet_GetAccountIDFromPartial(const std::string &PARTIAL_ID)
EXPORT OTVariable * FindVariable(const std::string &str_var_name)
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
static EXPORT std::string Instrmnt_GetAssetID(const std::string &THE_INSTRUMENT)
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
std::string asset_type_id
static EXPORT std::string Instrmnt_GetRecipientAcctID(const std::string &THE_INSTRUMENT)
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
static EXPORT std::string GetServer_Contract(const std::string &SERVER_ID)
static EXPORT std::string Message_GetNewAcctID(const std::string &THE_MESSAGE)
static EXPORT bool Wallet_RemoveAssetType(const std::string &ASSET_ID)
static EXPORT std::string GetNym_ActiveCronItemIDs(const std::string &NYM_ID, const std::string &SERVER_ID)
static EXPORT int32_t getMint(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ASSET_ID)
static EXPORT std::string LoadServerContract(const std::string &SERVER_ID)
static EXPORT std::string Variable_GetType(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const std::string &VARIABLE_NAME)
static EXPORT std::string GetNym_SubCredentialID(const std::string &NYM_ID, const std::string &MASTER_CRED_ID, const int32_t &nIndex)
static EXPORT bool SetServer_Name(const std::string &SERVER_ID, const std::string &STR_NEW_NAME)
static EXPORT std::string Instrmnt_GetType(const std::string &THE_INSTRUMENT)
static EXPORT std::string Instrmnt_GetMemo(const std::string &THE_INSTRUMENT)
std::string load_or_retrieve_encrypt_key(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &TARGET_NYM_ID) const
static EXPORT time64_t GetTime()
static EXPORT bool Wallet_RemoveServer(const std::string &SERVER_ID)
static EXPORT int32_t getContract(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ASSET_ID)
static EXPORT std::string Callback_GetNameByIndex(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const int32_t &nIndex)
static EXPORT std::string GetNym_Stats(const std::string &NYM_ID)
OTLOG_IMPORT OTLogStream otOut
static EXPORT bool RecordPayment(const std::string &SERVER_ID, const std::string &USER_ID, const bool &bIsInbox, const int32_t &nIndex, const bool &bSaveCopy)
static EXPORT std::string LoadRecordBox(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID)
NOTE: Sometimes the user ID is also passed in the "account ID" field,.
static EXPORT std::string CreateAssetContract(const std::string &NYM_ID, const std::string &strXMLcontents)
bool make_sure_enough_trans_nums(int32_t nNumberNeeded, const std::string &SERVER_ID, const std::string &NYM_ID) const
static EXPORT int32_t Bylaw_GetClauseCount(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME)
static EXPORT std::string GetNym_SubCredentialContents(const std::string &NYM_ID, const std::string &MASTER_CRED_ID, const std::string &SUB_CRED_ID)
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
static EXPORT std::string Party_GetAcctNameByIndex(const std::string &THE_CONTRACT, const std::string &PARTY_NAME, const int32_t &nIndex)
static EXPORT int32_t Message_GetDepth(const std::string &THE_MESSAGE)
static EXPORT bool Smart_IsPartyConfirmed(const std::string &THE_CONTRACT, const std::string &PARTY_NAME)
static EXPORT time64_t Instrmnt_GetValidFrom(const std::string &THE_INSTRUMENT)
static EXPORT bool RevokeSubcredential(const std::string &NYM_ID, const std::string &MASTER_CRED_ID, const std::string &SUB_CRED_ID)
static EXPORT bool ClearRecord(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const int32_t &nIndex, const bool &bClearAll)
static EXPORT int32_t Transaction_GetSuccess(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
std::string load_or_retrieve_contract(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &CONTRACT_ID) const
static EXPORT std::string LoadExpiredBoxNoVerify(const std::string &SERVER_ID, const std::string &USER_ID)
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
bool CopyValueBool() const
static EXPORT bool SetAccountWallet_Name(const std::string &ACCT_ID, const std::string &SIGNER_NYM_ID, const std::string &ACCT_NEW_NAME)
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
EXPORT uint32_t GetLength() const
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
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
static EXPORT std::string Clause_GetNameByIndex(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const int32_t &nIndex)
static EXPORT bool SetAssetType_Name(const std::string &ASSET_ID, const std::string &STR_NEW_NAME)
static EXPORT std::string GetNym_MailContentsByIndex(const std::string &NYM_ID, const int32_t &nIndex)
static EXPORT std::string NumList_Remove(const std::string &strNumList, const std::string &strNumbers)
std::string finished_so_far
static EXPORT int32_t processInbox(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_ID, const std::string &ACCT_LEDGER)
static EXPORT int32_t notarizeWithdrawal(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_ID, const int64_t &AMOUNT)
static EXPORT std::string VerifyAndRetrieveXMLContents(const std::string &THE_CONTRACT, const std::string &SIGNER_ID)
static EXPORT std::string Hook_GetNameByIndex(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const int32_t &nIndex)
static EXPORT std::string Basket_GetMemberType(const std::string &BASKET_ASSET_TYPE_ID, const int32_t &nIndex)
std::string currency_acct_id
static EXPORT std::string Instrmnt_GetSenderUserID(const std::string &THE_INSTRUMENT)
static EXPORT int32_t getAccountFiles(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_ID)
EXPORT std::string register_nym(const std::string &SERVER_ID, const std::string &NYM_ID) const
EXPORT bool ExecuteScript_ReturnBool(const std::string &str_Code, std::string str_DisplayName="<BLANK>")
static EXPORT std::string AddBasketExchangeItem(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &THE_BASKET, const std::string &ASSET_TYPE_ID, const std::string &ASSET_ACCT_ID)
static EXPORT int32_t GetNym_RevokedCredCount(const std::string &NYM_ID)
bool accept_inbox_items(const std::string &ACCOUNT_ID, int32_t nItemType, const std::string &INDICES) const
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
std::string create_asset_acct(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_TYPE_ID) const
static EXPORT int32_t Hook_GetClauseCount(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const std::string &HOOK_NAME)
static EXPORT std::string Nymbox_GetReplyNotice(const std::string &SERVER_ID, const std::string &USER_ID, const int64_t &REQUEST_NUMBER)
static EXPORT int32_t notarizeDeposit(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_ID, const std::string &THE_PURSE)
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
static EXPORT bool Wallet_CanRemoveNym(const std::string &NYM_ID)
static EXPORT bool Smart_AreAllPartiesConfirmed(const std::string &THE_CONTRACT)
static EXPORT std::string GetNym_OutmailRecipientIDByIndex(const std::string &NYM_ID, const int32_t &nIndex)
EXPORT std::string create_asset_acct(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_TYPE_ID) const
static EXPORT std::string LoadNymbox(const std::string &SERVER_ID, const std::string &USER_ID)
static EXPORT int32_t depositPaymentPlan(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &THE_PAYMENT_PLAN)
EXPORT std::string load_or_retrieve_mint(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_ID) const
static EXPORT bool Wallet_ChangePassphrase()
EXPORT Storable * QueryObject(StoredObjectType theObjectType, std::string strFolder, std::string oneStr="", std::string twoStr="", std::string threeStr="")
EXPORT bool retrieve_nym(const std::string &SERVER_ID, const std::string &NYM_ID, bool bForceDownload=true) const
static EXPORT bool RemoveSentMessage(const int64_t &REQUEST_NUMBER, const std::string &SERVER_ID, const std::string &USER_ID)
std::string load_public_signing_key(const std::string &NYM_ID) const
static EXPORT int64_t GetAccountWallet_Balance(const std::string &ACCOUNT_ID)
static EXPORT bool RelativeToCanonical(OTString &out_strCanonicalPath, const OTString &strBasePath, const OTString &strRelativePath)
static EXPORT time64_t Token_GetValidFrom(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &THE_TOKEN)
the date is seconds since Jan 1970.
EXPORT bool Exists() const
static EXPORT std::string GenerateBasketExchange(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &BASKET_ASSET_TYPE_ID, const std::string &BASKET_ASSET_ACCT_ID, const int32_t &TRANSFER_MULTIPLE)
static EXPORT int32_t sendUserInstrument(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &USER_ID_RECIPIENT, const std::string &RECIPIENT_PUBKEY, const std::string &THE_INSTRUMENT, const std::string &INSTRUMENT_FOR_SENDER)
static EXPORT std::string FormatAmount(const std::string &ASSET_TYPE_ID, const int64_t &THE_AMOUNT)
EXPORT std::string EncodeObject(Storable &theContents)
EXPORT std::string retrieve_contract(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &CONTRACT_ID) const
static EXPORT bool Nym_VerifyOutpaymentsByIndex(const std::string &NYM_ID, const int32_t &nIndex)
EXPORT std::string query_asset_types(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ENCODED_MAP) const
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
static EXPORT int32_t GetNym_CredentialCount(const std::string &NYM_ID)
static EXPORT std::string Ledger_GetInstrument(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_LEDGER, const int32_t &nIndex)
EXPORT std::string get_nym_market_offers(const std::string &SERVER_ID, const std::string &NYM_ID) const
static EXPORT bool VerifyUserPrivateKey(const std::string &USER_ID)
static EXPORT std::string GetServer_ID(const int32_t &nIndex)
static EXPORT int32_t getBoxReceipt(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const int32_t &nBoxType, const int64_t &TRANSACTION_NUMBER)
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
static EXPORT std::string GetServer_Name(const std::string &SERVER_ID)
static EXPORT std::string SmartContract_AddVariable(const std::string &THE_CONTRACT, const std::string &SIGNER_NYM_ID, const std::string &BYLAW_NAME, const std::string &VAR_NAME, const std::string &VAR_ACCESS, const std::string &VAR_TYPE, const std::string &VAR_VALUE)
static EXPORT int64_t Transaction_GetAmount(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
static EXPORT std::string Purse_Push(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &SIGNER_ID, const std::string &OWNER_ID, const std::string &THE_PURSE, const std::string &THE_TOKEN)
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
static EXPORT int32_t Message_IsTransactionCanceled(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_MESSAGE)
static EXPORT int32_t GetNym_OutpaymentsCount(const std::string &NYM_ID)
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
static EXPORT int32_t getMarketList(const std::string &SERVER_ID, const std::string &USER_ID)
Retrieves details for each market.
static EXPORT std::string GetNym_RevokedCredContents(const std::string &NYM_ID, const std::string &CREDENTIAL_ID)
static EXPORT std::string LoadExpiredBox(const std::string &SERVER_ID, const std::string &USER_ID)
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
static EXPORT int32_t deleteAssetAccount(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID)
static EXPORT std::string LoadNymboxNoVerify(const std::string &SERVER_ID, const std::string &USER_ID)
static EXPORT std::string CreateNym(const int32_t &nKeySize, const std::string &NYM_ID_SOURCE, const std::string &ALT_LOCATION)
static EXPORT std::string LoadPubkey_Signing(const std::string &USER_ID)
bool accept_from_paymentbox(const std::string &ACCOUNT_ID, const std::string &INDICES, const std::string &PAYMENT_TYPE) const
static EXPORT std::string Create_SmartContract(const std::string &SIGNER_NYM_ID, const time64_t &VALID_FROM, const time64_t &VALID_TO)
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
static EXPORT int32_t issueMarketOffer(const std::string &ASSET_ACCT_ID, const std::string &CURRENCY_ACCT_ID, const int64_t &MARKET_SCALE, const int64_t &MINIMUM_INCREMENT, const int64_t &TOTAL_ASSETS_ON_OFFER, const int64_t &PRICE_LIMIT, const bool &bBuyingOrSelling, const time64_t &LIFESPAN_IN_SECONDS, const std::string &STOP_SIGN, const int64_t &ACTIVATION_PRICE)
static EXPORT int32_t Ledger_GetCount(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_LEDGER)
Find out how many pending transactions (and receipts) are in this inbox.
static EXPORT int32_t queryAssetTypes(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ENCODED_MAP)
static EXPORT void Output(const int32_t &nLogLevel, const std::string &strOutput)
static EXPORT std::string Party_GetID(const std::string &THE_CONTRACT, const std::string &PARTY_NAME)
static EXPORT std::string GetNym_CredentialID(const std::string &NYM_ID, const int32_t &nIndex)
std::string cancel_payment_plan(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &THE_PAYMENT_PLAN) const
static EXPORT void Sleep(const int64_t &MILLISECONDS)
std::string currency_type_id
static EXPORT std::string Ledger_GetTransactionByIndex(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_LEDGER, const int32_t &nIndex)
EXPORT std::string issue_asset_type(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &THE_CONTRACT) const
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
static EXPORT std::string GetNym_CredentialContents(const std::string &NYM_ID, const std::string &CREDENTIAL_ID)
bool retrieve_account(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCOUNT_ID, bool bForceDownload) const
std::string last_sale_price
static EXPORT std::string Encrypt(const std::string &RECIPIENT_NYM_ID, const std::string &strPlaintext)
bool easy_withdraw_cash(const std::string &ACCT_ID, int64_t AMOUNT) const
static EXPORT int32_t Message_GetTransactionSuccess(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_MESSAGE)
std::map< std::string, std::string > mapOfArguments
static EXPORT int32_t Purse_Count(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &THE_PURSE)
returns a count of the number of cash tokens inside this purse.
static EXPORT std::string Message_GetPayload(const std::string &THE_MESSAGE)
static EXPORT int32_t usageCredits(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &USER_ID_CHECK, const int64_t &ADJUSTMENT)
EXPORT int32_t OT_CLI_GetArgsCount(const std::string &str_Args)
static EXPORT int32_t notarizeTransfer(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_FROM, const std::string &ACCT_TO, const int64_t &AMOUNT, const std::string &NOTE)
static EXPORT int32_t GetNymCount()
static EXPORT int32_t SmartContract_CountNumsNeeded(const std::string &THE_CONTRACT, const std::string &AGENT_NAME)
bool withdraw_and_send_cash(const std::string &ACCT_ID, const std::string &RECIPIENT_NYM_ID, const std::string &MEMO, int64_t AMOUNT) const
static EXPORT bool VerifySignature(const std::string &SIGNER_NYM_ID, const std::string &THE_CONTRACT)
std::string available_assets
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
static EXPORT std::string LoadRecordBoxNoVerify(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID)
static EXPORT int64_t Purse_GetTotalValue(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &THE_PURSE)
Get Purse Total Value (internally uses GetTotalValue().)
static EXPORT std::string Smart_GetBylawByIndex(const std::string &THE_CONTRACT, const int32_t &nIndex)
static EXPORT std::string Variable_GetAccess(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const std::string &VARIABLE_NAME)
std::string retrieve_mint(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_ID) const
static EXPORT int32_t AddAssetContract(const std::string &strContract)
std::string load_or_retrieve_signing_key(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &TARGET_NYM_ID) const
static EXPORT time64_t Token_GetValidTo(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &THE_TOKEN)
EXPORT std::string issue_basket_currency(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &THE_BASKET) const
std::string register_nym(const std::string &SERVER_ID, const std::string &NYM_ID) const
static EXPORT std::string Wallet_ExportCert(const std::string &NYM_ID)
Returns the exported cert, if successful. Else nullptr.
static EXPORT std::string Variable_GetNameByIndex(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const int32_t &nIndex)
static EXPORT std::string SymmetricDecrypt(const std::string &SYMMETRIC_KEY, const std::string &CIPHERTEXT_ENVELOPE)
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
static EXPORT std::string GetNym_MailServerIDByIndex(const std::string &NYM_ID, const int32_t &nIndex)
static EXPORT OTVariable * FindVariable2(const std::string &str_var_name)
EXPORT std::string QueryPlainString(std::string strFolder, std::string oneStr="", std::string twoStr="", std::string threeStr="")
static EXPORT int32_t Bylaw_GetVariableCount(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME)
static EXPORT bool ResyncNymWithServer(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &THE_MESSAGE)
static EXPORT std::string SignContract(const std::string &SIGNER_NYM_ID, const std::string &THE_CONTRACT)
static EXPORT std::string GetNym_Name(const std::string &NYM_ID)
EXPORT std::string OT_CLI_ReadLine()
static EXPORT bool NumList_VerifyAll(const std::string &strNumList, const std::string &strNumbers)
EXPORT bool TokenizeIntoKeyValuePairs(Map &map) const
static EXPORT std::string Message_GetLedger(const std::string &THE_MESSAGE)
static EXPORT std::string Transaction_GetRecipientAcctID(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
static EXPORT std::string Instrmnt_GetRecipientUserID(const std::string &THE_INSTRUMENT)
static EXPORT bool SetNym_Name(const std::string &NYM_ID, const std::string &SIGNER_NYM_ID, const std::string &NYM_NEW_NAME)
static EXPORT int32_t withdrawVoucher(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_ID, const std::string &RECIPIENT_USER_ID, const std::string &CHEQUE_MEMO, const int64_t &AMOUNT)
std::string finished_so_far
static EXPORT std::string Ledger_GetTransactionByID(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_LEDGER, const int64_t &TRANSACTION_NUMBER)
std::string transaction_id
static EXPORT int64_t Ledger_GetTransactionIDByIndex(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_LEDGER, const int32_t &nIndex)
static EXPORT int32_t issueBasket(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &THE_BASKET)
static EXPORT int32_t exchangeBasket(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &BASKET_ASSET_ID, const std::string &THE_BASKET, const bool &BOOL_EXCHANGE_IN_OR_OUT)
static EXPORT int32_t GetAssetTypeCount()
static EXPORT std::string GetAccountWallet_ID(const int32_t &nIndex)
EXPORT bool make_sure_enough_trans_nums(int32_t nNumberNeeded, const std::string &SERVER_ID, const std::string &NYM_ID) const
static EXPORT int32_t exchangePurse(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &USER_ID, const std::string &THE_PURSE)
static EXPORT std::string GetNym_NymboxHash(const std::string &SERVER_ID, const std::string &NYM_ID)
static EXPORT int32_t getNym_MarketOffers(const std::string &SERVER_ID, const std::string &USER_ID)
This "Market Offer" data is a lot more detailed than the.
std::string GetValue(const std::string &strKey)
static EXPORT bool Nym_RemoveOutpaymentsByIndex(const std::string &NYM_ID, const int32_t &nIndex)
static EXPORT std::string Wallet_ImportCert(const std::string &DISPLAY_NAME, const std::string &FILE_CONTENTS)
Returns the imported cert's NymID, if successful. Else nullptr.
static EXPORT int32_t AddServerContract(const std::string &strContract)
static EXPORT std::string GetNym_OutpaymentsRecipientIDByIndex(const std::string &NYM_ID, const int32_t &nIndex)
EXPORT std::string load_public_signing_key(const std::string &NYM_ID) const
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
static EXPORT int64_t Basket_GetMinimumTransferAmount(const std::string &BASKET_ASSET_TYPE_ID)
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
static EXPORT bool Wallet_CanRemoveAccount(const std::string &ACCOUNT_ID)
static EXPORT std::string GenerateBasketCreation(const std::string &USER_ID, const int64_t &MINIMUM_TRANSFER)
static EXPORT std::string Party_GetAcctID(const std::string &THE_CONTRACT, const std::string &PARTY_NAME, const std::string &ACCT_NAME)
static EXPORT bool Wallet_CanRemoveAssetType(const std::string &ASSET_ID)
static EXPORT bool Wallet_ImportPurse(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &USER_ID, const std::string &THE_PURSE)
Should handle duplicates. Should load, merge, and save.
static EXPORT std::string GetNym_MailSenderIDByIndex(const std::string &NYM_ID, const int32_t &nIndex)
static EXPORT std::string Hook_GetClauseAtIndex(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const std::string &HOOK_NAME, const int32_t &nIndex)
#define OT_ASSERT_MSG(x, s)
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
static EXPORT std::string LoadInbox(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID)
std::string load_public_encryption_key(const std::string &NYM_ID) const
static EXPORT std::string Variable_GetContents(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const std::string &VARIABLE_NAME)
static EXPORT int32_t getAccount(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_ID)
static EXPORT std::string Transaction_GetSenderUserID(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
std::string transaction_id
static EXPORT std::string Transaction_GetVoucher(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
static EXPORT std::string Decode(const std::string &strEncoded, const bool &bLineBreaks)
EXPORT std::string OT_CLI_GetKeyByIndex(const std::string &str_Args, int32_t nIndex)
std::string currency_paid
EXPORT bool StoreString(std::string strContents, std::string strFolder, std::string oneStr="", std::string twoStr="", std::string threeStr="")
static EXPORT bool ClearExpired(const std::string &SERVER_ID, const std::string &USER_ID, const int32_t &nIndex, const bool &bClearAll)
static EXPORT std::string EasyProposePlan(const std::string &SERVER_ID, const std::string &DATE_RANGE, const std::string &SENDER_ACCT_ID, const std::string &SENDER_USER_ID, const std::string &PLAN_CONSIDERATION, const std::string &RECIPIENT_ACCT_ID, const std::string &RECIPIENT_USER_ID, const std::string &INITIAL_PAYMENT, const std::string &PAYMENT_PLAN, const std::string &PLAN_EXPIRY)
static EXPORT bool Nym_RemoveOutmailByIndex(const std::string &NYM_ID, const int32_t &nIndex)
EXPORT std::string retrieve_mint(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ASSET_ID) const
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
static EXPORT std::string CreateServerContract(const std::string &NYM_ID, const std::string &strXMLcontents)
static EXPORT std::string GetAccountWallet_OutboxHash(const std::string &ACCOUNT_ID)
static EXPORT std::string Message_GetCommand(const std::string &THE_MESSAGE)
static EXPORT std::string Purse_Pop(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &OWNER_OR_SIGNER_ID, const std::string &THE_PURSE)
static EXPORT int32_t getNymbox(const std::string &SERVER_ID, const std::string &USER_ID)
static EXPORT std::string FlatSign(const std::string &SIGNER_NYM_ID, const std::string &THE_INPUT, const std::string &CONTRACT_TYPE)
static EXPORT int32_t getTransactionNumber(const std::string &SERVER_ID, const std::string &USER_ID)
static EXPORT std::string GetAssetType_Contract(const std::string &ASSET_TYPE_ID)
static EXPORT std::string Clause_GetContents(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const std::string &CLAUSE_NAME)
static EXPORT bool Mint_IsStillGood(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID)
bool cancel_outgoing_payments(const std::string &NYM_ID, const std::string &ACCOUNT_ID, const std::string &INDICES) const
static EXPORT int32_t getRequest(const std::string &SERVER_ID, const std::string &USER_ID)
static EXPORT int32_t issueAssetType(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &THE_CONTRACT)
static EXPORT int32_t GetNym_OutmailCount(const std::string &NYM_ID)
static EXPORT std::string GetNym_OutpaymentsServerIDByIndex(const std::string &NYM_ID, const int32_t &nIndex)
std::string withdraw_cash(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, int64_t AMOUNT) const
static EXPORT std::string SmartContract_AddBylaw(const std::string &THE_CONTRACT, const std::string &SIGNER_NYM_ID, const std::string &BYLAW_NAME)
OTLOG_IMPORT OTLogStream otWarn
static EXPORT std::string CreateSymmetricKey()
static EXPORT std::string AddSignature(const std::string &SIGNER_NYM_ID, const std::string &THE_CONTRACT)
std::string minimum_increment
EXPORT std::string check_user(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &TARGET_NYM_ID) const
static EXPORT std::string LoadUserPubkey_Encryption(const std::string &USER_ID)
static EXPORT void FlushSentMessages(const bool &bHarvestingForRetry, const std::string &SERVER_ID, const std::string &USER_ID, const std::string &THE_NYMBOX)
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
static EXPORT std::string Callback_GetClause(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME, const std::string &CALLBACK_NAME)
static EXPORT std::string Message_GetNewIssuerAcctID(const std::string &THE_MESSAGE)
static EXPORT std::string Party_GetAcctAgentName(const std::string &THE_CONTRACT, const std::string &PARTY_NAME, const std::string &ACCT_NAME)
static EXPORT std::string SmartContract_ConfirmParty(const std::string &THE_CONTRACT, const std::string &PARTY_NAME, const std::string &NYM_ID)
OTLOG_IMPORT OTLogStream otErr
EXPORT int32_t ExecuteScript_ReturnInt(const std::string &str_Code, std::string str_DisplayName="<BLANK>")
static EXPORT std::string LoadOutbox(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID)
static EXPORT std::string NumList_Add(const std::string &strNumList, const std::string &strNumbers)
static EXPORT std::string Transaction_GetRecipientUserID(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
static EXPORT std::string Ledger_CreateResponse(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &ORIGINAL_LEDGER)
Creates a new 'response' ledger, set up with the right Server ID, etc,.
bool discard_incoming_payments(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &INDICES) const
std::map< std::string, std::string > the_map
EXPORT std::string create_nym(int32_t nKeybits, const std::string &NYM_ID_SOURCE, const std::string &ALT_LOCATION) const
static EXPORT std::string SmartContract_AddClause(const std::string &THE_CONTRACT, const std::string &SIGNER_NYM_ID, const std::string &BYLAW_NAME, const std::string &CLAUSE_NAME, const std::string &SOURCE_CODE)
static EXPORT int32_t deleteUserAccount(const std::string &SERVER_ID, const std::string &USER_ID)
static EXPORT int64_t Message_GetUsageCredits(const std::string &THE_MESSAGE)
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
static EXPORT bool VerifyAccountReceipt(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID)
static EXPORT const OTString & ScriptsFolder()
static EXPORT std::string LoadPaymentInboxNoVerify(const std::string &SERVER_ID, const std::string &USER_ID)
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
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
static EXPORT std::string GetAssetType_ID(const int32_t &nIndex)
static EXPORT bool Nym_VerifyOutmailByIndex(const std::string &NYM_ID, const int32_t &nIndex)
static EXPORT int32_t createAssetAccount(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ASSET_ID)
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
EXPORT void AddVariable(const std::string &str_var_name, OTVariable &theVar)
std::string completed_count
static EXPORT std::string Smart_GetPartyByIndex(const std::string &THE_CONTRACT, const int32_t &nIndex)
static EXPORT std::string LoadMint(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID)
static EXPORT int64_t Transaction_GetDisplayReferenceToNum(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
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
static EXPORT std::string GetNym_AltSourceLocation(const std::string &NYM_ID)
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
static EXPORT std::string SmartContract_ConfirmAccount(const std::string &THE_CONTRACT, const std::string &SIGNER_NYM_ID, const std::string &PARTY_NAME, const std::string &ACCT_NAME, const std::string &AGENT_NAME, const std::string &ACCT_ID)
EXPORT std::string load_or_retrieve_contract(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &CONTRACT_ID) const
static EXPORT int64_t Token_GetDenomination(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &THE_TOKEN)
The actual cash value of the token. Returns a int64_t.
EXPORT bool retrieve_account(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCOUNT_ID, bool bForceDownload=false) const
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
static EXPORT std::string GetNym_OutmailServerIDByIndex(const std::string &NYM_ID, const int32_t &nIndex)
std::string retrieve_contract(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &CONTRACT_ID) const
static EXPORT std::string Message_GetNymboxHash(const std::string &THE_MESSAGE)
static EXPORT int32_t GetNym_TransactionNumCount(const std::string &SERVER_ID, const std::string &NYM_ID)
static EXPORT int64_t Basket_GetMemberMinimumTransferAmount(const std::string &BASKET_ASSET_TYPE_ID, const int32_t &nIndex)
static EXPORT std::string Token_GetID(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &THE_TOKEN)
EXPORT bool Exists(std::string strFolder, std::string oneStr="", std::string twoStr="", std::string threeStr="")
static EXPORT std::string Pending_GetNote(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
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
static EXPORT int64_t StringToAmount(const std::string &ASSET_TYPE_ID, const std::string &str_input)
static EXPORT std::string GetActiveCronItem(const std::string &SERVER_ID, int64_t lTransNum)
static EXPORT int32_t getOutbox(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_ID)
std::string query_asset_types(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ENCODED_MAP) const
static EXPORT std::string Token_GetServerID(const std::string &THE_TOKEN)
EXPORT Storable * DecodeObject(StoredObjectType theObjectType, std::string strInput)
static EXPORT std::string Wallet_ImportNym(const std::string &FILE_CONTENTS)
returns NymID if success, else nullptr.
static EXPORT std::string PopMessageBuffer(const int64_t &REQUEST_NUMBER, const std::string &SERVER_ID, const std::string &USER_ID)
std::string asset_acct_id
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
static EXPORT std::string Purse_Peek(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &OWNER_ID, const std::string &THE_PURSE)
std::string asset_type_id
static EXPORT std::string LoadUserPubkey_Signing(const std::string &USER_ID)
static EXPORT int32_t killMarketOffer(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ASSET_ACCT_ID, const int64_t &TRANSACTION_NUMBER)
std::string check_user(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &TARGET_NYM_ID) const
static EXPORT time64_t Transaction_GetDateSigned(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
static EXPORT int32_t Bylaw_GetHookCount(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME)
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
bool retrieve_nym(const std::string &SERVER_ID, const std::string &NYM_ID, bool bForceDownload) const
static EXPORT int32_t Party_GetAcctCount(const std::string &THE_CONTRACT, const std::string &PARTY_NAME)
static EXPORT int32_t GetNym_SubcredentialCount(const std::string &NYM_ID, const std::string &MASTER_CRED_ID)
static EXPORT std::string Encode(const std::string &strPlaintext, const bool &bLineBreaks)
static EXPORT std::string GetNym_OutpaymentsContentsByIndex(const std::string &NYM_ID, const int32_t &nIndex)
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
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
EXPORT bool StoreObject(Storable &theContents, std::string strFolder, std::string oneStr="", std::string twoStr="", std::string threeStr="")
static EXPORT std::string SmartContract_AddCallback(const std::string &THE_CONTRACT, const std::string &SIGNER_NYM_ID, const std::string &BYLAW_NAME, const std::string &CALLBACK_NAME, const std::string &CLAUSE_NAME)
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
static EXPORT std::string GetAccountWallet_InboxHash(const std::string &ACCOUNT_ID)
static EXPORT int32_t NumList_Count(const std::string &strNumList)
static EXPORT time64_t Instrmnt_GetValidTo(const std::string &THE_INSTRUMENT)
static EXPORT std::string GetAccountWallet_Type(const std::string &ACCOUNT_ID)
static EXPORT std::string Decrypt(const std::string &RECIPIENT_NYM_ID, const std::string &strCiphertext)
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
static EXPORT bool IsNym_RegisteredAtServer(const std::string &NYM_ID, const std::string &SERVER_ID)
static EXPORT bool AppendFile(OTString &out_strPath, const OTString &strBasePath, const OTString &strFileName)
EXPORT int32_t VerifyMessageSuccess(const std::string &str_Message) const
std::string last_sale_date
EXPORT std::string OT_CLI_ReadUntilEOF()
static EXPORT int32_t depositCheque(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_ID, const std::string &THE_CHEQUE)
static EXPORT int32_t Transaction_GetBalanceAgreementSuccess(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
static EXPORT bool DiscardCheque(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_ID, const std::string &THE_CHEQUE)
static EXPORT int32_t GetNym_MailCount(const std::string &NYM_ID)
static EXPORT std::string Message_GetNewAssetTypeID(const std::string &THE_MESSAGE)
static EXPORT int32_t triggerClause(const std::string &SERVER_ID, const std::string &USER_ID, const int64_t &TRANSACTION_NUMBER, const std::string &CLAUSE_NAME, const std::string &STR_PARAM)
static EXPORT int32_t Bylaw_GetCallbackCount(const std::string &THE_CONTRACT, const std::string &BYLAW_NAME)
static EXPORT std::string SmartContract_AddAccount(const std::string &THE_CONTRACT, const std::string &SIGNER_NYM_ID, const std::string &PARTY_NAME, const std::string &ACCT_NAME, const std::string &ASSET_TYPE_ID)
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
static EXPORT int32_t getInbox(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCT_ID)
static EXPORT std::string GetNym_SourceForID(const std::string &NYM_ID)
void SetValue(const std::string &strKey, const std::string &strValue)
static EXPORT int32_t Party_GetAgentCount(const std::string &THE_CONTRACT, const std::string &PARTY_NAME)
EXPORT bool accept_inbox_items(const std::string &ACCOUNT_ID, int32_t nItemType, const std::string &INDICES) const
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
static EXPORT std::string LoadInboxNoVerify(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID)
These versions don't verify the ledger, they just load it up.
static EXPORT OTString Get()
static EXPORT int32_t killPaymentPlan(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &FROM_ACCT_ID, const int64_t &TRANSACTION_NUMBER)
static EXPORT bool Nym_RemoveMailByIndex(const std::string &NYM_ID, const int32_t &nIndex)
EXPORT bool cancel_outgoing_payments(const std::string &NYM_ID, const std::string &ACCOUNT_ID, const std::string &INDICES) const
EXPORT bool accept_from_paymentbox(const std::string &ACCOUNT_ID, const std::string &INDICES, const std::string &PAYMENT_TYPE) const
EXPORT std::shared_ptr< OTScript > OTScriptFactory(const std::string &script_type="")
EXPORT std::string stat_asset_account(const std::string &ACCOUNT_ID) const
std::string transaction_id
static EXPORT std::string GetAssetType_Name(const std::string &ASSET_TYPE_ID)
static EXPORT int32_t getMarketRecentTrades(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &MARKET_ID)
Gets all recent trades (up until maximum depth)
std::string get_market_recent_trades(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &MARKET_ID) const
static EXPORT bool NumList_VerifyQuery(const std::string &strNumList, const std::string &strNumbers)
static EXPORT std::string CreatePurse_Passphrase(const std::string &SERVER_ID, const std::string &ASSET_TYPE_ID, const std::string &SIGNER_ID)
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
int32_t CopyValueInteger() const
static EXPORT std::string WriteCheque(const std::string &SERVER_ID, const int64_t &CHEQUE_AMOUNT, const time64_t &VALID_FROM, const time64_t &VALID_TO, const std::string &SENDER_ACCT_ID, const std::string &SENDER_USER_ID, const std::string &CHEQUE_MEMO, const std::string &RECIPIENT_USER_ID)
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
static EXPORT std::string GetAccountWallet_AssetTypeID(const std::string &ACCOUNT_ID)
static EXPORT std::string LoadAssetAccount(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID)
static EXPORT std::string GetNym_RevokedCredID(const std::string &NYM_ID, const int32_t &nIndex)
static EXPORT bool HaveAlreadySeenReply(const std::string &SERVER_ID, const std::string &USER_ID, const int64_t &REQUEST_NUMBER)
static EXPORT int32_t sendUserMessage(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &USER_ID_RECIPIENT, const std::string &RECIPIENT_PUBKEY, const std::string &THE_MESSAGE)
static EXPORT std::string GetAccountWallet_ServerID(const std::string &ACCOUNT_ID)
static EXPORT std::string Wallet_GetServerIDFromPartial(const std::string &PARTIAL_ID)
std::string price_per_scale
static EXPORT std::string Transaction_GetType(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_TRANSACTION)
Get Transaction Type (internally uses GetTransactionTypeString().)
static EXPORT int32_t checkUser(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &USER_ID_CHECK)
std::string price_per_scale
static EXPORT int32_t Smart_GetPartyCount(const std::string &THE_CONTRACT)
static EXPORT int32_t Message_GetBalanceAgreementSuccess(const std::string &SERVER_ID, const std::string &USER_ID, const std::string &ACCOUNT_ID, const std::string &THE_MESSAGE)
EXPORT std::string withdraw_cash(const std::string &SERVER_ID, const std::string &NYM_ID, const std::string &ACCT_ID, int64_t AMOUNT) const
static EXPORT bool Purse_HasPassword(const std::string &SERVER_ID, const std::string &THE_PURSE)