PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@celo/base/lib
Просмотр файла: address.js
"use strict";
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.mapAddressListDataOnto = exports.mapAddressListOnto = exports.findAddressIndex = exports.NULL_ADDRESS = exports.bufferToHex = exports.hexToBuffer = exports.isHexString = exports.getAddressChunks = exports.ensureLeading0x = exports.trimLeading0x = exports.normalizeAddressWith0x = exports.isNullAddress = exports.normalizeAddress = exports.eqAddress = void 0;
var HEX_REGEX = /^0x[0-9A-F]*$/i;
var eqAddress = function (a, b) { return (0, exports.normalizeAddress)(a) === (0, exports.normalizeAddress)(b); };
exports.eqAddress = eqAddress;
var normalizeAddress = function (a) { return (0, exports.trimLeading0x)(a).toLowerCase(); };
exports.normalizeAddress = normalizeAddress;
var isNullAddress = function (a) { return (0, exports.normalizeAddress)(a) === exports.NULL_ADDRESS; };
exports.isNullAddress = isNullAddress;
var normalizeAddressWith0x = function (a) { return (0, exports.ensureLeading0x)(a).toLowerCase(); };
exports.normalizeAddressWith0x = normalizeAddressWith0x;
var trimLeading0x = function (input) { return (input.startsWith('0x') ? input.slice(2) : input); };
exports.trimLeading0x = trimLeading0x;
var ensureLeading0x = function (input) { return (input.startsWith('0x') ? input : "0x".concat(input)); };
exports.ensureLeading0x = ensureLeading0x;
// Turns '0xce10ce10ce10ce10ce10ce10ce10ce10ce10ce10'
// into ['ce10','ce10','ce10','ce10','ce10','ce10','ce10','ce10','ce10','ce10']
var getAddressChunks = function (input) {
return (0, exports.trimLeading0x)(input).match(/.{1,4}/g) || [];
};
exports.getAddressChunks = getAddressChunks;
var isHexString = function (input) { return HEX_REGEX.test(input); };
exports.isHexString = isHexString;
var hexToBuffer = function (input) { return Buffer.from((0, exports.trimLeading0x)(input), 'hex'); };
exports.hexToBuffer = hexToBuffer;
var bufferToHex = function (buf) { return (0, exports.ensureLeading0x)(buf.toString('hex')); };
exports.bufferToHex = bufferToHex;
exports.NULL_ADDRESS = '0x0000000000000000000000000000000000000000';
var findAddressIndex = function (address, addresses) {
return addresses.findIndex(function (x) { return (0, exports.eqAddress)(x, address); });
};
exports.findAddressIndex = findAddressIndex;
// Returns an array of indices mapping the entries of oldAddress[] to newAddress[]
var mapAddressListOnto = function (oldAddress, newAddress) {
var oldAddressIndex = oldAddress.map(function (x, index) { return ({ address: (0, exports.normalizeAddress)(x), index: index }); });
var newAddressIndex = newAddress.map(function (x, index) { return ({ address: (0, exports.normalizeAddress)(x), index: index }); });
oldAddressIndex.sort(function (a, b) { return a.address.localeCompare(b.address); });
newAddressIndex.sort(function (a, b) { return a.address.localeCompare(b.address); });
var res = __spreadArray([], Array(oldAddress.length).fill(-1), true);
for (var i = 0, j = 0; i < oldAddress.length && j < newAddress.length;) {
var cmp = oldAddressIndex[i].address.localeCompare(newAddressIndex[j].address);
if (cmp < 0) {
i++;
}
else if (cmp > 0) {
j++;
}
else {
// Address is present in both lists
res[oldAddressIndex[i].index] = newAddressIndex[j].index;
i++;
j++;
}
}
return res;
};
exports.mapAddressListOnto = mapAddressListOnto;
// Returns data[] reordered by mapAddressListOnto(), and initiaValue for any entry of
// oldAddress[] not present in newAddress[].
function mapAddressListDataOnto(data, oldAddress, newAddress, initialValue) {
var res = __spreadArray([], Array(oldAddress.length).fill(initialValue), true);
if (data.length === 0) {
return res;
}
var addressIndexMap = (0, exports.mapAddressListOnto)(oldAddress, newAddress);
for (var i = 0; i < addressIndexMap.length; i++) {
if (addressIndexMap[i] >= 0) {
res[addressIndexMap[i]] = data[i];
}
}
return res;
}
exports.mapAddressListDataOnto = mapAddressListDataOnto;
//# sourceMappingURL=address.js.mapВыполнить команду
Для локальной разработки. Не используйте в интернете!