#soroban #wasm #no-std

no-std sep-41-token

SEP-0041 标准Token特质、客户端和模拟实现

4 个版本 (1 个稳定版本)

1.0.0 2024年4月2日
0.3.0 2023年12月5日
0.2.1 2023年10月23日
0.2.0 2023年10月20日

#40#soroban

MIT 许可证

12KB
57 代码行

SEP-0041 Token

暴露 SEP-0041 Token 接口以及模拟 Token 合同。

SEP-0041 定义:https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0041.md

安全性

这是 实验性软件,以“现状”和“可用”为基础提供。

我们不提供任何 保证,也不会对任何通过使用此代码库产生的损失承担责任。

入门指南

将包添加到您的 Cargo.toml

[dependencies]
sep-41-token = "<desired version>"

您可以选择在 dev-dependencies 中包含 testutils 功能,以部署 sep-41-token 的模拟版本进行测试

[dev_dependencies]
sep-40-token = { version = "<desired version>", features = ["testutils"] }

客户端和特质

此包根据您的使用情况暴露了 3 个不同的 token 客户端。

  • TokenClient 是基于 SEP-0041 标准的,并从 Token 特质派生
  • StellarAssetClient 暴露了 Stellar Asset 合同实现的功能,并从 StellarAssetExtension 特质派生

模拟 Token

此包公开了 SEP-0041 标准的示例 Soroban Token 实现,可用于测试与 Soroban Token 的协议交互。这是重要的,因为与 Soroban Token 交互的成本影响比与 Stellar Asset 合同交互要大得多。

可以通过以下方式部署合同的 WASM 版本

use sep_41_token::testutils::{MockTokenClient, MockTokenWASM};
use soroban_sdk::{testutils::Address as _, Address, Env, String};

let env = Env::default();

let admin = Address::generate(&env);
let token_id = env.register_contract_wasm(None, MockTokenWASM);
let token_client = MockTokenClient::new(&env, &token_id);
token_client.initialize(
    &admin,
    &7,
    &String::from_str(&env, "Name"),
    &String::from_str(&env, "Symbol"),
);

依赖关系

~11–15MB
~311K SLoC