From 47cc91e8e5f3ad5b4eb1983fae7bf3acd09a131d Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Tue, 12 Jun 2018 22:59:33 -0700 Subject: [PATCH] gaiadebug: raw-bytes command --- cmd/gaia/cmd/gaiadebug/main.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/cmd/gaia/cmd/gaiadebug/main.go b/cmd/gaia/cmd/gaiadebug/main.go index 914746dbd..79045c07b 100644 --- a/cmd/gaia/cmd/gaiadebug/main.go +++ b/cmd/gaia/cmd/gaiadebug/main.go @@ -7,6 +7,8 @@ import ( "encoding/json" "fmt" "os" + "strconv" + "strings" gaia "github.com/cosmos/cosmos-sdk/cmd/gaia/app" "github.com/cosmos/cosmos-sdk/x/auth" @@ -18,6 +20,7 @@ func init() { rootCmd.AddCommand(txCmd) rootCmd.AddCommand(pubkeyCmd) rootCmd.AddCommand(hackCmd) + rootCmd.AddCommand(rawBytesCmd) } var rootCmd = &cobra.Command{ @@ -44,6 +47,33 @@ var hackCmd = &cobra.Command{ RunE: runHackCmd, } +var rawBytesCmd = &cobra.Command{ + Use: "raw-bytes", + Short: "Convert raw bytes output (eg. [10 21 13 255]) to hex", + RunE: runRawBytesCmd, +} + +func runRawBytesCmd(cmd *cobra.Command, args []string) error { + if len(args) != 1 { + return fmt.Errorf("Expected single arg") + } + stringBytes := args[0] + stringBytes = strings.Trim(stringBytes, "[") + stringBytes = strings.Trim(stringBytes, "]") + spl := strings.Split(stringBytes, " ") + + byteArray := []byte{} + for _, s := range spl { + b, err := strconv.Atoi(s) + if err != nil { + return err + } + byteArray = append(byteArray, byte(b)) + } + fmt.Printf("%X\n", byteArray) + return nil +} + func runPubKeyCmd(cmd *cobra.Command, args []string) error { if len(args) != 1 { return fmt.Errorf("Expected single arg")