π¬ Ataraxia009 commented on pull request "Allowing multi client support in guix-build":
(https://github.com/bitcoin/bitcoin/pull/33126#discussion_r2249554357)
Yeah thats better, is there a way to pipe it now? @luke-jr
(https://github.com/bitcoin/bitcoin/pull/33126#discussion_r2249554357)
Yeah thats better, is there a way to pipe it now? @luke-jr
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249608455)
You're right, thanks - removed the unneeded code and renamed `tip` to `block_index`.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249608455)
You're right, thanks - removed the unneeded code and renamed `tip` to `block_index`.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617802)
Removed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617802)
Removed.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617820)
Good catch, thanks!
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617820)
Good catch, thanks!
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617848)
Thanks - renamed to `tx_count`.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617848)
Thanks - renamed to `tx_count`.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617854)
Thanks - fixed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617854)
Thanks - fixed.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617938)
Thanks - renamed to `row`.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617938)
Thanks - renamed to `row`.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618007)
Thanks - fixed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618007)
Thanks - fixed.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618092)
Good catch - fixed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618092)
Good catch - fixed.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618203)
Removed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618203)
Removed.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618256)
Thanks - fixed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618256)
Thanks - fixed.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618312)
Thanks - moved into `LocationsIndex::CustomAppend()`.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618312)
Thanks - moved into `LocationsIndex::CustomAppend()`.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618367)
Thanks - removed.
> Was this supposed to be used to skip forward in the stream instead of deserializing the header?
Yes, but now it's not needed here.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618367)
Thanks - removed.
> Was this supposed to be used to skip forward in the stream instead of deserializing the header?
Yes, but now it's not needed here.
π¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#issuecomment-3148142648)
Thanks for the review!
Applied the comments: [`1b928f5 -> b2a22ce`](https://github.com/bitcoin/bitcoin/compare/1b928f58fc78f4727cef988902075abc05c372b2..b2a22ce33dc69697181547fa1e83bd0ed3321565)
(https://github.com/bitcoin/bitcoin/pull/32541#issuecomment-3148142648)
Thanks for the review!
Applied the comments: [`1b928f5 -> b2a22ce`](https://github.com/bitcoin/bitcoin/compare/1b928f58fc78f4727cef988902075abc05c372b2..b2a22ce33dc69697181547fa1e83bd0ed3321565)
β
fanquake closed an issue: "intermittent issue in wallet_sendall.py", line 440, in sendall_anti_fee_sniping assert_greater_than(tx_from_wallet["decoded"]["locktime"], tx_from_wallet["blockheight"]"
(https://github.com/bitcoin/bitcoin/issues/33114)
(https://github.com/bitcoin/bitcoin/issues/33114)
π fanquake merged a pull request: "test: fix anti-fee-sniping off-by-one error"
(https://github.com/bitcoin/bitcoin/pull/33118)
(https://github.com/bitcoin/bitcoin/pull/33118)
β οΈ nervana21 opened an issue: "Crash when chain tip is missing from candidate set"
(https://github.com/bitcoin/bitcoin/issues/33129)
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Current behaviour
`setBlockIndexCandidates` can become empty if the chain tip is not included in the set, which violates an internal invariant and leads to a crash during `FindMostWorkChain()`. This issue and potential solutions were originally surfaced by ataraxia009 in #33127.
### Expected behaviour
After pruning, the active tip must be present in the candidate set. No crash should occur in `FindMostWor
...
(https://github.com/bitcoin/bitcoin/issues/33129)
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Current behaviour
`setBlockIndexCandidates` can become empty if the chain tip is not included in the set, which violates an internal invariant and leads to a crash during `FindMostWorkChain()`. This issue and potential solutions were originally surfaced by ataraxia009 in #33127.
### Expected behaviour
After pruning, the active tip must be present in the candidate set. No crash should occur in `FindMostWor
...
π nervana21 opened a pull request: "validation: Keep chain tip in candidate set"
(https://github.com/bitcoin/bitcoin/pull/33130)
After `PruneBlockIndexCandidates()` is called, the candidate set must include the current chain tip or a successor of it.
`PruneBlockIndexCandidates()` removes candidates with less work than the active tip. However, because the tip itself is never added to `setBlockIndexCandidates` via `TryAddBlockIndexCandidate()`, it may be absent from the set. Prior to this patch, if all lower-work candidates were pruned and the tip was not present, `setBlockIndexCandidates` could become emptyβviolating an
...
(https://github.com/bitcoin/bitcoin/pull/33130)
After `PruneBlockIndexCandidates()` is called, the candidate set must include the current chain tip or a successor of it.
`PruneBlockIndexCandidates()` removes candidates with less work than the active tip. However, because the tip itself is never added to `setBlockIndexCandidates` via `TryAddBlockIndexCandidate()`, it may be absent from the set. Prior to this patch, if all lower-work candidates were pruned and the tip was not present, `setBlockIndexCandidates` could become emptyβviolating an
...
π¬ nervana21 commented on pull request "validation: Keep chain tip in candidate set":
(https://github.com/bitcoin/bitcoin/pull/33130#issuecomment-3148457986)
cc: @Ataraxia009
(https://github.com/bitcoin/bitcoin/pull/33130#issuecomment-3148457986)
cc: @Ataraxia009
π cedwies opened a pull request: "tests: cover abortrescan() in-flight True path with dynamic-tail retry"
(https://github.com/bitcoin/bitcoin/pull/33131)
This PR adds a test in wallet_transactiontime_rescan.py. Previously we only tested that abortrescan() returns False when no rescan was running. This change verifies that it returns True and actually interrupts a running scan.
How it works:
1. spawn a daemon background thread that rescans a tail of the walletβs chain.
2. aggressively poll every 10 ms (for up to 5 s) until we see the node start scanning
3. Call 'abortrescan()' and assert to True
4. Threads are joined with short timeouts so
...
(https://github.com/bitcoin/bitcoin/pull/33131)
This PR adds a test in wallet_transactiontime_rescan.py. Previously we only tested that abortrescan() returns False when no rescan was running. This change verifies that it returns True and actually interrupts a running scan.
How it works:
1. spawn a daemon background thread that rescans a tail of the walletβs chain.
2. aggressively poll every 10 ms (for up to 5 s) until we see the node start scanning
3. Call 'abortrescan()' and assert to True
4. Threads are joined with short timeouts so
...