valtype CAuxpowBuilder::buildCoinbaseData (bool header, const valtype& auxRoot, unsigned h, int nonce) { valtype res; if (header) res.insert (res.end (), pchMergedMiningHeader, pchMergedMiningHeader + sizeof (pchMergedMiningHeader)); res.insert (res.end (), auxRoot.begin (), auxRoot.end ()); int size = (1 << h); for (int i = 0; i < 4; ++i) { res.insert (res.end (), size & 0xFF); size >>= 8; } for (int i = 0; i < 4; ++i) { res.insert (res.end (), nonce & 0xFF); nonce >>= 8; } return res; }
valtype CAuxpowBuilder::buildCoinbaseData (bool header, const valtype& auxRoot, unsigned h, int nonce) { valtype res; if (header) res.insert (res.end (), UBEGIN (pchMergedMiningHeader), UEND (pchMergedMiningHeader)); res.insert (res.end (), auxRoot.begin (), auxRoot.end ()); const int size = (1 << h); res.insert (res.end (), UBEGIN (size), UEND (size)); res.insert (res.end (), UBEGIN (nonce), UEND (nonce)); return res; }