2 个版本

0.1.1 2023年5月25日
0.1.0 2023年5月25日

#62#initialization

每月21 次下载

MIT 许可证

7KB
108 代码行

LayerZero 扫描客户端

安装

layerzero_scan_client = "0.1"

用法

使用期望的环境初始化客户端

#[tokio::main]
async fn main() {
    let client = Client::new(Environment::Mainnet, None);
    let src_tx_hash = "0x...";
    let response = client.get_message_by_src_tx_hash(src_tx_hash).await.unwrap();
}

响应

响应将包含以下参数的 Vec<Message>:对于新交易,消息列表可能为空。轮询应在应用层面实现,因为它特定于应用程序。对于最近的交易,期望消息列表为空,在移动到状态:INFLIGHT,最后状态:DELIVERED。

pub struct Message {
    pub src_ua_address: String,
    pub dst_ua_address: String,
    pub src_chain_id: u64,
    pub dst_chain_id: u64,
    pub dst_tx_hash: Option<String>,
    pub dst_tx_error: Option<String>,
    pub src_tx_hash: String,
    pub src_block_hash: String,
    pub src_block_number: String,
    pub src_ua_nonce: u64,
    pub status: MessageStatus,
}

pub enum MessageStatus {
    Inflight,
    Delivered,
    Failed,
}

注意

此库基于官方的 LayerZero JavaScript 客户端

依赖

~3–19MB
~247K SLoC