apenft-js-tron 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1141 -0
- package/babel.config.js +4 -0
- package/dist/bundle.js +2 -0
- package/dist/bundle.js.LICENSE.txt +28 -0
- package/dist/index.d.ts +9 -0
- package/dist/src/config.d.ts +57 -0
- package/dist/src/queryAPI/graphql/accountApi.d.ts +11 -0
- package/dist/src/queryAPI/graphql/assetApi.d.ts +13 -0
- package/dist/src/queryAPI/graphql/base.d.ts +37 -0
- package/dist/src/queryAPI/graphql/collectionApi.d.ts +10 -0
- package/dist/src/queryAPI/graphql/gql/account.d.ts +6 -0
- package/dist/src/queryAPI/graphql/gql/asset.d.ts +8 -0
- package/dist/src/queryAPI/graphql/gql/collection.d.ts +5 -0
- package/dist/src/queryAPI/graphql/gql/fragments.d.ts +8 -0
- package/dist/src/queryAPI/graphql/index.d.ts +9 -0
- package/dist/src/queryAPI/index.d.ts +45 -0
- package/dist/src/queryAPI/restful/base.d.ts +50 -0
- package/dist/src/queryAPI/restful/index.d.ts +1 -0
- package/dist/src/queryAPI/restful/queryAPI.d.ts +26 -0
- package/dist/src/schemas/common/ERC1155/index.d.ts +7 -0
- package/dist/src/schemas/common/ERC20/index.d.ts +6 -0
- package/dist/src/schemas/common/ERC721/index.d.ts +5 -0
- package/dist/src/schemas/common/Element/exchange.d.ts +9 -0
- package/dist/src/schemas/common/Element/registry.d.ts +4 -0
- package/dist/src/schemas/common/ens.d.ts +7 -0
- package/dist/src/schemas/index.d.ts +18 -0
- package/dist/src/schemas/schemasFunctions.d.ts +24 -0
- package/dist/src/schemas/shasta/index.d.ts +1 -0
- package/dist/src/schemas/tron/index.d.ts +1 -0
- package/dist/src/tokens/index.d.ts +4 -0
- package/dist/src/tokens/shasta/index.d.ts +1 -0
- package/dist/src/tokens/tron/index.d.ts +1 -0
- package/dist/src/tradeAPI/account.d.ts +33 -0
- package/dist/src/tradeAPI/approve.d.ts +3 -0
- package/dist/src/tradeAPI/base.d.ts +40 -0
- package/dist/src/tradeAPI/contractSchemas.d.ts +28 -0
- package/dist/src/tradeAPI/contracts.d.ts +29 -0
- package/dist/src/tradeAPI/index.d.ts +25 -0
- package/dist/src/tradeAPI/nft.d.ts +42 -0
- package/dist/src/tradeAPI/orders.d.ts +69 -0
- package/dist/src/tradeAPI/ordersApi.d.ts +54 -0
- package/dist/src/utils/Abi.d.ts +18 -0
- package/dist/src/utils/PromiEvent.d.ts +21 -0
- package/dist/src/utils/check.d.ts +25 -0
- package/dist/src/utils/constants.d.ts +22 -0
- package/dist/src/utils/error.d.ts +20 -0
- package/dist/src/utils/fees.d.ts +40 -0
- package/dist/src/utils/helper.d.ts +23 -0
- package/dist/src/utils/makeOrder.d.ts +80 -0
- package/dist/src/utils/types.d.ts +464 -0
- package/dist/src/utils/utils.d.ts +1 -0
- package/index.ts +15 -0
- package/package.json +58 -0
- package/tsconfig.json +18 -0
- package/webpack.config.js +33 -0
package/README.md
ADDED
|
@@ -0,0 +1,1141 @@
|
|
|
1
|
+
# APENFT SDK
|
|
2
|
+
|
|
3
|
+
## What is apenft-js-tron?
|
|
4
|
+
"apenft-js-tron" is a SDK for APENFT marketplace base on TRON blockchain and TronLink wallet.
|
|
5
|
+
|
|
6
|
+
## Table of Contents
|
|
7
|
+
|
|
8
|
+
- [APENFT SDK](#apenft-sdk)
|
|
9
|
+
- [What is apenft-js-tron?](#what-is-apenft-js-tron)
|
|
10
|
+
- [Table of Contents](#table-of-contents)
|
|
11
|
+
- [Installation](#installation)
|
|
12
|
+
- [Testnet](#testnet)
|
|
13
|
+
- [Set Up](#set-up)
|
|
14
|
+
- [Initialize SDK](#initialize-sdk)
|
|
15
|
+
- [Asset](#asset)
|
|
16
|
+
- [Create a Smart Contract](#create-a-smart-contract)
|
|
17
|
+
- [Mint an NFT](#mint-an-nft)
|
|
18
|
+
- [Query Assets](#query-assets)
|
|
19
|
+
- [Query Assets Under an Account](#query-assets-under-an-account)
|
|
20
|
+
- [Query Collections Under an Account](#query-collections-under-an-account)
|
|
21
|
+
- [Query NFT details](#query-nft-details)
|
|
22
|
+
- [Order](#order)
|
|
23
|
+
- [Create an Order](#create-an-order)
|
|
24
|
+
- [Fixed Price](#fixed-price)
|
|
25
|
+
- [Highest Bid](#highest-bid)
|
|
26
|
+
- [Buy Order](#buy-order)
|
|
27
|
+
- [Auction Order](#auction-order)
|
|
28
|
+
- [Lower Price](#lower-price)
|
|
29
|
+
- [Accept an Order](#accept-an-order)
|
|
30
|
+
- [Accept and Buy](#accept-and-buy)
|
|
31
|
+
- [Accept an Offer](#accept-an-offer)
|
|
32
|
+
- [Cancel an Order](#cancel-an-order)
|
|
33
|
+
- [Cancel a Listing](#cancel-a-listing)
|
|
34
|
+
- [Cancel an Offer](#cancel-an-offer)
|
|
35
|
+
- [Transfer Assets](#transfer-assets)
|
|
36
|
+
- [Query Orders](#query-orders)
|
|
37
|
+
- [Query the Listed Prices of an NFT](#query-the-listed-prices-of-an-nft)
|
|
38
|
+
- [Query the Offer List of an NFT](#query-the-offer-list-of-an-nft)
|
|
39
|
+
- [Query the Trading History of an NFT](#query-the-trading-history-of-an-nft)
|
|
40
|
+
- [Query Offers Received](#query-offers-received)
|
|
41
|
+
- [Query Offers Sent](#query-offers-sent)
|
|
42
|
+
- [Collection](#collection)
|
|
43
|
+
- [Query Collections](#query-collections)
|
|
44
|
+
- [Query the NFT List Under a Collection](#query-the-nft-list-under-a-collection)
|
|
45
|
+
- [Query a Single Collection](#query-a-single-collection)
|
|
46
|
+
- [License](#license)
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
```
|
|
50
|
+
npm install apenft-js-tron
|
|
51
|
+
```
|
|
52
|
+
SDK relies on TronLink wallet for on-chain operations. You also need to install tronweb to run SDK on node.js.
|
|
53
|
+
We recommend switching to Node.js version 16 and above.
|
|
54
|
+
```
|
|
55
|
+
npm install tronweb
|
|
56
|
+
```
|
|
57
|
+
[TronWeb](https://github.com/tronprotocol/tronweb) is a library that allows you to interact with TronNetwork.
|
|
58
|
+
|
|
59
|
+
## Testnet
|
|
60
|
+
|
|
61
|
+
Shasta is the official Tron testnet. To use it use the following endpoint:
|
|
62
|
+
```
|
|
63
|
+
https://api.shasta.trongrid.io
|
|
64
|
+
```
|
|
65
|
+
Get some Shasta TRX at https://www.trongrid.io/shasta and play with it. Anything you do should be explorable on https://shasta.tronscan.org
|
|
66
|
+
|
|
67
|
+
## Set Up
|
|
68
|
+
|
|
69
|
+
### Initialize SDK
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
import sdk from "apenft-js-tron";
|
|
73
|
+
const { APENFTOrders, APENFTQuery, Network, AssetFactory } = sdk;
|
|
74
|
+
|
|
75
|
+
/* Initialize tronWeb */
|
|
76
|
+
/* For browser */
|
|
77
|
+
const { tronWeb } = window;
|
|
78
|
+
|
|
79
|
+
/* For node */
|
|
80
|
+
const tronWeb = new TronWeb({
|
|
81
|
+
fullHost: "https://api.shasta.trongrid.io",
|
|
82
|
+
privateKey: "xxxxx-xxxx-xxxxx-xxxxx-xxxxx",
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
/* Initialize SDK */
|
|
86
|
+
const networkName = Network.Shasta;
|
|
87
|
+
const sdk_orders = new APENFTOrders(tronWeb, { networkName });
|
|
88
|
+
|
|
89
|
+
const sdk_query = new APENFTQuery(tronWeb, { networkName });
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Asset
|
|
93
|
+
```js
|
|
94
|
+
/* Get asset factory from sdk_orders */
|
|
95
|
+
const sdk_fab = sdk_orders.assetFactory
|
|
96
|
+
|
|
97
|
+
/* or
|
|
98
|
+
new AssetFactory
|
|
99
|
+
*/
|
|
100
|
+
const sdk_fab = new AssetFactory(tronWeb, { networkName })
|
|
101
|
+
|
|
102
|
+
sdk_fab.createAsset721(...); // create smart contract
|
|
103
|
+
sdk_fab.mint721(...); // mint NFT
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Create a Smart Contract
|
|
107
|
+
```
|
|
108
|
+
sdk_fab.createAsset721(name,symbol,baseUrl,options)
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Instructions:
|
|
112
|
+
```js
|
|
113
|
+
/**
|
|
114
|
+
* @param {string} name
|
|
115
|
+
* @param {string} symbol
|
|
116
|
+
* @param {string} baseUrl
|
|
117
|
+
* @param {object} [options] - optional,ref https://developers.tron.network/reference/tronweb-createsmartcontract
|
|
118
|
+
* @returns {Promise<{txHash,txSend}>}
|
|
119
|
+
*/
|
|
120
|
+
async createAsset721(name: string, symbol: string, baseUrl: string, options?: any)
|
|
121
|
+
```
|
|
122
|
+
Example:
|
|
123
|
+
```js
|
|
124
|
+
const sdk_fab = ...
|
|
125
|
+
const createRes = await sdk_fab.createAsset721(
|
|
126
|
+
'MyNFTSymbol',
|
|
127
|
+
'MyNFTName',
|
|
128
|
+
'' // metadata json
|
|
129
|
+
)
|
|
130
|
+
const output = await createRes.txSend.catch((err) => console.log(err))
|
|
131
|
+
|
|
132
|
+
const nftContract = output.contract_address
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Mint an NFT
|
|
136
|
+
```
|
|
137
|
+
sdk_fab.mint721(nftContract, toAddress,url)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Instructions:
|
|
141
|
+
```js
|
|
142
|
+
/**
|
|
143
|
+
*
|
|
144
|
+
* @param {string} assetAddr
|
|
145
|
+
* @param {string} to
|
|
146
|
+
* @param {string} [url]
|
|
147
|
+
* @returns Promise
|
|
148
|
+
*/
|
|
149
|
+
async mint721(assetAddr, to, url)
|
|
150
|
+
```
|
|
151
|
+
Example:
|
|
152
|
+
```js
|
|
153
|
+
const nftContract = ...
|
|
154
|
+
const to = ...
|
|
155
|
+
const url = 'https://gateway.btfs.io/btfs/QmVs42A8YqLffAC75kjQEMxRbzZDdQFKhRiM4agnwNX7u6/BTFS-GenesisNFT-Level-P'
|
|
156
|
+
const defer = await sdk_fab.mint721(nftContract, to, url)
|
|
157
|
+
defer.txSend
|
|
158
|
+
.on('confirmation', (r) => console.log('confirmation', r))
|
|
159
|
+
.on('error', (r) => console.log('error', r))
|
|
160
|
+
await defer.txSend
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Query Assets
|
|
164
|
+
#### Query Assets Under an Account
|
|
165
|
+
```
|
|
166
|
+
APENFTQuery.getAssetsList(account,pagination)
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Instructions:
|
|
170
|
+
```js
|
|
171
|
+
/**
|
|
172
|
+
*
|
|
173
|
+
* @param {string} account
|
|
174
|
+
* * @param {object} pagination
|
|
175
|
+
* @returns Promise
|
|
176
|
+
*/
|
|
177
|
+
async APENFTQuery.getAssetsList(account,pagination);
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Example:
|
|
181
|
+
```js
|
|
182
|
+
const assetsList = await sdk_query.getAssetsList(
|
|
183
|
+
"TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
|
|
184
|
+
{
|
|
185
|
+
first: 100, // min:1 max:100
|
|
186
|
+
cursor: "",
|
|
187
|
+
}
|
|
188
|
+
);
|
|
189
|
+
console.log("assetsList", assetsList);
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
#### Query Collections Under an Account
|
|
193
|
+
```
|
|
194
|
+
APENFTQuery.getCollections(account,pagination)
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Instructions:
|
|
198
|
+
```js
|
|
199
|
+
/**
|
|
200
|
+
*
|
|
201
|
+
* @param {string} account
|
|
202
|
+
* @returns Promise
|
|
203
|
+
*/
|
|
204
|
+
async APENFTQuery.getCollections(account,pagination);
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Example:
|
|
208
|
+
```js
|
|
209
|
+
const collectionsList = await sdk_query.getCollections(
|
|
210
|
+
"TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
|
|
211
|
+
{
|
|
212
|
+
first: 100, // min:1 max:100
|
|
213
|
+
cursor: "",
|
|
214
|
+
}
|
|
215
|
+
);
|
|
216
|
+
console.log("collectionsList", collectionsList);
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
#### Query NFT details
|
|
220
|
+
```
|
|
221
|
+
APENFTQuery.getAssetDetail(collection,id)
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Instructions:
|
|
225
|
+
```js
|
|
226
|
+
/**
|
|
227
|
+
*
|
|
228
|
+
* @param {string} collection
|
|
229
|
+
* @param {string} id
|
|
230
|
+
* @returns Promise
|
|
231
|
+
*/
|
|
232
|
+
async APENFTQuery.getAssetDetail(collection,id);
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Example:
|
|
236
|
+
```js
|
|
237
|
+
const assetDetail = await sdk_query.getAssetDetail(
|
|
238
|
+
"TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
|
|
239
|
+
"1327"
|
|
240
|
+
);
|
|
241
|
+
console.log("assetDetail", assetDetail);
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
## Order
|
|
246
|
+
### Create an Order
|
|
247
|
+
Initialization:
|
|
248
|
+
```js
|
|
249
|
+
import { APENFTOrders, APENFTQuery, initApprove } from "apenft-js-tron";
|
|
250
|
+
|
|
251
|
+
let sdk_orders = new APENFTOrders(window.tronWeb, { networkName });
|
|
252
|
+
const sdk_query = new APENFTQuery(window.tronWeb, { networkName });
|
|
253
|
+
```
|
|
254
|
+
- Permission Approval
|
|
255
|
+
NFTs can be traded with the following methods: Fixed Price, Highest Bid, Buy Order, and Auction Order. The wallet address needs to call the approve function when being used for NFT trading for the first time. Every collection needs to be approved only once.
|
|
256
|
+
|
|
257
|
+
Instructions:
|
|
258
|
+
```js
|
|
259
|
+
/**
|
|
260
|
+
*
|
|
261
|
+
* @param {object} APENFTOrders
|
|
262
|
+
* @param {string} orderType
|
|
263
|
+
* @param {object} orderParams
|
|
264
|
+
* @returns Promise
|
|
265
|
+
*/
|
|
266
|
+
async initApprove({ APENFTOrders, orderType, orderParams})
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Example:
|
|
270
|
+
```js
|
|
271
|
+
let orderType = "FixPriceOrder";
|
|
272
|
+
let orderParams = {
|
|
273
|
+
asset: {
|
|
274
|
+
tokenId: "6",
|
|
275
|
+
tokenAddress: "TDJLEEDZ5Zr81NQv9jQjWSNtdS9nJyrLD3",
|
|
276
|
+
schemaName: "ERC721",
|
|
277
|
+
data: "https://gateway.btfs.io/btfs/QmPXgdwcMFdo2URjHHxvqps8Uz3h8Jvc6zMz1hJFFMwxNX",
|
|
278
|
+
collection: {
|
|
279
|
+
transferFeeAddress: "",
|
|
280
|
+
APENFTSellerFeeBasisPoints: 0,
|
|
281
|
+
},
|
|
282
|
+
},
|
|
283
|
+
quantity: 1,
|
|
284
|
+
paymentToken: {
|
|
285
|
+
__typename: "Currency",
|
|
286
|
+
address: "T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb",
|
|
287
|
+
symbol: "TRX",
|
|
288
|
+
decimal: 6,
|
|
289
|
+
icon: "https://images-testnet.apenft.io/icon/currency/icon-trx.svg",
|
|
290
|
+
decimals: 6,
|
|
291
|
+
},
|
|
292
|
+
listingTime: 1669272864,
|
|
293
|
+
expirationTime: 1671864854,
|
|
294
|
+
startAmount: 77,
|
|
295
|
+
buyerAddress: "",
|
|
296
|
+
};
|
|
297
|
+
await initApprove({ APENFTOrders: sdk_orders, orderType, orderParams });
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
#### Fixed Price
|
|
301
|
+
Obtain input parameters:
|
|
302
|
+
```
|
|
303
|
+
APENFTQuery.getFixPriceOrderParams(params)
|
|
304
|
+
```
|
|
305
|
+
Instructions:
|
|
306
|
+
```js
|
|
307
|
+
/**
|
|
308
|
+
*
|
|
309
|
+
* @param {object} params -
|
|
310
|
+
* {
|
|
311
|
+
* collection: string
|
|
312
|
+
* id: string
|
|
313
|
+
* price: number
|
|
314
|
+
* currency: string
|
|
315
|
+
* expirationTime: number // timestamp, milliseconds
|
|
316
|
+
* buyerAddress?: string // buyer address, optional
|
|
317
|
+
* }
|
|
318
|
+
* @returns Promise
|
|
319
|
+
*/
|
|
320
|
+
async APENFTQuery.getFixPriceOrderParams(params);
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
Example:
|
|
324
|
+
```js
|
|
325
|
+
const params = {
|
|
326
|
+
collection: "TQXKjXfTiy9j2qfRXNroZdrrAawu65b72Z",
|
|
327
|
+
id: "5",
|
|
328
|
+
price: 20,
|
|
329
|
+
currency: "USDT",
|
|
330
|
+
expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
|
|
331
|
+
buyerAddress: "",
|
|
332
|
+
};
|
|
333
|
+
let orderParams = await sdk_query.getFixPriceOrderParams(params);
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
APENFTOrders.createSellOrder(orderParams);
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
Instructions:
|
|
341
|
+
```js
|
|
342
|
+
/**
|
|
343
|
+
*
|
|
344
|
+
* @param {object} orderParams
|
|
345
|
+
* @returns Promise
|
|
346
|
+
*/
|
|
347
|
+
async APENFTOrders.createSellOrder(orderParams);
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
Example:
|
|
351
|
+
```js
|
|
352
|
+
const params = {
|
|
353
|
+
collection: "TQXKjXfTiy9j2qfRXNroZdrrAawu65b72Z",
|
|
354
|
+
id: "5",
|
|
355
|
+
price: 20,
|
|
356
|
+
currency: "USDT",
|
|
357
|
+
expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
|
|
358
|
+
buyerAddress: "",
|
|
359
|
+
};
|
|
360
|
+
let orderParams = await sdk_query.getFixPriceOrderParams(params);
|
|
361
|
+
|
|
362
|
+
await sdk_orders.createSellOrder(orderParams);
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
#### Highest Bid
|
|
367
|
+
Obtain input parameters:
|
|
368
|
+
```
|
|
369
|
+
APENFTQuery.getEnglishAuctionOrderParams(params)
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
Instructions:
|
|
373
|
+
```js
|
|
374
|
+
/**
|
|
375
|
+
*
|
|
376
|
+
* @param {object} params -
|
|
377
|
+
* {
|
|
378
|
+
* collection: string
|
|
379
|
+
* id: string
|
|
380
|
+
* bidPrice: number
|
|
381
|
+
* reservePrice: number
|
|
382
|
+
* currency: string
|
|
383
|
+
* expirationTime: number // timestamp, milliseconds
|
|
384
|
+
* }
|
|
385
|
+
* @returns Promise
|
|
386
|
+
*/
|
|
387
|
+
async APENFTQuery.getEnglishAuctionOrderParams(params);
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
Example:
|
|
391
|
+
```js
|
|
392
|
+
const params = {
|
|
393
|
+
collection: "TQXKjXfTiy9j2qfRXNroZdrrAawu65b72Z",
|
|
394
|
+
id: "5",
|
|
395
|
+
bidPrice: 20,
|
|
396
|
+
reservePrice: 100,
|
|
397
|
+
currency: "USDT",
|
|
398
|
+
expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
|
|
399
|
+
};
|
|
400
|
+
let orderParams = await sdk_query.getEnglishAuctionOrderParams(params);
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
```
|
|
404
|
+
APENFTOrders.createAuctionOrder(orderParams);
|
|
405
|
+
```
|
|
406
|
+
Instructions:
|
|
407
|
+
```js
|
|
408
|
+
/**
|
|
409
|
+
*
|
|
410
|
+
* @param {object} orderParams
|
|
411
|
+
* @returns Promise
|
|
412
|
+
*/
|
|
413
|
+
async APENFTOrders.createAuctionOrder(orderParams);
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
Example:
|
|
417
|
+
```js
|
|
418
|
+
const params = {
|
|
419
|
+
collection: "TQXKjXfTiy9j2qfRXNroZdrrAawu65b72Z",
|
|
420
|
+
id: "5",
|
|
421
|
+
bidPrice: 20,
|
|
422
|
+
reservePrice: 100,
|
|
423
|
+
currency: "USDT",
|
|
424
|
+
expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
|
|
425
|
+
};
|
|
426
|
+
let orderParams = await sdk_query.getEnglishAuctionOrderParams(params);
|
|
427
|
+
|
|
428
|
+
await sdk_orders.createAuctionOrder(orderParams);
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
#### Buy Order
|
|
433
|
+
Obtain input parameters:
|
|
434
|
+
```
|
|
435
|
+
APENFTQuery.getMakeOfferOrderOrderParams(params)
|
|
436
|
+
```
|
|
437
|
+
Instructions:
|
|
438
|
+
```js
|
|
439
|
+
/**
|
|
440
|
+
*
|
|
441
|
+
* @param {object} params -
|
|
442
|
+
* {
|
|
443
|
+
* collection: string
|
|
444
|
+
* id: string
|
|
445
|
+
* price: number
|
|
446
|
+
* currency: string
|
|
447
|
+
* expirationTime: number // timestamp, milliseconds
|
|
448
|
+
* }
|
|
449
|
+
* @returns Promise
|
|
450
|
+
*/
|
|
451
|
+
async APENFTQuery.getMakeOfferOrderOrderParams(params);
|
|
452
|
+
```
|
|
453
|
+
Example:
|
|
454
|
+
```js
|
|
455
|
+
const params = {
|
|
456
|
+
collection: "TQFhpAACCPomuW4daSiGTh4SMCvUKtZyNs",
|
|
457
|
+
id: "105",
|
|
458
|
+
price: 110,
|
|
459
|
+
currency: "WTRX",
|
|
460
|
+
expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
|
|
461
|
+
};
|
|
462
|
+
let orderParams = await sdk_query.getMakeOfferOrderOrderParams(params);
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
```
|
|
466
|
+
APENFTOrders.createBuyOrder(orderParams)
|
|
467
|
+
```
|
|
468
|
+
Instructions:
|
|
469
|
+
```js
|
|
470
|
+
/**
|
|
471
|
+
*
|
|
472
|
+
* @param {object} orderParams
|
|
473
|
+
* @returns Promise
|
|
474
|
+
*/
|
|
475
|
+
async APENFTOrders.createBuyOrder(orderParams);
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
Example:
|
|
479
|
+
```js
|
|
480
|
+
const params = {
|
|
481
|
+
collection: "TQFhpAACCPomuW4daSiGTh4SMCvUKtZyNs",
|
|
482
|
+
id: "105",
|
|
483
|
+
price: 110,
|
|
484
|
+
currency: "WTRX",
|
|
485
|
+
expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
|
|
486
|
+
};
|
|
487
|
+
let orderParams = await sdk_query.getMakeOfferOrderOrderParams(params);
|
|
488
|
+
|
|
489
|
+
await sdk_orders.createBuyOrder(orderParams);
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
#### Auction Order
|
|
494
|
+
Obtain input parameters:
|
|
495
|
+
```
|
|
496
|
+
APENFTQuery.getEnglishAuctionBiddingOrderParams(params)
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
Instructions:
|
|
500
|
+
```js
|
|
501
|
+
/**
|
|
502
|
+
*
|
|
503
|
+
* @param {object} params -
|
|
504
|
+
* {
|
|
505
|
+
* collection: string
|
|
506
|
+
* id: string
|
|
507
|
+
* price: number
|
|
508
|
+
* currency: string
|
|
509
|
+
* }
|
|
510
|
+
* @returns Promise
|
|
511
|
+
*/
|
|
512
|
+
async APENFTQuery.getEnglishAuctionBiddingOrderParams(params);
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
Example:
|
|
516
|
+
```js
|
|
517
|
+
const params = {
|
|
518
|
+
collection: "TGvAiyw7uT27xVpqHaQ1NM6ZDquEEHQgso",
|
|
519
|
+
id: "9927",
|
|
520
|
+
price: 125,
|
|
521
|
+
currency: "WTRX",
|
|
522
|
+
};
|
|
523
|
+
let orderParams = await sdk_query.getEnglishAuctionBiddingOrderParams(params);
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
```
|
|
527
|
+
APENFTOrders.createBiddingOrder(orderParams);
|
|
528
|
+
```
|
|
529
|
+
Instructions:
|
|
530
|
+
```js
|
|
531
|
+
/**
|
|
532
|
+
*
|
|
533
|
+
* @param {object} orderParams
|
|
534
|
+
* @returns Promise
|
|
535
|
+
*/
|
|
536
|
+
async APENFTOrders.createBiddingOrder(orderParams);
|
|
537
|
+
```
|
|
538
|
+
Example:
|
|
539
|
+
```js
|
|
540
|
+
const params = {
|
|
541
|
+
collection: "TGvAiyw7uT27xVpqHaQ1NM6ZDquEEHQgso",
|
|
542
|
+
id: "9927",
|
|
543
|
+
price: 125,
|
|
544
|
+
currency: "WTRX",
|
|
545
|
+
};
|
|
546
|
+
let orderParams = await sdk_query.getEnglishAuctionBiddingOrderParams(params);
|
|
547
|
+
|
|
548
|
+
await sdk_orders.createBiddingOrder(orderParams);
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
#### Lower Price
|
|
553
|
+
Obtain input parameters:
|
|
554
|
+
```
|
|
555
|
+
APENFTQuery.getLowerPriceOrderParams(params)
|
|
556
|
+
```
|
|
557
|
+
Instructions:
|
|
558
|
+
```js
|
|
559
|
+
/**
|
|
560
|
+
*
|
|
561
|
+
* @param {object} params -
|
|
562
|
+
* {
|
|
563
|
+
* collection: string
|
|
564
|
+
* id: string
|
|
565
|
+
* price: number
|
|
566
|
+
* }
|
|
567
|
+
* @returns Promise
|
|
568
|
+
*/
|
|
569
|
+
async APENFTQuery.getLowerPriceOrderParams(params);
|
|
570
|
+
```
|
|
571
|
+
Example:
|
|
572
|
+
```js
|
|
573
|
+
const params = {
|
|
574
|
+
collection: "TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
|
|
575
|
+
id: "2",
|
|
576
|
+
price: 80,
|
|
577
|
+
};
|
|
578
|
+
let orderParams = await sdk_query.getLowerPriceOrderParams(params);
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
```
|
|
582
|
+
APENFTOrders.createLowerPriceOrder(orderParams)
|
|
583
|
+
```
|
|
584
|
+
Instructions:
|
|
585
|
+
```js
|
|
586
|
+
/**
|
|
587
|
+
*
|
|
588
|
+
* @param {object} orderParams
|
|
589
|
+
* @returns Promise
|
|
590
|
+
*/
|
|
591
|
+
async APENFTOrders.createLowerPriceOrder(orderParams);
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
Example:
|
|
595
|
+
```js
|
|
596
|
+
const params = {
|
|
597
|
+
collection: "TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
|
|
598
|
+
id: "2",
|
|
599
|
+
price: 80,
|
|
600
|
+
};
|
|
601
|
+
let orderParams = await sdk_query.getLowerPriceOrderParams(params);
|
|
602
|
+
|
|
603
|
+
await sdk_orders.createLowerPriceOrder(orderParams);
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
### Accept an Order
|
|
609
|
+
#### Accept and Buy
|
|
610
|
+
Obtain the input parameters of the best ask order:
|
|
611
|
+
```
|
|
612
|
+
APENFTQuery.getAssetBestAskOrderInfo(params)
|
|
613
|
+
```
|
|
614
|
+
Instructions:
|
|
615
|
+
```js
|
|
616
|
+
/**
|
|
617
|
+
*
|
|
618
|
+
* @param {string} collection
|
|
619
|
+
* @param {string} id
|
|
620
|
+
* @returns Promise
|
|
621
|
+
*/
|
|
622
|
+
async APENFTQuery.getAssetBestAskOrderInfo(collection,id);
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
Example:
|
|
626
|
+
```js
|
|
627
|
+
let bestAskOrder = await sdk_query.getAssetBestAskOrderInfo(
|
|
628
|
+
"TDczyk1W3jNf62cfeZ5d7CasiVXfwy4xiY",
|
|
629
|
+
"252"
|
|
630
|
+
);
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
```
|
|
634
|
+
APENFTOrders.account.orderMatch({ buy, sell })
|
|
635
|
+
```
|
|
636
|
+
Instructions:
|
|
637
|
+
```js
|
|
638
|
+
/**
|
|
639
|
+
*
|
|
640
|
+
* @param {object} buyOrder
|
|
641
|
+
* @param {object} sellOrder
|
|
642
|
+
* @returns Promise
|
|
643
|
+
*/
|
|
644
|
+
async APENFTOrders.account.orderMatch({ buyOrder, sellOrder });
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
Example:
|
|
648
|
+
```js
|
|
649
|
+
let OrderSide = {
|
|
650
|
+
0: "Buy",
|
|
651
|
+
1: "Sell",
|
|
652
|
+
Buy: 0,
|
|
653
|
+
Sell: 1,
|
|
654
|
+
};
|
|
655
|
+
let bestAskOrder = await sdk_query.getAssetBestAskOrderInfo(
|
|
656
|
+
"TDczyk1W3jNf62cfeZ5d7CasiVXfwy4xiY",
|
|
657
|
+
"252"
|
|
658
|
+
);
|
|
659
|
+
|
|
660
|
+
const accountAddress = "XXXXXX";
|
|
661
|
+
const signedOrder = sdk_orders.orders.orderFromJSON(bestAskOrder);
|
|
662
|
+
|
|
663
|
+
let recipientAddress = "";
|
|
664
|
+
if (bestAskOrder.side === OrderSide.Sell) {
|
|
665
|
+
recipientAddress = accountAddress;
|
|
666
|
+
}
|
|
667
|
+
if (bestAskOrder.side === OrderSide.Buy) {
|
|
668
|
+
recipientAddress = bestAskOrder.maker;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
const { buy, sell } = sdk_orders.orders.makeMatchingOrder({
|
|
672
|
+
signedOrder,
|
|
673
|
+
accountAddress: accountAddress,
|
|
674
|
+
recipientAddress,
|
|
675
|
+
});
|
|
676
|
+
|
|
677
|
+
await sdk_orders.account.orderMatch({ buy, sell });
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
#### Accept an Offer
|
|
683
|
+
Query Offers Received
|
|
684
|
+
```
|
|
685
|
+
APENFTQuery.getReceivedOffers(account,pagination)
|
|
686
|
+
```
|
|
687
|
+
|
|
688
|
+
Instructions:
|
|
689
|
+
```js
|
|
690
|
+
/**
|
|
691
|
+
*
|
|
692
|
+
* @param {string} account
|
|
693
|
+
* @param {object} pagination
|
|
694
|
+
* @returns Promise
|
|
695
|
+
*/
|
|
696
|
+
async APENFTQuery.getReceivedOffers(account,pagination);
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
Example:
|
|
700
|
+
```js
|
|
701
|
+
let receivedOffers = await sdk_query.getReceivedOffers(
|
|
702
|
+
"TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
|
|
703
|
+
{
|
|
704
|
+
first: 100, // min:1 max:100
|
|
705
|
+
cursor: "",
|
|
706
|
+
}
|
|
707
|
+
);
|
|
708
|
+
console.log("receivedOffers", receivedOffers);
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
```
|
|
712
|
+
APENFTOrders.account.orderMatch({ buy, sell })
|
|
713
|
+
```
|
|
714
|
+
|
|
715
|
+
Instructions:
|
|
716
|
+
```js
|
|
717
|
+
/**
|
|
718
|
+
*
|
|
719
|
+
* @param {object} buyOrder
|
|
720
|
+
* @param {object} sellOrder
|
|
721
|
+
* @returns Promise
|
|
722
|
+
*/
|
|
723
|
+
async APENFTOrders.account.orderMatch({ buyOrder, sellOrder });
|
|
724
|
+
```
|
|
725
|
+
|
|
726
|
+
Example:
|
|
727
|
+
```js
|
|
728
|
+
let OrderSide = {
|
|
729
|
+
0: "Buy",
|
|
730
|
+
1: "Sell",
|
|
731
|
+
Buy: 0,
|
|
732
|
+
Sell: 1,
|
|
733
|
+
};
|
|
734
|
+
// Gets a list of bids received
|
|
735
|
+
const receivedOffers = await sdk_query.getReceivedOffers(
|
|
736
|
+
"TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
|
|
737
|
+
{
|
|
738
|
+
first: 100, // min:1 max:100
|
|
739
|
+
cursor: "",
|
|
740
|
+
}
|
|
741
|
+
);
|
|
742
|
+
// Choose to accept the NTH bid (a price for an NFT)
|
|
743
|
+
// You can filter an NFT yourself based on the returned data
|
|
744
|
+
const n = 0;
|
|
745
|
+
let bestBidOrder = receivedOffers?.items?.[n]?.bestBidOrder;
|
|
746
|
+
// Current wallet address
|
|
747
|
+
const accountAddress = "XXXXXX";
|
|
748
|
+
const signedOrder = sdk_orders.orders.orderFromJSON(bestBidOrder);
|
|
749
|
+
|
|
750
|
+
let recipientAddress = "";
|
|
751
|
+
if (bestBidOrder.side === OrderSide.Sell) {
|
|
752
|
+
recipientAddress = accountAddress;
|
|
753
|
+
}
|
|
754
|
+
if (bestBidOrder.side === OrderSide.Buy) {
|
|
755
|
+
recipientAddress = bestBidOrder.maker;
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
const { buy, sell } = sdk_orders.orders.makeMatchingOrder({
|
|
759
|
+
signedOrder,
|
|
760
|
+
accountAddress: accountAddress,
|
|
761
|
+
recipientAddress,
|
|
762
|
+
});
|
|
763
|
+
|
|
764
|
+
await sdk_orders.account.orderMatch({ buy, sell });
|
|
765
|
+
```
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
### Cancel an Order
|
|
769
|
+
#### Cancel a Listing
|
|
770
|
+
Obtain the input parameters of the best ask order:
|
|
771
|
+
```
|
|
772
|
+
APENFTQuery.getAssetBestAskOrderInfo(collection,id)
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
Instructions:
|
|
776
|
+
```js
|
|
777
|
+
/**
|
|
778
|
+
*
|
|
779
|
+
* @param {string} collection
|
|
780
|
+
* @param {string} id
|
|
781
|
+
* @returns Promise
|
|
782
|
+
*/
|
|
783
|
+
async APENFTQuery.getAssetBestAskOrderInfo(collection,id);
|
|
784
|
+
```
|
|
785
|
+
|
|
786
|
+
Example:
|
|
787
|
+
```js
|
|
788
|
+
const order = await sdk_query.getAssetBestAskOrderInfo(
|
|
789
|
+
"TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
|
|
790
|
+
"2"
|
|
791
|
+
);
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
```
|
|
795
|
+
APENFTOrders.account.orderCancel(order)
|
|
796
|
+
```
|
|
797
|
+
Instructions:
|
|
798
|
+
```js
|
|
799
|
+
/**
|
|
800
|
+
*
|
|
801
|
+
* @param {object} order
|
|
802
|
+
* @returns Promise
|
|
803
|
+
*/
|
|
804
|
+
async APENFTOrders.account.orderCancel(order);
|
|
805
|
+
```
|
|
806
|
+
|
|
807
|
+
Example:
|
|
808
|
+
```js
|
|
809
|
+
const order = await sdk_query.getAssetListingInfo(
|
|
810
|
+
"TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
|
|
811
|
+
"2"
|
|
812
|
+
);
|
|
813
|
+
const _order = sdk_orders.orders.orderFromJSON(order);
|
|
814
|
+
await sdk_orders.account.orderCancel(_order);
|
|
815
|
+
```
|
|
816
|
+
|
|
817
|
+
|
|
818
|
+
#### Cancel an Offer
|
|
819
|
+
Query offers sent:
|
|
820
|
+
```
|
|
821
|
+
APENFTQuery.getSentOffers(account,pagination)
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
Instructions:
|
|
825
|
+
```js
|
|
826
|
+
/**
|
|
827
|
+
*
|
|
828
|
+
* @param {string} account
|
|
829
|
+
* @param {object} pagination
|
|
830
|
+
* @returns Promise
|
|
831
|
+
*/
|
|
832
|
+
async APENFTQuery.getSentOffers(account,pagination);
|
|
833
|
+
```
|
|
834
|
+
|
|
835
|
+
Example:
|
|
836
|
+
```js
|
|
837
|
+
const sentOffers = await sdk_query.getSentOffers(
|
|
838
|
+
"TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
|
|
839
|
+
{
|
|
840
|
+
first: 100, // min:1 max:100
|
|
841
|
+
cursor: "",
|
|
842
|
+
}
|
|
843
|
+
);
|
|
844
|
+
console.log("sentOffers", sentOffers);
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
```
|
|
848
|
+
APENFTOrders.account.orderCancel(order)
|
|
849
|
+
```
|
|
850
|
+
Instructions:
|
|
851
|
+
```js
|
|
852
|
+
/**
|
|
853
|
+
*
|
|
854
|
+
* @param {object} order
|
|
855
|
+
* @returns Promise
|
|
856
|
+
*/
|
|
857
|
+
async APENFTOrders.account.orderCancel(order);
|
|
858
|
+
```
|
|
859
|
+
|
|
860
|
+
Example:
|
|
861
|
+
```js
|
|
862
|
+
// Get sent offers
|
|
863
|
+
const sentOffers = await sdk_query.getSentOffers(
|
|
864
|
+
"TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
|
|
865
|
+
{
|
|
866
|
+
first: 100, // min:1 max:100
|
|
867
|
+
cursor: "",
|
|
868
|
+
}
|
|
869
|
+
);
|
|
870
|
+
console.log("sentOffers", sentOffers);
|
|
871
|
+
|
|
872
|
+
// Cancel the Nth NFT offer
|
|
873
|
+
const n = 0;
|
|
874
|
+
let order = sentOffers?.items?.[n];
|
|
875
|
+
const _order = sdk_orders.orders.orderFromJSON(order);
|
|
876
|
+
await sdk_orders.account.orderCancel(_order);
|
|
877
|
+
```
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
### Transfer Assets
|
|
881
|
+
Obtain input parameters:
|
|
882
|
+
```
|
|
883
|
+
APENFTQuery.getTransferParams(collection,id)
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
Instructions:
|
|
887
|
+
```js
|
|
888
|
+
/**
|
|
889
|
+
*
|
|
890
|
+
* @param {string} collection
|
|
891
|
+
* @param {string} id
|
|
892
|
+
* @returns Promise
|
|
893
|
+
*/
|
|
894
|
+
async APENFTQuery.getTransferParams(collection,id);
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
Example:
|
|
898
|
+
```js
|
|
899
|
+
const { metadata, assetData } = await sdk_query.getTransferParams(
|
|
900
|
+
"TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
|
|
901
|
+
"1327"
|
|
902
|
+
);
|
|
903
|
+
```
|
|
904
|
+
|
|
905
|
+
```
|
|
906
|
+
APENFTOrders.account.assetTransfer(metadata, to)
|
|
907
|
+
```
|
|
908
|
+
|
|
909
|
+
Instructions:
|
|
910
|
+
```js
|
|
911
|
+
/**
|
|
912
|
+
*
|
|
913
|
+
* @param {object} metadata
|
|
914
|
+
* @param {string} to
|
|
915
|
+
* @returns Promise
|
|
916
|
+
*/
|
|
917
|
+
async APENFTOrders.account.assetTransfer(metadata, to)
|
|
918
|
+
```
|
|
919
|
+
|
|
920
|
+
Example:
|
|
921
|
+
```js
|
|
922
|
+
const { metadata, assetData } = await sdk_query.getTransferParams(
|
|
923
|
+
"TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
|
|
924
|
+
"1327"
|
|
925
|
+
);
|
|
926
|
+
const { newAsset } = await sdk_orders.getAssetOrderVersion(assetData);
|
|
927
|
+
if (metadata?.asset) {
|
|
928
|
+
metadata.asset.data = newAsset || "";
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
let to = "TQzRKbEgp7iSj9fpXX5ghdBHHoh3tEtgwU";
|
|
932
|
+
|
|
933
|
+
await sdk_orders.account.assetTransfer(metadata, to);
|
|
934
|
+
```
|
|
935
|
+
|
|
936
|
+
|
|
937
|
+
|
|
938
|
+
### Query Orders
|
|
939
|
+
#### Query the Listed Prices of an NFT
|
|
940
|
+
Query the Listed Prices of an NFT:
|
|
941
|
+
```
|
|
942
|
+
APENFTQuery.getAssetListingOrders(collection,id,pagination)
|
|
943
|
+
```
|
|
944
|
+
Instructions:
|
|
945
|
+
```js
|
|
946
|
+
/**
|
|
947
|
+
*
|
|
948
|
+
* @param {string} collection
|
|
949
|
+
* @param {string} id - id
|
|
950
|
+
* @param {object} pagination
|
|
951
|
+
* @returns Promise
|
|
952
|
+
*/
|
|
953
|
+
async APENFTQuery.getAssetListingOrders(collection,id,pagination);
|
|
954
|
+
```
|
|
955
|
+
|
|
956
|
+
Example:
|
|
957
|
+
```js
|
|
958
|
+
const listingData = await sdk_query.getAssetListingOrders(
|
|
959
|
+
"TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
|
|
960
|
+
"1327",
|
|
961
|
+
{
|
|
962
|
+
first: 100, // min:1 max:100
|
|
963
|
+
cursor: "",
|
|
964
|
+
}
|
|
965
|
+
);
|
|
966
|
+
console.log("listingData", listingData);
|
|
967
|
+
```
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
#### Query the Offer List of an NFT
|
|
971
|
+
```
|
|
972
|
+
APENFTQuery.getAssetOffers(collection,id,pagination)
|
|
973
|
+
```
|
|
974
|
+
Instructions:
|
|
975
|
+
```js
|
|
976
|
+
/**
|
|
977
|
+
*
|
|
978
|
+
* @param {string} collection
|
|
979
|
+
* @param {string} id - id
|
|
980
|
+
* @param {object} pagination
|
|
981
|
+
* @returns Promise
|
|
982
|
+
*/
|
|
983
|
+
async APENFTQuery.getAssetOffers(collection,id,pagination);
|
|
984
|
+
```
|
|
985
|
+
|
|
986
|
+
Example:
|
|
987
|
+
```js
|
|
988
|
+
const offersData = await sdk_query.getAssetOffers(
|
|
989
|
+
"TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
|
|
990
|
+
"1327",
|
|
991
|
+
{
|
|
992
|
+
first: 100, // min:1 max:100
|
|
993
|
+
cursor: "",
|
|
994
|
+
}
|
|
995
|
+
);
|
|
996
|
+
console.log("offersData", offerData);
|
|
997
|
+
```
|
|
998
|
+
|
|
999
|
+
|
|
1000
|
+
#### Query the Trading History of an NFT
|
|
1001
|
+
```
|
|
1002
|
+
APENFTQuery.getAssetTradingHistory(collection,id,pagination)
|
|
1003
|
+
```
|
|
1004
|
+
|
|
1005
|
+
Instructions:
|
|
1006
|
+
```js
|
|
1007
|
+
/**
|
|
1008
|
+
*
|
|
1009
|
+
* @param {string} collection
|
|
1010
|
+
* @param {string} id - id
|
|
1011
|
+
* @param {object} pagination
|
|
1012
|
+
* @returns Promise
|
|
1013
|
+
*/
|
|
1014
|
+
async APENFTQuery.getAssetTradingHistory(collection,id,pagination);
|
|
1015
|
+
```
|
|
1016
|
+
|
|
1017
|
+
Example:
|
|
1018
|
+
```js
|
|
1019
|
+
const assetTradingHistory = await sdk_query.getAssetTradingHistory(
|
|
1020
|
+
"TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
|
|
1021
|
+
"1327",
|
|
1022
|
+
{
|
|
1023
|
+
first: 100, // min:1 max:100
|
|
1024
|
+
cursor: "",
|
|
1025
|
+
}
|
|
1026
|
+
);
|
|
1027
|
+
console.log("assetTradingHistory", assetTradingHistory);
|
|
1028
|
+
```
|
|
1029
|
+
|
|
1030
|
+
#### Query Offers Received
|
|
1031
|
+
```
|
|
1032
|
+
APENFTQuery.getReceivedOffers(account,pagination)
|
|
1033
|
+
```
|
|
1034
|
+
Instructions:
|
|
1035
|
+
```js
|
|
1036
|
+
/**
|
|
1037
|
+
*
|
|
1038
|
+
* @param {string} account
|
|
1039
|
+
* @param {object} pagination
|
|
1040
|
+
* @returns Promise
|
|
1041
|
+
*/
|
|
1042
|
+
async APENFTQuery.getReceivedOffers(account,pagination);
|
|
1043
|
+
```
|
|
1044
|
+
|
|
1045
|
+
Example:
|
|
1046
|
+
```js
|
|
1047
|
+
const receivedOffers = await sdk_query.getReceivedOffers(
|
|
1048
|
+
"TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
|
|
1049
|
+
{
|
|
1050
|
+
first: 100, // min:1 max:100
|
|
1051
|
+
cursor: "",
|
|
1052
|
+
}
|
|
1053
|
+
);
|
|
1054
|
+
console.log("receivedOffers", receivedOffers);
|
|
1055
|
+
```
|
|
1056
|
+
|
|
1057
|
+
|
|
1058
|
+
#### Query Offers Sent
|
|
1059
|
+
```
|
|
1060
|
+
APENFTQuery.getSentOffers(account,pagination)
|
|
1061
|
+
```
|
|
1062
|
+
Instructions:
|
|
1063
|
+
```js
|
|
1064
|
+
/**
|
|
1065
|
+
*
|
|
1066
|
+
* @param {string} account
|
|
1067
|
+
* * @param {object} pagination
|
|
1068
|
+
* @returns Promise
|
|
1069
|
+
*/
|
|
1070
|
+
async APENFTQuery.getSentOffers(account,pagination);
|
|
1071
|
+
```
|
|
1072
|
+
Example:
|
|
1073
|
+
```js
|
|
1074
|
+
const sentOffers = await sdk_query.getSentOffers(
|
|
1075
|
+
"TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
|
|
1076
|
+
{
|
|
1077
|
+
first: 100, // min:1 max:100
|
|
1078
|
+
cursor: "",
|
|
1079
|
+
}
|
|
1080
|
+
);
|
|
1081
|
+
console.log("sentOffers", sentOffers);
|
|
1082
|
+
```
|
|
1083
|
+
|
|
1084
|
+
|
|
1085
|
+
## Collection
|
|
1086
|
+
### Query Collections
|
|
1087
|
+
#### Query the NFT List Under a Collection
|
|
1088
|
+
```
|
|
1089
|
+
APENFTQuery.getCollectionAssetsList(collection,pagination)
|
|
1090
|
+
```
|
|
1091
|
+
|
|
1092
|
+
Instructions:
|
|
1093
|
+
```js
|
|
1094
|
+
/**
|
|
1095
|
+
*
|
|
1096
|
+
* @param {string} collection
|
|
1097
|
+
* @param {object} pagination
|
|
1098
|
+
* @returns Promise
|
|
1099
|
+
*/
|
|
1100
|
+
async APENFTQuery.getCollectionAssetsList(collection,pagination);
|
|
1101
|
+
```
|
|
1102
|
+
|
|
1103
|
+
Example:
|
|
1104
|
+
```js
|
|
1105
|
+
const collectionAssetsList = await sdk_query.getCollectionAssetsList(
|
|
1106
|
+
"TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
|
|
1107
|
+
{
|
|
1108
|
+
first: 100, // min:1 max:100
|
|
1109
|
+
cursor: "",
|
|
1110
|
+
}
|
|
1111
|
+
);
|
|
1112
|
+
console.log("collectionAssetsList", collectionAssetsList);
|
|
1113
|
+
```
|
|
1114
|
+
|
|
1115
|
+
#### Query a Single Collection
|
|
1116
|
+
```
|
|
1117
|
+
APENFTQuery.getSingleCollectionInfo(collection)
|
|
1118
|
+
```
|
|
1119
|
+
Instructions:
|
|
1120
|
+
```js
|
|
1121
|
+
/**
|
|
1122
|
+
*
|
|
1123
|
+
* @param {string} collection
|
|
1124
|
+
* @returns Promise
|
|
1125
|
+
*/
|
|
1126
|
+
async APENFTQuery.getSingleCollectionInfo(collection);
|
|
1127
|
+
```
|
|
1128
|
+
Example:
|
|
1129
|
+
```js
|
|
1130
|
+
const singleCollectionInfo = await sdk_query.getSingleCollectionInfo(
|
|
1131
|
+
"TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ"
|
|
1132
|
+
);
|
|
1133
|
+
console.log("singleCollectionInfo", singleCollectionInfo);
|
|
1134
|
+
```
|
|
1135
|
+
|
|
1136
|
+
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
|
|
1140
|
+
## License
|
|
1141
|
+
[MIT]()
|