apenft-js-tron 2.0.1 → 2.0.3
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.
|
@@ -9,7 +9,7 @@ var ethereumjs_util_1 = require("ethereumjs-util");
|
|
|
9
9
|
var types_1 = require("../utils/types");
|
|
10
10
|
var tronweb_1 = __importDefault(require("tronweb"));
|
|
11
11
|
var failWith = function (msg) {
|
|
12
|
-
throw
|
|
12
|
+
throw new Error(msg);
|
|
13
13
|
};
|
|
14
14
|
var generateDefaultValue = function (type) {
|
|
15
15
|
switch (type) {
|
|
@@ -59,6 +59,7 @@ var helper_1 = require("../utils/helper");
|
|
|
59
59
|
var Abi_1 = require("../utils/Abi");
|
|
60
60
|
var contractSchemas_1 = require("./contractSchemas");
|
|
61
61
|
var contracts_1 = require("./contracts");
|
|
62
|
+
var error_1 = require("../utils/error");
|
|
62
63
|
var Account = /** @class */ (function (_super) {
|
|
63
64
|
__extends(Account, _super);
|
|
64
65
|
function Account(web3, apiConfig) {
|
|
@@ -172,7 +173,7 @@ var Account = /** @class */ (function (_super) {
|
|
|
172
173
|
buy.paymentTokenApprove.isApprove = isApprove;
|
|
173
174
|
buy.paymentTokenApprove.balances = balances;
|
|
174
175
|
return [3 /*break*/, 9];
|
|
175
|
-
case 8: throw
|
|
176
|
+
case 8: throw new error_1.APENFTError({ code: '1204' });
|
|
176
177
|
case 9: return [2 /*return*/, buy];
|
|
177
178
|
}
|
|
178
179
|
});
|
|
@@ -260,7 +261,7 @@ var Account = /** @class */ (function (_super) {
|
|
|
260
261
|
buy.paymentTokenApprove.isApprove = isApprove;
|
|
261
262
|
buy.paymentTokenApprove.balances = balances;
|
|
262
263
|
return [3 /*break*/, 11];
|
|
263
|
-
case 10: throw
|
|
264
|
+
case 10: throw new error_1.APENFTError({ code: '1204' });
|
|
264
265
|
case 11: return [2 /*return*/, buy];
|
|
265
266
|
}
|
|
266
267
|
});
|
|
@@ -74,6 +74,7 @@ var nft_1 = require("./nft");
|
|
|
74
74
|
var types_1 = require("../utils/types");
|
|
75
75
|
var helper_1 = require("../utils/helper");
|
|
76
76
|
var makeOrder_1 = require("../utils/makeOrder");
|
|
77
|
+
var error_1 = require("../utils/error");
|
|
77
78
|
var APENFTOrders = /** @class */ (function (_super) {
|
|
78
79
|
__extends(APENFTOrders, _super);
|
|
79
80
|
function APENFTOrders(walletProvider, apiConfig, walletAccount) {
|
|
@@ -118,7 +119,7 @@ var APENFTOrders = /** @class */ (function (_super) {
|
|
|
118
119
|
case 1:
|
|
119
120
|
orderVersion = _a.sent();
|
|
120
121
|
if (!orderVersion.isTradable) {
|
|
121
|
-
throw
|
|
122
|
+
throw new error_1.APENFTError({ code: '1212' });
|
|
122
123
|
}
|
|
123
124
|
newAsset = __assign({}, assetData);
|
|
124
125
|
sharedAsset = this.orders.APENFTSharedAssetAddr;
|
package/dist/src/utils/check.js
CHANGED
|
@@ -55,6 +55,7 @@ var helper_1 = require("./helper");
|
|
|
55
55
|
var makeOrder_1 = require("./makeOrder");
|
|
56
56
|
var Abi_1 = require("../utils/Abi");
|
|
57
57
|
var contractSchemas_1 = require("../tradeAPI/contractSchemas");
|
|
58
|
+
var error_1 = require("../utils/error");
|
|
58
59
|
var log = console.log;
|
|
59
60
|
function getAccountProxyAddr(contracts, schemaName) {
|
|
60
61
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -89,7 +90,7 @@ function checkApproveTokenTransferProxy(exchangeContract, erc20Contract, account
|
|
|
89
90
|
case 2:
|
|
90
91
|
allowAmount = _a.sent();
|
|
91
92
|
if (new constants_1.BigNumber(allowAmount.toString()).eq(0)) {
|
|
92
|
-
throw
|
|
93
|
+
throw new error_1.APENFTError({ code: '1101', data: { erc20Address: erc20Contract.address } });
|
|
93
94
|
}
|
|
94
95
|
return [2 /*return*/, true];
|
|
95
96
|
}
|
|
@@ -109,7 +110,7 @@ function checkApproveERC1155TransferProxy(contract, nftsContract, account) {
|
|
|
109
110
|
case 2:
|
|
110
111
|
isApprove = _a.sent();
|
|
111
112
|
if (!isApprove) {
|
|
112
|
-
throw
|
|
113
|
+
throw new error_1.APENFTError({ code: '1102', data: { nftAddress: nftsContract.address } });
|
|
113
114
|
}
|
|
114
115
|
return [2 /*return*/, isApprove];
|
|
115
116
|
}
|
|
@@ -129,7 +130,7 @@ function checkApproveERC721TransferProxy(contract, nftsContract, account, tokenI
|
|
|
129
130
|
case 2:
|
|
130
131
|
isApprove = _a.sent();
|
|
131
132
|
if (!isApprove) {
|
|
132
|
-
throw
|
|
133
|
+
throw new error_1.APENFTError({ code: '1106', data: { nftAddress: nftsContract.address, tokenId: tokenID } });
|
|
133
134
|
}
|
|
134
135
|
return [2 /*return*/, true];
|
|
135
136
|
}
|
|
@@ -169,7 +170,7 @@ function checkApproveSchemaProxy(contract, orderMetadata, account) {
|
|
|
169
170
|
res = contract.web3.address.fromHex(res) === operator;
|
|
170
171
|
}
|
|
171
172
|
if (!res) {
|
|
172
|
-
throw
|
|
173
|
+
throw new error_1.APENFTError({ code: '1108', context: { schemaName: asset.schemaName, tokenId: asset.tokenId } });
|
|
173
174
|
}
|
|
174
175
|
return [2 /*return*/, res];
|
|
175
176
|
}
|
|
@@ -179,7 +180,7 @@ function checkApproveSchemaProxy(contract, orderMetadata, account) {
|
|
|
179
180
|
exports.checkApproveSchemaProxy = checkApproveSchemaProxy;
|
|
180
181
|
function checkUnhashedOrder(contract, order) {
|
|
181
182
|
return __awaiter(this, void 0, void 0, function () {
|
|
182
|
-
var erc20Contract, metadata, sell, buy, assetAddress, erc20Bal, ethBal,
|
|
183
|
+
var erc20Contract, metadata, sell, buy, assetAddress, erc20Bal, ethBal, error_2;
|
|
183
184
|
return __generator(this, function (_a) {
|
|
184
185
|
switch (_a.label) {
|
|
185
186
|
case 0:
|
|
@@ -213,7 +214,7 @@ function checkUnhashedOrder(contract, order) {
|
|
|
213
214
|
case 6:
|
|
214
215
|
erc20Bal = (_a.sent()).erc20Bal;
|
|
215
216
|
if ((0, helper_1.makeBigNumber)(erc20Bal).lt(buy.basePrice))
|
|
216
|
-
throw
|
|
217
|
+
throw new error_1.APENFTError({ code: '1104', context: { assetType: 'ERC20' } });
|
|
217
218
|
return [4 /*yield*/, checkApproveTokenTransferProxy(contract.exchange, erc20Contract, buy.maker)];
|
|
218
219
|
case 7:
|
|
219
220
|
_a.sent();
|
|
@@ -222,20 +223,20 @@ function checkUnhashedOrder(contract, order) {
|
|
|
222
223
|
case 9:
|
|
223
224
|
ethBal = (_a.sent()).ethBal;
|
|
224
225
|
if ((0, helper_1.makeBigNumber)(ethBal).lt(buy.basePrice))
|
|
225
|
-
throw
|
|
226
|
+
throw new error_1.APENFTError({ code: '1104', context: { assetType: 'ETH' } });
|
|
226
227
|
_a.label = 10;
|
|
227
228
|
case 10:
|
|
228
229
|
checkDataToCall(contract.networkName, order);
|
|
229
230
|
return [3 /*break*/, 12];
|
|
230
231
|
case 11:
|
|
231
|
-
|
|
232
|
-
if (
|
|
233
|
-
|
|
232
|
+
error_2 = _a.sent();
|
|
233
|
+
if (error_2.data) {
|
|
234
|
+
error_2.data.order = order;
|
|
234
235
|
}
|
|
235
236
|
else {
|
|
236
|
-
|
|
237
|
+
error_2 = __assign(__assign({}, error_2), { message: error_2.message, data: { order: order } });
|
|
237
238
|
}
|
|
238
|
-
throw
|
|
239
|
+
throw error_2;
|
|
239
240
|
case 12: return [2 /*return*/, true];
|
|
240
241
|
}
|
|
241
242
|
});
|
|
@@ -269,15 +270,15 @@ function checkMatchOrder(contract, buy, sell) {
|
|
|
269
270
|
case 0:
|
|
270
271
|
equalPrice = sell.basePrice.gte(buy.basePrice);
|
|
271
272
|
if (!equalPrice) {
|
|
272
|
-
throw
|
|
273
|
+
throw new error_1.APENFTError({ code: '1201' });
|
|
273
274
|
}
|
|
274
275
|
if (!_ordersCanMatch(buy, sell)) {
|
|
275
|
-
throw
|
|
276
|
+
throw new error_1.APENFTError({ code: '1202' });
|
|
276
277
|
}
|
|
277
278
|
if (!(sell.feeRecipient != constants_1.NULL_ADDRESS)) return [3 /*break*/, 3];
|
|
278
279
|
/* Assert taker fee is less than or equal to maximum fee specified by buyer. */
|
|
279
280
|
if (!sell.takerRelayerFee.lte(buy.takerRelayerFee)) {
|
|
280
|
-
throw "sell.takerRelayerFee ".concat(sell.takerRelayerFee, " <= buy.takerRelayerFee ").concat(buy.takerRelayerFee);
|
|
281
|
+
throw new error_1.APENFTError({ code: '1000', message: "sell.takerRelayerFee ".concat(sell.takerRelayerFee, " <= buy.takerRelayerFee ").concat(buy.takerRelayerFee) });
|
|
281
282
|
}
|
|
282
283
|
return [4 /*yield*/, checkUnhashedOrder(contract, buy)];
|
|
283
284
|
case 1:
|
|
@@ -289,7 +290,7 @@ function checkMatchOrder(contract, buy, sell) {
|
|
|
289
290
|
case 3:
|
|
290
291
|
/* Assert taker fee is less than or equal to maximum fee specified by seller. */
|
|
291
292
|
if (!buy.takerRelayerFee.lte(sell.takerRelayerFee)) {
|
|
292
|
-
throw "buy.takerRelayerFee ".concat(buy.takerRelayerFee, " <= sell.takerRelayerFee ").concat(sell.takerRelayerFee);
|
|
293
|
+
throw new error_1.APENFTError({ code: '1000', message: "buy.takerRelayerFee ".concat(buy.takerRelayerFee, " <= sell.takerRelayerFee ").concat(sell.takerRelayerFee) });
|
|
293
294
|
}
|
|
294
295
|
return [4 /*yield*/, checkUnhashedOrder(contract, sell)];
|
|
295
296
|
case 4:
|
|
@@ -319,13 +320,13 @@ function checkDataToCall(netWorkName, order) {
|
|
|
319
320
|
encodeData = (0, schemasFunctions_1.encodeBuy)(schemas[0], asset, order.maker);
|
|
320
321
|
}
|
|
321
322
|
if (encodeData.dataToCall != order.dataToCall) {
|
|
322
|
-
throw
|
|
323
|
+
throw new error_1.APENFTError({ code: '1208', context: { part: 'dataToCall' } });
|
|
323
324
|
}
|
|
324
325
|
if (encodeData.target != order.target) {
|
|
325
|
-
throw
|
|
326
|
+
throw new error_1.APENFTError({ code: '1208', context: { part: 'target' } });
|
|
326
327
|
}
|
|
327
328
|
if (encodeData.replacementPattern != order.replacementPattern) {
|
|
328
|
-
throw
|
|
329
|
+
throw new error_1.APENFTError({ code: '1208', context: { part: 'replacementPattern' } });
|
|
329
330
|
}
|
|
330
331
|
}
|
|
331
332
|
exports.checkDataToCall = checkDataToCall;
|
|
@@ -344,13 +345,13 @@ function validateOrder(exchangeHelper, order) {
|
|
|
344
345
|
case 2:
|
|
345
346
|
isValidate = _a.sent();
|
|
346
347
|
if (!isValidate) {
|
|
347
|
-
throw
|
|
348
|
+
throw new error_1.APENFTError({ code: '1203' });
|
|
348
349
|
}
|
|
349
350
|
return [2 /*return*/, isValidate];
|
|
350
351
|
case 3:
|
|
351
352
|
e_1 = _a.sent();
|
|
352
353
|
if (!e_1.code) {
|
|
353
|
-
throw
|
|
354
|
+
throw new error_1.APENFTError({ code: '1205' });
|
|
354
355
|
}
|
|
355
356
|
throw e_1;
|
|
356
357
|
case 4: return [2 /*return*/];
|
|
@@ -410,7 +411,7 @@ function ordersCanMatch(exchangeHelper, buy, sell) {
|
|
|
410
411
|
sellOrderParamArray = (0, helper_1.orderParamsEncode)(sell);
|
|
411
412
|
canMatch = exchangeHelper.methods.ordersCanMatch(buyOrderParamArray, sellOrderParamArray).call();
|
|
412
413
|
if (!canMatch) {
|
|
413
|
-
throw
|
|
414
|
+
throw new error_1.APENFTError({ code: '1202' });
|
|
414
415
|
}
|
|
415
416
|
return [2 /*return*/, true];
|
|
416
417
|
});
|
|
@@ -443,10 +444,10 @@ function checkOrderCancelledOrFinalized(contract, order) {
|
|
|
443
444
|
isCancelledOrFinalized = _a.sent();
|
|
444
445
|
if (isCancelledOrFinalized) {
|
|
445
446
|
if (order.side === types_1.OrderSide.Sell) {
|
|
446
|
-
throw
|
|
447
|
+
throw new error_1.APENFTError({ code: '1207', context: { orderSide: 'Sell' } });
|
|
447
448
|
}
|
|
448
449
|
else {
|
|
449
|
-
throw
|
|
450
|
+
throw new error_1.APENFTError({ code: '1207', context: { orderSide: 'Buy' } });
|
|
450
451
|
}
|
|
451
452
|
}
|
|
452
453
|
return [2 /*return*/];
|
|
@@ -463,7 +464,7 @@ function getAssetInfo(metadata) {
|
|
|
463
464
|
assetAddress = metadata.asset.address;
|
|
464
465
|
}
|
|
465
466
|
else {
|
|
466
|
-
throw
|
|
467
|
+
throw new error_1.APENFTError({ message: 'sell.metadata.asset.id or address undefined', code: '1000' });
|
|
467
468
|
}
|
|
468
469
|
return { tokenId: tokenId, assetAddress: assetAddress };
|
|
469
470
|
}
|
|
@@ -485,7 +486,7 @@ function checkAssetAddress(netWorkName, order) {
|
|
|
485
486
|
metadata = order.metadata;
|
|
486
487
|
assetAddress = getAssetInfo(metadata).assetAddress;
|
|
487
488
|
if (schemas.length === 0) {
|
|
488
|
-
throw
|
|
489
|
+
throw new error_1.APENFTError({ code: '1206', context: { assetType: metadata.schema } });
|
|
489
490
|
}
|
|
490
491
|
return [2 /*return*/];
|
|
491
492
|
});
|
|
@@ -580,7 +581,7 @@ function checkAssetBalance(contract, order) {
|
|
|
580
581
|
owner = _c.sent();
|
|
581
582
|
checkAddrHex = contract.web3.address.toHex(checkAddr);
|
|
582
583
|
if (owner !== checkAddrHex)
|
|
583
|
-
throw
|
|
584
|
+
throw new error_1.APENFTError({ code: '1103', context: { assetType: metadata.schema, orderQuantity: order.quantity, ownerQuantity: 0 } });
|
|
584
585
|
balance = 1;
|
|
585
586
|
return [3 /*break*/, 7];
|
|
586
587
|
case 4:
|
|
@@ -591,13 +592,13 @@ function checkAssetBalance(contract, order) {
|
|
|
591
592
|
case 5:
|
|
592
593
|
balance = _c.sent();
|
|
593
594
|
return [3 /*break*/, 7];
|
|
594
|
-
case 6: throw
|
|
595
|
+
case 6: throw new error_1.APENFTError({ code: '1206', context: { assetType: metadata.schema } });
|
|
595
596
|
case 7:
|
|
596
597
|
if (!constants_1.BigNumber.isBigNumber(order.quantity)) {
|
|
597
598
|
order.quantity = new constants_1.BigNumber(order.quantity);
|
|
598
599
|
}
|
|
599
600
|
if (order.quantity.gt(balance.toString())) {
|
|
600
|
-
throw
|
|
601
|
+
throw new error_1.APENFTError({ code: '1103', context: { assetType: metadata.schema, orderQuantity: order.quantity.toString(), ownerQuantity: balance.toString() } });
|
|
601
602
|
}
|
|
602
603
|
return [2 /*return*/, Number(balance)];
|
|
603
604
|
}
|
package/dist/src/utils/helper.js
CHANGED
|
@@ -49,6 +49,7 @@ exports.orderFromJSON = exports.Sleep = exports.checkResultFast = exports.checkR
|
|
|
49
49
|
var index_1 = require("../schemas/index");
|
|
50
50
|
var tokens_1 = require("../tokens");
|
|
51
51
|
var constants_1 = require("./constants");
|
|
52
|
+
var error_1 = require("../utils/error");
|
|
52
53
|
function toBaseUnitAmount(amount, decimals) {
|
|
53
54
|
var unit = new constants_1.BigNumber(10).pow(decimals);
|
|
54
55
|
return amount.times(unit).integerValue();
|
|
@@ -93,7 +94,7 @@ function makeBigNumber(arg) {
|
|
|
93
94
|
exports.makeBigNumber = makeBigNumber;
|
|
94
95
|
function web3Sign(web3, msg, account) {
|
|
95
96
|
return __awaiter(this, void 0, void 0, function () {
|
|
96
|
-
var hash, hexStrWithout0x, byteArray, signatureRes, tail,
|
|
97
|
+
var hash, hexStrWithout0x, byteArray, signatureRes, tail, error_2;
|
|
97
98
|
return __generator(this, function (_a) {
|
|
98
99
|
switch (_a.label) {
|
|
99
100
|
case 0:
|
|
@@ -124,8 +125,8 @@ function web3Sign(web3, msg, account) {
|
|
|
124
125
|
console.log('signatureRes', signatureRes);
|
|
125
126
|
return [2 /*return*/, signatureRes];
|
|
126
127
|
case 2:
|
|
127
|
-
|
|
128
|
-
throw
|
|
128
|
+
error_2 = _a.sent();
|
|
129
|
+
throw error_2;
|
|
129
130
|
case 3: return [2 /*return*/];
|
|
130
131
|
}
|
|
131
132
|
});
|
|
@@ -138,7 +139,10 @@ function getAccountBalance(web3, account, erc20) {
|
|
|
138
139
|
return __generator(this, function (_a) {
|
|
139
140
|
switch (_a.label) {
|
|
140
141
|
case 0: return [4 /*yield*/, web3.trx.getBalance(account).catch(function (error) {
|
|
141
|
-
throw
|
|
142
|
+
throw new error_1.APENFTError({
|
|
143
|
+
code: '2003',
|
|
144
|
+
context: { funcName: 'getAccountBalance.getBalance ' }
|
|
145
|
+
});
|
|
142
146
|
})];
|
|
143
147
|
case 1:
|
|
144
148
|
trxBal = _a.sent();
|
|
@@ -148,7 +152,10 @@ function getAccountBalance(web3, account, erc20) {
|
|
|
148
152
|
.balanceOf(account)
|
|
149
153
|
.call()
|
|
150
154
|
.catch(function (error) {
|
|
151
|
-
throw
|
|
155
|
+
throw new error_1.APENFTError({
|
|
156
|
+
code: '2002',
|
|
157
|
+
context: { funcName: 'getAccountBalance.balanceOf ' }
|
|
158
|
+
});
|
|
152
159
|
})];
|
|
153
160
|
case 2:
|
|
154
161
|
erc20Bal = _a.sent();
|
|
@@ -163,13 +170,13 @@ function getSchemaList(networkName, schemaName) {
|
|
|
163
170
|
// @ts-ignore
|
|
164
171
|
var schemaList = index_1.schemas[networkName];
|
|
165
172
|
if (!schemaList) {
|
|
166
|
-
throw
|
|
173
|
+
throw new error_1.APENFTError({ code: '1206', context: { assetType: schemaName } });
|
|
167
174
|
}
|
|
168
175
|
if (schemaName) {
|
|
169
176
|
schemaList = schemaList.filter(function (val) { return val.name === schemaName; });
|
|
170
177
|
}
|
|
171
178
|
if (schemaList.length === 0) {
|
|
172
|
-
throw
|
|
179
|
+
throw new error_1.APENFTError({ code: '1206', context: { assetType: schemaName } });
|
|
173
180
|
}
|
|
174
181
|
return schemaList;
|
|
175
182
|
}
|
|
@@ -55,10 +55,11 @@ var constants_1 = require("./constants");
|
|
|
55
55
|
var config_1 = require("../config");
|
|
56
56
|
var check_1 = require("./check");
|
|
57
57
|
var helper_1 = require("./helper");
|
|
58
|
+
var error_1 = require("../utils/error");
|
|
58
59
|
function getSchema(networkName, schemaName) {
|
|
59
60
|
var schemaInfo = (0, helper_1.getSchemaList)(networkName, schemaName);
|
|
60
61
|
if (schemaInfo.length == 0) {
|
|
61
|
-
throw
|
|
62
|
+
throw new error_1.APENFTError({ code: '1107', context: { schemaName: schemaName } });
|
|
62
63
|
}
|
|
63
64
|
return schemaInfo[0];
|
|
64
65
|
}
|
|
@@ -356,7 +357,7 @@ function hashAndValidateOrder(web3, exchangeHelper, order) {
|
|
|
356
357
|
exports.hashAndValidateOrder = hashAndValidateOrder;
|
|
357
358
|
function signOrderHash(web3, hashedOrder) {
|
|
358
359
|
return __awaiter(this, void 0, void 0, function () {
|
|
359
|
-
var signature, signatureRes, signatureHex,
|
|
360
|
+
var signature, signatureRes, signatureHex, error_2;
|
|
360
361
|
return __generator(this, function (_a) {
|
|
361
362
|
switch (_a.label) {
|
|
362
363
|
case 0:
|
|
@@ -372,8 +373,8 @@ function signOrderHash(web3, hashedOrder) {
|
|
|
372
373
|
};
|
|
373
374
|
return [3 /*break*/, 3];
|
|
374
375
|
case 2:
|
|
375
|
-
|
|
376
|
-
throw
|
|
376
|
+
error_2 = _a.sent();
|
|
377
|
+
throw error_2;
|
|
377
378
|
case 3: return [2 /*return*/, signature];
|
|
378
379
|
}
|
|
379
380
|
});
|