pokt-network / pocket

Official implementation of the Pocket Network Protocol v1
https://pokt.network
MIT License
61 stars 33 forks source link

[IBC] Add ICS-02 Client Interfaces #932

Closed h5law closed 11 months ago

h5law commented 11 months ago

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):

List of changes

Testing

Required Checklist

If Applicable Checklist