|
|
@ -116,6 +116,13 @@ bool fAlerts = DEFAULT_ALERTS; |
|
|
|
int64_t nMaxTipAge = DEFAULT_MAX_TIP_AGE; |
|
|
|
|
|
|
|
unsigned int expiryDelta = DEFAULT_TX_EXPIRY_DELTA; |
|
|
|
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; |
|
|
|
extern uint64_t ASSETCHAINS_ENDSUBSIDY[ASSETCHAINS_MAX_ERAS+1], ASSETCHAINS_REWARD[ASSETCHAINS_MAX_ERAS+1], ASSETCHAINS_HALVING[ASSETCHAINS_MAX_ERAS+1]; |
|
|
|
extern uint32_t ASSETCHAINS_MAGIC; |
|
|
|
extern uint64_t ASSETCHAINS_LINEAR,ASSETCHAINS_COMMISSION,ASSETCHAINS_SUPPLY; |
|
|
|
extern uint8_t ASSETCHAINS_PUBLIC,ASSETCHAINS_PRIVATE; |
|
|
|
extern int32_t ASSETCHAINS_STAKED; |
|
|
|
extern uint64_t ASSETCHAINS_CBOPRET; |
|
|
|
|
|
|
|
/** Fees smaller than this (in satoshi) are considered zero fee (for relaying and mining) */ |
|
|
|
CFeeRate minRelayTxFee = CFeeRate(DEFAULT_MIN_RELAY_TX_FEE); |
|
|
@ -2383,12 +2390,6 @@ bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex,bool checkPOW) |
|
|
|
} |
|
|
|
|
|
|
|
//uint64_t komodo_moneysupply(int32_t height);
|
|
|
|
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN]; |
|
|
|
extern uint64_t ASSETCHAINS_ENDSUBSIDY[ASSETCHAINS_MAX_ERAS+1], ASSETCHAINS_REWARD[ASSETCHAINS_MAX_ERAS+1], ASSETCHAINS_HALVING[ASSETCHAINS_MAX_ERAS+1]; |
|
|
|
extern uint32_t ASSETCHAINS_MAGIC; |
|
|
|
extern uint64_t ASSETCHAINS_LINEAR,ASSETCHAINS_COMMISSION,ASSETCHAINS_SUPPLY; |
|
|
|
extern uint8_t ASSETCHAINS_PUBLIC,ASSETCHAINS_PRIVATE; |
|
|
|
extern int32_t ASSETCHAINS_STAKED; |
|
|
|
|
|
|
|
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams) |
|
|
|
{ |
|
|
@ -5083,7 +5084,7 @@ bool CheckBlock(int32_t *futureblockp,int32_t height,CBlockIndex *pindex,const C |
|
|
|
fprintf(stderr," failed hash ht.%d\n",height); |
|
|
|
return state.DoS(50, error("CheckBlock: proof of work failed"),REJECT_INVALID, "high-hash"); |
|
|
|
} |
|
|
|
if ( ASSETCHAINS_STAKED == 0 && komodo_checkPOW(0,1,(CBlock *)&block,height) < 0 ) // checks Equihash
|
|
|
|
if ( ASSETCHAINS_STAKED == 0 && komodo_checkPOW(1,(CBlock *)&block,height) < 0 ) // checks Equihash
|
|
|
|
return state.DoS(100, error("CheckBlock: failed slow_checkPOW"),REJECT_INVALID, "failed-slow_checkPOW"); |
|
|
|
} |
|
|
|
if ( height > nDecemberHardforkHeight && ASSETCHAINS_SYMBOL[0] == 0 ) // December 2019 hardfork
|
|
|
@ -5732,7 +5733,7 @@ bool ProcessNewBlock(bool from_miner,int32_t height,CValidationState &state, CNo |
|
|
|
} |
|
|
|
} |
|
|
|
fRequested |= fForceProcessing; |
|
|
|
if ( checked != 0 && komodo_checkPOW(0,0,pblock,height) < 0 ) //from_miner && ASSETCHAINS_STAKED == 0
|
|
|
|
if ( checked != 0 && komodo_checkPOW(0,pblock,height) < 0 ) //from_miner && ASSETCHAINS_STAKED == 0
|
|
|
|
{ |
|
|
|
checked = 0; |
|
|
|
//fprintf(stderr,"passed checkblock but failed checkPOW.%d\n",from_miner && ASSETCHAINS_STAKED == 0);
|
|
|
|