Do not assume packet payload to be a valid UTF-8 string #3770
Labels
A: bug
Admin: something isn't working
A: critical
Admin: critical or important
I: protocol
Internal: related to IBC protocol changes (eg. v2 update)
Milestone
Summary of Bug
Hermers currently assumes that the ICS-04 packet data is valid UTF-8, as it relies on the deprecated
packet_data
attribute when reconstructing a packet.Relying on the
packet_data
attribute enforces a UTF-8 encoded payload (eg. JSON), disallowing Protobuf-encoded payloads which we are starting to see in the wild.The
packet_data
atttribute [has been deprecated][0] in favor ofpacket_data_hex
since IBC-Go v1.0.0.Instead we should use
packet_data_hex
which is a hex-encoded string.Version
master
Steps to Reproduce
Sending a packet with a Protobuf-encoded payload results in this error when Hermes attempts to relay it:
Acceptance Criteria
Hermes can relay packets with Protobuf-encoded payloads.
For Admin Use
The text was updated successfully, but these errors were encountered: