Skip to content

fix(delayedack): bind packet finalization to state roots#1271

Open
jamilahmadzai wants to merge 1 commit into
openmetaearth:mainfrom
jamilahmadzai:codex/fix-delayedack-state-root-364
Open

fix(delayedack): bind packet finalization to state roots#1271
jamilahmadzai wants to merge 1 commit into
openmetaearth:mainfrom
jamilahmadzai:codex/fix-delayedack-state-root-364

Conversation

@jamilahmadzai

@jamilahmadzai jamilahmadzai commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Fixes #364

Summary

  • Pass the full finalized RollApp state into delayed-ack finalization.
  • Before finalizing a delayed packet, resolve the packet proof channel/client and compare the finalized block descriptor StateRoot with the IBC consensus AppHash at the packet proof height.
  • Abort finalization before callbacks/status updates when the roots differ.
  • Add regression coverage for mismatch rejection and matching-root finalization, and update integration fixtures to use consensus roots where delayed packets are finalized.

Validation

  • go test ./x/delayedack/keeper -run 'TestKeeperTestSuite/TestFinalizeRollappPackets(RejectsConsensusRootMismatch|AllowsMatchingConsensusRoot)$' -count=1 -v
  • go test ./x/delayedack/... ./x/rollapp/... ./ibctesting -count=1
  • go test ./... -count=1
  • git diff --check

Bounty payout

Meta Earth bug bounty payout: $MEC via ME Pass wallet me1ya82w6cjflk9r2qeyfeu64sm7gxtfr7mu62w9j.

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.

[BUG BOUNTY] [High] [RollApp/DelayedAck/AppHash] Packets finalize despite StateRoot/AppHash mismatch

1 participant