Chains
Ante decorator
TheAnteDecorator type in core/ante has been renamed to RedundantRelayDecorator (and the corresponding constructor function to NewRedundantRelayDecorator). Therefore in the function that creates the instance of the sdk.AnteHandler type (e.g. NewAnteHandler) the change would be like this:
AnteDecorator was actually renamed twice, but in this PR you can see the changes made for the final rename.
IBC Apps
Core
Thekey parameter of the NewKeeper function in modules/core/keeper is now of type storetypes.StoreKey (where storetypes is an import alias for "github.com/cosmos/cosmos-sdk/store/types"):
RegisterRESTRoutes function in modules/core has been removed.
ICS03 - Connection
Thekey parameter of the NewKeeper function in modules/core/03-connection/keeper is now of type storetypes.StoreKey (where storetypes is an import alias for "github.com/cosmos/cosmos-sdk/store/types"):
ICS04 - Channel
The functionNewPacketId in modules/core/04-channel/types has been renamed to NewPacketID:
key parameter of the NewKeeper function in modules/core/04-channel/keeper is now of type storetypes.StoreKey (where storetypes is an import alias for "github.com/cosmos/cosmos-sdk/store/types"):
ICS20 - Transfer
Thekey parameter of the NewKeeper function in modules/apps/transfer/keeper is now of type storetypes.StoreKey (where storetypes is an import alias for "github.com/cosmos/cosmos-sdk/store/types"):
amount parameter of function GetTransferCoin in modules/apps/transfer/types is now of type math.Int ("cosmossdk.io/math"):
RegisterRESTRoutes function in modules/apps/transfer has been removed.
ICS27 - Interchain Accounts
Thekey and msgRouter parameters of the NewKeeper functions in
modules/apps/27-interchain-accounts/controller/keeper- and
modules/apps/27-interchain-accounts/host/keeper
key parameter is now of type storetypes.StoreKey (where storetypes is an import alias for "github.com/cosmos/cosmos-sdk/store/types"), and the msgRouter parameter is now of type *icatypes.MessageRouter (where icatypes is an import alias for "github.com/cosmos/ibc-go/v5/modules/apps/27-interchain-accounts/types"):
MessageRouter interface is defined as:
RegisterRESTRoutes function in modules/apps/27-interchain-accounts has been removed.
An additional parameter, ics4Wrapper has been added to the host submodule NewKeeper function in modules/apps/27-interchain-accounts/host/keeper.
This allows the host submodule to correctly unwrap the channel version for channel reopening handshakes in the OnChanOpenTry callback.
Cosmos SDK message handler responses in packet acknowledgement
The construction of the transaction response of a message execution on the host chain has changed. TheData field in the sdk.TxMsgData has been deprecated and since Cosmos SDK 0.46 the MsgResponses field contains the message handler responses packed into Anys.
For chains on Cosmos SDK 0.45 and below, the message response was constructed like this:
OnAcknowledgementPacket callback of a custom ICA controller module, then depending on whether txMsgData.Data is empty or not, the logic to handle the message handler response will be different. Only controller chains on Cosmos SDK 0.46 or above will be able to write the logic needed to handle the response from a host chain on Cosmos SDK 0.46 or above.
ICS29 - Fee Middleware
Thekey parameter of the NewKeeper function in modules/apps/29-fee is now of type storetypes.StoreKey (where storetypes is an import alias for "github.com/cosmos/cosmos-sdk/store/types"):
RegisterRESTRoutes function in modules/apps/29-fee has been removed.
IBC testing package
TheMockIBCApp type has been renamed to IBCApp (and the corresponding constructor function to NewIBCApp). This has resulted therefore in:
- The
IBCAppfield of the*IBCModuleintesting/mockto change its type as well to*IBCApp:
- The
appparameter to*NewIBCModuleintesting/mockto change its type as well to*IBCApp:
MockEmptyAcknowledgement type has been renamed to EmptyAcknowledgement (and the corresponding constructor function to NewEmptyAcknowledgement).
The TestingApp interface in testing has gone through some modifications:
- The return type of the function
GetStakingKeeperis not the concrete typestakingkeeper.Keeperanymore (wherestakingkeeperis an import alias for"github.com/cosmos/cosmos-sdk/x/staking/keeper"), but it has been changed to the interfaceibctestingtypes.StakingKeeper(whereibctestingtypesis an import alias for""github.com/cosmos/ibc-go/v5/testing/types"). See this PR for more details. TheStakingKeeperinterface is defined as:
- The return type of the function
LastCommitIDhas changed tostoretypes.CommitID(wherestoretypesis an import alias for"github.com/cosmos/cosmos-sdk/store/types").
git diff for more details:
powerReduction parameter of the function SetupWithGenesisValSet in testing is now of type math.Int ("cosmossdk.io/math"):
accAmt parameter of the functions
AddTestAddrsFromPubKeys,AddTestAddrs- and
AddTestAddrsIncremental
testing/simapp are now of type math.Int ("cosmossdk.io/math"):
RegisterRESTRoutes function in testing/mock has been removed.
Relayers
- No relevant changes were made in this release.
IBC Light Clients
ICS02 - Client
Thekey parameter of the NewKeeper function in modules/core/02-client/keeper is now of type storetypes.StoreKey (where storetypes is an import alias for "github.com/cosmos/cosmos-sdk/store/types"):