1 个稳定版本
1.0.8 | 2024年6月17日 |
---|---|
1.0.7 |
|
#2972 in 魔法豆
110KB
2.5K SLoC
市场合约
交换单个收藏的 NFT。
查询
Config{}
: 获取关于市场的基本信息,例如哪些 NFT 收藏可以列出在市场中,以及从销售和报价中保留的费用百分比。
List{start_after, limit}
: 获取所有交换 ID 的分页列表。分页与 cw721 可枚举性相同(例如 start_after 字符串),但所有其他分页入口点都使用数字页面号(而不是 start_after 字符串)。
Details{id}
: 获取特定交换的详细信息
SwapsOf{address, swap_type, page, limit}
: 获取特定地址创建的所有交换
GetTotal{swap_type}
: swap_type 是可选的。获取交换总数,或特定 'Sale'
/ 'Offer'
的交换总数。
GetOffers{page, limit}
: 获取所有类型为 SwapType::Sale
的交换
GetListings{page, limit}
: 获取所有类型为 SwapType::Sale
的交换
ListingsOfToken{token_id, cw721, swap_type, page, limit}
:获取特定token ID的所有交易;可以按交易类型过滤。
SwapsByPrice{min, max, swap_type, page, limit}
:获取给定价格范围内的所有交易。
SwapsByDenom{payment_token, swap_type, page, limit}
:获取给定代币的所有交易。适用于本地和cw20代币(例如ARCH、wARCH等)。
SwapsByPaymentType{cw20, swap_type, page, limit}
:按支付类型获取所有交易(例如cw20支付或本地ARCH)。
交易
Create{SwapMsg}
:创建交易 Finish{SwapMsg}
:最终化交易,消耗交易 Cancel{CancelMsg}
:取消交易 Update{UpdateMsg}
:更新交易
(有关一些仅限管理员使用的附加功能,请参阅 execute.rs
)
消息
SwapMsg
:创建和完成交易的消息类型
pub struct SwapMsg {
pub id: String,
pub cw721: Addr,
pub payment_token: Option<Addr>, // Optional cw20 address; if `None` create swap for `aarch`
pub token_id: String,
pub expires: Expiration,
pub price: Uint128,
pub swap_type: SwapType, // Enum with a value of either 'Sale' or 'Offer'
}
CancelMsg
- 取消交易的消息类型
pub struct CancelMsg {
pub id: String, // ID of swap to be cancelled
}
UpdateMsg
- 更新交易价格和到期时间的消息类型
pub struct UpdateMsg {
pub id: String, // ID of swap to be updated
pub expires: Expiration, // New expiration (see: https://docs.rs/cw20/latest/cw20/enum.Expiration.html)
pub price: Uint128, // New swap price (see: https://docs.rs/cosmwasm-std/latest/cosmwasm_std/struct.Uint128.html)
}
依赖项
~4.5–6.5MB
~134K SLoC