HashValue MinerShare::GetHash() const { switch (Algo) { case HashAlgo::Sha3: { MemoryStream ms; base::WriteHeader(ProtocolWriter(ms).Ref()); return HashValue(SHA3<256>().ComputeHash(ms)); } case HashAlgo::Metis: { MemoryStream ms; base::WriteHeader(ProtocolWriter(ms).Ref()); return MetisHash(ms); } #if UCFG_COIN_MOMENTUM case HashAlgo::Momentum: { MemoryStream ms; base::WriteHeader(ProtocolWriter(ms).Ref()); if (!MomentumVerify(Coin::Hash(ms), BirthdayA, BirthdayB)) return s_hashMax; } #endif default: return base::GetHash(); } }
HashValue CalcHash(const ConstBuf& cbuf) override { return MetisHash(cbuf); }