Browse Source

test

pull/4/head
jl777 8 years ago
parent
commit
d2a115d841
  1. 4
      src/komodo.h
  2. 9
      src/komodo_utils.h

4
src/komodo.h

@ -461,7 +461,7 @@ void komodo_connectblock(CBlockIndex *pindex,CBlock& block)
if ( signedmask != 0 && (notarizedheight != 0 || specialtx != 0) )
{
printf("NOTARY SIGNED.%llx numvins.%d ht.%d txi.%d notaryht.%d specialtx.%d\n",(long long)signedmask,numvins,height,i,notarizedheight,specialtx);
if ( specialtx != 0 && isratification != 0 && numvouts > 2 && komodo_ratify_threshold(height,signedmask) > 0 )
if ( specialtx != 0 && isratification != 0 && numvouts > 2 )
{
numvalid = 0;
memset(pubkeys,0,sizeof(pubkeys));
@ -484,7 +484,7 @@ void komodo_connectblock(CBlockIndex *pindex,CBlock& block)
}
}
}
if ( numvalid >= KOMODO_MINRATIFY )
if ( ((signedmask & 1) != 0 && numvalid >= KOMODO_MINRATIFY) || bitweight(signedmask) > (bp->numnotaries>>1) )
{
memset(&txhash,0,sizeof(txhash));
komodo_stateupdate(height,pubkeys,numvalid,0,txhash,0,0,0,0,0,0,0,0,0);

9
src/komodo_utils.h

@ -807,6 +807,15 @@ int32_t komodo_is_issuer()
else return(0);
}
int32_t bitweight(uint64_t x)
{
int i,wt = 0;
for (i=0; i<64; i++)
if ( (1LL << i) & x )
wt++;
return(wt);
}
int32_t _unhex(char c)
{
if ( c >= '0' && c <= '9' )

Loading…
Cancel
Save