From 6e10e3a0547c1ee54a677459a7bf6d107540ffee Mon Sep 17 00:00:00 2001 From: Sean King Date: Mon, 13 Dec 2021 17:16:18 +0100 Subject: [PATCH 1/6] docs: ica overview --- .../interchain-accounts/overview.md | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/docs/app_modules/interchain-accounts/overview.md b/docs/app_modules/interchain-accounts/overview.md index 9f8983c55bb..6569fee62fc 100644 --- a/docs/app_modules/interchain-accounts/overview.md +++ b/docs/app_modules/interchain-accounts/overview.md @@ -1,5 +1,26 @@ - +# Overview + + +Learn about what the Interchain Accounts module is, and how to build custom modules that utilize Interchain Accounts functionality {synopsis} + + +# What is the Interchain Accounts module? + + +Interchain Accounts is the Cosmos SDK implementation of the ICS-27 protocol, which enables cross-chain account management built upon IBC. Chains using the Interchain Accounts module can programmatically create accounts on other chains and control these accounts via IBC transactions. Interchain Accounts exposes a simple-to-use API which means IBC application developers do not require an in-depth knowledge of the underlying low-level details of IBC or the ICS-27 protocol. Developers looking to build upon Interchain Accounts must write custom logic in their own IBC application module, called authentication modules. + +- How is an interchain account different than a regular account? +Regular accounts use a private key to sign transactions on-chain. Interchain Accounts are instead controlled programmatically by separate chains via IBC transactions. Interchain Accounts are implemented as sub-accounts of the interchain accounts module account. + +# Concepts + +- Host Chain: The chain where the interchain account is registered. The host chain listens for IBC packets from a controller chain which should contain instructions (e.g. cosmos SDK messages) that the interchain account will execute. + +- Controller Chain: The chain registering and controlling an account on a host chain. The controller chain sends IBC packets to the host chain to control the account. A controller chain must have at least one interchain accounts authentication module in order to act as a controller chain. + +- Authentication Module: A custom IBC application module on the controller chain that uses the Interchain Accounts module API to build custom logic for the creation & management of interchain accounts. For a controller chain to utilize the interchain accounts module functionality, an authentication module is required. + +- Interchain Account: An account on a host chain. An interchain account has all the capabilities of a normal account. However, rather than signing transactions with a private key, a controller chain's authentication module will send IBC packets to the host chain which signals what transactions the interchain account should execute. + From e4d795a8f716224c797f2205aa69db660995b30c Mon Sep 17 00:00:00 2001 From: Sean King Date: Mon, 13 Dec 2021 17:20:26 +0100 Subject: [PATCH 2/6] fix: ordering --- docs/app_modules/interchain-accounts/overview.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/app_modules/interchain-accounts/overview.md b/docs/app_modules/interchain-accounts/overview.md index 6569fee62fc..1c13a94ce4b 100644 --- a/docs/app_modules/interchain-accounts/overview.md +++ b/docs/app_modules/interchain-accounts/overview.md @@ -1,3 +1,6 @@ + # Overview From 038092a14db3e5573a49616b8f91d5de3a3ef016 Mon Sep 17 00:00:00 2001 From: Sean King Date: Mon, 13 Dec 2021 17:21:30 +0100 Subject: [PATCH 3/6] add spacing --- docs/app_modules/interchain-accounts/overview.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/app_modules/interchain-accounts/overview.md b/docs/app_modules/interchain-accounts/overview.md index 1c13a94ce4b..c68123a0efa 100644 --- a/docs/app_modules/interchain-accounts/overview.md +++ b/docs/app_modules/interchain-accounts/overview.md @@ -4,14 +4,16 @@ order: 1 # Overview - Learn about what the Interchain Accounts module is, and how to build custom modules that utilize Interchain Accounts functionality {synopsis} # What is the Interchain Accounts module? +Interchain Accounts is the Cosmos SDK implementation of the ICS-27 protocol, which enables cross-chain account management built upon IBC. Chains using the Interchain Accounts module can programmatically create accounts on other chains and control these accounts via IBC transactions. + +Interchain Accounts exposes a simple-to-use API which means IBC application developers do not require an in-depth knowledge of the underlying low-level details of IBC or the ICS-27 protocol. -Interchain Accounts is the Cosmos SDK implementation of the ICS-27 protocol, which enables cross-chain account management built upon IBC. Chains using the Interchain Accounts module can programmatically create accounts on other chains and control these accounts via IBC transactions. Interchain Accounts exposes a simple-to-use API which means IBC application developers do not require an in-depth knowledge of the underlying low-level details of IBC or the ICS-27 protocol. Developers looking to build upon Interchain Accounts must write custom logic in their own IBC application module, called authentication modules. +Developers looking to build upon Interchain Accounts must write custom logic in their own IBC application module, called authentication modules. - How is an interchain account different than a regular account? Regular accounts use a private key to sign transactions on-chain. Interchain Accounts are instead controlled programmatically by separate chains via IBC transactions. Interchain Accounts are implemented as sub-accounts of the interchain accounts module account. From 8968ecf8308276feb456211f6fb81f600af5c21d Mon Sep 17 00:00:00 2001 From: Sean King Date: Mon, 13 Dec 2021 17:23:28 +0100 Subject: [PATCH 4/6] fix: spacing --- docs/app_modules/interchain-accounts/overview.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/app_modules/interchain-accounts/overview.md b/docs/app_modules/interchain-accounts/overview.md index c68123a0efa..e0feb3a15e7 100644 --- a/docs/app_modules/interchain-accounts/overview.md +++ b/docs/app_modules/interchain-accounts/overview.md @@ -16,6 +16,7 @@ Interchain Accounts exposes a simple-to-use API which means IBC application deve Developers looking to build upon Interchain Accounts must write custom logic in their own IBC application module, called authentication modules. - How is an interchain account different than a regular account? + Regular accounts use a private key to sign transactions on-chain. Interchain Accounts are instead controlled programmatically by separate chains via IBC transactions. Interchain Accounts are implemented as sub-accounts of the interchain accounts module account. # Concepts From bf14157fff2aaf9d7d2f6bd8c76da7b90ee43a2d Mon Sep 17 00:00:00 2001 From: Sean King Date: Tue, 21 Dec 2021 14:49:48 +0100 Subject: [PATCH 5/6] fix: remove bulletpoints --- docs/app_modules/interchain-accounts/overview.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/app_modules/interchain-accounts/overview.md b/docs/app_modules/interchain-accounts/overview.md index e0feb3a15e7..64cac3c0c7f 100644 --- a/docs/app_modules/interchain-accounts/overview.md +++ b/docs/app_modules/interchain-accounts/overview.md @@ -21,12 +21,12 @@ Regular accounts use a private key to sign transactions on-chain. Interchain Acc # Concepts -- Host Chain: The chain where the interchain account is registered. The host chain listens for IBC packets from a controller chain which should contain instructions (e.g. cosmos SDK messages) that the interchain account will execute. +*Host Chain*: The chain where the interchain account is registered. The host chain listens for IBC packets from a controller chain which should contain instructions (e.g. cosmos SDK messages) that the interchain account will execute. -- Controller Chain: The chain registering and controlling an account on a host chain. The controller chain sends IBC packets to the host chain to control the account. A controller chain must have at least one interchain accounts authentication module in order to act as a controller chain. +*Controller Chain*: The chain registering and controlling an account on a host chain. The controller chain sends IBC packets to the host chain to control the account. A controller chain must have at least one interchain accounts authentication module in order to act as a controller chain. -- Authentication Module: A custom IBC application module on the controller chain that uses the Interchain Accounts module API to build custom logic for the creation & management of interchain accounts. For a controller chain to utilize the interchain accounts module functionality, an authentication module is required. +*Authentication Module*: A custom IBC application module on the controller chain that uses the Interchain Accounts module API to build custom logic for the creation & management of interchain accounts. For a controller chain to utilize the interchain accounts module functionality, an authentication module is required. -- Interchain Account: An account on a host chain. An interchain account has all the capabilities of a normal account. However, rather than signing transactions with a private key, a controller chain's authentication module will send IBC packets to the host chain which signals what transactions the interchain account should execute. +*Interchain Account*: An account on a host chain. An interchain account has all the capabilities of a normal account. However, rather than signing transactions with a private key, a controller chain's authentication module will send IBC packets to the host chain which signals what transactions the interchain account should execute. From e1a48f910b44dfc032ac52fd9d8b9bf3acdf3662 Mon Sep 17 00:00:00 2001 From: Sean King Date: Tue, 21 Dec 2021 14:51:26 +0100 Subject: [PATCH 6/6] fix: wording --- docs/app_modules/interchain-accounts/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/app_modules/interchain-accounts/overview.md b/docs/app_modules/interchain-accounts/overview.md index 64cac3c0c7f..bc8522c726e 100644 --- a/docs/app_modules/interchain-accounts/overview.md +++ b/docs/app_modules/interchain-accounts/overview.md @@ -21,7 +21,7 @@ Regular accounts use a private key to sign transactions on-chain. Interchain Acc # Concepts -*Host Chain*: The chain where the interchain account is registered. The host chain listens for IBC packets from a controller chain which should contain instructions (e.g. cosmos SDK messages) that the interchain account will execute. +*Host Chain*: The chain where the interchain account is registered. The host chain listens for IBC packets from a controller chain which should contain instructions (e.g. cosmos SDK messages) for which the interchain account will execute. *Controller Chain*: The chain registering and controlling an account on a host chain. The controller chain sends IBC packets to the host chain to control the account. A controller chain must have at least one interchain accounts authentication module in order to act as a controller chain.