Commit graph

37 commits

Author SHA1 Message Date
Gregory Sanders
796072852d Disallow 0-value fees 2017-06-16 12:02:16 -04:00
Gregory Sanders
2f7a9a5846 Replace nTxFee with explicit output fees 2017-06-16 12:02:16 -04:00
Gregory Sanders
f9fd37cc8e Consensus: Add asset type to CTxOut and validation 2017-06-16 12:02:15 -04:00
Mark Friedenbach
4a831b6740 [Hard Fork] CA: Add asset field to CTxOut, modifying the serialization format of both transaction and witness data 2017-06-16 12:02:15 -04:00
Mark Friedenbach
0e984761f1 CA: Add CTxOutAsset class for holding asset tags and surjection proofs 2017-06-16 12:02:15 -04:00
Mark Friedenbach
2d1fdab4fa CT: Add CTxOutValue::SetNull for API similarity with other bitcoin classes 2017-06-16 12:02:15 -04:00
Mark Friedenbach
2d0e0f72b4 [Move Only] CT: Move small methods of CTxOutValue class into header for inlining 2017-06-16 12:02:15 -04:00
Mark Friedenbach
a94fe6839f [Hard Fork] CT: Swap meaning of serialization byte for explicit outputs
Previously 0 was explicit and 1 was original bitcoin format. This has been reversed such that the original bitcoin format is 0 and the new explicit format is 1.

This is by no means a necessary change, but it is a navel gazing fix that might as well be included since the format is changing anyway to allow compact explicit amounts.
2017-06-16 12:02:15 -04:00
Mark Friedenbach
5e32a07d4c [Hard Fork] CT: Resize vchCommitment based on type (explicit or committed)
Previously all outputs had a fixed size (33 byte) commitment field.
With this change, explicit / unblinded outputs are serialized to 9 bytes,
saving 24 bytes of transaction space per explicit output.
2017-06-16 12:02:15 -04:00
Mark Friedenbach
ab72a3dc05 CT: Rename nCommitmentSize -> nCommittedSize 2017-06-16 12:02:15 -04:00
instagibbs
7501e0a1a0 Adapt daemon functionality to updated libsecp 2017-06-16 12:02:15 -04:00
Luke Dashjr
327b4f0185 Consensus support for blinded amounts 2017-06-15 14:30:08 -04:00
Luke Dashjr
b5f1b6dd38 Refactors in anticipation of blinded values 2017-06-15 14:20:38 -04:00
Matt Corallo
b8264355f1 Add explicit fee field to transaction 2017-06-15 14:20:38 -04:00
Suhas Daftuar
fc3d7db580 Optimize GetWitnessHash() for non-segwit transactions
Github-Pull: #9912
Rebased-From: 02c57b521a
2017-03-27 23:44:08 +02:00
isle2983
27765b6403 Increment MIT Licence copyright header year on files modified in 2016
Edited via:

$ contrib/devtools/copyright_header.py update .
2016-12-31 11:01:21 -07:00
Pieter Wuille
f6fb7acda4 Move CTxInWitness inside CTxIn 2016-12-04 23:47:12 -08:00
Pieter Wuille
81e3228fcb Make CTransaction actually immutable 2016-12-02 18:37:43 -08:00
Pieter Wuille
da60506fc8 Add deserializing constructors to CTransaction and CMutableTransaction 2016-11-19 17:50:40 -08:00
Matt Corallo
190fd321ad Remove unused CTxOut::GetHash() 2016-11-04 10:50:43 -04:00
Hampus Sjöberg
fdf82fba31 Adding method GetTotalSize() to CTransaction
GetTotalSize() returns the total transaction size (including witness) in
bytes.
2016-09-06 22:30:30 +02:00
MarcoFalke
fa785d1211 Use __func__ to get function name for output printing 2016-08-19 18:59:00 +02:00
Suhas Daftuar
2c06bae39e Rename "block cost" to "block weight" 2016-07-18 13:28:26 -04:00
Pieter Wuille
2b1f6f9ccf BIP141: Other consensus critical limits, and BIP145
Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
2016-06-22 15:43:00 +02:00
Pieter Wuille
7030d9eb47 BIP144: Serialization, hashes, relay (sender side)
Contains refactorings by Eric Lombrozo.
Contains fixup by Nicolas Dorier.
Contains cleanup of CInv::GetCommand by Alex Morcos
2016-06-22 15:42:59 +02:00
Wladimir J. van der Laan
80d1f2e483
Merge #7184: Implement SequenceLocks functions for BIP 68
b043c4b fix sdaftuar's nits again (Alex Morcos)
a51c79b Bug fix to RPC test (Alex Morcos)
da6ad5f Add RPC test exercising BIP68 (mempool only) (Suhas Daftuar)
c6c2f0f Implement SequenceLocks functions (Alex Morcos)
2016-02-12 17:03:46 +01:00
Alex Morcos
c6c2f0fd78 Implement SequenceLocks functions
SequenceLocks functions are used to evaluate sequence lock times or heights per BIP 68.

The majority of this code is copied from maaku in #6312
Further credit: btcdrak, sipa, NicolasDorier
2016-02-10 15:35:33 -05:00
MarcoFalke
fa24439ff3 Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
mruddy
af3208bfa6 Resolve issue 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.
2015-07-30 19:56:00 -04:00
Pieter Wuille
9e38d0f745 Separate core memory usage computation in core_memusage.h 2015-07-20 11:17:53 -04:00
Pieter Wuille
5098c47b24 Implement accurate memory accounting for mempool 2015-07-10 10:49:31 -04:00
Wladimir J. van der Laan
5a7304b69d Move recently introduced CTransAction::IsEquivalentTo to CWalletTx
CTransAction::IsEquivalentTo was introduced in #5881.
This functionality is only useful to the wallet, and should never have
been added to the primitive transaction type.
2015-07-02 20:57:39 +02:00
Tom Harding
b2b3619262 Implement CTransaction::IsEquivalentTo(...)
Define CTransaction::IsEquivalentTo(const CTransaction& tx)

True if only scriptSigs are different.  In other words, true if
the two transactions are malleability clones.  In other words,
true if the two transactions have the same effect on the
outside universe.

In the wallet, only SyncMetaData for equivalent transactions.
2015-04-11 19:03:58 -07:00
Pavel Janík
5262fde0ec Remove whitespaces before double colon in errors and logs 2015-01-31 17:38:28 -05:00
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().
2015-01-05 15:45:34 +01:00
sandakersmann
f914f1a746
Added "Core" to copyright headers
Github-Pull: #5494
Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-19 19:55:32 +01:00
Luke Dashjr
d227011184 MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
Renamed from src/core/transaction.cpp (Browse further)