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
Labels
O: usability Objective: aims to enhance user experience (UX) and streamline product usability

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.

@github-project-automation github-project-automation bot moved this to 📥 To Do in ibc-rs Jan 1, 2024
@mina86
Copy link
Contributor Author

mina86 commented Feb 12, 2024

Was there any progress or discussion on this topic anywhere?

@rnbguy rnbguy added the O: usability Objective: aims to enhance user experience (UX) and streamline product usability label Jun 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O: usability Objective: aims to enhance user experience (UX) and streamline product usability
Projects
Status: 📥 To Do
Development

No branches or pull requests

2 participants