-
Notifications
You must be signed in to change notification settings - Fork 624
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
feat: adding 09-localhost loopback client module #3229
Conversation
…e core IBC store for localhost clients (#3083)
* adding localhost AppModuleBasic to app.go. adding localhost client to InitGenesis. Fixing update localhost client * renmaing variable * adding migration handler for enabling localhost client * updating to use clienttypes.GetSelfHeight()
* adding initial localhost client testing scaffolding * add testing placeholders, adapt initialise code, wire AppModuleBasic * adding happy path test cases, fixing store prefixing in verify membership/non-membership * formatting * adding additional test cases * adding remaining test cases * adding inline comments
* return an error from 09-localhost client VerifyClientMessage * fix typo --------- Co-authored-by: Carlos Rodriguez <[email protected]>
* disallow localhost client creation, adapt tests * adapting logic to accomodate usage of allowed clients in InitGenesis * move localhost check to separate conditional
* use temporary relayer tag for e2e testing localhost * WIP commiting * updating codec and handling txResp * WIP scaffold happy path out * adding some temporary todos * adding msg response unmarshalling, and adding interchain accounts handshake test * adding ica send packet testing, cleanup..etc * adding separate test suite for localhost transfer tests (#3144) * add separate test suite struct for ICA localhost * fixing testsuite embedding * review suggestions - events func and nits * testcase naming --------- Co-authored-by: Cian Hatton <[email protected]>
* use temporary relayer tag for e2e testing localhost * WIP commiting * updating codec and handling txResp * WIP scaffold happy path out * adding some temporary todos * adding msg response unmarshalling, and adding interchain accounts handshake test * adding ica send packet testing, cleanup..etc * adding separate test suite for localhost transfer tests (#3144) * add separate test suite struct for ICA localhost * fixing testsuite embedding * adding test for ica channel close and reopen --------- Co-authored-by: Cian Hatton <[email protected]>
@@ -15,8 +15,8 @@ const ( | |||
Rly = "rly" | |||
Hermes = "hermes" | |||
|
|||
cosmosRelayerRepository = "ghcr.io/cosmos/relayer" | |||
cosmosRelayerUser = "100:1000" // docker run -it --rm --entrypoint echo ghcr.io/cosmos/relayer "$(id -u):$(id -g)" | |||
cosmosRelayerRepository = "damiannolan/rly" //"ghcr.io/cosmos/relayer" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can add a link to where the docs will be in the commit message?
And link to the localhost issue with a breakdown of all sub issues
Co-authored-by: colin axnér <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:)
chain-a-tag: pr-3136 # TODO: needs v7.0.0 (with simapp fixes) when cut | ||
chain-b-tag: pr-3136 # TODO: needs v7.0.0 (with simapp fixes) when cut |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there an issue for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if clientID == exported.LocalhostClientID { | ||
return clientID, 0, nil | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regrets of not starting client identifiers at 1 😅 Would have been very clean with localhost being 0
I kind of think we should consider making this function private (or separating functionality) if it's possible two different client identifiers return 0 for the sequence. Not a concern to handle right now, but in non-test code this is used only to verify the identifier is parseable or to validate the NextClientSequence
in 02-client/types/genesis.go#Validate
. I would propose only parsing the identifier within that function
#3173 might make this easier to handle
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🥳 🥳 🎈
|
||
In the previous release of ibc-go, the localhost `v1` light client module was deprecated and removed. The ibc-go `v7.1.0` release introduces `v2` of the 09-localhost light client module. | ||
|
||
<!-- TODO: Update the links to use release version instead of feat branch --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there an issue for this? This will be a dead link as soon as the branch is deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will create one for this so we don't lose it if it doesn't exist.
feat: adding 09-localhost loopback client module [\#3034](#3034). Please see the 09-localhost documentation [here](https://ibc.cosmos.network/main/ibc/light-clients/localhost/overview.html). feat: AllowedClients on-chain param allows chains to pause usage of specific client types by removing the client type from the param. imp: Update all channel events to use `connection_id` attribute. The `packet_connection` attribute has been deprecated. (cherry picked from commit d840c69) # Conflicts: # .github/workflows/e2e-upgrade.yaml # docs/ibc/events.md # e2e/relayer/relayer.go # e2e/testconfig/testconfig.go # e2e/tests/upgrades/upgrade_test.go # e2e/testsuite/codec.go # e2e/testsuite/grpc_query.go # e2e/testsuite/testsuite.go # modules/core/02-client/keeper/client.go # modules/core/02-client/keeper/proposal.go # modules/core/02-client/types/errors.go # modules/core/03-connection/keeper/verify.go # modules/core/03-connection/types/msgs_test.go # modules/core/04-channel/keeper/packet.go # modules/core/04-channel/types/msgs.go
) * Adding 09-localhost loopback client module (#3229) feat: adding 09-localhost loopback client module [\#3034](#3034). Please see the 09-localhost documentation [here](https://ibc.cosmos.network/main/ibc/light-clients/localhost/overview.html). feat: AllowedClients on-chain param allows chains to pause usage of specific client types by removing the client type from the param. imp: Update all channel events to use `connection_id` attribute. The `packet_connection` attribute has been deprecated. (cherry picked from commit d840c69) # Conflicts: # .github/workflows/e2e-upgrade.yaml # docs/ibc/events.md # e2e/relayer/relayer.go # e2e/testconfig/testconfig.go # e2e/tests/upgrades/upgrade_test.go # e2e/testsuite/codec.go # e2e/testsuite/grpc_query.go # e2e/testsuite/testsuite.go # modules/core/02-client/keeper/client.go # modules/core/02-client/keeper/proposal.go # modules/core/02-client/types/errors.go # modules/core/03-connection/keeper/verify.go # modules/core/03-connection/types/msgs_test.go # modules/core/04-channel/keeper/packet.go # modules/core/04-channel/types/msgs.go * rm -rf e2e * rm .github/workflows/e2e-upgrade.yaml * fix errorsmod -> sdkerrors * ibcerror -> sdkerror in localhost client_state.go --------- Co-authored-by: Damian Nolan <[email protected]>
Description
The following PR adds
v2
of the09-localhost
light client module.closes: #3034
Commit Message / Changelog Entry
see the guidelines for commit messages. (view raw markdown for examples)
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.
docs/
) or specification (x/<module>/spec/
).godoc
comments.Files changed
in the Github PR explorer.Codecov Report
in the comment section below once CI passes.