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 神奇豆
每月下载量:412
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())
}
特性
此包具有 std
和 u256_amount
特性。前者是默认的。当启用 u256_amount
特性时,将定义类型 TokenAmountU256
并实现 IsTokenAmount
接口。
依赖项
~2.5MB
~45K SLoC