diff --git a/app/upgrades/upgrades.go b/app/upgrades/upgrades.go index 6345c5dc..b3957750 100644 --- a/app/upgrades/upgrades.go +++ b/app/upgrades/upgrades.go @@ -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" @@ -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 { @@ -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{ @@ -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: diff --git a/app/upgrades/upgrades_test.go b/app/upgrades/upgrades_test.go index 58995fd7..33651c3a 100644 --- a/app/upgrades/upgrades_test.go +++ b/app/upgrades/upgrades_test.go @@ -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" @@ -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") } @@ -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, diff --git a/app/upgrades/v1_20_2/upgrade.go b/app/upgrades/v1_20_2/upgrade.go new file mode 100644 index 00000000..061c7953 --- /dev/null +++ b/app/upgrades/v1_20_2/upgrade.go @@ -0,0 +1,4 @@ +package v1_20_2 + +// UpgradeName is the on-chain name used for this upgrade. +const UpgradeName = "v1.20.2" diff --git a/app/upgrades/v1_20_2/upgrade_test.go b/app/upgrades/v1_20_2/upgrade_test.go new file mode 100644 index 00000000..72ff542a --- /dev/null +++ b/app/upgrades/v1_20_2/upgrade_test.go @@ -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) +}