47 releases (19 breaking)

0.24.1 Oct 25, 2024
0.23.0 Jul 16, 2024
0.21.0 Feb 20, 2024
0.19.2 Oct 19, 2023
0.2.0-beta.5 Nov 18, 2022

#14 in #ibc

Download history 185/week @ 2024-07-22 470/week @ 2024-07-29 387/week @ 2024-08-05 113/week @ 2024-08-12 165/week @ 2024-08-19 172/week @ 2024-08-26 88/week @ 2024-09-02 86/week @ 2024-09-09 77/week @ 2024-09-16 178/week @ 2024-09-23 86/week @ 2024-09-30 27/week @ 2024-10-07 372/week @ 2024-10-14 364/week @ 2024-10-21 83/week @ 2024-10-28 108/week @ 2024-11-04

930 downloads per month
Used in 9 crates (3 directly)

GPL-3.0-or-later

655KB
15K 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–19MB
~242K SLoC