mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-28 01:05:19 +00:00
99 lines
3.0 KiB
Go
99 lines
3.0 KiB
Go
|
package v038
|
||
|
|
||
|
import (
|
||
|
v038dist "github.com/cosmos/cosmos-sdk/x/distribution"
|
||
|
|
||
|
v18de63dist "github.com/kava-labs/kava/migrate/v0_8/sdk/distribution/v18de63"
|
||
|
)
|
||
|
|
||
|
func Migrate(oldGenState v18de63dist.GenesisState) v038dist.GenesisState {
|
||
|
|
||
|
// Changes: some fields moved into a params struct, some changes in json tags
|
||
|
|
||
|
params := v038dist.Params{
|
||
|
CommunityTax: oldGenState.CommunityTax,
|
||
|
BaseProposerReward: oldGenState.BaseProposerReward,
|
||
|
BonusProposerReward: oldGenState.BonusProposerReward,
|
||
|
WithdrawAddrEnabled: oldGenState.WithdrawAddrEnabled,
|
||
|
}
|
||
|
|
||
|
withdrawInfos := []v038dist.DelegatorWithdrawInfo{}
|
||
|
for _, v := range oldGenState.DelegatorWithdrawInfos {
|
||
|
withdrawInfos = append(withdrawInfos, v038dist.DelegatorWithdrawInfo(v))
|
||
|
}
|
||
|
|
||
|
outstandingRewards := []v038dist.ValidatorOutstandingRewardsRecord{}
|
||
|
for _, v := range oldGenState.OutstandingRewards {
|
||
|
outstandingRewards = append(outstandingRewards, v038dist.ValidatorOutstandingRewardsRecord(v))
|
||
|
}
|
||
|
|
||
|
accumulatedComs := []v038dist.ValidatorAccumulatedCommissionRecord{}
|
||
|
for _, v := range oldGenState.ValidatorAccumulatedCommissions {
|
||
|
accumulatedComs = append(accumulatedComs, v038dist.ValidatorAccumulatedCommissionRecord(v))
|
||
|
}
|
||
|
|
||
|
histRewards := []v038dist.ValidatorHistoricalRewardsRecord{}
|
||
|
for _, v := range oldGenState.ValidatorHistoricalRewards {
|
||
|
histRewards = append(histRewards, v038dist.ValidatorHistoricalRewardsRecord{
|
||
|
ValidatorAddress: v.ValidatorAddress,
|
||
|
Period: v.Period,
|
||
|
Rewards: v038dist.NewValidatorHistoricalRewards(
|
||
|
v.Rewards.CumulativeRewardRatio,
|
||
|
v.Rewards.ReferenceCount,
|
||
|
),
|
||
|
})
|
||
|
}
|
||
|
|
||
|
currRewards := []v038dist.ValidatorCurrentRewardsRecord{}
|
||
|
for _, v := range oldGenState.ValidatorCurrentRewards {
|
||
|
currRewards = append(currRewards, v038dist.ValidatorCurrentRewardsRecord{
|
||
|
ValidatorAddress: v.ValidatorAddress,
|
||
|
Rewards: v038dist.NewValidatorCurrentRewards(
|
||
|
v.Rewards.Rewards,
|
||
|
v.Rewards.Period,
|
||
|
),
|
||
|
})
|
||
|
}
|
||
|
|
||
|
startInfos := []v038dist.DelegatorStartingInfoRecord{}
|
||
|
for _, v := range oldGenState.DelegatorStartingInfos {
|
||
|
startInfos = append(startInfos, v038dist.DelegatorStartingInfoRecord{
|
||
|
DelegatorAddress: v.DelegatorAddress,
|
||
|
ValidatorAddress: v.ValidatorAddress,
|
||
|
StartingInfo: v038dist.NewDelegatorStartingInfo(
|
||
|
v.StartingInfo.PreviousPeriod,
|
||
|
v.StartingInfo.Stake,
|
||
|
v.StartingInfo.Height,
|
||
|
),
|
||
|
})
|
||
|
}
|
||
|
|
||
|
slashEvents := []v038dist.ValidatorSlashEventRecord{}
|
||
|
for _, v := range oldGenState.ValidatorSlashEvents {
|
||
|
slashEvents = append(slashEvents, v038dist.ValidatorSlashEventRecord{
|
||
|
ValidatorAddress: v.ValidatorAddress,
|
||
|
Height: v.Height,
|
||
|
Period: v.Period,
|
||
|
Event: v038dist.NewValidatorSlashEvent(
|
||
|
v.Event.ValidatorPeriod,
|
||
|
v.Event.Fraction,
|
||
|
),
|
||
|
})
|
||
|
}
|
||
|
|
||
|
newGenState := v038dist.NewGenesisState(
|
||
|
params,
|
||
|
v038dist.FeePool(oldGenState.FeePool),
|
||
|
withdrawInfos,
|
||
|
oldGenState.PreviousProposer,
|
||
|
outstandingRewards,
|
||
|
accumulatedComs,
|
||
|
histRewards,
|
||
|
currRewards,
|
||
|
startInfos,
|
||
|
slashEvents,
|
||
|
)
|
||
|
|
||
|
return newGenState
|
||
|
}
|