elixir-stellar-client icon indicating copy to clipboard operation
elixir-stellar-client copied to clipboard

SEP-10: muxed account and memo support

Open JakeUrban opened this issue 4 years ago • 1 comments

SEP-10 Muxed Account & Memo Support

SEP-10 now supports authenticating users of shared, pooled, or omnibus Stellar accounts.

These users are either represented using a muxed account (an M... address) or a Stellar account (G...) accompanied by an ID memo.

Changes

buildChallengeTx() or the equivalent function

  • Allow muxed accounts as client account parameter values
  • Add a optional memo parameter that accepts a 64-bit integer representation and attach it to the challenge transaction returned
    • If your language does not support optional parameters, this may be a breaking change
  • Disallow muxed client accounts and memos to be passed in the same call; they are mutually exclusive parameters

readChallengeTx() or the equivalent function

  • Allow muxed accounts as source accounts of the first operation within challenge transactions
  • Add a 64-bit integer representation memo to the return value if present in the challenge transaction
    • Depending on the data type of the return value, this may be a breaking change
  • Disallow muxed client accounts and memos to be present in the challenge transaction; they are mutually exclusive

Implementations

The JS and Python SDKs have implemented this functionality, please use them as references:

  • (stellar/js-stellar-sdk#709)[https://github.com/stellar/js-stellar-sdk/pull/709] included in release v8.3.0
  • (stellarCN/py-stellar-base#521)[https://github.com/StellarCN/py-stellar-base/pull/521] included in release v4.2.0

JakeUrban avatar Sep 17 '21 17:09 JakeUrban

https://github.com/stellar/stellar-protocol/issues/1056

JakeUrban avatar Sep 17 '21 17:09 JakeUrban