-
Notifications
You must be signed in to change notification settings - Fork 973
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarifying the legibility of binary values in text memo #2310
Comments
You are correct, the payload for |
Thank you for the quick reply. |
@MonsieurNicolas How hard would it be to introduce another type |
I can't answer for Stellar teams, but it seems like a backward-compatibility breaking change. So far, my observation is that Stellar devs have been avoiding this like plague, which is the usual practice in blockchain environments. Of course, in term of classical software development, it is a reasonable change. In fact, in Cosmic.link, I use a virtual "base64" (binary) type. To answer your question, I think the issues could be:
Finally, after all those troubles, you could still fail to guarantee that your string is universally printable because:
So really, you would have printable strings only on the paper. I think this is more reasonable to implement an "unclean" fix into Trezor right now than asking Stellar to go through all that trouble. What you could do is handle the MEMO_TEXT type the same way you handle manageData |
@MisterTicot is right on point. It doesn't seem to really improve what SDKs have to do. |
Documentation from various places, such as there states that MEMO_TEXT must be a string encoded in ASCII or UTF-8.
In practice, this is possible to use any arbitrary (=binary) value. For example, I just validated a transaction with base64 memo ABCD: here.
One can make the case that an ASCII/UTF-8 strings can be made of any binary data anyway, but that's not what most reader assume when reading that the value must be an ASCII/UTF-8 string.
I suggest that the documentation gets updated to better match the network behavior, or alternatively that the desired behavior gets enforced by the network.
Meanwhile, please let me know if this is intended, as there's a discussion going on about whether or not Trezor should allow for binary data in MEMO_TEXT: trezor/trezor-firmware#610
The text was updated successfully, but these errors were encountered: