void hash160 (uint8_t* dest, const uint8_t* src, size_t n) { CSHA256 hash; hash.Write(src, n); hash.Finalize(dest); CRIPEMD160 hashR; hashR.Write(dest, 32); hashR.Finalize(dest); }
UniValue operator()(const WitnessV0ScriptHash& id) const { UniValue obj(UniValue::VOBJ); CScript subscript; obj.push_back(Pair("isscript", true)); obj.push_back(Pair("iswitness", true)); obj.push_back(Pair("witness_version", 0)); obj.push_back(Pair("witness_program", HexStr(id.begin(), id.end()))); CRIPEMD160 hasher; uint160 hash; hasher.Write(id.begin(), 32).Finalize(hash.begin()); if (pwallet && pwallet->GetCScript(CScriptID(hash), subscript)) { obj.push_back(Pair("hex", HexStr(subscript.begin(), subscript.end()))); } return obj; }
void ripemd160 (uint8_t* dest, const uint8_t* src, size_t n) { CRIPEMD160 hash; hash.Write(src, n); hash.Finalize(dest); }