Skip to content

Remove live IBC transfer module - #3981

Open
masih wants to merge 2 commits into
mainfrom
masih/transfer-be-gone
Open

Remove live IBC transfer module#3981
masih wants to merge 2 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 21, 2026, 5:24 PM

@codecov

codecov Bot commented Aug 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.33333% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 57.61%. Comparing base (d552cca) to head (d3ca673).
⚠️ 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 85.71% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3981      +/-   ##
==========================================
- Coverage   58.66%   57.61%   -1.05%     
==========================================
  Files        2324     2226      -98     
  Lines      198757   187042   -11715     
==========================================
- Hits       116600   107768    -8832     
+ Misses      71407    69429    -1978     
+ Partials    10750     9845     -905     
Flag Coverage Δ
sei-chain-pr 62.46% <88.33%> (?)
sei-db 70.02% <ø> (+0.21%) ⬆️
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 72.06% <100.00%> (+0.06%) ⬆️
app/encoding.go 100.00% <100.00%> (ø)
app/precompiles.go 100.00% <100.00%> (ø)
app/upgrades.go 44.23% <100.00%> (+6.45%) ⬆️
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%) ⬇️
sei-db/common/keys/store_keys.go 100.00% <ø> (ø)
...ei-ibc-go/modules/apps/transfer/keeper/encoding.go 0.00% <ø> (ø)
sei-ibc-go/modules/apps/transfer/keeper/keeper.go 55.00% <100.00%> (-3.83%) ⬇️
... and 15 more

... and 101 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
Removes live IBC token transfer execution, routing, and related APIs at the v6.7 upgrade. Incorrect wiring of historical keepers, codecs, or module-account retention could break upgrades, traces, or leftover IBC state.

Overview
Retires live ICS-20 (IBC transfer) execution so new transfers, module APIs, CLI, CosmWasm transfer messages, and the live IBC EVM precompile no longer run. IBC core remains; only the transfer app route is dropped from the IBC router.

The transfer KV store, module account (minter/burner), and codecs stay mounted so historical state and MsgTransfer txs still decode. HistoricalTransferKeeper exists only for pre-v6.7 EVM trace replay. The v6.7 upgrade deletes the transfer module version (same pattern as feegrant).

Swagger/docs drop transfer query endpoints. README no longer claims native IBC token access.

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

Comment on lines 53 to 54
func (k Keeper) GetDenomTrace(ctx sdk.Context, denomTraceHash tmbytes.HexBytes) (types.DenomTrace, bool) {
store := prefix.NewStore(ctx.KVStore(k.storeKey), types.DenomTraceKey)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should we remove this too?

Comment on lines +12 to +13
txMsgIbcTransfer metric.Int64Gauge
ibcTransferSend metric.Int64Counter

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

curious why we want to keep these?

)

// GetSendEnabled retrieves the send enabled boolean from the paramstore
func (k Keeper) GetSendEnabled(ctx sdk.Context) bool {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

can probably remove this too if we're removing the other getters for params

default:
return nil, sdkerrors.Wrap(types.ErrUnknownMsg, "Unknown variant of IBC")
}
func EncodeIBCMsg(_ sdk.Context, sender sdk.AccAddress, _ string, msg *wasmvmtypes.IBCMsg) ([]sdk.Msg, error) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

woulnd't we want to remove all ibc messages?

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.

3 participants