Validate a NFT order
流量控制: 5 每 秒
摘要
HTTP 方法
POST
访问路径
/api/v3/nft/validateOrder
功能
Validate a NFT order
API 描述
HTTP头
字段 | 类型 | 必须 | 说明 | 举例 |
---|---|---|---|---|
X-API-KEY | string | 是 | ApiKey | "HlkcGxbqBeaF76j4rvPaOasyfPwnkQ 6B6DQ6THZWbvrAGxzEdulXQvOKLrRW ZLnN" |
请求参数
字段 | 类型 | 必须 | 说明 | 举例 |
---|---|---|---|---|
exchange | string | 是 | The adderss of the exchange which has to process this order | "1" |
accountId | integer | 是 | Loopring's account ID | 1 |
storageId | integer | 是 | The unique identifier of the L2 Merkle tree storage slot where the burn made in order to exit the pool will or has been stored. | 1 |
sellToken | NftToken Amount Info |
是 | NFT token if sell NFT order else erc20 token like USDT | "NftTokenAmou nt{tokenId: 0, amount: 1234}" |
buyToken | NftToken Amount Info |
是 | NFT token if buy NFT order else erc20 token like USDT | "NftTokenAmou nt{tokenId: 0, amount: 1234}" |
allOrNone | string | 是 | Whether the order supports partial fills or not.Currently only supports false as a valid value | "false" |
fillAmountBOrS | string | 是 | Fill size by buy token or by sell token | "true" |
validUntil | integer | 是 | Order expiration time, accuracy is in seconds | 1567053142 |
maxFeeBips | integer | 是 | Maximum order fee that the user can accept, value range (in ten thousandths) 1 ~ 63 | 20 |
eddsaSignature | string | 是 | The orders EdDSA signature. The signature is a hexadecimal string obtained by signing the order itself and concatenating the resulting signature parts (Rx, Ry, and S). Used to authenticate and authorize the operation. | "133754509012 921794171549 748495717930 699115173547 203971250276 332426804700 75859" |
clientOrderId | string | 否 | An arbitrary, client-set unique order identifier, max length is 120 bytes | "1" |
orderType | string | 否 | Order types, can be AMM, LIMIT_ORDER, MAKER_ONLY, TAKER_ONLY 取值范围 : ['LIMIT_ORDER', 'TAKER_ONLY', 'MAKER_ONLY', 'AMM'] |
"LIMIT_ORDER" |
tradeChannel | string | 否 | Order channel, can be ORDER_BOOK, AMM_POOL, MIXED 取值范围 : ['ORDER_BOOK', 'AMM_POOL', 'MIXED'] |
"ORDER_BOOK" |
taker | string | 否 | Used by the P2P order which user specify the taker, so far its 0x0000000000000000000000000000000000000000 | "0x506d67A6f2 2927a2DAa20a 9510EA73D5E6 6Baf18" |
affiliate | string | 否 | An accountID who will recieve a share of the fee of this order | "10068" |
请求示例
HTTP
CURL
POST https://api3.loopring.io/api/v3/nft/validateOrder HTTP/1.1
Host: api3.loopring.io
Connection: keep-alive
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: zh,en;q=0.9
X-API-KEY: sra1aavfa
Content-Type: application/json
{
"exchange" : "1",
"accountId" : 1,
"storageId" : 1,
"sellToken" : {
"tokenId" : 0,
"nftData" : "0xf7c932351186c3a9053f313eefa16209c018f7f1dba8aa8ca7100400f7c31085",
"amount" : "1"
},
"buyToken" : {
"tokenId" : 0,
"nftData" : "0xf7c932351186c3a9053f313eefa16209c018f7f1dba8aa8ca7100400f7c31085",
"amount" : "1"
},
"allOrNone" : "false",
"fillAmountBOrS" : "true",
"validUntil" : 1567053142,
"maxFeeBips" : 20,
"eddsaSignature" : "13375450901292179417154974849571793069911517354720397125027633242680470075859",
"clientOrderId" : "1",
"orderType" : "LIMIT_ORDER",
"tradeChannel" : "ORDER_BOOK",
"taker" : "0x506d67A6f22927a2DAa20a9510EA73D5E66Baf18",
"affiliate" : "10068"
}
curl -X POST -H "X-API-KEY:sra1aavfa" -H "Content-Type:application/json" https://api3.loopring.io/api/v3/nft/validateOrder -d \
'{
"exchange" : "1",
"accountId" : 1,
"storageId" : 1,
"sellToken" : {
"tokenId" : 0,
"nftData" : "0xf7c932351186c3a9053f313eefa16209c018f7f1dba8aa8ca7100400f7c31085",
"amount" : "1"
},
"buyToken" : {
"tokenId" : 0,
"nftData" : "0xf7c932351186c3a9053f313eefa16209c018f7f1dba8aa8ca7100400f7c31085",
"amount" : "1"
},
"allOrNone" : "false",
"fillAmountBOrS" : "true",
"validUntil" : 1567053142,
"maxFeeBips" : 20,
"eddsaSignature" : "13375450901292179417154974849571793069911517354720397125027633242680470075859",
"clientOrderId" : "1",
"orderType" : "LIMIT_ORDER",
"tradeChannel" : "ORDER_BOOK",
"taker" : "0x506d67A6f22927a2DAa20a9510EA73D5E66Baf18",
"affiliate" : "10068"
}'
响应字段
字段 | 类型 | 必须 | 说明 | 举例 |
---|---|---|---|---|
hash | string | 是 | The order hash identifier set by the user at the time of submission | "0x1d923ca783 4dc90484fa2e b611f0f0bc7e 741bb107007e bea19ba8caea b4f9d3" |
status | string | 是 | 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 取值范围 : ['received', 'processing', 'processed', 'failed'] |
"received" |
isIdempotent | boolean | 是 | Idempotent of submit order response, submit same order again when order was UNKNOWN or WAIT_FREEZE_BALANCE in relayer, idempotent will be true 取值范围 : [True, False] |
"true" |
响应示例
{
"hash" : "0x1d923ca7834dc90484fa2eb611f0f0bc7e741bb107007ebea19ba8caeab4f9d3",
"status" : "received",
"isIdempotent" : true
}
状态码
状态码 | 描述 |
---|---|
100000 | Unknown error |
100001 | Invalid argument |
102001 | Exchange ID is incorrect |
102021 | Nonce is invalid |
102022 | Transfer sender is invalid |
102023 | Transfer receiver is invalid |
102024 | Fee token is unsupported |
102025 | Transfer token isnt consistent with fee token |
模型
NftTokenAmountInfo
Wrapper object used to describe a NFT token associated with a certain quantity.
字段 | 类型 | 必须 | 说明 | 举例 |
---|---|---|---|---|
tokenId | integer | 是 | The Loopring's NFT token identifier. | 0 |
nftData | string | 否 | The Loopring's NFT token data identifier which is a hash string of NFT token address and NFT_ID | "0xf7c9323511 86c3a9053f31 3eefa16209c0 18f7f1dba8aa 8ca7100400f7 c31085" |
amount | string | 是 | The amount of the NFT token | "1" |