Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
2d77e9e393
  1. 2
      gecko/gecko_blocks.c
  2. 2
      iguana/iguana_realtime.c
  3. 8
      iguana/iguana_spendvectors.c

2
gecko/gecko_blocks.c

@ -141,6 +141,8 @@ int32_t gecko_hwmset(struct supernet_info *myinfo,struct iguana_info *virt,struc
{
iguana_blockzcopy(virt->chain->zcash,(void *)&virt->blocks.hwmchain,block);
hdrsi = block->height / virt->chain->bundlesize;
block->hdrsi = hdrsi;
block->bundlei = (block->height % virt->chain->bundlesize);
if ( (bp= virt->bundles[hdrsi]) != 0 )
{
bp->numsaved++;

2
iguana/iguana_realtime.c

@ -305,7 +305,7 @@ int32_t iguana_realtime_update(struct supernet_info *myinfo,struct iguana_info *
if ( (block= iguana_bundleblock(coin,&hash2,bp,bundlei)) != 0 )
iguana_bundlehashadd(coin,bp,bundlei,block);
//printf("RT.%d vs hwm.%d starti.%d bp->n %d block.%p/%p ramchain.%p databad.%d prevnonz.%d\n",coin->RTheight,coin->blocks.hwmchain.height,coin->RTstarti,bp->n,block,bp->blocks[bundlei],dest->H.data,coin->RTdatabad,bits256_nonz(block->RO.prev_block));
if ( coin->RTdatabad == 0 && block != 0 && bits256_nonz(block->RO.prev_block) != 0 )
if ( coin->RTdatabad == 0 && block != 0 && (block->height == 0 || bits256_nonz(block->RO.prev_block) != 0) )
{
iguana_blocksetcounters(coin,block,dest);
startmillis0 = OS_milliseconds();

8
iguana/iguana_spendvectors.c

@ -929,7 +929,7 @@ int32_t iguana_balanceflush(struct iguana_info *coin,int32_t refhdrsi)
int32_t iguana_spendvectorsaves(struct iguana_info *coin)
{
int32_t i,j,n,iter; struct iguana_bundle *bp;
int32_t i,j,n,iter; struct iguana_bundle *bp; struct iguana_ramchain *ramchain; struct iguana_ramchaindata *rdata;
if ( coin->spendvectorsaved > 1 )
return(0);
coin->spendvectorsaved = 1;
@ -941,6 +941,8 @@ int32_t iguana_spendvectorsaves(struct iguana_info *coin)
{
if ( (bp= coin->bundles[i]) != 0 )
{
rdata = (bp == coin->current) ? bp->ramchain.H.data : coin->RTramchain.H.data;
ramchain = (bp == coin->current) ? &bp->ramchain : &coin->RTramchain;
if ( iter == 0 )
{
if ( bp->tmpspends != 0 )//bp->ramchain.Xspendinds == 0 &&
@ -953,9 +955,9 @@ int32_t iguana_spendvectorsaves(struct iguana_info *coin)
}
}
}
else if ( iguana_spendvectorsave(coin,bp,&bp->ramchain,bp->tmpspends,bp->numtmpspends,bp->ramchain.H.data->numspends) == 0 )
else if ( rdata != 0 && iguana_spendvectorsave(coin,bp,ramchain,bp->tmpspends,bp->numtmpspends,rdata->numspends) == 0 )
{
if ( bp->tmpspends != 0 && bp->numtmpspends > 0 && bp->tmpspends != bp->ramchain.Xspendinds )
if ( bp->tmpspends != 0 && bp->numtmpspends > 0 && bp->tmpspends != ramchain->Xspendinds )
myfree(bp->tmpspends,sizeof(*bp->tmpspends) * bp->numtmpspends);
bp->numtmpspends = 0;
bp->tmpspends = 0;

Loading…
Cancel
Save