Currently, in IBC Eureka, the packet commitments are 33 bytes due to the addition of a fixed-length preimage after the final hashing of the key.
This causes issues in Solidity where variable-length arrays are much more expensive and cumbersome to handle. To be able to use bytes32 in Solidity, we should add the fixed-length preimage to the byte array before doing the final hash.
Currently, in IBC Eureka, the packet commitments are 33 bytes due to the addition of a fixed-length preimage after the final hashing of the key.
This causes issues in Solidity where variable-length arrays are much more expensive and cumbersome to handle. To be able to use bytes32 in Solidity, we should add the fixed-length preimage to the byte array before doing the final hash.
Something like this: