Duke Leto
b58c15b9fb
update copyrights
3 years ago
Duke Leto
a61fc6775a
Tweak WolfSSL build settings
4 years ago
Duke Leto
f510034fc3
Reduce our JoinSplitty-ness
4 years ago
Duke Leto
be16f80abc
Hush Full Node is now GPLv3
Any projects which want to use Hush code from now on will need to be licensed as
GPLv3 or we will send the lawyers: https://www.softwarefreedom.org/
Notably, Komodo (KMD) is licensed as GPLv2 and is no longer compatible to receive
code changes, without causing legal issues. MIT projects, such as Zcash, also cannot pull
in changes from the Hush Full Node without permission from The Hush Developers,
which may in some circumstances grant an MIT license on a case-by-case basis.
4 years ago
Duke Leto
d0dade1d2c
desprout
4 years ago
Duke Leto
3cb215e39a
more desprout, ugh
4 years ago
Duke Leto
86a98587a1
desprout
4 years ago
Duke Leto
4a3a7acc90
Remove more libsnark stuff
4 years ago
Duke Leto
447ec28997
Delete a lot of libsnark stuff
4 years ago
ca333
492d6703ed
sync jl777:FSM
6 years ago
Eirik Ogilvie-Wigley
4fc309f0f5
Rename Merkle Trees to include sprout or sapling
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
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
5020a93631
Refactoring: rename NotePlaintext --> SproutNotePlaintext
Also renames:
CNotePlaintextEntry --> CSproutNotePlaintextEntry
CUnspentNotePlaintextEntry --> CUnspentSproutNotePlaintextEntry
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
jl777
12b1a8af4c
Extern MAX_MONEY
6 years ago
jl777
1abdb0de13
MAX_MONEY declare
6 years ago
Per Grön
39d2e9e0cb
Make some globals static that can be
External linkage does not help and just encourages sloppy dependencies
and can lead to weird issues when there are name collisions.
6 years ago
Jack Grigg
fee8835388
Mark libsnark includes as library includes
7 years ago
Simon
45232b1961
Add payment disclosure as experimental feature.
7 years ago
Ariel Gabizon
4305a56221
boost::format -> tinyformat
7 years ago
Sean Bowe
394f41853b
Integrate low memory prover.
7 years ago
Sean Bowe
1a9543d064
Remove crusty old "loadVerifyingKey"/"loadProvingKey" APIs and associated invariants.
7 years ago
jl777
9d36f1c3af
test
7 years ago
jl777
e21287a1ed
test
7 years ago
jl777
88b39b8177
test
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
Simon
13e9a639b7
Fix threading issue when initializing public params.
8 years ago
Sean Bowe
78df9f0211
Process verification keys to perform online verification.
8 years ago
Sean Bowe
5f0a73ce11
Improve accuracy of constraint system violation diagnostics.
8 years ago
Sean Bowe
c4643bd949
Throw more descriptive exceptions when the constraint system is violated.
8 years ago
Sean Bowe
0a958ae7f6
Write R1CS output to file in GenerateParams.
8 years ago
Simon
4eb1a96f9a
Add public field 'memo' to JSOutput to enable creation of notes with custom memos.
8 years ago
Jack Grigg
5db5e42ec3
Add optional bool to disable computation of proof in JSDescription constructor
8 years ago
Sean Bowe
7ee82c4361
Deallocate the public parameters during Shutdown.
8 years ago
Sean Bowe
f0dab51cf3
Implement zkSNARK compression.
8 years ago
Simon
d81c31f5fb
Extend try catch block around calls to libsnark, per discussion in #1126 .
8 years ago
Sean Bowe
25d2197043
Remove more from libsnark, and fix potential remote-DoS.
8 years ago
Sean Bowe
bf76024eb7
Pass our constraint system to libsnark, so that it doesn't need to (de)serialize it in the proving key.
8 years ago
Sean Bowe
2668a1bc13
Remove the rest of libzerocash.
8 years ago
Taylor Hornby
6aae9d1a55
Sign JoinSplit transactions
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
81469bbb83
`Note` values should be little-endian byte order.
8 years ago
Sean Bowe
032164d5d5
Rename hmac -> mac in circuit.
8 years ago
Sean Bowe
5e61a78fec
zkSNARK: Enforce disclosure of commitments to output notes.
8 years ago