6个版本
0.2.0 | 2021年8月11日 |
---|---|
0.2.0-rc2 | 2021年8月6日 |
0.1.2 | 2021年7月28日 |
#17 in #cw20
212次每月下载
在 2 个crate中使用(通过 cw20-wrapped)
83KB
2K SLoC
CW20-Legacy
本版本的CW20基础合约与在Terra链Columbus-4上运行的旧版合约兼容。
注意 该合约针对从Columbus-4 CW20代币合约迁移到Columbus-5进行了修改。强烈建议其他用途使用官方的CW20版本。
这是一个cw20合约的基版实现。它实现了CW20规范,旨在直接部署或导入到其他合约中,以方便构建具有自定义逻辑的cw20兼容代币。
实现
- CW20基础
- 可增发扩展
- 授权扩展
运行此合约
您需要安装Rust 1.44.1+以及 wasm32-unknown-unknown
目标。
您可以通过以下方式运行单元测试:
cargotest
如果您对内容满意,可以通过以下方式将其编译为wasm:
RUSTFLAGS='-C link-arg=-s' cargo wasm
cp ../../target/wasm32-unknown-unknown/release/cw20_base.wasm .
ls -l cw20_base.wasm
sha256sum cw20_base.wasm
或者,对于生产就绪(优化)构建,请在仓库根目录中运行构建命令: https://github.com/CosmWasm/cosmwasm-plus#compiling.
导入此合约
您还可以导入此合约的许多逻辑来构建另一个ERC20合约,例如债券曲线,覆盖或扩展所需的功能。
基本上,您只需要编写您的handle函数并导入 cw20_base::contract::handle_transfer
等,并将它们调度。这允许您使用自定义 ExecuteMsg
和 QueryMsg
与您额外的调用,然后使用底层实现来支持您想要的标准的cw20消息。对于 QueryMsg
也是如此。您 可以 重用 instantiate
,但您可能希望更改它。而且这相当简单。
查看 cw20-staking
以了解如何“继承”所有这些代币功能并将其与自定义逻辑结合的示例。
依赖项
~3.5–5MB
~108K SLoC