Commit graph

87 commits

Author SHA1 Message Date
Byron Hambly
7878ba47b9 Merge c561f2f06e into merged_master (Bitcoin PR bitcoin/bitcoin#23497) 2023-06-19 09:28:31 +00:00
Byron Hambly
47626b5a64 Merge 623745ca74 into merged_master (Bitcoin PR bitcoin/bitcoin#23912) 2023-06-14 15:44:11 +00:00
Byron Hambly
32a72637f7 Merge 16d698cdcf into merged_master (Bitcoin PR bitcoin/bitcoin#23517) 2023-05-31 09:33:07 +00:00
Byron Hambly
8250bf53d2 Merge 606e306277 into merged_master (Bitcoin PR bitcoin/bitcoin#22981) 2023-05-26 13:47:21 +00:00
Byron Hambly
2da8f66309 Merge 38b2a0a3f9 into merged_master (Bitcoin PR bitcoin/bitcoin#23173) 2023-05-24 11:45:57 +00:00
Byron Hambly
570683e6ac Merge ad0fc453cc into merged_master (Bitcoin PR bitcoin/bitcoin#16333) 2023-04-06 11:43:11 +00:00
Russell Yanofsky
90fc8b089d Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
Hennadii Stepanov
f47dda2c58
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
* 2020: fa0074e2d8
* 2019: aaaaad6ac9
2021-12-30 19:36:57 +02:00
MarcoFalke
16d698cdcf
Merge bitcoin/bitcoin#23517: scripted-diff: Move miner to src/node
fa4e09924b refactor: Replace validation.h include with forward-decl in miner.h (MarcoFalke)
fa0739a7d3 style: Sort file list after rename (MarcoFalke)
fa53e3a58c scripted-diff: Move miner to src/node (MarcoFalke)

Pull request description:

  It is impossible to run the miner without a node (validation, chainstate, mempool, rpc, ...). Also, the module is in the node library. Thus, it should be moved to `src/node`.

  Also, replace the `validation.h` include in the header with a forward-declaration.

ACKs for top commit:
  theStack:
    Code-review ACK fa4e09924b

Tree-SHA512: 791e6caa5839d8dc83b0f58f3f49bc0a7e3c1710822e8a44dede254c87b6f7531a0586fb95e8a067c181457a3895ad6041718aa2a2fac64cfc136bf04bb851d5
2021-11-26 09:03:39 +01:00
MarcoFalke
fac49470ca
doc: Fix incorrect C++ named args 2021-11-17 09:25:14 +01:00
MarcoFalke
fa53e3a58c
scripted-diff: Move miner to src/node
-BEGIN VERIFY SCRIPT-
 # Move module
 git mv src/miner.cpp src/node/
 git mv src/miner.h   src/node/
 # Replacements
 sed -i 's:miner\.h:node/miner.h:g'     $(git grep -l miner)
 sed -i 's:miner\.cpp:node/miner.cpp:g' $(git grep -l miner)
 sed -i 's:MINER_H:NODE_MINER_H:g'      $(git grep -l MINER_H)
-END VERIFY SCRIPT-
2021-11-16 10:04:55 +01:00
John Newbery
2c64270bbe [refactor] Don't call AcceptToMemoryPool() from outside validation.cpp 2021-11-03 14:34:41 +00:00
Andrew Poelstra
34da23bd1a Merge a55904a80c into merged_master (Bitcoin PR bitcoin/bitcoin#21866)
Paying the piper for some lazy use of globals, including ones I added
in 8e770d3f21

Had to add another couple methods to interfaces::Chain
2021-07-29 13:18:11 +00:00
Andrew Poelstra
bc51e4e896 Merge 80a699fda9 into merged_master (Bitcoin PR #21525) 2021-06-29 01:29:25 +00:00
Andrew Poelstra
05bd3e6667 Merge 767bb7d5c5 into merged_master (Bitcoin PR #21270) 2021-06-26 19:21:09 +00:00
Andrew Poelstra
4268df69bc Merge 828bb776d2 into merged_master (Bitcoin PR #20750) 2021-06-24 17:22:15 +00:00
Andrew Poelstra
f6e9f3b96f Merge f1c339d452 into merged_master (Bitcoin PR #21211) 2021-06-24 16:44:18 +00:00
Andrew Poelstra
f250da483b Merge 8e1913ae02 into merged_master (Bitcoin PR #21062) 2021-06-22 22:39:50 +00:00
Andrew Poelstra
2885d86bf7 Merge 44f4bcd302 into merged_master (Bitcoin PR #20749)
More-or-less mechanical fixes to conflicts (checking upstream diff and chasing
compiler errors).
2021-06-20 14:54:25 +00:00
MarcoFalke
222290f543
test: Set BIP34Height = 2 for regtest 2021-06-18 20:58:03 +02:00
Carl Dong
0d61634c06 scripted-diff: test: Use existing chainman in unit tests
-BEGIN VERIFY SCRIPT-
git ls-files -- src/test \
    | grep -v '^src/test/fuzz' \
    | xargs sed -i -E \
            -e 's@g_chainman\.m_blockman@m_node.chainman->m_blockman@g' \
            -e 's@([^:])(Chain(state|)Active)@\1::\2@g' \
            -e 's@::Chain(state|)Active\(\)@m_node.chainman->ActiveChain\1()@g'
-END VERIFY SCRIPT-
2021-06-10 15:04:39 -04:00
Carl Dong
7b8e976cd5 miner: Add chainstate member to BlockAssembler 2021-03-24 15:40:56 -04:00
Carl Dong
eede0647b0 Revert "scripted-diff: Invoke CreateNewBlock with chainstate"
This reverts commit 46b7f29340.
2021-03-24 15:40:56 -04:00
Carl Dong
46b7f29340 scripted-diff: Invoke CreateNewBlock with chainstate
-BEGIN VERIFY SCRIPT-
find_regex='(\.|->)CreateNewBlock\(' \
    && git grep -l -E "$find_regex" -- src \
        | grep -v '^src/miner\.\(cpp\|h\)$' \
        | xargs sed -i -E 's@'"$find_regex"'@\0::ChainstateActive(), @g'
-END VERIFY SCRIPT-
2021-03-08 15:54:31 -05:00
MarcoFalke
828bb776d2
Merge #20750: [Bundle 2/n] Prune g_chainman usage in mempool-related validation functions
e8ae1db864 style-only: Make AcceptToMemoryPool signature readable (Carl Dong)
8f5c100064 style-only: Make CheckSequenceLock signature readable (Carl Dong)
8c824819c8 validation: Use *this in CChainState::LoadMempool (Carl Dong)
0a9a24d8c7 validation: Pass in chainstate to UpdateMempoolForReorg (Carl Dong)
7142018812 validation: Pass in chainstate to CTxMemPool::removeForReorg (Carl Dong)
71734c65dc validation: Pass in chain to ::TestLockPointValidity (Carl Dong)
120aaba9ac tree-wide: Fix erroneous AcceptToMemoryPool replacements (Carl Dong)
417dafc1ee validation: Remove old AcceptToMemoryPool w/o chainstate param (Carl Dong)
3704433c4f scripted-diff: Invoke ::AcceptToMemoryPool with chainstate (Carl Dong)
229bc37b5f validation: Pass in chainstate to ::AcceptToMemoryPool (Carl Dong)
d0da7ea57a validation: Pass in chainstate to ::LoadMempool (Carl Dong)
3a205c43dc validation: Pass in chainstate to AcceptToMemoryPoolWithTime (Carl Dong)
d8a816329c validation: Add chainstate member to MemPoolAccept (Carl Dong)
4c15942b79 validation: Pass in chainstate to ::CheckSequenceLocks (Carl Dong)
577b774d0c validation: Remove old CheckFinalTx w/o chain tip param (Carl Dong)
7031cf89db scripted-diff: Invoke ::CheckFinalTx with chain tip (Carl Dong)
d015eaa550 validation: Pass in chain tip to ::CheckFinalTx (Carl Dong)
252b489c9f validation: Pass in coins tip to CheckInputsFromMempoolAndCache (Carl Dong)
73a6d2b7be validation: Pass in chainstate to IsCurrentForFeeEstimation (Carl Dong)
d1f932b0b0 validation: Pass in coins cache to ::LimitMempoolSize (Carl Dong)

Pull request description:

  Overall PR: #20158 (tree-wide: De-globalize ChainstateManager)

  Note to reviewers:
  1. This bundle may _apparently_ introduce usage of `g_chainman` or `::Chain(state|)Active()` globals, but these are resolved later on in the overall PR. [Commits of overall PR](https://github.com/bitcoin/bitcoin/pull/20158/commits)
  2. There may be seemingly obvious local references to `ChainstateManager` or other validation objects which are not being used in callers of the current function in question, this is done intentionally to **_keep each commit centered around one function/method_** to ease review and to make the overall change systematic. We don't assume anything about our callers. Rest assured that once we are considering that particular caller in later commits, we will use the obvious local references. [Commits of overall PR](https://github.com/bitcoin/bitcoin/pull/20158/commits)
  3. When changing a function/method that has many callers (e.g. `LookupBlockIndex` with 55 callers), it is sometimes easier (and less error-prone) to use a scripted-diff. When doing so, there will be 3 commits in sequence so that every commit compiles like so:
  	1. Add `new_function`, make `old_function` a wrapper of `new_function`, divert all calls to `old_function` to `new_function` **in the local module only**
  	2. Scripted-diff to divert all calls to `old_function` to `new_function` **in the rest of the codebase**
  	3. Remove `old_function`

ACKs for top commit:
  glozow:
    reACK e8ae1db864 via `git range-diff 15f0042...e8ae1db`, only change is fixing ATMP call from conflict
  MarcoFalke:
    ACK e8ae1db864 📣

Tree-SHA512: 6af50f04940a69c5c3d3796a24f32f963fa02503cdc1155cc11fff832a99172b407cd163a19793080a5af98580f051b48195b62ec4a797ba2763b4883174153d
2021-02-20 09:21:45 +01:00
Carl Dong
3704433c4f scripted-diff: Invoke ::AcceptToMemoryPool with chainstate
-BEGIN VERIFY SCRIPT-
find_regex='\bAcceptToMemoryPool\(' \
    && git grep -l -E "$find_regex" -- src \
        | grep -v '^src/validation\.\(cpp\|h\)$' \
        | xargs sed -i -E 's@'"$find_regex"'@\0::ChainstateActive(), @g'
-END VERIFY SCRIPT-
2021-02-18 14:49:06 -05:00
MarcoFalke
22220ef6d5
test: Move P2WSH_OP_TRUE to shared test library 2021-02-17 11:36:30 +01:00
gzhao408
f82baf0762 [refactor] return MempoolAcceptResult
This creates a cleaner interface with ATMP, allows us to make results const,
and makes accessing values that don't make sense (e.g. fee when tx is
invalid) an error.
2021-02-09 07:01:52 -08:00
Carl Dong
eae54e6e60 scripted-diff: Use BlockManager::LookupBlockIndex
[META] In a previous commit, we moved ::LookupBlockIndex to become a
       member function of BlockManager. This commit is split out from
       that one since it can be expressed nicely as a scripted-diff.

-BEGIN VERIFY SCRIPT-
find_regex='LookupBlockIndex' \
    && git grep -l -E "$find_regex" -- src \
        | grep -v '^src/validation\.\(cpp\|h\)$' \
        | xargs sed -i -E "s@${find_regex}@g_chainman.m_blockman.LookupBlockIndex@g"
-END VERIFY SCRIPT-
2021-01-28 14:15:26 -05:00
Andrew Poelstra
ab283556b0 Merge db88db4727 into merged_master (Bitcoin PR #19339)
Changes API for AcceptToMemoryPool to no longer check maximum fee; we remove
this check from interfaces::CChain::testPeginClaimAcceptance. This is fine,
the check never should have been there (this method's job is to notice double
claim attempts and provide a more helpful message to the user; other mempool
failures should be caught later in the `claimrawpegin` logic when we call
`pwallet->commitTransaction` which actually subits to the mempool). It was
only checking fees because the API made it easier to do so than to not.
2020-11-30 15:50:18 +00:00
Andrew Poelstra
7fabb1de9a Merge 5ec19df687 into merged_master (Bitcoin PR #19277) 2020-11-26 01:09:19 +00:00
Andrew Poelstra
29b17c1221 Merge 793e0ff22c into merged_master (Bitcoin PR #18698) 2020-11-26 01:08:49 +00:00
Andrew Poelstra
ef3173ed00 Merge b9c504cbc4 into merged_master (Bitcoin PR #18742) 2020-11-26 01:08:44 +00:00
Andrew Poelstra
0a22e1a6e6 Merge 64673b1037 into merged_master (Bitcoin PR #18780) 2020-11-26 01:08:34 +00:00
Andrew Poelstra
fd37b7c5d6 Merge 54f812d9d2 into merged_master (Bitcoin PR #18673) 2020-11-26 01:08:23 +00:00
Andrew Poelstra
cf93edb0be Merge 312d27b11c into merged_master (Bitcoin PR #17477) 2020-11-26 01:07:59 +00:00
Andrew Poelstra
cc668250eb Merge 97aadf98d0 into merged_master (Bitcoin PR #16117) 2020-11-26 01:07:50 +00:00
Andrew Poelstra
d9db3e9012 Merge 17e14ac92f into merged_master (Bitcoin PR #17781) 2020-11-14 16:52:03 +00:00
Andrew Poelstra
fcc3e6c04c Merge ae6943620a into merged_master (Bitcoin PR #17407) 2020-11-09 23:10:14 +00:00
Andrew Poelstra
cfde15703a Merge 99ab3a72c5 into merged_master (Bitcoin PR #15931) 2020-11-09 23:10:09 +00:00
Andrew Poelstra
056b9bb06d Merge 46fc4d1a24 into merged_master (Bitcoin PR #17384) 2020-11-09 23:10:08 +00:00
Andrew Poelstra
3cb664e64e Merge 5933c6d924 into merged_master (Bitcoin PR #17228) 2020-11-09 21:20:50 +00:00
Andrew Poelstra
bde84fefc4 Merge 3c40bc6726 into merged_master (Bitcoin PR #15921) 2020-11-09 21:20:48 +00:00
Andrew Poelstra
19568c3891 Merge c6e42f1ca9 into merged_master (Bitcoin PR #14193) 2020-11-09 03:58:18 +00:00
Andrew Poelstra
9274da2dfc Merge 7400135b79 into merged_master (Bitcoin PR #16278) 2020-11-09 03:58:17 +00:00
Andrew Poelstra
f6f2aefae3 Merge 40c66bb3d1 into merged_master (Bitcoin PR #15855) 2020-10-29 16:50:16 +00:00
Andrew Poelstra
c91184f6c2 Merge b2a6b02161 into merged_master (Bitcoin PR #15948) 2020-10-29 02:36:55 +00:00
Andrew Poelstra
161bcd2ae8 Merge 78295e97b8 into merged_master (Bitcoin PR #15788) 2020-10-28 16:43:03 +00:00
John Newbery
b048b275d9 [validation] Remove absurdfee from accepttomempool
Mempool behavior should not be user-specific.
Checking that txfee is acceptable should be
the responsibility of the wallet or client, not
the mempool.
2020-10-05 04:55:01 -07:00
MarcoFalke
fa34587f1c
scripted-diff: Replace EnsureChainman with Assert in unit tests
-BEGIN VERIFY SCRIPT-
sed --regexp-extended -i -e 's/EnsureChainman\((m?_?node)\)\./Assert(\1.chainman)->/g' $(git grep -l EnsureChainman)
-END VERIFY SCRIPT-
2020-06-15 07:39:26 -04:00