From a11d16faa0c5b071781e445a000c022af287f2df Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 13 Sep 2019 17:02:47 -0400 Subject: [PATCH] Add RequestPayment to wallet api --- types.go | 1 + wallet.go | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/types.go b/types.go index a393031..bbf54bf 100644 --- a/types.go +++ b/types.go @@ -499,6 +499,7 @@ type keybase interface { loggedIn() bool username() string version() string + RequestPayment(user string, amount float64, memo ...string) } type status struct { diff --git a/wallet.go b/wallet.go index 20078b1..24c749f 100644 --- a/wallet.go +++ b/wallet.go @@ -3,6 +3,7 @@ package keybase import ( "encoding/json" "errors" + "fmt" ) // walletAPIOut sends JSON requests to the wallet API and returns its response. @@ -42,9 +43,19 @@ func (k *Keybase) StellarAddress(user string) (string, error) { m.Method = "lookup" m.Params.Options.Name = user - r, err := walletAPIOut(k.Path, m) + r, err := walletAPIOut(k, m) if err != nil { return "", err } return r.Result.AccountID, err } + +// RequestPayment sends a request for payment to a user +func (k *Keybase) RequestPayment(user string, amount float64, memo ...string) error { + if len(memo) > 0 { + _, err := k.Exec("wallet", "request", user, fmt.Sprintf("%f", amount), "-m", memo[0]) + return err + } + _, err := k.Exec("wallet", "request", user, fmt.Sprintf("%f", amount)) + return err +}