Skip to content

Commit

Permalink
Add comments to accumulatormap.cpp.
Browse files Browse the repository at this point in the history
  • Loading branch information
presstab committed Nov 7, 2017
1 parent 26f28d6 commit 138ad30
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/accumulatormap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,16 @@
using namespace libzerocoin;
using namespace std;

//Construct accumulators for all denominations
AccumulatorMap::AccumulatorMap()
{
//construct accumulators for all denominations
for (auto& denom : zerocoinDenomList) {
unique_ptr<Accumulator> uptr(new Accumulator(Params().Zerocoin_Params(), denom));
mapAccumulators.insert(make_pair(denom, std::move(uptr)));
}
}

//Reset each accumulator to its default state
void AccumulatorMap::Reset()
{
mapAccumulators.clear();
Expand All @@ -29,6 +30,7 @@ void AccumulatorMap::Reset()
}
}

//Load a checkpoint containing 8 32bit checksums of accumulator values.
bool AccumulatorMap::Load(uint256 nCheckpoint)
{
for (auto& denom : zerocoinDenomList) {
Expand All @@ -45,6 +47,7 @@ bool AccumulatorMap::Load(uint256 nCheckpoint)
return true;
}

//Add a zerocoin to the accumulator of its denomination.
bool AccumulatorMap::Accumulate(PublicCoin pubCoin, bool fSkipValidation)
{
CoinDenomination denom = pubCoin.getDenomination();
Expand All @@ -58,13 +61,15 @@ bool AccumulatorMap::Accumulate(PublicCoin pubCoin, bool fSkipValidation)
return true;
}

//Get the value of a specific accumulator
CBigNum AccumulatorMap::GetValue(CoinDenomination denom)
{
if (denom == CoinDenomination::ZQ_ERROR)
return CBigNum(0);
return mapAccumulators.at(denom)->getValue();
}

//Calculate a 32bit checksum of each accumulator value. Concatenate checksums into uint256
uint256 AccumulatorMap::GetCheckpoint()
{
uint256 nCheckpoint;
Expand Down

0 comments on commit 138ad30

Please sign in to comment.