Skip to content

Commit 5773d68

Browse files
committed
refactor: added an upgrade handler for fixing bytecode upgrade
1 parent 43507a1 commit 5773d68

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

app/upgrades.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"github.com/pushchain/push-chain-node/app/upgrades/noop"
1414
outbound "github.com/pushchain/push-chain-node/app/upgrades/outbound"
1515
pcmintcap "github.com/pushchain/push-chain-node/app/upgrades/pc-mint-cap"
16+
proxybytecodefix "github.com/pushchain/push-chain-node/app/upgrades/proxy-bytecode-fix"
1617
removefeeabsv1 "github.com/pushchain/push-chain-node/app/upgrades/remove-fee-abs-v1"
1718
solanafix "github.com/pushchain/push-chain-node/app/upgrades/solana-fix"
1819
tsscore "github.com/pushchain/push-chain-node/app/upgrades/tss-core"
@@ -37,6 +38,7 @@ var Upgrades = []upgrades.Upgrade{
3738
removefeeabsv1.NewUpgrade(),
3839
outbound.NewUpgrade(),
3940
universaltxv1.NewUpgrade(),
41+
proxybytecodefix.NewUpgrade(),
4042
}
4143

4244
// RegisterUpgradeHandlers registers the chain upgrade handlers
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package addressfix
2+
3+
import (
4+
"context"
5+
6+
storetypes "cosmossdk.io/store/types"
7+
upgradetypes "cosmossdk.io/x/upgrade/types"
8+
9+
sdk "github.com/cosmos/cosmos-sdk/types"
10+
"github.com/cosmos/cosmos-sdk/types/module"
11+
12+
"github.com/pushchain/push-chain-node/app/upgrades"
13+
)
14+
15+
const UpgradeName = "proxy-bytecode-fix"
16+
17+
// NewUpgrade constructs the upgrade definition
18+
func NewUpgrade() upgrades.Upgrade {
19+
return upgrades.Upgrade{
20+
UpgradeName: UpgradeName,
21+
CreateUpgradeHandler: CreateUpgradeHandler,
22+
StoreUpgrades: storetypes.StoreUpgrades{
23+
Added: []string{},
24+
Deleted: []string{},
25+
},
26+
}
27+
}
28+
29+
func CreateUpgradeHandler(
30+
mm upgrades.ModuleManager,
31+
configurator module.Configurator,
32+
ak *upgrades.AppKeepers,
33+
) upgradetypes.UpgradeHandler {
34+
return func(ctx context.Context, plan upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
35+
sdkCtx := sdk.UnwrapSDKContext(ctx)
36+
sdkCtx.Logger().Info("🔧 Running upgrade:", "name", UpgradeName)
37+
38+
err := ak.URegistryKeeper.FixReservedBytecode(sdkCtx)
39+
40+
if err != nil {
41+
panic(err)
42+
}
43+
44+
sdkCtx.Logger().Info("Fixed Reserved Addresses Bytecodes...")
45+
46+
// Run module migrations
47+
return mm.RunMigrations(ctx, configurator, fromVM)
48+
}
49+
}

0 commit comments

Comments
 (0)