Add support for SEP0029
abuiles opened this issue · comments
Add support for SEP 29. This is important to provide a simple way to protect users from forgetting memos when submitting payments to exchanges.
What would you like to see?
-
Add
server.checkMemoRequired(tx)
with support for SEP0029.
If any of the operations included intx
are of typepayment
,pathPaymentStrictReceive
,pathPaymentStrictSend
, ormergeAccount
, then the SDK will load the destination account from Horizon and check ifconfig.memo_required
is set to1
as defined in SEP0029.- While you could do the check in parallel, we decided to do a sequential check to avoid getting rate limited by SDF's public horizon which is used by default by many clients (read more here).
-
Change
server.SubmitTransaction
to always check if memo is required. -
Allow the the check to be bypassed by setting
skipMemoRequiredCheck
totrue
, but default to requiring the check:server.SubmitTransaction(tx, {skipMemoRequiredCheck: true})
-
The check should be skipped automatically if the transaction includes a memo.
You can use the following implementations as a reference:
JS SDK
: stellar/js-stellar-sdk#516Go SDK
: stellar/go#2396