62 lines
1.4 KiB
C++
62 lines
1.4 KiB
C++
// Copyright (c) 2015-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_GENWIT_H
|
|
#define Agrarian_GENWIT_H
|
|
|
|
|
|
#include <iostream>
|
|
#include "bloom.h"
|
|
#include "libzerocoin/Denominations.h"
|
|
#include "net.h"
|
|
|
|
class CGenWit {
|
|
|
|
public:
|
|
|
|
CGenWit();
|
|
|
|
CGenWit(const CBloomFilter &filter, int startingHeight, libzerocoin::CoinDenomination den, int requestNum, CBigNum accWitValue = 0);
|
|
|
|
bool isValid(int chainActiveHeight);
|
|
|
|
ADD_SERIALIZE_METHODS;
|
|
template <typename Stream, typename Operation>
|
|
inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) {
|
|
READWRITE(filter);
|
|
filter.setNotFull();
|
|
READWRITE(startingHeight);
|
|
READWRITE(den);
|
|
READWRITE(requestNum);
|
|
READWRITE(accWitValue);
|
|
}
|
|
|
|
const CBloomFilter &getFilter() const;
|
|
|
|
int getStartingHeight() const;
|
|
|
|
libzerocoin::CoinDenomination getDen() const;
|
|
|
|
int getRequestNum() const;
|
|
|
|
CNode *getPfrom() const;
|
|
|
|
void setPfrom(CNode *pfrom);
|
|
|
|
const CBigNum &getAccWitValue() const;
|
|
|
|
const std::string toString() const;
|
|
|
|
private:
|
|
CBloomFilter filter;
|
|
int startingHeight;
|
|
libzerocoin::CoinDenomination den;
|
|
int requestNum;
|
|
CBigNum accWitValue;
|
|
CNode* pfrom;
|
|
};
|
|
|
|
|
|
#endif //Agrarian_GENWIT_H
|