cosmos / solidity-ibc-eureka

This is a work-in-progress solidity implementation of IBC Eureka.
MIT License
29 stars 3 forks source link

IBC Spec conformity analysis #97

Open gjermundgaraba opened 1 week ago

gjermundgaraba commented 1 week ago

To make sure the Solidity implementation follows the IBC Eureka spec, we need to do an analysis of the current implementation and see where we might be diverging from the spec. Once we have done that, we can go through those items and make plans to change them, or, if there are good reasons not to, document them.

sangier commented 1 week ago

E.g. in the solidity onRecvPacket the error handling is not aligned with the spec as it use errorAcks differently.

srdtrk commented 1 week ago

Can you elaborate about error acks @sangier ?

sangier commented 1 week ago

Sure! E.g. In ICS20v1 in the onRecv :

In the solidity implementation:

There may be other cases like that, I haven't fully checked the code yet. Anyway that's an opportunity to clarify explicitly how we wanna implement the error handling behaviour: when to revert, when to error ack? why?