@ethereansos/interfaces-core 0.4.99 → 0.4.102
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/dist/index.cjs.js +331 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +331 -3
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
@@ -50367,14 +50367,15 @@ function fromDecimals(number, decimals, skipFormat) {
|
|
50367
50367
|
return '0';
|
50368
50368
|
}
|
50369
50369
|
|
50370
|
+
number = numberToString(number).split('.')[0];
|
50370
50371
|
var symbol = toEthereumSymbol(decimals);
|
50371
50372
|
|
50372
50373
|
if (symbol) {
|
50373
|
-
var result = web3Utils__default["default"].fromWei(
|
50374
|
+
var result = web3Utils__default["default"].fromWei(number, symbol);
|
50374
50375
|
return skipFormat === true ? result : formatMoney(result);
|
50375
50376
|
}
|
50376
50377
|
|
50377
|
-
var nts = parseFloat(numberToString(number / (decimals < 2 ? 1 : Math.pow(10, decimals)))); // TODO verify if is expected that is rounded to 2 decimals
|
50378
|
+
var nts = parseFloat(numberToString(parseFloat(number) / (decimals < 2 ? 1 : Math.pow(10, decimals)))); // TODO verify if is expected that is rounded to 2 decimals
|
50378
50379
|
|
50379
50380
|
return skipFormat === true ? numberToString(nts) : formatMoney(nts);
|
50380
50381
|
}
|
@@ -64110,6 +64111,333 @@ function _getTokenPriceInDollarsOnUniswapV() {
|
|
64110
64111
|
return _getTokenPriceInDollarsOnUniswapV.apply(this, arguments);
|
64111
64112
|
}
|
64112
64113
|
|
64114
|
+
var tokenPrices = {};
|
64115
|
+
var tokenPricesPromises = {};
|
64116
|
+
|
64117
|
+
function elaboratePrices(_x, _x2, _x3) {
|
64118
|
+
return _elaboratePrices.apply(this, arguments);
|
64119
|
+
}
|
64120
|
+
|
64121
|
+
function _elaboratePrices() {
|
64122
|
+
_elaboratePrices = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee(_ref, res, tokens) {
|
64123
|
+
var context, web3Data, response, _iterator, _step, token;
|
64124
|
+
|
64125
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
64126
|
+
while (1) {
|
64127
|
+
switch (_context.prev = _context.next) {
|
64128
|
+
case 0:
|
64129
|
+
context = _ref.context, web3Data = _ref.web3Data;
|
64130
|
+
response = {
|
64131
|
+
data: {}
|
64132
|
+
};
|
64133
|
+
Object.entries(res.data).forEach(function (entry) {
|
64134
|
+
return response.data[entry[0]] = entry[1];
|
64135
|
+
});
|
64136
|
+
tokens = (!(tokens instanceof Array) ? tokens = tokens.split(',') : tokens).map(function (it) {
|
64137
|
+
return it.toLowerCase();
|
64138
|
+
}).filter(function (it) {
|
64139
|
+
return it && it !== VOID_ETHEREUM_ADDRESS && !response.data[it];
|
64140
|
+
});
|
64141
|
+
_iterator = _createForOfIteratorHelper(tokens);
|
64142
|
+
_context.prev = 5;
|
64143
|
+
|
64144
|
+
_iterator.s();
|
64145
|
+
|
64146
|
+
case 7:
|
64147
|
+
if ((_step = _iterator.n()).done) {
|
64148
|
+
_context.next = 36;
|
64149
|
+
break;
|
64150
|
+
}
|
64151
|
+
|
64152
|
+
token = _step.value;
|
64153
|
+
_context.prev = 9;
|
64154
|
+
_context.t0 = getTokenPriceInDollarsOnUniswapV3;
|
64155
|
+
_context.t1 = _objectSpread2({
|
64156
|
+
context: context
|
64157
|
+
}, web3Data);
|
64158
|
+
_context.t2 = token;
|
64159
|
+
_context.next = 15;
|
64160
|
+
return blockchainCall(web3Data.newContract(context.ERC20ABI, token).methods.decimals);
|
64161
|
+
|
64162
|
+
case 15:
|
64163
|
+
_context.t3 = _context.sent;
|
64164
|
+
_context.next = 18;
|
64165
|
+
return (0, _context.t0)(_context.t1, _context.t2, _context.t3);
|
64166
|
+
|
64167
|
+
case 18:
|
64168
|
+
_context.t4 = _context.sent;
|
64169
|
+
response.data[token] = {
|
64170
|
+
usd: _context.t4
|
64171
|
+
};
|
64172
|
+
_context.next = 34;
|
64173
|
+
break;
|
64174
|
+
|
64175
|
+
case 22:
|
64176
|
+
_context.prev = 22;
|
64177
|
+
_context.t5 = _context["catch"](9);
|
64178
|
+
_context.t6 = getTokenPriceInDollarsOnUniswap;
|
64179
|
+
_context.t7 = _objectSpread2({
|
64180
|
+
context: context
|
64181
|
+
}, web3Data);
|
64182
|
+
_context.t8 = token;
|
64183
|
+
_context.next = 29;
|
64184
|
+
return blockchainCall(web3Data.newContract(context.ERC20ABI, token).methods.decimals);
|
64185
|
+
|
64186
|
+
case 29:
|
64187
|
+
_context.t9 = _context.sent;
|
64188
|
+
_context.next = 32;
|
64189
|
+
return (0, _context.t6)(_context.t7, _context.t8, _context.t9);
|
64190
|
+
|
64191
|
+
case 32:
|
64192
|
+
_context.t10 = _context.sent;
|
64193
|
+
response.data[token] = {
|
64194
|
+
usd: _context.t10
|
64195
|
+
};
|
64196
|
+
|
64197
|
+
case 34:
|
64198
|
+
_context.next = 7;
|
64199
|
+
break;
|
64200
|
+
|
64201
|
+
case 36:
|
64202
|
+
_context.next = 41;
|
64203
|
+
break;
|
64204
|
+
|
64205
|
+
case 38:
|
64206
|
+
_context.prev = 38;
|
64207
|
+
_context.t11 = _context["catch"](5);
|
64208
|
+
|
64209
|
+
_iterator.e(_context.t11);
|
64210
|
+
|
64211
|
+
case 41:
|
64212
|
+
_context.prev = 41;
|
64213
|
+
|
64214
|
+
_iterator.f();
|
64215
|
+
|
64216
|
+
return _context.finish(41);
|
64217
|
+
|
64218
|
+
case 44:
|
64219
|
+
return _context.abrupt("return", response);
|
64220
|
+
|
64221
|
+
case 45:
|
64222
|
+
case "end":
|
64223
|
+
return _context.stop();
|
64224
|
+
}
|
64225
|
+
}
|
64226
|
+
}, _callee, null, [[5, 38, 41, 44], [9, 22]]);
|
64227
|
+
}));
|
64228
|
+
return _elaboratePrices.apply(this, arguments);
|
64229
|
+
}
|
64230
|
+
|
64231
|
+
function getTokenPricesInDollarsOnCoingecko(_x4, _x5) {
|
64232
|
+
return _getTokenPricesInDollarsOnCoingecko.apply(this, arguments);
|
64233
|
+
}
|
64234
|
+
|
64235
|
+
function _getTokenPricesInDollarsOnCoingecko() {
|
64236
|
+
_getTokenPricesInDollarsOnCoingecko = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(_ref2, t) {
|
64237
|
+
var context, web3Data, tokens, response, tkns, _iterator2, _step2, token, prom, _i, _tkns, _i2, _tkns2, _iterator3, _step3;
|
64238
|
+
|
64239
|
+
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
64240
|
+
while (1) {
|
64241
|
+
switch (_context3.prev = _context3.next) {
|
64242
|
+
case 0:
|
64243
|
+
context = _ref2.context, web3Data = _ref2.web3Data;
|
64244
|
+
tokens = (!(t instanceof Array) ? t = t.split(',') : t).map(function (it) {
|
64245
|
+
return it.toLowerCase();
|
64246
|
+
});
|
64247
|
+
response = {
|
64248
|
+
data: {}
|
64249
|
+
};
|
64250
|
+
tkns = [];
|
64251
|
+
_iterator2 = _createForOfIteratorHelper(tokens);
|
64252
|
+
_context3.prev = 5;
|
64253
|
+
|
64254
|
+
_iterator2.s();
|
64255
|
+
|
64256
|
+
case 7:
|
64257
|
+
if ((_step2 = _iterator2.n()).done) {
|
64258
|
+
_context3.next = 29;
|
64259
|
+
break;
|
64260
|
+
}
|
64261
|
+
|
64262
|
+
token = _step2.value;
|
64263
|
+
|
64264
|
+
if (!(!token || token === VOID_ETHEREUM_ADDRESS)) {
|
64265
|
+
_context3.next = 14;
|
64266
|
+
break;
|
64267
|
+
}
|
64268
|
+
|
64269
|
+
_context3.next = 12;
|
64270
|
+
return getEthereumPrice({
|
64271
|
+
context: context
|
64272
|
+
});
|
64273
|
+
|
64274
|
+
case 12:
|
64275
|
+
response.data[token] = _context3.sent;
|
64276
|
+
return _context3.abrupt("continue", 27);
|
64277
|
+
|
64278
|
+
case 14:
|
64279
|
+
if (!(tokenPrices[token] && tokenPrices[token].requestExpires > new Date().getTime() && tokenPrices[token].price !== 0)) {
|
64280
|
+
_context3.next = 18;
|
64281
|
+
break;
|
64282
|
+
}
|
64283
|
+
|
64284
|
+
response.data[token] = {
|
64285
|
+
usd: tokenPrices[token].price
|
64286
|
+
};
|
64287
|
+
_context3.next = 27;
|
64288
|
+
break;
|
64289
|
+
|
64290
|
+
case 18:
|
64291
|
+
if (!tokenPricesPromises[token]) {
|
64292
|
+
_context3.next = 26;
|
64293
|
+
break;
|
64294
|
+
}
|
64295
|
+
|
64296
|
+
_context3.next = 21;
|
64297
|
+
return tokenPricesPromises[token];
|
64298
|
+
|
64299
|
+
case 21:
|
64300
|
+
_context3.t0 = token;
|
64301
|
+
_context3.t1 = _context3.sent.data[_context3.t0].usd;
|
64302
|
+
response.data[token] = {
|
64303
|
+
usd: _context3.t1
|
64304
|
+
};
|
64305
|
+
_context3.next = 27;
|
64306
|
+
break;
|
64307
|
+
|
64308
|
+
case 26:
|
64309
|
+
tkns.push(token);
|
64310
|
+
|
64311
|
+
case 27:
|
64312
|
+
_context3.next = 7;
|
64313
|
+
break;
|
64314
|
+
|
64315
|
+
case 29:
|
64316
|
+
_context3.next = 34;
|
64317
|
+
break;
|
64318
|
+
|
64319
|
+
case 31:
|
64320
|
+
_context3.prev = 31;
|
64321
|
+
_context3.t2 = _context3["catch"](5);
|
64322
|
+
|
64323
|
+
_iterator2.e(_context3.t2);
|
64324
|
+
|
64325
|
+
case 34:
|
64326
|
+
_context3.prev = 34;
|
64327
|
+
|
64328
|
+
_iterator2.f();
|
64329
|
+
|
64330
|
+
return _context3.finish(34);
|
64331
|
+
|
64332
|
+
case 37:
|
64333
|
+
prom = /*#__PURE__*/function () {
|
64334
|
+
var _ref3 = _asyncToGenerator$1( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(t1, t2) {
|
64335
|
+
var res;
|
64336
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
64337
|
+
while (1) {
|
64338
|
+
switch (_context2.prev = _context2.next) {
|
64339
|
+
case 0:
|
64340
|
+
res = {
|
64341
|
+
data: {}
|
64342
|
+
};
|
64343
|
+
_context2.prev = 1;
|
64344
|
+
_context2.t0 = t1.length > 0;
|
64345
|
+
|
64346
|
+
if (!_context2.t0) {
|
64347
|
+
_context2.next = 9;
|
64348
|
+
break;
|
64349
|
+
}
|
64350
|
+
|
64351
|
+
_context2.next = 6;
|
64352
|
+
return fetch(context.coingeckoCoinPriceURL + t1.join(','));
|
64353
|
+
|
64354
|
+
case 6:
|
64355
|
+
_context2.next = 8;
|
64356
|
+
return _context2.sent.json();
|
64357
|
+
|
64358
|
+
case 8:
|
64359
|
+
res.data = _context2.sent;
|
64360
|
+
|
64361
|
+
case 9:
|
64362
|
+
_context2.next = 13;
|
64363
|
+
break;
|
64364
|
+
|
64365
|
+
case 11:
|
64366
|
+
_context2.prev = 11;
|
64367
|
+
_context2.t1 = _context2["catch"](1);
|
64368
|
+
|
64369
|
+
case 13:
|
64370
|
+
_context2.next = 15;
|
64371
|
+
return elaboratePrices({
|
64372
|
+
context: context,
|
64373
|
+
web3Data: web3Data
|
64374
|
+
}, res, t2);
|
64375
|
+
|
64376
|
+
case 15:
|
64377
|
+
return _context2.abrupt("return", _context2.sent);
|
64378
|
+
|
64379
|
+
case 16:
|
64380
|
+
case "end":
|
64381
|
+
return _context2.stop();
|
64382
|
+
}
|
64383
|
+
}
|
64384
|
+
}, _callee2, null, [[1, 11]]);
|
64385
|
+
}));
|
64386
|
+
|
64387
|
+
return function prom(_x6, _x7) {
|
64388
|
+
return _ref3.apply(this, arguments);
|
64389
|
+
};
|
64390
|
+
}();
|
64391
|
+
|
64392
|
+
prom = prom(tkns, t);
|
64393
|
+
|
64394
|
+
for (_i = 0, _tkns = tkns; _i < _tkns.length; _i++) {
|
64395
|
+
token = _tkns[_i];
|
64396
|
+
tokenPricesPromises[token] = prom;
|
64397
|
+
}
|
64398
|
+
|
64399
|
+
_context3.next = 42;
|
64400
|
+
return prom;
|
64401
|
+
|
64402
|
+
case 42:
|
64403
|
+
prom = _context3.sent;
|
64404
|
+
Object.entries(prom.data).forEach(function (it) {
|
64405
|
+
return response.data[it[0]] = it[1];
|
64406
|
+
});
|
64407
|
+
|
64408
|
+
for (_i2 = 0, _tkns2 = tkns; _i2 < _tkns2.length; _i2++) {
|
64409
|
+
token = _tkns2[_i2];
|
64410
|
+
tokenPrices[token] = {
|
64411
|
+
requestExpires: new Date().getTime() + context.coingeckoEthereumPriceRequestInterval,
|
64412
|
+
price: response.data[token].usd
|
64413
|
+
};
|
64414
|
+
}
|
64415
|
+
|
64416
|
+
_iterator3 = _createForOfIteratorHelper(tokens);
|
64417
|
+
|
64418
|
+
try {
|
64419
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
64420
|
+
token = _step3.value;
|
64421
|
+
delete tokenPricesPromises[token];
|
64422
|
+
}
|
64423
|
+
} catch (err) {
|
64424
|
+
_iterator3.e(err);
|
64425
|
+
} finally {
|
64426
|
+
_iterator3.f();
|
64427
|
+
}
|
64428
|
+
|
64429
|
+
return _context3.abrupt("return", response);
|
64430
|
+
|
64431
|
+
case 48:
|
64432
|
+
case "end":
|
64433
|
+
return _context3.stop();
|
64434
|
+
}
|
64435
|
+
}
|
64436
|
+
}, _callee3, null, [[5, 31, 34, 37]]);
|
64437
|
+
}));
|
64438
|
+
return _getTokenPricesInDollarsOnCoingecko.apply(this, arguments);
|
64439
|
+
}
|
64440
|
+
|
64113
64441
|
function op(a, operator, b) {
|
64114
64442
|
var operations = {
|
64115
64443
|
'+': 'add',
|
@@ -64656,6 +64984,7 @@ exports.getSolidityUtilities = SolidityUtilities;
|
|
64656
64984
|
exports.getSupportedSolidityVersion = getSupportedSolidityVersion;
|
64657
64985
|
exports.getTokenPriceInDollarsOnUniswap = getTokenPriceInDollarsOnUniswap;
|
64658
64986
|
exports.getTokenPriceInDollarsOnUniswapV3 = getTokenPriceInDollarsOnUniswapV3;
|
64987
|
+
exports.getTokenPricesInDollarsOnCoingecko = getTokenPricesInDollarsOnCoingecko;
|
64659
64988
|
exports.hasEthereumAddress = hasEthereumAddress;
|
64660
64989
|
exports.isEthereumAddress = isEthereumAddress;
|
64661
64990
|
exports.isSorted = isSorted;
|