diff --git a/iguana/iguana_blocks.c b/iguana/iguana_blocks.c index 96d81da00..6a5974613 100755 --- a/iguana/iguana_blocks.c +++ b/iguana/iguana_blocks.c @@ -337,7 +337,7 @@ void iguana_blockzcopy(uint8_t zcash,struct iguana_block *dest,struct iguana_blo int32_t iguana_blockvalidate(struct supernet_info *myinfo,struct iguana_info *coin,int32_t *validp,struct iguana_block *block,int32_t dispflag) { bits256 hash2; uint8_t serialized[sizeof(struct iguana_msgblock) + 4096]; - if ( coin->chain->debug != 0 ) + if ( coin->chain->debug != 0 || coin->chain->zcash != 0 ) { *validp = 1; return(0); diff --git a/iguana/iguana_bundles.c b/iguana/iguana_bundles.c index 4f3486559..93658074b 100755 --- a/iguana/iguana_bundles.c +++ b/iguana/iguana_bundles.c @@ -816,7 +816,7 @@ int32_t iguana_bundleready(struct supernet_info *myinfo,struct iguana_info *coin counts[block->peerid]++; } //printf("(%x:%x) ",(uint32_t)block->RO.hash2.ulongs[3],(uint32_t)bp->hashes[i].ulongs[3]); - if ( block->txvalid == 0 || block->fpipbits == 0 || block->fpos < 0 || (bp->bundleheight+i > 0 && bits256_nonz(block->RO.prev_block) == 0) || iguana_blockvalidate(myinfo,coin,&valid,block,1) < 0 ) + if ( (bp->bundleheight+i > 0 && bits256_nonz(block->RO.prev_block) == 0) || iguana_blockvalidate(myinfo,coin,&valid,block,1) < 0 ) //block->txvalid == 0 || block->fpipbits == 0 || block->fpos < 0 || { char str[65]; if ( requiredflag != 0 ) diff --git a/iguana/iguana_ramchain.c b/iguana/iguana_ramchain.c index ae9425f66..5f783e34f 100755 --- a/iguana/iguana_ramchain.c +++ b/iguana/iguana_ramchain.c @@ -2014,7 +2014,7 @@ void iguana_blockdelete(struct iguana_info *coin,bits256 hash2,int32_t i) void iguana_blockunmark(struct iguana_info *coin,struct iguana_block *block,struct iguana_bundle *bp,int32_t i,int32_t deletefile) { void *ptr; int32_t recvlen,height = -1; uint8_t zcash = 0; - if ( 0 && bp != 0 ) + if ( bp != 0 ) printf("UNMARK.[%d:%d]\n",bp->hdrsi,i); if ( block != 0 ) { diff --git a/iguana/iguana_recv.c b/iguana/iguana_recv.c index 26764a123..4e3c9f7a2 100755 --- a/iguana/iguana_recv.c +++ b/iguana/iguana_recv.c @@ -808,7 +808,7 @@ void iguana_gotblockM(struct supernet_info *myinfo,struct iguana_info *coin,stru } if ( (block= bp->blocks[bundlei]) == 0 || bits256_nonz(bp->hashes[bundlei]) == 0 ) { - printf("SET [%d:%d]\n",bp->hdrsi,bundlei); + //printf("SET [%d:%d]\n",bp->hdrsi,bundlei); //iguana_hash2set(coin,"noblock",bp,bundlei,origtxdata->zblock.RO.hash2); bp->hashes[bundlei] = origtxdata->zblock.RO.hash2; if ( bp->speculative != 0 ) @@ -822,7 +822,7 @@ void iguana_gotblockM(struct supernet_info *myinfo,struct iguana_info *coin,stru block->hdrsi = bp->hdrsi; block->bundlei = bundlei; block->height = bp->hdrsi*coin->chain->bundlesize + bundlei; - block->txvalid = 1; + block->txvalid = block->valid = 1; block->RO.txn_count = origtxdata->zblock.RO.txn_count; if ( block->fpipbits != 0 && block->fpos >= 0 ) { @@ -1377,7 +1377,7 @@ struct iguana_bundlereq *iguana_recvblockhdrs(struct supernet_info *myinfo,struc firstbp = bp; if ( block->height >= 0 && block->height+1 > coin->longestchain ) coin->longestchain = block->height+1; - //_iguana_chainlink(myinfo,coin,block); + _iguana_chainlink(myinfo,coin,block); } //char str[65]; printf("HWM in hdr's prev[%d] bp.%p bundlei.%d block.%p %s\n",i,bp,bundlei,block,bp!=0?bits256_str(str,bp->hashes[bundlei]):"()"); } @@ -1642,6 +1642,7 @@ struct iguana_bundlereq *iguana_recvblock(struct supernet_info *myinfo,struct ig printf("error adding %s\n",bits256_str(str,origblock->RO.hash2)); return(req); } + else block->txvalid = block->valid = 1; if ( bits256_nonz(origblock->RO.prev_block) != 0 ) { if ( (prevblock= iguana_blockfind("prev",coin,origblock->RO.prev_block)) != 0 )