42 releases (16 breaking)

0.21.0 Feb 20, 2024
0.19.2 Oct 19, 2023
0.18.0 Jul 28, 2023
0.13.0 Mar 28, 2023
0.2.0-beta.5 Nov 18, 2022

#55 in #ibc

Download history 13/week @ 2024-01-19 25/week @ 2024-01-26 30/week @ 2024-02-02 15/week @ 2024-02-09 143/week @ 2024-02-16 241/week @ 2024-02-23 162/week @ 2024-03-01 103/week @ 2024-03-08 40/week @ 2024-03-15 135/week @ 2024-03-22 459/week @ 2024-03-29 227/week @ 2024-04-05

875 downloads per month
Used in 6 crates (via abstract-interface)

GPL-3.0-or-later

645KB
14K SLoC

Abstract IBC host

The Abstract IBC host is a contract designed to be deployed on an Abstract-deployed chain. It enables any Account on a remote chain to claim and perform cross-chain actions on an account on the local chain.

Supported actions

Register

Register an Account by creating a local account. Incoming requests and funds will be routed to this account.

Dispatch

Proxy a set of execute messages to the Account's proxy on the host chain.

IBC

In order to connect this host contract to the client contract on a remote chain, one need to use an IBC protocol that can relay packets between chains. In our case, we use Polytone by DA0-DA0, which provides great flexibility and built in security (by not mixing up chains), as well as common channels with all other protocols that build cross chain apps. This allows for easier maintainability and collaboration.

This host contract need to whitelist Polytone's execution proxy for each chain it communicates with. IBC Channels are therefore identified with the chain name, which allows for easy migration, even when the chain id changes!

Dependencies

~5–17MB
~219K SLoC