int32_t komodo_block2height(CBlock *block)
{
- int32_t i,n,height = 0; uint8_t *ptr;
+ int32_t i,n,height2=-1,height = 0; uint8_t *ptr; CBlockIndex *pindex;
+ if ( (pindex= mapBlockIndex[block->GetHash()]) != 0 )
+ height2 = (int32_t)pindex->nHeight;
if ( block->vtx[0].vin.size() > 0 )
{
#ifdef KOMODO_ZCASH
}
//komodo_init(height);
}
+ if ( height > 0 && height2 >= 0 )
+ {
+ static uint32_t match,mismatch;
+ if ( height != height2 || ((match+mismatch) % 1000) == 999 )
+ mismatch++, printf("block2height height.%d vs height2.%d, match.%d mismatch.%d\n",height,height2,match,mismatch);
+ else match++;
+ }
return(height);
}
int32_t komodo_checkpoint(int32_t *notarized_heightp,int32_t nHeight,uint256 hash)
{
- int32_t notarized_height,MoMdepth; uint256 MoM,notarized_hash,notarized_desttxid; CBlockIndex *notary; CBlockIndex *pindex;
+ int32_t notarized_height,MoMdepth; uint256 MoM,notarized_hash,notarized_desttxid; CBlockIndex *notary,*pindex;
if ( (pindex= chainActive.Tip()) == 0 )
return(-1);
notarized_height = komodo_notarizeddata(pindex->nHeight,¬arized_hash,¬arized_desttxid);