apenft-js-tron 2.0.4 → 2.0.6-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
@@ -268,33 +268,36 @@ async initApprove({ APENFTOrders, orderType, orderParams})
268
268
 
269
269
  Example:
270
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 });
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
+ }
298
301
  ```
299
302
 
300
303
  #### Fixed Price
@@ -308,10 +311,10 @@ Instructions:
308
311
  *
309
312
  * @param {object} params -
310
313
  * {
311
- * collection: string
312
- * id: string
314
+ * collection: string // collection address
315
+ * id: string // token id
313
316
  * price: number
314
- * currency: string
317
+ * currency: string
315
318
  * expirationTime: number // timestamp, milliseconds
316
319
  * buyerAddress?: string // buyer address, optional
317
320
  * }
@@ -323,10 +326,10 @@ async APENFTQuery.getFixPriceOrderParams(params);
323
326
  Example:
324
327
  ```js
325
328
  const params = {
326
- collection: "TQXKjXfTiy9j2qfRXNroZdrrAawu65b72Z",
327
- id: "5",
329
+ collection: "TNy9UXCHeAa2jrRiG6CjUppiwKJ9vodfS9",
330
+ id: "67",
328
331
  price: 20,
329
- currency: "USDT",
332
+ currency: "TRX",
330
333
  expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
331
334
  buyerAddress: "",
332
335
  };
@@ -349,16 +352,21 @@ async APENFTOrders.createSellOrder(orderParams);
349
352
 
350
353
  Example:
351
354
  ```js
355
+ const orderType = "FixPriceOrder";
352
356
  const params = {
353
- collection: "TQXKjXfTiy9j2qfRXNroZdrrAawu65b72Z",
354
- id: "5",
357
+ collection: "TNy9UXCHeAa2jrRiG6CjUppiwKJ9vodfS9",
358
+ id: "67",
355
359
  price: 20,
356
- currency: "USDT",
360
+ currency: "TRX",
357
361
  expirationTime: new Date().getTime() + 7 * 24 * 60 * 60 * 1000,
358
362
  buyerAddress: "",
359
363
  };
360
364
  let orderParams = await sdk_query.getFixPriceOrderParams(params);
361
-
365
+ await initApprove({
366
+ APENFTOrders: sdk_orders,
367
+ orderType: orderType,
368
+ orderParams: orderParams,
369
+ });
362
370
  await sdk_orders.createSellOrder(orderParams);
363
371
  ```
364
372
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { APENFTOrders } from './src/tradeAPI';
2
- export { APENFTQuery } from './src/queryAPI';
1
+ export { APENFTOrders } from './src/tradeAPI/index';
2
+ export { APENFTQuery } from './src/queryAPI/index';
3
3
  export { initApprove } from './src/tradeAPI/approve';
4
4
  export { Network, MakeOrderType, APENFTSchemaName, OrderSide } from './src/utils/types';
5
5
  export { AssetFactory } from './src/tradeAPI/nft';
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.APENFTError = exports.NULL_ADDRESS = exports.makeBigNumber = exports.getSchemaList = exports.toBaseUnitAmount = exports.AssetFactory = exports.OrderSide = exports.APENFTSchemaName = exports.MakeOrderType = exports.Network = exports.initApprove = exports.APENFTQuery = exports.APENFTOrders = void 0;
4
- var tradeAPI_1 = require("./src/tradeAPI");
5
- Object.defineProperty(exports, "APENFTOrders", { enumerable: true, get: function () { return tradeAPI_1.APENFTOrders; } });
6
- var queryAPI_1 = require("./src/queryAPI");
7
- Object.defineProperty(exports, "APENFTQuery", { enumerable: true, get: function () { return queryAPI_1.APENFTQuery; } });
4
+ var index_1 = require("./src/tradeAPI/index");
5
+ Object.defineProperty(exports, "APENFTOrders", { enumerable: true, get: function () { return index_1.APENFTOrders; } });
6
+ var index_2 = require("./src/queryAPI/index");
7
+ Object.defineProperty(exports, "APENFTQuery", { enumerable: true, get: function () { return index_2.APENFTQuery; } });
8
8
  var approve_1 = require("./src/tradeAPI/approve");
9
9
  Object.defineProperty(exports, "initApprove", { enumerable: true, get: function () { return approve_1.initApprove; } });
10
10
  var types_1 = require("./src/utils/types");
@@ -1,5 +1,5 @@
1
1
  import { QueryAPI } from "./restful/queryAPI";
2
- import { CollectionApi, AssetApi, AccountApi } from "./graphql";
2
+ import { CollectionApi, AssetApi, AccountApi } from "./graphql/index";
3
3
  import TronWeb from "tronweb";
