fix(BundleDataClient): gate blocked-recipient slow fills in _canCreateSlowFillLeaf - #1488
Open
mrice32 wants to merge 1 commit into
Open
fix(BundleDataClient): gate blocked-recipient slow fills in _canCreateSlowFillLeaf#1488mrice32 wants to merge 1 commit into
mrice32 wants to merge 1 commit into
Conversation
…eSlowFillLeaf The blocked-recipient check from #1487 sat in updateBundleSlowFills, so it suppressed slow fill leaf creation (no destination-chain credit) but not the unexecutable-slow-fill excess accounting, which infers leaf creation via _canCreateSlowFillLeaf. A blocked-recipient deposit with a prior-bundle slow fill request that later expired or was fast-filled would be marked as an excess, debiting the destination spoke funds that were never sent. Moving the check into _canCreateSlowFillLeaf keeps leaf creation and excess accounting consistent. Flagged by Codex review on #1487. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011AwNYDz6oYJB4n41QNw3kT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes a real P1 from Codex review on #1487: the blocked-recipient check sat in
updateBundleSlowFills, suppressing leaf creation (no destination-chain credit) but not the unexecutable-slow-fill excess accounting, which infers prior leaf creation via_canCreateSlowFillLeaf. A blocked-recipient deposit with a prior-bundle slow fill request that later expired or was fast-filled would be marked as an excess, debiting the destination spoke funds that were never sent.Moving the check into
_canCreateSlowFillLeaf— the shared predicate gating everyvalidatedBundleSlowFillspush and both excess sites — keeps leaf creation and excess accounting consistent. TheupdateBundleSlowFillsguard is removed (redundant).The second Codex P1 (Arweave bypass) is not a real concern: dispute validation never loads Arweave data (
Dataworker#validateleavesloadDataFromArweavefalse), only the executor's post-liveness re-validation does, and validated bundles are permissionlessly executable regardless.🤖 Generated with Claude Code
https://claude.ai/code/session_011AwNYDz6oYJB4n41QNw3kT