X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fminer.h;h=d19dc21787b090fa3c960000d9dd2d1760b47d7f;hb=HEAD;hp=09bb460ca8922bb5e8b2d6137bcf1e76be02261f;hpb=b551b8a0a3084036528b348622e341bd43ef38e3;p=novacoin.git diff --git a/src/miner.h b/src/miner.h index 09bb460..7f5815a 100644 --- a/src/miner.h +++ b/src/miner.h @@ -6,28 +6,33 @@ #ifndef NOVACOIN_MINER_H #define NOVACOIN_MINER_H -#include "main.h" -#include "wallet.h" +#include + +class CBlock; +class CBlockIndex; +class CTransaction; +class CReserveKey; +class CWallet; /* Generate a new block, without valid proof-of-work/with provided proof-of-stake */ -CBlock* CreateNewBlock(CWallet* pwallet, CTransaction *txAdd=NULL); +std::shared_ptr CreateNewBlock(CWallet* pwallet, CTransaction *txAdd=nullptr); /** Modify the extranonce in a block */ -void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce); +void IncrementExtraNonce(std::shared_ptr& pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce); /** Do mining precalculation */ -void FormatHashBuffers(CBlock* pblock, char* pmidstate, char* pdata, char* phash1); +void FormatHashBuffers(const std::shared_ptr& pblock, char* pmidstate, char* pdata, char* phash1); /** Check mined proof-of-work block */ -bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey); +bool CheckWork(const std::shared_ptr& pblock, CWallet& wallet, CReserveKey& reservekey); /** Check mined proof-of-stake block */ -bool CheckStake(CBlock* pblock, CWallet& wallet); +bool CheckStake(const std::shared_ptr& pblock, CWallet& wallet); /** Base sha256 mining transform */ void SHA256Transform(void* pstate, void* pinput, const void* pinit); /** Stake miner thread */ -void ThreadStakeMinter(void* parg); +void ThreadStakeMiner(void* parg); #endif // NOVACOIN_MINER_H