aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-05refactor: wallet: return util::Result from `GetReservedDestination` methodsSebastian Falbesoner
2022-08-05Merge bitcoin/bitcoin#25760: rest: clean-up for `mempool` endpointsMacroFake
acbea66589100fe6ef726f4b2a92ec26132ef17b rest: clean-up for `mempool` endpoints (brunoerg) Pull request description: The functions `rest_mempool_info` and `rest_mempool_contents` are similar, the only difference between them is: `rest_mempool_info` uses `MempoolInfoToJSON` to get the mempool informations and `rest_mempool_contents` uses `MempoolToJSON`, for this reason this PR creates a new function to handle it and reduce duplicated code. Also, 1. Rename `strURIPart` to `str_uri_part`. 2. Rename `strJSON` to `str_json`. ACKs for top commit: stickies-v: re-ACK acbea66589100fe6ef726f4b2a92ec26132ef17b - verified that just the error message was updated since https://github.com/bitcoin/bitcoin/commit/da0c612c3d69164da19332167c38bfcd1f9777a8 theStack: re-ACK acbea66589100fe6ef726f4b2a92ec26132ef17b Tree-SHA512: 35f6f0732a573fe8a6cdcc782f89ae3427a1de19f069a68c9c51bb525118c2b07e20303cbe19b9d4b7d1ad055d69c32def2d0fb8f886c851da562dd9ce33ad6a
2022-08-05Merge bitcoin/bitcoin#25721: refactor: Replace BResult with util::ResultMacroFake
a23cca56c0a7f4a267915b4beba3af3454c51603 refactor: Replace BResult with util::Result (Ryan Ofsky) Pull request description: Rename `BResult` class to `util::Result` and update the class interface to be more compatible with `std::optional` and with a full-featured result class implemented in https://github.com/bitcoin/bitcoin/pull/25665. Motivation for this change is to update existing `BResult` usages now so they don't have to change later when more features are added in https://github.com/bitcoin/bitcoin/pull/25665. This change makes the following improvements originally implemented in https://github.com/bitcoin/bitcoin/pull/25665: - More explicit API. Drops potentially misleading `BResult` constructor that treats any bilingual string argument as an error. Adds `util::Error` constructor so it is never ambiguous when a result is being assigned an error or non-error value. - Better type compatibility. Supports `util::Result<bilingual_str>` return values to hold translated messages which are not errors. - More standard and consistent API. `util::Result` supports most of the same operators and methods as `std::optional`. `BResult` had a less familiar interface with `HasRes`/`GetObj`/`ReleaseObj` methods. The Result/Res/Obj naming was also not internally consistent. - Better code organization. Puts `src/util/` code in the `util::` namespace so naming reflects code organization and it is obvious where the class is coming from. Drops "B" from name because it is undocumented what it stands for (bilingual?) - Has unit tests. ACKs for top commit: MarcoFalke: ACK a23cca56c0a7f4a267915b4beba3af3454c51603 🏵 jonatack: ACK a23cca56c0a7f4a267915b4beba3af3454c51603 Tree-SHA512: 2769791e08cd62f21d850aa13fa7afce4fb6875a9cedc39ad5025150dbc611c2ecfd7b3aba8b980a79fde7fbda13babdfa37340633c69b501b6e89727bad5b31
2022-08-05rest: clean-up for `mempool` endpointsbrunoerg
2022-08-05Make adjusted time type safeMacroFake
2022-08-05Add time helpersMacroFake
To be used in the next commit
2022-08-05bench: Add a benchmark for descriptor expansionBen Woosley
2022-08-05test: check that `verifymessage` RPC fails for non-P2PKH addressesSebastian Falbesoner
2022-08-05Merge bitcoin/bitcoin#25779: guix: ignore additional failing certvalidator testfanquake
4cf3b7d763b0f864c767720141fa928f55065107 guix: ignore additional failing certvalidator test (fanquake) Pull request description: Any Guix build that needs to build the python-certvalidator code will currently fail due to expired certs. So once again ignore the failing tests. Similar to 85885919656a3f606f3d7f208378aabe95f3f62d. ```bash ERROR: test_revocation_mode_soft (tests.test_validate.ValidateTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/guix-build-python-certvalidator-0.1-1.a145bf2.drv-0/source/tests/test_validate.py", line 85, in test_revocation_mode_soft validate_path(context, path) File "/tmp/guix-build-python-certvalidator-0.1-1.a145bf2.drv-0/source/tests/../certvalidator/validate.py", line 50, in validate_path return _validate_path(validation_context, path) File "/tmp/guix-build-python-certvalidator-0.1-1.a145bf2.drv-0/source/tests/../certvalidator/validate.py", line 358, in _validate_path raise PathValidationError(pretty_message( certvalidator.errors.PathValidationError: The path could not be validated because the end-entity certificate expired 2022-07-27 12:00:00Z ``` Guix Build (arm64): ```bash b843f87a61eb2a44d085ab99793ff095290436102b19cd6d6d703c281eba539f guix-build-4cf3b7d763b0/output/arm64-apple-darwin/SHA256SUMS.part 280c19bd0a6899dd6100e1d6f632ba9e845500f58f59ed7d6703d818ae2780f0 guix-build-4cf3b7d763b0/output/arm64-apple-darwin/bitcoin-4cf3b7d763b0-arm64-apple-darwin-unsigned.dmg 9b80cc44e3eeeadb2a17bdcf10fcae7cca4bceceec8fb47c2c757a43753a03c6 guix-build-4cf3b7d763b0/output/arm64-apple-darwin/bitcoin-4cf3b7d763b0-arm64-apple-darwin-unsigned.tar.gz 43d781b61817a8e0c6168d6611ccb9a4242cf7289b4cc4b5ac77484f34d01738 guix-build-4cf3b7d763b0/output/arm64-apple-darwin/bitcoin-4cf3b7d763b0-arm64-apple-darwin.tar.gz 38d261b70baf018f8a1ee980fb139451b085dc484516562af4b5ae86a0b71869 guix-build-4cf3b7d763b0/output/dist-archive/bitcoin-4cf3b7d763b0.tar.gz e5d08f055f73a1abf5eef0ea4e55098a53e859d0ea7ff29d21a78e30204e8b5c guix-build-4cf3b7d763b0/output/x86_64-apple-darwin/SHA256SUMS.part 2388708d670068515bec06219792f34494ab7ac939999572dc4b5d92430e0890 guix-build-4cf3b7d763b0/output/x86_64-apple-darwin/bitcoin-4cf3b7d763b0-x86_64-apple-darwin-unsigned.dmg cb43edd02b8eb11c3e9d8bf6baf65b5656577a2f7a2b21374f90c08a196aa608 guix-build-4cf3b7d763b0/output/x86_64-apple-darwin/bitcoin-4cf3b7d763b0-x86_64-apple-darwin-unsigned.tar.gz 6f443713f2e23da705defddc09c8c66743691841e01d0debe29dad442454e5c8 guix-build-4cf3b7d763b0/output/x86_64-apple-darwin/bitcoin-4cf3b7d763b0-x86_64-apple-darwin.tar.gz ``` Guix Build (x86_64): ```bash 7e18af2409e9811ea2bb2aa41a19dcc0b4ac626bb5effe30909ef21942bfb611 guix-build-4cf3b7d763b0/output/arm64-apple-darwin/SHA256SUMS.part b6ec0c9ca967e1e3301894bb2ac92d1fab663cfd620004c8044a3685deb7c9e5 guix-build-4cf3b7d763b0/output/arm64-apple-darwin/bitcoin-4cf3b7d763b0-arm64-apple-darwin-unsigned.dmg 9f8de6d555d0922fd1fc970628bd2a9a9d3e6779b458038e18bd9d5dd9633a1b guix-build-4cf3b7d763b0/output/arm64-apple-darwin/bitcoin-4cf3b7d763b0-arm64-apple-darwin-unsigned.tar.gz 534b83732ff90bca57e748b25465f8d3d52d653e7ca52cf4ce2226e5bed814fc guix-build-4cf3b7d763b0/output/arm64-apple-darwin/bitcoin-4cf3b7d763b0-arm64-apple-darwin.tar.gz 38d261b70baf018f8a1ee980fb139451b085dc484516562af4b5ae86a0b71869 guix-build-4cf3b7d763b0/output/dist-archive/bitcoin-4cf3b7d763b0.tar.gz e5d08f055f73a1abf5eef0ea4e55098a53e859d0ea7ff29d21a78e30204e8b5c guix-build-4cf3b7d763b0/output/x86_64-apple-darwin/SHA256SUMS.part 2388708d670068515bec06219792f34494ab7ac939999572dc4b5d92430e0890 guix-build-4cf3b7d763b0/output/x86_64-apple-darwin/bitcoin-4cf3b7d763b0-x86_64-apple-darwin-unsigned.dmg cb43edd02b8eb11c3e9d8bf6baf65b5656577a2f7a2b21374f90c08a196aa608 guix-build-4cf3b7d763b0/output/x86_64-apple-darwin/bitcoin-4cf3b7d763b0-x86_64-apple-darwin-unsigned.tar.gz 6f443713f2e23da705defddc09c8c66743691841e01d0debe29dad442454e5c8 guix-build-4cf3b7d763b0/output/x86_64-apple-darwin/bitcoin-4cf3b7d763b0-x86_64-apple-darwin.tar.gz ``` ACKs for top commit: achow101: ACK 4cf3b7d763b0f864c767720141fa928f55065107 jarolrod: ACK https://github.com/bitcoin/bitcoin/commit/4cf3b7d763b0f864c767720141fa928f55065107 Tree-SHA512: fd83e05f5d772cdcd5a92862bd65a85f128492972be0cb441770bcee7764f889f13b1d109988d360bb9b294942c5b14e46258442b1b3fa1b2902ce958015a897
2022-08-05Merge bitcoin/bitcoin#25650: script: default to necessary tags in ↵MacroFake
`test/get_previous_releases.py` 21a9e94dbbc47939f19fbfe39d85cb8ff2ea206a ci: remove hardcoded tag list from ci scripts (josibake) d530ba390e7703433d3a77673c9a2b52bc446901 doc: update test/README.md (josibake) 614d4682badaadac74b825a45aaee9c2309a3e81 script: default to necessary tags in get_previous_releases.py (josibake) Pull request description: Almost every time I need to use this script, I forget the tag list is needed and that a specific set of tags is needed for the backwards compatibility tests to work. I end up wasting time reading through the script and googling to find the tag list before remembering it is in `test/README.md` I assume (hope) I'm not the only one this happens to, so I figured it would make more sense to have the script default to downloading/building the necessary tags. This has the added benefit of making the script the source of truth: the script already needs to be updated with the SHA256_SUM of the binary for every new tag that is added, so it makes sense to use `SHA256_SUMS` list as the necessary tag list. This means there is less risk of the README and the script drifting (i.e updating the readme with a new tag and forgetting to update the script, or updating the script and forgetting to update the README). Now all that needs to happen is to update the `SHA256_SUMS` list in the script and everything Just Works (TM) ACKs for top commit: Sjors: re-tACK 21a9e94dbbc47939f19fbfe39d85cb8ff2ea206a Tree-SHA512: 97b488227a89a6827584edd251820a7074fad75dfd7f26f1aa5f858e2521d2e02effd0f11e6dc4676e1155d3d5aba6ff94a4b58ffef80dc201376afd5927deb9
2022-08-05Merge bitcoin/bitcoin#24662: addrman: Use system time instead of adjusted ↵fanquake
network time fadd8b2676f6d68ec87189871461c9a6a6aa3cac addrman: Use system time instead of adjusted network time (MarcoFalke) Pull request description: This changes addrman to use system time for address relay instead of the network adjusted time. This is an improvement, because network time has multiple issues: * It is non-monotonic, even if the system time is monotonic. * It may be wrong, even if the system time is correct. * It may be wrong, if the system time is wrong. For example, when the node has limited number of connections (`4`), or the system time is wrong by too much (more than +-70 minutes), or the system time only got wrong after timedata collected more than half of the entries while the time was correct, ...) This may slightly degrade addr relay for nodes where timedata successfully adjusted the time. Addr relay can already deal with minor offsets of up to 10 minutes. Offsets larger than this should still allow addr relay and not result in a DoS. ACKs for top commit: dergoegge: Code review ACK fadd8b2676f6d68ec87189871461c9a6a6aa3cac Tree-SHA512: b6c178fa01161544e5bc76c4cb23e11bcc30391f7b7a64accce864923766647bcfce2e8ae21d36fb1ffc1afa07bc46415aca612405bd8d4cc1f319c92a08498f
2022-08-05Bugfix: Wallet: Document expectations for AddWalletFlags (now ↵Luke Dashjr
InitWalletFlags) correctly
2022-08-05rpc/wallet: add simulaterawtransaction RPCKarl-Johan Alm
This command iterates over the inputs and outputs of the given transactions, and tallies up the balance change for the given wallet. This can be useful e.g. when verifying that a coin join like transaction doesn't contain unexpected inputs that the wallet will then sign for unintentionally.
2022-08-04Merge bitcoin/bitcoin#25773: test: Target exact weight in MiniWallet _bulk_txMacroFake
fa2537cf0a7629d81df1bc5b4ae6a22dc572647b test: Target exact weight in MiniWallet _bulk_tx (MacroFake) Pull request description: Seems better to target the exact weight than a weight that is up to more than 2000 WU larger. Also, replace a broad `-acceptnonstdtxn=1` with `-datacarriersize=100000` to document the test assumptions better. ACKs for top commit: theStack: Code-review ACK fa2537cf0a7629d81df1bc5b4ae6a22dc572647b Tree-SHA512: cf02c3082a13195b8aa730866aeaf2575ce01974ae2b0244739d8cfc12e60c66312729ed703bb3214651744166a3b560bfaa8dc302ef46ed79fc4d1fe7fcc214
2022-08-04Merge bitcoin/bitcoin#24675: util: Use ArgsManager::GetPathArg more widelyfanquake
b01f336708019f8c8274ea701d3446e4123e7af2 util, refactor: Drop explicit conversion to fs::path (Hennadii Stepanov) 138c668e2b4d64279ddefbe07c1d9b7c3d3c537c util, refactor: Use GetPathArg to read "-rpccookiefile" value (Hennadii Stepanov) 1276090705060fcc97072481c2383bbaaa556194 util, refactor: Use GetPathArg to read "-conf" value (Hennadii Stepanov) Pull request description: This PR is a continuation of bitcoin/bitcoin#24265 and bitcoin/bitcoin#24306. Now the following command-line arguments / configure options been read with the `GetPathArg` method: - `-conf`, also `includeconf` values been normalized - `-rpccookiefile` ACKs for top commit: jarolrod: Code Review ACK b01f336708019f8c8274ea701d3446e4123e7af2 ryanofsky: Code review ACK b01f336708019f8c8274ea701d3446e4123e7af. Changes since last review: just dropping first commit (NormalizedPathFromString) as suggested Tree-SHA512: 2d26d50b73542acdbcc63a32068977b2a49a017d31ca337471a0446f964eb0a6e3e4e3bb1ebe6771566a260f2cae3bc2ebe93b4b523183cea0d51768daab85c9
2022-08-04[doc] remove non-signaling mentions of BIP125glozow
Our RBF policy is different from the rules specified in BIP125. For example, the BIP does not mention Rule 6, and our Rule 4 uses the (configurable) incremental relay feerate (distinct from the minimum relay feerate). Those interested in our policy should refer to doc/policy/mempool-replacements.md instead. These rules may also continue to diverge with package RBF and other RBF improvements. Keep references to the BIP125 signaling wrt sequence numbers, since that is still correct and widely used. It is helpful to refer to this as "BIP125 signaling" since it is unambiguous and succint, especially if we have multiple ways to signal replaceability in the future. The rule numbers in doc/policy/mempool-replacements.md correspond largely to those of BIP 125, so we can still refer to them like "Rule 5."
2022-08-04Merge bitcoin/bitcoin#25023: Remove unused SetTip(nullptr) codefanquake
faab8dceb37a944d0763fcca390342111e6a9fcc Remove unused SetTip(nullptr) code (MacroFake) Pull request description: Now that this path is no longer used after commit b51e60f91472da5216116626afc032acd5616e85, we can remove it. Future code should reset `CChain` by simply discarding it and constructing a fresh one. ACKs for top commit: ryanofsky: Code review ACK faab8dceb37a944d0763fcca390342111e6a9fcc. Just moved an assert statement since last review Tree-SHA512: 7dc273b11133d85d32ca2a69c0c7c07b39cdd338141ef5b51496e7de334a809864d5459eb95535497866c8b1e468aae84ed8f91b543041e6ee20130d5622874e
2022-08-04Merge bitcoin/bitcoin#25527: [kernel 3c/n] Decouple validation cache ↵glozow
initialization from `ArgsManager` 0f3a2532c38074dd9789d1c4c667db6ca46ff0ab validationcaches: Use size_t for sizes (Carl Dong) 41c5201a90bbc2893333e334e8945759ef24e7dd validationcaches: Add and use ValidationCacheSizes (Carl Dong) 82d3058539f54ebad745e2b02b61df01aa832a54 cuckoocache: Check for uint32 overflow in setup_bytes (Carl Dong) b370164b319df1a500b70694b077f92265a777fb validationcaches: Abolish arbitrary limit (Carl Dong) 08dbc6ef72db48168dc03991f5f838dae42c8dfd cuckoocache: Return approximate memory size (Carl Dong) 0dbce4b1034b53d19b88af332385a006098b6d48 tests: Reduce calls to InitS*Cache() (Carl Dong) Pull request description: This is part of the `libbitcoinkernel` project: #24303, https://github.com/bitcoin/bitcoin/projects/18 This PR is **_NOT_** dependent on any other PRs. ----- a.k.a. "Stop calling `gArgs.GetIntArg("-maxsigcachesize")` from validation code" This PR introduces the `ValidationCacheSizes` struct and its corresponding `ApplyArgsManOptions` function, removing the need to call `gArgs` from `Init{Signature,ScriptExecution}Cache()`. This serves to further decouple `ArgsManager` from `libbitcoinkernel` code. More context can be gleaned from the commit messages. ACKs for top commit: glozow: re ACK 0f3a2532c3 theStack: Code-review ACK 0f3a2532c38074dd9789d1c4c667db6ca46ff0ab ryanofsky: Code review ACK 0f3a2532c38074dd9789d1c4c667db6ca46ff0ab. Rebase and comment tweak since last Tree-SHA512: a492ca608466979807cac25ae3d8ef75d2f1345de52a156aa0d222c5a940f79f1b65db40090de69183cccdb12297ec060f6c64e57a26a155a94fec80e07ea0f7
2022-08-04guix: ignore additional failing certvalidator testfanquake
Similar to 85885919656a3f606f3d7f208378aabe95f3f62d. ```bash ERROR: test_revocation_mode_soft (tests.test_validate.ValidateTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/guix-build-python-certvalidator-0.1-1.a145bf2.drv-0/source/tests/test_validate.py", line 85, in test_revocation_mode_soft validate_path(context, path) File "/tmp/guix-build-python-certvalidator-0.1-1.a145bf2.drv-0/source/tests/../certvalidator/validate.py", line 50, in validate_path return _validate_path(validation_context, path) File "/tmp/guix-build-python-certvalidator-0.1-1.a145bf2.drv-0/source/tests/../certvalidator/validate.py", line 358, in _validate_path raise PathValidationError(pretty_message( certvalidator.errors.PathValidationError: The path could not be validated because the end-entity certificate expired 2022-07-27 12:00:00Z ```
2022-08-04extended keys: fail to derive too large depth instead of wrapping aroundAntoine Poinsot
This issue was reported to me by Marco Falke, and found with the descriptor_parse fuzz target.
2022-08-04descriptor: don't assert success of extended key derivationAntoine Poinsot
It might already fail, and we'll add another failure case.
2022-08-04(pubk)key: mark Derive() as nodiscardAntoine Poinsot
2022-08-04descriptor: never ignore the return value when deriving an extended keyAntoine Poinsot
In some cases we asserted it succeeded, in others we were just ignoring it
2022-08-04Merge bitcoin/bitcoin#25770: build: Fix help string for ↵fanquake
`--enable-external-signer` configure option 8df063e53712b69a346a83c599ca9cb83905b70b build: Fix help string for `--enable-external-signer` configure option (Hennadii Stepanov) Pull request description: This PR is a follow up of bitcoin/bitcoin#24065 and fixes the help string according to the actual default value https://github.com/bitcoin/bitcoin/blob/816ca01650f4cc66a61ac2f9b0f8b74cd9cd0cf8/configure.ac#L324-L327 ACKs for top commit: kristapsk: cr utACK 8df063e53712b69a346a83c599ca9cb83905b70b jarolrod: ACK 8df063e53712b69a346a83c599ca9cb83905b70b Tree-SHA512: ad3f457a53c9238ddd8ded9efd1224e564e6cb9da8b7ff7733a11e32a7daad5c0f6c6223509218f44944a874470cb0d2447897662eaf4e78c763b30785717c50
2022-08-04Merge bitcoin/bitcoin#25633: depends: don't restrict --enable-lto to ↵fanquake
non-guix cctools 7f73f422a49f5a85c71f645721be5afc045a6dee depends: don't restrict --enable-lto to non-guix cctools (fanquake) 9b60690b94ca766f8039a7a7a20dda5fecd176ab cctools: fixup building with LTO (fanquake) Pull request description: This wasn't actually disabling LTO support anyways, because it's enabled by default. Guix Build (x86_64): ```bash af6e0b5fd494f714a84716161352aee415700c1f50f1f08665a474dc2ed56bad guix-build-7f73f422a49f/output/aarch64-linux-gnu/SHA256SUMS.part 1ecdbf2b579204cf2086001df3887da2ba50cd3f7b8f735113cce8f1b634fdb2 guix-build-7f73f422a49f/output/aarch64-linux-gnu/bitcoin-7f73f422a49f-aarch64-linux-gnu-debug.tar.gz 878ea08855dc559e62fd1932f8a54d53fc63e0ce7d587345c7326892622feee9 guix-build-7f73f422a49f/output/aarch64-linux-gnu/bitcoin-7f73f422a49f-aarch64-linux-gnu.tar.gz 4d1d35bd329935bc74b82a78a7fb8dd39c3268d4bbb33ecd877079e49de97a88 guix-build-7f73f422a49f/output/arm-linux-gnueabihf/SHA256SUMS.part c0c5418dc270d716b354d2190fddde3d25794758dee45c9068e9f5aac20e5617 guix-build-7f73f422a49f/output/arm-linux-gnueabihf/bitcoin-7f73f422a49f-arm-linux-gnueabihf-debug.tar.gz 5e13ac8cacf1042746eef7e85695469c50d6afc06dfdb5da53039175e5185b52 guix-build-7f73f422a49f/output/arm-linux-gnueabihf/bitcoin-7f73f422a49f-arm-linux-gnueabihf.tar.gz 218b2463a07503e77711fcf0245bc642eb9ed76e4a3e8b61d66a5c76bdc25c62 guix-build-7f73f422a49f/output/arm64-apple-darwin/SHA256SUMS.part dd15af2b7a333f3c4b3f75abd307e1789a1629728a0ae33d8a509478ace91134 guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin-unsigned.dmg 5cdfd9fc347007890991c68746b1bb36e0cced57fee685337b3d079d498f687d guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin-unsigned.tar.gz 80f957e78177927ace323ea90d4bad2e8d2b846b199a0dcb085c3ceae8516631 guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin.tar.gz 3cb9cb04db3ebf328bfabfda874fce09764f3840c98bd850d85f71892617fb99 guix-build-7f73f422a49f/output/dist-archive/bitcoin-7f73f422a49f.tar.gz e4e7c9d5366b658fc420c1fd3cf12bfb9863b8061c83b06fe2492e934bb75ae9 guix-build-7f73f422a49f/output/powerpc64-linux-gnu/SHA256SUMS.part da4ea7dd9a131901ff2f7fcd6eba573fe946ea671ae6ada418a4ceebcc4bd3b6 guix-build-7f73f422a49f/output/powerpc64-linux-gnu/bitcoin-7f73f422a49f-powerpc64-linux-gnu-debug.tar.gz 221f6e1d5193207eed400c186c8f83747fbf90c3244cd044b36acadbed0c83a6 guix-build-7f73f422a49f/output/powerpc64-linux-gnu/bitcoin-7f73f422a49f-powerpc64-linux-gnu.tar.gz 12d36079b330ec75209219ce58ca580ca5a5eeac64fb7ae424c64e7f3d466ee5 guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/SHA256SUMS.part 3cef0194569d6fa968e92be1d2189be4f1337272dc213c25b8d4afe6b174310c guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/bitcoin-7f73f422a49f-powerpc64le-linux-gnu-debug.tar.gz a8ff109153926b3240f830c3501977046b6c470b67380a01c55aea2401a1a833 guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/bitcoin-7f73f422a49f-powerpc64le-linux-gnu.tar.gz 70b3a841bb232fefe27f857ee826ea6a84f59bc781acda608bd6d9385a1ef149 guix-build-7f73f422a49f/output/riscv64-linux-gnu/SHA256SUMS.part 841a276263877027f256c3b7ad1c5bc3ae3ad4d6a7157690daa947f6809776e2 guix-build-7f73f422a49f/output/riscv64-linux-gnu/bitcoin-7f73f422a49f-riscv64-linux-gnu-debug.tar.gz 6cce2c36c2a53035d7ee5d285c8b4b99256772c7a9dca1739f0639ecc0bed71d guix-build-7f73f422a49f/output/riscv64-linux-gnu/bitcoin-7f73f422a49f-riscv64-linux-gnu.tar.gz e910b32efebca682cf8bc3994d2c7513b16cdeb6f94cef906efb6629ec53268d guix-build-7f73f422a49f/output/x86_64-apple-darwin/SHA256SUMS.part 3a4bc1573d9c576184d69b953ea6a85650d4e15b71503b909ccd4fb8a69ca383 guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin-unsigned.dmg 60a114ece1d9a274d9f3d80a9633eb22d589213ba53a956f3b1138d7c8f55560 guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin-unsigned.tar.gz b6c6eca3e81bfadfed3ddcb7830857c954c8a7b0ff458f14050f4952240ebf27 guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin.tar.gz aab972c6f051c379a20eb694128a4df4e3737758fbca3902d28d72cd93e6d33a guix-build-7f73f422a49f/output/x86_64-linux-gnu/SHA256SUMS.part b8e643eeb72cf04664462f815497cbef1443f2e113de14bc93b058d83836c7df guix-build-7f73f422a49f/output/x86_64-linux-gnu/bitcoin-7f73f422a49f-x86_64-linux-gnu-debug.tar.gz 3b40fb5f1341cc3b49c9eccc68fc75e1cc7e7d2c6a5664fa2f8f095290e3733a guix-build-7f73f422a49f/output/x86_64-linux-gnu/bitcoin-7f73f422a49f-x86_64-linux-gnu.tar.gz 96138d5f591a8ba8589eb81d2c79ee269556996ae93c6a3fc77746e101b60cab guix-build-7f73f422a49f/output/x86_64-w64-mingw32/SHA256SUMS.part 6ef2d9436caa550bec7defda1d769bffc2e0fe8f7acf99e2fbcefd2e9b920a64 guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-debug.zip 91c8c3f0aec623f4183c4ebc141816dddb4482509e99812d32298f3e83da920f guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-setup-unsigned.exe 1de7cd32d74990cfcd4e00428c53a35742b7a480f18ae1bd60dbf91b60400947 guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-unsigned.tar.gz e4d4ba33bbdd8d9181c8422af31ad6127f3627c327a93cbe8245d7154b5a936c guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64.zip ``` Guix Build (arm64): ```bash 4d1d35bd329935bc74b82a78a7fb8dd39c3268d4bbb33ecd877079e49de97a88 guix-build-7f73f422a49f/output/arm-linux-gnueabihf/SHA256SUMS.part c0c5418dc270d716b354d2190fddde3d25794758dee45c9068e9f5aac20e5617 guix-build-7f73f422a49f/output/arm-linux-gnueabihf/bitcoin-7f73f422a49f-arm-linux-gnueabihf-debug.tar.gz 5e13ac8cacf1042746eef7e85695469c50d6afc06dfdb5da53039175e5185b52 guix-build-7f73f422a49f/output/arm-linux-gnueabihf/bitcoin-7f73f422a49f-arm-linux-gnueabihf.tar.gz 5768bc05947954f8d0caa1869edbba7a9102339d43c47a43cbc5eabdabebfd16 guix-build-7f73f422a49f/output/arm64-apple-darwin/SHA256SUMS.part e506d3a635364751eaeccf553bd8c8847e5a2ab4a28bb03108052ae697b49e7e guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin-unsigned.dmg 76fd8b6954ead8bbbba56fbf747459019dcd2def22ab6615ce817f2fff7adcb8 guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin-unsigned.tar.gz f369a59d44cd31a505faf1eefd84b9ecde91f4cb036e79d38188c9ed0f9c094c guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin.tar.gz 3cb9cb04db3ebf328bfabfda874fce09764f3840c98bd850d85f71892617fb99 guix-build-7f73f422a49f/output/dist-archive/bitcoin-7f73f422a49f.tar.gz e4e7c9d5366b658fc420c1fd3cf12bfb9863b8061c83b06fe2492e934bb75ae9 guix-build-7f73f422a49f/output/powerpc64-linux-gnu/SHA256SUMS.part da4ea7dd9a131901ff2f7fcd6eba573fe946ea671ae6ada418a4ceebcc4bd3b6 guix-build-7f73f422a49f/output/powerpc64-linux-gnu/bitcoin-7f73f422a49f-powerpc64-linux-gnu-debug.tar.gz 221f6e1d5193207eed400c186c8f83747fbf90c3244cd044b36acadbed0c83a6 guix-build-7f73f422a49f/output/powerpc64-linux-gnu/bitcoin-7f73f422a49f-powerpc64-linux-gnu.tar.gz 12d36079b330ec75209219ce58ca580ca5a5eeac64fb7ae424c64e7f3d466ee5 guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/SHA256SUMS.part 3cef0194569d6fa968e92be1d2189be4f1337272dc213c25b8d4afe6b174310c guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/bitcoin-7f73f422a49f-powerpc64le-linux-gnu-debug.tar.gz a8ff109153926b3240f830c3501977046b6c470b67380a01c55aea2401a1a833 guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/bitcoin-7f73f422a49f-powerpc64le-linux-gnu.tar.gz 70b3a841bb232fefe27f857ee826ea6a84f59bc781acda608bd6d9385a1ef149 guix-build-7f73f422a49f/output/riscv64-linux-gnu/SHA256SUMS.part 841a276263877027f256c3b7ad1c5bc3ae3ad4d6a7157690daa947f6809776e2 guix-build-7f73f422a49f/output/riscv64-linux-gnu/bitcoin-7f73f422a49f-riscv64-linux-gnu-debug.tar.gz 6cce2c36c2a53035d7ee5d285c8b4b99256772c7a9dca1739f0639ecc0bed71d guix-build-7f73f422a49f/output/riscv64-linux-gnu/bitcoin-7f73f422a49f-riscv64-linux-gnu.tar.gz e910b32efebca682cf8bc3994d2c7513b16cdeb6f94cef906efb6629ec53268d guix-build-7f73f422a49f/output/x86_64-apple-darwin/SHA256SUMS.part 3a4bc1573d9c576184d69b953ea6a85650d4e15b71503b909ccd4fb8a69ca383 guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin-unsigned.dmg 60a114ece1d9a274d9f3d80a9633eb22d589213ba53a956f3b1138d7c8f55560 guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin-unsigned.tar.gz b6c6eca3e81bfadfed3ddcb7830857c954c8a7b0ff458f14050f4952240ebf27 guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin.tar.gz aab972c6f051c379a20eb694128a4df4e3737758fbca3902d28d72cd93e6d33a guix-build-7f73f422a49f/output/x86_64-linux-gnu/SHA256SUMS.part b8e643eeb72cf04664462f815497cbef1443f2e113de14bc93b058d83836c7df guix-build-7f73f422a49f/output/x86_64-linux-gnu/bitcoin-7f73f422a49f-x86_64-linux-gnu-debug.tar.gz 3b40fb5f1341cc3b49c9eccc68fc75e1cc7e7d2c6a5664fa2f8f095290e3733a guix-build-7f73f422a49f/output/x86_64-linux-gnu/bitcoin-7f73f422a49f-x86_64-linux-gnu.tar.gz 96138d5f591a8ba8589eb81d2c79ee269556996ae93c6a3fc77746e101b60cab guix-build-7f73f422a49f/output/x86_64-w64-mingw32/SHA256SUMS.part 6ef2d9436caa550bec7defda1d769bffc2e0fe8f7acf99e2fbcefd2e9b920a64 guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-debug.zip 91c8c3f0aec623f4183c4ebc141816dddb4482509e99812d32298f3e83da920f guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-setup-unsigned.exe 1de7cd32d74990cfcd4e00428c53a35742b7a480f18ae1bd60dbf91b60400947 guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-unsigned.tar.gz e4d4ba33bbdd8d9181c8422af31ad6127f3627c327a93cbe8245d7154b5a936c guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64.zip ``` ACKs for top commit: hebasto: ACK 7f73f422a49f5a85c71f645721be5afc045a6dee Tree-SHA512: 8e49bed15b9f92e9905a004c01134ebcef9d7e006c96a8bab1606b1af8a20d495e3aa9846344bac5169fee86fa611dc660cf0bd04dd07f393e5e3f1b12ad4a01
2022-08-03Change mapWallet to be a std::unordered_mapAndrew Chow
2022-08-03Change getWalletTxs to return a set instead of a vectorAndrew Chow
For some reason, the primary consumer of getWalletTxs requires the transactions to be in hash order when it is processing them. std::map will iterate in hash order so the transactions end up in that order when placed into the vector. To ensure this order when mapWallet is no longer ordered, the vector is replaced with a set which will maintain the hash order.
2022-08-03Change mapTxSpends to be a std::unordered_multimapAndrew Chow
2022-08-03wallet: Cache SigningProvidersAndrew Chow
In order to avoid constantly re-deriving the same keys in DescriptorScriptPubKeyMan, cache the SigningProviders generated inside of GetSigningProvider.
2022-08-03validationcaches: Use size_t for sizesCarl Dong
...also move the 0-clamping logic to ApplyArgsManOptions, where it belongs.
2022-08-03validationcaches: Add and use ValidationCacheSizesCarl Dong
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-03cuckoocache: Check for uint32 overflow in setup_bytesCarl Dong
This fixes an potential overflow which existed prior to this patchset. If CuckooCache::cache<Element, Hash>::setup_bytes is called with a `size_t bytes` which, when divided by sizeof(Element), does not fit into an uint32_t, the implicit conversion to uint32_t in the call to setup will result in an overflow. At least on x86_64, this overflow is possible: static_assert(std::numeric_limits<size_t>::max() / 32 <= std::numeric_limits<uint32_t>::max()); static_assert(std::numeric_limits<size_t>::max() / 4 <= std::numeric_limits<uint32_t>::max()); This commit detects such cases and signals to callers that the `size_t bytes` input is too large.
2022-08-03validationcaches: Abolish arbitrary limitCarl Dong
1. -maxsigcachesize is a DEBUG_ONLY option 2. Almost 7 years has passed since its semantics change in 830e3f3d027ba5c8121eed0f6a9ce99961352572 from "number of entries" to "number of mebibytes" 3. A std::new_handler was added to the codebase after the original PR which introduced this limit, which will terminate immediately instead of causing trouble by being caught somewhere unexpected.
2022-08-03cuckoocache: Return approximate memory sizeCarl Dong
Returning the approximate total size eliminates the need for InitS*Cache() to do nElems*sizeof(uint256). The cuckoocache has a better idea of this information.
2022-08-03tests: Reduce calls to InitS*Cache()Carl Dong
In src/test/fuzz/script_sigcache.cpp, we should really be setting up a full working BasicTestingSetup. The initialize_ function is only run once anyway. In src/test/txvalidationcache_tests.cpp, the Dersig100Setup inherits from BasicTestingSetup, which should have already set up a global script execution cache without the need to explicitly call InitScriptExecutionCache.
2022-08-03tidy: Enable two clang-tidy checksAurèle Oulès
Checks enabled: 'performance-for-range-copy' and 'performance-unnecessary-copy-initialization'
2022-08-03scripted-diff: remove mention of BIP125 from non-signaling var namesglozow
Our RBF policy is different from the rules specified in BIP125 (refer to doc/policy/mempool-replacements.md instead), and will continue to diverge with package RBF. Keep references to BIP125 sequence number, since that is still useful and correct. -BEGIN VERIFY SCRIPT- ren() { sed -i "s:\<$1\>:$2:g" $(git grep -l "\<$1\>" ./src ./test); } ren m_allow_bip125_replacement m_allow_replacement ren allow_bip125_replacement allow_replacement ren MAX_BIP125_REPLACEMENT_CANDIDATES MAX_REPLACEMENT_CANDIDATES -END VERIFY SCRIPT-
2022-08-03refactor: Replace BResult with util::ResultRyan Ofsky
Rename `BResult` class to `util::Result` and update the class interface to be more compatible with `std::optional` and with a full-featured result class implemented in https://github.com/bitcoin/bitcoin/pull/25665. Motivation for this change is to update existing `BResult` usages now so they don't have to change later when more features are added in #25665. This change makes the following improvements originally implemented in #25665: - More explicit API. Drops potentially misleading `BResult` constructor that treats any bilingual string argument as an error. Adds `util::Error` constructor so it is never ambiguous when a result is being assigned an error or non-error value. - Better type compatibility. Supports `util::Result<bilingual_str>` return values to hold translated messages which are not errors. - More standard and consistent API. `util::Result` supports most of the same operators and methods as `std::optional`. `BResult` had a less familiar interface with `HasRes`/`GetObj`/`ReleaseObj` methods. The Result/Res/Obj naming was also not internally consistent. - Better code organization. Puts `src/util/` code in the `util::` namespace so naming reflects code organization and it is obvious where the class is coming from. Drops "B" from name because it is undocumented what it stands for (bilingual?) - Has unit tests.
2022-08-03Merge bitcoin/bitcoin#25772: test: Add missing static to IsStandardTx helperfanquake
fad5bc432b4e96aaf14bb1e02c1f6f3355a31441 test: Add missing static to IsStandardTx helper (MacroFake) Pull request description: Requested in https://github.com/bitcoin/bitcoin/pull/25648#discussion_r935985961 Also remove line break from the other two helpers. ACKs for top commit: glozow: utACK fad5bc432b4e96aaf14bb1e02c1f6f3355a31441 aureleoules: ACK fad5bc432b4e96aaf14bb1e02c1f6f3355a31441. theStack: ACK fad5bc432b4e96aaf14bb1e02c1f6f3355a31441 Tree-SHA512: 771411e1fb5939a58491ecf719e1929ab0150b0faae2078ac72bd13117f1d4dcffdeed5027bfae53e4336af25a4f1db47d564abc06a5a2c9ec006a9f67bae104
2022-08-03test: Target exact weight in MiniWallet _bulk_txMacroFake
Also, replace broad -acceptnonstdtxn=1 with -datacarriersize=100000
2022-08-03test: Add missing static to IsStandardTx helperMacroFake
2022-08-03Merge bitcoin/bitcoin#25379: test: use MiniWallet to simplify ↵MacroFake
mempool_package_limits.py tests f2f6068b69b1b532db92b276f024c89b56f38294 test: MiniWallet: add `send_self_transfer_chain` to create chain of txns (Andreas Kouloumos) 1d6b438ef0ccd05e1522ac38b44f847c1d93e72f test: use MiniWallet to simplify mempool_package_limits.py tests (Andreas Kouloumos) Pull request description: While `wallet.py` includes the MiniWallet class and some helper methods, it also includes some methods that have been moved there without having any direct relation with the MiniWallet class. Specifically `make_chain`, `create_child_with_parents` and `create_raw_chain` methods that were extracted from `rpc_packages.py` at f8253d69d6f02850995a11eeb71fedc22e6f6575 in order to be used on both `mempool_package_limits.py` and `rpc_packages.py`. Since that change, due to the introduction of additional methods in MiniWallet, the functionality of those methods can now be replicated with the existing MiniWallet methods and simultaneously simplify those tests by using the MiniWallet. This PR's goals are - to simplify the `mempool_package_limits.py` functional tests with usage of the MiniWallet. - to make progress towards the removal of the `make_chain`, `create_child_with_parents` and `create_raw_chain` methods of `wallet.py`. For the purpose of the aforementioned goals, a helper method `MiniWallet.send_self_transfer_chain` is introduced and method `bulk_transaction` has been integrated in `create_self_transfer*` methods using an optional `target_weight` option. ACKs for top commit: MarcoFalke: ACK f2f6068b69b1b532db92b276f024c89b56f38294 đź‘ś Tree-SHA512: 3ddfa0046168cbf7904ec6b1ca233b3fdd4f30db6aefae108b6d7fb69f34ef6fb2cf4fa7cef9473ce1434a0cc8149d236441a685352fef35359a2b7ba0d951eb
2022-08-03Merge bitcoin/bitcoin#25648: refactor: Remove all policy globalsglozow
ddddd6913b1bdee1cad89a32d363306ea1f7b8d7 sort after scripted-diff (MacroFake) fac812ca835e0d843aba1d4db0e49d183018a29e scripted-diff: Move mempool_args to src/node (MacroFake) 66664384a6fec39ecb4d8d06db66a4f193a06e33 Remove ::g_max_datacarrier_bytes global (MacroFake) fad0b4fab849eb5f1f0aa54ebc290f85a473ec91 Pass datacarrier setting into IsStandard (MacroFake) fa2a6b8516b24d7e9ca11926a49cf2b07f661e81 Combine datacarrier globals into one (MacroFake) fa477d32eefcc3dd2f06b452066290d9936d8c5d Remove ::GetVirtualTransactionSize() alias (MacroFake) fa2f6c1a611dffe5a3f63fe1b453f1dd420371b1 Remove ::fIsBareMultisigStd global (MacroFake) fadc14e4f514e7167723285e0ac3d4a7149bbee6 Remove ::dustRelayFee (MacroFake) fa8a7f01fe1b6db98097021276ed5d929faadbec Remove ::IsStandardTx(tx, reason) alias (MacroFake) fa7a9114e59b81b50584311a4ab2b3e9a8d956bd test: Remove unused cs_main (MacroFake) fa9cba7afb73c01bd2c8fefd662dfc80dd98c5e8 Remove ::incrementalRelayFee and ::minRelayTxFee globals (MacroFake) fa148602e67fe035b1b21eff6c0b656919ac2d45 Remove ::fRequireStandard global (MacroFake) fa468bdfb62dec286cb977db78d3e47b64dafeba Return optional error from ApplyArgsManOptions (MacroFake) Pull request description: This change is good because: * It moves module-specific init-logic out of the bloated init.cpp * It removes a global from validation.cpp and places it into the data structure that needs it (mempool) ACKs for top commit: glozow: re ACK ddddd69 ryanofsky: Code review ACK ddddd6913b1bdee1cad89a32d363306ea1f7b8d7 ariard: Light Code Review ACK ddddd69 Tree-SHA512: 9de2ce601cfcaa4dfd7d1c92270568895ce8702ccdffb59829fbe9618eab0fd88d738afef33ed66988c66861115e0340e881056bfb71e2aed4af2440bd37eb1e
2022-08-03Remove unused SetTip(nullptr) codeMacroFake
2022-08-02Merge bitcoin/bitcoin#25272: wallet: guard and alert about a wallet invalid ↵Andrew Chow
state during chain sync 9e04cfaa76cf9dda27f10359dd43e78dd3268e09 test: add coverage for wallet inconsistent state during sync (furszy) 77de5c693ffe8dc0afa5e40126e9b0e9cc547e04 wallet: guard and alert about a wallet invalid state during chain sync (furszy) Pull request description: Follow-up work to my comment in #25239. Guarding and alerting the user about a wallet invalid state during chain synchronization. #### Explanation if the `AddToWallet` tx write fails, the method returns a wtx `nullptr` without removing the recently added transaction from the wallet's map. Which makes that `AddToWalletIfInvolvingMe` return false (even when the tx is on the wallet's map already), --> which makes `SyncTransaction` skip the `MarkInputsDirty` call --> which leads to a wallet invalid state where the inputs of this new transaction are not marked dirty, while the transaction that spends them still exist on the in-memory wallet tx map. Plus, as we only store the arriving transaction inside `AddToWalletIfInvolvingMe` when we synchronize/scan block/s from the chain and nowhere else, it makes sense to treat the transaction db write error as a runtime error to notify the user about the problem. Otherwise, the user will lose all the not stored transactions after a wallet shutdown (without be able to recover them automatically on the next startup because the chain sync would be above the block where the txs arrived). Note: On purpose, the first commit adds test coverage for it. Showing how the wallet can end up in an invalid state. The second commit corrects it with the proposed solution. ACKs for top commit: achow101: re-ACK 9e04cfaa76cf9dda27f10359dd43e78dd3268e09 jonatack: ACK 9e04cfaa76cf9dda27f10359dd43e78dd3268e09 Tree-SHA512: 81f765eca40547d7764833d8ccfae686b67c7728c84271bc00dc51272de643dafc270014079dcc9727b47577ba67b340aeb5f981588b54e69a06abea6958aa96
2022-08-02sort after scripted-diffMacroFake
2022-08-02scripted-diff: Move mempool_args to src/nodeMacroFake
It is part of the node library. Also, it won't be moved to the kernel lib, as it will be pruned of ArgsManager. -BEGIN VERIFY SCRIPT- # Move module git mv src/mempool_args.cpp src/node/ git mv src/mempool_args.h src/node/ # Replacements sed -i 's:mempool_args\.h:node/mempool_args.h:g' $(git grep -l mempool_args) sed -i 's:mempool_args\.cpp:node/mempool_args.cpp:g' $(git grep -l mempool_args) sed -i 's:MEMPOOL_ARGS_H:NODE_MEMPOOL_ARGS_H:g' $(git grep -l MEMPOOL_ARGS_H) -END VERIFY SCRIPT-
2022-08-02Remove ::g_max_datacarrier_bytes globalMacroFake
2022-08-02Pass datacarrier setting into IsStandardMacroFake
2022-08-02Combine datacarrier globals into oneMacroFake