This commit is contained in:
Mihailo Milenkovic
2018-10-29 17:30:53 +01:00
parent 38e5f55f1c
commit e7208f0849

View File

@@ -565,11 +565,12 @@ void importaddress(char *refcoin,char *acname,char *depositaddr)
void addmultisigaddress(char *refcoin,char *acname,int32_t M, char *pubkeys,char *bindtxidstr) void addmultisigaddress(char *refcoin,char *acname,int32_t M, char *pubkeys,char *bindtxidstr)
{ {
cJSON *retjson; char *retstr,Mstr[10]; cJSON *retjson; char *retstr,Mstr[10],tmp[128];
printf("%d %s\n",M,pubkeys); printf("%d %s\n",M,pubkeys);
sprintf(Mstr,"%d",M); sprintf(Mstr,"%d",M);
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"addmultisigaddress",Mstr,pubkeys,bindtxidstr,"")) != 0 ) sprintf(tmp,"\"%s\"",bindtxidstr);
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"addmultisigaddress",Mstr,pubkeys,tmp,"")) != 0 )
{ {
printf("addmultisigaddress.(%s)\n",jprint(retjson,0)); printf("addmultisigaddress.(%s)\n",jprint(retjson,0));
free_json(retjson); free_json(retjson);
@@ -726,9 +727,9 @@ void gatewaysmarkdone(char *refcoin,char *acname,bits256 withtxid,char *coin,bit
} }
} }
int32_t get_gatewaysinfo(char *refcoin,char *acname,char *depositaddr,int32_t *Mp,int32_t *Np,char *bindtxidstr,char *coin,char *oraclestr, char *pubkeys) int32_t get_gatewaysinfo(char *refcoin,char *acname,char *depositaddr,int32_t *Mp,int32_t *Np,char *bindtxidstr,char *coin,char *oraclestr, char **pubkeys)
{ {
char *oracle,*retstr,*name,*deposit; cJSON *retjson,*pubarray; int32_t n; char *oracle,*retstr,*name,*deposit,temp[128]; cJSON *retjson,*pubarray; int32_t n;
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"gatewaysinfo",bindtxidstr,"","","")) != 0 ) if ( (retjson= get_komodocli(refcoin,&retstr,acname,"gatewaysinfo",bindtxidstr,"","","")) != 0 )
{ {
if ( (oracle= jstr(retjson,"oracletxid")) != 0 && strcmp(oracle,oraclestr) == 0 && (deposit= jstr(retjson,"deposit")) != 0 ) if ( (oracle= jstr(retjson,"oracletxid")) != 0 && strcmp(oracle,oraclestr) == 0 && (deposit= jstr(retjson,"deposit")) != 0 )
@@ -738,21 +739,23 @@ int32_t get_gatewaysinfo(char *refcoin,char *acname,char *depositaddr,int32_t *M
{ {
*Mp = jint(retjson,"M"); *Mp = jint(retjson,"M");
*Np = jint(retjson,"N"); *Np = jint(retjson,"N");
//printf("(%s)\n",jprint(retjson,0)); }
} else printf("coin.%s vs %s\n",jstr(retjson,"coin"),coin); else printf("coin.%s vs %s\n",jstr(retjson,"coin"),coin);
if (jarray(&n,retjson,"pubkeys")!=0) if ((pubarray=jarray(&n,retjson,"pubkeys"))!=0)
{ {
pubkeys=malloc((sizeof(char)*70*n)+5); *pubkeys=malloc((sizeof(char)*70*n)+64);
sprintf(pubkeys,"\"["); sprintf(*pubkeys,"\"[");
for (int i=0;i<n;i++) for (int i=0;i<n;i++)
{ {
sprintf(pubkeys,"\\\"%s\\\"",jstri(pubarray,i)); sprintf(temp,"\\\"%s\\\"",jstri(pubarray,i));
if (i<n-1) sprintf(pubkeys,","); if (i<n-1) strcat(temp,",");
strcat(*pubkeys,temp);
} }
sprintf(pubkeys,"]\""); sprintf(temp,"]\"");
fprintf(stderr,"Pubkeys:!!!%s!!!\n",pubkeys); strcat(*pubkeys,temp);
} }
} else printf("%s != %s\n",oracle,oraclestr); }
else printf("%s != %s\n",oracle,oraclestr);
free_json(retjson); free_json(retjson);
} }
else if ( retstr != 0 ) else if ( retstr != 0 )
@@ -1023,7 +1026,7 @@ int32_t main(int32_t argc,char **argv)
exit(0); exit(0);
} }
pubkeys=NULL; pubkeys=NULL;
if ( get_gatewaysinfo("KMD",acname,depositaddr,&M,&N,bindtxidstr,refcoin,oraclestr,pubkeys) < 0 ) if ( get_gatewaysinfo("KMD",acname,depositaddr,&M,&N,bindtxidstr,refcoin,oraclestr,&pubkeys) < 0 )
{ {
printf("cant find bindtxid.(%s)\n",bindtxidstr); printf("cant find bindtxid.(%s)\n",bindtxidstr);
exit(0); exit(0);