50 if (coinVersion < PUBKEY_VERSION)
60 }
catch (
const std::range_error& e) {
CoinSpend class for the Zerocoin library.
arith_uint256 UintToArith256(const uint256 &a)
CBaseDataStream & movePos(size_t nSize)
std::vector< unsigned char > getvch() const
A writer stream (for serialization) that computes a 256-bit hash.
An encapsulated public key.
const unsigned char * end() const
bool Verify(const uint256 &hash, const std::vector< unsigned char > &vchSig) const
Verify a DER signature (~72 bytes).
const unsigned char * begin() const
256-bit unsigned big integer.
std::string GetHex() const
void setPubKey(CPubKey pkey, bool fUpdateSerial=false)
virtual const uint256 signatureHash() const
bool HasValidSerial(ZerocoinParams *params) const
CommitmentProofOfKnowledge commitmentPoK
CBigNum accCommitmentToCoinValue
CBigNum CalculateValidSerial(ZerocoinParams *params)
std::string ToString() const
CoinDenomination denomination
AccumulatorProofOfKnowledge accumulatorPoK
int getCoinVersion() const
std::vector< unsigned char > vchSig
static std::vector< unsigned char > ParseSerial(CDataStream &s)
bool HasValidSignature() const
CBigNum serialCommitmentToCoinValue
CBigNum groupOrder
The order of the group.
IntegerGroupParams coinCommitmentGroup
The Quadratic Residue group from which we form a coin as a commitment to a serial number.
uint256 Hash(const T1 pbegin, const T1 pend)
Compute the 256-bit hash of an object.
bool IsValidSerial(const ZerocoinParams *params, const CBigNum &bnSerial)
CBigNum GetAdjustedSerial(const CBigNum &bnSerial)
CBigNum ExtractSerialFromPubKey(const CPubKey pubkey)
uint64_t ReadCompactSize(Stream &is, bool range_check=true)
Decode a CompactSize-encoded variable-length integer.