#token #standard #concordium #events #type #error #cis2

无 std concordium-cis2

实现 CIS-2 Concordium 代币标准的类型集合

11 个稳定版本 (5 个主要版本)

6.1.0 2024年2月22日
5.1.0 2023年10月18日
4.0.0 2023年6月16日
3.1.0 2023年5月8日
1.2.0 2022年9月1日

#2317 in 神奇豆

Download history 372/week @ 2024-04-08 181/week @ 2024-04-15 240/week @ 2024-04-22 143/week @ 2024-04-29 5/week @ 2024-05-13 13/week @ 2024-05-20 9/week @ 2024-05-27 38/week @ 2024-06-03 56/week @ 2024-06-10 31/week @ 2024-06-17 39/week @ 2024-06-24 42/week @ 2024-07-01 25/week @ 2024-07-08 99/week @ 2024-07-15 246/week @ 2024-07-22

每月下载量:412

MPL-2.0 许可证

540KB
9K SLoC

这是一个库,简化了在链上使用 Concordium 代币标准 CIS2 的工作。

链接


lib.rs:

此库提供了用于处理 Concordium 代币标准 CIS2 的类型和函数。

它包含每个合约函数的参数类型和每个事件的类型。每个类型都根据 CIS2 实现了序列化。此外,该包导出 CIS2Error 包装器类型,可用于包装和扩展自定义错误类型。这将确保 CIS2 错误具有正确的错误代码。

使用 TransferParams 的示例

type TransferParameter = TransferParams<TokenIdVec>;

#[receive(contract = "MyTokenContract", name = "transfer", parameter = "TransferParameter", enable_logger)]
fn contract_transfer<A: HasActions>(
    ctx: &impl HasReceiveContext,
    logger: &mut impl HasLogger,
    state: &mut State,
) -> ContractResult<A> {
    // Parse the parameter.
    let TransferParams(transfers) = ctx.parameter_cursor().get()?;
    // ...
    Ok(A::accept())
}

特性

此包具有 stdu256_amount 特性。前者是默认的。当启用 u256_amount 特性时,将定义类型 TokenAmountU256 并实现 IsTokenAmount 接口。

依赖项

~2.5MB
~45K SLoC