-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 0.1.13 #138
Release 0.1.13 #138
Commits on Jun 6, 2024
-
rpc: Optimize serialization disk space of dumptxoutset
Co-authored-by: Aurèle Oulès <aurele@oules.com> Co-authored-by: TheCharlatan <seb.kung@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for cb5f3d6 - Browse repository at this point
Copy the full SHA cb5f3d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 95f2ef9 - Browse repository at this point
Copy the full SHA 95f2ef9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 011114f - Browse repository at this point
Copy the full SHA 011114fView commit details -
rpc: Enhance metadata of the dumptxoutset output
The following data is added: - A newly introduced utxo set magic - A version number - The network magic - The block height
Configuration menu - View commit details
-
Copy full SHA for 2fcc30e - Browse repository at this point
Copy the full SHA 2fcc30eView commit details -
test: improve robustness of connect_nodes()
The 'connect_nodes' function in the test framework relies on a stable number of peer connections to verify the new connection between the nodes is successfully established. This approach is fragile, as any of the peers involved in the process can drop, lose, or create a connection at any step, causing subsequent 'wait_until' checks to stall indefinitely even when the peers in question are connected successfully. This commit improves the situation by using the nodes' subversion and the connection direction (inbound/outbound) to identify the exact peer connection and perform the checks exclusively on it.
Configuration menu - View commit details
-
Copy full SHA for 4bb8f9a - Browse repository at this point
Copy the full SHA 4bb8f9aView commit details -
[policy] explicitly require non-v3 for CPFP carve out
This carve out is intended to allow a second child under restricted circumstances, but this topology is not allowed for v3 transactions. As CPFP carve out does not explicitly require a second child to actually exist, it has the effect of granting a free +10KvB descendant size limit when a single child is enough to bust the descendant limit.
Configuration menu - View commit details
-
Copy full SHA for ebc1bca - Browse repository at this point
Copy the full SHA ebc1bcaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f131f4 - Browse repository at this point
Copy the full SHA 0f131f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for a89657d - Browse repository at this point
Copy the full SHA a89657dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d9ee2c - Browse repository at this point
Copy the full SHA 0d9ee2cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2725e08 - Browse repository at this point
Copy the full SHA 2725e08View commit details -
depends: swap cctools-x for llvm-x
Only build ld64 from cctools. Disable adhoc codesigning, to avoid non-determinism.
Configuration menu - View commit details
-
Copy full SHA for fcf63c6 - Browse repository at this point
Copy the full SHA fcf63c6View commit details -
build: switch to using lld for macOS builds
Adjust the security check for: ld64.lld: warning: Option `-allow_stack_execute' is not yet implemented. ld64.lld: error: -fixup_chains is incompatible with -no_pie and to account for the embedding of LLVMs version number.
Configuration menu - View commit details
-
Copy full SHA for 405aebc - Browse repository at this point
Copy the full SHA 405aebcView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee52de1 - Browse repository at this point
Copy the full SHA ee52de1View commit details -
guix: remove ZERO_AR_DATE export
LLD enables ZERO_AR_DATE by default, setting it to zero would enable non-determinism, setting it to any other value is ignored. See: https://github.com/llvm/llvm-project/blob/main/lld/docs/MachO/ld64-vs-lld.rst.
Configuration menu - View commit details
-
Copy full SHA for 8074141 - Browse repository at this point
Copy the full SHA 8074141View commit details -
depends: don't use -no_warning_for_no_symbols in macOS qt build
Not supported by llvm-ar / llvm-ranlib.
Configuration menu - View commit details
-
Copy full SHA for 2864bad - Browse repository at this point
Copy the full SHA 2864badView commit details -
Configuration menu - View commit details
-
Copy full SHA for 93d4c3e - Browse repository at this point
Copy the full SHA 93d4c3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f4714f - Browse repository at this point
Copy the full SHA 1f4714fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a412362 - Browse repository at this point
Copy the full SHA a412362View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a147da - Browse repository at this point
Copy the full SHA 2a147daView commit details -
net: rpc: return peer's mapped AS in getrawaddrman
This information can be used to check bucketing logic.
Configuration menu - View commit details
-
Copy full SHA for 4d22015 - Browse repository at this point
Copy the full SHA 4d22015View commit details -
test: add coverage for
mapped_as
fromgetrawaddrman
Test addresses are being mapped according to the ASMap file provided properly. Compare the result of the `getrawaddrman` RPC with the result from the ASMap Health Check.
Configuration menu - View commit details
-
Copy full SHA for cad98db - Browse repository at this point
Copy the full SHA cad98dbView commit details -
depends: Fetch miniupnpc sources from an alternative website
The https://miniupnp.tuxfamily.org website is unavailable now.
Configuration menu - View commit details
-
Copy full SHA for c3e1be6 - Browse repository at this point
Copy the full SHA c3e1be6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0bfbbeb - Browse repository at this point
Copy the full SHA 0bfbbebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a002f4 - Browse repository at this point
Copy the full SHA 9a002f4View commit details -
[refactor] make some members MemPoolAccept-wide
No change in behavior. For single transaction acceptance, this is a simple refactor: Workspace::m_all_conflicting Workspace::m_conflicting_fees Workspace::m_conflicting_size Workspace::m_replaced_transactions are now grouped under a new SubPackageState struct that is a member of MemPoolAccept. And local variables m_total_vsize and m_total_modified_fees are now SubpackageState members so they can be accessed from PackageMempoolChecks. We want these to be package-wide variables because - Transactions could conflict with the same tx (just not the same prevout), or their conflicts could share descendants. - We want to compare conflicts with the package fee rather than individual transaction fee. We reset these MemPoolAccept-wide fields for each subpackage evaluation to not cause state leaking, similar to temporary coins.
Configuration menu - View commit details
-
Copy full SHA for ca03749 - Browse repository at this point
Copy the full SHA ca03749View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9271865 - Browse repository at this point
Copy the full SHA 9271865View commit details -
cpfp carveout is excluded in packages
The behavior is not new, but this rule exits earlier than before. Previously, a carve out could have been granted in PreChecks() but then nullified in PackageMempoolChecks() when CheckPackageLimits() is called with the default limits.
Configuration menu - View commit details
-
Copy full SHA for 3afd2a1 - Browse repository at this point
Copy the full SHA 3afd2a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for a886ff6 - Browse repository at this point
Copy the full SHA a886ff6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 58e55f4 - Browse repository at this point
Copy the full SHA 58e55f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for c0495a6 - Browse repository at this point
Copy the full SHA c0495a6View commit details -
lint: add markdown hyperlink checker
This adds a markdown hyperlink check task to the lint test_runner. It relies on having the [`mlc`](https://crates.io/crates/mlc) binary found on $PATH, but will fail with `success` if the binary is not found. `mlc` is also added to the ci/04_install.sh script run by the containerfile. Note that broken markdown hyperlinks will be detected in untracked markdown files found in a dirty working directory (including e.g. .venv).
Configuration menu - View commit details
-
Copy full SHA for d2dd1c2 - Browse repository at this point
Copy the full SHA d2dd1c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 82d2756 - Browse repository at this point
Copy the full SHA 82d2756View commit details -
assumeutxo: Add network magic ctor param to SnapshotMetadata
This prevents SnapshotMetadata from using any globals implicitly.
Configuration menu - View commit details
-
Copy full SHA for e04017a - Browse repository at this point
Copy the full SHA e04017aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1bb4cae - Browse repository at this point
Copy the full SHA 1bb4caeView commit details -
fuzz: Handle missing BDBRO errors
Adds error messages that were not being handled. Also removes error messages that no longer exist.
Configuration menu - View commit details
-
Copy full SHA for d7b8f8b - Browse repository at this point
Copy the full SHA d7b8f8bView commit details -
increase txorphan harness stability
initialize variable
Configuration menu - View commit details
-
Copy full SHA for 1e6b31e - Browse repository at this point
Copy the full SHA 1e6b31eView commit details -
scripted-diff: Replace nNextSweep with m_next_sweep
-BEGIN VERIFY SCRIPT- sed -i 's/nNextSweep/m_next_sweep/g' $(git grep -l 'nNextSweep') -END VERIFY SCRIPT- fixing to match style
Configuration menu - View commit details
-
Copy full SHA for 6a8de34 - Browse repository at this point
Copy the full SHA 6a8de34View commit details -
Configuration menu - View commit details
-
Copy full SHA for 065a14f - Browse repository at this point
Copy the full SHA 065a14fView commit details -
build: remove --enable-lcov-branch-coverage
This supports lcov 2.x in the sense that we are no-longer hardcoding version specific options, and instead will use the `LCOV_OPTS` variable (which is the more correct/flexible thing to do in any case). It's also quite likely that devs are already having to pass extra options to lcov 2.x, given it's more stringent in terms of coverage generation and error checking. See this thread for an example: linux-test-project/lcov#238. Added an example to the developer notes. Tested on one machine (LCOV 2.0, gcc 13.2) with: ```bash ./autogen.sh ./configure --enable-lcov CXXFLAGS="-fprofile-update=prefer-atomic" LCOV_OPTS="--rc branch_coverage=1 --ignore-errors mismatch" make make cov <snip> Processing file src/netaddress.cpp lines=521 hit=480 functions=72 hit=72 branches=675 hit=499 Overall coverage rate: lines......: 81.8% (79362 of 97002 lines) functions......: 77.8% (10356 of 13310 functions) branches......: 49.6% (130628 of 263196 branches) ``` and another machine (LCOV 2.1, Clang 18.1.3) with: ```bash ./autogen.sh ./configure --enable-lcov CC=clang CXX=clang++ LCOV_OPTS="--rc branch_coverage=1 --ignore-errors mismatch,inconsistent" make make cov <snip> Processing file src/util/strencodings.cpp lines=315 hit=311 functions=38 hit=38 branches=425 hit=357 Overall coverage rate: source files: 622 lines.......: 79.8% (70311 of 88132 lines) functions...: 78.1% (13968 of 17881 functions) branches....: 44.5% (157551 of 354317 branches) Message summary: 101 warning messages: count: 1 inconsistent: 100 3528 ignore messages: inconsistent: 3528 ```
Configuration menu - View commit details
-
Copy full SHA for dddb532 - Browse repository at this point
Copy the full SHA dddb532View commit details -
Configuration menu - View commit details
-
Copy full SHA for bc13af2 - Browse repository at this point
Copy the full SHA bc13af2View commit details -
depends: fix Qt macOS build with Clang 18
Patch Qts internal libpng to resolve the failure. I would like to have this patched, so we can continue working on the removal of `FORCE_USE_SYSTEM_CLANG`. Otherwise builds will be broken using the default clang (18) on the current Ubuntu LTS (24.04).
Configuration menu - View commit details
-
Copy full SHA for 20f3118 - Browse repository at this point
Copy the full SHA 20f3118View commit details -
depends: consolidate dependency docs
Adds missing `g++` for macOS. This is needed by Qt: ```bash Configuring qt... Creating qmake... gmake[1]: Entering directory '/bitcoin/depends/work/build/arm64-apple-darwin/qt/5.15.14-4bca24c8f89/qtbase/qmake' gmake[1]: g++: No such file or directory gmake[1]: *** [Makefile:250: main.o] Error 127 ``` `xz-utils` was also missing (but generally already installed), and is needed for the `.tar.xz` tarballs. Remove bsdmainutils, as this is only needed by the main build system (for tests), and isn't needed to complete a depends build.
Configuration menu - View commit details
-
Copy full SHA for c69cec5 - Browse repository at this point
Copy the full SHA c69cec5View commit details -
doc: JSON-RPC request Content-Type is application/json
Specify json content type in RPC examples
Configuration menu - View commit details
-
Copy full SHA for aa8d2dd - Browse repository at this point
Copy the full SHA aa8d2ddView commit details -
Merge branch 'bitcoinsync' of github.com:BitgesellOfficial/bitgesell …
…into bitcoinsync
Configuration menu - View commit details
-
Copy full SHA for b874b47 - Browse repository at this point
Copy the full SHA b874b47View commit details
Commits on Jun 9, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 43d521d - Browse repository at this point
Copy the full SHA 43d521dView commit details
Commits on Jun 10, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 9e59bb5 - Browse repository at this point
Copy the full SHA 9e59bb5View commit details
Commits on Jun 14, 2024
-
Configuration menu - View commit details
-
Copy full SHA for bdd9190 - Browse repository at this point
Copy the full SHA bdd9190View commit details
Commits on Jun 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for d380036 - Browse repository at this point
Copy the full SHA d380036View commit details
Commits on Jun 23, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 67a3496 - Browse repository at this point
Copy the full SHA 67a3496View commit details
Commits on Jun 24, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 41d4b93 - Browse repository at this point
Copy the full SHA 41d4b93View commit details
Commits on Jul 1, 2024
-
Configuration menu - View commit details
-
Copy full SHA for d04915e - Browse repository at this point
Copy the full SHA d04915eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8043a13 - Browse repository at this point
Copy the full SHA 8043a13View commit details
Commits on Jul 5, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 27c33db - Browse repository at this point
Copy the full SHA 27c33dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for b5c8414 - Browse repository at this point
Copy the full SHA b5c8414View commit details
Commits on Jul 8, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 40ee4b3 - Browse repository at this point
Copy the full SHA 40ee4b3View commit details
Commits on Jul 26, 2024
-
[policy] make v3 transactions standard
Note that, as CURRENT_VERSION = 2, the wallet will not make transactions with nVersion=3 yet.
Configuration menu - View commit details
-
Copy full SHA for 455f706 - Browse repository at this point
Copy the full SHA 455f706View commit details -
Configuration menu - View commit details
-
Copy full SHA for 19a6fbf - Browse repository at this point
Copy the full SHA 19a6fbfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a1298c - Browse repository at this point
Copy the full SHA 5a1298cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 92e8e35 - Browse repository at this point
Copy the full SHA 92e8e35View commit details -
Configuration menu - View commit details
-
Copy full SHA for c47b438 - Browse repository at this point
Copy the full SHA c47b438View commit details -
[fuzz] Avoid endless waiting in FuzzedSock::{Wait,WaitMany}
Currently, when the FuzzedDataProvider of a FuzzedSock runs out of data, FuzzedSock::Wait and WaitMany will simulate endless waiting as the requested events are never simulated as occured. Fix this by simulating event occurence when ConsumeBool() returns false (e.g. when the data provider runs out). Co-authored-by: dergoegge <n.goeggi@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ee1f10a - Browse repository at this point
Copy the full SHA ee1f10aView commit details -
[fuzz] Make peeking through FuzzedSock::Recv fuzzer friendly
FuzzedSock only supports peeking at one byte at a time, which is not fuzzer friendly when trying to receive long data. Fix this by supporting peek data of arbitrary length instead of only one byte.
Configuration menu - View commit details
-
Copy full SHA for 57faa57 - Browse repository at this point
Copy the full SHA 57faa57View commit details -
guix: show *_FLAGS variables in pre-build output
For example: ```bash ADDITIONAL_GUIX_COMMON_FLAGS set in the ENV ADDITIONAL_GUIX_ENVIRONMENT_FLAGS="--emulate-fhs" ./contrib/guix/guix-build <snip> INFO: Building f75199182133 for platform triple x86_64-linux-gnu: ...using reference timestamp: 1716905119 ...running at most 10 jobs ...from worktree directory: '/bitcoin' ...bind-mounted in container to: '/bitcoin' ...in build directory: '/bitcoin/guix-build-f75199182133/distsrc-f75199182133-x86_64-linux-gnu' ...bind-mounted in container to: '/distsrc-base/distsrc-f75199182133-x86_64-linux-gnu' ...outputting in: '/bitcoin/guix-build-f75199182133/output/x86_64-linux-gnu' ...bind-mounted in container to: '/outdir-base/x86_64-linux-gnu' ADDITIONAL FLAGS (if set) ADDITIONAL_GUIX_COMMON_FLAGS: --no-substitutes ADDITIONAL_GUIX_ENVIRONMENT_FLAGS: --emulate-fhs ADDITIONAL_GUIX_TIMEMACHINE_FLAGS: ```
Configuration menu - View commit details
-
Copy full SHA for dca28b7 - Browse repository at this point
Copy the full SHA dca28b7View commit details -
refactor: remove unused
CKey::Negate
methodThis method was introduced as a pre-requirement for the v2 transport protocol back then (see PR #14047, commit 463921bb), when it was still BIP151. With the replacement BIP324, this is not needed anymore, and it's also unlikely that any other proposal would need to negate private keys at this abstraction level. (If there is really demand, it's trivial to reintroduce the method.)
Configuration menu - View commit details
-
Copy full SHA for c61aab6 - Browse repository at this point
Copy the full SHA c61aab6View commit details -
Support running individual lint checks
Add support for passing `--lint=LINT_TO_RUN` to the lint runner and add corresponding help message.
Configuration menu - View commit details
-
Copy full SHA for 328175a - Browse repository at this point
Copy the full SHA 328175aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a9f171 - Browse repository at this point
Copy the full SHA 1a9f171View commit details -
Configuration menu - View commit details
-
Copy full SHA for d24ea9a - Browse repository at this point
Copy the full SHA d24ea9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ad12291 - Browse repository at this point
Copy the full SHA ad12291View commit details -
build: no-longer allow GCC-10 in C++20 check
Reverts part of fa67f096bdea9db59dd20c470c9e32f3dac5be94, now that we require a minimum of GCC 11. See also: bitcoin/bitcoin#28349 (comment).
Configuration menu - View commit details
-
Copy full SHA for 513931e - Browse repository at this point
Copy the full SHA 513931eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b64eb09 - Browse repository at this point
Copy the full SHA b64eb09View commit details -
Reduce memory copying operations in bech32 encode
Here I've reduced the memory reallocations and copying operations in bech32 encode, making it ~15% faster. make && ./src/bench/bench_bitcoin --filter='Bech32Encode' --min-time=1000 Before: | ns/byte | byte/s | err% | total | benchmark |--------------------:|--------------------:|--------:|----------:|:---------- | 19.97 | 50,074,562.72 | 0.1% | 1.06 | `Bech32Encode` After: | ns/byte | byte/s | err% | total | benchmark |--------------------:|--------------------:|--------:|----------:|:---------- | 17.33 | 57,687,668.20 | 0.1% | 1.10 | `Bech32Encode` Co-authored-by: josibake <josibake@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for 214225f - Browse repository at this point
Copy the full SHA 214225fView commit details -
guix: bump time-machine to f0bb724211872cd6158fce6162e0b8c73efed126
Includes: LLVM 18.1.x (#30201) GCC 13.x (#29881) git-minimal 2.41.0 -> 2.45.1 Kernel Headers 6.1.80 -> 6.1.92 moreutils 0.68 -> 0.69 Commits like https://git.savannah.gnu.org/cgit/guix.git/commit/?id=7b0f145802f0c2c785014293d748721678fef824, which should improve the bootstrap situation (#30042).
Configuration menu - View commit details
-
Copy full SHA for f97ce0e - Browse repository at this point
Copy the full SHA f97ce0eView commit details -
test: fix
keys_to_multisig_script
(P2MS) helper for n/k > 16The helper assumes that the n and k values have to be provided as a single byte push operation, which is only possible for values up to 16. Fix that by passing the numbers directly to the CScript list, where it's automatically converted to minimally-encoded pushes (see class method `CScript.__coerce_instance`, branch `isinstance(other, int)`). In case of 17..20, this means that the data-pushes are done with two bytes using OP_PUSH1 (0x01), e.g. for n=20: 0x01,0x14
Configuration menu - View commit details
-
Copy full SHA for d3de8ab - Browse repository at this point
Copy the full SHA d3de8abView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1b06b64 - Browse repository at this point
Copy the full SHA 1b06b64View commit details -
Configuration menu - View commit details
-
Copy full SHA for b502d77 - Browse repository at this point
Copy the full SHA b502d77View commit details -
build: re-enable deprecated warning copy
This was disabled in #18738 due to the combo of old gcc and qt, neither of which are relevant to us anymore.
Configuration menu - View commit details
-
Copy full SHA for 43b9a10 - Browse repository at this point
Copy the full SHA 43b9a10View commit details -
test: refactor: Rename extra_txn to const empty_extra_txn as it is em…
…pty in all test cases
Configuration menu - View commit details
-
Copy full SHA for b505eaf - Browse repository at this point
Copy the full SHA b505eafView commit details -
test: Add ReceiveWithExtraTransactions Compact Block receive test.
This new test uses the `vExtraTxnForCompact` (`extra_txn`) vector of optional orphan/conflicted/etc. transactions to provide a transaction in a compact block that was not otherwise present in our mempool. This also covers an improbable nullptr deref bug addressed in bf031a517c79cec5b43420bcd40291ab0e9f68a8 (#29752) where the `extra_txn` vec/circular-buffer was sometimes null-initialized and not yet filled when dereferenced in `PartiallyDownloadedBlock::InitData`.
Configuration menu - View commit details
-
Copy full SHA for 882e359 - Browse repository at this point
Copy the full SHA 882e359View commit details -
refactor: disable self-assign warning for tests
clang-16 and earlier detect "foo -= foo" and "foo /= foo" as self-assignments.
Configuration menu - View commit details
-
Copy full SHA for 75f8e90 - Browse repository at this point
Copy the full SHA 75f8e90View commit details -
build: warn on self-assignment
Belt-and suspenders after #30234. Self-assignment should be safe _and_ discouraged. We used to opt out of this warning because something deep in our serialization/byteswapping code could self-assign, but that doesn't appear to be the case anymore.
Configuration menu - View commit details
-
Copy full SHA for 1307b55 - Browse repository at this point
Copy the full SHA 1307b55View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e0e6b1 - Browse repository at this point
Copy the full SHA 5e0e6b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 41fca1e - Browse repository at this point
Copy the full SHA 41fca1eView commit details -
This is an STL-like container that interface-wise looks like std::deque, but is backed by a (fixed size, with vector-like capacity/reserve) circular buffer.
Configuration menu - View commit details
-
Copy full SHA for 5eb7d12 - Browse repository at this point
Copy the full SHA 5eb7d12View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0aaa779 - Browse repository at this point
Copy the full SHA 0aaa779View commit details -
ci: Remove no longer needed workaround for GHA Windows images
GHA Windows images previously had multiple VC Build Tools installed, which required specifying the `VCPKG_PLATFORM_TOOLSET_VERSION` explicitly to avoid linker errors. This issue has been resolved as per actions/runner-images#9701.
Configuration menu - View commit details
-
Copy full SHA for abd1ffc - Browse repository at this point
Copy the full SHA abd1ffcView commit details -
ci: Use relative paths in
win64-native
CI job consistentlyThis change improves readability. Also the `Tee-Object` cmdlet is used when appropriate.
Configuration menu - View commit details
-
Copy full SHA for 63f433f - Browse repository at this point
Copy the full SHA 63f433fView commit details -
bugfix: Streamline setting reindex option
Reverts a bug introduced in b47bd959207e82555f07e028cc2246943d32d4c3 "kernel: De-globalize fReindex". The change leads to a GUI user being prompted to re-index on a chainstate loading failure more than once as well as the node actually not reindexing if the user chooses to. Fix this by setting the reindexing option instead of the atomic, which can be safely re-used to indicate that a reindex should be attempted. The bug specifically is caused by the chainman, and thus the blockman and its m_reindexing atomic being destroyed on every iteration of the for loop. The reindex option for ChainstateLoadOptions is currently also set in a confusing way. By using the reindex atomic, it is not obvious in which scenario it is true or false. The atomic is controlled by both the user passing the -reindex option, the user chosing to reindex if something went wrong during chainstate loading when running the gui, and by reading the reindexing flag from the block tree database in LoadBlockIndexDB. In practice this read is done through the chainstate module's CompleteChainstateInitialization's call to LoadBlockIndex. Since this is only done after the reindex option is set already, it does not have an effect on it. Make this clear by using the reindex option from the blockman opts which is only controlled by the user.
Configuration menu - View commit details
-
Copy full SHA for 8ddef57 - Browse repository at this point
Copy the full SHA 8ddef57View commit details -
validation: Remove needs_init from LoadBlockIndex
It does not control any actual logic and the log message as well as the comment are obsolete, since no database initialization takes place there anymore. Log messages indicating when indexes and chainstate databases are loaded exist in other places.
Configuration menu - View commit details
-
Copy full SHA for 9571478 - Browse repository at this point
Copy the full SHA 9571478View commit details -
Configuration menu - View commit details
-
Copy full SHA for b4db946 - Browse repository at this point
Copy the full SHA b4db946View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1da947c - Browse repository at this point
Copy the full SHA 1da947cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e1a9b85 - Browse repository at this point
Copy the full SHA e1a9b85View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd7722d - Browse repository at this point
Copy the full SHA fd7722dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ac6ce3 - Browse repository at this point
Copy the full SHA 6ac6ce3View commit details -
Configuration menu - View commit details
-
Copy full SHA for f15cd9d - Browse repository at this point
Copy the full SHA f15cd9dView commit details -
consensus: Store transaction nVersion as uint32_t
Given that the use of a transaction's nVersion is always as an unsigned int, it doesn't make sense to store it as signed and then cast it to unsigned.
Configuration menu - View commit details
-
Copy full SHA for 5b8bd75 - Browse repository at this point
Copy the full SHA 5b8bd75View commit details -
kernel: Add less confusing reindex options
Drop confusing kernel options: BlockManagerOpts::reindex ChainstateLoadOptions::reindex ChainstateLoadOptions::reindex_chainstate Replacing them with more straightforward options: ChainstateLoadOptions::wipe_block_tree_db ChainstateLoadOptions::wipe_chainstate_db Having two options called "reindex" which did slightly different things was needlessly confusing (one option wiped the block tree database, and the other caused block files to be rescanned). Also the previous set of options did not allow rebuilding the block database without also rebuilding the chainstate database, when it should be possible to do those independently.
Configuration menu - View commit details
-
Copy full SHA for 613db70 - Browse repository at this point
Copy the full SHA 613db70View commit details -
indexes: Don't wipe indexes again when already reindexing
Before this change continuing a reindex without the -reindex flag set would leave the block and coins db intact, but discard the data of the optional indexes. While not a bug per se, wiping the data again is wasteful, both in terms of having to write it again, and potentially leading to longer startup times. When initially running a reindex, both the block index and any further activated indexes are wiped. On an index's Init(), both the best block stored by the index and the chain's tip are null. An index's m_synced member is therefore true. This means that it will process blocks through validation events while the reindex is running. Currently, if the reindex is continued without the user re-specifying the reindex flag, the block index is preserved but further index data is wiped. This leads to the stored best block being null, but the chain tip existing. The m_synced member will be set to false. The index will not process blocks through the validation interface, but instead use the background sync once the reindex is completed. If the index is preserved (this change) after a restart its best block may potentially match the chain tip. The m_synced member will be set to true and the index can process validation events during the rest of the reindex.
Configuration menu - View commit details
-
Copy full SHA for 1b676c3 - Browse repository at this point
Copy the full SHA 1b676c3View commit details -
test: Add functional test for continuing a reindex
Co-authored-by: furszy <matiasfurszyfer@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for 465a9a8 - Browse repository at this point
Copy the full SHA 465a9a8View commit details -
blockman: Replace m_reindexing with m_blockfiles_indexed
This is a just a mechanical change, renaming and inverting the meaning of the indexing variable. "m_blockfiles_indexed" is a more straightforward name for this variable because this variable just indicates whether or not <datadir>/blocks/blk?????.dat files have been indexed in the <datadir>/blocks/index LevelDB database. The name "m_reindexing" was more confusing, it could be true even if -reindex was not specified, and false when it was specified. Also, the previous name unnecessarily required thinking about the whole reindexing process just to understand simple checks in validation code about whether blocks were indexed. The motivation for this change is to follow up on previous commits, moving away from having multiple variables called "reindex" internally, and instead naming variables individually after what they do and represent.
Configuration menu - View commit details
-
Copy full SHA for 3f79a90 - Browse repository at this point
Copy the full SHA 3f79a90View commit details -
refactor: Rename CTransaction::nVersion to version
In order to ensure that the change of nVersion to a uint32_t in the previous commit has no effect, rename nVersion to version in this commit so that reviewers can easily spot if a spot was missed or if there is a check somewhere whose semantics have changed.
Configuration menu - View commit details
-
Copy full SHA for 284ab8d - Browse repository at this point
Copy the full SHA 284ab8dView commit details -
ci: add IPV6 network to ci container
Allows IPV6 functional tests to run inside the container
Configuration menu - View commit details
-
Copy full SHA for c8682d3 - Browse repository at this point
Copy the full SHA c8682d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5236325 - Browse repository at this point
Copy the full SHA 5236325View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c13e68 - Browse repository at this point
Copy the full SHA 6c13e68View commit details -
This reverts cfaac2a60f3ac63ae8deccb03d88bd559449b78c
Configuration menu - View commit details
-
Copy full SHA for 352876a - Browse repository at this point
Copy the full SHA 352876aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9cf9734 - Browse repository at this point
Copy the full SHA 9cf9734View commit details -
log: use error level for critical log messages
As per doc/developer-notes#logging, LogError should be used for severe problems that require the node to shut down. Co-Authored-By: stickies-v <stickies-v@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for d890a01 - Browse repository at this point
Copy the full SHA d890a01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 055fbc9 - Browse repository at this point
Copy the full SHA 055fbc9View commit details -
This adds a bitset module that implements a BitSet<N> class, a variant of std::bitset with a few additional features that cannot be implemented in a wrapper without performance loss (specifically, finding first and last bit set, or iterating over all set bits).
Configuration menu - View commit details
-
Copy full SHA for e54e15b - Browse repository at this point
Copy the full SHA e54e15bView commit details -
guix: use clang-toolchain-18 for macOS build
Version is 18.1.6.
Configuration menu - View commit details
-
Copy full SHA for a2c6baa - Browse repository at this point
Copy the full SHA a2c6baaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a6a9df - Browse repository at this point
Copy the full SHA 4a6a9dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 690b196 - Browse repository at this point
Copy the full SHA 690b196View commit details -
ci: update deps for macOS cross build
We are going to use Clang 18, which isn't on Jammy, so bump to Noble.
Configuration menu - View commit details
-
Copy full SHA for a519dfe - Browse repository at this point
Copy the full SHA a519dfeView commit details -
Configuration menu - View commit details
-
Copy full SHA for b903df2 - Browse repository at this point
Copy the full SHA b903df2View commit details -
Configuration menu - View commit details
-
Copy full SHA for dcac93a - Browse repository at this point
Copy the full SHA dcac93aView commit details -
Configuration menu - View commit details
-
Copy full SHA for e52b2b6 - Browse repository at this point
Copy the full SHA e52b2b6View commit details -
refactor: rename (macho) ld64 to lld
Change some references to the macho ld64 to lld, which is now what is used.
Configuration menu - View commit details
-
Copy full SHA for 4af6571 - Browse repository at this point
Copy the full SHA 4af6571View commit details -
Configuration menu - View commit details
-
Copy full SHA for f9f2ffb - Browse repository at this point
Copy the full SHA f9f2ffbView commit details -
PackageV3Checks: Relax assumptions
Relax assumptions about in-mempool children of in-mempool parents. With package RBF, we will allow a package of size 2 with conflicts on its parent and reconsider the parent if its fee is insufficient on its own. Consider: TxA (in mempool) <- TxB (in mempool) TxA (in mempool) <- TxB' (in package, conflicts with TxB) <- TxC (in package) If TxB' fails to RBF TxB due to insufficient feerate, the package TxB' + TxC will be considered. PackageV3Checks called on TxB' will see an in-mempool parent TxA, and see the in-mempool child TxB. We cannot assume there is no in-mempool sibling, rather detect it and fail normally. Prior to package RBF, this would have failed on the first conflict in package.
Configuration menu - View commit details
-
Copy full SHA for 0c1b003 - Browse repository at this point
Copy the full SHA 0c1b003View commit details -
test: add coverage for errors for
combinerawtransaction
RPC* Tx decode failed * Missing transactions * Input not found or already spent
Configuration menu - View commit details
-
Copy full SHA for c01a1c6 - Browse repository at this point
Copy the full SHA c01a1c6View commit details -
Noticed when testing VecDeque with no other includes. For libc++, need type_traits for std::is_trivially_destructible_v.
Configuration menu - View commit details
-
Copy full SHA for 0a1524c - Browse repository at this point
Copy the full SHA 0a1524cView commit details -
Set minimum required glibc to 2.31. The glibc 2.31 branch is still maintained: https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/release/2.31/master. Remove the stack-protector check from test-security-check, as the test no-longer fails, and given the control we have of the end, the actual security-check test seems sufficient (this might also be applied to some of the other checks). Drops runtime support for Ubuntu Bionic 18.04 and RHEL-8 from the release binaries.
Configuration menu - View commit details
-
Copy full SHA for e690440 - Browse repository at this point
Copy the full SHA e690440View commit details -
ci: move Asan / LSan / USDT job to Github Actions
Moving it from Cirrus CI so it can be easier to maintain and used by forks
Configuration menu - View commit details
-
Copy full SHA for e237aa0 - Browse repository at this point
Copy the full SHA e237aa0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b6e159 - Browse repository at this point
Copy the full SHA 9b6e159View commit details -
Squashed 'src/minisketch/' changes from 3472e2f5ec..eb37a9b8e7
eb37a9b8e7 Merge sipa/minisketch#87: Avoid copy in self-assign fe6557642e Merge sipa/minisketch#88: build: Add `-Wundef` 8ea298bfa7 Avoid copy in self-assign 978a3d8869 build: Add `-Wundef` 3387044179 Merge sipa/minisketch#86: doc: fix typo in sketch_impl.h 15c2d13b60 doc: fix typo in sketch_impl.h 7be08b8a46 Merge sipa/minisketch#85: Fixes for integer precision loss 00fb4a4d83 Avoid or make integer precision conversion explicit 9d62a4d27c Avoid the need to cast/convert to size_t for vector operations 19e06cc7af Prevent overflows from large capacity/max_elements git-subtree-dir: src/minisketch git-subtree-split: eb37a9b8e79f9e49d73b96a49bf97a96d9eb676c
Configuration menu - View commit details
-
Copy full SHA for f4bfa21 - Browse repository at this point
Copy the full SHA f4bfa21View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54eca1b - Browse repository at this point
Copy the full SHA 54eca1bView commit details -
i2p: log errors properly according to their severity
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Configuration menu - View commit details
-
Copy full SHA for ee3d36e - Browse repository at this point
Copy the full SHA ee3d36eView commit details -
i2p: fix log when an interruption happens during
Accept
Before, interruption was printed as an error. Also, it did not log the reason when an interruption happened, e.g. "Error accepting:". Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Configuration menu - View commit details
-
Copy full SHA for 4a95a99 - Browse repository at this point
Copy the full SHA 4a95a99View commit details -
test: cover more errors for
signrawtransactionwithkey
RPC* Invalid private key * TX decode failed
Configuration menu - View commit details
-
Copy full SHA for 89950ad - Browse repository at this point
Copy the full SHA 89950adView commit details -
Configuration menu - View commit details
-
Copy full SHA for f766db4 - Browse repository at this point
Copy the full SHA f766db4View commit details -
move-only: move warnings from common to node
Since rpc/util.cpp is in common, also move GetNodeWarnings() to node::GetWarningsForRPC()
Configuration menu - View commit details
-
Copy full SHA for 71366fc - Browse repository at this point
Copy the full SHA 71366fcView commit details -
node: update uiInterface whenever warnings updated
This commit introduces slight behaviour change. Previously, the GUI status bar would be updated for most warnings, namely UNKNOWN_NEW_RULES_ACTIVATED, CLOCK_OUT_OF_SYNC and PRE_RELEASE_TEST_BUILD, but not for LARGE_WORK_INVALID_CHAIN (and not for FATAL_INTERNAL_ERROR, but that is not really meaningful). Fix this by always updating the status bar when the warnings are changed.
Configuration menu - View commit details
-
Copy full SHA for 51f4b3c - Browse repository at this point
Copy the full SHA 51f4b3cView commit details -
introduce and use the generalized
node::Warnings
interfaceInstead of having separate warning functions (and globals) for each different warning that can be raised, encapsulate this logic into a single class and allow to (un)set any number of warnings. Introduces behaviour change: - the `-alertnotify` command is executed for all `KernelNotifications::warningSet` calls, which now also covers the `LARGE_WORK_INVALID_CHAIN` warning. - previously, warnings were returned based on a predetermined order, e.g. with the "pre-release test build" warning always first. This is no longer the case, and Warnings::GetMessages() will return messages sorted by the id of the warning. Removes warnings.cpp from kernel.
Configuration menu - View commit details
-
Copy full SHA for b8edeeb - Browse repository at this point
Copy the full SHA b8edeebView commit details -
Configuration menu - View commit details
-
Copy full SHA for a12b9f3 - Browse repository at this point
Copy the full SHA a12b9f3View commit details -
Squashed 'src/leveldb/' changes from e2f10b4e47..688561cba8
688561cba8 Merge bitcoin-core/leveldb-subtree#41: Ignore clang's self-assignment check 7045a90ed7 Ignore clang's self-assignment check git-subtree-dir: src/leveldb git-subtree-split: 688561cba8746482893f835c4829e4eb4a5b7615
Configuration menu - View commit details
-
Copy full SHA for 6510cbf - Browse repository at this point
Copy the full SHA 6510cbfView commit details -
Revert "contrib: macdeploy: monkey-patch gen-sdk to be deterministic"
This reverts commit ba30a5407e065e9d6dd037351e83f56a43f38f19.
Configuration menu - View commit details
-
Copy full SHA for 577285e - Browse repository at this point
Copy the full SHA 577285eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 88778f6 - Browse repository at this point
Copy the full SHA 88778f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9823e44 - Browse repository at this point
Copy the full SHA 9823e44View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e60cf1 - Browse repository at this point
Copy the full SHA 5e60cf1View commit details -
Configuration menu - View commit details
-
Copy full SHA for f9cb9c6 - Browse repository at this point
Copy the full SHA f9cb9c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for cdc7c0d - Browse repository at this point
Copy the full SHA cdc7c0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 076d05d - Browse repository at this point
Copy the full SHA 076d05dView commit details -
Support package RBF where the conflicting package would result in a mempool cluster of size two, and each of its direct conflicts are also part of an up-to-size-2 mempool cluster. This restricted topology allows for exact calculation of miner scores for each side of the equation, reducing the surface area for new pins, or incentive-incompatible replacements. This allows wallets to create simple CPFP packages that can fee bump other simple CPFP packages. This, leveraged with other restrictions such as V3 transactions, can create pin-resistant applications. Future package RBF relaxations can be considered when appropriate. Co-authored-by: glozow <gloriajzhao@gmail.com> Co-authored-by: Greg Sanders <gsanders87@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for c3c194e - Browse repository at this point
Copy the full SHA c3c194eView commit details -
doc: rewrite some of the macdeploy docs
Somewhat of a followup to #21778.
Configuration menu - View commit details
-
Copy full SHA for 9152ad9 - Browse repository at this point
Copy the full SHA 9152ad9View commit details -
depends: swap mmacosx-version-min for mmacos-version-min
Whilst these remain aliases for each other, the later is preferred, and I assume the former will be removed at some point in the future; see: llvm/llvm-project#95374.
Configuration menu - View commit details
-
Copy full SHA for bac8f05 - Browse repository at this point
Copy the full SHA bac8f05View commit details -
Configuration menu - View commit details
-
Copy full SHA for 47b1502 - Browse repository at this point
Copy the full SHA 47b1502View commit details -
refactor: add self-assign checks to classes which violate the clang-t…
…idy check Both of these cases appear to be harmless, but adding the tests allows us to turn on the aggressive clang-tidy checks.
Configuration menu - View commit details
-
Copy full SHA for 97fc971 - Browse repository at this point
Copy the full SHA 97fc971View commit details -
netbase: extend CreateSock() to support creating arbitrary sockets
Allow the callers of `CreateSock()` to pass all 3 arguments to the `socket(2)` syscall. This makes it possible to create sockets of any domain/type/protocol.
Configuration menu - View commit details
-
Copy full SHA for 67b52e4 - Browse repository at this point
Copy the full SHA 67b52e4View commit details -
fuzz: simplify FuzzedSock::m_peek_data
`FuzzedSock::m_peek_data` need not be an optional of a vector. It can be just a vector whereas an empty vector denotes "no peek data".
Configuration menu - View commit details
-
Copy full SHA for af8c7dc - Browse repository at this point
Copy the full SHA af8c7dcView commit details -
fuzz: FuzzedSock::Recv() don't lose bytes from MSG_PEEK read
Problem: If `FuzzedSock::Recv(N, MSG_PEEK)` is called then `N` bytes would be retrieved from the fuzz provider, saved in `m_peek_data` and returned to the caller (ok). If after this `FuzzedSock::Recv(M, 0)` is called where `M < N` then the first `M` bytes from `m_peek_data` would be returned to the caller (ok), but the remaining `N - M` bytes in `m_peek_data` would be discarded/lost (not ok). They must be returned by a subsequent `Recv()`. To resolve this, only remove the head `N` bytes from `m_peek_data`.
Configuration menu - View commit details
-
Copy full SHA for a2b3a96 - Browse repository at this point
Copy the full SHA a2b3a96View commit details -
test: Added test coverage to listsinceblock rpc
This change adds a test to add coverage to the rpc error that emmits the message "Can't read block from disk"
Configuration menu - View commit details
-
Copy full SHA for 3607a61 - Browse repository at this point
Copy the full SHA 3607a61View commit details -
test: write functional test results to csv
Adds argument --resultsfile to test_runner.py. Writes comma-separated functional test name, status, and duration to the file provided with the argument. Also fixes minor typo in test_runner.py
Configuration menu - View commit details
-
Copy full SHA for 2bef20f - Browse repository at this point
Copy the full SHA 2bef20fView commit details -
test: Introduce test types and modify v2 handshake function accordingly
Prior to this commit, TestEncryptedP2PState would always send initial_v2_handshake bytes in 2 parts (as required by early key response test). For generalising this test and having different v2 handshake behaviour based on the test type, special behaviours like sending initial_v2_handshake bytes in 2 parts are executed only if test_type is set to EARLY_KEY_RESPONSE.
Configuration menu - View commit details
-
Copy full SHA for ec0737e - Browse repository at this point
Copy the full SHA ec0737eView commit details -
wallet: use CRecipient instead of CTxOut
Now that a CRecipient holds a CTxDestination, we can get the serialized size and determine if the output is dust using the CRecipient directly. This does not change any current behavior, but provides a nice generalization that can be used to apply special logic to a CTxDestination serialization and dust calculations in the future. Specifically, in a later PR when support for `V0SilentPayment` destinations is added, we need to use `WitnessV1Taproot` as the scriptPubKey for serialized size calcuations whenever the `CRecipient` destination is a `V0SilentPayment` destination.
Configuration menu - View commit details
-
Copy full SHA for d8c62b3 - Browse repository at this point
Copy the full SHA d8c62b3View commit details -
move-only: refactor CreateTransactionInternal
Move the output serialization size and dust calculation into the loop where the outputs are iterated over to calculate the total sum. Move the code for adding the the txoutputs to the transaction to after coin selection. While this code structure generally follows a more logical flow, the primary motivation for moving the code for adding outputs to the transaction sets us up nicely for silent payments (in a future PR): we need to know the input set before generating the final output scriptPubKeys.
Configuration menu - View commit details
-
Copy full SHA for 684e29c - Browse repository at this point
Copy the full SHA 684e29cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5761ea7 - Browse repository at this point
Copy the full SHA 5761ea7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 872e31b - Browse repository at this point
Copy the full SHA 872e31bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 712bbfe - Browse repository at this point
Copy the full SHA 712bbfeView commit details -
upnp: add compatibility for miniupnpc 2.2.8
See: miniupnp/miniupnp@c0a50ce The return value of 2 now indicates: "A valid connected IGD has been found but its IP address is reserved (non routable)" We continue to ignore any return value other than 1.
Configuration menu - View commit details
-
Copy full SHA for c5172cf - Browse repository at this point
Copy the full SHA c5172cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 427bad8 - Browse repository at this point
Copy the full SHA 427bad8View commit details -
fuzz: have package_rbf always make small txns
The fuzz target is generating a large amount of transactions, but the core of the logic is ConsumeTxMemPoolEntry making the mempool entries for adding to the mempool. Since ConsumeTxMemPoolEntry generates its own transaction "vsize", we can improve efficiency of the target by explicitly creating very small transactions, reducing the hashing and memory burden.
Configuration menu - View commit details
-
Copy full SHA for 47f280d - Browse repository at this point
Copy the full SHA 47f280dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a93515 - Browse repository at this point
Copy the full SHA 0a93515View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0fdff42 - Browse repository at this point
Copy the full SHA 0fdff42View commit details -
Always pass options to BlockAssembler constructor
This makes the options argument for BlockAssembler constructor mandatory, dropping implicit use of ArgsManager. The caller i.e. the Mining interface implementation now handles this. In a future Stratum v2 change the Options object needs to be mofified after arguments have been processed. Specifically the pool communicates how many extra bytes it needs for its own outputs (payouts, extra commitments, etc). This will need to be substracted from what the user set as -blockmaxweight. Such a change can be implemented in createNewBlock, after ApplyArgsManOptions.
Configuration menu - View commit details
-
Copy full SHA for a941dce - Browse repository at this point
Copy the full SHA a941dceView commit details -
Start out with a single method isTestChain() that's used by the getblocktemplate RPC.
Configuration menu - View commit details
-
Copy full SHA for a84aead - Browse repository at this point
Copy the full SHA a84aeadView commit details -
Configuration menu - View commit details
-
Copy full SHA for b814933 - Browse repository at this point
Copy the full SHA b814933View commit details -
Configuration menu - View commit details
-
Copy full SHA for e98aff1 - Browse repository at this point
Copy the full SHA e98aff1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 08f5ac7 - Browse repository at this point
Copy the full SHA 08f5ac7View commit details -
rpc: minize getTipHash() calls in gbt
Set tip at the start of the function and only update it for a long poll. Additionally have getTipHash return an optional, so the caller can explicitly check that a tip exists.
Configuration menu - View commit details
-
Copy full SHA for f1a6536 - Browse repository at this point
Copy the full SHA f1a6536View commit details -
Configuration menu - View commit details
-
Copy full SHA for 45b8c03 - Browse repository at this point
Copy the full SHA 45b8c03View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6f2e294 - Browse repository at this point
Copy the full SHA 6f2e294View commit details -
Configuration menu - View commit details
-
Copy full SHA for c67e5e6 - Browse repository at this point
Copy the full SHA c67e5e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8703add - Browse repository at this point
Copy the full SHA 8703addView commit details -
Configuration menu - View commit details
-
Copy full SHA for 35d676a - Browse repository at this point
Copy the full SHA 35d676aView commit details -
Don't use iterator addresses in IteratorComparator
The addresses of the iterator values are non-deterministic (i.e. they depend on where the values were allocated). This causes stability issues when fuzzing (e.g. in the `txorphan` and `mini_miner` harnesses), due the orders (derived from IteratorComparator) not being deterministic. Improve stability by comparing the first element in the iterator value pair instead of using the the value addresses.
Configuration menu - View commit details
-
Copy full SHA for 97cb1c1 - Browse repository at this point
Copy the full SHA 97cb1c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d97e72 - Browse repository at this point
Copy the full SHA 4d97e72View commit details -
Configuration menu - View commit details
-
Copy full SHA for 672e890 - Browse repository at this point
Copy the full SHA 672e890View commit details -
refactor: Move early loadtxoutset checks into ActiveSnapshot
Also changes the return type of ActiveSnapshot to allow returning the error message to the user of the loadtxoutset RPC.
Configuration menu - View commit details
-
Copy full SHA for 48ee57c - Browse repository at this point
Copy the full SHA 48ee57cView commit details -
test: Make blockencodings_tests deterministic
refactor: CBlockHeaderAndShortTxIDs constructor now always takes an explicit nonce. test: Make blockencodings_tests deterministic using fixed seed providing deterministic CBlockHeaderAndShortTxID nonces and dummy transaction IDs. Fixes very rare flaky test failures, where the ShortIDs of test transactions collide, leading to `READ_STATUS_FAILED` from PartiallyDownloadedBlock::InitData and/or `IsTxAvailable` giving `false` when the transaction should actually be available. * Use a new `FastRandomContext` with a fixed seed in each test, to ensure 'random' uint256s used as fake prevouts are deterministic, so in-turn test txids and short IDs are deterministic and don't collide causing very rare but flaky test failures. * Add new test-only/internal initializer for `CBlockHeaderAndShortTxIDs` that takes a specified nonce to further ensure determinism and avoid rare but undesireable short ID collisions. In a test context this nonce is set to a fixed known-good value. Normally it is random, as previously. Flaky test failures can be reproduced with: ```patch diff --git a/src/blockencodings.cpp b/src/blockencodings.cpp index 695e8d806a..64d635a97a 100644 --- a/src/blockencodings.cpp +++ b/src/blockencodings.cpp @@ -44,7 +44,8 @@ void CBlockHeaderAndShortTxIDs::FillShortTxIDSelector() const { uint64_t CBlockHeaderAndShortTxIDs::GetShortID(const Wtxid& wtxid) const { static_assert(SHORTTXIDS_LENGTH == 6, "shorttxids calculation assumes 6-byte shorttxids"); - return SipHashUint256(shorttxidk0, shorttxidk1, wtxid) & 0xffffffffffffL; + // return SipHashUint256(shorttxidk0, shorttxidk1, wtxid) & 0xffffffffffffL; + return SipHashUint256(shorttxidk0, shorttxidk1, wtxid) & 0x0f; } ``` to increase the likelihood of a short ID collision; and running ```shell set -e; n=0; while (( n++ < 5000 )); do src/test/test_bitcoin --run_test=blockencodings_tests; done ```
Configuration menu - View commit details
-
Copy full SHA for 1429237 - Browse repository at this point
Copy the full SHA 1429237View commit details -
contrib: add R(UN)PATH check to ELF symbol-check
Our binaries shouldn't contains any rpaths, or runpaths, so check that at release time.
Configuration menu - View commit details
-
Copy full SHA for b530ef4 - Browse repository at this point
Copy the full SHA b530ef4View commit details -
Configuration menu - View commit details
-
Copy full SHA for d0550cd - Browse repository at this point
Copy the full SHA d0550cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1660e69 - Browse repository at this point
Copy the full SHA 1660e69View commit details -
ci: add option for running tests without volume
DANGER_CI_ON_HOST_CACHE_FOLDERS if set will mount caches in directories on the host rather than in docker volumes. Supports saving and restoring caches on Github Actions.
Configuration menu - View commit details
-
Copy full SHA for 65fb4a1 - Browse repository at this point
Copy the full SHA 65fb4a1View commit details -
refactor: remove extraneous lock annotations from function definitions
These annotations belong in the declarations rather than the definitions. While harmless now, future versions of clang may warn about these.
Configuration menu - View commit details
-
Copy full SHA for 8d7ec86 - Browse repository at this point
Copy the full SHA 8d7ec86View commit details -
Configuration menu - View commit details
-
Copy full SHA for aea2424 - Browse repository at this point
Copy the full SHA aea2424View commit details -
assumeutxo: Check snapshot base block is not marked invalid
Co-authored-by: Alfonso Roman Zubeldia <alfonsoromanz24@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for b584f63 - Browse repository at this point
Copy the full SHA b584f63View commit details -
Configuration menu - View commit details
-
Copy full SHA for 63bcc70 - Browse repository at this point
Copy the full SHA 63bcc70View commit details -
randomenv.cpp:48:5: warning: 'HAVE_VM_VM_PARAM_H' is not defined, evaluates to 0 [-Wundef] randomenv.cpp:51:5: warning: 'HAVE_SYS_RESOURCES_H' is not defined, evaluates to 0 [-Wundef] randomenv.cpp:424:5: error: 'HAVE_SYSCTL' is not defined, evaluates to 0 [-Werror,-Wundef]
Configuration menu - View commit details
-
Copy full SHA for dd42e03 - Browse repository at this point
Copy the full SHA dd42e03View commit details -
Configuration menu - View commit details
-
Copy full SHA for 264e927 - Browse repository at this point
Copy the full SHA 264e927View commit details -
build: Suppress warnings from boost and capnproto in multiprocess code
Without this change there are errors from boost like: /ci_container_base/depends/i686-pc-linux-gnu/include/boost/signals2/expired_slot.hpp:23:28: error: 'what' overrides a member function but is not marked 'override' [-Werror,-Wsuggest-override] /ci_container_base/depends/i686-pc-linux-gnu/include/boost/signals2/detail/signal_template.hpp:750:32: error: 'lock_pimpl' overrides a member function but is not marked 'override' [-Werror,-Wsuggest-override] /ci_container_base/depends/i686-pc-linux-gnu/include/boost/signals2/connection.hpp:150:22: error: 'connected' overrides a member function but is not marked 'override' [-Werror,-Wsuggest-override] There do not seem to be errors from capnproto currently, but add a suppression for it, too, to be consistent with other libraries.
Configuration menu - View commit details
-
Copy full SHA for f52c89f - Browse repository at this point
Copy the full SHA f52c89fView commit details -
refactor: use #ifdef HAVE_SOCKADDR_UN
```bash init.cpp:526:5: error: "HAVE_SOCKADDR_UN" is not defined, evaluates to 0 [-Werror=undef] 526 | #if HAVE_SOCKADDR_UN | ^~~~~~~~~~~~~~~~ init.cpp:541:5: error: "HAVE_SOCKADDR_UN" is not defined, evaluates to 0 [-Werror=undef] 541 | #if HAVE_SOCKADDR_UN | ^~~~~~~~~~~~~~~~ init.cpp:1318:5: error: "HAVE_SOCKADDR_UN" is not defined, evaluates to 0 [-Werror=undef] 1318 | #if HAVE_SOCKADDR_UN ``` ``` netbase.cpp:26:5: error: "HAVE_SOCKADDR_UN" is not defined, evaluates to 0 [-Werror=undef] 26 | #if HAVE_SOCKADDR_UN | ^~~~~~~~~~~~~~~~ netbase.cpp:221:5: error: "HAVE_SOCKADDR_UN" is not defined, evaluates to 0 [-Werror=undef] 221 | #if HAVE_SOCKADDR_UN | ^~~~~~~~~~~~~~~~ netbase.cpp:496:5: error: "HAVE_SOCKADDR_UN" is not defined, evaluates to 0 [-Werror=undef] 496 | #if HAVE_SOCKADDR_UN | ^~~~~~~~~~~~~~~~ netbase.cpp:531:5: error: "HAVE_SOCKADDR_UN" is not defined, evaluates to 0 [-Werror=undef] 531 | #if HAVE_SOCKADDR_UN | ^~~~~~~~~~~~~~~~ netbase.cpp:639:5: error: "HAVE_SOCKADDR_UN" is not defined, evaluates to 0 [-Werror=undef] 639 | #if HAVE_SOCKADDR_UN ```
Configuration menu - View commit details
-
Copy full SHA for d329f90 - Browse repository at this point
Copy the full SHA d329f90View commit details -
"Warn if an undefined identifier is evaluated in an #if directive. Such identifiers are replaced with zero."
Configuration menu - View commit details
-
Copy full SHA for b1894aa - Browse repository at this point
Copy the full SHA b1894aaView commit details -
refactor, blockstorage: Generalize GetFirstStoredBlock
GetFirstStoredBlock is generalized to check for any data status with a status mask that needs to be passed as a parameter. To reflect this the function is also renamed to GetFirstBlock. Co-authored-by: stickies-v <stickies-v@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for a45ec31 - Browse repository at this point
Copy the full SHA a45ec31View commit details -
test: Check that disconnection happens when >4095 garbage bytes is sent
This test type is represented using EXCESS_GARBAGE.
Configuration menu - View commit details
-
Copy full SHA for 0ca0e50 - Browse repository at this point
Copy the full SHA 0ca0e50View commit details -
test: Check that disconnection happens when wrong garbage terminator …
…is sent This test type is represented using WRONG_GARBAGE_TERMINATOR. since the wrong garbage terminator is sent to TestNode, TestNode will interpret all of the gabage bytes, wrong garbage terminator, decoy messages and version packet it receives as garbage bytes. If the length of all these is more than 4095 + 16, it will result in a missing garbage terminator error. otherwise, it will result in a V2 handshake timeout error. Send only MAX_GARBAGE_LEN//2 bytes of garbage data to TestNode so that the total length received by the TestNode is at max = (MAX_GARBAGE_LEN//2) + 16 + 10*120 + 20 = 3283 bytes (which is less than 4095 + 16 bytes) and we get a consistent V2 handshake timeout error message. If we do not limit the garbage length sent, we will intermittently get both missing garbage terminator error and V2 handshake timeout error based on the garbage length and decoy packets length which are chosen at random.
Configuration menu - View commit details
-
Copy full SHA for 5bbb82e - Browse repository at this point
Copy the full SHA 5bbb82eView commit details -
test: Check that disconnection happens when garbage sent/received are…
… different This test type is represented using WRONG_GARBAGE. Here, garbage bytes sent to TestNode are assumed to be tampered with and do not correspond to the garbage bytes which P2PInterface calculated and uses.
Configuration menu - View commit details
-
Copy full SHA for 408800e - Browse repository at this point
Copy the full SHA 408800eView commit details -
test: Check that disconnection happens when AAD isn't filled
This test type is represented using SEND_NO_AAD. If AAD of the first encrypted packet sent after the garbage terminator (optional decoy packet/version packet) hasn't been filled, disconnection happens.
Configuration menu - View commit details
-
Copy full SHA for 88b7fe8 - Browse repository at this point
Copy the full SHA 88b7fe8View commit details -
test: Check that non empty version packet is ignored and no disconnec…
…tion happens This test type is represented using SEND_NON_EMPTY_VERSION_PACKET.
Configuration menu - View commit details
-
Copy full SHA for 68cfbfd - Browse repository at this point
Copy the full SHA 68cfbfdView commit details -
Configuration menu - View commit details
-
Copy full SHA for ff372c1 - Browse repository at this point
Copy the full SHA ff372c1View commit details -
wallet: notify when preset + automatic inputs exceed max weight
This also avoids signing all inputs prior to erroring out.
Configuration menu - View commit details
-
Copy full SHA for 6195aae - Browse repository at this point
Copy the full SHA 6195aaeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9245213 - Browse repository at this point
Copy the full SHA 9245213View commit details -
Configuration menu - View commit details
-
Copy full SHA for f563b83 - Browse repository at this point
Copy the full SHA f563b83View commit details -
build: Drop redundant
sys/sysctl.h
header checkThe `AC_CHECK_HEADERS` macro defines `HAVE_SYS_SYSCTL_H` if the `sys/sysctl.h` header is found. However, in the source code, this header is guarded by `HAVE_SYSCTL` and `HAVE_SYSCTL_ARND` macros, which have their own checks. Since `HAVE_SYS_SYSCTL_H` is not used, we can skip the `AC_CHECK_HEADERS(... sys/sysctl.h ...)` check.
Configuration menu - View commit details
-
Copy full SHA for cafb5f6 - Browse repository at this point
Copy the full SHA cafb5f6View commit details -
Squashed 'src/secp256k1/' changes from 06bff6dec8..4af241b320
4af241b320 Merge bitcoin-core/secp256k1#1535: build: Replace hardcoded "auto" value with default one f473c959f0 Merge bitcoin-core/secp256k1#1543: cmake: Do not modify build types when integrating by downstream project d403eea484 Merge bitcoin-core/secp256k1#1546: cmake: Rename `SECP256K1_LATE_CFLAGS` and switch to Bitcoin Core's approach d7ae25ce6f Merge bitcoin-core/secp256k1#1550: fix: typos in secp256k1.c 0e2fadb20c fix: typos in secp256k1.c 69b2192ad4 Merge bitcoin-core/secp256k1#1545: cmake: Do not set `CTEST_TEST_TARGET_ALIAS` 5dd637f3cf Merge bitcoin-core/secp256k1#1548: README: mention ellswift module 7454a53736 README: mention ellswift module 4706be2cd0 cmake: Reimplement `SECP256K1_APPEND_CFLAGS` using Bitcoin Core approach c2764dbb99 cmake: Rename `SECP256K1_LATE_CFLAGS` to `SECP256K1_APPEND_CFLAGS` f87a3589f4 cmake: Do not set `CTEST_TEST_TARGET_ALIAS` 158f9e5eae cmake: Do not modify build types when integrating by downstream project 35c0fdc86b Merge bitcoin-core/secp256k1#1529: cmake: Fix cache issue when integrating by downstream project 4392f0f717 Merge bitcoin-core/secp256k1#1533: tests: refactor: tidy up util functions (#1491) bedffd53d8 Merge bitcoin-core/secp256k1#1488: ci: Add native macOS arm64 job 4b8d5eeacf Merge bitcoin-core/secp256k1#1532: cmake: Disable eager MSan in ctime_tests f55703ba49 autotools: Delete unneeded compiler test 396e885886 autotools: Align MSan checking code with CMake's implementation abde59f52d cmake: Report more compiler details in summary 7abf979a43 cmake: Disable `ctime_tests` if build with `-fsanitize=memory` 4d9645bee0 cmake: Remove "AUTO" value of `SECP256K1_ECMULT_GEN_KB` option a06805ee74 cmake: Remove "AUTO" value of `SECP256K1_ECMULT_WINDOW_SIZE` option 1791f6fce4 Merge bitcoin-core/secp256k1#1517: autotools: Disable eager MSan in ctime_tests 26b94ee92a autotools: Remove "auto" value of `--with-ecmult-gen-kb` option 122dbaeb37 autotools: Remove "auto" value of `--with-ecmult-window` option e73f6f8fd9 tests: refactor: drop `secp256k1_` prefix from testrand.h functions 0ee7453a99 tests: refactor: add `testutil_` prefix to testutil.h functions 0c6bc76dcd tests: refactor: move `random_` helpers from tests.c to testutil.h 0fef8479be tests: refactor: rename `random_field_element_magnitude` -> `random_fe_magnitude` 59db007f0f tests: refactor: rename `random_group_element_...` -> `random_ge_...` ebfb82ee2f ci: Add job with -fsanitize-memory-param-retval e1bef0961c configure: Move "experimental" warning to bottom 55e5d975db autotools: Disable eager MSan in ctime_tests ec4c002faa cmake: Simplify `PROJECT_IS_TOP_LEVEL` emulation cae9a7ad14 cmake: Do not set emulated PROJECT_IS_TOP_LEVEL as cache variable 218f0cc93b ci: Add native macOS arm64 job git-subtree-dir: src/secp256k1 git-subtree-split: 4af241b32099067464e015fa66daac5096206dea
Configuration menu - View commit details
-
Copy full SHA for 411aef6 - Browse repository at this point
Copy the full SHA 411aef6View commit details -
Configuration menu - View commit details
-
Copy full SHA for a273890 - Browse repository at this point
Copy the full SHA a273890View commit details -
depends: update doc in Qt pwd patch
Now that upstream has gotten around to fixing this. We don't need any more of the patch, and it likely wont apply to our version of Qt in any case. See: qt/qtbase@3388de6.
Configuration menu - View commit details
-
Copy full SHA for abc08c7 - Browse repository at this point
Copy the full SHA abc08c7View commit details -
contrib: Fixup verify-binaries OS platform parsing
Parse platform strings with "-" or '.' correctly such as "linux-gnu" or "x86_64-linux-gnu.tar.gz" to download the matching files or file. String partition() is used to tolerate more dashes. Update `VERSION_EXAMPLE` with a new string parsed correctly now. Fix "-aarch64" interpreted as a release candidate due to sub-string "rc", causing all downloads to fail. Now "rc" must immediately follow first "-" to indicate an [-rc] string. Local variables `version_rc`, `version_os` renamed to `rc`, `platform`. If "-rcN" is specified, `platform` is reassigned to remove the '-rcN'. Changes are useful to only download one bitcoin core binary on slow connections. Making `verify.py pub` more intuitive, robust, and versatile. Closes #30145 When user types a platform string not found in any filename lets help and say the platform closest to what they typed in a `f"No files matched the platform specified. Did you mean: {closest_match}"` log. Improves UX when unaware how we name our files. Uses the difflib Python built-in which was already imported elsewhere. Update test.py to test single file verification verify-binaries/verify.py can accept an entire filename filter for its "-platform" parameter now so let us test that it succeeds and downloads and verifies only one file. `verify.py pub 22.0-x86_64-linux-gnu.tar.gz` should get and verify only the requested binary. It is placed before the existing <version> wide verification as it is a faster test and possibly easier to break. Update doc with examples now possible after bugfix Add example to show release candidates now work with "-platform" strings containing "-" and string provided can be from the middle of filename: `./contrib/verify-binaries/verify.py --json pub 23.0-rc5-linux-gnu` Change example 5 to not match example 3. New examples to show platform can now be provided specifically enough to download only a single binary down to its file extension: `./contrib/verify-binaries/verify.py pub 25.2-x86_64-linux` `./contrib/verify-binaries/verify.py pub 24.1-rc1-darwin` `./contrib/verify-binaries/verify.py pub 27.0-win64-setup.exe` This is the most common use if not verifying all files so users see it as the first example for "only download the binaries for a certain architecture and/or platform". Downloading one file is intuitively what most will think this meant and this change delivers on that expectation. Co-authored-by: stickies-v
Configuration menu - View commit details
-
Copy full SHA for d10bfd3 - Browse repository at this point
Copy the full SHA d10bfd3View commit details -
ci: test-each-commit merge base optional
The ci "test-each-commit" job fetches the PR branch being tested with a depth of (# of commits in PR + 2), and then tries to run tests on commits after the most recent merge commit. When a PR is opened against a bitcoin core branch, a merge commit is always guaranteed to exist within the fetch depth, because bitcoin core branches always point at merge commits. However, in fork repositories, pull requests can be opened based on other branches that don't contain recent merge commits, and this will currently cause git rev-list to fail with fatal: bad revision '^^@'. Work around this problem by not requiring a recent merge commit, and just testing on all fetched commits if a merge commit can't be found. Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
Configuration menu - View commit details
-
Copy full SHA for 4d41d33 - Browse repository at this point
Copy the full SHA 4d41d33View commit details -
Configuration menu - View commit details
-
Copy full SHA for 187ea2b - Browse repository at this point
Copy the full SHA 187ea2bView commit details -
rest: don't copy data when sending binary response
Also, change `HTTPRequest::WriteReply` to accept `std::span`.
Configuration menu - View commit details
-
Copy full SHA for 706e895 - Browse repository at this point
Copy the full SHA 706e895View commit details -
Configuration menu - View commit details
-
Copy full SHA for 90d44e7 - Browse repository at this point
Copy the full SHA 90d44e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ed43f2 - Browse repository at this point
Copy the full SHA 2ed43f2View commit details -
Add missing include for mining interface
Needed for std::unique_ptr
Configuration menu - View commit details
-
Copy full SHA for 28e1c1e - Browse repository at this point
Copy the full SHA 28e1c1eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 86ebe43 - Browse repository at this point
Copy the full SHA 86ebe43View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb9c592 - Browse repository at this point
Copy the full SHA eb9c592View commit details -
Configuration menu - View commit details
-
Copy full SHA for b94f8e3 - Browse repository at this point
Copy the full SHA b94f8e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 853b374 - Browse repository at this point
Copy the full SHA 853b374View commit details -
kernel: remove mempool_persist.cpp
DumpMempool/LoadMempool are not necessary for the kernel
Configuration menu - View commit details
-
Copy full SHA for 0daf449 - Browse repository at this point
Copy the full SHA 0daf449View commit details -
Change MigrateLegacyToDescriptor to reopen wallet as BERKELEY_RO
When we reopen the wallet to do the migration, instead of opening using BDB, open it using the BerkeleyRO implementation.
Configuration menu - View commit details
-
Copy full SHA for 43f856f - Browse repository at this point
Copy the full SHA 43f856fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ecf2e8 - Browse repository at this point
Copy the full SHA 9ecf2e8View commit details -
Drop unneeded lock from createNewBlock
This was added in 4bf2e361da1964f7c278b4939967a0e5afde20b0, but BlockAssembler::CreateNewBlock already locks cs_main internally.
Configuration menu - View commit details
-
Copy full SHA for 3c3e76a - Browse repository at this point
Copy the full SHA 3c3e76aView commit details -
Configuration menu - View commit details
-
Copy full SHA for c180e8c - Browse repository at this point
Copy the full SHA c180e8cView commit details -
Have testBlockValidity hold cs_main instead of caller
The goal of interfaces is to eventually run in their own process, so we can't use EXCLUSIVE_LOCKS_REQUIRED in their declaration. However TestBlockValidaty will crash (in its call to ConnectBlock) if the tip changes from under the proposed block. Have the testBlockValidity implementation hold the lock instead, and non-fatally check for this condition.
Configuration menu - View commit details
-
Copy full SHA for 42cbf2d - Browse repository at this point
Copy the full SHA 42cbf2dView commit details -
util: add perm string helper functions
PermsToSymbolicString will convert from fs::perms to string type 'rwxrwxrwx'. InterpretPermString will convert from a user-supplied "perm string" such as 'owner', 'group' or 'all, into appropriate fs::perms.
Configuration menu - View commit details
-
Copy full SHA for 08ceca4 - Browse repository at this point
Copy the full SHA 08ceca4View commit details -
init: add option for rpccookie permissions
Add a bitcoind launch option `-rpccookieperms` to configure the file permissions of the cookie on Unix systems.
Configuration menu - View commit details
-
Copy full SHA for 0b84337 - Browse repository at this point
Copy the full SHA 0b84337View commit details -
Tests various perms on non-Windows OSes
Configuration menu - View commit details
-
Copy full SHA for 4a461be - Browse repository at this point
Copy the full SHA 4a461beView commit details -
doc: detail -rpccookieperms option
Co-authored-by: tdb3 <106488469+tdb3@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 82e0022 - Browse repository at this point
Copy the full SHA 82e0022View commit details -
Configuration menu - View commit details
-
Copy full SHA for 63abb56 - Browse repository at this point
Copy the full SHA 63abb56View commit details -
Configuration menu - View commit details
-
Copy full SHA for a6d255b - Browse repository at this point
Copy the full SHA a6d255bView commit details -
scripted-diff: Log parameter interaction not thrice
-BEGIN VERIFY SCRIPT- sed -i 's/LogPrintf("%s: \(parameter interaction: .*\)", __func__/LogInfo("\1"/g' ./src/init.cpp -END VERIFY SCRIPT-
Configuration menu - View commit details
-
Copy full SHA for 9031387 - Browse repository at this point
Copy the full SHA 9031387View commit details -
test: p2p: check that connecting to ourself leads to disconnect
The "connect to ourself" detection logic has been first introduced by Satoshi in October 2009, together with a couple of other changes and a version bump to "v0.1.6 BETA" (see commit cc0b4c3b62367a2aebe5fc1f4d0ed4b97e9c2ac9).
Configuration menu - View commit details
-
Copy full SHA for db2ac66 - Browse repository at this point
Copy the full SHA db2ac66View commit details -
p2p: Start downloading historical blocks from common ancestor
Otherwise, if the background tip is not an ancestor of the snapshot, blocks in between that ancestor up to the height of the background tip will never be requested. Co-authored-by: Martin Zumsande <mzumsande@gmail.com> Co-authored-by: Alfonso Roman Zubeldia <19962151+alfonsoromanz@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 64cf766 - Browse repository at this point
Copy the full SHA 64cf766View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2302098 - Browse repository at this point
Copy the full SHA 2302098View commit details -
Moved the repeated -printpriority fetching out of AddToBlock
AddToBlock was called repeatedly from `addPackageTxs` where the constant value of `printpriority` is recalculated every time. Since its behavior was changed in 400b151, I've named the variable accordingly. This showed up during profiling of AssembleBlock, fetching it once in the constructor results in a measurable speed increase for many iterations. > ./src/bench/bench_bitcoin --filter='AssembleBlock' --min-time=1000 before: | ns/op | op/s | err% | total | benchmark |--------------------:|--------------------:|--------:|----------:|:---------- | 155,558.97 | 6,428.43 | 0.1% | 1.10 | `AssembleBlock` after: | ns/op | op/s | err% | total | benchmark |--------------------:|--------------------:|--------:|----------:|:---------- | 148,083.68 | 6,752.94 | 0.1% | 1.10 | `AssembleBlock` Co-authored-by: furszy <mfurszy@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for 9e35ff2 - Browse repository at this point
Copy the full SHA 9e35ff2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4621522 - Browse repository at this point
Copy the full SHA 4621522View commit details
Commits on Aug 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6103478 - Browse repository at this point
Copy the full SHA 6103478View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e03ec1 - Browse repository at this point
Copy the full SHA 8e03ec1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 138cd95 - Browse repository at this point
Copy the full SHA 138cd95View commit details -
Configuration menu - View commit details
-
Copy full SHA for b841bf4 - Browse repository at this point
Copy the full SHA b841bf4View commit details
Commits on Aug 6, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 455292a - Browse repository at this point
Copy the full SHA 455292aView commit details
Commits on Aug 8, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 685b2ed - Browse repository at this point
Copy the full SHA 685b2edView commit details
Commits on Aug 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b2b18d5 - Browse repository at this point
Copy the full SHA b2b18d5View commit details
Commits on Aug 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for bd3d205 - Browse repository at this point
Copy the full SHA bd3d205View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3af2932 - Browse repository at this point
Copy the full SHA 3af2932View commit details -
Configuration menu - View commit details
-
Copy full SHA for b38353a - Browse repository at this point
Copy the full SHA b38353aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f9dea4 - Browse repository at this point
Copy the full SHA 2f9dea4View commit details -
Configuration menu - View commit details
-
Copy full SHA for e5d9e95 - Browse repository at this point
Copy the full SHA e5d9e95View commit details
Commits on Aug 26, 2024
-
VanOrton committed
Aug 26, 2024 Configuration menu - View commit details
-
Copy full SHA for 425d055 - Browse repository at this point
Copy the full SHA 425d055View commit details -
Merge pull request #137 from BitgesellOfficial/release-0.1.13-winpatch
add windows build changes
Configuration menu - View commit details
-
Copy full SHA for 77d9ab3 - Browse repository at this point
Copy the full SHA 77d9ab3View commit details -
(cherry picked from commit 75f4daa)
Configuration menu - View commit details
-
Copy full SHA for 625d8a1 - Browse repository at this point
Copy the full SHA 625d8a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f7d635 - Browse repository at this point
Copy the full SHA 2f7d635View commit details