Duke Leto
4d965f53eb
A bunch more libsnark deletions/updates
4 years ago
ca333
492d6703ed
sync jl777:FSM
6 years ago
Eirik Ogilvie-Wigley
8ea8ef9850
Rename Witnesses to include sprout or sapling
6 years ago
Eirik Ogilvie-Wigley
4fc309f0f5
Rename Merkle Trees to include sprout or sapling
6 years ago
Ariel Gabizon
589479fd33
Extend Joinsplit tests to Groth
6 years ago
Ariel Gabizon
e1a3461cc2
Improve/Fix variable names
ZCProof was too general. pubKeyHash was actually the JoinSplit pubkey
itself.
6 years ago
Jack Grigg
a6bbb26e08
Replace boost::array with std::array
6 years ago
Sean Bowe
34f6ea95dc
Adjust tests and benchmarks
6 years ago
Sean Bowe
b7a6c32178
Integrate Groth16 verification and proving.
6 years ago
Jack Grigg
e5eab182b5
Use boost::variant to represent shielded addresses and keys
libzcash::PaymentAddress has been renamed to libzcash::SproutPaymentAddress,
and a new typedef boost::variant is now libzcash::PaymentAddress. Similarly
for ViewingKey and SpendingKey.
A new class InvalidEncoding is introduced as the default boost::variant
option for each address and key type; it is used during decoding instead
of boost::optional.
All address and key storage functions in the wallet have been modified to
refer specifically to the Sprout types, as they are used very precisely.
In most other cases, the more general type is leveraged as much as possible,
and we convert to the Sprout type when necessary. This will be subsequently
wrapped in, or replaced with, context-specific functions once Sapling
types are implemented.
6 years ago
Simon
67f3577239
Closes #3250 . Memo getter should return by reference, not by value.
6 years ago
Simon
debf6af9f8
Move memo member varible from SproutNotePlaintext to BaseNotePlaintext.
Add memo() accessor to BaseNotePlaintext.
6 years ago
Simon
d266f40393
Create class hierarchy for SproutNotePlaintext.
BaseNotePlaintext contains member variable for common attribute, value.
6 years ago
Simon
5020a93631
Refactoring: rename NotePlaintext --> SproutNotePlaintext
Also renames:
CNotePlaintextEntry --> CSproutNotePlaintextEntry
CUnspentNotePlaintextEntry --> CUnspentSproutNotePlaintextEntry
6 years ago
Simon
5f4fa1a954
Add virtual destructor to SproutNote and BaseNote
Also add test to make sure default copy constructors are okay.
6 years ago
Simon
5d99e3e92f
Refactoring: SproutNote member variable value moved to BaseNote.
All notes have a value, so the member variable has been moved to the
base class, and direct member access has been replaced with a getter.
6 years ago
Simon
b230fe6836
Refactoring: Rename class libzcash::Note to libzcash::SproutNote.
6 years ago
jl777
e73b2055c6
Merge branch 'beta' into mergemaster
# Conflicts:
# src/main.cpp
6 years ago
Jack Grigg
642a1caf93
ViewingKey -> ReceivingKey per zcash/zips#117
7 years ago
Sean Bowe
1a9543d064
Remove crusty old "loadVerifyingKey"/"loadProvingKey" APIs and associated invariants.
7 years ago
Sean Bowe
bc59f53722
Isolate verification to a `ProofVerifier` context object that allows verification behavior to be tuned by the caller.
8 years ago
Sean Bowe
5f0a73ce11
Improve accuracy of constraint system violation diagnostics.
8 years ago
Sean Bowe
b55744e1ad
Regression test for constraint system violation.
8 years ago
Sean Bowe
c4643bd949
Throw more descriptive exceptions when the constraint system is violated.
8 years ago
Sean Bowe
f0dab51cf3
Implement zkSNARK compression.
8 years ago
Sean Bowe
9285bba885
Enable binary serializations of proofs and r1cs keys, and make the `CPourTx` proof field fixed-size.
8 years ago
Sean Bowe
defe37a6d4
Enforce first four bits are zero for all spending keys and phi.
8 years ago
Sean Bowe
1896a89cac
Add h_sig test vectors.
8 years ago
Sean Bowe
a9640f67f1
Rename ZCASH_ constants to ZC_.
8 years ago
Sean Bowe
5a2db9e283
libzcash: Add tests for API
8 years ago