apenft-js-tron 2.0.2 → 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,10 +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
|
-
code: "1101",
|
|
94
|
-
data: { erc20Address: erc20Contract.address }
|
|
95
|
-
};
|
|
93
|
+
throw new error_1.APENFTError({ code: '1101', data: { erc20Address: erc20Contract.address } });
|
|
96
94
|
}
|
|
97
95
|
return [2 /*return*/, true];
|
|
98
96
|
}
|
|
@@ -112,7 +110,7 @@ function checkApproveERC1155TransferProxy(contract, nftsContract, account) {
|
|
|
112
110
|
case 2:
|
|
113
111
|
isApprove = _a.sent();
|
|
114
112
|
if (!isApprove) {
|
|
115
|
-
throw
|
|
113
|
+
throw new error_1.APENFTError({ code: '1102', data: { nftAddress: nftsContract.address } });
|
|
116
114
|
}
|
|
117
115
|
return [2 /*return*/, isApprove];
|
|
118
116
|
}
|
|
@@ -132,7 +130,7 @@ function checkApproveERC721TransferProxy(contract, nftsContract, account, tokenI
|
|
|
132
130
|
case 2:
|
|
133
131
|
isApprove = _a.sent();
|
|
134
132
|
if (!isApprove) {
|
|
135
|
-
throw
|
|
133
|
+
throw new error_1.APENFTError({ code: '1106', data: { nftAddress: nftsContract.address, tokenId: tokenID } });
|
|
136
134
|
}
|
|
137
135
|
return [2 /*return*/, true];
|
|
138
136
|
}
|
|
@@ -172,7 +170,7 @@ function checkApproveSchemaProxy(contract, orderMetadata, account) {
|
|
|
172
170
|
res = contract.web3.address.fromHex(res) === operator;
|
|
173
171
|
}
|
|
174
172
|
if (!res) {
|
|
175
|
-
throw
|
|
173
|
+
throw new error_1.APENFTError({ code: '1108', context: { schemaName: asset.schemaName, tokenId: asset.tokenId } });
|
|
176
174
|
}
|
|
177
175
|
return [2 /*return*/, res];
|
|
178
176
|
}
|
|
@@ -182,7 +180,7 @@ function checkApproveSchemaProxy(contract, orderMetadata, account) {
|
|
|
182
180
|
exports.checkApproveSchemaProxy = checkApproveSchemaProxy;
|
|
183
181
|
function checkUnhashedOrder(contract, order) {
|
|
184
182
|
return __awaiter(this, void 0, void 0, function () {
|
|
185
|
-
var erc20Contract, metadata, sell, buy, assetAddress, erc20Bal, ethBal,
|
|
183
|
+
var erc20Contract, metadata, sell, buy, assetAddress, erc20Bal, ethBal, error_2;
|
|
186
184
|
return __generator(this, function (_a) {
|
|
187
185
|
switch (_a.label) {
|
|
188
186
|
case 0:
|
|
@@ -216,7 +214,7 @@ function checkUnhashedOrder(contract, order) {
|
|
|
216
214
|
case 6:
|
|
217
215
|
erc20Bal = (_a.sent()).erc20Bal;
|
|
218
216
|
if ((0, helper_1.makeBigNumber)(erc20Bal).lt(buy.basePrice))
|
|
219
|
-
throw
|
|
217
|
+
throw new error_1.APENFTError({ code: '1104', context: { assetType: 'ERC20' } });
|
|
220
218
|
return [4 /*yield*/, checkApproveTokenTransferProxy(contract.exchange, erc20Contract, buy.maker)];
|
|
221
219
|
case 7:
|
|
222
220
|
_a.sent();
|
|
@@ -225,20 +223,20 @@ function checkUnhashedOrder(contract, order) {
|
|
|
225
223
|
case 9:
|
|
226
224
|
ethBal = (_a.sent()).ethBal;
|
|
227
225
|
if ((0, helper_1.makeBigNumber)(ethBal).lt(buy.basePrice))
|
|
228
|
-
throw
|
|
226
|
+
throw new error_1.APENFTError({ code: '1104', context: { assetType: 'ETH' } });
|
|
229
227
|
_a.label = 10;
|
|
230
228
|
case 10:
|
|
231
229
|
checkDataToCall(contract.networkName, order);
|
|
232
230
|
return [3 /*break*/, 12];
|
|
233
231
|
case 11:
|
|
234
|
-
|
|
235
|
-
if (
|
|
236
|
-
|
|
232
|
+
error_2 = _a.sent();
|
|
233
|
+
if (error_2.data) {
|
|
234
|
+
error_2.data.order = order;
|
|
237
235
|
}
|
|
238
236
|
else {
|
|
239
|
-
|
|
237
|
+
error_2 = __assign(__assign({}, error_2), { message: error_2.message, data: { order: order } });
|
|
240
238
|
}
|
|
241
|
-
throw
|
|
239
|
+
throw error_2;
|
|
242
240
|
case 12: return [2 /*return*/, true];
|
|
243
241
|
}
|
|
244
242
|
});
|
|
@@ -272,15 +270,15 @@ function checkMatchOrder(contract, buy, sell) {
|
|
|
272
270
|
case 0:
|
|
273
271
|
equalPrice = sell.basePrice.gte(buy.basePrice);
|
|
274
272
|
if (!equalPrice) {
|
|
275
|
-
throw
|
|
273
|
+
throw new error_1.APENFTError({ code: '1201' });
|
|
276
274
|
}
|
|
277
275
|
if (!_ordersCanMatch(buy, sell)) {
|
|
278
|
-
throw
|
|
276
|
+
throw new error_1.APENFTError({ code: '1202' });
|
|
279
277
|
}
|
|
280
278
|
if (!(sell.feeRecipient != constants_1.NULL_ADDRESS)) return [3 /*break*/, 3];
|
|
281
279
|
/* Assert taker fee is less than or equal to maximum fee specified by buyer. */
|
|
282
280
|
if (!sell.takerRelayerFee.lte(buy.takerRelayerFee)) {
|
|
283
|
-
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) });
|
|
284
282
|
}
|
|
285
283
|
return [4 /*yield*/, checkUnhashedOrder(contract, buy)];
|
|
286
284
|
case 1:
|
|
@@ -292,7 +290,7 @@ function checkMatchOrder(contract, buy, sell) {
|
|
|
292
290
|
case 3:
|
|
293
291
|
/* Assert taker fee is less than or equal to maximum fee specified by seller. */
|
|
294
292
|
if (!buy.takerRelayerFee.lte(sell.takerRelayerFee)) {
|
|
295
|
-
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) });
|
|
296
294
|
}
|
|
297
295
|
return [4 /*yield*/, checkUnhashedOrder(contract, sell)];
|
|
298
296
|
case 4:
|
|
@@ -322,13 +320,13 @@ function checkDataToCall(netWorkName, order) {
|
|
|
322
320
|
encodeData = (0, schemasFunctions_1.encodeBuy)(schemas[0], asset, order.maker);
|
|
323
321
|
}
|
|
324
322
|
if (encodeData.dataToCall != order.dataToCall) {
|
|
325
|
-
throw
|
|
323
|
+
throw new error_1.APENFTError({ code: '1208', context: { part: 'dataToCall' } });
|
|
326
324
|
}
|
|
327
325
|
if (encodeData.target != order.target) {
|
|
328
|
-
throw
|
|
326
|
+
throw new error_1.APENFTError({ code: '1208', context: { part: 'target' } });
|
|
329
327
|
}
|
|
330
328
|
if (encodeData.replacementPattern != order.replacementPattern) {
|
|
331
|
-
throw
|
|
329
|
+
throw new error_1.APENFTError({ code: '1208', context: { part: 'replacementPattern' } });
|
|
332
330
|
}
|
|
333
331
|
}
|
|
334
332
|
exports.checkDataToCall = checkDataToCall;
|
|
@@ -347,13 +345,13 @@ function validateOrder(exchangeHelper, order) {
|
|
|
347
345
|
case 2:
|
|
348
346
|
isValidate = _a.sent();
|
|
349
347
|
if (!isValidate) {
|
|
350
|
-
throw
|
|
348
|
+
throw new error_1.APENFTError({ code: '1203' });
|
|
351
349
|
}
|
|
352
350
|
return [2 /*return*/, isValidate];
|
|
353
351
|
case 3:
|
|
354
352
|
e_1 = _a.sent();
|
|
355
353
|
if (!e_1.code) {
|
|
356
|
-
throw
|
|
354
|
+
throw new error_1.APENFTError({ code: '1205' });
|
|
357
355
|
}
|
|
358
356
|
throw e_1;
|
|
359
357
|
case 4: return [2 /*return*/];
|
|
@@ -413,7 +411,7 @@ function ordersCanMatch(exchangeHelper, buy, sell) {
|
|
|
413
411
|
sellOrderParamArray = (0, helper_1.orderParamsEncode)(sell);
|
|
414
412
|
canMatch = exchangeHelper.methods.ordersCanMatch(buyOrderParamArray, sellOrderParamArray).call();
|
|
415
413
|
if (!canMatch) {
|
|
416
|
-
throw
|
|
414
|
+
throw new error_1.APENFTError({ code: '1202' });
|
|
417
415
|
}
|
|
418
416
|
return [2 /*return*/, true];
|
|
419
417
|
});
|
|
@@ -446,10 +444,10 @@ function checkOrderCancelledOrFinalized(contract, order) {
|
|
|
446
444
|
isCancelledOrFinalized = _a.sent();
|
|
447
445
|
if (isCancelledOrFinalized) {
|
|
448
446
|
if (order.side === types_1.OrderSide.Sell) {
|
|
449
|
-
throw
|
|
447
|
+
throw new error_1.APENFTError({ code: '1207', context: { orderSide: 'Sell' } });
|
|
450
448
|
}
|
|
451
449
|
else {
|
|
452
|
-
throw
|
|
450
|
+
throw new error_1.APENFTError({ code: '1207', context: { orderSide: 'Buy' } });
|
|
453
451
|
}
|
|
454
452
|
}
|
|
455
453
|
return [2 /*return*/];
|
|
@@ -466,7 +464,7 @@ function getAssetInfo(metadata) {
|
|
|
466
464
|
assetAddress = metadata.asset.address;
|
|
467
465
|
}
|
|
468
466
|
else {
|
|
469
|
-
throw
|
|
467
|
+
throw new error_1.APENFTError({ message: 'sell.metadata.asset.id or address undefined', code: '1000' });
|
|
470
468
|
}
|
|
471
469
|
return { tokenId: tokenId, assetAddress: assetAddress };
|
|
472
470
|
}
|
|
@@ -488,7 +486,7 @@ function checkAssetAddress(netWorkName, order) {
|
|
|
488
486
|
metadata = order.metadata;
|
|
489
487
|
assetAddress = getAssetInfo(metadata).assetAddress;
|
|
490
488
|
if (schemas.length === 0) {
|
|
491
|
-
throw
|
|
489
|
+
throw new error_1.APENFTError({ code: '1206', context: { assetType: metadata.schema } });
|
|
492
490
|
}
|
|
493
491
|
return [2 /*return*/];
|
|
494
492
|
});
|
|
@@ -583,7 +581,7 @@ function checkAssetBalance(contract, order) {
|
|
|
583
581
|
owner = _c.sent();
|
|
584
582
|
checkAddrHex = contract.web3.address.toHex(checkAddr);
|
|
585
583
|
if (owner !== checkAddrHex)
|
|
586
|
-
throw
|
|
584
|
+
throw new error_1.APENFTError({ code: '1103', context: { assetType: metadata.schema, orderQuantity: order.quantity, ownerQuantity: 0 } });
|
|
587
585
|
balance = 1;
|
|
588
586
|
return [3 /*break*/, 7];
|
|
589
587
|
case 4:
|
|
@@ -594,13 +592,13 @@ function checkAssetBalance(contract, order) {
|
|
|
594
592
|
case 5:
|
|
595
593
|
balance = _c.sent();
|
|
596
594
|
return [3 /*break*/, 7];
|
|
597
|
-
case 6: throw
|
|
595
|
+
case 6: throw new error_1.APENFTError({ code: '1206', context: { assetType: metadata.schema } });
|
|
598
596
|
case 7:
|
|
599
597
|
if (!constants_1.BigNumber.isBigNumber(order.quantity)) {
|
|
600
598
|
order.quantity = new constants_1.BigNumber(order.quantity);
|
|
601
599
|
}
|
|
602
600
|
if (order.quantity.gt(balance.toString())) {
|
|
603
|
-
throw
|
|
601
|
+
throw new error_1.APENFTError({ code: '1103', context: { assetType: metadata.schema, orderQuantity: order.quantity.toString(), ownerQuantity: balance.toString() } });
|
|
604
602
|
}
|
|
605
603
|
return [2 /*return*/, Number(balance)];
|
|
606
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
|
});
|