Skip to content

Commit 479421e

Browse files
committed
apply review suggestions
1 parent 0c378eb commit 479421e

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

docs/docs/consumer-development/changeover-procedure.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ sidebar_position: 6
66

77
Chains that were **not** initially launched as consumers of Interchain Security can still participate in the protocol and leverage the economic security of the provider chain. The process where a standalone chain transitions to being a consumer chain is called the **changeover procedure** and is part of the Interchain Security protocol. After the changeover, the new consumer chain will retain all existing state, including the IBC clients, connections and channels already established by the chain.
88

9+
In a nutshell, to become an ICS consumer chain, a standalone chain needs to add the `x/ccv/consumer` module (via a coordinated upgrade) and to transfer validation responsibilities to the provider validators as stated in `consumer_genesis.json`.
10+
911
The relevant protocol specifications are available below:
1012
* [ICS-28 with existing chains](https://github.com/cosmos/ibc/blob/main/spec/app/ics-028-cross-chain-validation/overview_and_basic_concepts.md#channel-initialization-existing-chains).
1113
* [ADR in ICS repo](../adrs/adr-010-standalone-changeover.md)
@@ -73,6 +75,6 @@ Therefore, when creating a new consumer chain on the provider, the following cha
7375

7476
Before the upgrade of the standalone chain (i.e., adding the `x/ccv/consumer` module), the consumer module genesis state created by the provider at `spawn_time` must be adapted to older versions of the consumer module. This consists of two changes.
7577

76-
First, by setting `connection_id` to an empty string, the provider will set the `preCCV` flag in the `ConsumerGenesisState` struct to `false`. This must be changed to `true` in order to trigger the changeover procedure logic on the `x/ccv/consumer` module.
78+
First, by setting `connection_id` in the consumer initialization parameters to an empty string, the provider will set the `preCCV` flag in the `ConsumerGenesisState` struct to `false`. This must be changed to `true` in order to trigger the changeover procedure logic on the `x/ccv/consumer` module.
7779

7880
Second, the `connection_id` field of `ConsumerGenesisState` must be removed to enable older versions of the consumer module to unmarshal the consumer module genesis state obtained from the provider. This can be done using the `interchain-security-cd genesis transform` CLI command.

0 commit comments

Comments
 (0)