Skip to content

Commit 02dc0cf

Browse files
committed
add mainnet upgrade instructions
1 parent ef30c69 commit 02dc0cf

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

app/upgrades/v16.0.0/upgrades.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@ package v16_0_0
22

33
import (
44
"context"
5+
"fmt"
56

67
upgradetypes "cosmossdk.io/x/upgrade/types"
78
sdk "github.com/cosmos/cosmos-sdk/types"
89
"github.com/cosmos/cosmos-sdk/types/module"
10+
ibctransfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types"
11+
12+
"github.com/persistenceOne/persistenceCore/v16/app/keepers"
913
"github.com/persistenceOne/persistenceCore/v16/app/upgrades"
1014
)
1115

@@ -20,7 +24,28 @@ func CreateUpgradeHandler(args upgrades.UpgradeHandlerArgs) upgradetypes.Upgrade
2024
return vm, err
2125
}
2226

27+
err = ResetIBCTransferVersions(sdkCtx, args.Keepers)
28+
if err != nil {
29+
return vm, err
30+
}
31+
2332
sdkCtx.Logger().Info("Upgrade complete")
2433
return vm, nil
2534
}
2635
}
36+
37+
func ResetIBCTransferVersions(sdkCtx sdk.Context, keepers *keepers.AppKeepers) error {
38+
channels := keepers.IBCKeeper.ChannelKeeper.GetAllChannels(sdkCtx)
39+
for _, channel := range channels {
40+
if channel.PortId == ibctransfertypes.PortID && channel.Version != ibctransfertypes.V1 {
41+
channelDb, ok := keepers.IBCKeeper.ChannelKeeper.GetChannel(sdkCtx, channel.PortId, channel.ChannelId)
42+
if !ok {
43+
return fmt.Errorf("channel %s not found", channel.ChannelId)
44+
}
45+
channelDb.Version = ibctransfertypes.V1
46+
keepers.IBCKeeper.ChannelKeeper.SetChannel(sdkCtx, channel.PortId, channel.ChannelId, channelDb)
47+
}
48+
}
49+
50+
return nil
51+
}

0 commit comments

Comments
 (0)