1 个不稳定版本

0.1.0 2024年2月1日

#10#funds

BUSL-1.1

355KB
10K SLoC

市场

Stargaze NFT 拍卖以持续拍卖的形式进行。出价和竞标的时间限制由治理设定。

任何人都可以调用 SetBid 方法,对任何列出的 NFT 进行出价。资金将被发送到市场合约,作为托管。

竞标者可以使用 RemoveBid 方法移除他们的出价并收回资金。当移除出价时,其存款将退还。新的出价将自动移除和退还之前的出价。

NFT 所有者可以在任何时候选择他们喜欢的出价,并调用 AcceptBid 方法,这将转移资金和 NFT。

可选地,NFT 所有者可以使用 SetAsk 方法设置询问价格。如果设置了询问价格,任何满足询问要求的出价将自动被接受并转给竞标者。所有者可以使用 RemoveAsk 方法移除询问。

当接受出价时,资金和 NFT 将自动转移。支付将被分割并按照在 NFT 创建时指定的版税分配。

授权市场

为了接受出价或设置询问价格,所有者需要授予市场合约转移 NFT 的批准。这可以通过每个 NFT 的 Approve 方法完成,或者使用 ApproveAll 为收藏中的所有 NFT 批量完成。

运行此合约

您需要安装 Rust 1.44.1+ 并具有 wasm32-unknown-unknown 目标。

您可以通过以下方式运行单元测试:

cargotest

一旦您对内容满意,您可以通过以下方式将其编译为 wasm:

RUSTFLAGS='-C link-arg=-s' cargo wasm
cp ../../target/wasm32-unknown-unknown/release/sg_marketplace.wasm .
ls -l sg_marketplace.wasm
sha256sum sg_marketplace.wasm

或者,对于生产就绪(优化)构建,在仓库根目录中运行构建命令:https://github.com/CosmWasm/cosmwasm-plus#compiling.

依赖关系

~5.5–7.5MB
~180K SLoC