Skip to content
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

Create Parent Proposal and use gov-created client in Handshake #5

Merged
merged 11 commits into from
Nov 11, 2021

Conversation

AdityaSripal
Copy link
Member

@AdityaSripal AdityaSripal commented Oct 7, 2021

closes: https://github.com/cosmos/ibc-go/issues/392
supercedes: cosmos/ibc-go#439

  • Creates a proposal type and handling functions for creating a new child chain
  • Upon passing the proposal, the IBC client for the child chain is created automatically
  • The CCV channel on the parent chain for that child chain MUST be built on top of the above client.
  • This ensures that the channel is speaking to the correct child chain and not an imposter

@@ -324,13 +328,23 @@ func New(
appCodec, keys[ibchost.StoreKey], app.GetSubspace(ibchost.ModuleName), app.StakingKeeper, app.UpgradeKeeper, scopedIBCKeeper,
)

// Create CCV child and parent keepers and modules
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume the chain created in this repo is able to be both parent and child, correct?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, though I believe the default genesis disables the child module.

Copy link
Contributor

@colin-axner colin-axner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left various suggestions/nits, reviewed most files but not all

x/ccv/types/keys.go Outdated Show resolved Hide resolved
x/ccv/types/errors.go Show resolved Hide resolved
x/ccv/parent/proposal_handler.go Outdated Show resolved Hide resolved
x/ccv/parent/keeper/keeper.go Outdated Show resolved Hide resolved
x/ccv/parent/keeper/genesis_test.go Show resolved Hide resolved
x/ccv/types/proposal.go Outdated Show resolved Hide resolved
x/ccv/parent/keeper/proposal.go Outdated Show resolved Hide resolved
x/ccv/parent/keeper/proposal.go Outdated Show resolved Hide resolved
// the proposed client state of new child chain.
// Since it contains no consensus information, this may be created before child chain is created.
google.protobuf.Any client_state = 4 [(gogoproto.moretags) = "yaml:\"client_state\""];
// genesis hash with no staking information included.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

with no staking information included

i.e without the genesis module included? We should also specify in the comment that this is the child chain's genesis hash

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct. Basically without any gen_txs or staking genesis. Since that will be informed by the parent chain

Co-authored-by: Federico Kunze Küllmer <[email protected]>
Copy link
Contributor

@jtremback jtremback left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@AdityaSripal AdityaSripal merged commit 7865e67 into main Nov 11, 2021
@AdityaSripal AdityaSripal deleted the aditya/parent-proposal branch November 11, 2021 15:52
faddat referenced this pull request in notional-labs/interchain-security Apr 21, 2023
* port parent proposal to new repo

* fix tests

* Apply suggestions from code review

Co-authored-by: colin axnér <[email protected]>

* address rest of colin comments

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <[email protected]>

* add binary hash

* create client on behalf of proposer

* add parameterized template client and clean up proto organization

* turn disabled flag to params

Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>
faddat referenced this pull request in notional-labs/interchain-security Apr 21, 2023
* port parent proposal to new repo

* fix tests

* Apply suggestions from code review

Co-authored-by: colin axnér <[email protected]>

* address rest of colin comments

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <[email protected]>

* add binary hash

* create client on behalf of proposer

* add parameterized template client and clean up proto organization

* turn disabled flag to params

Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>
@faddat faddat mentioned this pull request Apr 21, 2023
18 tasks
MSalopek pushed a commit that referenced this pull request May 5, 2023
ThanhNhann pushed a commit to decentrio/interchain-security that referenced this pull request Jan 3, 2024
ThanhNhann pushed a commit to decentrio/interchain-security that referenced this pull request Jan 3, 2024
* docs: msg types for fee middleware (#1572)

* fix broken link

* fix: rm AllowUpdateAfter... check (cosmos#1118)

* update code & test

* update proto and adr026

* update CHANGELOG

* update cli docs

* update broken milestone link

* updated docs

* update re: comments

* nits: adding inline comments

Co-authored-by: Sean King <[email protected]>

* chore: adding module name to incentivized packet events (cosmos#1580)

* docs: adding events to fee middleware docs (cosmos#1578)

* adding fee distribution docs for relayer operators

* adding validation information and basic cli examples

* removing unnecessary whitespace

* updating definitions

* adding ics29 fee middleware events docs

* cleanup

Co-authored-by: Sean King <[email protected]>

* docs: adding End Users section to ics29 docs (cosmos#1579)

* docs: adding End Users section to ics29 docs

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Damian Nolan <[email protected]>

* chore: add link

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>

* feat: emitting an event when handling a client upgrade proposal (cosmos#1570)

* feat: emitting an event when handling a client upgrade proposal

* refactor: only emit event if err is nil

* refactor: idiotmatic go:

* docs: nits (cosmos#1595)

* docs: document that version string can be empty as argument of RegisterInterchainAccount (cosmos#1582)

Co-authored-by: Carlos Rodriguez <[email protected]>

* docs: add upgrade client proposal event (cosmos#1596)

* Consolidate usage of NewErrorAcknowledgement (cosmos#1565)

* docs: adding line about module accounts / invariants (cosmos#1597)

* docs: adding line about module accounts / invariants

* Update docs/middleware/ics29-fee/fee-distribution.md

Co-authored-by: Damian Nolan <[email protected]>

* Update docs/middleware/ics29-fee/fee-distribution.md

Co-authored-by: Damian Nolan <[email protected]>

Co-authored-by: Damian Nolan <[email protected]>

* follow up nits to cosmos#1565 (cosmos#1598)

* delete test files and add error to transfer types

* review comments

* build(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 (cosmos#1616)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.5 to 1.8.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.7.5...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: bump go package version to v4 (cosmos#1564)

* chore: bump go package version to v4

* update go.mod

* fix alignment

* fix build

* review comments

* build fixes

* deps: bumping go version 1.18 (cosmos#1627)

* bumping go version 1.18

* updating broken workflow setup

* add backport to v4.0.x and remove backports to v1 (EoL) (cosmos#1629)

* delete unused 04-channel version functions (cosmos#1636)

* delete unused code and associated tests

* Update CHANGELOG.md

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.5 to 0.45.6 (cosmos#1615)

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.5 to 0.45.6

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.45.5 to 0.45.6.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](cosmos/cosmos-sdk@v0.45.5...v0.45.6)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update CHANGELOG.md

* copying part of codeql workflow to try to make it pass

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* update mergify.yml with new release branches (cosmos#1654)

* Script to dynamically generate list of e2e tests (E2E cosmos#1) (cosmos#1644)

* Add GitHub actions for e2e tests (E2E cosmos#2) (cosmos#1646)

* Remove crossings hello (cosmos#1317)

* remove crossing hellos from ChanOpenTry

* remove crossing hellos testcase

* revert single connectionHops check

* add comment in MsgChannelOpenTry tx proto about deprecate field

* Update proto/ibc/core/channel/v1/tx.proto

Co-authored-by: Aditya <[email protected]>

* minor fixes && UPDATE CHANGELOG.md

* Update proto/ibc/core/channel/v1/tx.proto

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update proto/ibc/core/channel/v1/tx.proto

Co-authored-by: Damian Nolan <[email protected]>

* apply remaining changes for crossing hello removal

Deprecate previous channel id with proto tag
Remove unnecessary test cases from 04-channel
Remove crossing hello check in transfer application and the associated test case

* remove previous channel check in WriteChannelOpenTry

* regenerate proto files

* update documentation

* add migration documentation

* remove unnecessary doc

* remove crossing hello notion from ChanOpenAck

* apply review suggestions

Co-authored-by: Aditya <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Jacob Gadikian <[email protected]>
Co-authored-by: Colin Axnér <[email protected]>

* docs: update roadmap (cosmos#1678)

* update roadmap

* update roadmap

* Update roadmap.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* refactor: remove crossing hellos from 03-connection (cosmos#1672)

* remove crossing hello check from ConnOpenTry and ConnOpenAck

* remove unnecessary test cases and fix build

* fix tests and add migration docs

* fix connection version check in conn open ack

* add changelog entry

* Update modules/core/03-connection/keeper/handshake.go

Co-authored-by: Aditya <[email protected]>

* remove unnecessary testing function

* improve migration documentation as per review suggestion

Co-authored-by: Aditya <[email protected]>

* (core/23-commitment/types) doc: fix typo (cosmos#1694)

* remove spurious `TestABCICodeDeterminism` tests (cosmos#1695)

## Description

Thanks @colin-axner for noticing this.

closes: #XXXX

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

* update bug report issue template (cosmos#1693)

* fix codeowners for 02-client (cosmos#1696)

## Description

Thanks again @colin-axner for signaling this!

closes: #XXXX

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

* build(deps): bump google.golang.org/grpc from 1.47.0 to 1.48.0 (cosmos#1699)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.47.0 to 1.48.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.47.0...v1.48.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: update middleware documentation (cosmos#1639)

* docs: update middleware documentation

* remove old text and add func keyword

* alignment

* fix alignment

* Update develop.md

* review comments

* remove empty line

* docs: add links in middleware docs to fee middleware implementation (cosmos#1641)

* docs: add links in middleware docs to fee middleware implementation

* add extra line for better readability

* fix typos

* Adding github action to run goimports (cosmos#1673)

* Add E2ETestSuite Type (E2E cosmos#3) (cosmos#1650)

* Separate go mod for e2e (E2E cosmos#4) (cosmos#1701)

* put back module name in event (cosmos#1681)

* fix typo

* Extracting e2e tests into two separate workflows (cosmos#1719)

* add categories

* Add fee middleware test suite functions (E2E cosmos#5) (cosmos#1710)

* Build local image to run tests with make e2e-test (cosmos#1722)

* Remove leftover crossing hello tests in connection handshake (cosmos#1724)

* remove leftover crossing hello tests in connection handshake

* fix bug in tests

* chore: adding environment variable to specify go relayer image (cosmos#1727)

* Thomas/1584 update docs apps (cosmos#1675)

* restructure content according to outline, fix image and syntax highlighting, fix titles and prepare for content updates

* rewrite bind port section

* restructure applications doc into folder structure

* add keeper section, make some minor corrections in bind ports, custom packet and implmenent IBC module sections

* update ibcmodule interface to encorporate the simpliefied handshake callbacks and version negotiation

* fix broken links

* fix remaining broken link

* fix some nits, correct for removal of crossing hellos and add some more explanation on portIDs

* update middleware docs to resolve merge confilicts

* update fee mw docs, add formating, fix typos, increase readability (cosmos#1665)

* update fee mw docs, add formating, fix typos, increase readability

* fix broken link

* Apply suggestions from code review

(De)capitalize headings and references to headings for consistency

Co-authored-by: Carlos Rodriguez <[email protected]>

* resolving merge conflict

* split the CLI commands and small typo correction

Co-authored-by: Carlos Rodriguez <[email protected]>

* chore: remove @fedekunze from CODEOWNERS (cosmos#1733)

* Test for AsyncSingleSender (E2E cosmos#6) (cosmos#1682)

* fix: running e2e-fork for dependabot PRs (cosmos#1745)

* Adding manual triggering of e2e via workflow dispatch (cosmos#1749)

* chore: denom traces migration handler (cosmos#1680)

* update code & test

* register migrator service

* add changelog entry for cosmos#1680

* add issue templates for epics and releases (cosmos#1702)

* add issue templates for epics and releases

* remove text

Co-authored-by: Carlos Rodriguez <[email protected]>

* fix typo

* fix typo

* feat: allow governance to update the TrustingPeriod of the 07-tendermint light client (cosmos#1713)

* initial commit

* format imports

* update docs

* update CHANGELOG

* update upgrade dev docs

* update re: pr comments

* E2E Test: TestMsgPayPacketFeeSingleSender (cosmos#1756)

* move entry to right place

* build(deps): bump docker/build-push-action from 3.0.0 to 3.1.0 (cosmos#1743)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@e551b19...1cb9d22)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <[email protected]>

* chore: Update makefile (cosmos#1770)

* remove unused tools, remove incorrect import formatting

* uncomment command in makefile

* add version matrix (cosmos#1767)

* add pseudocode to handle empty version string in OnChanOpenInit

* fix broken link (cosmos#1776)

* add item to update the version matrix after a release (cosmos#1775)

* E2E Test: TestMsgPayPacketFeeSingleSenderTimesOut (cosmos#1751)

* Move scripts from .github directory into cmd (cosmos#1787)

Co-authored-by: Charly <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Cian Hatton <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: vuong <[email protected]>
Co-authored-by: Aditya <[email protected]>
Co-authored-by: Jacob Gadikian <[email protected]>
Co-authored-by: Colin Axnér <[email protected]>
Co-authored-by: rene <[email protected]>
Co-authored-by: tmsdkeys <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants