Commit Graph

175 Commits

Author SHA1 Message Date
lateminer
55729c2f6e Update to Core 0.13.2 2018-11-14 19:43:28 +03:00
lateminer
aabee84651 Add GetTransactionSigOpCount unit tests 2018-11-11 17:11:01 +03:00
lateminer
30966b05d9 Add pblock declaration in BlockAssembler::AddToBlock() 2018-11-09 20:41:40 +03:00
lateminer
a329674df6 Add proof-of-stake check in BlockAssembler::addPriorityTxs() 2018-11-02 00:48:18 +03:00
lateminer
76d0663369 vTxSigOps -> vTxSigOpsCost 2018-10-30 00:31:21 +03:00
lateminer
55842c9d7a Add missing nTime parameter for coinbase transaction
miner.cpp
2018-10-26 01:17:10 +03:00
lateminer
d7b72d14d8 Do not throw an error for proof-of-stake blocks in CreateNewBlock()
miner.cpp
2018-10-23 21:28:04 +03:00
Suhas Daftuar
671c4b68cc Remove -blockminsize option 2018-10-23 01:18:38 +03:00
lateminer
74cf4b83e5 Refactor CreateNewBlock to be a method of the BlockAssembler class 2018-10-23 01:15:28 +03:00
lateminer
eb242178e1 Attempt to fix testnet 2018-10-17 00:40:44 +03:00
Wladimir J. van der Laan
b4753d6757 Remove internal miner 2018-10-15 22:11:55 +03:00
lateminer
eea97b0e37 Make it compile and apply some fixes 2018-10-14 22:49:30 +03:00
lateminer
66779ce2b2 Small changes to ThreadStakeMiner() 2018-10-13 00:17:04 +03:00
lateminer
66dd63a23b Proof-of-stake related code refactoring and cleanup 2018-10-12 23:40:50 +03:00
lateminer
3a29ae6903 Some code refactoring and cleanup 2018-10-02 01:04:31 +03:00
Suhas Daftuar
1e0ba49e26 Add tags to mempool's mapTx indices 2018-01-13 01:31:09 +03:00
lateminer
c4c9d81823 Use std::shared_ptr instead of boost::shared_ptr 2018-01-12 07:34:45 +03:00
lateminer
b4b34ff770 Get rid of remaining auto_ptr mentions 2018-01-06 16:44:09 +03:00
Wladimir J. van der Laan
fb6d61317d auto_ptr → unique_ptr 2018-01-06 03:29:32 +03:00
lateminer
af6e26a288 Get staking parameters from chainparams.cpp
nStakeTimestampMask, nStakeMinConfirmations, nStakeMinAge
2017-12-04 23:43:49 +03:00
janko33bd
2fdd12b2ea Blackcoin Lore 2017-05-30 21:33:31 +02:00
jnewbery
094848baf0 log block size and weight correctly.
Github-Pull: #8838
Rebased-From: 5f274a1749acfdf331bc2931e25ac80c346e5faa
2016-12-02 08:38:02 +01:00
Suhas Daftuar
86edc20a17 Scale legacy sigop count in CreateNewBlock
Github-Pull: #8362
Rebased-From: 682aa0f289c550c029733966a2ce3449e4a471df
2016-07-25 18:08:41 +02:00
Suhas Daftuar
fca1a415ce Rename "block cost" to "block weight"
Github-Pull: #8363
Rebased-From: 2c06bae39edfaa9c0855d83377ad8fda09e4fa08
2016-07-19 12:10:28 +02:00
Suhas Daftuar
27362dda4d Remove -blockminsize option 2016-06-30 11:41:13 -04:00
Suhas Daftuar
d2e46e1b5c Remove addScoreTxs() 2016-06-30 11:37:38 -04:00
Suhas Daftuar
6dd4bc289c Exclude witness transactions in addPackageTxs() pre-segwit activation 2016-06-30 11:24:32 -04:00
Suhas Daftuar
f15c2cde45 CreateNewBlock: add support for size-accounting to addPackageTxs
Includes a change to not continue to use size-accounting in addScoreTxs
or addPackageTxs just because addPriorityTxs() is used.
2016-06-27 10:58:58 -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
8b49040854 BIP141: Commitment structure and deployment
Includes a fix by Suhas Daftuar and LongShao007
2016-06-22 15:42:59 +02:00
Suhas Daftuar
c82a4e9a63 Use ancestor-feerate based transaction selection for mining
Includes changes by Pieter Wuille
2016-06-16 12:35:37 -04:00
Alex Morcos
c2dd5a3c39 FIX: correctly measure size of priority block 2016-06-01 12:29:03 -04:00
Alex Morcos
a278764748 FIX: Account for txs already added to block in addPriorityTxs 2016-05-24 15:01:14 -04:00
Alex Morcos
4dc94d1036 Refactor CreateNewBlock to be a method of the BlockAssembler class 2016-05-18 14:11:12 -04:00
Wladimir J. van der Laan
07e4edb056 auto_ptr → unique_ptr
Change the few occurrences of the deprecated `auto_ptr` to c++11 `unique_ptr`.
Silences the deprecation warnings.

Also add a missing `std::` for consistency.
2016-04-28 13:43:32 +02:00
Pieter Wuille
6f83cf2adb BIP9 Implementation
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and
based on code by Jorge Timon.
2016-03-18 09:14:52 +00:00
Pieter Wuille
6851107b3a BIP9 Implementation
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and
based on code by Jorge Timon.
2016-03-15 16:54:38 +01:00
Wladimir J. van der Laan
11c769966a Merge #7507: Remove internal miner
8d1de43 Remove internal miner (Leviathn)
2016-03-14 11:35:41 +01:00
Suhas Daftuar
086da92ea7 Add tags to mempool's mapTx indices 2016-02-16 12:35:16 -05:00
Leviathn
8d1de43f0c Remove internal miner
This code removes the internal miner which is only useful on Testnet.
This leaves the internal miner that is useful on RegTest intact.
2016-02-10 18:29:13 -08:00
MarcoFalke
333e1eaeea Bump copyright headers to 2015
- Bump copyright headers to 2015
- [devtools] Rewrite fix-copyright-headers.py
- [devtools] Use git pretty-format for year parsing

Github-Pull: #7205
Rebased-From: fa6ad855e9 fa24439ff3 fa71669452
2016-01-05 14:13:33 +01:00
MarcoFalke
fa24439ff3 Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
antonio-fr
74f7341fec Update miner.cpp: Fix typo in comment 2015-12-02 15:18:23 +01:00
Alex Morcos
553cad94e2 Rewrite CreateNewBlock
Use the score index on the mempool to only add sorted txs in order.  Remove much of the validation while building the block, relying on mempool to be consistent and only contain txs that can be mined.
The mempool is assumed to be consistent as far as not containing txs which spend non-existent outputs or double spends, and scripts are valid.  Finality of txs is still checked (except not coinbase maturity, assumed in mempool).
Still TestBlockValidity in case mempool consistency breaks and return error state if an invalid block was created.
Unit tests are modified to realize that invalid blocks can now be constructed if the mempool breaks its consistency assumptions and also updated to have the right fees, since the cached value is now used for block construction.

Conflicts:
	src/miner.cpp
2015-12-01 12:09:37 -05:00
Pieter Wuille
61457c29d7 Merge pull request #6508
eece63f Switch blocks to a constant-space Merkle root/branch algorithm. (Pieter Wuille)
ee60e56 Add merkle.{h,cpp}, generic merkle root/branch algorithm (Pieter Wuille)
2015-11-28 22:27:38 +01:00
Luke Dashjr
b966aa836a Constrain constant values to a single location in code 2015-11-28 18:47:29 +01:00
Pieter Wuille
eece63fa72 Switch blocks to a constant-space Merkle root/branch algorithm.
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.
2015-11-27 15:36:52 +01:00
Jorge Timón
6bc9e4056b Chainparams: Explicit CChainParams arg for miner:
-BitcoinMiner
-CreateNewBlock
-GenerateBitcoins
-ProcessBlockFound
2015-11-11 13:21:17 +01:00
Jorge Timón
598e494587 Chainparams: Explicit CChainParams arg for main (pre miner):
-ProcessNewBlock
-TestBlockValidity
2015-11-11 13:21:17 +01:00
Gregory Maxwell
e4e5334ef8 Restore MedianTimePast for locktime.
Revert "Revert "Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations""
This reverts commit 40cd32e835.

After careful analysis it was determined that the change was, in fact, safe and several people were suffering
momentary confusion about locktime semantics.
2015-11-03 17:12:36 +00:00