-
Notifications
You must be signed in to change notification settings - Fork 383
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ICS28: Channel initialization should have a timeout #860
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this needs some more discussion. How do you prevent the TRY from succeeding after the timeout exceeds on INIT? How should the consumer chain react if this occurs?
The TRY will fail at the following line (see https://github.com/cosmos/ibc/blob/74444db64bbd4c3645f49e4780dca0a5cff843c5/spec/app/ics-028-cross-chain-validation/methods.md#ccv-pcf-cotry1):
The consumer should eventually shut down. The handshake will not be successful. |
It doesn't seem like it would? Because there is a height for which the INIT is valid, so the TRY can be submitted with that height as the proof. The INIT timeout is also measured against the initializing chain. So the timeout might occur without the TRY chain noticing. Seems like a race exists, we designed packet timeout with the counterparty time to explicitly avoid this race |
Do you refer to the TRY failing or the Consumer eventually shutting down?
It’s not about the proof. TRY will fail after the channel initialization timeout because the
Note that the channel initialization timeout of Interchain Security is not a timeout for the INIT part of the channel handshake. It's a timeout for the entire handshake. This timeout is on the provider side. The INIT is always on the consumer. Thus, the TRY chain will always be the provider, which for sure will notice a timeout occurring.
Not sure that I follow. |
Ahh ok, I misunderstood the proposal. One I mistook TRY for being executed on the consumer chain. Also it seems like you will remove the consumer chain if the full handshake is not complete by a certain time. My remaining question is still what happens to the consumer chain in this case. What will happen if it is stuck on INIT or OPEN (after ACK) when the provider chain has removed the consumer chain |
It gets stuck. It needs social consensus to deal with it: either restart the process to be a consumer or start as a sovereign. I guess we could implement some sort of Interchain Query for the consumer to query the provider and see if it was kicked out. What do you think? |
No let's not introduce a new application to handle this edge case. Social consensus is fine, I think there should be a note in the spec to mention this |
* update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names * add VSC timeout * refactor proposal names (#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * ICS28: Channel initialization should have a timeout (#860) * add init timeout * fix typo * add note on timed out channel init * update vsc timeout as per implementation Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com>
* update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names * add VSC timeout * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * ICS28: Channel initialization should have a timeout (cosmos#860) * add init timeout * fix typo * add note on timed out channel init * update vsc timeout as per implementation Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com>
* ICS20: Replace Metadata with Memo (cosmos#877) * memo string replacement * formatting Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * ICS9: remove localhost client (cosmos#878) * remove localhost client * Update CHANGELOG.md * Update README.md * fix: update comment about channel state check in `sendPacket` (cosmos#865) * update comment * typo * remove comment Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * ICS5: fix releasePort signature (cosmos#885) Signed-off-by: Jun Kimura <junkxdev@gmail.com> Signed-off-by: Jun Kimura <junkxdev@gmail.com> * ICS721: Add tokenData to PacketData (cosmos#876) * add tokenData to PacketData; improve TypeScript formatting * revert else style * extend 03-connection with a proof object for chains that can't introspect their own consensus state. (cosmos#839) * extend 03-connection with HostConsensusStateProof * make hostConsensusStateProof optional * ICS28: Reflect deferred unbonding completion in spec (cosmos#826) * call UnbondingCanComplete in EndBlock * update README * update ics23 link (cosmos#891) * update eli5 blog post link (cosmos#892) * ICS28: Sovereign to consumer chain transition (cosmos#840) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * add note re. the existing staking module Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * ICS28: VSCPackets should have timeout on provider (cosmos#858) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names * add VSC timeout * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * ICS28: Channel initialization should have a timeout (cosmos#860) * add init timeout * fix typo * add note on timed out channel init * update vsc timeout as per implementation Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * add angbrav as code owner (cosmos#895) Co-authored-by: Carlos Rodriguez <carlos@interchain.com> * save progress * start adding proof generation logic and update graphical_proof.jpg * rm spec/.DS_Store Signed-off-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Aditya <adityasripal@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> Co-authored-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Haifeng Xi <haifeng@bianjie.ai> Co-authored-by: Web3 Philosopher <seunlanlege@gmail.com> Co-authored-by: Marius Poke <marius.poke@posteo.de> Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.com>
* ICS20: Replace Metadata with Memo (cosmos#877) * memo string replacement * formatting Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * ICS9: remove localhost client (cosmos#878) * remove localhost client * Update CHANGELOG.md * Update README.md * fix: update comment about channel state check in `sendPacket` (cosmos#865) * update comment * typo * remove comment Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * ICS5: fix releasePort signature (cosmos#885) Signed-off-by: Jun Kimura <junkxdev@gmail.com> Signed-off-by: Jun Kimura <junkxdev@gmail.com> * ICS721: Add tokenData to PacketData (cosmos#876) * add tokenData to PacketData; improve TypeScript formatting * revert else style * extend 03-connection with a proof object for chains that can't introspect their own consensus state. (cosmos#839) * extend 03-connection with HostConsensusStateProof * make hostConsensusStateProof optional * ICS28: Reflect deferred unbonding completion in spec (cosmos#826) * call UnbondingCanComplete in EndBlock * update README * update ics23 link (cosmos#891) * update eli5 blog post link (cosmos#892) * ICS28: Sovereign to consumer chain transition (cosmos#840) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * add note re. the existing staking module Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * ICS28: VSCPackets should have timeout on provider (cosmos#858) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names * add VSC timeout * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * ICS28: Channel initialization should have a timeout (cosmos#860) * add init timeout * fix typo * add note on timed out channel init * update vsc timeout as per implementation Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * add angbrav as code owner (cosmos#895) Co-authored-by: Carlos Rodriguez <carlos@interchain.com> * save progress * start adding proof generation logic and update graphical_proof.jpg * rm spec/.DS_Store Signed-off-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Aditya <adityasripal@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> Co-authored-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Haifeng Xi <haifeng@bianjie.ai> Co-authored-by: Web3 Philosopher <seunlanlege@gmail.com> Co-authored-by: Marius Poke <marius.poke@posteo.de> Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.com>
* ICS20: Replace Metadata with Memo (cosmos#877) * memo string replacement * formatting Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * ICS9: remove localhost client (cosmos#878) * remove localhost client * Update CHANGELOG.md * Update README.md * fix: update comment about channel state check in `sendPacket` (cosmos#865) * update comment * typo * remove comment Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * ICS5: fix releasePort signature (cosmos#885) Signed-off-by: Jun Kimura <junkxdev@gmail.com> Signed-off-by: Jun Kimura <junkxdev@gmail.com> * ICS721: Add tokenData to PacketData (cosmos#876) * add tokenData to PacketData; improve TypeScript formatting * revert else style * extend 03-connection with a proof object for chains that can't introspect their own consensus state. (cosmos#839) * extend 03-connection with HostConsensusStateProof * make hostConsensusStateProof optional * ICS28: Reflect deferred unbonding completion in spec (cosmos#826) * call UnbondingCanComplete in EndBlock * update README * update ics23 link (cosmos#891) * update eli5 blog post link (cosmos#892) * ICS28: Sovereign to consumer chain transition (cosmos#840) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * add note re. the existing staking module Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * ICS28: VSCPackets should have timeout on provider (cosmos#858) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names * add VSC timeout * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * ICS28: Channel initialization should have a timeout (cosmos#860) * add init timeout * fix typo * add note on timed out channel init * update vsc timeout as per implementation Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * add angbrav as code owner (cosmos#895) Co-authored-by: Carlos Rodriguez <carlos@interchain.com> * save progress * start adding proof generation logic and update graphical_proof.jpg * rm spec/.DS_Store Signed-off-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Aditya <adityasripal@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> Co-authored-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Haifeng Xi <haifeng@bianjie.ai> Co-authored-by: Web3 Philosopher <seunlanlege@gmail.com> Co-authored-by: Marius Poke <marius.poke@posteo.de> Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.com>
* ICS20: Replace Metadata with Memo (cosmos#877) * memo string replacement * formatting Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * ICS9: remove localhost client (cosmos#878) * remove localhost client * Update CHANGELOG.md * Update README.md * fix: update comment about channel state check in `sendPacket` (cosmos#865) * update comment * typo * remove comment Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * ICS5: fix releasePort signature (cosmos#885) Signed-off-by: Jun Kimura <junkxdev@gmail.com> Signed-off-by: Jun Kimura <junkxdev@gmail.com> * ICS721: Add tokenData to PacketData (cosmos#876) * add tokenData to PacketData; improve TypeScript formatting * revert else style * extend 03-connection with a proof object for chains that can't introspect their own consensus state. (cosmos#839) * extend 03-connection with HostConsensusStateProof * make hostConsensusStateProof optional * ICS28: Reflect deferred unbonding completion in spec (cosmos#826) * call UnbondingCanComplete in EndBlock * update README * update ics23 link (cosmos#891) * update eli5 blog post link (cosmos#892) * ICS28: Sovereign to consumer chain transition (cosmos#840) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * add note re. the existing staking module Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * ICS28: VSCPackets should have timeout on provider (cosmos#858) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names * add VSC timeout * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * ICS28: Channel initialization should have a timeout (cosmos#860) * add init timeout * fix typo * add note on timed out channel init * update vsc timeout as per implementation Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * add angbrav as code owner (cosmos#895) Co-authored-by: Carlos Rodriguez <carlos@interchain.com> * save progress * start adding proof generation logic and update graphical_proof.jpg * rm spec/.DS_Store Signed-off-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Aditya <adityasripal@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> Co-authored-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Haifeng Xi <haifeng@bianjie.ai> Co-authored-by: Web3 Philosopher <seunlanlege@gmail.com> Co-authored-by: Marius Poke <marius.poke@posteo.de> Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.com>
* ICS20: Replace Metadata with Memo (cosmos#877) * memo string replacement * formatting Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * ICS9: remove localhost client (cosmos#878) * remove localhost client * Update CHANGELOG.md * Update README.md * fix: update comment about channel state check in `sendPacket` (cosmos#865) * update comment * typo * remove comment Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * ICS5: fix releasePort signature (cosmos#885) Signed-off-by: Jun Kimura <junkxdev@gmail.com> Signed-off-by: Jun Kimura <junkxdev@gmail.com> * ICS721: Add tokenData to PacketData (cosmos#876) * add tokenData to PacketData; improve TypeScript formatting * revert else style * extend 03-connection with a proof object for chains that can't introspect their own consensus state. (cosmos#839) * extend 03-connection with HostConsensusStateProof * make hostConsensusStateProof optional * ICS28: Reflect deferred unbonding completion in spec (cosmos#826) * call UnbondingCanComplete in EndBlock * update README * update ics23 link (cosmos#891) * update eli5 blog post link (cosmos#892) * ICS28: Sovereign to consumer chain transition (cosmos#840) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * add note re. the existing staking module Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * ICS28: VSCPackets should have timeout on provider (cosmos#858) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names * add VSC timeout * refactor proposal names (cosmos#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * ICS28: Channel initialization should have a timeout (cosmos#860) * add init timeout * fix typo * add note on timed out channel init * update vsc timeout as per implementation Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * add angbrav as code owner (cosmos#895) Co-authored-by: Carlos Rodriguez <carlos@interchain.com> * save progress * start adding proof generation logic and update graphical_proof.jpg * rm spec/.DS_Store Signed-off-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Aditya <adityasripal@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> Co-authored-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Haifeng Xi <haifeng@bianjie.ai> Co-authored-by: Web3 Philosopher <seunlanlege@gmail.com> Co-authored-by: Marius Poke <marius.poke@posteo.de> Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.com>
* feat: add spec for multi-hop channels * chore: naming * chore: add notes on chain registry * Polymer/multihop (#1) * ICS20: Replace Metadata with Memo (#877) * memo string replacement * formatting Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * ICS9: remove localhost client (#878) * remove localhost client * Update CHANGELOG.md * Update README.md * fix: update comment about channel state check in `sendPacket` (#865) * update comment * typo * remove comment Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * ICS5: fix releasePort signature (#885) Signed-off-by: Jun Kimura <junkxdev@gmail.com> Signed-off-by: Jun Kimura <junkxdev@gmail.com> * ICS721: Add tokenData to PacketData (#876) * add tokenData to PacketData; improve TypeScript formatting * revert else style * extend 03-connection with a proof object for chains that can't introspect their own consensus state. (#839) * extend 03-connection with HostConsensusStateProof * make hostConsensusStateProof optional * ICS28: Reflect deferred unbonding completion in spec (#826) * call UnbondingCanComplete in EndBlock * update README * update ics23 link (#891) * update eli5 blog post link (#892) * ICS28: Sovereign to consumer chain transition (#840) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names (#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * add note re. the existing staking module Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * ICS28: VSCPackets should have timeout on provider (#858) * update CreateConsumerClient for sovereign chains * update InitGenesis for sovereign chains * establish CCV on ACK and handle preCCV completion * update Channel Uniqueness Correctness Reasoning * add pre-CCV module interface with staking * add clarifications * add overview TODO * fix pendingChanges bug * refactor proposal names * add VSC timeout * refactor proposal names (#855) * Update spec/app/ics-028-cross-chain-validation/system_model_and_properties.md Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * enable optimistic opening handshakes * remove ConsumerAdditionProposal.initialHeight * handle proposals in BeginBlock * pass consumer unbonding period via gov proposal * update channel init overview - wip * update overview * update modified date * ICS28: Channel initialization should have a timeout (#860) * add init timeout * fix typo * add note on timed out channel init * update vsc timeout as per implementation Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> * add angbrav as code owner (#895) Co-authored-by: Carlos Rodriguez <carlos@interchain.com> * save progress * start adding proof generation logic and update graphical_proof.jpg * rm spec/.DS_Store Signed-off-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Aditya <adityasripal@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> Co-authored-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Haifeng Xi <haifeng@bianjie.ai> Co-authored-by: Web3 Philosopher <seunlanlege@gmail.com> Co-authored-by: Marius Poke <marius.poke@posteo.de> Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.com> * update to ics-033 * start updating channel spec for multihop; add diagram for relayer proof querying * chore: update spec history * chore: spacing * remove TODO comment; per PR feedback, connection proof not require for channel INIT * add comment to MultihopProof struct making the proof ordering more clear; update proof generation logic to not include the key which should be generated during verification * add verification proof pseudo code * add/update multihop proof verification logic * Update spec/core/ics-004-channel-and-packet-semantics/README.md Co-authored-by: Aditya <adityasripal@gmail.com> * Update spec/core/ics-033-multi-hop/README.md Co-authored-by: Aditya <adityasripal@gmail.com> * remove consState var to simplify consensusState update assignment * rename VerifyMultihopConsensusStateProof --> VerifyMultihopConsensusAndConnectionStateProofs to better reflect the function logic; further simplify the function logic and update comments * simplify multihop proof logic steps further * Ds/multihop (#4) update multi-hop diagrams and remove old diagrams * start updating multihop spec to include client state information in the proof * check consensus/connection proof lengths immediately * update spec with latest multihop solution * remove client state from multihop proofs * update spec with chanCloseFrozen; fix/update other parts of multihop spec * revise and update multihop spec details * add check to match client id in ConnectionEnd with client id in subsequent consensus state key * fix indentation * Update spec/core/ics-033-multi-hop/README.md Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com> * Update spec/core/ics-033-multi-hop/README.md Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com> * Update spec/core/ics-033-multi-hop/README.md Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com> * Update spec/core/ics-004-channel-and-packet-semantics/README.md Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com> * Update spec/core/ics-004-channel-and-packet-semantics/README.md Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com> * Update spec/core/ics-004-channel-and-packet-semantics/README.md Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com> * fix typo prevChain --> previousChain * add comments for connection and multihopConnectionEnd * Update spec/core/ics-003-connection-semantics/README.md Co-authored-by: Aditya <adityasripal@gmail.com> * add frozen channel proof generation logic * refactor getMaxDelayPeriod to return the time and block delay * use Identifier type instead of string for connectionHops array * cleanup proof gen pseudo code * check proof heights for consensus and connection states during multihop proof generation; use "proofHeight" instead of "keyHeight" for consistency * Update spec/core/ics-033-multi-hop/README.md Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com> * cleanup multihop proof gen pseudo code * remove trailing whitespace; refactor multihop proof generation and add proof gen helper function descriptions * add extra info about connectionHops ordering; update proof ordering to match connectionHops (receiver --> sender) * clarify multi-hop proof verification now that proof ordering matches the connectionHops ordering (receiver --> sender) * address latest PR feedback * more pr feedback * address more multihop PR feedback * update multi-hop proof query/verification specs and add frozen channel proof logic * update multi-hop proof diagrams * wip address latest PR feedback * add more clarifying comments/explanations and incorporate more PR feedback --------- Signed-off-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Derek <derek@polymerlabs.org> Co-authored-by: Aditya <adityasripal@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> Co-authored-by: Jun Kimura <junkxdev@gmail.com> Co-authored-by: Haifeng Xi <haifeng@bianjie.ai> Co-authored-by: Web3 Philosopher <seunlanlege@gmail.com> Co-authored-by: Marius Poke <marius.poke@posteo.de> Co-authored-by: Daniel T <30197399+danwt@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.com> Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>
Closes #832