From 8c66ce0a7fcd7c8452aef8f850662b526cd9c04a Mon Sep 17 00:00:00 2001 From: "Jonathan \"Duke\" Leto" Date: Tue, 20 Nov 2018 13:22:16 -0800 Subject: [PATCH] Teach oracles* RPC functions about CCerror and start populating it --- src/cc/oracles.cpp | 6 ++++-- src/wallet/rpcwallet.cpp | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cc/oracles.cpp b/src/cc/oracles.cpp index 5bee9ce86..1b233dd3e 100644 --- a/src/cc/oracles.cpp +++ b/src/cc/oracles.cpp @@ -794,12 +794,14 @@ std::string OracleData(int64_t txfee,uint256 oracletxid,std::vector da mypk = pubkey2pk(Mypubkey()); if ( data.size() > 8192 ) { - fprintf(stderr,"datasize %d is too big\n",(int32_t)data.size()); + CCerror = strprintf("datasize %d is too big\n",(int32_t)data.size()); + fprintf(stderr,"%s\n", CCerror.c_str() ); return(""); } if ( (datafee= OracleDatafee(pubKey,oracletxid,mypk)) <= 0 ) { - fprintf(stderr,"datafee %.8f is illegal\n",(double)datafee/COIN); + CCerror = strprintf("datafee %.8f is illegal\n",(double)datafee/COIN); + fprintf(stderr,"%s\n", CCerror.c_str() ); return(""); } if ( txfee == 0 ) diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index 08720dd6b..aa39c451a 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -6157,6 +6157,7 @@ UniValue oraclesregister(const UniValue& params, bool fHelp) if ( (datafee= atol((char *)params[1].get_str().c_str())) == 0 ) datafee = atof((char *)params[1].get_str().c_str()) * COIN + 0.00000000499999; hex = OracleRegister(0,txid,datafee); + RETURN_IF_ERROR(CCerror); if ( hex.size() > 0 ) { result.push_back(Pair("result", "success")); @@ -6178,6 +6179,7 @@ UniValue oraclessubscribe(const UniValue& params, bool fHelp) pubkey = ParseHex(params[1].get_str().c_str()); amount = atof((char *)params[2].get_str().c_str()) * COIN + 0.00000000499999; hex = OracleSubscribe(0,txid,pubkey2pk(pubkey),amount); + RETURN_IF_ERROR(CCerror); if ( hex.size() > 0 ) { result.push_back(Pair("result", "success")); @@ -6211,6 +6213,9 @@ UniValue oraclesdata(const UniValue& params, bool fHelp) txid = Parseuint256((char *)params[0].get_str().c_str()); data = ParseHex(params[1].get_str().c_str()); hex = OracleData(0,txid,data); + + RETURN_IF_ERROR(CCerror); + if ( hex.size() > 0 ) { result.push_back(Pair("result", "success")); @@ -6265,6 +6270,7 @@ UniValue oraclescreate(const UniValue& params, bool fHelp) return(result); } hex = OracleCreate(0,name,description,format); + RETURN_IF_ERROR(CCerror); if ( hex.size() > 0 ) { result.push_back(Pair("result", "success"));