4
4
  import { APIConfig, AddressParams, CollectionTradeTrendParams, CollectionTradingHistoryParams, HotCollectionsParams, FixPriceOrderParams, EnglishAuctionOrderParams, LowerPriceOrderParams, Pagination } from "../utils/types";
5
5
  export declare class APENFTQuery extends QueryAPI {
@@ -64,7 +64,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
64
64
  Object.defineProperty(exports, "__esModule", { value: true });
65
65
  exports.APENFTQuery = void 0;
66
66
  var queryAPI_1 = require("./restful/queryAPI");
67
- var graphql_1 = require("./graphql");
67
+ var index_1 = require("./graphql/index");
68
68
  var constants_1 = require("../utils/constants");
69
69
  var utils_1 = require("../utils/utils");
70
70
  var types_1 = require("../utils/types");
@@ -82,15 +82,15 @@ var APENFTQuery = /** @class */ (function (_super) {
82
82
  if (((_b = _this.accountAddress) === null || _b === void 0 ? void 0 : _b.length) > 0)
83
83
  _this.accountAddress;
84
84
  _this.gqlApi = {
85
- collectionApi: new graphql_1.GqlApi.collectionApi({
85
+ collectionApi: new index_1.GqlApi.collectionApi({
86
86
  networkName: networkName,
87
87
  account: _this.accountAddress,
88
88
  }),
89
- assetApi: new graphql_1.GqlApi.assetApi({
89
+ assetApi: new index_1.GqlApi.assetApi({
90
90
  networkName: networkName,
91
91
  account: _this.accountAddress,
92
92
  }),
93
- accountApi: new graphql_1.GqlApi.accountApi({
93
+ accountApi: new index_1.GqlApi.accountApi({
94
94
  networkName: networkName,
95
95
  account: _this.accountAddress,
96
96
  }),
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
17
28
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
29
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
30
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -173,7 +184,7 @@ var Account = /** @class */ (function (_super) {
173
184
  buy.paymentTokenApprove.isApprove = isApprove;
174
185
  buy.paymentTokenApprove.balances = balances;
175
186
  return [3 /*break*/, 9];
176
- case 8: throw new error_1.APENFTError({ code: '1204' });
187
+ case 8: throw new error_1.APENFTError({ code: '1204', context: __assign({}, paymentToken) });
177
188
  case 9: return [2 /*return*/, buy];
178
189
  }
179
190
  });
@@ -261,7 +272,7 @@ var Account = /** @class */ (function (_super) {
261
272
  buy.paymentTokenApprove.isApprove = isApprove;
262
273
  buy.paymentTokenApprove.balances = balances;
263
274
  return [3 /*break*/, 11];
264
- case 10: throw new error_1.APENFTError({ code: '1204' });
275
+ case 10: throw new error_1.APENFTError({ code: '1204', context: __assign({}, paymentToken) });
265
276
  case 11: return [2 /*return*/, buy];
266
277
  }
267
278
  });
@@ -62,6 +62,7 @@ var constants_1 = require("../utils/constants");
62
62
  var index_1 = require("../schemas/index");
63
63
  var tokens_1 = require("../tokens");
64
64
  var config_1 = require("../config");
65
+ var error_1 = require("../utils/error");
65
66
  var ContractSchemas = /** @class */ (function (_super) {
66
67
  __extends(ContractSchemas, _super);
67
68
  function ContractSchemas(web3, apiConfig) {
@@ -224,7 +225,7 @@ var ContractSchemas = /** @class */ (function (_super) {
224
225
  };
225
226
  if (broadcast.message)
226
227
  err.message = this.web3.toUtf8(broadcast.message);
227
- defer.reject(err);
228
+ defer.reject(new error_1.APENFTError({ code: '4003', context: err }));
228
229
  }
229
230
  if (!options.shouldPollResponse) {
230
231
  defer.resolve(signedTransaction.txID);
@@ -299,7 +300,9 @@ var ContractSchemas = /** @class */ (function (_super) {
299
300
  });
300
301
  });
301
302
  };
302
- checkResult();
303
+ if (!broadcast.code) {
304
+ checkResult();
305
+ }
303
306
  return [2 /*return*/, Promise.resolve({ txHash: signedTransaction.txID, txSend: defer.eventEmitter })];
304
307
  }
305
308
  });
@@ -68,6 +68,7 @@ var constants_1 = require("../utils/constants");
68
68
  var check_1 = require("../utils/check");
69
69
  var makeOrder_1 = require("../utils/makeOrder");
70
70
  var helper_1 = require("../utils/helper");
71
+ var error_1 = require("../utils/error");
71
72
  var contracts_1 = require("./contracts");
72
73
  var OrderCheckStatus;
73
74
  (function (OrderCheckStatus) {
@@ -118,7 +119,7 @@ var Orders = /** @class */ (function (_super) {
118
119
  Orders.prototype.createSignedOrder = function (_a) {
119
120
  var unHashOrder = _a.unHashOrder;
120
121
  return __awaiter(this, void 0, void 0, function () {
121
- var signSellOrder, error_1;
122
+ var signSellOrder, error_2;
122
123
  return __generator(this, function (_b) {
123
124
  switch (_b.label) {
124
125
  case 0: return [4 /*yield*/, (0, check_1.checkUnhashedOrder)(this, unHashOrder)];
@@ -132,14 +133,17 @@ var Orders = /** @class */ (function (_super) {
132
133
  signSellOrder = _b.sent();
133
134
  return [2 /*return*/, signSellOrder];
134
135
  case 4:
135
- error_1 = _b.sent();
136
- if (error_1.data) {
137
- error_1.data.order = unHashOrder;
136
+ error_2 = _b.sent();
137
+ if (error_2.data) {
138
+ error_2.data.order = unHashOrder;
139
+ }
140
+ else if (typeof error_2 === 'string') {
141
+ error_2 = new error_1.APENFTError({ code: '4002', context: { errorString: error_2 }, data: { order: unHashOrder } });
138
142
  }
139
143
  else {
140
- error_1 = __assign(__assign({}, error_1), { message: error_1.message, data: { order: unHashOrder } });
144
+ error_2 = __assign(__assign({}, error_2), { message: error_2.message, data: { order: unHashOrder } });
141
145
  }
142
- throw error_1;
146
+ throw error_2;
143
147
  case 5: return [2 /*return*/];
144
148
  }
145
149
  });
@@ -180,7 +180,7 @@ function checkApproveSchemaProxy(contract, orderMetadata, account) {
180
180
  exports.checkApproveSchemaProxy = checkApproveSchemaProxy;
181
181
  function checkUnhashedOrder(contract, order) {
182
182
  return __awaiter(this, void 0, void 0, function () {
183
- var erc20Contract, metadata, sell, buy, assetAddress, erc20Bal, ethBal, error_2;
183
+ var erc20Contract, metadata, sell, buy, assetAddress, erc20Bal, trxBal, error_2;
184
184
  return __generator(this, function (_a) {
185
185
  switch (_a.label) {
186
186
  case 0:
@@ -214,16 +214,16 @@ function checkUnhashedOrder(contract, order) {
214
214
  case 6:
215
215
  erc20Bal = (_a.sent()).erc20Bal;
216
216
  if ((0, helper_1.makeBigNumber)(erc20Bal).lt(buy.basePrice))
217
- throw new error_1.APENFTError({ code: '1104', context: { assetType: 'ERC20' } });
217
+ throw new error_1.APENFTError({ code: '1104', context: { assetType: 'ERC20', erc20Bal: erc20Bal, buyBasePrice: buy.basePrice } });
218
218
  return [4 /*yield*/, checkApproveTokenTransferProxy(contract.exchange, erc20Contract, buy.maker)];
219
219
  case 7:
220
220
  _a.sent();
221
221
  return [3 /*break*/, 10];
222
222
  case 8: return [4 /*yield*/, (0, helper_1.getAccountBalance)(contract.web3, buy.maker)];
223
223
  case 9:
224
- ethBal = (_a.sent()).ethBal;
225
- if ((0, helper_1.makeBigNumber)(ethBal).lt(buy.basePrice))
226
- throw new error_1.APENFTError({ code: '1104', context: { assetType: 'ETH' } });
224
+ trxBal = (_a.sent()).trxBal;
225
+ if ((0, helper_1.makeBigNumber)(trxBal).lt(buy.basePrice))
226
+ throw new error_1.APENFTError({ code: '1104', context: { assetType: 'TRX', trxBal: trxBal, buyBasePrice: buy.basePrice } });
227
227
  _a.label = 10;
228
228
  case 10:
229
229
  checkDataToCall(contract.networkName, order);
@@ -233,6 +233,9 @@ function checkUnhashedOrder(contract, order) {
233
233
  if (error_2.data) {
234
234
  error_2.data.order = order;
235
235
  }
236
+ else if (typeof error_2 === 'string') {
237
+ error_2 = new error_1.APENFTError({ code: '4002', context: { errorString: error_2 }, data: { order: order } });
238
+ }
236
239
  else {
237
240
  error_2 = __assign(__assign({}, error_2), { message: error_2.message, data: { order: order } });
238
241
  }
@@ -80,7 +80,7 @@ exports.ErrorCodes = [
80
80
  },
81
81
  {
82
82
  code: '1204',
83
- message: 'Buy order payment Token cannot be ETH '
83
+ message: 'Buy order payment Token cannot be {{symbol}} '
84
84
  },
85
85
  {
86
86
  code: '1205',
@@ -128,7 +128,15 @@ exports.ErrorCodes = [
128
128
  },
129
129
  {
130
130
  code: '4001',
131
- message: 'MetaMask Error '
131
+ message: 'TronLink Error'
132
+ },
133
+ {
134
+ code: '4002',
135
+ message: '{{errorString}}'
136
+ },
137
+ {
138
+ code: '4003',
139
+ message: 'Broadcast Transaction Error: {{error}}: {{message}}'
132
140
  }
133
141
  ];
134
142
  function render(template, context) {
@@ -105,11 +105,6 @@ function web3Sign(web3, msg, account) {
105
105
  byteArray = web3.utils.code.hexStr2byteArray(hexStrWithout0x);
106
106
  hash = web3.utils.ethersUtils.keccak256(byteArray).replace(/^0x/, '');
107
107
  }
108
- // type===2 ledger wallet address
109
- // type===0 general wallet address
110
- if (web3.defaultAddress && web3.defaultAddress.type !== 2) {
111
- hash += '1';
112
- }
113
108
  return [4 /*yield*/, web3.trx.sign(hash.replace(/^0x/, ''))];
114
109
  case 1:
115
110
  signatureRes = _a.sent();
@@ -138,7 +133,7 @@ function getAccountBalance(web3, account, erc20) {
138
133
  var trxBal, erc20Bal;
139
134
  return __generator(this, function (_a) {
140
135
  switch (_a.label) {
141
- case 0: return [4 /*yield*/, web3.trx.getBalance(account).catch(function (error) {
136
+ case 0: return [4 /*yield*/, web3.trx.getUnconfirmedBalance(account).catch(function (error) {
142
137
  throw new error_1.APENFTError({
143
138
  code: '2003',
144
139
  context: { funcName: 'getAccountBalance.getBalance ' }
@@ -160,7 +155,7 @@ function getAccountBalance(web3, account, erc20) {
160
155
  case 2:
161
156
  erc20Bal = _a.sent();
162
157
  _a.label = 3;
163
- case 3: return [2 /*return*/, { ethBal: Number(trxBal), erc20Bal: Number(erc20Bal) }];
158
+ case 3: return [2 /*return*/, { trxBal: Number(trxBal), erc20Bal: Number(erc20Bal) }];
164
159
  }
165
160
  });
166
161
  });
@@ -108,7 +108,7 @@ function getPriceParameters(paymentTokenObj, expirationTime, startAmount, endAmo
108
108
  throw "No ERC-20 token found for '".concat(paymentToken, "'");
109
109
  }
110
110
  if (isTRX && waitingForBestCounterOrder) {
111
- throw "English auctions must use wrapped ETH or an ERC-20 token.";
111
+ throw "English auctions must use wrapped TRX or an ERC-20 token.";
112
112
  }
113
113
  if (priceDiff < 0) {
114
114
  throw 'End price must be less than or equal to the start price.';
package/index.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { APENFTOrders } from './src/tradeAPI'
2
- export { APENFTQuery } from './src/queryAPI'
1
+ export { APENFTOrders } from './src/tradeAPI/index'
2
+ export { APENFTQuery } from './src/queryAPI/index'
3
3
  export { initApprove } from './src/tradeAPI/approve'
4
4
  export { Network, MakeOrderType, APENFTSchemaName, OrderSide } from './src/utils/types'
5
5
  export { AssetFactory } from './src/tradeAPI/nft'
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "apenft-js-tron",
3
- "version": "2.0.4",
3
+ "version": "2.0.6-beta.0",
4
4
  "description": "Javascript SDK for the APENFT ",
5
5
  "main": "dist/index.js",
6
6
  "author": "Project APENFT Developers",
7
7
  "scripts": {
8
- "dev": "tsc -w -p tsconfig.json",
8
+ "dev": "tsc -w -p tsconfig.dev.json",
9
9
  "eslint": "eslint --fix src --ext .ts --max-warnings=0",
10
10
  "build": "tsc",
11
11
  "webpack": "webpack --mode production",
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "target": "es2018",
5
+ "module": "es2015",
6
+ }
7
+ }