Skip to content

Remove live IBC transfer module - #3981

Merged
masih merged 6 commits into
mainfrom
masih/transfer-be-gone
Aug 25, 2026
Merged

Remove live IBC transfer module#3981
masih merged 6 commits into
mainfrom
masih/transfer-be-gone

Conversation

@masih

@masih masih commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

Remove ICS-20 module wiring, APIs, CLI commands, and CosmWasm integration.

Retire the live IBC precompile while preserving legacy implementations and codecs for historical tracing and transaction decoding. Keep the transfer store and module account mounted for historical state safety, and remove its module version during the v6.7 upgrade.

Remove ICS-20 module wiring, APIs, CLI commands, and CosmWasm
integration.

Retire the live IBC precompile while preserving legacy implementations
and codecs for historical tracing and transaction decoding. Keep the
transfer store and module account mounted for historical state safety,
and remove its module version during the v6.7 upgrade.
@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedAug 25, 2026, 8:39 AM

@codecov

codecov Bot commented Aug 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.70968% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 57.58%. Comparing base (776d565) to head (5817e97).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
precompiles/ibc/ibc.go 68.75% 3 Missing and 2 partials ⚠️
sei-wasmd/x/wasm/keeper/handler_plugin_encoders.go 83.33% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3981      +/-   ##
==========================================
- Coverage   59.08%   57.58%   -1.50%     
==========================================
  Files        2305     2225      -80     
  Lines      197021   185842   -11179     
==========================================
- Hits       116402   107011    -9391     
+ Misses      69858    69048     -810     
+ Partials    10761     9783     -978     
Flag Coverage Δ
sei-chain-pr 64.19% <88.70%> (?)
sei-db 69.80% <ø> (ø)
sei-db-state-db ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
app/app.go 71.65% <100.00%> (-0.27%) ⬇️
app/precompiles.go 100.00% <ø> (ø)
app/upgrades.go 45.28% <100.00%> (+1.05%) ⬆️
docs/swagger/statik.go 100.00% <ø> (ø)
giga/deps/xevm/keeper/address.go 84.31% <ø> (-2.58%) ⬇️
giga/deps/xevm/keeper/keeper.go 61.63% <100.00%> (-0.17%) ⬇️
precompiles/ibc/setup.go 91.66% <100.00%> (+0.75%) ⬆️
precompiles/utils/expected_keepers.go 100.00% <ø> (ø)
sei-db/common/keys/store_keys.go 100.00% <ø> (ø)
sei-wasmd/app/app.go 78.09% <100.00%> (-1.03%) ⬇️
... and 11 more

... and 261 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@masih
masih marked this pull request as ready for review August 21, 2026 17:45
@masih
masih requested a review from codchen August 21, 2026 17:45
@cursor

cursor Bot commented Aug 21, 2026

Copy link
Copy Markdown

PR Summary

High Risk
Disables ICS-20 cross-chain transfers and related APIs/precompile wiring—a breaking protocol change affecting IBC relayers, CosmWasm contracts, and indexers that relied on transfer queries on full nodes.

Overview
Removes live ICS-20 token transfer from the chain binary: the transfer keeper, app module, IBC port route, params subspace, and genesis wiring are dropped, along with CosmWasm and EVM keeper dependencies and IBC-related precompile keeper injection.

State compatibility is preserved by keeping the transfer KV store in kvStoreKeyNames, retaining the transfer module account permissions, materializing that module account at genesis via initializeRetiredTransferModuleAccount, and dropping only the module version entry on the v6.7 upgrade (alongside capability and feegrant). Tests assert the store stays writable and the retired module account remains present.

Operator and client impact is documented in CHANGELOG.md and README.md: v6.7 nodes no longer serve transfer queries, historical transfer tx decoding, or pre-v6.7 IBC precompile tracing—those need v6.6 freeze nodes. Swagger/OpenAPI entries for ibc/apps/transfer are removed to match the retired APIs.

Reviewed by Cursor Bugbot for commit 5817e97. Bugbot is set up for automated code reviews on this repo. Configure here.

Comment thread sei-ibc-go/modules/apps/transfer/keeper/keeper.go Outdated
Comment thread sei-ibc-go/modules/apps/transfer/keeper/metrics.go Outdated
Comment thread sei-ibc-go/modules/apps/transfer/keeper/params.go Outdated
Comment thread sei-wasmd/x/wasm/keeper/handler_plugin_encoders.go Outdated
@masih
masih force-pushed the masih/transfer-be-gone branch from 6f8297d to cd3c443 Compare August 24, 2026 11:44

@seidroid seidroid Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The automated review did not complete; see the failing AI Review check for details.

masih added 3 commits August 24, 2026 13:57
Remove the remaining transfer keeper, codecs, protobufs, metrics, and
functional legacy IBC precompiles.

Route pre-v6.7 transfer history to v6.6 freeze nodes and map all IBC
precompile versions to the deterministic retirement tombstone. Retain
the transfer store and module account for state compatibility, along
with raw Wasm packet handling and callbacks.
# Conflicts:
#	sei-ibc-go/modules/apps/transfer/keeper/grpc_query.go
@masih
masih added this pull request to the merge queue Aug 25, 2026
Merged via the queue into main with commit ee27dd3 Aug 25, 2026
76 of 77 checks passed
@masih
masih deleted the masih/transfer-be-gone branch August 25, 2026 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants