From 39e950f8d87f20879829c0c94a026cb188b37104 Mon Sep 17 00:00:00 2001 From: Mihailo Milenkovic Date: Fri, 19 Oct 2018 16:17:37 +0200 Subject: [PATCH] Fix oraclefeed bugs and gatewaysmultisig rpc call --- src/cc/dapps/oraclefeed.c | 7 ++++--- src/wallet/rpcwallet.cpp | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/cc/dapps/oraclefeed.c b/src/cc/dapps/oraclefeed.c index eaf488a34..3662b7742 100644 --- a/src/cc/dapps/oraclefeed.c +++ b/src/cc/dapps/oraclefeed.c @@ -332,6 +332,7 @@ cJSON *get_komodocli(char *refcoin,char **retstrp,char *acname,char *method,char if ( (jsonstr= filestr(&fsize,fname)) != 0 ) { //fprintf(stderr,"%s -> jsonstr.(%s)\n",cmdstr,jsonstr); + jsonstr[strlen(jsonstr)-1]='\0'; if ( (jsonstr[0] != '{' && jsonstr[0] != '[') || (retjson= cJSON_Parse(jsonstr)) == 0 ) *retstrp = jsonstr; else free(jsonstr); @@ -584,7 +585,7 @@ char *createmultisig(char *refcoin,char *acname,char *depositaddr,char *signerad return(0); } satoshis -= txfee; - sprintf(array,"[\"%s\"]",depositaddr); + sprintf(array,"\'[\"%s\"]\'",depositaddr); if ( (retjson= get_komodocli(refcoin,&retstr,acname,"listunspent","1","99999999",array,"")) != 0 ) { //createrawtransaction [{"txid":"id","vout":n},...] {"address":amount,...} @@ -628,7 +629,7 @@ cJSON *addmultisignature(char *refcoin,char *acname,char *signeraddr,char *rawtx char *retstr,*hexstr; cJSON *retjson; if ( (retjson= get_komodocli(refcoin,&retstr,acname,"signrawtransaction",rawtx,"","","")) != 0 ) { - if ( jint(retjson,"complete") != 0 ) + if ( is_cJSON_True(jobj(retjson,"complete")) != 0 ) return(retjson); else if ( (hexstr= jstr(retjson,"hex")) != 0 && strlen(hexstr) > strlen(rawtx) ) { @@ -814,7 +815,7 @@ void update_gatewayspending(char *refcoin,char *acname,char *bindtxidstr,int32_t { if ( (clijson= addmultisignature(refcoin,"",signeraddr,rawtx)) != 0 ) { - if ( jint(clijson,"complete") != 0 ) + if ( is_cJSON_True(jobj(clijson,"complete")) != 0 ) { cointxid = komodobroadcast(refcoin,"",clijson); if ( bits256_nonz(cointxid) != 0 ) diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index e7c8e2bdd..59f0b6ba7 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -5593,7 +5593,7 @@ UniValue gatewayspending(const UniValue& params, bool fHelp) UniValue gatewaysmultisig(const UniValue& params, bool fHelp) { UniValue result(UniValue::VOBJ); uint256 bindtxid,withtxid; std::string coin,hex; char *txidaddr; - if ( fHelp || params.size() != 2 ) + if ( fHelp || params.size() != 4 ) throw runtime_error("gatewaysmultisig bindtxid coin withtxid txidaddr\n"); if ( ensure_CCrequirements() < 0 ) throw runtime_error("to use CC contracts, you need to launch daemon with valid -pubkey= for an address in your wallet\n");