2018-05-12 15:22:59 -07:00
|
|
|
package stake
|
|
|
|
|
|
|
|
import (
|
2018-05-18 15:57:47 -07:00
|
|
|
"bytes"
|
|
|
|
|
2018-05-12 15:22:59 -07:00
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Params defines the high level settings for staking
|
|
|
|
type Params struct {
|
|
|
|
InflationRateChange sdk.Rat `json:"inflation_rate_change"` // maximum annual change in inflation rate
|
|
|
|
InflationMax sdk.Rat `json:"inflation_max"` // maximum inflation rate
|
|
|
|
InflationMin sdk.Rat `json:"inflation_min"` // minimum inflation rate
|
|
|
|
GoalBonded sdk.Rat `json:"goal_bonded"` // Goal of percent bonded atoms
|
|
|
|
|
|
|
|
MaxValidators uint16 `json:"max_validators"` // maximum number of validators
|
|
|
|
BondDenom string `json:"bond_denom"` // bondable coin denomination
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p Params) equal(p2 Params) bool {
|
2018-05-31 11:51:15 -07:00
|
|
|
bz1 := msgCdc.MustMarshalBinary(&p)
|
|
|
|
bz2 := msgCdc.MustMarshalBinary(&p2)
|
2018-05-18 15:57:47 -07:00
|
|
|
return bytes.Equal(bz1, bz2)
|
2018-05-12 15:22:59 -07:00
|
|
|
}
|
|
|
|
|
2018-05-25 07:17:49 -07:00
|
|
|
// default params
|
|
|
|
func DefaultParams() Params {
|
2018-05-12 15:22:59 -07:00
|
|
|
return Params{
|
|
|
|
InflationRateChange: sdk.NewRat(13, 100),
|
|
|
|
InflationMax: sdk.NewRat(20, 100),
|
|
|
|
InflationMin: sdk.NewRat(7, 100),
|
|
|
|
GoalBonded: sdk.NewRat(67, 100),
|
|
|
|
MaxValidators: 100,
|
|
|
|
BondDenom: "steak",
|
|
|
|
}
|
|
|
|
}
|