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 Any
s.
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
IBCApp
field of the*IBCModule
intesting/mock
to change its type as well to*IBCApp
:
- The
app
parameter to*NewIBCModule
intesting/mock
to 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
GetStakingKeeper
is not the concrete typestakingkeeper.Keeper
anymore (wherestakingkeeper
is an import alias for"github.com/cosmos/cosmos-sdk/x/staking/keeper"
), but it has been changed to the interfaceibctestingtypes.StakingKeeper
(whereibctestingtypes
is an import alias for""github.com/cosmos/ibc-go/v5/testing/types"
). See this PR for more details. TheStakingKeeper
interface is defined as:
- The return type of the function
LastCommitID
has changed tostoretypes.CommitID
(wherestoretypes
is 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"
):