jl777
09cd7f3aed
test
8 years ago
jl777
94eb04d704
osx compatibility
8 years ago
Daira Hopwood
a5fd8da7ba
Static assertion that standard and network min tx versions are consistent.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
8 years ago
Simon
e11e61ddb1
Workaround g++ 5.x bug with brace enclosed initializer.
http://stackoverflow.com/questions/32912921/whats-wrong-with-this-inline-initialization-of-stdarray/32912976#32912976
8 years ago
jl777
8a9bc02778
test
8 years ago
Simon
ccc0f9af42
Fixes CID 1352714 uninitialized scalar variable.
8 years ago
Simon
fed6c83ccf
Fixes CID 1352727 uninitialized scalar variable.
8 years ago
Simon
351b38fd5b
Fixes CID 1352599 unitialized scalar variable
8 years ago
Daira Hopwood
e923e3ae0f
Make v2 transactions standard.
This also corrects a rule about admitting large orphan transactions into the mempool, to account for v2-specific fields.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
8 years ago
Jack Grigg
3774c944f8
Refactor test code to better test JSDescription::Randomized()
8 years ago
Jack Grigg
7f0aa74666
Implement static method for creating a randomized JSDescription
8 years ago
Simon
33264f5b46
Remove GetTxid() from CTransaction and update test_txid
8 years ago
Simon
805344dcf4
Refactor: replace calls to GetTxid() with GetHash()
8 years ago
Simon
3bdb071cc3
Remove #1144 from transaction.cpp by reverting back to commit 942bc46
.
8 years ago
Simon
82f3c490b1
Remove #1144 from transaction.h.
Reverts to 4bc00dc
with commits f0dab51
(snark) and f5e5707
(joinsplit) retained.
GetTxid() is now an alias for GetHash().
8 years ago
Jack Grigg
5db5e42ec3
Add optional bool to disable computation of proof in JSDescription constructor
8 years ago
Daira Hopwood
c6a7e897bc
Add mostly-static checks on consistency of Equihash parameters, MAX_HEADERS_RESULTS, and MAX_PROTOCOL_MESSAGE_LENGTH.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
8 years ago
Sean Bowe
f0dab51cf3
Implement zkSNARK compression.
8 years ago
Jack Grigg
5be6abbf84
Store the Equihash solution in minimal representation in the block header
The genesis blocks and miner tests have been regenerated, because changing the
block header serialisation format changes the block hash, and thus validity.
The Equihash solutions have been removed from the bloom test inputs for
simplicity (block validity is not checked there; only a valid serialisation is
necessary).
8 years ago
Sean Bowe
f5e5707d4c
Change memo field size and relocate `ciphertexts` field of JoinSplit description.
8 years ago
Simon
74cd8821c7
Remove GetSerializeHash() method.
8 years ago
Simon
c63af91a78
Update comment.
8 years ago
Simon
3979881fc5
Fix comment.
8 years ago
Simon
92f7426d19
Make txid const.
8 years ago
Simon
90a9019387
Fix issue where a coinbase tx should have it's sigscript hashed
to avoid duplicate txids, as discussed in BIP34 and BIP30.
8 years ago
Simon
07e6d5b025
Refactor GetTxid() into UpdateTxid() to match coding style of hash member variable.
UpdateTxid() is called alongside UpdateHash() when a CTransaction is
deserialized or constructed. GetTxid() now returns a const reference.
8 years ago
Simon
10d2c57c0d
Replace calls to GetHash() with GetTxid() for transaction objects.
Where the caller intends to receive a transaction id and not a double
SHA256 hash.
8 years ago
Simon
1e84d84d3a
Rename GetHash() method to GetSerializeHash().
When pulling from upstream we are now forced to examine GetHash() usage
and replace with GetSerializeHash() if the caller wants a double SHA256
hash, or with GetTxid() if the caller wants a transaction id.
8 years ago
Simon
49689a574c
Add GetTxid() which returns a non-malleable txid.
8 years ago
Daira Hopwood
4bc00dc141
Bucket -> note.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
8 years ago
Sean Bowe
b7e4abd6f7
Rename some usage of 'pour'.
8 years ago
Sean Bowe
942bc46756
Rename GetPourValueIn to GetJoinSplitValueIn
8 years ago
Sean Bowe
bfeaf0049a
Rename JSDescription's `serials` to `nullifiers`.
8 years ago
Sean Bowe
8675d94b63
Rename vpour to vjoinsplit.
8 years ago
Sean Bowe
a8c68ffe99
Rename CPourTx to JSDescription.
8 years ago
Jack Grigg
a8d384aeda
Add a 256-bit reserved field to the block header
This field has no defined semantics. While it was added as a result of
discussions about merged mining in #724 , this field will not necessarily ever be
used for that purpose.
8 years ago
Sean Bowe
3a10823ad4
Wrap lines in *CTransaction constructors.
8 years ago
Sean Bowe
1e99cbab04
Use joinsplit_sig_t in more places.
8 years ago
Sean Bowe
320f2cc7e0
Switch to Ed25519 for cryptographic binding of joinsplits to transactions.
8 years ago
Taylor Hornby
b48122b57b
Fix tests for JoinSplit signatures
8 years ago
Taylor Hornby
6aae9d1a55
Sign JoinSplit transactions
8 years ago
Sean Bowe
3ebca007f3
Reorder fields of CPourTx to reflect the spec.
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
2dc3599271
Transplant of libzcash.
8 years ago
Sean Bowe
2140639309
Remove scriptPubKey/scriptSig from CPourTx, and add randomSeed.
8 years ago
Sean Bowe
5961dcb6da
Change ciphertext length to match protocol spec, and refactor the use of constants.
8 years ago
Sean Bowe
6c36a9fe03
NoteEncryption implementation and integration, removal of ECIES and crypto++ dependencies.
8 years ago
Jack Grigg
fdda3c5085
Use Equihash for Proof-of-Work
The main and test networks are configured to use parameters that are currently
low-memory but usable with the basic solver; they will be increased once the
solver is optimised. The regtest network is configured to have extremely low
memory usage for speed.
Note that Bitcoin's double-hasher is used for the difficulty check. This does
not match the paper, but is simpler than changing the block header
serialization. Single hashing is kept for the EquiHash solver because there is
no requirement on execution time there, only on memory usage.
8 years ago
Sean Bowe
a897db652f
Reorganizing the zerocash tree.
8 years ago
Sean Bowe
d488e75ea8
Fix comment.
9 years ago