订单类型

ANENFT 交易包含链下挂单 / 报价和链上购买 / 接受报价,挂单和购买使用相同数据结构,部分参数取值不同。订单 Order 参数信息如下:

Order 参数

struct Order {
    address exchange;
    address maker;
    address taker;
    uint256 makerRelayerFee;
    uint256 takerRelayerFee;
    uint256 makerProtocolFee;
    uint256 takerProtocolFee;
    address feeRecipient;
    FeeMethod feeMethod;
    SaleKindInterface.Side side;
    SaleKindInterface.SaleKind saleKind;
    address target;
    HowToCall howToCall;
    bytes dataToCall;
    bytes replacementPattern;
    address staticTarget;
    bytes staticExtradata;
    address paymentToken;
    uint256 basePrice;
    uint256 extra;
    uint256 listingTime;
    uint256 expirationTime;
    uint256 salt;
}

参数

  • exchange - APENFTExchange 合约地址
  • maker - 挂单方地址
  • taker - 购买方地址
  • makerRelayerFee - 挂单方版税费率
  • takerRelayerFee - 购买方版税费率
  • makerProtocolFee - 挂单方平台费率
  • takerProtocolFee - 购买方平台费率
  • feeMethod - 费⽤⽅法 ,取值为1-split fee
  • feeRecipient - 版税收费地址
  • side - 买方/卖方, 0-买方,1-卖方
  • saleKind - 售卖方式,取值为 0 (以 “固定价格” 方式售卖)
  • target - 合集地址
  • howToCall - 合约调用方式,取值为 0
  • dataToCall - Calldata 转账时调⽤的函数名和参数的编码
  • replacementPattern - Calldata 替换模式
  • staticTarget - 英拍额外参数,固定价格订单,该参数取值为 zero-address
  • staticExtradata - 英拍额外参数,保留字段,取值为 “0x”
  • paymentToken - ⽀付订单币种
  • basePrice - 订单价格
  • extra - 拍卖额外参数,取值为 0
  • listingTime - 上架的时间戳
  • expirationTime - 过期时间戳
  • salt - 订单salt,防⽌重复哈希

参数详解

exchange

APENFTExchange 合约地址
主网:TQr5axvJzETeHsUiXv6QjBEh1BKH571AZu

maker

挂单方钱包地址,base58 格式

taker

购买方钱包地址,base58 格式

makerRelayerFee

挂单方版税费率,版权方设置最高版税为50%

takerRelayerFee

购买方版税费率,版权方设置最高版税为50%

makerProtocolFee

挂单方平台费率

takerProtocolFee

购买方平台费率

feeMethod

费⽤⽅法 ,当前取值固定为 1

feeRecipient

版税收费地址,为项目方指定地址

side

订单买卖标识,取值为 0 时是买单,取值为 1 时是卖单

saleKind

售卖方式,取值为 0 (即以 “固定价格” 方式售卖)

target

订单中 NFT 所在合集地址

howToCall

Call 类型,取值为 0

dataToCall

Calldata 转账时调⽤的函数名和参数的编码,dataToCall 源码结构为:

function parseERC721DataToCall(
  bytes memory b
)internal pure
returns (
  bytes4 methodId,
  address to,
  uint256 tokenId
)

replacementPattern

Calldata 的替换模式。卖单中 replacementPattern 取值为模式一时,买单中 replacementPattern 取值为模式二,反之亦然。

模式一:0x000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000

模式二:0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

staticTarget

如果是英拍订单,该参数取值为英拍执行地址;固定价格订单,该参数取值为 zero-address: T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb

staticExtradata

英拍额外参数,保留字段,取值为 “0x”

paymentToken

⽀付订单币种,zero-address(测试网与主网取值相同): T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb 代表币种为 TRX

basePrice

⽀付币种的订单价格,100000000 代表 100 TRX

extra

拍卖参数,无额外参数,取值为 0

listingTime

上架时间戳,长度为10位,例如 1651040633

expirationTime

过期时间戳,长度为10位,例如 1651334400

salt

订单salt,防⽌重复哈希。长度为 77 位的随机数字组成的字符串,例如 76431802940535634443859288223886227759190472848754102518674791180720213667853,不能以 0 作为第一位字符。