Open h5law opened 11 months ago
References for the reviewer: [1] ICS-02 spec [2] Most up to date ICS-08 spec [3] IBC Light Client explanatory series
CC: @Olshansk
@srdtrk if you are able to review this PR when you have some time I would really appreciate your feedback. This is an implementation of ICS-02, specifically for enabling ICS-08 (not implemented here). The code should look and feel similar to ibc-go
and the spec, any feedback is appreciated
@srdtrk Let us know if/when you can take a look at this as well!
Description
Summary generated by Reviewpad on 26 Jul 23 10:09 UTC
This pull request introduces various changes across multiple files in the codebase.
Here is a summary of the changes:
ibc/main_test.go
has undergone changes related to the constructor method call from "newProvableStore" to "NewProvableStore".ibc/main_test.go
has changes in the functionnewTestP2PModule
,bus.RegisterModule(p2pMock)
line removal, andprepareEnvironment
function modification.queries.go
in theibc/client/types
package includes the addition of new functions for retrieving and storing client and consensus states.submodule.go
in theibc/client
package adds the implementation of a client manager module for managing the creation, update, and upgrade of clients.ibc/client/types/validate_test.go
contains new test cases for validating various types in thetypes
package.keys_ics02.go
in theibc/path
package includes changes related to store keys and paths for client and consensus states.provable_store_test.go
has changes in the test cases and the constructor method call, replacingnewProvableStore
withNewProvableStore
.queries.go
in theibc/client
package introduces new functions for retrieving client and consensus states.upgrade.go
adds new types and functions related to upgrading the client state.events.go
includes implementations related to emitting events for the IBC client.event_keys.go
defines constants and variables related to the events emitted by the Client submodule.misbehaviour.go
adds a new struct and methods related to handling misbehavior by clients.header.go
adds a new file with types and methods related to the Wasm client consensus algorithm.consensus_state.go
includes the implementation of the ConsensusState struct and its associated methods.ibc/docs/README.md
has additions related to the ICS-02 implementation and links to relevant resources.fraction.go
introduces a new file with types and methods for comparing and performing operations on fractions.errors.go
includes changes related to error codes and a new error.update.go
adds types and methods for verifying and updating client states.introspect.go
introduces new functions for retrieving and verifying client and consensus states.types.go
adds implementations related to the IBC client for a Wasm module.ibc/host/submodule.go
includes changes related to imports and function modifications.Please review these changes carefully to ensure they adhere to the code's functionality and requirements.
Issue
Fixes #894
Type of change
Please mark the relevant option(s):
List of changes
ClientManager
interface in the client submoduleTesting
make develop_test
; if any code changes were mademake test_e2e
on k8s LocalNet; if any code changes were madee2e-devnet-test
passes tests on DevNet; if any code was changedRequired Checklist
godoc
format comments on touched members (see: tip.golang.org/doc/comment)If Applicable Checklist
shared/docs/*
if I updatedshared/*
README(s)