@pioneer-platform/eth-network 8.3.2 → 8.4.1
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/lib/index.js +128 -15
- package/package.json +1 -1
package/lib/index.js
CHANGED
@@ -107,6 +107,7 @@ var BASE = 1000000000000000000;
|
|
107
107
|
var abi_1 = require("@ethersproject/abi");
|
108
108
|
var constant_1 = require("./constant"); // Replace with your actual module file path
|
109
109
|
var BASE_NODE = 'https://base.llamarpc.com';
|
110
|
+
var NODES = [];
|
110
111
|
module.exports = {
|
111
112
|
init: function (settings) {
|
112
113
|
//blockbook.init()
|
@@ -139,6 +140,26 @@ module.exports = {
|
|
139
140
|
web3 = new Web3(process.env['PARITY_ARCHIVE_NODE']);
|
140
141
|
}
|
141
142
|
},
|
143
|
+
getNodes: function () {
|
144
|
+
return NODES;
|
145
|
+
},
|
146
|
+
addNode: function (node) {
|
147
|
+
if (!node.networkId)
|
148
|
+
throw Error('missing networkId');
|
149
|
+
if (!node.service)
|
150
|
+
throw Error('missing networkId');
|
151
|
+
return NODES.push(node);
|
152
|
+
},
|
153
|
+
addNodes: function (nodes) {
|
154
|
+
for (var i = 0; i < nodes.length; i++) {
|
155
|
+
var node = nodes[i];
|
156
|
+
if (!node.networkId)
|
157
|
+
throw Error('missing networkId');
|
158
|
+
if (!node.service)
|
159
|
+
throw Error('missing networkId');
|
160
|
+
return NODES.push(node);
|
161
|
+
}
|
162
|
+
},
|
142
163
|
decodeTx: function (tx) {
|
143
164
|
return decode_tx(tx);
|
144
165
|
},
|
@@ -226,6 +247,15 @@ module.exports = {
|
|
226
247
|
getBalanceTokens: function (address) {
|
227
248
|
return get_balance_tokens(address);
|
228
249
|
},
|
250
|
+
getBalanceAddressByNetwork: function (networkId, address) {
|
251
|
+
return get_balance_by_network(networkId, address);
|
252
|
+
},
|
253
|
+
getBalanceTokenByNetwork: function (networkId, address, token) {
|
254
|
+
return get_balance_token_by_network(networkId, address, token);
|
255
|
+
},
|
256
|
+
getBalanceTokensByNetwork: function (networkId, address) {
|
257
|
+
return get_balance_tokens_by_network(networkId, address);
|
258
|
+
},
|
229
259
|
broadcast: function (tx) {
|
230
260
|
return broadcast_transaction(tx);
|
231
261
|
}
|
@@ -1268,6 +1298,23 @@ var broadcast_transaction = function (tx) {
|
|
1268
1298
|
});
|
1269
1299
|
});
|
1270
1300
|
};
|
1301
|
+
var get_balance_tokens_by_network = function (networkId, address) {
|
1302
|
+
return __awaiter(this, void 0, void 0, function () {
|
1303
|
+
var tag, output;
|
1304
|
+
return __generator(this, function (_a) {
|
1305
|
+
tag = TAG + " | get_balance_tokens_by_network | ";
|
1306
|
+
try {
|
1307
|
+
output = {};
|
1308
|
+
//@TODO zapper? covalent?
|
1309
|
+
return [2 /*return*/, ""];
|
1310
|
+
}
|
1311
|
+
catch (e) {
|
1312
|
+
console.error(tag, e);
|
1313
|
+
}
|
1314
|
+
return [2 /*return*/];
|
1315
|
+
});
|
1316
|
+
});
|
1317
|
+
};
|
1271
1318
|
var get_balance_tokens = function (address) {
|
1272
1319
|
return __awaiter(this, void 0, void 0, function () {
|
1273
1320
|
var tag, balances, valueUsds, coinInfo, resp, tokenInfo, i, info, symbol, rate, balance, e_21;
|
@@ -1323,9 +1370,46 @@ var get_balance_tokens = function (address) {
|
|
1323
1370
|
});
|
1324
1371
|
});
|
1325
1372
|
};
|
1373
|
+
var get_balance_token_by_network = function (networkId, address, token) {
|
1374
|
+
return __awaiter(this, void 0, void 0, function () {
|
1375
|
+
var tag, output, node, web3_2, contract, decimals, balance, e_22;
|
1376
|
+
return __generator(this, function (_a) {
|
1377
|
+
switch (_a.label) {
|
1378
|
+
case 0:
|
1379
|
+
tag = TAG + " | get_balance_token_by_network | ";
|
1380
|
+
_a.label = 1;
|
1381
|
+
case 1:
|
1382
|
+
_a.trys.push([1, 4, , 5]);
|
1383
|
+
output = {};
|
1384
|
+
node = NODES.find(function (n) { return n.networkId == networkId; });
|
1385
|
+
if (!node)
|
1386
|
+
throw Error("101: missing node! for network " + networkId);
|
1387
|
+
web3_2 = new Web3(node.service);
|
1388
|
+
contract = new web3_2.eth.Contract(constant_1.ERC20ABI, token);
|
1389
|
+
return [4 /*yield*/, contract.methods.decimals().call()
|
1390
|
+
//log.debug(tag,"decimals: ",decimals)
|
1391
|
+
];
|
1392
|
+
case 2:
|
1393
|
+
decimals = _a.sent();
|
1394
|
+
return [4 /*yield*/, contract.methods.balanceOf(address).call()
|
1395
|
+
//log.debug(tag,"balance: ",balance)
|
1396
|
+
];
|
1397
|
+
case 3:
|
1398
|
+
balance = _a.sent();
|
1399
|
+
//log.debug(tag,"balance: ",balance)
|
1400
|
+
return [2 /*return*/, balance / Math.pow(10, decimals)];
|
1401
|
+
case 4:
|
1402
|
+
e_22 = _a.sent();
|
1403
|
+
console.error(tag, e_22);
|
1404
|
+
return [3 /*break*/, 5];
|
1405
|
+
case 5: return [2 /*return*/];
|
1406
|
+
}
|
1407
|
+
});
|
1408
|
+
});
|
1409
|
+
};
|
1326
1410
|
var get_balance_token = function (address, token) {
|
1327
1411
|
return __awaiter(this, void 0, void 0, function () {
|
1328
|
-
var tag, contract, decimals, balance,
|
1412
|
+
var tag, contract, decimals, balance, e_23;
|
1329
1413
|
return __generator(this, function (_a) {
|
1330
1414
|
switch (_a.label) {
|
1331
1415
|
case 0:
|
@@ -1347,17 +1431,46 @@ var get_balance_token = function (address, token) {
|
|
1347
1431
|
//log.debug(tag,"balance: ",balance)
|
1348
1432
|
return [2 /*return*/, balance / Math.pow(10, decimals)];
|
1349
1433
|
case 4:
|
1350
|
-
|
1351
|
-
console.error(tag,
|
1434
|
+
e_23 = _a.sent();
|
1435
|
+
console.error(tag, e_23);
|
1352
1436
|
return [3 /*break*/, 5];
|
1353
1437
|
case 5: return [2 /*return*/];
|
1354
1438
|
}
|
1355
1439
|
});
|
1356
1440
|
});
|
1357
1441
|
};
|
1442
|
+
var get_balance_by_network = function (networkId, address) {
|
1443
|
+
return __awaiter(this, void 0, void 0, function () {
|
1444
|
+
var tag, output, node, web3_3, e_24;
|
1445
|
+
return __generator(this, function (_a) {
|
1446
|
+
switch (_a.label) {
|
1447
|
+
case 0:
|
1448
|
+
tag = TAG + " | get_balance_by_network | ";
|
1449
|
+
_a.label = 1;
|
1450
|
+
case 1:
|
1451
|
+
_a.trys.push([1, 3, , 4]);
|
1452
|
+
output = {};
|
1453
|
+
node = NODES.find(function (n) { return n.networkId == networkId; });
|
1454
|
+
if (!node)
|
1455
|
+
throw Error("101: missing node! for network " + networkId);
|
1456
|
+
web3_3 = new Web3(node.service);
|
1457
|
+
return [4 /*yield*/, web3_3.eth.getBalance(address)];
|
1458
|
+
case 2:
|
1459
|
+
//normal tx info
|
1460
|
+
output = (_a.sent()) / BASE;
|
1461
|
+
return [2 /*return*/, output];
|
1462
|
+
case 3:
|
1463
|
+
e_24 = _a.sent();
|
1464
|
+
console.error(tag, e_24);
|
1465
|
+
return [3 /*break*/, 4];
|
1466
|
+
case 4: return [2 /*return*/];
|
1467
|
+
}
|
1468
|
+
});
|
1469
|
+
});
|
1470
|
+
};
|
1358
1471
|
var get_balance = function (address) {
|
1359
1472
|
return __awaiter(this, void 0, void 0, function () {
|
1360
|
-
var tag, output,
|
1473
|
+
var tag, output, e_25;
|
1361
1474
|
return __generator(this, function (_a) {
|
1362
1475
|
switch (_a.label) {
|
1363
1476
|
case 0:
|
@@ -1372,8 +1485,8 @@ var get_balance = function (address) {
|
|
1372
1485
|
output = (_a.sent()) / BASE;
|
1373
1486
|
return [2 /*return*/, output];
|
1374
1487
|
case 3:
|
1375
|
-
|
1376
|
-
console.error(tag,
|
1488
|
+
e_25 = _a.sent();
|
1489
|
+
console.error(tag, e_25);
|
1377
1490
|
return [3 /*break*/, 4];
|
1378
1491
|
case 4: return [2 /*return*/];
|
1379
1492
|
}
|
@@ -1382,7 +1495,7 @@ var get_balance = function (address) {
|
|
1382
1495
|
};
|
1383
1496
|
var get_transactions = function (address, options) {
|
1384
1497
|
return __awaiter(this, void 0, void 0, function () {
|
1385
|
-
var tag, output, ethInfo,
|
1498
|
+
var tag, output, ethInfo, e_26;
|
1386
1499
|
return __generator(this, function (_a) {
|
1387
1500
|
switch (_a.label) {
|
1388
1501
|
case 0:
|
@@ -1396,8 +1509,8 @@ var get_transactions = function (address, options) {
|
|
1396
1509
|
ethInfo = _a.sent();
|
1397
1510
|
return [2 /*return*/, ethInfo];
|
1398
1511
|
case 3:
|
1399
|
-
|
1400
|
-
console.error(tag,
|
1512
|
+
e_26 = _a.sent();
|
1513
|
+
console.error(tag, e_26);
|
1401
1514
|
return [3 /*break*/, 4];
|
1402
1515
|
case 4: return [2 /*return*/];
|
1403
1516
|
}
|
@@ -1406,7 +1519,7 @@ var get_transactions = function (address, options) {
|
|
1406
1519
|
};
|
1407
1520
|
var get_transaction = function (txid) {
|
1408
1521
|
return __awaiter(this, void 0, void 0, function () {
|
1409
|
-
var tag, output, _a, _b,
|
1522
|
+
var tag, output, _a, _b, e_27;
|
1410
1523
|
return __generator(this, function (_c) {
|
1411
1524
|
switch (_c.label) {
|
1412
1525
|
case 0:
|
@@ -1431,8 +1544,8 @@ var get_transaction = function (txid) {
|
|
1431
1544
|
_b.receipt = _c.sent();
|
1432
1545
|
return [2 /*return*/, output];
|
1433
1546
|
case 4:
|
1434
|
-
|
1435
|
-
console.error(tag,
|
1547
|
+
e_27 = _c.sent();
|
1548
|
+
console.error(tag, e_27);
|
1436
1549
|
return [3 /*break*/, 5];
|
1437
1550
|
case 5: return [2 /*return*/];
|
1438
1551
|
}
|
@@ -1441,7 +1554,7 @@ var get_transaction = function (txid) {
|
|
1441
1554
|
};
|
1442
1555
|
var check_online_status = function () {
|
1443
1556
|
return __awaiter(this, void 0, void 0, function () {
|
1444
|
-
var tag, output, _a, _b, _c, _d, networkName, _e, _f,
|
1557
|
+
var tag, output, _a, _b, _c, _d, networkName, _e, _f, e_28;
|
1445
1558
|
return __generator(this, function (_g) {
|
1446
1559
|
switch (_g.label) {
|
1447
1560
|
case 0:
|
@@ -1509,8 +1622,8 @@ var check_online_status = function () {
|
|
1509
1622
|
_f.syncing = _g.sent();
|
1510
1623
|
return [2 /*return*/, output];
|
1511
1624
|
case 8:
|
1512
|
-
|
1513
|
-
console.error(tag,
|
1625
|
+
e_28 = _g.sent();
|
1626
|
+
console.error(tag, e_28);
|
1514
1627
|
return [3 /*break*/, 9];
|
1515
1628
|
case 9: return [2 /*return*/];
|
1516
1629
|
}
|