mruddy
690d38f0f8
Resolve issue bitcoin/bitcoin#3166 .
These changes decode valid SIGHASH types on signatures in assembly (asm) representations of scriptSig scripts.
This squashed commit incorporates substantial helpful feedback from jtimon, laanwj, and sipa.
9 years ago
Simon
072099d788
Implementation of Overwinter transaction format ZIP 202.
6 years ago
Simon
45232b1961
Add payment disclosure as experimental feature.
7 years ago
Sean Bowe
1a9543d064
Remove crusty old "loadVerifyingKey"/"loadProvingKey" APIs and associated invariants.
7 years ago
Pieter Wuille
6bd1d60c97
Separate core memory usage computation in core_memusage.h
9 years ago
Pieter Wuille
bde5c8b0f1
Implement accurate memory accounting for mempool
9 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
38276c6ba2
Add GenIdentity, an identity function for MappedShuffle.
We use this function in z_sendmany as part of the fix for #1779 .
8 years ago
Simon
7c463780cf
Fixes #1779 so that sending to multiple zaddrs no longer fails.
Commit 2eeb6b randomized the order of input and output notes,
but this is now known to prevent the chaining of multiple joinsplits
in a single transaction. The root cause has yet to be determined.
This patch is a temporary fix and disables the shuffling of input
and output notes. It also adds a chained joinsplit test to the
python qa test suite.
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
3bdb071cc3
Remove #1144 from transaction.cpp by reverting back to commit 942bc46
.
8 years ago
Jack Grigg
5db5e42ec3
Add optional bool to disable computation of proof in JSDescription constructor
8 years ago
Simon
74cd8821c7
Remove GetSerializeHash() method.
8 years ago
Simon
3979881fc5
Fix comment.
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
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
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
Sean Bowe
3a10823ad4
Wrap lines in *CTransaction constructors.
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
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
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
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
sandakersmann
f914f1a746
Added "Core" to copyright headers
Github-Pull: #5494
Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
10 years ago
Luke Dashjr
d227011184
MOVEONLY: core/ -> primitives/
10 years ago
jtimon
4a3587d8db
MOVEONLY: Separate CTransaction and dependencies from core
10 years ago