Duplex IBC for Accounts
This PR aims at allowing duplex communication for abstract IBC accounts (remote can also call the local account).
Current Status
When the IBC host receives an IBC message, it appends the sending chain name to the account trace before proceeding with executing the sent action.
Major changes
When the IBC host receives an IBC message, it modifies the account trace in the following way before proceeding with executing the sent action :
- If the account_id is remote and the last trace matches the current chain, we pop the chain name
- Otherwise, we just add the sending chain to the trace
Missing piece
The IBC host needs to be a manager of the resulting abstract account to be able to execute messaes on their behalf. --> The IBC host should be an admin of the manager of all abstract accounts that have IBC enabled.
Checklist
- [ ] CI is green.
- [ ] Changelog updated.
Deploying abstract-docs with
Cloudflare Pages
| Latest commit: |
6f9fc63
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://aedffc22.abstract-docs.pages.dev |
| Branch Preview URL: | https://nicolas-abs-381-add-duplex-i.abstract-docs.pages.dev |
Codecov Report
Attention: Patch coverage is 50.00000% with 8 lines in your changes are missing coverage. Please review.
Project coverage is 86.9%. Comparing base (
fc805d6) to head (6f9fc63).
Additional details and impacted files
| Files | Coverage Δ | |
|---|---|---|
| .../contracts/native/ibc-host/src/endpoints/packet.rs | 85.5% <50.0%> (-8.8%) |
:arrow_down: |
Closing because of outstanding problem. Duplex module <> module IBC should account for all practical usecases.