apenft-js-tron 2.0.6 → 2.0.8-beta.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 CHANGED
@@ -1,6 +1,7 @@
1
1
  # APENFT SDK
2
2
 
3
3
  ## What is apenft-js-tron?
4
+
4
5
  "apenft-js-tron" is a SDK for APENFT marketplace base on TRON blockchain and TronLink wallet.
5
6
 
6
7
  ## Table of Contents
@@ -19,6 +20,9 @@
19
20
  - [Query Assets Under an Account](#query-assets-under-an-account)
20
21
  - [Query Collections Under an Account](#query-collections-under-an-account)
21
22
  - [Query NFT details](#query-nft-details)
23
+ - [Query Currencies](#query-currencies)
24
+ - [Query All Assets](#query-all-assets)
25
+ - [Query Ranking NFTs](#query-ranking-nfts)
22
26
  - [Order](#order)
23
27
  - [Create an Order](#create-an-order)
24
28
  - [Fixed Price](#fixed-price)
@@ -42,7 +46,12 @@
42
46
  - [Collection](#collection)
43
47
  - [Query Collections](#query-collections)
44
48
  - [Query the NFT List Under a Collection](#query-the-nft-list-under-a-collection)
45
- - [Query a Single Collection](#query-a-single-collection)
49
+ - [Query Single Collection Info](#query-single-collection-info)
50
+ - [Query Single Collection Attributes](#query-single-collection-attributes)
51
+ - [Query All Collections](#query-all-collections)
52
+ - [Query Hot Collections](#query-hot-collections)
53
+ - [Query Collection Trade Trend](#query-collection-trade-trend)
54
+ - [Query Collection Trading History](#query-collection-trading-history)
46
55
  - [License](#license)
47
56
 
48
57
  ## Installation
@@ -78,8 +87,8 @@ const { tronWeb } = window;
78
87
 
79
88
  /* For node */
80
89
  const tronWeb = new TronWeb({
81
- fullHost: "https://api.shasta.trongrid.io",
82
- privateKey: "xxxxx-xxxx-xxxxx-xxxxx-xxxxx",
90
+ fullHost: "https://api.shasta.trongrid.io",
91
+ privateKey: "xxxxx-xxxx-xxxxx-xxxxx-xxxxx",
83
92
  });
84
93
 
85
94
  /* Initialize SDK */
@@ -180,11 +189,11 @@ async APENFTQuery.getAssetsList(account,pagination);
180
189
  Example:
181
190
  ```js
182
191
  const assetsList = await sdk_query.getAssetsList(
183
- "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
184
- {
185
- first: 100, // min:1 max:100
186
- cursor: "",
187
- }
192
+ "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
193
+ {
194
+ first: 100, // min:1 max:100
195
+ cursor: "",
196
+ }
188
197
  );
189
198
  console.log("assetsList", assetsList);
190
199
  ```
@@ -207,11 +216,11 @@ async APENFTQuery.getCollections(account,pagination);
207
216
  Example:
208
217
  ```js
209
218
  const collectionsList = await sdk_query.getCollections(
210
- "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
211
- {
212
- first: 100, // min:1 max:100
213
- cursor: "",
214
- }
219
+ "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
220
+ {
221
+ first: 100, // min:1 max:100
222
+ cursor: "",
223
+ }
215
224
  );
216
225
  console.log("collectionsList", collectionsList);
217
226
  ```
@@ -225,7 +234,7 @@ Instructions:
225
234
  ```js
226
235
  /**
227
236
  *
228
- * @param {string} collection
237
+ * @param {string} collection
229
238
  * @param {string} id
230
239
  * @returns Promise
231
240
  */
@@ -235,12 +244,174 @@ async APENFTQuery.getAssetDetail(collection,id);
235
244
  Example:
236
245
  ```js
237
246
  const assetDetail = await sdk_query.getAssetDetail(
238
- "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
239
- "1327"
247
+ "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
248
+ "1327"
240
249
  );
241
250
  console.log("assetDetail", assetDetail);
242
251
  ```
243
252
 
253
+ #### Query Currencies
254
+
255
+ ```js
256
+ APENFTQuery.getCurrencies()
257
+ ```
258
+
259
+ Instructions:
260
+
261
+ ```js
262
+ async APENFTQuery.getCurrencies();
263
+ ```
264
+
265
+ Example:
266
+
267
+ ```js
268
+ const currencies = await sdk_query.getCurrencies();
269
+ console.log("currencies", currencies);
270
+ ```
271
+
272
+ #### Query All Assets
273
+
274
+ ```js
275
+ APENFTQuery.queryAllAssets({sort, pagination, filters});
276
+ ```
277
+
278
+ Instructions:
279
+
280
+ ```ts
281
+ async getAllAssets(params: {sort: AssetSortBy, pagination?: Pagination, filters?: AssetQueryFilters}): Promise<any>;
282
+
283
+ enum AssetSortBy {
284
+ HighestLastSale = 'HighestLastSale',
285
+ RecentlyListed = 'RecentlyListed',
286
+ PriceLowToHigh = 'PriceLowToHigh',
287
+ PriceHighToLow = 'PriceHighToLow',
288
+ RecentlyTransfer = 'RecentlyTransfer',
289
+ RecentlyCreated = 'RecentlyCreated',
290
+ RecentlySold = 'RecentlySold',
291
+ EndingSoon = 'EndingSoon',
292
+ }
293
+
294
+ interface Pagination {
295
+ first: number
296
+ cursor?: string
297
+ }
298
+
299
+ interface AssetQueryFilters {
300
+ search?: string
301
+ price?: PriceRangeFilter
302
+ statuses?: AssetStatus[]
303
+ collections?: string[]
304
+ user_account?: string
305
+ owners?: string[]
306
+ creators?: string[]
307
+ categories?: string[]
308
+ currencies?: string[]
309
+ is_recommend?: boolean
310
+ collection_types?: AssetListCollectionTypes[]
311
+ }
312
+
313
+ interface PriceRangeFilter {
314
+ min?: number | string
315
+ max?: number | string
316
+ currency: 'TRX' | 'USD'
317
+ }
318
+
319
+ enum AssetListCollectionTypes {
320
+ NORMAL = 'NORMAL',
321
+ MYSTERY_BOX = 'MYSTERY_BOX',
322
+ }
323
+
324
+ enum AssetStatus {
325
+ BUY_NOW = 'BUY_NOW',
326
+ ON_AUCTION = 'ON_AUCTION',
327
+ VERIFIED = 'VERIFIED',
328
+ HAS_OFFERS = 'HAS_OFFERS',
329
+ }
330
+
331
+ ```
332
+
333
+ Example:
334
+ ```js
335
+ const currencies = await sdk_query.getCurrencies();
336
+ const trxAndUsdtAddresses = currencies
337
+ .filter((currency) => currency.symbol === "TRX" || currency.symbol === "USDT")
338
+ .map((currency) => currency.address);
339
+
340
+ const assets = await sdk_query.getAllAssets({
341
+ sort: AssetSortBy.PriceLowToHigh,
342
+ pagination: { first: 30 },
343
+ filters: {
344
+ statuses: [AssetStatus.BUY_NOW],
345
+ price: { min: 1, max: 100000, currency: "TRX" },
346
+ collections: ["TXb5avabU6Z2Dhhp4wV2WbX3JCX844PDAB"],
347
+ categories: [Category.ART, Category.COLLECTIBLES],
348
+ currencies: trxAndUsdtAddresses,
349
+ collection_types: [AssetListCollectionTypes.NORMAL],
350
+ },
351
+ });
352
+ console.log("assets", assets);
353
+ ```
354
+
355
+ #### Query Ranking NFTs
356
+
357
+ ```js
358
+ APENFTQuery.getRankingNFTs({sort, sort_asc, categories, is_rank_disabled, has_listing_asset, pagination});
359
+ ```
360
+
361
+ Instructions:
362
+
363
+ ```js
364
+ async APENFTQuery.getRankingNFTs(params: RankingDetailParams): Promise;
365
+
366
+ interface RankingDetailParams extends Partial<RankingDetailFilters> {
367
+ sort: CollectionSortBy
368
+ sort_asc: boolean
369
+ pagination: Pagination
370
+ }
371
+
372
+ interface RankingDetailFilters {
373
+ categories: Category[]
374
+ is_rank_disabled: boolean
375
+ has_listing_asset: boolean
376
+ }
377
+
378
+ enum CollectionSortBy {
379
+ Volume7d = "Volume7d",
380
+ Volume24h = "Volume24h",
381
+ Volume30d = "Volume30d",
382
+ VolumeTotal = "VolumeTotal",
383
+ }
384
+
385
+ enum Category {
386
+ ART = "art",
387
+ COLLECTIBLES = "collectibles",
388
+ VIRTUAL_WORLD = "virtual-world",
389
+ MUSIC = "music",
390
+ UTILITY = "utility",
391
+ SPORTS = "sports",
392
+ TRADING_CARDS = "trading-cards",
393
+ DOMAIN_NAMES = "domain-names",
394
+ }
395
+
396
+ interface Pagination {
397
+ first: number
398
+ cursor?: string
399
+ }
400
+ ```
401
+
402
+ Example:
403
+
404
+ ```js
405
+ const rankingNFTs = await sdk_query.getRankingNFTs({
406
+ sort: CollectionSortBy.Volume7d,
407
+ sort_asc: false,
408
+ pagination: { first: 20 },
409
+ categories: [],
410
+ is_rank_disabled: false,
411
+ has_listing_asset: true,
412
+ });
413
+ console.log("rankingNFTs", rankingNFTs);
414
+ ```
244
415
 
245
416
  ## Order
246
417
  ### Create an Order
@@ -268,36 +439,36 @@ async initApprove({ APENFTOrders, orderType, orderParams})
268
439
 
269
440
  Example:
270
441
  ```js
271
- let orderType = "FixPriceOrder";
272
- const params = {
273
- collection: "TNy9UXCHeAa2jrRiG6CjUppiwKJ9vodfS9",
274
- id: "67",
275
- price: 20,
276
- currency: "TRX",
277
- expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
278
- buyerAddress: "",
279
- }
280
-
281
- let orderParams = await sdk_query.getFixPriceOrderParams(params);
282
-
283
- try {
284
- await initApprove({
285
- APENFTOrders: sdk_orders,
286
- orderType: orderType,
287
- orderParams: orderParams,
288
- });
289
-
290
- let result = await sdk_orders.createSellOrder(orderParams);
291
- console.log(result);
292
-
293
- if (result && result.orderHash) {
294
- console.log("FixPriceOrder Listing Successful!");
295
- } else {
296
- console.log("Failed");
297
- }
298
- } catch (e) {
299
- console.log(e);
300
- }
442
+ let orderType = "FixPriceOrder";
443
+ const params = {
444
+ collection: "TNy9UXCHeAa2jrRiG6CjUppiwKJ9vodfS9",
445
+ id: "67",
446
+ price: 20,
447
+ currency: "TRX",
448
+ expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
449
+ buyerAddress: "",
450
+ }
451
+
452
+ let orderParams = await sdk_query.getFixPriceOrderParams(params);
453
+
454
+ try {
455
+ await initApprove({
456
+ APENFTOrders: sdk_orders,
457
+ orderType: orderType,
458
+ orderParams: orderParams,
459
+ });
460
+
461
+ let result = await sdk_orders.createSellOrder(orderParams);
462
+ console.log(result);
463
+
464
+ if (result && result.orderHash) {
465
+ console.log("FixPriceOrder Listing Successful!");
466
+ } else {
467
+ console.log("Failed");
468
+ }
469
+ } catch (e) {
470
+ console.log(e);
471
+ }
301
472
  ```
302
473
 
303
474
  #### Fixed Price
@@ -326,12 +497,12 @@ async APENFTQuery.getFixPriceOrderParams(params);
326
497
  Example:
327
498
  ```js
328
499
  const params = {
329
- collection: "TNy9UXCHeAa2jrRiG6CjUppiwKJ9vodfS9",
330
- id: "67",
331
- price: 20,
332
- currency: "TRX",
333
- expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
334
- buyerAddress: "",
500
+ collection: "TNy9UXCHeAa2jrRiG6CjUppiwKJ9vodfS9",
501
+ id: "67",
502
+ price: 20,
503
+ currency: "TRX",
504
+ expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
505
+ buyerAddress: "",
335
506
  };
336
507
  let orderParams = await sdk_query.getFixPriceOrderParams(params);
337
508
  ```
@@ -354,19 +525,19 @@ Example:
354
525
  ```js
355
526
  const orderType = "FixPriceOrder";
356
527
  const params = {
357
- collection: "TNy9UXCHeAa2jrRiG6CjUppiwKJ9vodfS9",
358
- id: "67",
359
- price: 20,
360
- currency: "TRX",
361
- expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
362
- buyerAddress: "",
528
+ collection: "TNy9UXCHeAa2jrRiG6CjUppiwKJ9vodfS9",
529
+ id: "67",
530
+ price: 20,
531
+ currency: "TRX",
532
+ expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
533
+ buyerAddress: "",
363
534
  };
364
535
  let orderParams = await sdk_query.getFixPriceOrderParams(params);
365
536
  await initApprove({
366
- APENFTOrders: sdk_orders,
367
- orderType: orderType,
368
- orderParams: orderParams,
369
- });
537
+ APENFTOrders: sdk_orders,
538
+ orderType: orderType,
539
+ orderParams: orderParams,
540
+ });
370
541
  await sdk_orders.createSellOrder(orderParams);
371
542
  ```
372
543
 
@@ -398,12 +569,12 @@ async APENFTQuery.getEnglishAuctionOrderParams(params);
398
569
  Example:
399
570
  ```js
400
571
  const params = {
401
- collection: "TQXKjXfTiy9j2qfRXNroZdrrAawu65b72Z",
402
- id: "5",
403
- bidPrice: 20,
404
- reservePrice: 100,
405
- currency: "USDT",
406
- expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
572
+ collection: "TQXKjXfTiy9j2qfRXNroZdrrAawu65b72Z",
573
+ id: "5",
574
+ bidPrice: 20,
575
+ reservePrice: 100,
576
+ currency: "USDT",
577
+ expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
407
578
  };
408
579
  let orderParams = await sdk_query.getEnglishAuctionOrderParams(params);
409
580
  ```
@@ -424,12 +595,12 @@ async APENFTOrders.createAuctionOrder(orderParams);
424
595
  Example:
425
596
  ```js
426
597
  const params = {
427
- collection: "TQXKjXfTiy9j2qfRXNroZdrrAawu65b72Z",
428
- id: "5",
429
- bidPrice: 20,
430
- reservePrice: 100,
431
- currency: "USDT",
432
- expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
598
+ collection: "TQXKjXfTiy9j2qfRXNroZdrrAawu65b72Z",
599
+ id: "5",
600
+ bidPrice: 20,
601
+ reservePrice: 100,
602
+ currency: "USDT",
603
+ expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
433
604
  };
434
605
  let orderParams = await sdk_query.getEnglishAuctionOrderParams(params);
435
606
 
@@ -461,11 +632,11 @@ async APENFTQuery.getMakeOfferOrderOrderParams(params);
461
632
  Example:
462
633
  ```js
463
634
  const params = {
464
- collection: "TQFhpAACCPomuW4daSiGTh4SMCvUKtZyNs",
465
- id: "105",
466
- price: 110,
467
- currency: "WTRX",
468
- expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
635
+ collection: "TQFhpAACCPomuW4daSiGTh4SMCvUKtZyNs",
636
+ id: "105",
637
+ price: 110,
638
+ currency: "WTRX",
639
+ expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
469
640
  };
470
641
  let orderParams = await sdk_query.getMakeOfferOrderOrderParams(params);
471
642
  ```
@@ -486,11 +657,11 @@ async APENFTOrders.createBuyOrder(orderParams);
486
657
  Example:
487
658
  ```js
488
659
  const params = {
489
- collection: "TQFhpAACCPomuW4daSiGTh4SMCvUKtZyNs",
490
- id: "105",
491
- price: 110,
492
- currency: "WTRX",
493
- expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
660
+ collection: "TQFhpAACCPomuW4daSiGTh4SMCvUKtZyNs",
661
+ id: "105",
662
+ price: 110,
663
+ currency: "WTRX",
664
+ expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
494
665
  };
495
666
  let orderParams = await sdk_query.getMakeOfferOrderOrderParams(params);
496
667
 
@@ -523,10 +694,10 @@ async APENFTQuery.getEnglishAuctionBiddingOrderParams(params);
523
694
  Example:
524
695
  ```js
525
696
  const params = {
526
- collection: "TGvAiyw7uT27xVpqHaQ1NM6ZDquEEHQgso",
527
- id: "9927",
528
- price: 125,
529
- currency: "WTRX",
697
+ collection: "TGvAiyw7uT27xVpqHaQ1NM6ZDquEEHQgso",
698
+ id: "9927",
699
+ price: 125,
700
+ currency: "WTRX",
530
701
  };
531
702
  let orderParams = await sdk_query.getEnglishAuctionBiddingOrderParams(params);
532
703
  ```
@@ -546,10 +717,10 @@ async APENFTOrders.createBiddingOrder(orderParams);
546
717
  Example:
547
718
  ```js
548
719
  const params = {
549
- collection: "TGvAiyw7uT27xVpqHaQ1NM6ZDquEEHQgso",
550
- id: "9927",
551
- price: 125,
552
- currency: "WTRX",
720
+ collection: "TGvAiyw7uT27xVpqHaQ1NM6ZDquEEHQgso",
721
+ id: "9927",
722
+ price: 125,
723
+ currency: "WTRX",
553
724
  };
554
725
  let orderParams = await sdk_query.getEnglishAuctionBiddingOrderParams(params);
555
726
 
@@ -579,9 +750,9 @@ async APENFTQuery.getLowerPriceOrderParams(params);
579
750
  Example:
580
751
  ```js
581
752
  const params = {
582
- collection: "TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
583
- id: "2",
584
- price: 80,
753
+ collection: "TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
754
+ id: "2",
755
+ price: 80,
585
756
  };
586
757
  let orderParams = await sdk_query.getLowerPriceOrderParams(params);
587
758
  ```
@@ -602,9 +773,9 @@ async APENFTOrders.createLowerPriceOrder(orderParams);
602
773
  Example:
603
774
  ```js
604
775
  const params = {
605
- collection: "TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
606
- id: "2",
607
- price: 80,
776
+ collection: "TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
777
+ id: "2",
778
+ price: 80,
608
779
  };
609
780
  let orderParams = await sdk_query.getLowerPriceOrderParams(params);
610
781
 
@@ -633,8 +804,8 @@ async APENFTQuery.getAssetBestAskOrderInfo(collection,id);
633
804
  Example:
634
805
  ```js
635
806
  let bestAskOrder = await sdk_query.getAssetBestAskOrderInfo(
636
- "TDczyk1W3jNf62cfeZ5d7CasiVXfwy4xiY",
637
- "252"
807
+ "TDczyk1W3jNf62cfeZ5d7CasiVXfwy4xiY",
808
+ "252"
638
809
  );
639
810
  ```
640
811
 
@@ -655,14 +826,14 @@ async APENFTOrders.account.orderMatch({ buyOrder, sellOrder });
655
826
  Example:
656
827
  ```js
657
828
  let OrderSide = {
658
- 0: "Buy",
659
- 1: "Sell",
660
- Buy: 0,
661
- Sell: 1,
829
+ 0: "Buy",
830
+ 1: "Sell",
831
+ Buy: 0,
832
+ Sell: 1,
662
833
  };
663
834
  let bestAskOrder = await sdk_query.getAssetBestAskOrderInfo(
664
- "TDczyk1W3jNf62cfeZ5d7CasiVXfwy4xiY",
665
- "252"
835
+ "TDczyk1W3jNf62cfeZ5d7CasiVXfwy4xiY",
836
+ "252"
666
837
  );
667
838
 
668
839
  const accountAddress = "XXXXXX";
@@ -670,16 +841,16 @@ const signedOrder = sdk_orders.orders.orderFromJSON(bestAskOrder);
670
841
 
671
842
  let recipientAddress = "";
672
843
  if (bestAskOrder.side === OrderSide.Sell) {
673
- recipientAddress = accountAddress;
844
+ recipientAddress = accountAddress;
674
845
  }
675
846
  if (bestAskOrder.side === OrderSide.Buy) {
676
- recipientAddress = bestAskOrder.maker;
847
+ recipientAddress = bestAskOrder.maker;
677
848
  }
678
849
 
679
850
  const { buy, sell } = sdk_orders.orders.makeMatchingOrder({
680
- signedOrder,
681
- accountAddress: accountAddress,
682
- recipientAddress,
851
+ signedOrder,
852
+ accountAddress: accountAddress,
853
+ recipientAddress,
683
854
  });
684
855
 
685
856
  await sdk_orders.account.orderMatch({ buy, sell });
@@ -707,11 +878,11 @@ async APENFTQuery.getReceivedOffers(account,pagination);
707
878
  Example:
708
879
  ```js
709
880
  let receivedOffers = await sdk_query.getReceivedOffers(
710
- "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
711
- {
712
- first: 100, // min:1 max:100
713
- cursor: "",
714
- }
881
+ "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
882
+ {
883
+ first: 100, // min:1 max:100
884
+ cursor: "",
885
+ }
715
886
  );
716
887
  console.log("receivedOffers", receivedOffers);
717
888
  ```
@@ -734,18 +905,18 @@ async APENFTOrders.account.orderMatch({ buyOrder, sellOrder });
734
905
  Example:
735
906
  ```js
736
907
  let OrderSide = {
737
- 0: "Buy",
738
- 1: "Sell",
739
- Buy: 0,
740
- Sell: 1,
908
+ 0: "Buy",
909
+ 1: "Sell",
910
+ Buy: 0,
911
+ Sell: 1,
741
912
  };
742
913
  // Gets a list of bids received
743
914
  const receivedOffers = await sdk_query.getReceivedOffers(
744
- "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
745
- {
746
- first: 100, // min:1 max:100
747
- cursor: "",
748
- }
915
+ "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
916
+ {
917
+ first: 100, // min:1 max:100
918
+ cursor: "",
919
+ }
749
920
  );
750
921
  // Choose to accept the NTH bid (a price for an NFT)
751
922
  // You can filter an NFT yourself based on the returned data
@@ -757,16 +928,16 @@ const signedOrder = sdk_orders.orders.orderFromJSON(bestBidOrder);
757
928
 
758
929
  let recipientAddress = "";
759
930
  if (bestBidOrder.side === OrderSide.Sell) {
760
- recipientAddress = accountAddress;
931
+ recipientAddress = accountAddress;
761
932
  }
762
933
  if (bestBidOrder.side === OrderSide.Buy) {
763
- recipientAddress = bestBidOrder.maker;
934
+ recipientAddress = bestBidOrder.maker;
764
935
  }
765
936
 
766
937
  const { buy, sell } = sdk_orders.orders.makeMatchingOrder({
767
- signedOrder,
768
- accountAddress: accountAddress,
769
- recipientAddress,
938
+ signedOrder,
939
+ accountAddress: accountAddress,
940
+ recipientAddress,
770
941
  });
771
942
 
772
943
  await sdk_orders.account.orderMatch({ buy, sell });
@@ -794,8 +965,8 @@ async APENFTQuery.getAssetBestAskOrderInfo(collection,id);
794
965
  Example:
795
966
  ```js
796
967
  const order = await sdk_query.getAssetBestAskOrderInfo(
797
- "TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
798
- "2"
968
+ "TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
969
+ "2"
799
970
  );
800
971
  ```
801
972
 
@@ -815,8 +986,8 @@ async APENFTOrders.account.orderCancel(order);
815
986
  Example:
816
987
  ```js
817
988
  const order = await sdk_query.getAssetListingInfo(
818
- "TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
819
- "2"
989
+ "TL39x7unoU1ivqxac43umyUaFoGzEE2Ens",
990
+ "2"
820
991
  );
821
992
  const _order = sdk_orders.orders.orderFromJSON(order);
822
993
  await sdk_orders.account.orderCancel(_order);
@@ -843,11 +1014,11 @@ async APENFTQuery.getSentOffers(account,pagination);
843
1014
  Example:
844
1015
  ```js
845
1016
  const sentOffers = await sdk_query.getSentOffers(
846
- "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
847
- {
848
- first: 100, // min:1 max:100
849
- cursor: "",
850
- }
1017
+ "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
1018
+ {
1019
+ first: 100, // min:1 max:100
1020
+ cursor: "",
1021
+ }
851
1022
  );
852
1023
  console.log("sentOffers", sentOffers);
853
1024
  ```
@@ -869,11 +1040,11 @@ Example:
869
1040
  ```js
870
1041
  // Get sent offers
871
1042
  const sentOffers = await sdk_query.getSentOffers(
872
- "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
873
- {
874
- first: 100, // min:1 max:100
875
- cursor: "",
876
- }
1043
+ "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
1044
+ {
1045
+ first: 100, // min:1 max:100
1046
+ cursor: "",
1047
+ }
877
1048
  );
878
1049
  console.log("sentOffers", sentOffers);
879
1050
 
@@ -905,8 +1076,8 @@ async APENFTQuery.getTransferParams(collection,id);
905
1076
  Example:
906
1077
  ```js
907
1078
  const { metadata, assetData } = await sdk_query.getTransferParams(
908
- "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
909
- "1327"
1079
+ "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
1080
+ "1327"
910
1081
  );
911
1082
  ```
912
1083
 
@@ -928,12 +1099,12 @@ async APENFTOrders.account.assetTransfer(metadata, to)
928
1099
  Example:
929
1100
  ```js
930
1101
  const { metadata, assetData } = await sdk_query.getTransferParams(
931
- "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
932
- "1327"
1102
+ "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
1103
+ "1327"
933
1104
  );
934
1105
  const { newAsset } = await sdk_orders.getAssetOrderVersion(assetData);
935
1106
  if (metadata?.asset) {
936
- metadata.asset.data = newAsset || "";
1107
+ metadata.asset.data = newAsset || "";
937
1108
  }
938
1109
 
939
1110
  let to = "TQzRKbEgp7iSj9fpXX5ghdBHHoh3tEtgwU";
@@ -964,12 +1135,12 @@ async APENFTQuery.getAssetListingOrders(collection,id,pagination);
964
1135
  Example:
965
1136
  ```js
966
1137
  const listingData = await sdk_query.getAssetListingOrders(
967
- "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
968
- "1327",
969
- {
970
- first: 100, // min:1 max:100
971
- cursor: "",
972
- }
1138
+ "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
1139
+ "1327",
1140
+ {
1141
+ first: 100, // min:1 max:100
1142
+ cursor: "",
1143
+ }
973
1144
  );
974
1145
  console.log("listingData", listingData);
975
1146
  ```
@@ -994,12 +1165,12 @@ async APENFTQuery.getAssetOffers(collection,id,pagination);
994
1165
  Example:
995
1166
  ```js
996
1167
  const offersData = await sdk_query.getAssetOffers(
997
- "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
998
- "1327",
999
- {
1000
- first: 100, // min:1 max:100
1001
- cursor: "",
1002
- }
1168
+ "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
1169
+ "1327",
1170
+ {
1171
+ first: 100, // min:1 max:100
1172
+ cursor: "",
1173
+ }
1003
1174
  );
1004
1175
  console.log("offersData", offerData);
1005
1176
  ```
@@ -1025,12 +1196,12 @@ async APENFTQuery.getAssetTradingHistory(collection,id,pagination);
1025
1196
  Example:
1026
1197
  ```js
1027
1198
  const assetTradingHistory = await sdk_query.getAssetTradingHistory(
1028
- "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
1029
- "1327",
1030
- {
1031
- first: 100, // min:1 max:100
1032
- cursor: "",
1033
- }
1199
+ "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
1200
+ "1327",
1201
+ {
1202
+ first: 100, // min:1 max:100
1203
+ cursor: "",
1204
+ }
1034
1205
  );
1035
1206
  console.log("assetTradingHistory", assetTradingHistory);
1036
1207
  ```
@@ -1053,11 +1224,11 @@ async APENFTQuery.getReceivedOffers(account,pagination);
1053
1224
  Example:
1054
1225
  ```js
1055
1226
  const receivedOffers = await sdk_query.getReceivedOffers(
1056
- "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
1057
- {
1058
- first: 100, // min:1 max:100
1059
- cursor: "",
1060
- }
1227
+ "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
1228
+ {
1229
+ first: 100, // min:1 max:100
1230
+ cursor: "",
1231
+ }
1061
1232
  );
1062
1233
  console.log("receivedOffers", receivedOffers);
1063
1234
  ```
@@ -1080,11 +1251,11 @@ async APENFTQuery.getSentOffers(account,pagination);
1080
1251
  Example:
1081
1252
  ```js
1082
1253
  const sentOffers = await sdk_query.getSentOffers(
1083
- "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
1084
- {
1085
- first: 100, // min:1 max:100
1086
- cursor: "",
1087
- }
1254
+ "TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV",
1255
+ {
1256
+ first: 100, // min:1 max:100
1257
+ cursor: "",
1258
+ }
1088
1259
  );
1089
1260
  console.log("sentOffers", sentOffers);
1090
1261
  ```
@@ -1111,20 +1282,23 @@ async APENFTQuery.getCollectionAssetsList(collection,pagination);
1111
1282
  Example:
1112
1283
  ```js
1113
1284
  const collectionAssetsList = await sdk_query.getCollectionAssetsList(
1114
- "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
1115
- {
1116
- first: 100, // min:1 max:100
1117
- cursor: "",
1118
- }
1285
+ "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ",
1286
+ {
1287
+ first: 100, // min:1 max:100
1288
+ cursor: "",
1289
+ }
1119
1290
  );
1120
1291
  console.log("collectionAssetsList", collectionAssetsList);
1121
1292
  ```
1122
1293
 
1123
- #### Query a Single Collection
1124
- ```
1294
+ #### Query Single Collection Info
1295
+
1296
+ ```js
1125
1297
  APENFTQuery.getSingleCollectionInfo(collection)
1126
1298
  ```
1299
+
1127
1300
  Instructions:
1301
+
1128
1302
  ```js
1129
1303
  /**
1130
1304
  *
@@ -1133,17 +1307,187 @@ Instructions:
1133
1307
  */
1134
1308
  async APENFTQuery.getSingleCollectionInfo(collection);
1135
1309
  ```
1310
+
1136
1311
  Example:
1312
+
1137
1313
  ```js
1138
1314
  const singleCollectionInfo = await sdk_query.getSingleCollectionInfo(
1139
- "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ"
1315
+ "TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ"
1140
1316
  );
1141
1317
  console.log("singleCollectionInfo", singleCollectionInfo);
1142
1318
  ```
1143
1319
 
1320
+ #### Query Single Collection Attributes
1144
1321
 
1322
+ ```js
1323
+ APENFTQuery.getSingleCollectionAttributes(collection)
1324
+ ```
1325
+
1326
+ Instructions:
1327
+
1328
+ ```ts
1329
+ /**
1330
+ * @param {string} collection
1331
+ * @returns Promise
1332
+ */
1333
+ async APENFTQuery.getSingleCollectionAttributes(collection: string): Promise;
1334
+ ```
1335
+
1336
+ Example:
1337
+
1338
+ ```js
1339
+ const singleCollectionAttributes = await sdk_query.getSingleCollectionAttributes("TQfujfp9LNU4yRYcAiXcLRmjDuVKQ8U3AJ");
1340
+ console.log("singleCollectionAttributes", singleCollectionAttributes);
1341
+ ```
1342
+
1343
+ #### Query All Collections
1344
+
1345
+ ```js
1346
+ APENFTQuery.getAllCollections({sort, pagination, filters});
1347
+ ```
1348
+
1349
+ Instructions:
1145
1350
 
1351
+ ```ts
1352
+ async APENFTQuery.getAllCollections(params: {sort?: CollectionSortBy, pagination?: Pagination, filters?: CollectionListFilterObj}): Promise;
1146
1353
 
1354
+ enum CollectionSortBy {
1355
+ Volume7d = "Volume7d",
1356
+ Volume24h = "Volume24h",
1357
+ Volume30d = "Volume30d",
1358
+ VolumeTotal = "VolumeTotal",
1359
+ }
1360
+ interface Pagination {
1361
+ first: number
1362
+ cursor?: string
1363
+ }
1364
+ interface CollectionListFilterObj {
1365
+ search?: string
1366
+ owners?: string[]
1367
+ }
1368
+ ```
1369
+
1370
+ Example:
1371
+
1372
+ ```js
1373
+ const collections = await sdk_query.getAllCollections({
1374
+ sort: CollectionSortBy.Volume7d,
1375
+ pagination: { first: 20 },
1376
+ filters: {
1377
+ search: "test",
1378
+ owners: ["TFrBnJPgZEfXtvauVG9XVLaDEDDo5jtMWV"],
1379
+ },
1380
+ });
1381
+ console.log("collections", collections);
1382
+ ```
1383
+
1384
+ #### Query Hot Collections
1385
+
1386
+ ```js
1387
+ APENFTQuery.getHotCollections({chain, is_recommend})
1388
+ ```
1389
+
1390
+ Instructions:
1391
+
1392
+ ```ts
1393
+ async APENFTQuery.getHotCollections(params: {chain: string, is_recommend: boolean}): Promise;
1394
+ ```
1395
+
1396
+ Example:
1397
+
1398
+ ```js
1399
+ const hotCollections = await sdk_query.getHotCollections({chain: "tron", is_recommend: true});
1400
+ console.log("hotCollections", hotCollections);
1401
+ ```
1402
+
1403
+ #### Query Collection Trade Trend
1404
+
1405
+ ```js
1406
+ APENFTQuery.getCollectionTradeTrend({ days, collection })
1407
+ ```
1408
+
1409
+ Instructions:
1410
+
1411
+ ```ts
1412
+ async APENFTQuery.getCollectionTradeTrend(params: {days?: CollectionTradeTrendFilterDays, collection: string}): Promise;
1413
+
1414
+ enum CollectionTradeTrendFilterDays {
1415
+ Days_7 = 'Days_7',
1416
+ Days_14 = 'Days_14',
1417
+ Days_30 = 'Days_30',
1418
+ Days_60 = 'Days_60',
1419
+ Days_90 = 'Days_90',
1420
+ Days_365 = 'Days_365',
1421
+ Days_All = 'Days_All',
1422
+ }
1423
+
1424
+ interface CollectionTradeTrendParams {
1425
+ days?: CollectionTradeTrendFilterDays
1426
+ collection: string
1427
+ }
1428
+ ```
1429
+
1430
+ Example:
1431
+
1432
+ ```js
1433
+ const collectionTradeTrend = await sdk_query.getCollectionTradeTrend({
1434
+ days: CollectionTradeTrendFilterDays.Days_7,
1435
+ collection: "TLLyoedhRyoJdxYYPvHKr3pMgiBQxayn5c",
1436
+ });
1437
+ console.log("collectionTradeTrend", collectionTradeTrend);
1438
+ ```
1439
+
1440
+ #### Query Collection Trading History
1441
+
1442
+ ```js
1443
+ APENFTQuery.getCollectionTradingHistory({ pagination, event_types, currencies, collections, user })
1444
+ ```
1445
+
1446
+ Instructions:
1447
+
1448
+ ```ts
1449
+ async APENFTQuery.getCollectionTradingHistory(params: CollectionTradingHistoryParams): Promise<any>;
1450
+
1451
+ enum EventType {
1452
+ Transfer = 'Transfer',
1453
+ Offer = 'Offer',
1454
+ Listing = 'Listing',
1455
+ CancelOffer = 'CancelOffer',
1456
+ CancelListing = 'CancelListing',
1457
+ Mint = 'Mint',
1458
+ Burn = 'Burn',
1459
+ Sale = 'Sale',
1460
+ }
1461
+
1462
+ interface Pagination {
1463
+ first: number
1464
+ cursor?: string
1465
+ }
1466
+
1467
+ interface CollectionTradingHistoryParams {
1468
+ pagination?: Pagination
1469
+ event_types: EventType[]
1470
+ currencies: string[]
1471
+ collections: string[]
1472
+ user: string
1473
+ }
1474
+ ```
1475
+
1476
+ Example:
1477
+
1478
+ ```js
1479
+ const currencies = await sdk_query.getCurrencies();
1480
+ const trxAndUsdtAddresses = currencies
1481
+ .filter((currency) => currency.symbol === "TRX" || currency.symbol === "USDT")
1482
+ .map((currency) => currency.address);
1483
+ const collectionTradingHistory = await sdk_query.getCollectionTradingHistory({
1484
+ collections: ["TLLyoedhRyoJdxYYPvHKr3pMgiBQxayn5c"],
1485
+ pagination: { first: 20 },
1486
+ event_types: [EventType.Sale, EventType.Transfer],
1487
+ currencies: trxAndUsdtAddresses,
1488
+ });
1489
+ console.log("collectionTradingHistory", collectionTradingHistory);
1490
+ ```
1147
1491
 
1148
1492
  ## License
1149
1493
  [MIT]()