Skip to content

Commit

Permalink
Remove error from cliCtx.GetFrom* function signatures and fix call sites
Browse files Browse the repository at this point in the history
  • Loading branch information
jackzampolin committed Jan 20, 2019
1 parent 3503146 commit 565828a
Show file tree
Hide file tree
Showing 12 changed files with 42 additions and 162 deletions.
24 changes: 10 additions & 14 deletions client/context/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,16 +100,6 @@ func (ctx *CLIContext) PrepareTxBldrOffline() {
ctx.TxBldr = authtxb.NewTxBuilderFromCLI().WithTxEncoder(GetTxEncoder(ctx.Codec))
}

// PrepareTxBldr sets the transaction builder for the context while
// setting the sequence and account numbers
func (ctx *CLIContext) PrepareTxBldr() error {
from, err := ctx.GetFromAddress()
if err != nil {
return err
}
return ctx.PrepareTxBldrWithAddress(from)
}

// PrepareTxBldrWithAddress looks up the acc and seq numbs for an addr, also
// ensuring it exists
func (ctx *CLIContext) PrepareTxBldrWithAddress(addr sdk.AccAddress) error {
Expand Down Expand Up @@ -148,13 +138,19 @@ func (ctx *CLIContext) GetAccountDecoder() auth.AccountDecoder {
}

// GetFromAddress returns the from address from the context's name.
func (ctx *CLIContext) GetFromAddress() (sdk.AccAddress, error) {
return ctx.fromAddress, nil
func (ctx *CLIContext) FromAddr() sdk.AccAddress {
return ctx.fromAddress
}

// GetFromAddress returns the from address from the context's name
// in validator format
func (ctx *CLIContext) FromValAddr() sdk.ValAddress {
return sdk.ValAddress(ctx.fromAddress.Bytes())
}

// GetFromName returns the key name for the current context.
func (ctx *CLIContext) GetFromName() (string, error) {
return ctx.fromName, nil
func (ctx *CLIContext) FromName() string {
return ctx.fromName
}

// SetNode returns a copy of the context with an updated node URI.
Expand Down
21 changes: 6 additions & 15 deletions client/context/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,13 @@ import (
//
// NOTE: Also see CompleteAndBroadcastTxREST.
func (ctx *CLIContext) CompleteAndBroadcastTxCli(msgs []sdk.Msg) error {
err := ctx.PrepareTxBldr()
if err != nil {
return err
}

name, err := ctx.GetFromName()
err := ctx.PrepareTxBldrWithAddress(ctx.FromAddr())
if err != nil {
return err
}

if ctx.TxBldr.GetSimulateAndExecute() || ctx.Simulate {
err = ctx.EnrichCtxWithGas(name, msgs)
err = ctx.EnrichCtxWithGas(ctx.FromName(), msgs)
if err != nil {
return err
}
Expand All @@ -44,13 +39,13 @@ func (ctx *CLIContext) CompleteAndBroadcastTxCli(msgs []sdk.Msg) error {
return nil
}

passphrase, err := keys.GetPassphrase(name)
passphrase, err := keys.GetPassphrase(ctx.FromName())
if err != nil {
return err
}

// build and sign the transaction
txBytes, err := ctx.TxBldr.BuildAndSign(name, passphrase, msgs)
txBytes, err := ctx.TxBldr.BuildAndSign(ctx.FromName(), passphrase, msgs)
if err != nil {
return err
}
Expand Down Expand Up @@ -202,7 +197,7 @@ func (ctx *CLIContext) simulateMsgs(name string, msgs []sdk.Msg) (uint64, uint64
// buildUnsignedStdTx builds a StdTx as per the parameters passed in the
// contexts. Gas is automatically estimated if gas wanted is set to 0.
func (ctx *CLIContext) buildUnsignedStdTx(msgs []sdk.Msg) (stdTx auth.StdTx, err error) {
err = ctx.PrepareTxBldr()
err = ctx.PrepareTxBldrWithAddress(ctx.FromAddr())
if err != nil {
return
}
Expand All @@ -211,11 +206,7 @@ func (ctx *CLIContext) buildUnsignedStdTx(msgs []sdk.Msg) (stdTx auth.StdTx, err

func (ctx *CLIContext) buildUnsignedStdTxOffline(msgs []sdk.Msg) (stdTx auth.StdTx, err error) {
if ctx.TxBldr.GetSimulateAndExecute() {
var name string
name, err = ctx.GetFromName()
if err != nil {
return
}
var name = ctx.FromName()

err = ctx.EnrichCtxWithGas(name, msgs)
if err != nil {
Expand Down
16 changes: 2 additions & 14 deletions docs/examples/democoin/x/cool/client/cli/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,7 @@ func QuizTxCmd(cdc *codec.Codec) *cobra.Command {
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
cliCtx := context.NewCLIContextTx(cdc)

from, err := cliCtx.GetFromAddress()
if err != nil {
return err
}

return cliCtx.MessageOutput(cool.NewMsgQuiz(from, args[0]))
return cliCtx.MessageOutput(cool.NewMsgQuiz(cliCtx.FromAddr(), args[0]))
},
}
}
Expand All @@ -35,13 +29,7 @@ func SetTrendTxCmd(cdc *codec.Codec) *cobra.Command {
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
cliCtx := context.NewCLIContextTx(cdc)

from, err := cliCtx.GetFromAddress()
if err != nil {
return err
}

return cliCtx.MessageOutput(cool.NewMsgSetTrend(from, args[0]))
return cliCtx.MessageOutput(cool.NewMsgSetTrend(cliCtx.FromAddr(), args[0]))
},
}
}
8 changes: 2 additions & 6 deletions docs/examples/democoin/x/pow/client/cli/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,6 @@ func MineCmd(cdc *codec.Codec) *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
cliCtx := context.NewCLIContextTx(cdc)

from, err := cliCtx.GetFromAddress()
if err != nil {
return err
}

difficulty, err := strconv.ParseUint(args[0], 0, 64)
if err != nil {
return err
Expand All @@ -39,7 +34,8 @@ func MineCmd(cdc *codec.Codec) *cobra.Command {
return err
}

return cliCtx.MessageOutput(pow.NewMsgMine(from, difficulty, count, nonce, []byte(args[3])))
msg := pow.NewMsgMine(cliCtx.FromAddr(), difficulty, count, nonce, []byte(args[3]))
return cliCtx.MessageOutput(msg)
},
}
}
15 changes: 2 additions & 13 deletions docs/examples/democoin/x/simplestaking/client/cli/commands.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,6 @@ func BondTxCmd(cdc *codec.Codec) *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
cliCtx := context.NewCLIContextTx(cdc)

from, err := cliCtx.GetFromAddress()
if err != nil {
return err
}

stakingString := viper.GetString(flagStake)
if len(stakingString) == 0 {
return fmt.Errorf("specify coins to bond with --staking")
Expand All @@ -56,7 +51,7 @@ func BondTxCmd(cdc *codec.Codec) *cobra.Command {
var pubKeyEd ed25519.PubKeyEd25519
copy(pubKeyEd[:], rawPubKey)

return cliCtx.MessageOutput(simplestaking.NewMsgBond(from, staking, pubKeyEd))
return cliCtx.MessageOutput(simplestaking.NewMsgBond(cliCtx.FromAddr(), staking, pubKeyEd))
},
}

Expand All @@ -73,13 +68,7 @@ func UnbondTxCmd(cdc *codec.Codec) *cobra.Command {
Short: "Unbond from a validator",
RunE: func(cmd *cobra.Command, args []string) error {
cliCtx := context.NewCLIContextTx(cdc)

from, err := cliCtx.GetFromAddress()
if err != nil {
return err
}

return cliCtx.MessageOutput(simplestaking.NewMsgUnbond(from))
return cliCtx.MessageOutput(simplestaking.NewMsgUnbond(cliCtx.FromAddr()))
},
}
}
7 changes: 2 additions & 5 deletions x/bank/client/cli/sendtx.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,9 @@ func SendTxCmd(cdc *codec.Codec) *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
cliCtx := context.NewCLIContextTx(cdc)

addr, err := cliCtx.GetFromAddress()
if err != nil {
return err
}
addr := cliCtx.FromAddr()

if err = cliCtx.EnsureAccountExists(addr); err != nil {
if err := cliCtx.EnsureAccountExists(addr); err != nil {
return err
}

Expand Down
21 changes: 3 additions & 18 deletions x/distribution/client/cli/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,24 +56,14 @@ func GetCmdWithdrawRewards(cdc *codec.Codec) *cobra.Command {
var msg sdk.Msg
switch {
case isVal:
addr, err := cliCtx.GetFromAddress()
if err != nil {
return err
}
valAddr := sdk.ValAddress(addr.Bytes())
msg = types.NewMsgWithdrawValidatorCommission(valAddr)
msg = types.NewMsgWithdrawValidatorCommission(cliCtx.FromValAddr())
default:
delAddr, err := cliCtx.GetFromAddress()
if err != nil {
return err
}

valAddr, err := sdk.ValAddressFromBech32(onlyFromVal)
if err != nil {
return err
}

msg = types.NewMsgWithdrawDelegatorReward(delAddr, valAddr)
msg = types.NewMsgWithdrawDelegatorReward(cliCtx.FromAddr(), valAddr)
}

// build and sign the transaction, then broadcast to Tendermint
Expand All @@ -94,17 +84,12 @@ func GetCmdSetWithdrawAddr(cdc *codec.Codec) *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
cliCtx := context.NewCLIContextTx(cdc)

delAddr, err := cliCtx.GetFromAddress()
if err != nil {
return err
}

withdrawAddr, err := sdk.AccAddressFromBech32(args[0])
if err != nil {
return err
}

return cliCtx.MessageOutput(types.NewMsgSetWithdrawAddress(delAddr, withdrawAddr))
return cliCtx.MessageOutput(types.NewMsgSetWithdrawAddress(cliCtx.FromAddr(), withdrawAddr))
},
}
}
23 changes: 4 additions & 19 deletions x/gov/client/cli/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,7 @@ $ gaiacli gov submit-proposal --title="Test Proposal" --description="My awesome
}

// Get from address
from, err := cliCtx.GetFromAddress()
if err != nil {
return err
}
from := cliCtx.FromAddr()

// Pull associated account
account, err := cliCtx.FetchAccount(from)
Expand Down Expand Up @@ -176,14 +173,8 @@ $ gaiacli tx gov deposit 1 10stake --from mykey
return gcutils.FailedToFectchProposal(proposalID, err)
}

// Get from address
from, err := cliCtx.GetFromAddress()
if err != nil {
return err
}

// Fetch associated account
account, err := cliCtx.FetchAccount(from)
account, err := cliCtx.FetchAccount(cliCtx.FromAddr())
if err != nil {
return err
}
Expand All @@ -199,7 +190,7 @@ $ gaiacli tx gov deposit 1 10stake --from mykey
return context.ErrInsufficientFunds(account, amount)
}

return cliCtx.MessageOutput(gov.NewMsgDeposit(from, proposalID, amount))
return cliCtx.MessageOutput(gov.NewMsgDeposit(cliCtx.FromAddr(), proposalID, amount))
},
}
}
Expand All @@ -218,12 +209,6 @@ $ gaiacli tx gov vote 1 yes --from mykey
RunE: func(cmd *cobra.Command, args []string) error {
cliCtx := context.NewCLIContextTx(cdc)

// Get voting address
from, err := cliCtx.GetFromAddress()
if err != nil {
return err
}

// validate that the proposal id is a uint
proposalID, err := strconv.ParseUint(args[0], 10, 64)
if err != nil {
Expand All @@ -243,7 +228,7 @@ $ gaiacli tx gov vote 1 yes --from mykey
}

// Build vote message and run basic validation
return cliCtx.MessageOutput(gov.NewMsgVote(from, proposalID, byteVoteOption))
return cliCtx.MessageOutput(gov.NewMsgVote(cliCtx.FromAddr(), proposalID, byteVoteOption))
},
}
}
6 changes: 1 addition & 5 deletions x/ibc/client/cli/ibctx.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,11 @@ func IBCTransferCmd(cdc *codec.Codec) *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
cliCtx := context.NewCLIContextTx(cdc)

