Skip to content

feat: bump ibc-go v10, sdk v0.53, cometbft v0.38.21#148

Open
traviolus wants to merge 2 commits intomainfrom
feat/bump-ibc-v10
Open

feat: bump ibc-go v10, sdk v0.53, cometbft v0.38.21#148
traviolus wants to merge 2 commits intomainfrom
feat/bump-ibc-v10

Conversation

@traviolus
Copy link
Copy Markdown
Contributor

@traviolus traviolus commented May 6, 2026

Description

Closes: #XXXX


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • included the correct type prefix in the PR title, you can find examples of the prefixes below:
  • confirmed ! in the type prefix if API or client breaking change
  • targeted the correct branch
  • provided a link to the relevant issue or specification
  • reviewed "Files changed" and left comments if necessary
  • included the necessary unit and integration tests
  • updated the relevant documentation or specification, including comments for documenting Go code
  • confirmed all CI checks have passed

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic, API design and naming, documentation is accurate, tests and test coverage

Summary by CodeRabbit

  • Chores

    • Upgraded IBC stack to v10 for improved cross-chain compatibility and security.
    • Updated core dependencies and module versions.
  • New Features

    • Added light client support for stronger on-chain validation.
    • Introduced a v1.2.0 upgrade flow including migration steps and legacy module removals.
  • Refactor

    • Reordered module initialization and wiring to reflect the new IBC v10 architecture.

@traviolus traviolus requested a review from a team as a code owner May 6, 2026 17:36
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 6, 2026

Caution

Review failed

Failed to post review comments

Walkthrough

Upgrade of the IBC stack from v8 to v10 across the codebase: dependency bumps, import path updates, store key and keeper reshaping for v10 modules, new light-client modules added, module wiring and blocker ordering updated, removal of capability/ibc-fee wiring, and related test & upgrade handler adjustments.

Changes

IBC v8 → v10 Migration and Rewiring

Layer / File(s) Summary
Dependency & Replace Pins
go.mod, integration-tests/go.mod
Bump IBC/Cosmos dependencies to v10; add go.uber.org/mock; replace many core modules with initia-labs fork pins.
Store Keys / Data Shape
app/keepers/keys.go
KV store keys updated: add nft-transfer, authz, feegrant, icahost, icacontroller, icaauth, move, opchild keys; remove capability and ibc-fee keys; memory store keys call simplified.
Core Keepers / Implementation
app/keepers/keepers.go
Remove CapabilityKeeper and IBCFeeKeeper fields; add TMLightClientModule and SMLightClientModule; rework IBCKeeper initialization and assemble new middleware stacks (ICS4 wrappers, ibchooks, packet-forward/rate-limit, legacy fee-ack compatibility); rebuild transfer and NFT transfer stacks; wire ICA host/controller/auth with v10 constructors; register light-client modules.
Module Wiring & Ordering
app/modules.go
Replace v8 IBC modules with v10 modules (packetforward, ibchooks, forwarding, interchain-accounts, light-clients); remove ibc-fee permissions; update begin/init/end blocker orderings to include opchild, packetforward, ibchooks, forwarding, marketmap, etc., and remove legacy capability-based entries.
Application Bootstrap
app/app.go, app/getter.go
Add authtypes.ModuleName to pre-blockers ordering; remove public GetScopedIBCKeeper() accessor (capability scoped keeper removed); update various IBC import usages.
Ancillary Import Updates
app/ante/*.go, app/abcipp.go, app/genesis.go
Switch IBC-related imports from v8 to v10 across ante, abcipp, and genesis files; no logic changes beyond import paths.
Tests & Test Utilities
app/app_test.go
Update test imports (gomock path, ibc v10 modules); remove capability from VersionMap in migration test; adapt TestGetKey to assert on GetKey(banktypes.StoreKey) instead of capability mem key.
Upgrade Handler / Migrations
app/upgrades/v1_2_0/upgrade.go
Register v1.2.0 upgrade: remove legacy stores (auction, capability, feeibc) in StoreUpgrades; drop OPChild port binding in handler; republish Move stdlib via minimove bundle.
sequenceDiagram
  participant Client
  participant App
  participant IBCKeeper
  participant Router
  participant LightClient

  Client->>App: Submit IBC TX (transfer / nft / ica)
  App->>Router: Route to module (transfer / nft / ica / opchild)
  Router->>IBCKeeper: Dispatch through new middleware chain (ics4wrapper → ibchooks → packet-forward/rate-limit)
  IBCKeeper->>LightClient: Verify header / client state (TM / SoloMachine modules)
  LightClient-->>IBCKeeper: Validation result (trusted)
  IBCKeeper-->>Router: Deliver packet / ack handling (legacy fee-ack compatibility)
  Router-->>App: Module callback / state update
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

🐰 I hopped from v8 to shiny v10 skies,
Light clients humming, middleware wise,
Keepers reshaped, old keys set aside,
We bind new routes and watch the packets glide,
A carrot for tests — the upgrade complies!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main changes in the PR, which involve upgrading three major dependencies: ibc-go to v10, Cosmos SDK to v0.53, and CometBFT to v0.38.21. The changeset comprehensively updates imports, keepers, and module configurations across multiple files to support these version bumps.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/bump-ibc-v10

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 6, 2026

Codecov Report

❌ Patch coverage is 5.95238% with 79 lines in your changes missing coverage. Please review.
✅ Project coverage is 38.24%. Comparing base (11c324a) to head (45a37c3).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
app/keepers/keepers.go 0.00% 75 Missing ⚠️
app/keepers/keys.go 0.00% 3 Missing ⚠️
app/upgrades/v1_2_0/upgrade.go 0.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #148      +/-   ##
==========================================
+ Coverage   37.23%   38.24%   +1.01%     
==========================================
  Files          16       16              
  Lines        1504     1459      -45     
==========================================
- Hits          560      558       -2     
+ Misses        908      865      -43     
  Partials       36       36              
Files with missing lines Coverage Δ
app/abcipp.go 47.05% <ø> (ø)
app/ante/ante.go 0.00% <ø> (ø)
app/ante/minimal.go 0.00% <ø> (ø)
app/app.go 58.40% <100.00%> (+0.12%) ⬆️
app/genesis.go 90.37% <ø> (ø)
app/getter.go 20.00% <ø> (+1.25%) ⬆️
app/modules.go 100.00% <100.00%> (ø)
app/upgrades/v1_2_0/upgrade.go 0.00% <0.00%> (ø)
app/keepers/keys.go 0.00% <0.00%> (ø)
app/keepers/keepers.go 0.00% <0.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

1 participant