Commit graph

70 commits

Author SHA1 Message Date
Byron Hambly
a482e15e75 Merge 22ccf4e360 into merged_master (Bitcoin PR bitcoin/bitcoin#26991) 2025-04-05 10:11:03 +02:00
Tom Trevethan
1435fb334b Merge 79e007d1d6 into merged_master (Bitcoin PR bitcoin/bitcoin#25296) 2025-04-04 13:36:08 +00:00
Byron Hambly
10176a3189 Merge ad09b76275 into merged_master (Bitcoin PR bitcoin/bitcoin#26471) 2025-04-04 08:55:07 +02:00
Tom Trevethan
7d07e14d44 Merge 6b7ccb98a5 into merged_master (Bitcoin PR bitcoin/bitcoin#26251) 2025-04-02 14:56:26 +00:00
Byron Hambly
e9d7ca4858 Merge 07c54de550 into merged_master (Bitcoin PR bitcoin/bitcoin#26691) 2025-04-02 09:40:04 +02:00
Tom Trevethan
387af571cd Merge 1ff79292e3 into merged_master (Bitcoin PR bitcoin/bitcoin#26609) 2025-03-24 23:33:59 +00:00
Byron Hambly
b83abdf89a
Merge UP TO e42ba134f4 into merged_master (UP TO Bitcoin PR bitcoin/bitcoin#26448)
1667577042 2022-11-04T16:50:42+01:00 e42ba134f4 Bitcoin Merge bitcoin/bitcoin#26448: test: fix intermittent failure in p2p_sendtxrcncl.py
1667576919 2022-11-04T15:48:39+00:00 83cf055bef Bitcoin Merge bitcoin/bitcoin#26443: doc: mention BIP86 in doc/bips.md
1667478613 2022-11-03T13:30:13+01:00 28653a596a Bitcoin Merge bitcoin/bitcoin#26445: .python-version: bump patch version to 3.6.15
1667471345 2022-11-03T10:29:05+00:00 2a7c9984db Bitcoin Merge bitcoin/bitcoin#25248: refactor: Add LIFETIMEBOUND / -Wdangling-gsl to Assert()
1667397640 2022-11-02T15:00:40+01:00 5274f32437 Bitcoin Merge bitcoin/bitcoin#26417: test: fix intermittent failure in feature_index_prune.py
1667372848 2022-11-02T08:07:28+01:00 39f026b1ec Bitcoin Merge bitcoin/bitcoin#26396: net: Avoid SetTxRelay for feeler connections
1667316369 2022-11-01T16:26:09+01:00 bf0cb43990 Bitcoin Merge bitcoin/bitcoin#26437: test: remove unused `CHANGE_{XPRV,XPUB}` constants
1667300957 2022-11-01T11:09:17+00:00 5668ccec1d Bitcoin Merge bitcoin/bitcoin#25548: gui: Check for readlink buffer overflow and handle gracefully
1667297563 2022-11-01T10:12:43+00:00 c041d8f2c9 Bitcoin Merge bitcoin/bitcoin#26360: build: remove threadinterrupt from libbitcoinkernel
1667297149 2022-11-01T10:05:49+00:00 27e76afe24 Bitcoin Merge bitcoin/bitcoin#26294: build: move util/url to common/url
1667291397 2022-11-01T08:29:57+00:00 d08b63baa0 Bitcoin Merge bitcoin/bitcoin#26373: Update minisketch subtree to latest upstream
1667230521 2022-10-31T15:35:21+00:00 43e813cab2 Bitcoin Merge bitcoin/bitcoin#26387: p2p: TryLowWorkHeadersSync follow-ups
1667217075 2022-10-31T11:51:15+00:00 4766cd1981 Bitcoin Merge bitcoin/bitcoin#24051: Bugfix: configure: bitcoin-{cli,tx,util} don't need UPnP, NAT-PMP, or ZMQ
1667213203 2022-10-31T11:46:43+01:00 2856dee808 Bitcoin Merge bitcoin/bitcoin#26402: doc: Fix typos
1667202170 2022-10-31T08:42:50+01:00 c75c0d8e11 Bitcoin Merge bitcoin/bitcoin#26424: doc: correct deriveaddresses RPC name
1667034850 2022-10-29T11:14:10+02:00 4f270d2b63 Bitcoin Merge bitcoin/bitcoin#26404: test: fix intermittent failure in rpc_getblockfrompeer.py
1667030363 2022-10-29T09:59:23+02:00 984a01589b Bitcoin Merge bitcoin/bitcoin#26408: test: Remove spam from debug log
1666985837 2022-10-28T15:37:17-04:00 8b050762b1 Bitcoin Merge bitcoin/bitcoin#26409: refactor: Silence GCC Wmissing-field-initializers in ChainstateManagerOpts
1666949533 2022-10-28T11:32:13+02:00 1bad29fe02 Bitcoin Merge bitcoin/bitcoin#26377: test: Make `system_tests/run_command` test locale and platform agnostic
2025-02-27 13:40:17 +02:00
Byron Hambly
ca0a68b350
Merge UP TO 551c8e9526 into merged_master (UP TO bitcoin/bitcoin#26349)
Includes FIXMEs for a few functional tests
2025-02-05 09:50:17 +02:00
Byron Hambly
b80b3aeff4 Merge 3a7e0a210c into merged_master (Bitcoin PR bitcoin/bitcoin#24513) 2024-11-26 14:42:49 +02:00
Byron Hambly
3fd262a515 Merge 0f35f4ddf4 into merged_master (Bitcoin PR bitcoin/bitcoin#25786) 2024-11-04 12:32:04 +02:00
Byron Hambly
79d275ea14 Merge 7312effe6a into merged_master (Bitcoin PR bitcoin/bitcoin#25527) 2024-10-25 11:03:47 +02:00
Byron Hambly
12dbf6cb9d Merge f6fdedf850 into merged_master (Bitcoin PR bitcoin/bitcoin#25648) 2024-10-24 20:20:13 +02:00
Byron Hambly
28d35f619e Merge 510ac41eac into merged_master (Bitcoin PR bitcoin/bitcoin#25331) 2024-10-18 13:14:02 +02:00
Byron Hambly
d71cdde1aa Merge 0897b189e4 into merged_master (Bitcoin PR bitcoin/bitcoin#25308) 2024-10-17 17:25:50 +02:00
Byron Hambly
2081703f71 Merge 92c8e1849d into merged_master (Bitcoin PR bitcoin/bitcoin#25494) 2024-10-17 17:06:13 +02:00
Byron Hambly
076e809b74 Merge 821f5c824f into merged_master (Bitcoin PR bitcoin/bitcoin#25487) 2024-10-17 09:16:23 +02:00
James Dorfman
261587da79 Merge 02ede4f1fd into merged_master (Bitcoin PR bitcoin/bitcoin#25607) 2024-10-16 06:40:29 +00:00
James Dorfman
dbab4c012c Merge a7f3479ba3 into merged_master (Bitcoin PR bitcoin/bitcoin#25353) 2024-10-13 18:06:13 +00:00
James Dorfman
17851700b4 Merge e4e201dfd9 into merged_master (Bitcoin PR bitcoin/bitcoin#25290) 2024-09-19 18:56:19 +00:00
James Dorfman
a1049ecfa8 Merge e3c08eb620 into merged_master (Bitcoin PR bitcoin/bitcoin#25307) 2024-09-09 21:13:08 +00:00
James Dorfman
5c24574c48 Merge aac9c259b0 into merged_master (Bitcoin PR bitcoin/bitcoin#25065) 2024-09-09 16:46:26 +00:00
James Dorfman
db3aa6dd4a Merge 7008087548 into merged_master (Bitcoin PR bitcoin/bitcoin#24410) 2024-09-06 06:21:07 +00:00
willcl-ark
e325e0fccb
doc: Fix comment syntax error 2023-01-30 10:26:02 +00:00
MarcoFalke
fa29e73cda
Use DataStream where possible 2023-01-26 10:44:05 +01:00
willcl-ark
1134686ef9
mempool: Don't share mempool with dbcache in blocksonly
When -blockonly is set, reduce mempool size to 5MB unless -maxmempool
is also set.

See #9569
2023-01-20 12:53:13 +00:00
MarcoFalke
6b7ccb98a5
Merge bitcoin/bitcoin#26251: refactor: add kernel/cs_main.h
282019cd3d refactor: add kernel/cs_main.* (fanquake)

Pull request description:

  One place to find / include `cs_main`.
  No more:
  > // Actually declared in validation.cpp; can't include because of circular dependency.
  > extern RecursiveMutex cs_main;

  Ultimately, no more need to include `validation.h` (which also includes (heavy/boost filled) `txmempool.h`) everywhere for `cs_main`. See #26087 for another example of why that is useful.

ACKs for top commit:
  ajtowns:
    ACK 282019cd3d

Tree-SHA512: 142835b794873e7a09c3246d6101843ae81ec0c6295e6873130c98a2abfa5f7282748d0f1a37237a779cc71c3bc0a75d03b20313ef5398c83d4814215cbc8287
2023-01-16 13:44:56 +01:00
fanquake
282019cd3d
refactor: add kernel/cs_main.*
Co-authored-by: Anthony Towns <aj@erisian.com.au>
2023-01-05 09:05:14 +00:00
Pieter Wuille
4462cb0498 Adapt to libsecp256k1 API changes
* Use SECP256K1_CONTEXT_NONE when creating signing context, as
  SECP256K1_CONTEXT_SIGN is deprecated and unnecessary.
* Use secp256k1_static_context where applicable.
2022-12-13 15:08:24 -05:00
Hennadii Stepanov
38941a703e
refactor: Move txmempool_entry.h --> kernel/mempool_entry.h 2022-11-30 10:37:57 +00:00
MacroFake
fa29ef00ad
refactor: Silence GCC Wmissing-field-initializers in ChainstateManagerOpts 2022-10-28 11:08:20 +02:00
MacroFake
fa7c834b9f
Move ::fCheckBlockIndex into ChainstateManager
This changes the flag for the bitcoin-chainstate executable. Previously
it was false, now it is the chain's default value (still false for the
main chain).
2022-10-18 14:11:48 +02:00
MacroFake
fa43188d86
Move ::fCheckpointsEnabled into ChainstateManager 2022-10-18 14:10:50 +02:00
MacroFake
cccca83099
Move ::nMinimumChainWork into ChainstateManager
This changes the minimum chain work for the bitcoin-chainstate
executable. Previously it was uint256{}, now it is the chain's default
minimum chain work.
2022-10-18 14:09:17 +02:00
MacroFake
fa29d0b57c
Move ::hashAssumeValid into ChainstateManager
This changes the assumed valid block for the bitcoin-chainstate
executable. Previously it was uint256{}, now it is defaultAssumeValid.
2022-10-18 14:08:49 +02:00
MacroFake
faf44876db
Move ::nMaxTipAge into ChainstateManager 2022-10-18 14:07:59 +02:00
stickies-v
b85af25f87
refactor: mempool: add MemPoolLimits::NoLimits()
There are quite a few places in the codebase that require us to
construct a CTxMemPool without limits on ancestors and descendants.
This helper function allows us to get rid of all that duplication.
2022-10-05 13:07:11 +01:00
James O'Beirne
00eeb31c76 scripted-diff: rename CChainState -> Chainstate
-BEGIN VERIFY SCRIPT-
sed -i 's/CChainState/Chainstate/g' $(git grep -l CChainState ':(exclude)doc/release-notes*')
-END VERIFY SCRIPT-

Co-authored-by: MacroFake <falke.marco@gmail.com>
2022-09-09 11:47:27 -04:00
MacroFake
eeee5ada23
Make adjusted time type safe 2022-08-05 14:59:15 +02:00
Carl Dong
0f3a2532c3 validationcaches: Use size_t for sizes
...also move the 0-clamping logic to ApplyArgsManOptions, where it
   belongs.
2022-08-03 12:03:28 -04:00
Carl Dong
41c5201a90 validationcaches: Add and use ValidationCacheSizes
Also:

- Make DEFAULT_MAX_SIG_CACHE_SIZE into constexpr
  DEFAULT_MAX_SIG_CACHE_BYTES to utilize the compile-time integer
  arithmetic overflow checking available to constexpr.
- Fix comment (MiB instead of MB) for DEFAULT_MAX_SIG_CACHE_BYTES.
- Pass in max_size_bytes parameter to InitS*Cache(), modify log line to
  no longer allude to maxsigcachesize being split evenly between the two
  validation caches.
- Fix possible integer truncation and add a comment.

[META] I've kept the integer types as int64_t in order to not introduce
       unintended behaviour changes, in the next commit we will make
       them size_t.
2022-08-03 12:03:27 -04:00
MacroFake
66664384a6
Remove ::g_max_datacarrier_bytes global 2022-08-02 15:29:16 +02:00
MacroFake
fa2f6c1a61
Remove ::fIsBareMultisigStd global 2022-08-02 15:27:19 +02:00
MacroFake
fadc14e4f5
Remove ::dustRelayFee 2022-08-02 15:26:49 +02:00
MacroFake
fa9cba7afb
Remove ::incrementalRelayFee and ::minRelayTxFee globals 2022-08-02 15:23:36 +02:00
MacroFake
fa148602e6
Remove ::fRequireStandard global 2022-08-02 15:23:24 +02:00
MacroFake
faf9accd66
Use HashWriter where possible 2022-07-20 15:34:36 +02:00
Ryan Ofsky
1e761a0169 ci: Enable IWYU in src/kernel directory
Suggested https://github.com/bitcoin/bitcoin/pull/25308#discussion_r892505713
2022-07-19 16:54:52 -04:00
Ryan Ofsky
6db6552377 refactor: Reduce number of SanityChecks return values 2022-07-19 16:54:52 -04:00
Ryan Ofsky
a0b5b4ae5a interfaces, refactor: Add more block information to block connected notifications
Add new interfaces::BlockInfo struct to be able to pass extra block
information (file and undo information) to indexes which they are
updated to use high level interfaces::Chain notifications.

This commit does not change behavior in any way.
2022-07-18 13:39:55 -05:00
glozow
821f5c824f
Merge bitcoin/bitcoin#25487: [kernel 3b/n] Decouple {Dump,Load}Mempool from ArgsManager
cb3e9a1e3f Move {Load,Dump}Mempool to kernel namespace (Carl Dong)
aa30676541 Move DEFAULT_PERSIST_MEMPOOL out of libbitcoinkernel (Carl Dong)
06b88ffb8a LoadMempool: Pass in load_path, stop using gArgs (Carl Dong)
b857ac60d9 test/fuzz: Invoke LoadMempool via CChainState (Carl Dong)
b3267258b0 Move FopenFn to fsbridge namespace (Carl Dong)
ae1e8e3756 mempool: Use NodeClock+friends for LoadMempool (Carl Dong)
f9e8e5719f mempool: Improve comments for [GS]etLoadTried (Carl Dong)
813962da0b scripted-diff: Rename m_is_loaded -> m_load_tried (Carl Dong)
413f4bb52b DumpMempool: Pass in dump_path, stop using gArgs (Carl Dong)
bd4407817e DumpMempool: Use std::chrono instead of weird int64_t arthmetics (Carl Dong)
c84390b741 test/mempool_persist: Test manual savemempool when -persistmempool=0 (Carl Dong)

Pull request description:

  This is part of the `libbitcoinkernel` project: #24303, https://github.com/bitcoin/bitcoin/projects/18

  -----

  This PR moves `{Dump,Load}Mempool` into its own `kernel/mempool_persist` module and introduces `ArgsManager` `node::` helpers in `node/mempool_persist_args`to remove the scattered calls to `GetBoolArg("-persistmempool", DEFAULT_PERSIST_MEMPOOL)`.

  More context can be gleaned from the commit messages.

  -----

  One thing I was reflecting on as I wrote this was that in the long run, I think we should probably invert the validation <-> mempool relationship. Instead of mempool not depending on validation, it might make more sense to have validation not depend on mempool. Not super urgent since `libbitcoinkernel` will include both validation and mempool, but perhaps something for the future.

ACKs for top commit:
  glozow:
    re ACK cb3e9a1e3f via `git range-diff 7ae032e...cb3e9a1`
  MarcoFalke:
    ACK cb3e9a1e3f 🔒
  ryanofsky:
    Code review ACK cb3e9a1e3f

Tree-SHA512: 979d7237c3abb5a1dd9b5ad3dbf3b954f906a6d8320ed7b923557f41a4472deccae3e8a6bca0018c8e7a3c4a93afecc502acd1e26756f2054f157f1c0edd939d
2022-07-18 16:09:27 +01:00