Skip to content

[IBC] Refactor the IBC host to be a submodule with bus access #854

@h5law

Description

@h5law

Objective

This issue aims to seperate the IBC host into its own sub module within the IBC module, with bus access. This allows for the host to retrieve the Persistence and P2P modules so that it can:

  1. Create local copies of the IBC state tree
  2. Broadcast these changes to the other nodes for them to be included in the next block

Origin Document

Screenshot 2023-06-22 at 21 49 13

Goals

  • Refactor the IBC host to be a submodule
  • Implement GetProvableStore() which returns a local copy of the IBC state tree
    • Upon any changes Update or Delete automatically trigger the changes to be broadcasted
  • Enable the host to broadcast IbcMessage types to the other nodes

Deliverable

  • IBC Host submodule
  • Working GetProvableStore() method for the host
  • Broadcast IbcMessages as they happen to the network
  • Test E2E IBC messages being created to being included in the new block

Non-goals / Non-deliverables

  • Change existing logic around receiving the changes from the bus

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

Metadata

Metadata

Assignees

Labels

ibcIBC specific changes

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions