37个版本 (10个重大更新)
0.11.1 | 2021年12月28日 |
---|---|
0.10.3 | 2021年11月16日 |
0.8.0-rc1 | 2021年7月29日 |
0.6.0-alpha1 | 2021年3月12日 |
0.1.0 | 2020年7月7日 |
#1 在 #escrow
每月104次下载
72KB
1.5K SLoC
CW20担保
这是一个担保元合约,允许多个用户创建独立的担保。每个担保都有一个发送者、接收者和仲裁者。它还有一个唯一的id(用于将来调用时引用)和一个可选的超时。
基本功能是发送者用资金创建一个担保。仲裁者可以在任何时候决定将资金释放给预期的接收者或原始发送者(但不是其他人),如果通过了可选的超时,任何人都可以将锁定代币退还给原始发送者。
我们还添加了一个名为“top_up”的功能,允许任何人在任何时候向合约添加更多资金。
代币类型
此合约不仅旨在功能齐全,而且还作为CW20“接收器”的简单示例。并演示相同的调用如何通过典型 ExecuteMsg
路径提供本地代币,或通过 Receiver
接口提供cw20代币。
create
和 top_up
都可以直接调用(使用本地代币的有效负载),或从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_escrow.wasm .
ls -l cw20_escrow.wasm
sha256sum cw20_escrow.wasm
或者,对于生产就绪(优化)构建,在仓库根目录中运行构建命令:https://github.com/CosmWasm/cw-plus#compiling。
依赖关系
~3.5–5.5MB
~119K SLoC