#nft #marketplaces #cw721 #contract #host #swapping #instantiation

cw721-marketplace

一个开放的cw721 NFT市场,接受在主网络上可用的任何NFT的交换。

1 个不稳定版本

0.1.6 2024年6月13日
0.1.5 2024年5月17日

#8 in #cw721

24 次每月下载

Apache-2.0

140KB
3K SLoC

CW721市场

允许列出和出售NFT。此合约支持多个NFT系列。

索引

展开

实例化

名称 类型 描述
admin String(Address) 允许执行特权消息的地址
denom String 本地令牌列表的代币 denom
fee_percentage u64 百分比费用削减,例如:1 = 1%

消息

创建

创建特定NFT的报价或销售。每种类型的列表都有必须遵循的具体注意事项,以满足原始设计的目标用户体验。

  • 报价
    • 只能使用CW20令牌
    • 用户必须给此合约一个等于或大于报价金额的允许额度
  • 销售
    • 用户必须给此合约转账权限
名称 类型 描述
id String 为列表创建的ID,不能是当前存在的ID
cw721 String(Address) NFT合约,必须是市场支持的
payment_token String(Address) 可选cs20地址,默认为aarch如果为空
token_id String NFT令牌ID
expires 到期时间 列表将何时到期
price String(Uint128) 如果是销售,则是请求的金额;如果是报价,则是报价金额
swap_type 交换类型 列表类型

完成

最终确定列表。执行此操作的权限取决于列表类型。

  • 销售
    • 买家必须触发此操作
    • 必须给此合约一个等于或大于报价金额的允许额度
  • 报价
    • 卖家必须触发此操作
    • 必须给此合约转账权限
名称 类型 描述
id String 列表ID

取消

取消列表,只能由列表创建者触发。

名称 类型 描述
id String 列表ID

更新

更新列表,只能由列表创建者触发。

名称 类型 描述
id String 列表ID
expires 到期时间 列表将何时到期
price String(Uint128) 如果是销售,则是请求的金额;如果是报价,则是报价金额

更新配置 - 受权限控制

更新实例化时设置的合约配置。

名称 类型 描述
admin String(Address) 允许执行特权消息的地址
denom String 本地令牌列表的代币 denom
cw721 String(Address) Array 市场允许的NFT收藏
fee_percentage u64 百分比费用削减,例如:1 = 1%

提现 - 受权限控制

通过销售费用提取合同赚取的代币

名称 类型 描述
数量 String(Number) 提取数量
denom String 本地币种符号
payment_token 可选 String(Address) 可选 cw20提取地址

查询

列表

获取所有挂起的交易

名称 类型 描述
start_after 可选 String 限制从哪个ID开始
limit 可选数字 限制返回的交易数量

返回 ListResponse


总数

计算总列表数量,支持计算特定类型的列表,返回一个数字

名称 类型 描述
swap_type 可选 SwapType 交易类型过滤器

返回表示总交易的数字


获取报价

名称 类型 描述
page 可选数字 分页
limit 可选数字 限制结果数量

返回 PageResult 列表


获取列表

名称 类型 描述
page 可选数字 分页
limit 可选数字 限制结果数量

返回 PageResult 列表


令牌的列表

名称 类型 描述
token_id String NFT ID
swap_type 可选 SwapType 交易类型过滤器
cw721 可选 String(Address) NFT收藏过滤器
page 可选数字 分页
limit 可选数字 限制结果数量

返回 PageResult 列表


交换

名称 类型 描述
address String(Address) 由特定地址创建的交易
swap_type 可选 SwapType 交易类型过滤器
cw721 可选 String(Address) NFT收藏过滤器
page 可选数字 分页
limit 可选数字 限制结果数量

返回 PageResult 列表


按价格交换

名称 类型 描述
min 可选 String(number) 返回的最小价格
max 可选 String(number) 返回的最大价格
swap_type 可选 SwapType 交易类型过滤器
cw721 可选 String(Address) NFT收藏过滤器
page 可选数字 分页
limit 可选数字 限制结果数量

返回 PageResult 列表


按代币交换

名称 类型 描述
payment_token 可选 String(Address) 按 CW20 代币过滤
swap_type 可选 SwapType 交易类型过滤器
cw721 可选 String(Address) NFT收藏过滤器
page 可选数字 分页
limit 可选数字 限制结果数量

返回 PageResult 列表


按支付类型交换

名称 类型 描述
cw20 bool 按支付类型过滤
swap_type 可选 SwapType 交易类型过滤器
cw721 可选 String(Address) NFT收藏过滤器
page 可选数字 分页
limit 可选数字 限制结果数量

返回 PageResult 列表


详情

返回指定列表的详细信息

名称 类型 描述
id String 列表ID
结果
名称 类型 描述
creator String(Address) 列表创建者
contract String(Address) NFT收藏
payment_token 可选 String(Address) 适用的Cw20代币
token_id String NFT ID
expires 到期时间 列表到期日期
price String(Number) 提供的或请求的数量
swap_types 交换类型 列表类型

配置

查询合约的配置,返回

名称 类型 描述
admin String(Address) 允许执行特权消息的地址
denom String 本地令牌列表的代币 denom
fee_percentage u64 百分比费用削减,例如:1 = 1%

页面结果

名称 类型 描述
swaps CW721Swap 数组 查询结果
page number 当前页
total number 合约中存在的总项数

列表响应

名称 类型 描述
swaps String数组 交易ID列表

CW721交换

名称 类型 描述
id String 列表ID
creator String(Address) 创建者地址
nft_contract String(Address) NFT收藏
payment_token 可选 String(Address) CW20合约
token_id String NFT ID
expires 到期时间 列表到期日期
price String(Number) 请求或提供的数量
swap_type 交换类型 列表类型

到期时间

当某物可以过期时,内容可以是以下三种之一。 来源

在高度时

当给定高度大于或等于当前块高度时将过期

{
    "at_height": 10
}

在时间时

当给定时间大于或等于当前块高度时将过期

{
  "at_time": "epoch number"
}

永不

永远不会过期

"never"

交换类型

表示正在进行的交易类型,可以是 Offer,这是对某人NFT的出价,以及 Sale,这是出售自己拥有的NFT的列表

依赖项

~4–6MB
~131K SLoC