Commit graph

2080 commits

Author SHA1 Message Date
Antoine Poinsot
e8ea6ad9c1
init: don't create a CBlockPolicyEstimator if we don't relay transactions
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-12-03 12:56:37 +01:00
Antoine Poinsot
86ff2cf202
Remove the remaining fee estimation globals
This moves the CBlockPolicyEstimator to the NodeContext, which get rids
of two globals and allows us to conditionally create the
CBlockPolicyEstimator (and to remove a circular dep).

Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-12-03 12:56:37 +01:00
Andrew Poelstra
631d208e8e Merge bcd142e479 into merged_master (Bitcoin PR #20285) 2020-12-02 13:05:54 +00:00
MarcoFalke
cd720337fe
Merge #20222: refactor: CTxMempool constructor clean up
f15e780b9e refactor: Clean up CTxMemPool initializer list (Elle Mouton)
e3310692d0 refactor: Make CTxMemPool::m_check_ratio a const and a constructor argument (Elle Mouton)
9d4b4b2c2c refactor: Avoid double to int cast for nCheckFrequency (Elle Mouton)

Pull request description:

  This PR cleans up the CTxMemPool interface by including the ratio used to determine when a mempool sanity check should run in the constructor of CTxMempool instead of using nCheckFrequency which required a cast from a double to a uint32_t. Since nCheckFrequency (now called m_check_ratio) is set in the constructor and only every read from there after, it can be turned into a const and no longer needs to be guarded by the 'cs' lock.

  Since nCheckFrequency/m_check_ratio no longer needs to lock the 'cs' mutux, mutex lock line in the "CTxMempool::check" function can be moved below where the m_check_ratio variable is checked. Since the variable is 0 by default (meaning that "CTxMempool::check" will most likely not run its logic) this saves us from unnecessarily grabbing the lock.

ACKs for top commit:
  jnewbery:
    utACK f15e780b9e
  MarcoFalke:
    ACK f15e780b9e 👘
  glozow:
    utACK https://github.com/bitcoin/bitcoin/pull/20222/commits/f15e780b9e57554c723bc02aa41150ecf3e3a8c9
  theStack:
    Code Review ACK f15e780b9e

Tree-SHA512: d83f3b5311ca128847b621e5e999c7e1bf0f4e6261d4cc090fb13e229a0f7eecd66ad997f654f50a838baf708d1515740aa3bffc244909a001d01fd5ae398b68
2020-12-01 10:02:56 +01:00
Andrew Poelstra
77c3300ae3 Merge df2129a234 into merged_master (Bitcoin PR #19991)
I had to make up an onion service target port for Liquid and for our custom
params, so I chose 37041 and 37040 to roughly match how signet just adds
30000 to its normal port.
2020-11-30 04:44:21 +00:00
Andrew Poelstra
e5875a75bc Merge 9fc2f011ba into merged_master (Bitcoin PR #20048) 2020-11-30 03:46:23 +00:00
Andrew Poelstra
86c430b852 Merge 3487e421a7 into merged_master (Bitcoin PR #20004) 2020-11-30 03:25:50 +00:00
Andrew Poelstra
c364bcefad Merge 9e6f56f6ea into merged_master (Bitcoin PR #19984) 2020-11-30 00:30:38 +00:00
Andrew Poelstra
64bfdd9af8 Merge 8aa6178961 into merged_master (Bitcoin PR #20003) 2020-11-30 00:24:10 +00:00
Andrew Poelstra
1f47015ba6 Merge 5db44c740e into merged_master (Bitcoin PR #20014) 2020-11-29 23:32:59 +00:00
Andrew Poelstra
e20126cae4 Merge 2552702000 into merged_master (Bitcoin PR #15367) 2020-11-29 23:02:09 +00:00
Andrew Poelstra
d105732185 Merge ec9b28e089 into merged_master (Elements PR #910) 2020-11-29 22:55:33 +00:00
Andrew Poelstra
5f5f4279ed Merge 1b313cacc9 into merged_master (Bitcoin PR #19927) 2020-11-29 21:07:46 +00:00
Andrew Poelstra
7a8f77d7ad Merge 9e217f5a6f into merged_master (Bitcoin PR #19572) 2020-11-29 19:44:31 +00:00
Andrew Poelstra
3a620fbb0a Merge 62e3eb9888 into merged_master (Bitcoin PR #19241)
This caused a segfault because we have no checkpoints. Added a NULL check
which jnewbery suggested on the original PR, but for some reason didn't
get in.
2020-11-29 05:16:14 +00:00
Andrew Poelstra
b657dd4a3a Merge 147d50d63e into merged_master (Bitcoin PR #19791) 2020-11-29 02:07:46 +00:00
Andrew Poelstra
2a0cf12ecc Merge 07087051af into merged_master (Bitcoin PR #19556)
Added a method testPeginClaimAcceptance to interfaces::CChain. It is not clear
to me that this is meaningfully different from the existing method broadcastTransaction
(with the `relay` flag set to false so it doesn't actually broadcast), except
that this method returns the TxValidationState, which we display to the user
in the RPC error. Worth revisiting this.

Another nonobvious change was replacing a block of mempool-searching logic
in wallet/rpcwallet.cpp with the single line `pwallet->chain().findCoins(coins)`.
This I stole from the current state of upstream #17211, our favorite in-progress
PR from which the original logic came.
2020-11-29 01:43:20 +00:00
Andrew Poelstra
30b510767b Merge c157a50694 into merged_master (Bitcoin PR #19840) 2020-11-28 21:07:08 +00:00
Andrew Poelstra
4087c88a7e Merge 269a7ccb27 into merged_master (Bitcoin PR #19099) 2020-11-28 17:53:38 +00:00
Andrew Poelstra
a0c37112ef Merge 5c910a6b7a into merged_master (Bitcoin PR #19826) 2020-11-28 17:34:40 +00:00
Andrew Poelstra
ec3c13988a Merge 6a2ba62685 into merged_master (Bitcoin PR #19779) 2020-11-28 13:07:39 +00:00
Andrew Poelstra
5dd8b96340 Merge 4fefd80f08 into merged_master (Bitcoin PR #19704) 2020-11-28 04:18:46 +00:00
Andrew Poelstra
1aea27d291 Merge b4d0366b47 into merged_master (Bitcoin PR #19070) 2020-11-27 17:48:36 +00:00
Andrew Poelstra
b2c4c2b2b4 Merge 1052b09031 into merged_master (Bitcoin PR #19011) 2020-11-27 17:29:41 +00:00
Andrew Poelstra
f92a3d1ed4 Merge 6ea7348122 into merged_master (Bitcoin PR #19638) 2020-11-27 03:15:08 +00:00
Andrew Poelstra
59aa4e1fba Merge ad2952d17a into merged_master (Bitcoin PR #19604) 2020-11-26 22:45:20 +00:00
Andrew Poelstra
2942044881 Merge 62d137ac3b into merged_master (Bitcoin PR #19561) 2020-11-26 22:20:40 +00:00
Andrew Poelstra
12f11f8f70 Merge 2f71a1ea35 into merged_master (Bitcoin PR #18637) 2020-11-26 20:30:20 +00:00
Andrew Poelstra
e377f4f773 Merge f4cfa6d019 into merged_master (Bitcoin PR #15935) 2020-11-26 18:11:36 +00:00
Andrew Poelstra
db549ccf6f Merge 6ee36a263c into merged_master (Bitcoin PR #19473) 2020-11-26 17:18:17 +00:00
Andrew Poelstra
ed9bb2f2bb Merge 2c0c3f8e8c into merged_master (Bitcoin PR #19217) 2020-11-26 14:59:40 +00:00
practicalswift
4848e71107 scripted-diff: Use [[nodiscard]] (C++17) instead of NODISCARD
-BEGIN VERIFY SCRIPT-
sed -i "s/NODISCARD/[[nodiscard]]/g" $(git grep -l "NODISCARD" ":(exclude)src/bench/nanobench.h" ":(exclude)src/attributes.h")
-END VERIFY SCRIPT-
2020-11-26 09:05:59 +00:00
Andrew Poelstra
0fb616ece5 Merge 834ac4c0f5 into merged_master (Bitcoin PR #19323) 2020-11-26 03:36:32 +00:00
Andrew Poelstra
10eade5ba9 Merge b93c4244b9 into merged_master (Bitcoin PR #19464) 2020-11-26 02:44:00 +00:00
Andrew Poelstra
52c243844d Merge ca055885c6 into merged_master (Bitcoin PR #19474) 2020-11-26 01:09:23 +00:00
Andrew Poelstra
874de6a557 Merge cc9d09e73d into merged_master (Bitcoin PR #19191) 2020-11-26 01:09:22 +00:00
Andrew Poelstra
ceefa62cdb Merge abdfd2d0e3 into merged_master (Bitcoin PR #19219) 2020-11-26 01:09:20 +00:00
Andrew Poelstra
7fabb1de9a Merge 5ec19df687 into merged_master (Bitcoin PR #19277) 2020-11-26 01:09:19 +00:00
Andrew Poelstra
8e770d3f21 Merge 915ac8a861 into merged_master (Bitcoin PR #19413) 2020-11-26 01:09:19 +00:00
Andrew Poelstra
5fcf5348d9 Merge e1b20e2285 into merged_master (Bitcoin PR #19028) 2020-11-26 01:09:17 +00:00
Andrew Poelstra
c473bf0bce Merge bb588669f9 into merged_master (Bitcoin PR #19331) 2020-11-26 01:09:16 +00:00
Andrew Poelstra
34f4c80e84 Merge 057bd3189f into merged_master (Bitcoin PR #19197) 2020-11-26 01:09:08 +00:00
Andrew Poelstra
3aaeae55ea Merge f8364df250 into merged_master (Bitcoin PR #19176) 2020-11-26 01:09:02 +00:00
Andrew Poelstra
f2abfdd2c4 Merge 41fb69404c into merged_master (Bitcoin PR #19192) 2020-11-26 01:09:01 +00:00
Andrew Poelstra
30e68e5e34 Merge 399a0d9dc7 into merged_master (Bitcoin PR #19180) 2020-11-26 01:09:00 +00:00
Andrew Poelstra
0a5760376f Merge 1b90a7b61a into merged_master (Bitcoin PR #19005) 2020-11-26 01:09:00 +00:00
Andrew Poelstra
18a2a37ece Merge b1b1739944 into merged_master (Bitcoin PR #18968) 2020-11-26 01:09:00 +00:00
Andrew Poelstra
195eb8a243 Merge 4ede05d421 into merged_master (Bitcoin PR #18758) 2020-11-26 01:08:58 +00:00
Andrew Poelstra
b8d665f61a Merge b46fb5cb10 into merged_master (Bitcoin PR #19131) 2020-11-26 01:08:58 +00:00
Andrew Poelstra
29b17c1221 Merge 793e0ff22c into merged_master (Bitcoin PR #18698) 2020-11-26 01:08:49 +00:00