diff --git a/CHANGELOG.md b/CHANGELOG.md index 9eedef05b..7334d7ccb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Features + +* [#1931](https://github.com/NibiruChain/nibiru/pull/1931) - feat(ibc): add `wasm` route to IBC router + ## [v1.4.0](https://github.com/NibiruChain/nibiru/releases/tag/v1.4.0) - 2024-06-04 Nibiru v1.4.0 adds PebbleDB support and increases the wasm contract size limit to 3MB. diff --git a/app/keepers.go b/app/keepers.go index e2cbd6df9..0a2d028c1 100644 --- a/app/keepers.go +++ b/app/keepers.go @@ -541,11 +541,16 @@ func (app *NibiruApp) InitKeepers( // channel.RecvPacket -> fee.OnRecvPacket -> icaHost.OnRecvPacket icaHostStack := icahost.NewIBCModule(app.icaHostKeeper) + var wasmStack porttypes.IBCModule + wasmStack = wasm.NewIBCHandler(app.WasmKeeper, app.ibcKeeper.ChannelKeeper, app.ibcFeeKeeper) + wasmStack = ibcfee.NewIBCMiddleware(wasmStack, app.ibcFeeKeeper) + // Add transfer stack to IBC Router ibcRouter. AddRoute(icahosttypes.SubModuleName, icaHostStack). AddRoute(icacontrollertypes.SubModuleName, icaControllerStack). - AddRoute(ibctransfertypes.ModuleName, transferStack) + AddRoute(ibctransfertypes.ModuleName, transferStack). + AddRoute(wasmtypes.ModuleName, wasmStack) // Create Mock IBC Fee module stack for testing // SendPacket, since it is originating from the application to core IBC: