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:
Create local copies of the IBC state tree
Broadcast these changes to the other nodes for them to be included in the next block
Origin Document
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
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:
Origin Document
Goals
GetProvableStore()
which returns a local copy of the IBC state treeUpdate
orDelete
automatically trigger the changes to be broadcastedIbcMessage
types to the other nodesDeliverable
GetProvableStore()
method for the hostIbcMessage
s as they happen to the networkNon-goals / Non-deliverables
General issue deliverables
Testing Methodology
make ...
make ...
make test_all
LocalNet
is still functioning correctly by following the instructions at docs/development/README.mdk8s LocalNet
is still functioning correctly by following the instructions hereCreator: @h5law Co-Owners: @h5law