From d9ef157357bada634c3ba411e3c1327b13ac8a9c Mon Sep 17 00:00:00 2001 From: jl777 Date: Wed, 6 Apr 2016 21:18:43 -0500 Subject: [PATCH] test --- iguana/iguana777.h | 2 +- iguana/iguana_recv.c | 15 ++++++++++++++- iguana/iguana_unspents.c | 3 ++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/iguana/iguana777.h b/iguana/iguana777.h index 39d50a469..aeae54125 100755 --- a/iguana/iguana777.h +++ b/iguana/iguana777.h @@ -43,7 +43,7 @@ typedef int32_t (*blockhashfunc)(uint8_t *blockhashp,uint8_t *serialized,int32_t #define IGUANA_TAILPERCENTAGE 1.0 #define IGUANA_MAXPENDHDRS 1 #define IGUANA_MAXPENDINGREQUESTS 64 -#define IGUANA_PENDINGREQUESTS 64 +#define IGUANA_PENDINGREQUESTS 16 #define IGUANA_MINPENDBUNDLES 2 #define IGUANA_MAXPENDBUNDLES 32 #define IGUANA_RPCPORT 7778 diff --git a/iguana/iguana_recv.c b/iguana/iguana_recv.c index b34f5e2eb..0c9dda46d 100755 --- a/iguana/iguana_recv.c +++ b/iguana/iguana_recv.c @@ -1476,7 +1476,7 @@ int32_t iguana_pollQsPT(struct iguana_info *coin,struct iguana_peer *addr) int32_t iguana_processrecv(struct iguana_info *coin) // single threaded { - int32_t i,newhwm = 0,hwmheight,flag = 0; struct iguana_bundle *bp; struct iguana_block *block; char str[2000]; + int32_t i,n,newhwm = 0,hwmheight,flag = 0; struct iguana_bundle *bp; struct iguana_block *block; char str[2000]; hwmheight = coin->blocks.hwmchain.height; coin->RTramchain_busy = 1; flag += iguana_processrecvQ(coin,&newhwm); @@ -1517,5 +1517,18 @@ int32_t iguana_processrecv(struct iguana_info *coin) // single threaded iguana_jsonQ(); if ( hwmheight != coin->blocks.hwmchain.height ) flag = 1; + n = 1; + block = iguana_blockfind("main",coin,iguana_blockhash(coin,coin->blocks.hwmchain.height-n)); + while ( block != 0 ) + { + if ( bits256_cmp(iguana_blockhash(coin,coin->blocks.hwmchain.height-n),block->RO.hash2) != 0 ) + { + printf("blockhash error at %d %s\n",coin->blocks.hwmchain.height-n,bits256_str(str,block->RO.hash2)); + break; + } + block = iguana_blockfind("RTupdate",coin,block->RO.prev_block); + n++; + } + printf("n.%d vs hwm.%d %s\n",n,coin->blocks.hwmchain.height,bits256_str(str,coin->blocks.hwmchain.RO.hash2)); return(flag); } diff --git a/iguana/iguana_unspents.c b/iguana/iguana_unspents.c index 29dd5b5eb..09452716a 100755 --- a/iguana/iguana_unspents.c +++ b/iguana/iguana_unspents.c @@ -1932,7 +1932,8 @@ int32_t iguana_realtime_update(struct iguana_info *coin) dest = &coin->RTramchain; B = (void *)(long)((long)rdata + rdata->Boffset); bundlei = (coin->RTheight % coin->chain->bundlesize); - if ( (block= bp->blocks[bundlei]) != 0 && bits256_nonz(block->RO.prev_block) != 0 ) + block = iguana_bundleblock(coin,&hash2,bp,bundlei); + if ( block != 0 && bits256_nonz(block->RO.prev_block) != 0 ) { iguana_blocksetcounters(coin,block,dest); startmillis0 = OS_milliseconds();