icon-project / xcall-multi

Apache License 2.0
10 stars 8 forks source link

Differences in XCall empty reply encoding. #291

Closed AntonAndell closed 3 months ago

AntonAndell commented 3 months ago

When xCall creates a CallMessageResult it can contain a reply. If no reply Java encodes this as null and uses Nullable RLP and thus also expects null. While it is instead is empty XCall java tries to decode it as a Call Message, which causes it to fail.

In EVM and Cosmwasm it is okey since it handles nullable decoding correctly but parses it to a empty array in solidity and isSome in rust covers both cases automatically.