Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions app/upgrades/upgrades.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
upgrade_v1_12_0 "github.com/LumeraProtocol/lumera/app/upgrades/v1_12_0"
upgrade_v1_20_0 "github.com/LumeraProtocol/lumera/app/upgrades/v1_20_0"
upgrade_v1_20_1 "github.com/LumeraProtocol/lumera/app/upgrades/v1_20_1"
upgrade_v1_20_2 "github.com/LumeraProtocol/lumera/app/upgrades/v1_20_2"
upgrade_v1_6_1 "github.com/LumeraProtocol/lumera/app/upgrades/v1_6_1"
upgrade_v1_8_0 "github.com/LumeraProtocol/lumera/app/upgrades/v1_8_0"
upgrade_v1_8_4 "github.com/LumeraProtocol/lumera/app/upgrades/v1_8_4"
Expand All @@ -43,6 +44,7 @@ import (
// | v1.12.0 | custom | none (Everlight in supernode) | Runs migrations; Everlight logic embedded in x/supernode
// | v1.20.0 | custom | non-mainnet: add feemarket, precisebank, vm, erc20 | EVM bring-up; gated to non-mainnet (mainnet runs it via v1.20.1)
// | v1.20.1 | custom | state-driven add-only: feemarket, precisebank, vm, erc20 | EVM bring-up when EVM absent (any network, incl. direct 1.12.0->1.20.1); migrations-only hotfix when EVM already present. Add-only store loader mounts only missing keys.
// | v1.20.2 | standard | none | Migrations only; no historical state repair
// =================================================================================================================================

type UpgradeConfig struct {
Expand Down Expand Up @@ -75,6 +77,7 @@ var upgradeNames = []string{
upgrade_v1_12_0.UpgradeName,
upgrade_v1_20_0.UpgradeName,
upgrade_v1_20_1.UpgradeName,
upgrade_v1_20_2.UpgradeName,
}

var NoUpgradeConfig = UpgradeConfig{
Expand Down Expand Up @@ -177,6 +180,10 @@ func SetupUpgrades(upgradeName string, params appParams.AppUpgradeParams) (Upgra
StoreUpgrade: &upgrade_v1_20_0.StoreUpgrades,
Handler: upgrade_v1_20_1.CreateUpgradeHandler(params),
}, true
case upgrade_v1_20_2.UpgradeName:
return UpgradeConfig{
Handler: standardUpgradeHandler(upgrade_v1_20_2.UpgradeName, params),
}, true

// add future upgrades here
default:
Expand Down
12 changes: 12 additions & 0 deletions app/upgrades/upgrades_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
upgrade_v1_12_0 "github.com/LumeraProtocol/lumera/app/upgrades/v1_12_0"
upgrade_v1_20_0 "github.com/LumeraProtocol/lumera/app/upgrades/v1_20_0"
upgrade_v1_20_1 "github.com/LumeraProtocol/lumera/app/upgrades/v1_20_1"
upgrade_v1_20_2 "github.com/LumeraProtocol/lumera/app/upgrades/v1_20_2"
upgrade_v1_6_1 "github.com/LumeraProtocol/lumera/app/upgrades/v1_6_1"
upgrade_v1_8_0 "github.com/LumeraProtocol/lumera/app/upgrades/v1_8_0"
upgrade_v1_8_4 "github.com/LumeraProtocol/lumera/app/upgrades/v1_8_4"
Expand Down Expand Up @@ -47,6 +48,7 @@ func TestUpgradeNamesOrder(t *testing.T) {
upgrade_v1_12_0.UpgradeName,
upgrade_v1_20_0.UpgradeName,
upgrade_v1_20_1.UpgradeName,
upgrade_v1_20_2.UpgradeName,
}
require.Equal(t, expected, upgradeNames, "upgradeNames should stay in ascending order")
}
Expand Down Expand Up @@ -225,6 +227,16 @@ func TestV1201CarriesEVMBringupOnAllNetworks(t *testing.T) {
}
}

func TestV1202IsMigrationOnlyOnAllNetworks(t *testing.T) {
for _, chainID := range []string{"lumera-mainnet-1", "lumera-testnet-2", "lumera-devnet-1"} {
params := newTestUpgradeParams(chainID)
config, found := SetupUpgrades(upgrade_v1_20_2.UpgradeName, params)
require.True(t, found)
require.NotNil(t, config.Handler, "v1.20.2 must register a handler on %s", chainID)
require.Nil(t, config.StoreUpgrade, "v1.20.2 must not alter stores on %s", chainID)
}
}

func newTestUpgradeParams(chainID string) appParams.AppUpgradeParams {
return appParams.AppUpgradeParams{
ChainID: chainID,
Expand Down
4 changes: 4 additions & 0 deletions app/upgrades/v1_20_2/upgrade.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package v1_20_2

// UpgradeName is the on-chain name used for this upgrade.
const UpgradeName = "v1.20.2"
11 changes: 11 additions & 0 deletions app/upgrades/v1_20_2/upgrade_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package v1_20_2

import (
"testing"

"github.com/stretchr/testify/require"
)

func TestUpgradeName(t *testing.T) {
require.Equal(t, "v1.20.2", UpgradeName)
}
Loading