#token #cw20 #legacy #contract #compatible #basic #columbus-4

cw20-legacy

符合CosmWasm-20规范且兼容Columbus-4代币的基版代币实现

6个版本

0.2.0 2021年8月11日
0.2.0-rc22021年8月6日
0.1.2 2021年7月28日

#17 in #cw20

Download history 117/week @ 2024-04-12 97/week @ 2024-04-19 61/week @ 2024-04-26 47/week @ 2024-05-03 38/week @ 2024-05-10 34/week @ 2024-05-17 38/week @ 2024-05-24 53/week @ 2024-05-31 35/week @ 2024-06-07 132/week @ 2024-06-14 46/week @ 2024-06-21 17/week @ 2024-06-28 10/week @ 2024-07-05 39/week @ 2024-07-12 129/week @ 2024-07-19 34/week @ 2024-07-26

212次每月下载
2 个crate中使用(通过 cw20-wrapped

Apache-2.0

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 等,并将它们调度。这允许您使用自定义 ExecuteMsgQueryMsg 与您额外的调用,然后使用底层实现来支持您想要的标准的cw20消息。对于 QueryMsg 也是如此。您 可以 重用 instantiate,但您可能希望更改它。而且这相当简单。

查看 cw20-staking 以了解如何“继承”所有这些代币功能并将其与自定义逻辑结合的示例。

依赖项

~3.5–5MB
~108K SLoC