Merge pull request #1117 from jl777/dev

Dev
This commit is contained in:
jl777
2018-12-19 09:34:54 -11:00
committed by GitHub

View File

@@ -649,55 +649,55 @@ int64_t z_getbalance(char *refcoin,char *acname,char *coinaddr)
int32_t z_exportkey(char *privkey,char *refcoin,char *acname,char *zaddr) int32_t z_exportkey(char *privkey,char *refcoin,char *acname,char *zaddr)
{ {
cJSON *retjson; char *retstr,cmpstr[64]; int64_t amount=0; cJSON *retjson; char *retstr,cmpstr[64]; int64_t amount=0; int32_t retval = -1;
privkey[0] = 0; privkey[0] = 0;
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"z_exportkey",zaddr,"","","")) != 0 ) if ( (retjson= get_komodocli(refcoin,&retstr,acname,"z_exportkey",zaddr,"","","")) != 0 )
{ {
fprintf(stderr,"z_exportkey.(%s) %s returned json!\n",refcoin,acname); fprintf(stderr,"z_exportkey.(%s) %s returned json!\n",refcoin,acname);
free_json(retjson); free_json(retjson);
return(-1);
} }
else if ( retstr != 0 ) else if ( retstr != 0 )
{ {
//printf("retstr %s -> %.8f\n",retstr,dstr(amount)); //printf("retstr %s -> %.8f\n",retstr,dstr(amount));
strcpy(privkey,retstr); strcpy(privkey,retstr);
free(retstr); free(retstr);
return(0); retval = 0;
} }
return(retval);
} }
int32_t getnewaddress(char *coinaddr,char *refcoin,char *acname) int32_t getnewaddress(char *coinaddr,char *refcoin,char *acname)
{ {
cJSON *retjson; char *retstr; int64_t amount=0; cJSON *retjson; char *retstr; int64_t amount=0; int32_t retval = -1;
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"getnewaddress","","","","")) != 0 ) if ( (retjson= get_komodocli(refcoin,&retstr,acname,"getnewaddress","","","","")) != 0 )
{ {
fprintf(stderr,"getnewaddress.(%s) %s returned json!\n",refcoin,acname); fprintf(stderr,"getnewaddress.(%s) %s returned json!\n",refcoin,acname);
free_json(retjson); free_json(retjson);
return(-1);
} }
else if ( retstr != 0 ) else if ( retstr != 0 )
{ {
strcpy(coinaddr,retstr); strcpy(coinaddr,retstr);
free(retstr); free(retstr);
return(0); retval = 0;
} }
return(retval);
} }
int32_t z_getnewaddress(char *coinaddr,char *refcoin,char *acname,char *typestr) int32_t z_getnewaddress(char *coinaddr,char *refcoin,char *acname,char *typestr)
{ {
cJSON *retjson; char *retstr; int64_t amount=0; cJSON *retjson; char *retstr; int64_t amount=0; int32_t retval = -1;
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"z_getnewaddress",typestr,"","","")) != 0 ) if ( (retjson= get_komodocli(refcoin,&retstr,acname,"z_getnewaddress",typestr,"","","")) != 0 )
{ {
fprintf(stderr,"z_getnewaddress.(%s) %s returned json!\n",refcoin,acname); fprintf(stderr,"z_getnewaddress.(%s) %s returned json!\n",refcoin,acname);
free_json(retjson); free_json(retjson);
return(-1);
} }
else if ( retstr != 0 ) else if ( retstr != 0 )
{ {
strcpy(coinaddr,retstr); strcpy(coinaddr,retstr);
free(retstr); free(retstr);
return(0); retval = 0;
} }
return(retval);
} }
int64_t find_onetime_amount(char *coinstr,char *coinaddr) int64_t find_onetime_amount(char *coinstr,char *coinaddr)
@@ -712,6 +712,10 @@ int64_t find_onetime_amount(char *coinstr,char *coinaddr)
for (i=0; i<n; i++) for (i=0; i<n; i++)
{ {
item = jitem(array,i); item = jitem(array,i);
if (is_cJSON_False(jobj(item, "spendable")) != 0)
{
continue;
}
if ( (addr= jstr(item,"address")) != 0 ) if ( (addr= jstr(item,"address")) != 0 )
{ {
strcpy(coinaddr,addr); strcpy(coinaddr,addr);
@@ -768,7 +772,7 @@ void importaddress(char *refcoin,char *acname,char *depositaddr)
int32_t z_sendmany(char *opidstr,char *coinstr,char *acname,char *srcaddr,char *destaddr,int64_t amount) int32_t z_sendmany(char *opidstr,char *coinstr,char *acname,char *srcaddr,char *destaddr,int64_t amount)
{ {
cJSON *retjson; char *retstr,params[1024],addr[128]; cJSON *retjson; char *retstr,params[1024],addr[128]; int32_t retval = -1;
sprintf(params,"'[{\"address\":\"%s\",\"amount\":%.8f}]'",destaddr,dstr(amount)); sprintf(params,"'[{\"address\":\"%s\",\"amount\":%.8f}]'",destaddr,dstr(amount));
sprintf(addr,"\"%s\"",srcaddr); sprintf(addr,"\"%s\"",srcaddr);
printf("z_sendmany from.(%s) -> %s\n",srcaddr,params); printf("z_sendmany from.(%s) -> %s\n",srcaddr,params);
@@ -776,15 +780,15 @@ int32_t z_sendmany(char *opidstr,char *coinstr,char *acname,char *srcaddr,char *
{ {
printf("unexpected json z_sendmany.(%s)\n",jprint(retjson,0)); printf("unexpected json z_sendmany.(%s)\n",jprint(retjson,0));
free_json(retjson); free_json(retjson);
return(-1);
} }
else if ( retstr != 0 ) else if ( retstr != 0 )
{ {
fprintf(stderr,"z_sendmany.(%s) -> opid.(%s)\n",coinstr,retstr); fprintf(stderr,"z_sendmany.(%s) -> opid.(%s)\n",coinstr,retstr);
strcpy(opidstr,retstr); strcpy(opidstr,retstr);
free(retstr); free(retstr);
return(0); retval = 0;
} }
return(retval);
} }
int32_t z_mergetoaddress(char *opidstr,char *coinstr,char *acname,char *destaddr) int32_t z_mergetoaddress(char *opidstr,char *coinstr,char *acname,char *destaddr)