aboutsummaryrefslogtreecommitdiff
path: root/src/primitives
Commit message (Collapse)AuthorAgeFilesLines
* s/DOGE/DIS/gTomo Ueda2021-09-021-1/+1
|
* really s/Doge/Dis/g this timeTomo Ueda2021-09-022-3/+3
|
* Use CAmount for amountsRoss Nicoll2021-08-081-1/+2
| | | | | | | | | | Use CAmount rather than unsigned int for amounts for consistency with other fee rate amounts. This does change the type from unsigned int to unsigned int64, and while it is unlikely anyone would need a dust limit higher than unsigned int, again this ensures the theoretical maximum is in line with other rates.
* [fees] introduce configurable hard dust limitPatrick Lodder2021-08-051-1/+3
| | | | Co-authored-by: Ross Nicoll <[email protected]>
* Initial back end framework to separate wallet and relay fees + dust.Michi Lumin2021-07-301-3/+3
|
* Fix dust threshold at 1 DOGERoss Nicoll2019-11-031-1/+5
|
* Correct dust and changeRoss Nicoll2019-11-031-1/+2
| | | | | Correct dust threshold, which is never less than 1 DOGE. Correct minimum change, which is 1 DOGE.
* Create v1 transactions for compatibility with 1.10 (#1485)Ross Nicoll2018-09-191-1/+2
| | | | Create v1 transactions for compatibility with 1.10. See https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki for context. This should NOT be merged into 1.16.
* Handle legacy v2 block at #66064Ross Nicoll2018-09-191-1/+3
|
* Merge AuxPoW support from NamecoreRoss Nicoll2018-09-194-43/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes are as below: Wrap CBlockHeader::nVersion into a new class (CBlockVersion). This allows to take care of interpreting the field into a base version, auxpow flag and the chain ID. Update getauxblock.py for new 'generate' RPC call. Add 'auxpow' to block JSON. Accept auxpow as PoW verification. Add unit tests for auxpow verification. Add check for memory-layout of CBlockVersion. Weaken auxpow chain ID checks for the testnet. Allow Params() to overrule when to check the auxpow chain ID and for legacy blocks. Use this to disable the checks on testnet. Introduce CPureBlockHeader. Split the block header part that is used by auxpow and the "real" block header (that uses auxpow) to resolve the cyclic dependency between the two. Differentiate between uint256 and arith_uint256. This change was done upstream, modify the auxpow code. Add missing lock in auxpow_tests. Fix REST header check for auxpow headers. Those can be longer, thus take that into account. Also perform the check actually on an auxpow header. Correctly set the coinbase for getauxblock results. Call IncrementExtraNonce in getauxblock so that the coinbase is actually initialised with the stuff it should be. (BIP30 block height and COINBASE_FLAGS.) Implement getauxblock plus regression test. Turn auxpow test into FIXTURE test. This allows using of the Params() calls. Move CMerkleTx code to auxpow.cpp. Otherwise we get linker errors when building without wallet. Fix rebase with BIP66. Update the code to handle BIP66's nVersion=3. Enforce that auxpow parent blocks have no auxpow block version. This is for compatibility with namecoind. See also https://github.com/namecoin/namecoin/pull/199. Move auxpow-related parameters to Consensus::Params.
* Litecoin: Scrypt n=1024 Pow hash based upon Colin Percival's Tarnsnap (2009) ↵Warren Togami2018-09-192-0/+10
| | | | Modified by Artforz, coblee, pooler, wtogami, Nikolay Belikov, Adrian Gallagher
* Optimize GetWitnessHash() for non-segwit transactionsSuhas Daftuar2017-03-271-0/+3
| | | | | Github-Pull: #9912 Rebased-From: 02c57b521a9e7afd4416cd027a8b397f202b08a8
* Merge #9283: A few more CTransactionRef optimizationsWladimir J. van der Laan2017-01-041-2/+0
|\ | | | | | | | | | | | | 91335ba Remove unused MakeTransactionRef overloads (Pieter Wuille) 6713f0f Make FillBlock consume txn_available to avoid shared_ptr copies (Pieter Wuille) 62607d7 Convert COrphanTx to keep a CTransactionRef (Pieter Wuille) c44e4c4 Make AcceptToMemoryPool take CTransactionRef (Pieter Wuille)
| * Remove unused MakeTransactionRef overloadsPieter Wuille2016-12-211-2/+0
| |
* | Increment MIT Licence copyright header year on files modified in 2016isle29832016-12-314-4/+4
|/ | | | | | Edited via: $ contrib/devtools/copyright_header.py update .
* Merge #8589: Inline CTxInWitness inside CTxInWladimir J. van der Laan2016-12-212-73/+36
|\ | | | | | | f6fb7ac Move CTxInWitness inside CTxIn (Pieter Wuille)
| * Move CTxInWitness inside CTxInPieter Wuille2016-12-042-73/+36
| |
* | Bump default transaction version to 2BtcDrak2016-12-081-1/+1
|/
* Make CTransaction actually immutablePieter Wuille2016-12-022-90/+87
|
* Introduce convenience type CTransactionRefPieter Wuille2016-11-192-1/+7
|
* Make CBlock::vtx a vector of shared_ptr<CTransaction>Pieter Wuille2016-11-192-2/+2
|
* Add deserializing constructors to CTransaction and CMutableTransactionPieter Wuille2016-11-192-0/+13
|
* Get rid of nType and nVersionPieter Wuille2016-11-072-15/+16
| | | | | | | | | | | Remove the nType and nVersion as parameters to all serialization methods and functions. There is only one place where it's read and has an impact (in CAddress), and even there it does not impact any of the recursively invoked serializers. Instead, the few places that need nType or nVersion are changed to read it directly from the stream object, through GetType() and GetVersion() methods which are added to all stream classes.
* Make GetSerializeSize a wrapper on top of CSizeComputerPieter Wuille2016-11-071-1/+1
| | | | | | | | | | | Given that in default GetSerializeSize implementations created by ADD_SERIALIZE_METHODS we're already using CSizeComputer(), get rid of the specialized GetSerializeSize methods everywhere, and just use CSizeComputer. This removes a lot of code which isn't actually used anywhere. For CCompactSize and CVarInt this actually removes a more efficient size computing algorithm, which is brought back in a later commit.
* Remove unused CTxOut::GetHash()Matt Corallo2016-11-042-7/+0
|
* Adding method GetTotalSize() to CTransactionHampus Sjöberg2016-09-062-0/+12
| | | | | GetTotalSize() returns the total transaction size (including witness) in bytes.
* Use __func__ to get function name for output printingMarcoFalke2016-08-191-1/+1
|
* Merge #8332: semi trivial: clarify witness branches in transaction.h ↵Wladimir J. van der Laan2016-07-281-3/+5
|\ | | | | | | | | | | serialization e37b16a transaction: clarify witness branches (Daniel Cousens)
| * transaction: clarify witness branchesDaniel Cousens2016-07-141-3/+5
| |
* | Rename "block cost" to "block weight"Suhas Daftuar2016-07-184-9/+9
| |
* | Rename CTxinWitness -> CTxInWitnessBob McElrath2016-07-061-3/+3
|/
* BIP141: Other consensus critical limits, and BIP145Pieter Wuille2016-06-224-5/+42
| | | | Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
* BIP141: Commitment structure and deploymentPieter Wuille2016-06-221-1/+2
| | | | Includes a fix by Suhas Daftuar and LongShao007
* BIP144: Serialization, hashes, relay (sender side)Pieter Wuille2016-06-223-17/+152
| | | | | | Contains refactorings by Eric Lombrozo. Contains fixup by Nicolas Dorier. Contains cleanup of CInv::GetCommand by Alex Morcos
* Merge #7763: Put hex-encoded version in UpdateTipWladimir J. van der Laan2016-03-311-1/+1
|\ | | | | | | eff736e Reformat version in UpdateTip and other messages (Pieter Wuille)
| * Reformat version in UpdateTip and other messagesPieter Wuille2016-03-311-1/+1
| | | | | | | | Also remove the hardly-readable nBits from UpdateTip's log message.
* | Merge #7648: BIP9 versionbits softfork for BIP68, BIP112 and BIP113Wladimir J. van der Laan2016-03-301-0/+7
|\ \ | |/ |/| | | | | | | | | | | | | 71527a0 Test of BIP9 fork activation of mtp, csv, sequence_lock (NicolasDorier) 19d73d5 Add RPC test for BIP 68/112/113 soft fork. (Alex Morcos) 12c89c9 Policy: allow transaction version 2 relay policy. (BtcDrak) 02c2435 Soft fork logic for BIP68 (BtcDrak) 478fba6 Soft fork logic for BIP113 (BtcDrak) 65751a3 Add CHECKSEQUENCEVERIFY softfork through BIP9 (Pieter Wuille)
| * Policy: allow transaction version 2 relay policy.BtcDrak2016-03-181-0/+7
| | | | | | | | | | This commit introduces a way to gracefully bump the default transaction version in a two step process.
* | Merge #7712: Improve COutPoint less operatorWladimir J. van der Laan2016-03-211-1/+2
|\ \ | |/ |/| | | 0f17692 Improve COutPoint less operator (João Barbosa)
| * Improve COutPoint less operatorJoão Barbosa2016-03-181-1/+2
| |
* | BIP9 ImplementationPieter Wuille2016-03-151-2/+1
|/ | | | | Inspired by former implementations by Eric Lombrozo and Rusty Russell, and based on code by Jorge Timon.
* Merge #7184: Implement SequenceLocks functions for BIP 68Wladimir J. van der Laan2016-02-122-9/+31
|\ | | | | | | | | | | | | 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)
| * Implement SequenceLocks functionsAlex Morcos2016-02-102-9/+31
| | | | | | | | | | | | | | 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
* | Bump copyright headers to 2015MarcoFalke2015-12-134-4/+4
|/
* Merge pull request #6914Wladimir J. van der Laan2015-12-011-2/+2
|\ | | | | | | 114b581 Prevector type (Pieter Wuille)
| * Prevector typePieter Wuille2015-11-131-2/+2
| |
* | Switch blocks to a constant-space Merkle root/branch algorithm.Pieter Wuille2015-11-272-69/+0
|/ | | | | | | | | | | This switches the Merkle tree logic for blocks to one that runs in constant (small) space. The old code is moved to tests, and a new test is added that for various combinations of block sizes, transaction positions to compute a branch for, and mutations: * Verifies that the old code and new code agree for the Merkle root. * Verifies that the old code and new code agree for the Merkle branch. * Verifies that the computed Merkle branch is valid. * Verifies that mutations don't change the Merkle root. * Verifies that mutations are correctly detected.
* transaction_tests: Be more strict checking dustMarcoFalke2015-11-091-2/+2
| | | | | | * Don't allow off-by-one or more * Make clear dust is coupled with minRelayTxFee * Check rounding for odd values
* Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logicPeter Todd2015-10-081-1/+1
| | | | | Based on the earlier BIP66 soft-fork logic implemented by Pieter Wuille's 5a47811da5158df763aa2fca09ce646ee0c51e7b
* Merge pull request #5264Wladimir J. van der Laan2015-09-251-2/+2
|\ | | | | | | af3208b 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. (mruddy)