1 个不稳定版本
0.1.6 | 2024年6月13日 |
---|---|
0.1.5 |
|
#10 在 #cw721
140KB
3K SLoC
CW721单集合市场
允许在NFT集合上列出和提供。
索引
展开
实例化
名称 | 类型 | 描述 |
---|---|---|
admin | String(Address) | 允许执行特权消息的地址 |
denom | String | 用于原生货币列表的代币符号 |
cw721 | String(Address) | 市场上允许的NFT集合 |
fee_percentage | u64 | 百分比费用扣除,例如:1 = 1% |
消息
创建
为特定的NFT创建一个出价或销售。每种类型的列表都有特定的注意事项,必须遵循以满足原始设计的用户体验。
- 出价
- 只能使用CW20代币
- 用户必须给这个合约一个等于或大于出价数量的允许
- 销售
- 用户必须给这个合约转让权限
名称 | 类型 | 描述 |
---|---|---|
id | String | 为列表创建的ID,不能是当前存在的ID |
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) | 如果它是销售,则为其请求的金额,如果它是出价,则为出价金额 |
UpdateConfig - 受权限控制
更新实例化时设置的合约配置。
名称 | 类型 | 描述 |
---|---|---|
admin | String(Address) | 允许执行特权消息的地址 |
denom | String | 用于原生货币列表的代币符号 |
cw721 | String(Address) | 市场上允许的NFT集合 |
fee_percentage | u64 | 百分比费用扣除,例如:1 = 1% |
Withdraw - 受权限控制
通过销售费用从合约中提取获得的代币
名称 | 类型 | 描述 |
---|---|---|
amount | String(Number) | 提取的金额 |
denom | String | 原生代币符号 |
payment_token | 可选字符串(地址) | 可选 cw20 地址以从其中提取 |
查询
列表
获取所有待定交换
名称 | 类型 | 描述 |
---|---|---|
start_after | 可选字符串 | 限制要开始后的 ID |
limit | 可选数字 | 限制要返回的交换数量 |
返回 ListResponse
GetTotal
计算总列表数,支持计算特定类型的列表,返回一个数字
名称 | 类型 | 描述 |
---|---|---|
swap_type | 可选 SwapType | 交换类型过滤器 |
返回代表总交换数的数字
GetOffers
名称 | 类型 | 描述 |
---|---|---|
page | 可选数字 | 分页 |
limit | 可选数字 | 限制结果数量 |
返回 PageResult 列表
GetListings
名称 | 类型 | 描述 |
---|---|---|
page | 可选数字 | 分页 |
limit | 可选数字 | 限制结果数量 |
返回 PageResult 列表
ListingsOfToken
名称 | 类型 | 描述 |
---|---|---|
token_id | String | NFT ID |
swap_type | 可选 SwapType | 交换类型过滤器 |
page | 可选数字 | 分页 |
limit | 可选数字 | 限制结果数量 |
返回 PageResult 列表
SwapsOf
名称 | 类型 | 描述 |
---|---|---|
地址 | String(Address) | 由特定地址创建的交换 |
swap_type | 可选 SwapType | 交换类型过滤器 |
page | 可选数字 | 分页 |
limit | 可选数字 | 限制结果数量 |
返回 PageResult 列表
SwapsByPrice
名称 | 类型 | 描述 |
---|---|---|
min | 可选字符串(数字) | 返回的最小价格 |
max | 可选字符串(数字) | 返回的最高价格 |
swap_type | 可选 SwapType | 交换类型过滤器 |
page | 可选数字 | 分页 |
limit | 可选数字 | 限制结果数量 |
返回 PageResult 列表
SwapsByDenom
名称 | 类型 | 描述 |
---|---|---|
payment_token | 可选字符串(地址) | 按 CW20 代币筛选 |
swap_type | 可选 SwapType | 交换类型过滤器 |
page | 可选数字 | 分页 |
limit | 可选数字 | 限制结果数量 |
返回 PageResult 列表
SwapsByPaymentType
名称 | 类型 | 描述 |
---|---|---|
cw20 | bool | 筛选支付类型 |
swap_type | 可选 SwapType | 交换类型过滤器 |
page | 可选数字 | 分页 |
limit | 可选数字 | 限制结果数量 |
返回 PageResult 列表
详情
返回指定列表的详细信息
名称 | 类型 | 描述 |
---|---|---|
id | String | 列表ID |
结果
名称 | 类型 | 描述 |
---|---|---|
creator | String(Address) | 列表创建者 |
payment_token | 可选字符串(地址) | 如果适用,Cw20 代币 |
token_id | String | NFT ID |
expires | 到期 | 列表过期日期 |
price | String(Number) | 提供的或请求的金额 |
swap_types | 交换类型 | 列表类型 |
配置
查询合约的配置,返回
名称 | 类型 | 描述 |
---|---|---|
admin | String(Address) | 允许执行特权消息的地址 |
denom | String | 用于原生货币列表的代币符号 |
cw721 | String(Address) | 市场上允许的NFT集合 |
fee_percentage | u64 | 百分比费用扣除,例如:1 = 1% |
分页结果
名称 | 类型 | 描述 |
---|---|---|
swaps | 数组 CW721Swap | 查询结果 |
page | 数字 | 当前页 |
total | 数字 | 合约中现有总项数 |
列表响应
名称 | 类型 | 描述 |
---|---|---|
swaps | 字符串数组 | 交换 ID 列表 |
CW721Swap
名称 | 类型 | 描述 |
---|---|---|
id | String | 列表ID |
creator | String(Address) | 创建者地址 |
contract | String(Address) | NFT 集合 |
payment_token | 可选字符串(地址) | CW20 合约 |
token_id | String | NFT ID |
expires | 到期 | 列表过期日期 |
price | String(Number) | 请求或提供的金额 |
swap_type | 交换类型 | 列表类型 |
到期
当某物可以过期时,内容可以是以下三种之一。 来源
AtHeight
当给定的高度大于或等于当前块高度时将过期
{
"at_height": 10
}
AtTime
当给定的时间大于或等于当前块高度时将过期
{
"at_time": "epoch number"
}
Never
永远不会过期
"never"
交换类型
表示正在进行的交易类型,可以是 Offer
,即对某人的 NFT 的出价,也可以是 Sale
,即出售拥有的 NFT 的列表
依赖关系
~4–6MB
~131K SLoC