【问题标题】:how to access event parameters in unit test frame 0.9.12如何在单元测试框架 0.9.12 中访问事件参数
【发布时间】:2021-11-16 06:18:49
【问题描述】:

大家好,我正在尝试访问事件中传递的值。

我已经提取了这个事件 - 这不是基板 0.9.12,所以我无法使用我在网上找到的一些使用基板 2.0.0 的示例

let e = &frame_system::Pallet::<Test>::events()[0];
 let EventRecord { event, .. } = e;

这就是事件的结构

Event::MosaicVault(
    Event::VaultCreated {
        sender: 1,
        asset_id: A,
        vault_id: 1,
        reserved: Perquintill(
            1000000000000000000,
        ),
    },
)

我如何访问 vault_id 值,一个样本会很有帮助,谢谢

【问题讨论】:

    标签: rust substrate polkadot


    【解决方案1】:

    这称为枚举的解构(如果您想在线搜索更多示例)。

    基本上你可以使用一些matchif let来获取一些枚举变体的内部字段。

    有点像这样:

    if let Event::MosaicVault(Event::VaultCreated { vault_id, .. }) = event {
    // here you have access to vault_id
    }
    

    【讨论】:

    猜你喜欢
    • 2012-02-29
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 2011-10-19
    • 2011-08-28
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多