diff --git a/basilisk/basilisk.c b/basilisk/basilisk.c index 3e0331e7f..ec77bab92 100755 --- a/basilisk/basilisk.c +++ b/basilisk/basilisk.c @@ -293,12 +293,14 @@ char *basilisk_hexmsg(struct supernet_info *myinfo,struct category_info *cat,voi if ( (json= cJSON_Parse(ptr)) != 0 ) { printf("basilisk.(%s)\n",jprint(json,0)); + //basilisk.({"basilisktag":2955372280,"agent":"basilisk","method":"rawtx","vals":{"changeaddr":"1FNhoaBYzf7safMBjoCsJYgxtah3K95sep","addresses":["1Hgzt5xsnbfc8UTWqWKSTLRm5bEYHYBoCE"],"timeout":5000,"amount":"20000","spendscript":"76a914b7128d2ee837cf03e30a2c0e3e0181f7b9669bb688ac"},"basilisktag":2955372280}) agent = jstr(json,"agent"); method = jstr(json,"method"); - timeoutmillis = jint(json,"timeout"); basilisktag = juint(json,"basilisktag"); if ( strcmp(agent,"basilisk") == 0 && (valsobj= jobj(json,"vals")) != 0 ) { + if ( jobj(json,"timeout") != 0 ) + timeoutmillis = jint(json,"timeout"); if ( valsobj != 0 && jobj(valsobj,"coin") != 0 ) coin = iguana_coinfind(jstr(valsobj,"coin")); else if ( jstr(json,"activecoin") != 0 ) diff --git a/basilisk/basilisk_bitcoin.c b/basilisk/basilisk_bitcoin.c index 80b9105e9..4a62ea750 100755 --- a/basilisk/basilisk_bitcoin.c +++ b/basilisk/basilisk_bitcoin.c @@ -419,11 +419,10 @@ char *basilisk_bitcoinvalue(struct supernet_info *myinfo,struct iguana_info *coi } } hexjson = cJSON_CreateObject(); - jaddnum(hexjson,"basilisktag",basilisktag); jaddstr(hexjson,"agent","basilisk"); jaddstr(hexjson,"method","value"); if ( vals != 0 ) - jadd(hexjson,"vals",vals); + jadd(hexjson,"vals",jduplicate(vals)); printf("issue.(%s)\n",jprint(hexjson,0)); if ( (ptr= basilisk_issue(myinfo,hexjson,timeoutmillis,0,1,basilisktag)) != 0 ) { @@ -594,11 +593,11 @@ char *basilisk_bitcoinrawtx(struct supernet_info *myinfo,struct iguana_info *coi if ( addresses != 0 ) { hexjson = cJSON_CreateObject(); - jaddnum(hexjson,"basilisktag",basilisktag); jaddstr(hexjson,"agent","basilisk"); jaddstr(hexjson,"method","rawtx"); + jaddstr(hexjson,"activecoin",coin->symbol); if ( valsobj != 0 ) - jadd(hexjson,"vals",valsobj); + jadd(hexjson,"vals",jduplicate(valsobj)); if ( (ptr= basilisk_issue(myinfo,hexjson,timeoutmillis,0,1,basilisktag)) != 0 ) { for (i=0; inumresults; i++) diff --git a/iguana/iguana_rpc.c b/iguana/iguana_rpc.c index f431e03fd..cc99b9c42 100755 --- a/iguana/iguana_rpc.c +++ b/iguana/iguana_rpc.c @@ -1029,7 +1029,7 @@ void iguana_rpcloop(void *args) else myinfo->argport = 0; if ( jsonbuf == 0 ) jsonbuf = calloc(1,IGUANA_MAXPACKETSIZE); - if ( (bindsock= iguana_socket(1,"127.0.0.1",port)) < 0 ) + while ( (bindsock= iguana_socket(1,"127.0.0.1",port)) < 0 ) { //if ( coin->MAXPEERS == 1 ) // break; diff --git a/iguana/tests/rawtx b/iguana/tests/rawtx index cd3018c19..9f51c473f 100755 --- a/iguana/tests/rawtx +++ b/iguana/tests/rawtx @@ -1 +1 @@ -curl --url "http://127.0.0.1:7778" --data "{\"timeout\":5000,\"agent\":\"basilisk\",\"method\":\"rawtx\",\"changeaddr\":\"1FNhoaBYzf7safMBjoCsJYgxtah3K95sep\",\"addresses\":[\"1Hgzt5xsnbfc8UTWqWKSTLRm5bEYHYBoCE\"],\"vals\":{\"coin\":\"BTC\",\"amount\":\"20000\"},\"spendscriptstr\":\"76a914b7128d2ee837cf03e30a2c0e3e0181f7b9669bb688ac\"}" +curl --url "http://127.0.0.1:7778" --data "{\"activecoin\":\"BTC\",\"agent\":\"basilisk\",\"method\":\"rawtx\",\"vals\":{\"changeaddr\":\"1FNhoaBYzf7safMBjoCsJYgxtah3K95sep\",\"addresses\":[\"1Hgzt5xsnbfc8UTWqWKSTLRm5bEYHYBoCE\"],\"timeout\":5000,\"amount\":\"20000\",\"spendscript\":\"76a914b7128d2ee837cf03e30a2c0e3e0181f7b9669bb688ac\"}}"