From 63745869e49df5d9151daedbeb9f8844b2eb3d50 Mon Sep 17 00:00:00 2001 From: jl777 Date: Fri, 13 Apr 2018 17:04:23 +0300 Subject: [PATCH] Test --- src/komodo_bitcoind.h | 7 ++++--- src/main.cpp | 2 +- src/pow.cpp | 3 +++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/komodo_bitcoind.h b/src/komodo_bitcoind.h index 428233a1b..52d09cb20 100644 --- a/src/komodo_bitcoind.h +++ b/src/komodo_bitcoind.h @@ -765,7 +765,7 @@ void komodo_index2pubkey33(uint8_t *pubkey33,CBlockIndex *pindex,int32_t height) memset(pubkey33,0,33); if ( pindex != 0 ) { - if ( pindex->pubkey33[0] == 2 || pindex->pubkey33[0] == 3 ) + if ( pindex->pubkey33[0] == 2 || pindex->pubkey33[0] == 3 || pindex->pubkey33[0] == 0xff ) { memcpy(pubkey33,pindex->pubkey33,33); return; @@ -780,7 +780,7 @@ int8_t komodo_minerid(int32_t height,uint8_t *pubkey33) int32_t num,i,numnotaries; CBlockIndex *pindex; uint32_t timestamp=0; uint8_t _pubkey33[33],pubkeys[64][33]; if ( (pindex= chainActive[height]) != 0 ) { - if ( (pindex->pubkey33[0] == 2 || pindex->pubkey33[0] == 3) ) + if ( pindex->pubkey33[0] == 2 || pindex->pubkey33[0] == 3 || pindex->pubkey33[0] == 0xff ) { if ( pubkey33 != 0 ) memcpy(pubkey33,pindex->pubkey33,33); @@ -807,7 +807,7 @@ int32_t komodo_eligiblenotary(uint8_t pubkeys[66][33],int32_t *mids,int32_t *non { if ( (pindex= komodo_chainactive(height-i)) != 0 ) { - if ( pindex->notaryid >= 0 && (pindex->pubkey33[0] == 2 || pindex->pubkey33[0] == 3) ) + if ( pindex->notaryid >= 0 && (pindex->pubkey33[0] == 2 || pindex->pubkey33[0] == 3 || pindex->pubkey33[0] == 0xff) ) { memcpy(pubkeys[i],pindex->pubkey33,33); mids[i] = pindex->notaryid; @@ -843,6 +843,7 @@ int32_t komodo_minerids(uint8_t *minerids,int32_t height,int32_t width) // depre minerids[i] = komodo_minerid(height - i,0); } return(n);*/ + fprintf(stderr,"komodo_minerids is deprecated\n"); return(-1); } diff --git a/src/main.cpp b/src/main.cpp index 83c320ccb..884112cde 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3507,7 +3507,7 @@ bool CheckBlockHeader(int32_t height,CBlockIndex *pindex, const CBlockHeader& bl return state.DoS(100, error("CheckBlockHeader(): Equihash solution invalid"),REJECT_INVALID, "invalid-solution"); // Check proof of work matches claimed amount - komodo_index2pubkey33(pubkey33,pindex,height); + //komodo_index2pubkey33(pubkey33,pindex,height); if ( fCheckPOW && !CheckProofOfWork(height,pubkey33,blockhdr.GetHash(), blockhdr.nBits, Params().GetConsensus()) ) return state.DoS(50, error("CheckBlockHeader(): proof of work failed"),REJECT_INVALID, "high-hash"); return true; diff --git a/src/pow.cpp b/src/pow.cpp index 2882360d0..dac141c64 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -146,7 +146,10 @@ bool CheckProofOfWork(int32_t height,uint8_t *pubkey33,uint256 hash, unsigned in if ( height > 34000 && ASSETCHAINS_SYMBOL[0] == 0 ) // 0 -> non-special notary { if ( (pindex= komodo_chainactive(height)) != 0 ) + { komodo_pindex_init(pindex,height); + memcpy(pubkey33,pindex->pubkey33,33); + } special = komodo_chosennotary(¬aryid,height,pubkey33,timestamp); for (i=0; i<33; i++) {