diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000..e6b5aeca6 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +** @cosmos/foundations-team diff --git a/README.md b/README.md index 187f8be42..e687fec6c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# IBC +# IBC Interchain Standards -![banner](./assets/interchain-standards.png) +![banner](./assets/cosmos-ibc-github.svg) ## Synopsis @@ -19,13 +19,37 @@ For a high-level explanation of what IBC is and how it works, please read [this All standards at or past the "Draft" stage are listed here in order of their ICS numbers, sorted by category. -### Meta +### IBC v2 Specifications + +IBC v2 is the latest iteration of the IBC protocol. It streamlines the integration of IBC by removing the connection and channel handshake layers in favor of direct client-to-client packet flow. For an overview, see the [IBC v2](spec/IBC_V2/README.md) introduction. + +#### Core Transport + +| Interchain Standard Number | Standard Title | Stage | Implementations | Maintainer | +| -------------------------- | -------------- | ----- | --------------- | ---------- | +| [2](spec/IBC_V2/core/ics-002-client-semantics/README.md) | Client Semantics | Draft | [ibc-go](https://github.com/cosmos/ibc-go) | Protocol team | +| [4](spec/IBC_V2/core/ics-004-packet-semantics/PACKET_HANDLER.md) | Packet Semantics | Draft | [ibc-go](https://github.com/cosmos/ibc-go) | Protocol team | +| [5](spec/IBC_V2/core/ics-005-port-allocation/README.md) | Port Allocation | Draft | [ibc-go](https://github.com/cosmos/ibc-go) | Protocol team | +| [24](spec/IBC_V2/core/ics-024-host-requirements/README.md) | Host Requirements | Draft | [ibc-go](https://github.com/cosmos/ibc-go) | Protocol team | +| [26](spec/IBC_V2/core/ics-026-application-callbacks/README.md) | IBC Application Callbacks | Draft | [ibc-go](https://github.com/cosmos/ibc-go) | Protocol team | + +#### App + +| Interchain Standard Number | Version | Standard Title | Stage | Implementations | Maintainer | +| -------------------------- | ------- | -------------- | ----- | --------------- | ---------- | +| [27](spec/IBC_V2/app/ics-027-gmp/README.md) | v2 | General Message Passing | Draft | [ibc-go](https://github.com/cosmos/ibc-go) | Protocol team | + +### IBC v1 Specifications + +IBC v1 is the original version of the protocol. It establishes cross-chain communication through connection and channel handshakes before applications can exchange packets. + +#### Meta | Interchain Standard Number | Standard Title | Stage | Maintainer | | ---------------------------------------- | -------------------------- | ----- | ------------- | | [1](spec/ics-001-ics-standard/README.md) | ICS Specification Standard | N/A | Protocol team | -### Core Transport +#### Core Transport | Interchain Standard Number | Standard Title | Stage | Implementations | Maintainer | | ------------------------------------------------------------- | -------------------------- | --------- | --------------- | ------------- | @@ -39,7 +63,7 @@ All standards at or past the "Draft" stage are listed here in order of their ICS | [26](spec/core/ics-026-routing-module/README.md) | Routing Module | Candidate | [ibc-go](https://github.com/cosmos/ibc-go), [ibc-rs](https://github.com/cosmos/ibc-rs) | Protocol team | | [33](spec/core/ics-033-multi-hop/README.md) | Multi-hop Messaging | Candidate | [ibc-go](https://github.com/cosmos/ibc-go) | Protocol team | -### Light Clients +#### Light Clients | Interchain Standard Number | Standard Title | Stage | Implementations | Maintainer | | --------------------------------------------------------------- | -------------------------- | ----- | --------------- | ------------- | @@ -49,13 +73,13 @@ All standards at or past the "Draft" stage are listed here in order of their ICS | [9](spec/client/ics-009-loopback-cilent/README.md) | Loopback Client | Draft | [ibc-go](https://github.com/cosmos/ibc-go/tree/main/modules/light-clients/09-localhost) | Protocol team | | [10](spec/client/ics-010-grandpa-client/README.md) | GRANDPA Client | Draft | | [Octopus Network](https://oct.network) | -### Relayer +#### Relayer | Interchain Standard Number | Standard Title | Stage | Implementations | Maintainer | | ---------------------------------------------------------------- | -------------------------- | ----- | --------------- | ------------- | | [18](spec/relayer/ics-018-relayer-algorithms/README.md) | Relayer Algorithms | Finalized | [go-relayer](https://github.com/cosmos/relayer), [rust-relayer](https://github.com/informalsystems/hermes), [ts-relayer](https://github.com/confio/ts-relayer) | Protocol team | -### App +#### App | Interchain Standard Number | Version | Standard Title | Stage | Implementations | Maintainer | | -------------------------------------------------------- | ------- | ----------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------ | diff --git a/assets/cosmos-ibc-github.svg b/assets/cosmos-ibc-github.svg new file mode 100644 index 000000000..6d91ea9fc --- /dev/null +++ b/assets/cosmos-ibc-github.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/assets/interchain-standards-image.jpg b/assets/interchain-standards-image.jpg deleted file mode 100644 index ae610b28a..000000000 --- a/assets/interchain-standards-image.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:948d72f8ce9f7758316c8ecd11c8045cf3a4918514b4077e2e37d8f5f4e1f301 -size 373917 diff --git a/assets/interchain-standards.png b/assets/interchain-standards.png deleted file mode 100644 index 683975922..000000000 --- a/assets/interchain-standards.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:41af59f94412b6ba1db7afe6bc18efaa8c1415dab951ad91b5d5bb9527b3dcb6 -size 118722 diff --git a/spec/app/ics-028-cross-chain-validation/figures/ccv-distribution-overview.png b/spec/app/ics-028-cross-chain-validation/figures/ccv-distribution-overview.png index 40f740d5b..372408178 100644 Binary files a/spec/app/ics-028-cross-chain-validation/figures/ccv-distribution-overview.png and b/spec/app/ics-028-cross-chain-validation/figures/ccv-distribution-overview.png differ diff --git a/spec/app/ics-028-cross-chain-validation/figures/ccv-evidence-overview.png b/spec/app/ics-028-cross-chain-validation/figures/ccv-evidence-overview.png index 8534d5674..bde12add5 100644 Binary files a/spec/app/ics-028-cross-chain-validation/figures/ccv-evidence-overview.png and b/spec/app/ics-028-cross-chain-validation/figures/ccv-evidence-overview.png differ diff --git a/spec/app/ics-028-cross-chain-validation/figures/ccv-height-mapping-overview.png b/spec/app/ics-028-cross-chain-validation/figures/ccv-height-mapping-overview.png index bfbc0987c..05dbe6020 100644 Binary files a/spec/app/ics-028-cross-chain-validation/figures/ccv-height-mapping-overview.png and b/spec/app/ics-028-cross-chain-validation/figures/ccv-height-mapping-overview.png differ diff --git a/spec/app/ics-028-cross-chain-validation/figures/ccv-init-overview.png b/spec/app/ics-028-cross-chain-validation/figures/ccv-init-overview.png index 9e8b5f14b..017d3b560 100644 Binary files a/spec/app/ics-028-cross-chain-validation/figures/ccv-init-overview.png and b/spec/app/ics-028-cross-chain-validation/figures/ccv-init-overview.png differ diff --git a/spec/app/ics-028-cross-chain-validation/figures/ccv-mapping-intuition.png b/spec/app/ics-028-cross-chain-validation/figures/ccv-mapping-intuition.png index 2cefc6dda..13610a026 100644 Binary files a/spec/app/ics-028-cross-chain-validation/figures/ccv-mapping-intuition.png and b/spec/app/ics-028-cross-chain-validation/figures/ccv-mapping-intuition.png differ diff --git a/spec/app/ics-028-cross-chain-validation/figures/ccv-preccv-init-overview.png b/spec/app/ics-028-cross-chain-validation/figures/ccv-preccv-init-overview.png index 1330a3f56..f6147183c 100644 Binary files a/spec/app/ics-028-cross-chain-validation/figures/ccv-preccv-init-overview.png and b/spec/app/ics-028-cross-chain-validation/figures/ccv-preccv-init-overview.png differ diff --git a/spec/app/ics-028-cross-chain-validation/figures/ccv-unbonding-overview.png b/spec/app/ics-028-cross-chain-validation/figures/ccv-unbonding-overview.png index 30455eb84..5e1daa9a9 100644 Binary files a/spec/app/ics-028-cross-chain-validation/figures/ccv-unbonding-overview.png and b/spec/app/ics-028-cross-chain-validation/figures/ccv-unbonding-overview.png differ diff --git a/spec/app/ics-028-cross-chain-validation/figures/ccv-vsc-overview.png b/spec/app/ics-028-cross-chain-validation/figures/ccv-vsc-overview.png index 55eb3247a..a2d6c5a8f 100644 Binary files a/spec/app/ics-028-cross-chain-validation/figures/ccv-vsc-overview.png and b/spec/app/ics-028-cross-chain-validation/figures/ccv-vsc-overview.png differ diff --git a/spec/core/ics-003-connection-semantics/client-validation-removal.png b/spec/core/ics-003-connection-semantics/client-validation-removal.png index f5a6d3540..4d718de20 100644 Binary files a/spec/core/ics-003-connection-semantics/client-validation-removal.png and b/spec/core/ics-003-connection-semantics/client-validation-removal.png differ diff --git a/spec/core/ics-033-multi-hop/proof_generation.png b/spec/core/ics-033-multi-hop/proof_generation.png index 090716a10..4c0c3b1a0 100644 Binary files a/spec/core/ics-033-multi-hop/proof_generation.png and b/spec/core/ics-033-multi-hop/proof_generation.png differ diff --git a/spec/core/ics-033-multi-hop/proof_query.png b/spec/core/ics-033-multi-hop/proof_query.png index 7070fa2e9..a0ba8e155 100644 Binary files a/spec/core/ics-033-multi-hop/proof_query.png and b/spec/core/ics-033-multi-hop/proof_query.png differ diff --git a/spec/core/ics-033-multi-hop/proof_query_algorithm.png b/spec/core/ics-033-multi-hop/proof_query_algorithm.png index 110c96739..3b5ed28cf 100644 Binary files a/spec/core/ics-033-multi-hop/proof_query_algorithm.png and b/spec/core/ics-033-multi-hop/proof_query_algorithm.png differ diff --git a/spec/core/ics-033-multi-hop/proof_verification.png b/spec/core/ics-033-multi-hop/proof_verification.png index 3a57e0033..c53fe4040 100644 Binary files a/spec/core/ics-033-multi-hop/proof_verification.png and b/spec/core/ics-033-multi-hop/proof_verification.png differ diff --git a/spec/core/ics-033-multi-hop/relayer_calc_update_heights.png b/spec/core/ics-033-multi-hop/relayer_calc_update_heights.png index a289c954c..b9ebcdaa8 100644 Binary files a/spec/core/ics-033-multi-hop/relayer_calc_update_heights.png and b/spec/core/ics-033-multi-hop/relayer_calc_update_heights.png differ diff --git a/spec/core/ics-033-multi-hop/relayer_query_proof_and_submit.png b/spec/core/ics-033-multi-hop/relayer_query_proof_and_submit.png index ba11443a9..99d0e69ca 100644 Binary files a/spec/core/ics-033-multi-hop/relayer_query_proof_and_submit.png and b/spec/core/ics-033-multi-hop/relayer_query_proof_and_submit.png differ