Changeset View
Changeset View
Standalone View
Standalone View
src/avalanche/proofid.h
// Copyright (c) 2020 The Bitcoin developers | // Copyright (c) 2020 The Bitcoin developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#ifndef BITCOIN_AVALANCHE_PROOFID_H | #ifndef BITCOIN_AVALANCHE_PROOFID_H | ||||
#define BITCOIN_AVALANCHE_PROOFID_H | #define BITCOIN_AVALANCHE_PROOFID_H | ||||
#include <salteduint256hasher.h> | |||||
#include <uint256.h> | #include <uint256.h> | ||||
#include <string> | #include <string> | ||||
namespace avalanche { | namespace avalanche { | ||||
struct ProofId : public uint256 { | struct ProofId : public uint256 { | ||||
explicit ProofId() : uint256() {} | explicit ProofId() : uint256() {} | ||||
explicit ProofId(const uint256 &b) : uint256(b) {} | explicit ProofId(const uint256 &b) : uint256(b) {} | ||||
static ProofId fromHex(const std::string &str) { | static ProofId fromHex(const std::string &str) { | ||||
ProofId r; | ProofId r; | ||||
r.SetHex(str); | r.SetHex(str); | ||||
return r; | return r; | ||||
} | } | ||||
}; | }; | ||||
class SaltedProofIdHasher : private SaltedUint256Hasher { | |||||
public: | |||||
SaltedProofIdHasher() : SaltedUint256Hasher() {} | |||||
size_t operator()(const ProofId &proofid) const { return hash(proofid); } | |||||
}; | |||||
} // namespace avalanche | } // namespace avalanche | ||||
#endif // BITCOIN_AVALANCHE_PROOFID_H | #endif // BITCOIN_AVALANCHE_PROOFID_H |