diff --git a/iguana/iguana_blocks.c b/iguana/iguana_blocks.c index 2adb623da..f97c3299d 100755 --- a/iguana/iguana_blocks.c +++ b/iguana/iguana_blocks.c @@ -303,7 +303,7 @@ struct iguana_block *_iguana_chainlink(struct iguana_info *coin,struct iguana_bl return(0); } //char str[65]; printf("extend? %s.h%d: %.15f vs %.15f ht.%d vs %d\n",bits256_str(str,block->RO.hash2),height,block->PoW,coin->blocks.hwmchain.PoW,height,coin->blocks.hwmchain.height); - if ( iguana_blockvalidate(coin,&valid,newblock,1) < 0 || valid == 0 ) + if ( iguana_blockvalidate(coin,&valid,newblock,0) < 0 || valid == 0 ) return(0); block->height = height; block->valid = 1; @@ -382,7 +382,7 @@ void iguana_blocksetheights(struct iguana_info *coin,struct iguana_block *block) int32_t iguana_chainextend(struct iguana_info *coin,struct iguana_block *newblock) { struct iguana_block *block,*prev; int32_t valid,oldhwm; char str[65]; - if ( iguana_blockvalidate(coin,&valid,newblock,1) < 0 || valid == 0 ) + if ( iguana_blockvalidate(coin,&valid,newblock,0) < 0 || valid == 0 ) { printf("chainextend: newblock.%s didnt validate\n",bits256_str(str,newblock->RO.hash2)); return(-1); diff --git a/iguana/iguana_recv.c b/iguana/iguana_recv.c index 5f992214b..324dcecf6 100755 --- a/iguana/iguana_recv.c +++ b/iguana/iguana_recv.c @@ -541,7 +541,7 @@ int32_t iguana_bundleiters(struct iguana_info *coin,struct iguana_bundle *bp,int if ( (block= bp->blocks[i]) != 0 ) { //printf("(%x:%x) ",(uint32_t)block->RO.hash2.ulongs[3],(uint32_t)bp->hashes[i].ulongs[3]); - if ( (bp->bundleheight+i > 0 && bits256_nonz(block->RO.prev_block) == 0) || iguana_blockvalidate(coin,&valid,block,1) != 0 ) + if ( block->fpipbits == 0 || (bp->bundleheight+i > 0 && bits256_nonz(block->RO.prev_block) == 0) )//|| iguana_blockvalidate(coin,&valid,block,1) != 0 ) { char str[65]; printf(">>>>>>> null prevblock error at ht.%d patch.(%s) and reissue\n",bp->bundleheight+i,bits256_str(str,block->RO.prev_block)); block->queued = 0; @@ -681,6 +681,7 @@ struct iguana_bundlereq *iguana_recvblockhashes(struct iguana_info *coin,struct { bp->hdrtime = (uint32_t)time(NULL); blockhashes[0] = bp->hashes[0]; + iguana_blockQ(coin,bp,0,blockhashes[0],1); if ( num >= coin->chain->bundlesize ) { iguana_blockQ(coin,0,-1,blockhashes[coin->chain->bundlesize],0);