This commit is contained in:
jl777
2017-07-12 13:19:59 +02:00
parent 3f318aa449
commit 44165ded33

View File

@@ -36,7 +36,7 @@
#define JUMBLR_ERROR_DUPLICATEDEPOSIT -1 #define JUMBLR_ERROR_DUPLICATEDEPOSIT -1
#define JUMBLR_ERROR_SECRETCANTBEDEPOSIT -2 #define JUMBLR_ERROR_SECRETCANTBEDEPOSIT -2
#define JUMBLR_ERROR_TOOMANYSECRETS -3 #define JUMBLR_ERROR_TOOMANYSECRETS -3
#define JUMBLR_ERROR_IMPORTADDRESS -4 #define JUMBLR_ERROR_NOTINWALLET -4
struct jumblr_item struct jumblr_item
{ {
@@ -81,6 +81,13 @@ char *jumblr_importaddress(char *address)
return(jumblr_issuemethod(KMDUSERPASS,(char *)"importaddress",params,7771)); return(jumblr_issuemethod(KMDUSERPASS,(char *)"importaddress",params,7771));
} }
char *jumblr_validateaddress(char *addr)
{
char params[1024];
sprintf(params,"[\"%s\"]",addr);
return(jumblr_issuemethod(KMDUSERPASS,(char *)"validateaddress",params,7771));
}
int32_t Jumblr_secretaddrfind(char *searchaddr) int32_t Jumblr_secretaddrfind(char *searchaddr)
{ {
int32_t i; int32_t i;
@@ -119,19 +126,19 @@ int32_t Jumblr_secretaddradd(char *secretaddr) // external
int32_t Jumblr_depositaddradd(char *depositaddr) // external int32_t Jumblr_depositaddradd(char *depositaddr) // external
{ {
int32_t ind,retval = JUMBLR_ERROR_DUPLICATEDEPOSIT; char *retstr; cJSON *retjson; int32_t ind,retval = JUMBLR_ERROR_DUPLICATEDEPOSIT; char *retstr; cJSON *retjson,*ismine;
if ( depositaddr == 0 ) if ( depositaddr == 0 )
depositaddr = (char *)""; depositaddr = (char *)"";
if ( (ind= Jumblr_secretaddrfind(depositaddr)) < 0 ) if ( (ind= Jumblr_secretaddrfind(depositaddr)) < 0 )
{ {
safecopy(Jumblr_deposit,depositaddr,sizeof(Jumblr_deposit)); safecopy(Jumblr_deposit,depositaddr,sizeof(Jumblr_deposit));
if ( (retstr= jumblr_importaddress(depositaddr)) != 0 ) if ( (retstr= jumblr_validateaddress(depositaddr)) != 0 )
{ {
if ( (retjson= cJSON_Parse(retstr)) != 0 ) if ( (retjson= cJSON_Parse(retstr)) != 0 )
{ {
if ( jobj(retjson,(char *)"error") == 0 || is_cJSON_Null(jobj(retjson,(char *)"error")) != 0 ) if ( (ismine= jobj(retjson,(char *)"ismine")) != 0 && is_cJSON_True(ismine) != 0 )
retval = 0; retval = 0;
else retval = JUMBLR_ERROR_IMPORTADDRESS; else retval = JUMBLR_ERROR_NOTINWALLET;
free_json(retjson); free_json(retjson);
} }
free(retstr); free(retstr);
@@ -182,13 +189,6 @@ struct jumblr_item *jumblr_opidadd(char *opid)
return(ptr); return(ptr);
} }
char *jumblr_validateaddress(char *addr)
{
char params[1024];
sprintf(params,"[\"%s\"]",addr);
return(jumblr_issuemethod(KMDUSERPASS,(char *)"validateaddress",params,7771));
}
char *jumblr_zgetnewaddress() char *jumblr_zgetnewaddress()
{ {
char params[1024]; char params[1024];