diff --git a/iguana/iguana_ramchain.c b/iguana/iguana_ramchain.c index 35cd6ede8..3a6d22ffe 100755 --- a/iguana/iguana_ramchain.c +++ b/iguana/iguana_ramchain.c @@ -1024,7 +1024,7 @@ long iguana_ramchain_save(struct iguana_info *coin,RAMCHAIN_FUNC,uint32_t ipbits printf("ramchainsave no data ptr\n"); return(-1); } - if ( (checki= iguana_peerfname(coin,&hdrsi,ipbits==0?GLOBAL_DBDIR:GLOBAL_TMPDIR,fname,ipbits,hash2,prevhash2,ramchain->numblocks,1)) != bundlei || bundlei < 0 || bundlei >= coin->chain->bundlesize ) + if ( (bundlei >= 0 && (checki= iguana_peerfname(coin,&hdrsi,ipbits==0?GLOBAL_DBDIR:GLOBAL_TMPDIR,fname,ipbits,hash2,prevhash2,ramchain->numblocks,1)) != bundlei) || bundlei >= coin->chain->bundlesize ) { printf(" wont save.(%s) bundlei.%d != checki.%d\n",fname,bundlei,checki); return(-1); diff --git a/iguana/iguana_recv.c b/iguana/iguana_recv.c index c1a508784..f87e2379f 100755 --- a/iguana/iguana_recv.c +++ b/iguana/iguana_recv.c @@ -1078,12 +1078,9 @@ int32_t iguana_bundlehashadd(struct iguana_info *coin,struct iguana_bundle *bp,i } } if ( bp->blocks[bundlei] == 0 ) - { firstflag = 1; - bp->blocks[bundlei] = block; - bp->hashes[bundlei] = block->RO.hash2; - } - bp->blocks[bundlei] = block; + //bp->blocks[bundlei] = block; + //bp->hashes[bundlei] = block->RO.hash2; iguana_bundlehash2add(coin,0,bp,bundlei,block->RO.hash2); if ( firstflag != 0 && bp->emitfinish == 0 ) { @@ -1128,6 +1125,7 @@ void iguana_bundle_set(struct iguana_info *coin,struct iguana_block *block,int32 { bp->blocks[bundlei] = block; bp->hashes[bundlei] = block->RO.hash2; + iguana_bundlehash2add(coin,0,bp,bundlei,block->RO.hash2); if ( bp->speculative != 0 ) bp->speculative[bundlei] = block->RO.hash2; //char str[65]; printf("SET %s ht.%d in [%d:%d]\n",bits256_str(str,block->RO.hash2),height,hdrsi,bundlei);