Skip to content

Commit 0fc2c0e

Browse files
9.6 Upgrade (backport #3299) (#3304)
Co-authored-by: Kefan Cao <76069770+Kefancao@users.noreply.github.com>
1 parent 3e384fa commit 0fc2c0e

8 files changed

Lines changed: 80 additions & 211 deletions

File tree

protocol/app/upgrades.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package app
33
import (
44
"fmt"
55

6-
v_9_5 "github.com/dydxprotocol/v4-chain/protocol/app/upgrades/v9.5"
6+
v_9_6 "github.com/dydxprotocol/v4-chain/protocol/app/upgrades/v9.6"
77

88
upgradetypes "cosmossdk.io/x/upgrade/types"
99
sdk "github.com/cosmos/cosmos-sdk/types"
@@ -14,24 +14,22 @@ var (
1414
// `Upgrades` defines the upgrade handlers and store loaders for the application.
1515
// New upgrades should be added to this slice after they are implemented.
1616
Upgrades = []upgrades.Upgrade{
17-
v_9_5.Upgrade,
17+
v_9_6.Upgrade,
1818
}
1919
Forks = []upgrades.Fork{}
2020
)
2121

2222
// setupUpgradeHandlers registers the upgrade handlers to perform custom upgrade
2323
// logic and state migrations for software upgrades.
2424
func (app *App) setupUpgradeHandlers() {
25-
if app.UpgradeKeeper.HasHandler(v_9_5.UpgradeName) {
26-
panic(fmt.Sprintf("Cannot register duplicate upgrade handler '%s'", v_9_5.UpgradeName))
25+
if app.UpgradeKeeper.HasHandler(v_9_6.UpgradeName) {
26+
panic(fmt.Sprintf("Cannot register duplicate upgrade handler '%s'", v_9_6.UpgradeName))
2727
}
2828
app.UpgradeKeeper.SetUpgradeHandler(
29-
v_9_5.UpgradeName,
30-
v_9_5.CreateUpgradeHandler(
29+
v_9_6.UpgradeName,
30+
v_9_6.CreateUpgradeHandler(
3131
app.ModuleManager,
3232
app.configurator,
33-
app.StatsKeeper,
34-
app.EpochsKeeper,
3533
),
3634
)
3735
}

protocol/app/upgrades/v9.5/upgrade_container_test.go

Lines changed: 0 additions & 200 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package v_9_6
2+
3+
import (
4+
store "cosmossdk.io/store/types"
5+
"github.com/dydxprotocol/v4-chain/protocol/app/upgrades"
6+
)
7+
8+
const (
9+
UpgradeName = "v9.6"
10+
)
11+
12+
var Upgrade = upgrades.Upgrade{
13+
UpgradeName: UpgradeName,
14+
StoreUpgrades: store.StoreUpgrades{},
15+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package v_9_6
2+
3+
import (
4+
"context"
5+
"fmt"
6+
7+
upgradetypes "cosmossdk.io/x/upgrade/types"
8+
"github.com/cosmos/cosmos-sdk/types/module"
9+
"github.com/dydxprotocol/v4-chain/protocol/lib"
10+
)
11+
12+
func CreateUpgradeHandler(
13+
mm *module.Manager,
14+
configurator module.Configurator,
15+
) upgradetypes.UpgradeHandler {
16+
return func(ctx context.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) {
17+
sdkCtx := lib.UnwrapSDKContext(ctx, "app/upgrades")
18+
sdkCtx.Logger().Info(fmt.Sprintf("Running %s Upgrade...", UpgradeName))
19+
20+
return mm.RunMigrations(ctx, configurator, vm)
21+
}
22+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package v_9_6_test
2+
3+
import (
4+
"testing"
5+
6+
v_9_6 "github.com/dydxprotocol/v4-chain/protocol/app/upgrades/v9.6"
7+
"github.com/dydxprotocol/v4-chain/protocol/testing/containertest"
8+
"github.com/dydxprotocol/v4-chain/protocol/testutil/constants"
9+
"github.com/stretchr/testify/require"
10+
)
11+
12+
func TestStateUpgrade(t *testing.T) {
13+
testnet, err := containertest.NewTestnetWithPreupgradeGenesis()
14+
require.NoError(t, err, "failed to create testnet - is docker daemon running?")
15+
err = testnet.Start()
16+
require.NoError(t, err)
17+
defer testnet.MustCleanUp()
18+
node := testnet.Nodes["alice"]
19+
nodeAddress := constants.AliceAccAddress.String()
20+
21+
preUpgradeSetups(node, t)
22+
preUpgradeChecks(node, t)
23+
24+
err = containertest.UpgradeTestnet(nodeAddress, t, node, v_9_6.UpgradeName)
25+
require.NoError(t, err)
26+
27+
postUpgradeChecks(node, t)
28+
}
29+
30+
func preUpgradeSetups(node *containertest.Node, t *testing.T) {}
31+
32+
func preUpgradeChecks(node *containertest.Node, t *testing.T) {}
33+
34+
func postUpgradeChecks(node *containertest.Node, t *testing.T) {}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v9.5
1+
v9.6
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v9.4.0
1+
v9.5.0
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v9.4
1+
v9.5

0 commit comments

Comments
 (0)