Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ICS33: Multi-hop Channel Spec (#882)
* 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 <[email protected]> * 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 <[email protected]> * ICS5: fix releasePort signature (#885) Signed-off-by: Jun Kimura <[email protected]> Signed-off-by: Jun Kimura <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * add angbrav as code owner (#895) Co-authored-by: Carlos Rodriguez <[email protected]> * save progress * start adding proof generation logic and update graphical_proof.jpg * rm spec/.DS_Store Signed-off-by: Jun Kimura <[email protected]> Co-authored-by: Aditya <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: Jun Kimura <[email protected]> Co-authored-by: Haifeng Xi <[email protected]> Co-authored-by: Web3 Philosopher <[email protected]> Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Daniel T <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> * 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 <[email protected]> * Update spec/core/ics-033-multi-hop/README.md Co-authored-by: Aditya <[email protected]> * 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 <[email protected]> * Update spec/core/ics-033-multi-hop/README.md Co-authored-by: Anca Zamfir <[email protected]> * Update spec/core/ics-033-multi-hop/README.md Co-authored-by: Anca Zamfir <[email protected]> * Update spec/core/ics-004-channel-and-packet-semantics/README.md Co-authored-by: Anca Zamfir <[email protected]> * Update spec/core/ics-004-channel-and-packet-semantics/README.md Co-authored-by: Anca Zamfir <[email protected]> * Update spec/core/ics-004-channel-and-packet-semantics/README.md Co-authored-by: Anca Zamfir <[email protected]> * fix typo prevChain --> previousChain * add comments for connection and multihopConnectionEnd * Update spec/core/ics-003-connection-semantics/README.md Co-authored-by: Aditya <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Derek <[email protected]> Co-authored-by: Aditya <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: Jun Kimura <[email protected]> Co-authored-by: Haifeng Xi <[email protected]> Co-authored-by: Web3 Philosopher <[email protected]> Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Daniel T <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: Anca Zamfir <[email protected]>
- Loading branch information