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

Use the CometBFT v0.34 definition of tendermint.abci.Event which does not enforce valid UTF-8 data #181

Closed
romac opened this issue Jan 18, 2024 · 0 comments · Fixed by #180

Comments

@romac
Copy link
Member

romac commented Jan 18, 2024

While investigating an issue in Hermes where it failed to relay ICS-04 packets containing non-UTF-8 data, we realized that ibc-go emits event attributes which are not valid UTF-8 strings, specifically the packet_data and packet_ack event attributes.

Such events fail to decode from Protobuf, because the tendermint.abci.Event proto that we use is the one from CometBFT v0.37+ which specifies that the key and value fields be valid UTF-8 strings.

I suggest we change the version of tendermint.abci.Event to v0.34, where attributes are allowed to be any byte array. In Protobuf, bytes and string are wire-compatible, so doing this would strictly increase the amount fo data we can parse.

See this Hermes PR for background information: informalsystems/hermes#3768

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant