Browse Source

Test

etomic
jl777 7 years ago
parent
commit
4d210dc76e
  1. 10
      iguana/exchanges/LP_commands.c
  2. 29
      iguana/exchanges/LP_remember.c
  3. 24
      iguana/exchanges/LP_swap.c
  4. 2
      iguana/exchanges/LP_transaction.c
  5. 2
      iguana/exchanges/status

10
iguana/exchanges/LP_commands.c

@ -277,6 +277,16 @@ char *stats_JSON(cJSON *argjson,char *remoteaddr,uint16_t port) // from rpc port
else return(jprint(LP_autotrade(utxo,coin,jdouble(argjson,"maxprice")),1));
}
}
else if ( strcmp(method,"swapstatus") == 0 )
{
uint32_t requestid,quoteid;
if ( (requestid= juint(argjson,"requestid")) != 0 && (quoteid= juint(argjson,"quoteid")) != 0 )
{
if ( (retstr= basilisk_swapfinished(requestid,quoteid)) == 0 )
return(clonestr("{\"result\":\"swap pending\"}"));
else return(retstr);
} else return(basilisk_swaplist());
}
}
amclient = (LP_mypeer == 0);
if ( (ipaddr= jstr(argjson,"ipaddr")) != 0 && (argport= juint(argjson,"port")) != 0 )

29
iguana/exchanges/LP_remember.c

@ -952,3 +952,32 @@ char *basilisk_swaplist()
return(jprint(retjson,1));
}
char *basilisk_swapfinished(uint32_t requestid,uint32_t quoteid)
{
char *liststr,*retstr = 0; cJSON *array,*item; int32_t i,n;
if ( (liststr= basilisk_swaplist()) != 0 )
{
if ( (array= cJSON_Parse(liststr)) != 0 )
{
if ( (n= cJSON_GetArraySize(array)) > 0 )
{
for (i=0; i<n; i++)
{
item = jitem(array,i);
if ( juint(item,"requestid") == requestid && juint(item,"quoteid") == quoteid )
{
if ( jstr(item,"status") != 0 && strcmp(jstr(item,"status"),"finished") == 0 )
retstr = jprint(item,0);
break;
}
}
}
free_json(array);
}
}
free(liststr);
return(retstr);
}

24
iguana/exchanges/LP_swap.c

@ -619,7 +619,7 @@ uint32_t LP_swapdata_rawtxsend(int32_t pairsock,struct basilisk_swap *swap,uint3
void LP_bobloop(void *_utxo)
{
uint8_t *data; char *retstr; int32_t maxlen; uint32_t expiration; struct basilisk_swap *swap; struct LP_utxoinfo *utxo = _utxo;
uint8_t *data; int32_t maxlen; char *retstr; uint32_t expiration; struct basilisk_swap *swap; struct LP_utxoinfo *utxo = _utxo;
fprintf(stderr,"start swap iambob\n");
maxlen = 1024*1024 + sizeof(*swap);
data = malloc(maxlen);
@ -658,16 +658,13 @@ void LP_bobloop(void *_utxo)
swap->bobreclaim.utxovout = 0;
swap->bobreclaim.utxotxid = swap->bobpayment.I.signedtxid;
basilisk_bobpayment_reclaim(swap,swap->I.callduration);
printf("looping on swaplist\n");
while ( 1 )
printf("wait for SWAP to complete\n");
while ( (retstr= basilisk_swapfinished(swap->I.req.requestid,swap->I.req.quoteid)) == 0 )
{
if ( (retstr= basilisk_swaplist()) != 0 )
{
printf("%s\n",retstr);
free(retstr);
}
sleep(100);
}
printf("SWAP completed! %u-%u %s\n",swap->I.req.requestid,swap->I.req.quoteid,retstr);
free(retstr);
}
}
basilisk_swap_finished(swap);
@ -709,16 +706,13 @@ void LP_aliceloop(void *_qp)
printf("error waiting for bobpayment\n");
else
{
printf("looping on swaplist\n");
while ( 1 )
printf("wait for SWAP to complete\n");
while ( (retstr= basilisk_swapfinished(swap->I.req.requestid,swap->I.req.quoteid)) == 0 )
{
if ( (retstr= basilisk_swaplist()) != 0 )
{
printf("%s\n",retstr);
free(retstr);
}
sleep(100);
}
printf("SWAP completed! %u-%u %s\n",swap->I.req.requestid,swap->I.req.quoteid,retstr);
free(retstr);
}
}
basilisk_swap_finished(swap);

2
iguana/exchanges/LP_transaction.c

@ -135,7 +135,7 @@ int32_t LP_spendsearch(bits256 *spendtxidp,int32_t *indp,char *symbol,bits256 se
return(0);
while ( errs == 0 && *indp < 0 )
{
printf("search %s ht.%d\n",symbol,loadheight);
//printf("search %s ht.%d\n",symbol,loadheight);
if ( (blockjson= LP_blockjson(&h,symbol,0,loadheight)) != 0 )
{
if ( (txids= jarray(&numtxids,blockjson,"tx")) != 0 )

2
iguana/exchanges/status

@ -0,0 +1,2 @@
source userpass
curl --url "http://127.0.0.1:7779" --data "{\"userpass\":\"$userpass\",\"method\":\"swapstatus\"}"
Loading…
Cancel
Save