#substrate #interop #ismp #polkadot-sdk

no-std pallet-hyperbridge

Hyperbridge Pallet 在 Hyperbridge 和基于 Substrate 的链之间进行调解

2 个稳定版本

1.6.2 2024 年 5 月 10 日
1.6.1 2024 年 5 月 6 日

#3#ismp

Download history 139/week @ 2024-05-02 150/week @ 2024-05-09 8/week @ 2024-05-16 6/week @ 2024-05-23

56 每月下载量

Apache-2.0

205KB
3.5K SLoC

Hyperbridge Pallet

Hyperbridge Pallet 在 Hyperbridge 和基于 Substrate 的链之间进行调解。此 Pallet 提供

  • 一个 IsmpDispatcher 实现,该实现收集协议费用并将这些费用的收据提交到子存储。Hyperbridge 只接受使用此模块付费的消息。
  • 一个 IsmpModule,该模块接收并处理来自 Hyperbridge 的请求。这些请求由 Hyperbridge 管理派发,并可能调整费用或请求为中继器和协议收入进行支付。

此 Pallet 不包含调用也不派发请求。基于 Substrate 的链应使用此 Pallet 来派发需要由 Hyperbridge 处理的请求。

用法

此模块必须在您的 IsmpRouter 实现中配置为 IsmpModule,以便它可以从 Hyperbridge 接收重要消息,例如参数更新或中继器费用提取。

use ismp::Error;
use ismp::module::IsmpModule;
use ismp::router::IsmpRouter;
use pallet_hyperbridge::PALLET_HYPERBRIDGE_ID;

#[derive(Default)]
struct ModuleRouter;

impl IsmpRouter for ModuleRouter {
    fn module_for_id(&self, id: Vec<u8>) -> Result<Box<dyn IsmpModule>, Error> {
        return match id.as_slice() {
            PALLET_HYPERBRIDGE_ID => Ok(Box::new(pallet_hyperbridge::Pallet::<Runtime>::default())),
            _ => Err(Error::ModuleNotFound(id)),
        };
    }
}

许可

本库根据 Apache 2.0 许可证授权,版权所有 (c) 2024 Polytope Labs。

依赖关系

~17–36MB
~609K SLoC