Skip to content
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

FR: Allow binary data in ibc::apps::transfer::types::Memo #1019

Open
mina86 opened this issue Dec 28, 2023 · 1 comment
Open

FR: Allow binary data in ibc::apps::transfer::types::Memo #1019

mina86 opened this issue Dec 28, 2023 · 1 comment

Comments

@mina86
Copy link
Contributor

mina86 commented Dec 28, 2023

Change ibc::apps::transfer::types::Memo type to wrap Vec<u8> rather than a String so that it doesn’t have to be valid UTF-8. With ICS-20 memo is used to transfer machine-readable instructions to execute after a transfer. However, the field being a String forces them to be valid UTF-8. In some situations, this prevents most efficient memo representation to be used.

For example, on Ethereum one might define memo to use/include Ethereum ABI encoded function call but to be able to include that in memo it must be UTF-8 which forces users to waste time and space doing hex or base64 encoding.

Notably, in Proto converting string field into bytes is backwards compatible. Furthermore, Go (as far as I know) accepts invalid encoding within string type.

@mina86
Copy link
Contributor Author

mina86 commented Feb 12, 2024

Was there any progress or discussion on this topic anywhere?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 📥 To Do
Development

No branches or pull requests

1 participant