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
I found that connection.state allowed to be INIT or TRYOPEN in connectionOpenAck function of contracts/core/03-connection/IBCConnection.sol. I don't understand when connection.state is TRYOPEN and connectionOpenAck can be executed successfully. Since connectionOpenAck requires counterparty connection in TRYOPEN state, connectionOpenTry requires conterparty connection in INIT state and there is no way that connection can go to TRYOPEN from INIT, I think connectionOpenAck can't be executed successfully if connection.state is TRYOPEN. Is there any purpose I don't understand?
The text was updated successfully, but these errors were encountered:
In previous versions(e.g. v1.0.0) of ibc-go, it was possible for a chain that executed ConnOpenInit to execute ConnOpenTry by referencing a previous connection. Consequently, there could be both INIT and TRY_OPEN as a previous connection state on ConnOpenAck.
However, the latest ics-03 does not support referencing a previous connection on ConnOpenTry, so only INIT should be allowed as a previous state on ConnOpenACK. Therefore, ibc-solidity needs to be fixed in the same way.
I found that
connection.state
allowed to beINIT
orTRYOPEN
inconnectionOpenAck
function of contracts/core/03-connection/IBCConnection.sol. I don't understand whenconnection.state
isTRYOPEN
andconnectionOpenAck
can be executed successfully. SinceconnectionOpenAck
requires counterparty connection inTRYOPEN
state,connectionOpenTry
requires conterparty connection inINIT
state and there is no way that connection can go toTRYOPEN
fromINIT
, I thinkconnectionOpenAck
can't be executed successfully ifconnection.state
isTRYOPEN
. Is there any purpose I don't understand?The text was updated successfully, but these errors were encountered: