@pioneer-platform/eth-network 8.3.2 → 8.4.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.
Files changed (2) hide show
  1. package/lib/index.js +128 -15
  2. 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, e_22;
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
- e_22 = _a.sent();
1351
- console.error(tag, e_22);
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, e_23;
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
- e_23 = _a.sent();
1376
- console.error(tag, e_23);
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, e_24;
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
- e_24 = _a.sent();
1400
- console.error(tag, e_24);
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, e_25;
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
- e_25 = _c.sent();
1435
- console.error(tag, e_25);
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, e_26;
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
- e_26 = _g.sent();
1513
- console.error(tag, e_26);
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pioneer-platform/eth-network",
3
- "version": "8.3.2",
3
+ "version": "8.4.0",
4
4
  "main": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "scripts": {