From 99d3b02c0bfc2dbe81d53cf734d77dd47d554198 Mon Sep 17 00:00:00 2001 From: jl777 Date: Tue, 17 Jan 2017 22:41:56 +0200 Subject: [PATCH] test --- basilisk/basilisk_DEX.c | 6 ++++++ iguana/iguana777.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/basilisk/basilisk_DEX.c b/basilisk/basilisk_DEX.c index a62b27cb8..f51849b93 100755 --- a/basilisk/basilisk_DEX.c +++ b/basilisk/basilisk_DEX.c @@ -232,6 +232,11 @@ int32_t basilisk_request_create(struct basilisk_request *rp,cJSON *valsobj,bits2 char *basilisk_start(struct supernet_info *myinfo,struct basilisk_request *_rp,uint32_t statebits,int32_t optionduration) { cJSON *retjson; struct basilisk_request *rp=0; int32_t i; + if ( _rp->requestid == myinfo->lastdexrequestid ) + { + printf("filter duplicate r%u\n",_rp->requestid); + return(clonestr("{\"error\":\"filter duplicate requestid\"}")); + } if ( (bits256_cmp(_rp->srchash,myinfo->myaddr.persistent) == 0 || bits256_cmp(_rp->desthash,myinfo->myaddr.persistent) == 0) ) { for (i=0; inumswaps; i++) @@ -245,6 +250,7 @@ char *basilisk_start(struct supernet_info *myinfo,struct basilisk_request *_rp,u rp = calloc(1,sizeof(*rp)); *rp = *_rp; printf("START thread to complete %u/%u for (%s %.8f) <-> (%s %.8f) q.%u\n",rp->requestid,rp->quoteid,rp->src,dstr(rp->srcamount),rp->dest,dstr(rp->destamount),rp->quoteid); + myinfo->lastdexrequestid = rp->requestid; if ( basilisk_thread_start(myinfo,rp,statebits,optionduration) != 0 ) { basilisk_request_enqueue(myinfo,rp); diff --git a/iguana/iguana777.h b/iguana/iguana777.h index c9c9aa40e..e394157b2 100755 --- a/iguana/iguana777.h +++ b/iguana/iguana777.h @@ -107,7 +107,7 @@ struct supernet_info void (*liquidity_command)(struct supernet_info *myinfo,char *base,bits256 hash,cJSON *vals); double (*liquidity_active)(struct supernet_info *myinfo,double *refpricep,char *exchange,char *base,char *rel,double volume); int32_t maxdelay,IAMRELAY,IAMNOTARY,IAMLP,publicRPC,basilisk_busy,genesisresults,remoteorigin; - uint32_t expiration,dirty,DEXactive,DEXpoll,totalcoins,nanoinit,dexcrcs[1024]; + uint32_t expiration,dirty,DEXactive,DEXpoll,totalcoins,nanoinit,lastdexrequestid,dexcrcs[1024]; uint16_t argport,rpcport; struct basilisk_info basilisks; struct exchange_info *tradingexchanges[SUPERNET_MAXEXCHANGES]; int32_t numexchanges;