elements/src/util
fanquake 81f4a3e84d
Merge bitcoin/bitcoin#22796: RBF move (1/3): extract BIP125 Rule 5 into policy/rbf
f293c68be0 MOVEONLY: getting mempool conflicts to policy/rbf (glozow)
8d71796335 [validation] quit RBF logic earlier and separate loops (glozow)
badb9b11a6 call SignalsOptInRBF instead of checking all inputs (glozow)
e0df41d7d5 [validation] default conflicting fees and size to 0 (glozow)
b001b9f6de MOVEONLY: BIP125 max conflicts limit to policy/rbf.h (glozow)

Pull request description:

  See #22675 for motivation, this is one chunk of it. It extracts some BIP125 logic into policy/rbf:

  - Defines a constant for specifying the maximum number of mempool entries we'd consider replacing by RBF
  - Calls the available `SignalsOptInRBF` function instead of manually iterating through inputs
  - Moves the logic for getting the list of conflicting mempool entries to a helper function
  - Also does a bit of preparation for future moves - moving declarations around, etc
  Also see #22677 for addressing the circular dependency.

ACKs for top commit:
  jnewbery:
    Code review ACK f293c68be0
  theStack:
    Code-review ACK f293c68be0 📔
  ariard:
    ACK f293c68b

Tree-SHA512: a60370994569cfc91d4b2ad5e94542d4855a48927ae8b174880216074e4fa50d4523dd4ee36efdd6edf2bf7adb87a8beff9c3aaaf6dd323b286b287233e63790
2021-08-31 22:34:25 +08:00
..
asmap.cpp refactor: Avoid sign-compare compiler warning in util/asmap 2021-04-29 11:38:18 +02:00
asmap.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
bip32.cpp scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
bip32.h scripted-diff: Use [[nodiscard]] (C++17) instead of NODISCARD 2020-11-26 09:05:59 +00:00
bytevectorhash.cpp blockfilter: Use unordered_set instead of set in blockfilter. 2018-11-05 09:30:56 -08:00
bytevectorhash.h blockfilter: Use unordered_set instead of set in blockfilter. 2018-11-05 09:30:56 -08:00
check.h util: Make Assume() usable as unary expression 2021-03-04 12:03:50 +01:00
epochguard.h mempool: apply rule of 5 to epochguard.h, fix compiler warnings 2021-07-20 13:58:14 +02:00
error.cpp rpc: send: support external signer 2021-02-23 14:34:32 +01:00
error.h rpc: send: support external signer 2021-02-23 14:34:32 +01:00
fees.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
fees.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
getuniquepath.cpp Introduce GetUniquePath(base) helper method to replace boost::filesystem::unique_path() which is not available in std::filesystem. 2021-02-04 11:38:09 +01:00
getuniquepath.h Introduce GetUniquePath(base) helper method to replace boost::filesystem::unique_path() which is not available in std::filesystem. 2021-02-04 11:38:09 +01:00
golombrice.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
hash_type.h move-only: Add util/hash_type 2021-05-11 10:38:18 +02:00
hasher.cpp Add generic SaltedSipHasher 2020-11-10 14:33:37 -05:00
hasher.h doc: remove outdated comment 2021-08-22 17:32:43 +02:00
macros.h refactor: Move STRINGIZE macro to macros.h 2021-02-01 22:30:05 +02:00
message.cpp Replace boost::variant with std::variant 2021-01-05 10:10:50 +01:00
message.h Move direct calls to MessageSign into new SignMessage functions in CWallet and ScriptPubKeyMan 2020-03-09 11:16:20 -04:00
moneystr.cpp util: check MoneyRange() inside ParseMoney() 2021-08-04 19:48:24 +08:00
moneystr.h util: make ParseMoney return a std::optional<CAmount> 2021-08-04 19:48:24 +08:00
rbf.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
rbf.h call SignalsOptInRBF instead of checking all inputs 2021-08-24 15:47:21 +01:00
readwritefile.cpp util: fix WriteBinaryFile() claiming success even if error occurred 2021-03-01 12:57:00 +01:00
readwritefile.h util: extract {Read,Write}BinaryFile() to its own files 2021-03-01 12:56:56 +01:00
serfloat.cpp Add platform-independent float encoder/decoder 2021-05-24 16:04:44 -07:00
serfloat.h Add platform-independent float encoder/decoder 2021-05-24 16:04:44 -07:00
settings.cpp Add <datadir>/settings.json persistent settings storage. 2020-07-11 05:41:12 -04:00
settings.h Add <datadir>/settings.json persistent settings storage. 2020-07-11 05:41:12 -04:00
sock.cpp net: flag relevant Sock methods with [[nodiscard]] 2021-04-13 17:26:20 +02:00
sock.h net: flag relevant Sock methods with [[nodiscard]] 2021-04-13 17:26:20 +02:00
spanparsing.cpp Add tr() descriptor (derivation only, no signing) 2021-05-24 12:14:16 -07:00
spanparsing.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
strencodings.cpp Merge bitcoin/bitcoin#21173: util: faster HexStr => 13% faster blockToJSON 2021-05-19 10:07:53 +02:00
strencodings.h util: add ParseUInt16(), use it in SplitHostPort() 2021-03-16 19:52:33 +01:00
string.cpp util: Add Join helper to join a list of strings 2019-08-20 16:51:41 -04:00
string.h refactor: Move MakeUnorderedList into util/string.h to make it reusable 2021-08-06 22:08:24 +03:00
system.cpp Merge bitcoin/bitcoin#22622: util: Check if specified config file cannot be opened 2021-08-23 12:58:01 +02:00
system.h Merge bitcoin/bitcoin#22217: refactor: Avoid wallet code writing node settings file 2021-08-19 10:44:25 +12:00
thread.cpp refactor: Make TraceThread a non-template free function 2021-04-25 12:28:44 +03:00
thread.h refactor: Make TraceThread a non-template free function 2021-04-25 12:28:44 +03:00
threadnames.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
threadnames.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
time.cpp scripted-diff: rename GetSystemTimeInSeconds to GetTimeSeconds 2021-05-31 15:11:18 +08:00
time.h scripted-diff: rename GetSystemTimeInSeconds to GetTimeSeconds 2021-05-31 15:11:18 +08:00
tokenpipe.cpp refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
tokenpipe.h util: Add RAII TokenPipe 2021-03-04 18:24:00 +01:00
trace.h tracing: add tracing framework 2020-12-07 11:55:51 +01:00
translation.h Add bilingual_str::clear() 2021-07-01 12:57:12 -04:00
ui_change_type.h wallet: Do not include server symbols 2020-06-27 11:39:09 -04:00
url.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
url.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
vector.h Add some general std::vector utility functions 2019-10-16 08:56:57 -07:00