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

[IBC] Add ICS-02 Client Interfaces #932

Merged
merged 10 commits into from
Jul 26, 2023
Merged

Conversation

h5law
Copy link
Contributor

@h5law h5law commented Jul 24, 2023

Description

Summary generated by Reviewpad on 26 Jul 23 09:37 UTC

This pull request includes the following changes:

  1. Makefile:

    • Added lines to generate go structures for the ibc/client/types/proto/*.proto and ibc/client/light_clients/types/proto/*.proto files using the PROTOC_SHARED command.
  2. ibc_host_module.go:

    • Removed the IBCHandler interface.
    • Updated the IBCHostSubmodule interface to only extend the Submodule and ibcHostFactory interfaces.
    • Removed the ibc_host constant.
    • Modified the return type of the GetTimestamp method.
    • Modified the return type of the GetProvableStore method.
    • Removed various IBC-related methods.
  3. New file: pocket.proto:

    • Added a new proto file called "pocket.proto" in the "ibc/client/light_clients/types/proto" directory.
    • Defined multiple message types related to the Pocket network's IBC client.
  4. bus_module.go:

    • Added a new method, "GetClientManager()", to the "Bus" interface.
  5. New file: wasm.proto:

    • Added a new proto file called "wasm.proto" in the "ibc/client/types/proto" directory.
    • Defined several message types related to client and consensus states.
  6. ibc_client_module.go:

    • Added a new Go package named "modules".
    • Defined constants, types, and interfaces for managing IBC light clients.
    • Included methods for client lifecycle management, client queries, and client state verification.

These changes cover updates to Makefile, interface definitions, addition of new files, and modifications to existing files.

Issue

Fixes #894

Type of change

Please mark the relevant option(s):

  • New feature, functionality or library
  • Bug fix
  • Code health or cleanup
  • Major breaking change
  • Documentation
  • Other

List of changes

  • Create the Client submodule interface
    • Add the ClientManager interface
  • Add the different interfaces for client types
  • Add proto definitions for WASM client generic types and Pocket specific definitons

Testing

  • make develop_test; if any code changes were made
  • make test_e2e on k8s LocalNet; if any code changes were made
  • e2e-devnet-test passes tests on DevNet; if any code was changed
  • Docker Compose LocalNet; if any major functionality was changed or introduced
  • k8s LocalNet; if any infrastructure or configuration changes were made

Required Checklist

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added, or updated, godoc format comments on touched members (see: tip.golang.org/doc/comment)
  • I have tested my changes using the available tooling
  • I have updated the corresponding CHANGELOG

If Applicable Checklist

  • I have updated the corresponding README(s); local and/or global
  • I have added tests that prove my fix is effective or that my feature works
  • I have added, or updated, mermaid.js diagrams in the corresponding README(s)
  • I have added, or updated, documentation and mermaid.js diagrams in shared/docs/* if I updated shared/*README(s)

@h5law h5law added e2e-devnet-test Runs E2E tests on devnet ibc IBC specific changes labels Jul 24, 2023
@h5law h5law added this to the M7: Pocket NoS (North Star) milestone Jul 24, 2023
@h5law h5law requested review from Olshansk and dylanlott July 24, 2023 10:15
@h5law h5law self-assigned this Jul 24, 2023
@reviewpad reviewpad bot added large Pull request is large waiting-for-review labels Jul 24, 2023
}

// PocketClientState defines the ibc client state for Pocket
message PocketClientState {
Copy link
Member

Choose a reason for hiding this comment

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

TIL some stuff from the parametesr in this proto

ibc/client/light_clients/types/proto/pocket.proto Outdated Show resolved Hide resolved
Base automatically changed from ibc/event_height to main July 26, 2023 09:30
@h5law h5law merged commit cbc7921 into main Jul 26, 2023
10 checks passed
@h5law h5law deleted the ibc/client_semantics_interfaces branch July 26, 2023 09:58
red-0ne pushed a commit that referenced this pull request Aug 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e2e-devnet-test Runs E2E tests on devnet ibc IBC specific changes large Pull request is large waiting-for-review
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[IBC] Implement ICS-02 IBC Light Client Interface
2 participants