description |
---|
validate a NFT order |
POST api/v3/nft/validateOrder
Field | Description | Example | Type | Required |
---|---|---|---|---|
X-API-KEY | ApiKey | "HlkcGxbqBeaF76j4rvPaOasyfPwnkQ6B6DQ6THZWbvrAGxzEdulXQvOKLrRWZLnN" | Y |
Query Param | Description | Example | |||
---|---|---|---|---|---|
exchange | exchangeAddress in exchange info | ||||
accountId | accountId | 10110 | |||
storageId | storageId of sell tokenId in | 2 | |||
sellToken | NftTokenAmountInfo, NFT token if sell NFT order else erc20 token like USDT | ||||
buyToken | NftTokenAmountInfo, NFT token if buy NFT order else erc20 token like USDT | ||||
validUntil | Timestamp for transfer to become invalid, seconds | normally current time + 2 months | |||
maxFeeBips | Maximum order fee that the user can accept, value range (in ten thousandths) 1 ~ 5000 | 100, means 1% | |||
eddsaSignature | eddsa signature of the eddsa hash | ||||
clientOrderId | (Optional) An arbitrary, client-set unique order identifier, max length is 120 bytes | "test" | |||
affiliate | (Optional) An accountID who will receive a share of the fee of this order at the end of monthly distribution. Need contact us to add the accountId in whitelist. | 10110 |
Field | Description | Example | Type | Required |
---|---|---|---|---|
hash | The hash identifier set by the user at the time of submission, can use this hash to get the transfer info | "0x1d923ca7834dc90484fa2eb611f0f0bc7e741bb107007ebea19ba8caeab4f9d3" | string | Y |
status | Whether the order was successfully submitted or not, please note, user may query after a while to get real process status, as most offchain requests are async processed Allowable : ['received', 'processing', 'processed', 'failed'] | "received" | string | Y |
isIdempotent | Idempotent of submit transfer response, submit same transfer again idempotent will be true | false | boolean | Y |
Wrapper object used to describe a token associated with a certain quantity.
Field | Description | Example | Type | Required |
---|---|---|---|---|
tokenId | The Loopring's NFT token identifier. | 32769 | integer | Y |
amount | The amount of the NFT token | "2" | string | Y |
nftData | The Loopring's NFT token data identifier which is a hash string of NFT token address and NFT_ID | "0xf7c932351186c3a9053f313eefa16209c018f7f1dba8aa 8ca7100400f7c31085" |
const inputs = [
new BN(ethUtil.toBuffer(request.exchange)).toString(),
request.storageId,
request.accountId,
request.sellToken.tokenId,
request.buyToken.tokenId,
request.sellToken.volume,
request.buyToken.volume,
request.validUntil,
request.maxFeeBips,
request.fillAmountBOrS ? 1 : 0,
new BN(ethUtil.toBuffer(request.taker)).toString(),
];
const hasher = Poseidon.createHash(12, 6, 53);
const hash = hasher(inputs).toString(10)