You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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
andpacket_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 thekey
andvalue
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
andstring
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
The text was updated successfully, but these errors were encountered: