Skip to content

Commit

Permalink
Merge branch 'develop' into jack/gaiacli-config-node
Browse files Browse the repository at this point in the history
  • Loading branch information
jackzampolin authored Jan 28, 2019
2 parents 75c24fd + bb76903 commit 5476c4e
Show file tree
Hide file tree
Showing 8 changed files with 108 additions and 16 deletions.
4 changes: 3 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@
* @ebuchman @rigelrozanski @cwgoes

# Precious documentation
/docs/ @zramsay @jolesbi
/docs/README.md @zramsay
/docs/DOCS_README.md @zramsay
/docs/.vuepress/ @zramsay
1 change: 1 addition & 0 deletions PENDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ BREAKING CHANGES
* Gaia REST API (`gaiacli advanced rest-server`)

* Gaia CLI (`gaiacli`)
- [#3399](https://github.com/cosmos/cosmos-sdk/pull/3399) Add `gaiad validate-genesis` command to facilitate checking of genesis files

* Gaia

Expand Down
11 changes: 11 additions & 0 deletions cmd/gaia/cli_test/cli_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -982,3 +982,14 @@ func TestSlashingGetParams(t *testing.T) {
require.Equal(t, int64(0), sinfo.StartHeight)
require.False(t, sinfo.Tombstoned)
}

func TestValidateGenesis(t *testing.T) {
t.Parallel()
f := InitFixtures(t)

// start gaiad server
proc := f.GDStart()
defer proc.Stop(false)

f.ValidateGenesis()
}
6 changes: 6 additions & 0 deletions cmd/gaia/cli_test/test_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,12 @@ func (f *Fixtures) GDTendermint(query string) string {
return strings.TrimSpace(stdout)
}

// ValidateGenesis runs gaiad validate-genesis
func (f *Fixtures) ValidateGenesis() {
cmd := fmt.Sprintf("gaiad validate-genesis --home=%s", f.GDHome)
executeWriteCheckErr(f.T, cmd)
}

//___________________________________________________________________________________
// gaiacli keys

Expand Down
1 change: 1 addition & 0 deletions cmd/gaia/cmd/gaiad/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ func main() {
rootCmd.AddCommand(gaiaInit.TestnetFilesCmd(ctx, cdc))
rootCmd.AddCommand(gaiaInit.GenTxCmd(ctx, cdc))
rootCmd.AddCommand(gaiaInit.AddGenesisAccountCmd(ctx, cdc))
rootCmd.AddCommand(gaiaInit.ValidateGenesisCmd(ctx, cdc))
rootCmd.AddCommand(client.NewCompletionCmd(rootCmd, true))

server.AddCommands(ctx, cdc, rootCmd, newApp, exportAppStateAndTMValidators)
Expand Down
52 changes: 52 additions & 0 deletions cmd/gaia/init/validate_genesis.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package init

import (
"fmt"
"os"

"github.com/cosmos/cosmos-sdk/cmd/gaia/app"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/server"
"github.com/pkg/errors"
"github.com/spf13/cobra"
"github.com/tendermint/tendermint/types"
)

// Validate genesis command takes
func ValidateGenesisCmd(ctx *server.Context, cdc *codec.Codec) *cobra.Command {
return &cobra.Command{
Use: "validate-genesis [file]",
Args: cobra.RangeArgs(0, 1),
Short: "validates the genesis file at the default location or at the location passed as an arg",
RunE: func(cmd *cobra.Command, args []string) (err error) {

// Load default if passed no args, otherwise load passed file
var genesis string
if len(args) == 0 {
genesis = ctx.Config.GenesisFile()
} else {
genesis = args[0]
}

//nolint
fmt.Fprintf(os.Stderr, "validating genesis file at %s\n", genesis)

var genDoc types.GenesisDoc
if genDoc, err = loadGenesisDoc(cdc, genesis); err != nil {
return errors.Errorf("Error loading genesis doc from %s: %s", genesis, err.Error())
}

var genstate app.GenesisState
if err = cdc.UnmarshalJSON(genDoc.AppState, &genstate); err != nil {
return errors.Errorf("Error unmarshaling genesis doc %s: %s", genesis, err.Error())
}

if err = app.GaiaValidateGenesisState(genstate); err != nil {
return errors.Errorf("Error validating genesis file %s: %s", genesis, err.Error())
}

fmt.Printf("File at %s is a valid genesis file for gaiad\n", genesis)
return nil
},
}
}
2 changes: 1 addition & 1 deletion docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ module.exports = {
},
nav: [
{ text: "Back to Cosmos", link: "https://cosmos.network" },
{ text: "RPC", link: "../rpc/" }
{ text: "RPC", link: "https://cosmos.network/rpc/" }
],
sidebar: [
{
Expand Down
47 changes: 33 additions & 14 deletions x/auth/account.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,20 @@ type BaseAccount struct {

// String implements fmt.Stringer
func (acc BaseAccount) String() string {
return fmt.Sprintf(`Account %s:
var pubkey string

if acc.PubKey != nil {
pubkey = sdk.MustBech32ifyAccPub(acc.PubKey)
}

return fmt.Sprintf(`Account:
Address: %s
Pubkey: %s
Coins: %s
PubKey: %s
AccountNumber: %d
Sequence: %d`, acc.Address, acc.Coins,
acc.PubKey.Address(), acc.AccountNumber, acc.Sequence)
Sequence: %d`,
acc.Address, pubkey, acc.Coins, acc.AccountNumber, acc.Sequence,
)
}

// Prototype function for BaseAccount
Expand Down Expand Up @@ -183,19 +191,24 @@ type BaseVestingAccount struct {

// String implements fmt.Stringer
func (bva BaseVestingAccount) String() string {
var pubkey string

if bva.PubKey != nil {
pubkey = sdk.MustBech32ifyAccPub(bva.PubKey)
}

return fmt.Sprintf(`Vesting Account:
Address: %s
Address: %s
Pubkey: %s
Coins: %s
AccountNumber: %d
Sequence: %d
OriginalVesting: %s
DelegatedFree: %s
DelegatedVesting: %s
EndTime: %d `,
bva.Address, bva.Coins,
bva.AccountNumber, bva.Sequence,
bva.OriginalVesting, bva.DelegatedFree,
bva.DelegatedVesting, bva.EndTime,
bva.Address, pubkey, bva.Coins, bva.AccountNumber, bva.Sequence,
bva.OriginalVesting, bva.DelegatedFree, bva.DelegatedVesting, bva.EndTime,
)
}

Expand Down Expand Up @@ -395,8 +408,15 @@ func NewContinuousVestingAccount(
}

func (cva ContinuousVestingAccount) String() string {
var pubkey string

if cva.PubKey != nil {
pubkey = sdk.MustBech32ifyAccPub(cva.PubKey)
}

return fmt.Sprintf(`Continuous Vesting Account:
Address: %s
Address: %s
Pubkey: %s
Coins: %s
AccountNumber: %d
Sequence: %d
Expand All @@ -405,10 +425,9 @@ func (cva ContinuousVestingAccount) String() string {
DelegatedVesting: %s
StartTime: %d
EndTime: %d `,
cva.Address, cva.Coins,
cva.AccountNumber, cva.Sequence,
cva.OriginalVesting, cva.DelegatedFree,
cva.DelegatedVesting, cva.StartTime, cva.EndTime,
cva.Address, pubkey, cva.Coins, cva.AccountNumber, cva.Sequence,
cva.OriginalVesting, cva.DelegatedFree, cva.DelegatedVesting,
cva.StartTime, cva.EndTime,
)
}

Expand Down

0 comments on commit 5476c4e

Please sign in to comment.