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] Create the initial IBC module #794

Closed
2 of 27 tasks
h5law opened this issue May 30, 2023 · 0 comments · Fixed by #842
Closed
2 of 27 tasks

[IBC] Create the initial IBC module #794

h5law opened this issue May 30, 2023 · 0 comments · Fixed by #842
Assignees
Labels
ibc IBC specific changes

Comments

@h5law
Copy link
Contributor

h5law commented May 30, 2023

Objective

As outlined here the first phase of the IBC integration requires the implementation of both ICS-23 and ICS-24 before work can start on the ICS-02 (Light Client).

This issue encompasses the implementation of ICS-23 and ICS-24 (in part) alongside partially ICS-25 and doing so integrating them into the new IBC module in Pocket V1.

Origin Document

IBC Implementation Roadmap can be found here

Goals

  • Create a new IBC module in Pocket V1
  • Implement ICS-23
  • Implement ICS-24 (in part)
  • Implement ICS-25 (in part)
  • Mock and unit test the initial IBC module and its components
  • Add documentation

Deliverable

Non-goals / Non-deliverables

  • Implement any ICS module besides those listed above
  • Fully implement the ICS-24 and ICS-25 components regarding their functionality relating to other ICS components

General issue deliverables

  • Update the appropriate CHANGELOG(s)
  • Update any relevant local/global README(s)
  • Update relevant source code tree explanations
  • Add or update any relevant or supporting mermaid diagrams

Testing Methodology

  • Task specific tests or benchmarks: make ...
  • New tests or benchmarks: make ...
  • All tests: make test_all
  • LocalNet: verify a LocalNet is still functioning correctly by following the instructions at docs/development/README.md
  • k8s LocalNet: verify a k8s LocalNet is still functioning correctly by following the instructions here

Creator: @h5law
Co-Owners: @h5law

@h5law h5law added the ibc IBC specific changes label May 30, 2023
@h5law h5law added this to the M7: Pocket NoS (North Star) milestone May 30, 2023
@h5law h5law self-assigned this May 30, 2023
@h5law h5law moved this to Up Next in V1 Dashboard May 30, 2023
@h5law h5law moved this from Up Next to In Progress in V1 Dashboard May 30, 2023
@h5law h5law moved this from In Progress to In Review in V1 Dashboard Jun 14, 2023
h5law added a commit that referenced this issue Jun 27, 2023
## Description

This PR introduces the base IBC module and partially implements ICS-24
(paths, keys and identifiers)

## Issue

Fixes #794 

## Type of change

Please mark the relevant option(s):

- [x] New feature, functionality or library
- [ ] Bug fix
- [ ] Code health or cleanup
- [ ] Major breaking change
- [x] Documentation
- [ ] Other

## List of changes

- Adds the IBC module interface in `shared/modules/ibc_module.go`
- Implements the IBC module and IBC host interface
- Adds ICS-24 path, keys and identifier logic
- Add `shared/core/types/commitments.go` for IBC commitment type aliases
- Adds custom errors related to IBC in `shareds/core/types/errors.go`

## Testing

- [x] `make develop_test`; if any code changes were made
- [x] `make test_e2e` on [k8s
LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md);
if any code changes were made
- [x] `e2e-devnet-test` passes tests on
[DevNet](https://pocketnetwork.notion.site/How-to-DevNet-ff1598f27efe44c09f34e2aa0051f0dd);
if any code was changed
- [x] [Docker Compose
LocalNet](https://github.com/pokt-network/pocket/blob/main/docs/development/README.md);
if any major functionality was changed or introduced
- [x] [k8s
LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md);
if any infrastructure or configuration changes were made


## Required Checklist

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

### If Applicable Checklist

- [x] I have updated the corresponding README(s); local and/or global
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added, or updated,
[mermaid.js](https://mermaid-js.github.io) diagrams in the corresponding
README(s)
- [ ] I have added, or updated, documentation and
[mermaid.js](https://mermaid-js.github.io) diagrams in `shared/docs/*`
if I updated `shared/*`README(s)

---------

Co-authored-by: Bryan White <bryanchriswhite@gmail.com>
@github-project-automation github-project-automation bot moved this from In Review to Done in V1 Dashboard Jun 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ibc IBC specific changes
Projects
Status: Done
1 participant