mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-11-10 10:05:18 +00:00
add validator vesting migrations (#845)
This commit is contained in:
parent
0865e40553
commit
aa3cf66707
@ -19,10 +19,11 @@ import (
|
|||||||
v0_13incentive "github.com/kava-labs/kava/x/incentive"
|
v0_13incentive "github.com/kava-labs/kava/x/incentive"
|
||||||
v0_11incentive "github.com/kava-labs/kava/x/incentive/legacy/v0_11"
|
v0_11incentive "github.com/kava-labs/kava/x/incentive/legacy/v0_11"
|
||||||
"github.com/kava-labs/kava/x/kavadist"
|
"github.com/kava-labs/kava/x/kavadist"
|
||||||
|
validatorvesting "github.com/kava-labs/kava/x/validator-vesting"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
GenesisTime = time.Date(2021, 3, 4, 14, 0, 0, 0, time.UTC)
|
GenesisTime = time.Date(2021, 3, 4, 15, 0, 0, 0, time.UTC)
|
||||||
RewardEndTime = time.Date(2022, 2, 25, 14, 0, 0, 0, time.UTC)
|
RewardEndTime = time.Date(2022, 2, 25, 14, 0, 0, 0, time.UTC)
|
||||||
ClaimEndTime = time.Date(2026, 2, 25, 14, 0, 0, 0, time.UTC)
|
ClaimEndTime = time.Date(2026, 2, 25, 14, 0, 0, 0, time.UTC)
|
||||||
)
|
)
|
||||||
@ -309,6 +310,15 @@ func Incentive(hardGS v0_11hard.GenesisState, incentiveGS v0_11incentive.Genesis
|
|||||||
|
|
||||||
// Auth migrates from a v0.11 auth genesis state to a v0.13
|
// Auth migrates from a v0.11 auth genesis state to a v0.13
|
||||||
func Auth(genesisState auth.GenesisState) auth.GenesisState {
|
func Auth(genesisState auth.GenesisState) auth.GenesisState {
|
||||||
|
validatorVestingChangeAddress, err := sdk.AccAddressFromBech32("kava1a3qmze57knfj29a5knqs5ptewh76v4fg23xsvn")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
validatorVestingUpdatedValAddress, err := sdk.ConsAddressFromBech32("kavavalcons1ucxhn6zh7y2zun49m36psjffrhmux7ukqxdcte")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
savingsRateMaccCoins := sdk.NewCoins()
|
savingsRateMaccCoins := sdk.NewCoins()
|
||||||
savingsMaccAddr := supply.NewModuleAddress(v0_11cdp.SavingsRateMacc)
|
savingsMaccAddr := supply.NewModuleAddress(v0_11cdp.SavingsRateMacc)
|
||||||
savingsRateMaccIndex := 0
|
savingsRateMaccIndex := 0
|
||||||
@ -329,6 +339,15 @@ func Auth(genesisState auth.GenesisState) auth.GenesisState {
|
|||||||
kavaDistIdx := 0
|
kavaDistIdx := 0
|
||||||
|
|
||||||
for idx, acc := range genesisState.Accounts {
|
for idx, acc := range genesisState.Accounts {
|
||||||
|
// reset validator vesting missed blocks to zero (due to ongoing network issues in kava-4)
|
||||||
|
vvacc, ok := acc.(*validatorvesting.ValidatorVestingAccount)
|
||||||
|
if ok {
|
||||||
|
vvacc.CurrentPeriodProgress.MissedBlocks = 0
|
||||||
|
if vvacc.GetAddress().Equals(validatorVestingChangeAddress) {
|
||||||
|
// update validator vesting validator address for shiprekt
|
||||||
|
vvacc.ValidatorAddress = validatorVestingUpdatedValAddress
|
||||||
|
}
|
||||||
|
}
|
||||||
if acc.GetAddress().Equals(savingsMaccAddr) {
|
if acc.GetAddress().Equals(savingsMaccAddr) {
|
||||||
savingsRateMaccCoins = acc.GetCoins()
|
savingsRateMaccCoins = acc.GetCoins()
|
||||||
savingsRateMaccIndex = idx
|
savingsRateMaccIndex = idx
|
||||||
@ -358,7 +377,7 @@ func Auth(genesisState auth.GenesisState) auth.GenesisState {
|
|||||||
}
|
}
|
||||||
// move remaining cdp savings to liquidator account
|
// move remaining cdp savings to liquidator account
|
||||||
liquidatorAcc := genesisState.Accounts[liquidatorMaccIndex]
|
liquidatorAcc := genesisState.Accounts[liquidatorMaccIndex]
|
||||||
err := liquidatorAcc.SetCoins(liquidatorAcc.GetCoins().Add(savingsRateMaccCoins...))
|
err = liquidatorAcc.SetCoins(liquidatorAcc.GetCoins().Add(savingsRateMaccCoins...))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@ import (
|
|||||||
v0_11hard "github.com/kava-labs/kava/x/hard/legacy/v0_11"
|
v0_11hard "github.com/kava-labs/kava/x/hard/legacy/v0_11"
|
||||||
v0_13incentive "github.com/kava-labs/kava/x/incentive"
|
v0_13incentive "github.com/kava-labs/kava/x/incentive"
|
||||||
v0_11incentive "github.com/kava-labs/kava/x/incentive/legacy/v0_11"
|
v0_11incentive "github.com/kava-labs/kava/x/incentive/legacy/v0_11"
|
||||||
|
validatorvesting "github.com/kava-labs/kava/x/validator-vesting"
|
||||||
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
@ -55,6 +56,14 @@ func TestCDP(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestAuth(t *testing.T) {
|
func TestAuth(t *testing.T) {
|
||||||
|
validatorVestingChangeAddress, err := sdk.AccAddressFromBech32("kava1a3qmze57knfj29a5knqs5ptewh76v4fg23xsvn")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
validatorVestingUpdatedValAddress, err := sdk.ConsAddressFromBech32("kavavalcons1ucxhn6zh7y2zun49m36psjffrhmux7ukqxdcte")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
bz, err := ioutil.ReadFile(filepath.Join("testdata", "kava-4-auth-state-block-500000.json"))
|
bz, err := ioutil.ReadFile(filepath.Join("testdata", "kava-4-auth-state-block-500000.json"))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
var oldGenState auth.GenesisState
|
var oldGenState auth.GenesisState
|
||||||
@ -65,6 +74,13 @@ func TestAuth(t *testing.T) {
|
|||||||
harvestCoins := getModuleAccount(oldGenState.Accounts, "harvest").GetCoins()
|
harvestCoins := getModuleAccount(oldGenState.Accounts, "harvest").GetCoins()
|
||||||
|
|
||||||
newGenState := Auth(oldGenState)
|
newGenState := Auth(oldGenState)
|
||||||
|
for _, acc := range newGenState.Accounts {
|
||||||
|
if acc.GetAddress().Equals(validatorVestingChangeAddress) {
|
||||||
|
vacc := acc.(*validatorvesting.ValidatorVestingAccount)
|
||||||
|
require.Equal(t, int64(0), vacc.CurrentPeriodProgress.MissedBlocks)
|
||||||
|
require.Equal(t, validatorVestingUpdatedValAddress, vacc.ValidatorAddress)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
err = auth.ValidateGenesis(newGenState)
|
err = auth.ValidateGenesis(newGenState)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
Loading…
Reference in New Issue
Block a user