git / moonbite-core / src/libmw/include/mw/models/crypto/RewoundProof.h · raw
#pragma once// Copyright (c) 2018-2019 David Burkett// Distributed under the MIT software license, see the accompanying// file LICENSE or http://www.opensource.org/licenses/mit-license.php.#include <mw/models/crypto/SecretKey.h>#include <mw/models/crypto/ProofMessage.h>class RewoundProof{public: RewoundProof(const uint64_t amount, std::unique_ptr<SecretKey>&& pBlindingFactor, ProofMessage&& proofMessage) : m_amount(amount), m_pBlindingFactor(std::move(pBlindingFactor)), m_proofMessage(std::move(proofMessage)) { } uint64_t GetAmount() const noexcept { return m_amount; } const std::unique_ptr<SecretKey>& GetBlindingFactor() const noexcept { return m_pBlindingFactor; } const ProofMessage& GetProofMessage() const noexcept { return m_proofMessage; } bool operator==(const RewoundProof& rhs) const noexcept { return m_amount == rhs.m_amount && m_pBlindingFactor->GetBigInt() == rhs.m_pBlindingFactor->GetBigInt() && m_proofMessage.GetBytes() == rhs.m_proofMessage.GetBytes(); }private: uint64_t m_amount; std::unique_ptr<SecretKey> m_pBlindingFactor; ProofMessage m_proofMessage;};