This commit is contained in:
2022-02-03 23:45:47 -08:00
parent 42c2062cc4
commit 184ece190c
1438 changed files with 404064 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
// Copyright (c) 2017-2018 The PIVX developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef Agrarian_ACCUMULATORMAP_H
#define Agrarian_ACCUMULATORMAP_H
#include "libzerocoin/Accumulator.h"
#include "libzerocoin/Coin.h"
#include "accumulatorcheckpoints.h"
//A map with an accumulator for each denomination
class AccumulatorMap
{
private:
libzerocoin::ZerocoinParams* params;
std::map<libzerocoin::CoinDenomination, std::unique_ptr<libzerocoin::Accumulator> > mapAccumulators;
public:
explicit AccumulatorMap(libzerocoin::ZerocoinParams* params);
bool Load(uint256 nCheckpoint);
void Load(const AccumulatorCheckpoints::Checkpoint& checkpoint);
bool Accumulate(const libzerocoin::PublicCoin& pubCoin, bool fSkipValidation = false);
libzerocoin::Accumulator GetAccumulator(libzerocoin::CoinDenomination denom);
CBigNum GetValue(libzerocoin::CoinDenomination denom);
uint256 GetCheckpoint();
void Reset();
void Reset(libzerocoin::ZerocoinParams* params2);
};
#endif //Agrarian_ACCUMULATORMAP_H