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
Sean Bowe
f512cf7c7b
Added value balance consensus enforcement for pours.
9 years ago
Sean Bowe
96c31d163f
Added CPourTx verification and construction routines.
9 years ago
Sean Bowe
5884044ba9
Introduce `vpour` to `CTransaction`.
Transactions of version 2 and above contain a `vpour` field which is a vector of `CPourTx`
objects that embody our protocol. We introduce serialization primitives for boost::array
(we intend for changing the amount of inputs and outputs in the circuit to be simple).
SIGHASH_* operations hash this field like any other for now.
9 years ago
Peter Todd
5e82e1c8f5
Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
Based on the earlier BIP66 soft-fork logic implemented by Pieter
Wuille's 5a47811da5
Rebased-From: 287f54fc90c29301faede8d4ac2ea24a91441917
9 years ago
jtimon
691161d419
Consensus: Create consensus/consensus.h with some constants
10 years ago
Cozz Lovan
292623adf5
Subtract fee from amount
Fixes #2724 and #1570 .
Adds the
automatically-subtract-the-fee-from-the-amount-and-send-whats-left
feature to the GUI and RPC (sendtoaddress,sendmany).
10 years ago
Wladimir J. van der Laan
a0ae79d775
Replace CBlockHeader::GetHash with call to SerializeHash
Removes variability between LE and BE.
As suggested by @sipa .
10 years ago
Wladimir J. van der Laan
4f92773f92
src/primitives/transaction.h: endian compatibility in serialization
10 years ago
Wladimir J. van der Laan
81aeb28436
src/primitives/block.cpp: endian compatibility in GetHash
10 years ago
Pieter Wuille
5a47811da5
BIP66 changeover logic
10 years ago
Pavel Janík
5262fde0ec
Remove whitespaces before double colon in errors and logs
10 years ago
Wladimir J. van der Laan
4f1524966a
Replace direct use of 0 with SetNull and IsNull
Replace x=0 with .SetNull(),
x==0 with IsNull(), x!=0 with !IsNull().
Replace uses of uint256(0) with uint256().
10 years ago
Pavel Janík
bdb6a71d3d
IsNull doesn't change CBlockLocator, add const hint
10 years ago
sandakersmann
f914f1a746
Added "Core" to copyright headers
Github-Pull: #5494
Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
10 years ago
Michael Ford
78253fcbad
Remove references to X11 licence
10 years ago
Matt Corallo
afd4b94b6d
Move CMerkleBlock and CPartialMerkleTree to their own file
10 years ago
Luke Dashjr
d227011184
MOVEONLY: core/ -> primitives/
10 years ago