|
|
@ -1411,7 +1411,7 @@ arith_uint256 komodo_PoWtarget(int32_t *percPoSp,arith_uint256 target,int32_t he |
|
|
|
return(bnTarget); |
|
|
|
} |
|
|
|
|
|
|
|
int32_t komodo_is_PoSblock(int32_t slowflag,int32_t height,CBlock *pblock,arith_uint256 bnTarget) |
|
|
|
int32_t komodo_is_PoSblock(int32_t slowflag,int32_t height,CBlock *pblock,arith_uint256 bnTarget,arith_uint256 bhash) |
|
|
|
{ |
|
|
|
CBlockIndex *previndex; char voutaddr[64],destaddr[64]; uint256 txid; uint32_t txtime,prevtime=0; int32_t vout,txn_count,eligible=0,isPoS = 0; uint64_t value; CTxDestination voutaddress; |
|
|
|
if ( ASSETCHAINS_STAKED == 100 && height <= 10 ) |
|
|
@ -1448,7 +1448,17 @@ int32_t komodo_is_PoSblock(int32_t slowflag,int32_t height,CBlock *pblock,arith_ |
|
|
|
isPoS = 1; // close enough for a pre-filter
|
|
|
|
//else fprintf(stderr,"komodo_is_PoSblock ht.%d (%s) != (%s) or %.8f != %.8f\n",height,destaddr,voutaddr,dstr(value),dstr(pblock->vtx[txn_count-1].vout[0].nValue));
|
|
|
|
} else fprintf(stderr,"komodo_is_PoSblock ht.%d couldnt extract voutaddress\n",height);*/ |
|
|
|
} //else return(-1);
|
|
|
|
} |
|
|
|
if ( slowflag != 0 && isPoS != 0 ) |
|
|
|
{ |
|
|
|
bnTarget = komodo_PoWtarget(&PoSperc,bnTarget,height,ASSETCHAINS_STAKED); |
|
|
|
if ( bhash < bnTarget ) |
|
|
|
{ |
|
|
|
fprintf(stderr,"ht.%d isPoS but meets PoW diff!\n",height); |
|
|
|
isPoS = 0; |
|
|
|
} |
|
|
|
} |
|
|
|
//else return(-1);
|
|
|
|
} |
|
|
|
//fprintf(stderr,"slow.%d ht.%d isPoS.%d\n",slowflag,height,isPoS);
|
|
|
|
return(isPoS); |
|
|
@ -1528,7 +1538,7 @@ int32_t komodo_checkPOW(int32_t slowflag,CBlock *pblock,int32_t height) |
|
|
|
} |
|
|
|
if ( ASSETCHAINS_STAKED != 0 && height >= 2 ) // must PoS or have at least 16x better PoW
|
|
|
|
{ |
|
|
|
if ( (is_PoSblock= komodo_is_PoSblock(slowflag,height,pblock,bnTarget)) == 0 ) |
|
|
|
if ( (is_PoSblock= komodo_is_PoSblock(slowflag,height,pblock,bnTarget,bhash)) == 0 ) |
|
|
|
{ |
|
|
|
if ( ASSETCHAINS_STAKED == 100 && height > 100 ) // only PoS allowed! POSTEST64
|
|
|
|
return(-1); |
|
|
|