parent
3bf3643176
commit
a74d9c2db6
25
CHANGELOG.md
25
CHANGELOG.md
|
@ -4,15 +4,21 @@
|
|||
|
||||
BREAKING CHANGES
|
||||
|
||||
* Queries against the store must be prefixed with the path "/store"
|
||||
* RecentValidator store now take pubkey instead of address, is sorted like Tendermint by pk's address
|
||||
* `gaiacli query candidate` takes and argument instead of using the `--address-candidate` flag
|
||||
* Staking refactor
|
||||
* [stake] candidate -> validator throughout (details in refactor comment)
|
||||
* [stake] delegate-bond -> delegation throughout
|
||||
* [stake] `gaiacli query validator` takes and argument instead of using the `--address-candidate` flag
|
||||
* [stake] introduce `gaiacli query delegations`
|
||||
* [stake] staking refactor
|
||||
* ValidatorsBonded store now take sorted pubKey-address instead of validator owner-address,
|
||||
is sorted like Tendermint by pk's address
|
||||
* store names more understandable
|
||||
* removed temporary ToKick store
|
||||
* removed temporary ToKick store, just needs a local map!
|
||||
* removed distinction between candidates and validators
|
||||
* everything is now a validator
|
||||
* only validators with a status == bonded are actively validating/receiving rewards
|
||||
* Introduction of Unbonding fields, lowlevel logic throughout (not fully implemented with queue)
|
||||
* Introduction of PoolShares type within validators,
|
||||
replaces three rational fields (BondedShares, UnbondingShares, UnbondedShares
|
||||
|
||||
FEATURES
|
||||
|
||||
|
@ -22,13 +28,15 @@ FEATURES
|
|||
* Transactions which run out of gas stop execution and revert state changes
|
||||
* A "simulate" query has been added to determine how much gas a transaction will need
|
||||
* Modules can include their own gas costs for execution of particular message types
|
||||
* Seperation of fee distribution to a new module
|
||||
* Creation of a validator/delegation generics in `/types`
|
||||
* [stake] Seperation of fee distribution to a new module
|
||||
* [stake] Creation of a validator/delegation generics in `/types`
|
||||
* [stake] Helper Description of the store in x/stake/store.md
|
||||
|
||||
BUG FIXES
|
||||
|
||||
* Auto-sequencing now works correctly
|
||||
* staking delegator shares exchange rate now relative to equivalent-bonded-tokens the validator has instead of bonded tokens
|
||||
* [stake] staking delegator shares exchange rate now relative to equivalent-bonded-tokens the validator has instead of bonded tokens
|
||||
^ this is important for unbonded validators in the power store!
|
||||
|
||||
|
||||
## 0.17.0 (May 15, 2018)
|
||||
|
@ -36,6 +44,7 @@ BUG FIXES
|
|||
BREAKING CHANGES
|
||||
|
||||
* [stake] MarshalJSON -> MarshalBinary
|
||||
* Queries against the store must be prefixed with the path "/store"
|
||||
|
||||
FEATURES
|
||||
|
||||
|
|
|
@ -29,13 +29,13 @@ var (
|
|||
)
|
||||
|
||||
func init() {
|
||||
fsPk.String(FlagPubKey, "", "Go-Amino encoded hex PubKey of the validator-validator. For Ed25519 the go-amino prepend hex is 1624de6220")
|
||||
fsPk.String(FlagPubKey, "", "Go-Amino encoded hex PubKey of the validator. For Ed25519 the go-amino prepend hex is 1624de6220")
|
||||
fsAmount.String(FlagAmount, "1steak", "Amount of coins to bond")
|
||||
fsShares.String(FlagShares, "", "Amount of shares to unbond, either in decimal or keyword MAX (ex. 1.23456789, 99, MAX)")
|
||||
fsDescription.String(FlagMoniker, "", "validator-validator name")
|
||||
fsDescription.String(FlagMoniker, "", "validator name")
|
||||
fsDescription.String(FlagIdentity, "", "optional keybase signature")
|
||||
fsDescription.String(FlagWebsite, "", "optional website")
|
||||
fsDescription.String(FlagDetails, "", "optional details")
|
||||
fsValidator.String(FlagAddressValidator, "", "hex address of the validator/validator")
|
||||
fsValidator.String(FlagAddressValidator, "", "hex address of the validator")
|
||||
fsDelegator.String(FlagAddressDelegator, "", "hex address of the delegator")
|
||||
}
|
||||
|
|
|
@ -18,8 +18,8 @@ import (
|
|||
// get the command to query a validator
|
||||
func GetCmdQueryValidator(storeName string, cdc *wire.Codec) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "validator [validator-addr]",
|
||||
Short: "Query a validator-validator account",
|
||||
Use: "validator [owner-addr]",
|
||||
Short: "Query a validator",
|
||||
Args: cobra.ExactArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
|
||||
|
@ -55,8 +55,8 @@ func GetCmdQueryValidator(storeName string, cdc *wire.Codec) *cobra.Command {
|
|||
// get the command to query a validator
|
||||
func GetCmdQueryValidators(storeName string, cdc *wire.Codec) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "candidates",
|
||||
Short: "Query for all validator-validator accounts",
|
||||
Use: "validators",
|
||||
Short: "Query for all validators",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
|
||||
key := stake.ValidatorsKey
|
||||
|
@ -90,8 +90,8 @@ func GetCmdQueryValidators(storeName string, cdc *wire.Codec) *cobra.Command {
|
|||
// get the command to query a single delegation bond
|
||||
func GetCmdQueryDelegation(storeName string, cdc *wire.Codec) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "delegation-bond",
|
||||
Short: "Query a delegations bond based on address and validator pubkey",
|
||||
Use: "delegation",
|
||||
Short: "Query a delegations bond based on address and validator address",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
|
||||
addr, err := sdk.GetAddress(viper.GetString(FlagAddressValidator))
|
||||
|
@ -134,11 +134,12 @@ func GetCmdQueryDelegation(storeName string, cdc *wire.Codec) *cobra.Command {
|
|||
// get the command to query all the candidates bonded to a delegation
|
||||
func GetCmdQueryDelegations(storeName string, cdc *wire.Codec) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "delegation-candidates",
|
||||
Short: "Query all delegations bonds based on delegation-address",
|
||||
Use: "delegations [delegator-addr]",
|
||||
Short: "Query all delegations made from one delegator",
|
||||
Args: cobra.ExactArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
|
||||
delegatorAddr, err := sdk.GetAddress(viper.GetString(FlagAddressDelegator))
|
||||
delegatorAddr, err := sdk.GetAddress(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -167,6 +168,5 @@ func GetCmdQueryDelegations(storeName string, cdc *wire.Codec) *cobra.Command {
|
|||
// TODO output with proofs / machine parseable etc.
|
||||
},
|
||||
}
|
||||
cmd.Flags().AddFlagSet(fsDelegator)
|
||||
return cmd
|
||||
}
|
||||
|
|
|
@ -19,8 +19,8 @@ import (
|
|||
// create declare candidacy command
|
||||
func GetCmdDeclareCandidacy(cdc *wire.Codec) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "declare-candidacy",
|
||||
Short: "create new validator-validator account and delegate some coins to it",
|
||||
Use: "create-validator",
|
||||
Short: "create new validator initialized with a self-delegation to it",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
ctx := context.NewCoreContextFromViper().WithDecoder(authcmd.GetAccountDecoder(cdc))
|
||||
|
||||
|
@ -47,7 +47,7 @@ func GetCmdDeclareCandidacy(cdc *wire.Codec) *cobra.Command {
|
|||
}
|
||||
|
||||
if viper.GetString(FlagMoniker) == "" {
|
||||
return fmt.Errorf("please enter a moniker for the validator-validator using --moniker")
|
||||
return fmt.Errorf("please enter a moniker for the validator using --moniker")
|
||||
}
|
||||
description := stake.Description{
|
||||
Moniker: viper.GetString(FlagMoniker),
|
||||
|
@ -78,8 +78,8 @@ func GetCmdDeclareCandidacy(cdc *wire.Codec) *cobra.Command {
|
|||
// create edit candidacy command
|
||||
func GetCmdEditCandidacy(cdc *wire.Codec) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "edit-candidacy",
|
||||
Short: "edit and existing validator-validator account",
|
||||
Use: "edit-validator",
|
||||
Short: "edit and existing validator account",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
|
||||
validatorAddr, err := sdk.GetAddress(viper.GetString(FlagAddressValidator))
|
||||
|
@ -116,7 +116,7 @@ func GetCmdEditCandidacy(cdc *wire.Codec) *cobra.Command {
|
|||
func GetCmdDelegate(cdc *wire.Codec) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "delegate",
|
||||
Short: "delegate coins to an existing validator/validator",
|
||||
Short: "delegate coins to an existing validator",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
amount, err := sdk.ParseCoin(viper.GetString(FlagAmount))
|
||||
if err != nil {
|
||||
|
@ -154,7 +154,7 @@ func GetCmdDelegate(cdc *wire.Codec) *cobra.Command {
|
|||
func GetCmdUnbond(cdc *wire.Codec) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "unbond",
|
||||
Short: "unbond coins from a validator/validator",
|
||||
Short: "unbond shares from a validator",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
|
||||
// check the shares before broadcasting
|
||||
|
|
Loading…
Reference in New Issue