github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/staking/legacy/v0_11/migrate.go (about)

     1  package v0_11
     2  
     3  import "github.com/fibonacci-chain/fbc/x/staking/legacy/v0_10"
     4  
     5  func Migrate(oldGenState v0_10.GenesisState) GenesisState {
     6  	params := Params{
     7  		UnbondingTime:      oldGenState.Params.UnbondingTime,
     8  		MaxValidators:      oldGenState.Params.MaxValidators,
     9  		Epoch:              oldGenState.Params.Epoch,
    10  		MaxValsToAddShares: oldGenState.Params.MaxValsToVote,
    11  		BondDenom:          oldGenState.Params.BondDenom,
    12  		MinDelegation:      oldGenState.Params.MinDelegation,
    13  		MinSelfDelegation:  DefaultMinSelfDelegation,
    14  	}
    15  
    16  	allShares := make([]SharesExported, len(oldGenState.Votes))
    17  	for i, vote := range oldGenState.Votes {
    18  		allShares[i] = SharesExported{
    19  			DelAddress:       vote.VoterAddress,
    20  			ValidatorAddress: vote.ValidatorAddress,
    21  			Shares:           vote.Votes,
    22  		}
    23  	}
    24  
    25  	return GenesisState{
    26  		Params:               params,
    27  		LastTotalPower:       oldGenState.LastTotalPower,
    28  		LastValidatorPowers:  oldGenState.LastValidatorPowers,
    29  		Validators:           oldGenState.Validators,
    30  		Delegators:           oldGenState.Delegators,
    31  		UnbondingDelegations: oldGenState.UnbondingDelegations,
    32  		AllShares:            allShares,
    33  		ProxyDelegatorKeys:   oldGenState.ProxyDelegatorKeys,
    34  		Exported:             oldGenState.Exported,
    35  	}
    36  }