diff --git a/cmd/goal/application.go b/cmd/goal/application.go index c92bab2b91..2ed7eed2d8 100644 --- a/cmd/goal/application.go +++ b/cmd/goal/application.go @@ -176,12 +176,10 @@ func init() { infoAppCmd.MarkFlagRequired("app-id") - methodAppCmd.MarkFlagRequired("method") // nolint:errcheck // follow previous required flag format - methodAppCmd.MarkFlagRequired("app-id") // nolint:errcheck - methodAppCmd.MarkFlagRequired("from") // nolint:errcheck - methodAppCmd.Flags().MarkHidden("app-arg") // nolint:errcheck - methodAppCmd.Flags().MarkHidden("app-input") // nolint:errcheck - methodAppCmd.Flags().MarkHidden("i") // nolint:errcheck + methodAppCmd.MarkFlagRequired("method") // nolint:errcheck // follow previous required flag format + methodAppCmd.MarkFlagRequired("app-id") // nolint:errcheck + methodAppCmd.MarkFlagRequired("from") // nolint:errcheck + methodAppCmd.Flags().MarkHidden("app-arg") // nolint:errcheck } type appCallArg struct { @@ -1116,6 +1114,20 @@ var methodAppCmd = &cobra.Command{ tx.Fee = basics.MicroAlgos{Raw: fee} } + if outFilename != "" { + if dumpForDryrun { + err = writeDryrunReqToFile(client, tx, outFilename) + } else { + // Write transaction to file + err = writeTxnToFile(client, sign, dataDir, walletName, tx, outFilename) + } + + if err != nil { + reportErrorf(err.Error()) + } + return + } + // Broadcast wh, pw := ensureWalletHandleMaybePassword(dataDir, walletName, true) signedTxn, err := client.SignTransactionWithWallet(wh, pw, tx) @@ -1180,7 +1192,7 @@ var methodAppCmd = &cobra.Command{ if err != nil { reportErrorf("cannot marshal returned bytes %v to JSON: %v", decoded, err) } - fmt.Printf("method %s output: %s", method, string(decodedJSON)) + fmt.Printf("method %s output: %s\n", method, string(decodedJSON)) } }, }