From bd626ba94e4f0c113fac29a5702b552a5cf43f34 Mon Sep 17 00:00:00 2001 From: Christopher Goes Date: Mon, 9 Apr 2018 17:59:01 +0200 Subject: [PATCH] Helper function --- client/context/viper.go | 16 ++++++++++++++++ x/bank/commands/sendtx.go | 14 +++----------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/client/context/viper.go b/client/context/viper.go index 9a1cd5d0d..115311f11 100644 --- a/client/context/viper.go +++ b/client/context/viper.go @@ -2,6 +2,7 @@ package context import ( "encoding/json" + "fmt" "github.com/spf13/viper" "io/ioutil" @@ -47,3 +48,18 @@ func NewCoreContextFromViper() core.CoreContext { AccountStore: "main", } } + +// Automatically set sequence number +func AutoSequence(ctx core.CoreContext) (core.CoreContext, error) { + from, err := ctx.GetFromAddress() + if err != nil { + return ctx, err + } + seq, err := ctx.NextSequence(from) + if err != nil { + return ctx, err + } + fmt.Printf("Defaulting to next sequence number: %d\n", seq) + ctx = ctx.WithSequence(seq) + return ctx, nil +} diff --git a/x/bank/commands/sendtx.go b/x/bank/commands/sendtx.go index 17bf26870..a37e969a6 100644 --- a/x/bank/commands/sendtx.go +++ b/x/bank/commands/sendtx.go @@ -64,17 +64,9 @@ func (c Commander) sendTxCmd(cmd *cobra.Command, args []string) error { msg := BuildMsg(from, to, coins) // default to next sequence number if none provided - if viper.GetInt64(client.FlagSequence) == 0 { - from, err := ctx.GetFromAddress() - if err != nil { - return err - } - seq, err := ctx.NextSequence(from) - if err != nil { - return err - } - fmt.Printf("Defaulting to next sequence number: %d\n", seq) - ctx = ctx.WithSequence(seq) + ctx, err = context.AutoSequence(ctx) + if err != nil { + return err } // build and sign the transaction, then broadcast to Tendermint