2 个稳定版本
1.6.2 | 2024 年 5 月 10 日 |
---|---|
1.6.1 | 2024 年 5 月 6 日 |
#3 在 #ismp
56 每月下载量
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