| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | import { BigNumber } from 'bignumber.js';import validator from 'validator';import { ADDRESS_PREFIX } from './address.js';export function isValidURL(url) {    if (typeof url !== 'string')        return false;    return validator.isURL(url.toString(), {        protocols: ['http', 'https'],        require_tld: false,    });}export function isObject(obj) {    return obj === Object(obj) && Object.prototype.toString.call(obj) !== '[object Array]';}export function isArray(array) {    return Array.isArray(array);}export function isJson(string) {    try {        return !!JSON.parse(string);    }    catch (ex) {        return false;    }}export function isBoolean(bool) {    return typeof bool === 'boolean';}export function isBigNumber(number) {    return !!number && (number instanceof BigNumber || (number.constructor && number.constructor.name === 'BigNumber'));}export function isString(string) {    return typeof string === 'string' || (!!string && string.constructor && string.constructor.name === 'String');}export function isFunction(obj) {    return typeof obj === 'function';}export function isHex(string) {    return typeof string === 'string' && !isNaN(parseInt(string, 16)) && /^(0x|)[a-fA-F0-9]+$/.test(string);}export function isInteger(number) {    if (number === null)        return false;    return Number.isInteger(Number(number));}export function hasProperty(obj, property) {    return Object.prototype.hasOwnProperty.call(obj, property);}export function hasProperties(obj, ...properties) {    return (properties.length &&        !properties            .map((property) => {            return hasProperty(obj, property);        })            .includes(false));}export function mapEvent(event) {    const data = {        block: event.block_number,        timestamp: event.block_timestamp,        contract: event.contract_address,        name: event.event_name,        transaction: event.transaction_id,        result: event.result,        resourceNode: event.resource_Node || (event._unconfirmed ? 'fullNode' : 'solidityNode'),    };    if (event._unconfirmed) {        data.unconfirmed = event._unconfirmed;    }    if (event._fingerprint) {        data.fingerprint = event._fingerprint;    }    return data;}export function parseEvent(event, { inputs: abi }) {    if (!event.result)        return event;    if (isObject(event.result)) {        for (let i = 0; i < abi.length; i++) {            const obj = abi[i];            if (obj.type == 'address' && obj.name in event.result)                event.result[obj.name] = ADDRESS_PREFIX + event.result[obj.name].substr(2).toLowerCase();        }    }    else if (isArray(event.result)) {        event.result = event.result.reduce((obj, result, index) => {            const { name, type } = abi[index];            if (type == 'address')                result = ADDRESS_PREFIX + result.substr(2).toLowerCase();            obj[name] = result;            return obj;        }, {});    }    return event;}export function padLeft(input, padding, amount) {    let res = input.toString();    while (res.length < amount)        res = padding + res;    return res;}export function isNotNullOrUndefined(val) {    return val !== null && typeof val !== 'undefined';}export async function sleep(millis = 1000) {    return new Promise((resolve) => setTimeout(resolve, millis));}//# sourceMappingURL=validations.js.map
 |