from, err := cliCtx.GetFromAddress()
msg, err := buildMsg(cliCtx.FromAddr())
if err != nil {
return err
}

msg, err := buildMsg(from)
if err != nil {
return err
}
return cliCtx.MessageOutput(msg)
},
}
Expand Down
21 changes: 3 additions & 18 deletions x/ibc/client/cli/relay.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,25 +80,15 @@ func (c relayCommander) runIBCRelay(cmd *cobra.Command, args []string) {
toChainID := viper.GetString(FlagToChainID)
toChainNode := viper.GetString(FlagToChainNode)

address, err := context.NewCLIContext(c.cdc).GetFromAddress()
if err != nil {
panic(err)
}

c.address = address

c.address = context.NewCLIContext(c.cdc).FromAddr()
c.loop(fromChainID, fromChainNode, toChainID, toChainNode)
}

// This is nolinted as someone is in the process of refactoring this to remove the goto
func (c relayCommander) loop(fromChainID, fromChainNode, toChainID, toChainNode string) {
cliCtx := context.NewCLIContext(c.cdc)

name, err := cliCtx.GetFromName()
if err != nil {
panic(err)
}
passphrase, err := keys.ReadPassphraseFromStdin(name)
passphrase, err := keys.ReadPassphraseFromStdin(cliCtx.FromName())
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -204,12 +194,7 @@ func (c relayCommander) refine(bz []byte, ibcSeq, accSeq uint64, passphrase stri

cliCtx := context.NewCLIContextTx(c.cdc)

name, err := cliCtx.GetFromName()
if err != nil {
panic(err)
}

res, err := cliCtx.TxBldr.BuildAndSign(name, passphrase, []sdk.Msg{msg})
res, err := cliCtx.TxBldr.BuildAndSign(cliCtx.FromName(), passphrase, []sdk.Msg{msg})
if err != nil {
panic(err)
}
Expand Down
9 changes: 1 addition & 8 deletions x/slashing/client/cli/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package cli
import (
"github.com/cosmos/cosmos-sdk/client/context"
"github.com/cosmos/cosmos-sdk/codec"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/slashing"

"github.com/spf13/cobra"
Expand All @@ -17,13 +16,7 @@ func GetCmdUnjail(cdc *codec.Codec) *cobra.Command {
Short: "unjail validator previously jailed for downtime",
RunE: func(cmd *cobra.Command, args []string) error {
cliCtx := context.NewCLIContextTx(cdc)

valAddr, err := cliCtx.GetFromAddress()
if err != nil {
return err
}

return cliCtx.MessageOutput(slashing.NewMsgUnjail(sdk.ValAddress(valAddr)))
return cliCtx.MessageOutput(slashing.NewMsgUnjail(cliCtx.FromValAddr()))
},
}
}
Loading

0 comments on commit 565828a

Please sign in to comment.