#ifndef BITCOIN_HERNELWORKER_H #define BITCOIN_HERNELWORKER_H #include using namespace std; class KernelWorker { public: KernelWorker() { } KernelWorker(unsigned char *kernel, uint32_t nBits, uint32_t nInputTxTime, int64_t nValueIn, uint32_t nIntervalBegin, uint32_t nIntervalEnd); void Do(); vector >& GetSolutions(); private: // One way hashing. void Do_generic(); // Kernel solutions. vector > solutions; // Kernel metadaya uint8_t *kernel; uint32_t nBits; uint32_t nInputTxTime; CBigNum bnValueIn; // Interval boundaries. uint32_t nIntervalBegin; uint32_t nIntervalEnd; }; // Scan given kernel for solutions bool ScanKernelBackward(unsigned char *kernel, uint32_t nBits, uint32_t nInputTxTime, int64_t nValueIn, pair &SearchInterval, pair &solution); #endif