Skip to content

fix: no liquidity sync failing for liveness fallback - #629

Merged
pablocampogo merged 4 commits into
developmentfrom
fix-no-liquidity-sync
Oct 12, 2026
Merged

pablocampogo merged 4 commits into
developmentfrom
fix-no-liquidity-sync

Conversation

@pablocampogo

Copy link
Copy Markdown
Collaborator

canopy — Pin DEX liveness-fallback decision to the committed certificate

Problem

HandleDexBatch read LivenessFallback off s.cache.rootDexBatch after the cache swap. On the sync/replay path that cache is seeded from the next committed certificate, so a replaying node fired the fallback one block early and diverged from canonical state.

Fix

Capture the fallback decision from the quorum-committed certificate batch before the cache swap, and use the cache only as the batch data source. Live and replay paths now reach the same decision.

Files

  • fsm/dex.go

Risk: consensus-affecting; no behavior change on the live path, only fixes replay determinism.

@pablocampogo
pablocampogo merged commit 0659e52 into development Oct 12, 2026
3 checks passed
@pablocampogo pablocampogo mentioned this pull request Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants