diff --git a/cmd/goal/clerk.go b/cmd/goal/clerk.go index 5359c372ff..3e574002b5 100644 --- a/cmd/goal/clerk.go +++ b/cmd/goal/clerk.go @@ -724,7 +724,7 @@ var signCmd = &cobra.Command{ } var lsig transactions.LogicSig - + var authAddr basics.Address var client libgoal.Client var wh []byte var pw []byte @@ -743,6 +743,11 @@ var signCmd = &cobra.Command{ dataDir := ensureSingleDataDir() client = ensureKmdClient(dataDir) wh, pw = ensureWalletHandleMaybePassword(dataDir, walletName, true) + } else if signerAddress != "" { + authAddr, err = basics.UnmarshalChecksumAddress(signerAddress) + if err != nil { + reportErrorf("Signer invalid (%s): %v", signerAddress, err) + } } var outData []byte @@ -790,6 +795,9 @@ var signCmd = &cobra.Command{ for _, txn := range txnGroups[group] { if lsig.Logic != nil { txn.Lsig = lsig + if signerAddress != "" { + txn.AuthAddr = authAddr + } } txnGroup = append(txnGroup, *txn) }