PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/sdk-coin-soneium/dist/src/lib

Просмотр файла: utils.js

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCommon = getCommon;
exports.recoveryBlockchainExplorerQuery = recoveryBlockchainExplorerQuery;
const statics_1 = require("@bitgo/statics");
const sdk_core_1 = require("@bitgo/sdk-core");
const resources_1 = require("./resources");
const abstract_eth_1 = require("@bitgo/abstract-eth");
const superagent_1 = __importDefault(require("superagent"));
const ethereumjs_util_1 = require("ethereumjs-util");
const RESPONSE_STATUS_ERROR = '0';
const RESPONSE_MESSAGE_NOTOK = 'NOTOK';
const commons = new Map([
    [statics_1.NetworkType.MAINNET, resources_1.mainnetCommon],
    [statics_1.NetworkType.TESTNET, resources_1.testnetCommon],
]);
/**
 * @param {NetworkType} network either mainnet or testnet
 * @returns {EthereumCommon} Ethereum common configuration object
 */
function getCommon(network) {
    const common = commons.get(network);
    if (!common) {
        throw new sdk_core_1.InvalidTransactionError('Missing network common configuration');
    }
    return common;
}
/**
 * Handle standard blockchain explorer query
 * @param query Query parameters
 * @param bitgoEnv BitGo environment
 * @returns Response from soneium.network
 */
async function handleStandardExplorerQuery(query, bitgoEnv) {
    const apiToken = sdk_core_1.common.Environments[bitgoEnv].soneiumExplorerApiToken;
    const explorerUrl = sdk_core_1.common.Environments[bitgoEnv].soneiumExplorerBaseUrl;
    return await (0, abstract_eth_1.recoveryBlockchainExplorerQuery)(query, explorerUrl, apiToken);
}
/**
 * Handle proxy blockchain explorer query
 * @param query Query parameters
 * @param bitgoEnv BitGo environment
 * @returns Response from soneium.network
 */
async function handleProxyExplorerQuery(query, bitgoEnv) {
    const body = {
        jsonrpc: '2.0',
        method: query.action,
        params: [
            {
                to: query.to,
                data: (0, ethereumjs_util_1.addHexPrefix)(query.data),
            },
            query.tag || 'latest',
        ],
        id: 1,
    };
    const response = await superagent_1.default.post(sdk_core_1.common.Environments[bitgoEnv].soneiumExplorerBaseUrl + '/api/eth-rpc').send(body);
    if (!response.ok) {
        throw new Error('Could not reach soneium.network');
    }
    if (response.body.status === RESPONSE_STATUS_ERROR && response.body.message === RESPONSE_MESSAGE_NOTOK) {
        throw new Error('Soneium.network rate limit reached');
    }
    return response.body;
}
/**
 * Make a query to soneium.network for information such as balance, token balance, solidity calls
 * @param query Query parameters
 * @param bitgoEnv BitGo environment
 * @returns Response from soneium.network
 */
async function recoveryBlockchainExplorerQuery(query, bitgoEnv) {
    try {
        if (query.module === 'proxy') {
            return await handleProxyExplorerQuery(query, bitgoEnv);
        }
        return await handleStandardExplorerQuery(query, bitgoEnv);
    }
    catch (error) {
        throw new Error(`Could not query soneium explorer, error: ${error?.message || 'Unknown error'}`);
    }
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBb0JBLDhCQU1DO0FBcURELDBFQVNDO0FBeEZELDRDQUE2QztBQUU3Qyw4Q0FBa0U7QUFDbEUsMkNBQTJEO0FBQzNELHNEQUErRjtBQUMvRiw0REFBaUM7QUFDakMscURBQStDO0FBRS9DLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFDO0FBQ2xDLE1BQU0sc0JBQXNCLEdBQUcsT0FBTyxDQUFDO0FBRXZDLE1BQU0sT0FBTyxHQUFxQyxJQUFJLEdBQUcsQ0FBOEI7SUFDckYsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sRUFBRSx5QkFBYSxDQUFDO0lBQ3BDLENBQUMscUJBQVcsQ0FBQyxPQUFPLEVBQUUseUJBQWEsQ0FBQztDQUNyQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxTQUFnQixTQUFTLENBQUMsT0FBb0I7SUFDNUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixNQUFNLElBQUksa0NBQXVCLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsS0FBSyxVQUFVLDJCQUEyQixDQUFDLEtBQTZCLEVBQUUsUUFBZ0I7SUFDeEYsTUFBTSxRQUFRLEdBQUcsaUJBQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsdUJBQXVCLENBQUM7SUFDdkUsTUFBTSxXQUFXLEdBQUcsaUJBQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsc0JBQXNCLENBQUM7SUFDekUsT0FBTyxNQUFNLElBQUEsOENBQXFCLEVBQUMsS0FBSyxFQUFFLFdBQXFCLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsS0FBSyxVQUFVLHdCQUF3QixDQUFDLEtBQTZCLEVBQUUsUUFBZ0I7SUFDckYsTUFBTSxJQUFJLEdBQUc7UUFDWCxPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtRQUNwQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLElBQUEsOEJBQVksRUFBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQy9CO1lBQ0QsS0FBSyxDQUFDLEdBQUcsSUFBSSxRQUFRO1NBQ3RCO1FBQ0QsRUFBRSxFQUFFLENBQUM7S0FDTixDQUFDO0lBRUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBTyxDQUFDLElBQUksQ0FBQyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxzQkFBc0IsR0FBRyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUsscUJBQXFCLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssc0JBQXNCLEVBQUUsQ0FBQztRQUN2RyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztBQUN2QixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUsK0JBQStCLENBQUMsS0FBNkIsRUFBRSxRQUFnQjtJQUNuRyxJQUFJLENBQUM7UUFDSCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDN0IsT0FBTyxNQUFNLHdCQUF3QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLDJCQUEyQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLEtBQUssRUFBRSxPQUFPLElBQUksZUFBZSxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IEV0aGVyZXVtQ29tbW9uIGZyb20gJ0BldGhlcmV1bWpzL2NvbW1vbic7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgY29tbW9uIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IG1haW5uZXRDb21tb24sIHRlc3RuZXRDb21tb24gfSBmcm9tICcuL3Jlc291cmNlcyc7XG5pbXBvcnQgeyByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5IGFzIGFic3RyYWN0UmVjb3ZlcnlRdWVyeSB9IGZyb20gJ0BiaXRnby9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHJlcXVlc3QgZnJvbSAnc3VwZXJhZ2VudCc7XG5pbXBvcnQgeyBhZGRIZXhQcmVmaXggfSBmcm9tICdldGhlcmV1bWpzLXV0aWwnO1xuXG5jb25zdCBSRVNQT05TRV9TVEFUVVNfRVJST1IgPSAnMCc7XG5jb25zdCBSRVNQT05TRV9NRVNTQUdFX05PVE9LID0gJ05PVE9LJztcblxuY29uc3QgY29tbW9uczogTWFwPE5ldHdvcmtUeXBlLCBFdGhlcmV1bUNvbW1vbj4gPSBuZXcgTWFwPE5ldHdvcmtUeXBlLCBFdGhlcmV1bUNvbW1vbj4oW1xuICBbTmV0d29ya1R5cGUuTUFJTk5FVCwgbWFpbm5ldENvbW1vbl0sXG4gIFtOZXR3b3JrVHlwZS5URVNUTkVULCB0ZXN0bmV0Q29tbW9uXSxcbl0pO1xuXG4vKipcbiAqIEBwYXJhbSB7TmV0d29ya1R5cGV9IG5ldHdvcmsgZWl0aGVyIG1haW5uZXQgb3IgdGVzdG5ldFxuICogQHJldHVybnMge0V0aGVyZXVtQ29tbW9ufSBFdGhlcmV1bSBjb21tb24gY29uZmlndXJhdGlvbiBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbW1vbihuZXR3b3JrOiBOZXR3b3JrVHlwZSk6IEV0aGVyZXVtQ29tbW9uIHtcbiAgY29uc3QgY29tbW9uID0gY29tbW9ucy5nZXQobmV0d29yayk7XG4gIGlmICghY29tbW9uKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIG5ldHdvcmsgY29tbW9uIGNvbmZpZ3VyYXRpb24nKTtcbiAgfVxuICByZXR1cm4gY29tbW9uO1xufVxuXG4vKipcbiAqIEhhbmRsZSBzdGFuZGFyZCBibG9ja2NoYWluIGV4cGxvcmVyIHF1ZXJ5XG4gKiBAcGFyYW0gcXVlcnkgUXVlcnkgcGFyYW1ldGVyc1xuICogQHBhcmFtIGJpdGdvRW52IEJpdEdvIGVudmlyb25tZW50XG4gKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHNvbmVpdW0ubmV0d29ya1xuICovXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVTdGFuZGFyZEV4cGxvcmVyUXVlcnkocXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIGJpdGdvRW52OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICBjb25zdCBhcGlUb2tlbiA9IGNvbW1vbi5FbnZpcm9ubWVudHNbYml0Z29FbnZdLnNvbmVpdW1FeHBsb3JlckFwaVRva2VuO1xuICBjb25zdCBleHBsb3JlclVybCA9IGNvbW1vbi5FbnZpcm9ubWVudHNbYml0Z29FbnZdLnNvbmVpdW1FeHBsb3JlckJhc2VVcmw7XG4gIHJldHVybiBhd2FpdCBhYnN0cmFjdFJlY292ZXJ5UXVlcnkocXVlcnksIGV4cGxvcmVyVXJsIGFzIHN0cmluZywgYXBpVG9rZW4pO1xufVxuXG4vKipcbiAqIEhhbmRsZSBwcm94eSBibG9ja2NoYWluIGV4cGxvcmVyIHF1ZXJ5XG4gKiBAcGFyYW0gcXVlcnkgUXVlcnkgcGFyYW1ldGVyc1xuICogQHBhcmFtIGJpdGdvRW52IEJpdEdvIGVudmlyb25tZW50XG4gKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHNvbmVpdW0ubmV0d29ya1xuICovXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVQcm94eUV4cGxvcmVyUXVlcnkocXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIGJpdGdvRW52OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICBjb25zdCBib2R5ID0ge1xuICAgIGpzb25ycGM6ICcyLjAnLFxuICAgIG1ldGhvZDogcXVlcnkuYWN0aW9uLFxuICAgIHBhcmFtczogW1xuICAgICAge1xuICAgICAgICB0bzogcXVlcnkudG8sXG4gICAgICAgIGRhdGE6IGFkZEhleFByZWZpeChxdWVyeS5kYXRhKSxcbiAgICAgIH0sXG4gICAgICBxdWVyeS50YWcgfHwgJ2xhdGVzdCcsXG4gICAgXSxcbiAgICBpZDogMSxcbiAgfTtcblxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3QucG9zdChjb21tb24uRW52aXJvbm1lbnRzW2JpdGdvRW52XS5zb25laXVtRXhwbG9yZXJCYXNlVXJsICsgJy9hcGkvZXRoLXJwYycpLnNlbmQoYm9keSk7XG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHJlYWNoIHNvbmVpdW0ubmV0d29yaycpO1xuICB9XG5cbiAgaWYgKHJlc3BvbnNlLmJvZHkuc3RhdHVzID09PSBSRVNQT05TRV9TVEFUVVNfRVJST1IgJiYgcmVzcG9uc2UuYm9keS5tZXNzYWdlID09PSBSRVNQT05TRV9NRVNTQUdFX05PVE9LKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTb25laXVtLm5ldHdvcmsgcmF0ZSBsaW1pdCByZWFjaGVkJyk7XG4gIH1cblxuICByZXR1cm4gcmVzcG9uc2UuYm9keTtcbn1cblxuLyoqXG4gKiBNYWtlIGEgcXVlcnkgdG8gc29uZWl1bS5uZXR3b3JrIGZvciBpbmZvcm1hdGlvbiBzdWNoIGFzIGJhbGFuY2UsIHRva2VuIGJhbGFuY2UsIHNvbGlkaXR5IGNhbGxzXG4gKiBAcGFyYW0gcXVlcnkgUXVlcnkgcGFyYW1ldGVyc1xuICogQHBhcmFtIGJpdGdvRW52IEJpdEdvIGVudmlyb25tZW50XG4gKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHNvbmVpdW0ubmV0d29ya1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeShxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwgYml0Z29FbnY6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gIHRyeSB7XG4gICAgaWYgKHF1ZXJ5Lm1vZHVsZSA9PT0gJ3Byb3h5Jykge1xuICAgICAgcmV0dXJuIGF3YWl0IGhhbmRsZVByb3h5RXhwbG9yZXJRdWVyeShxdWVyeSwgYml0Z29FbnYpO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgaGFuZGxlU3RhbmRhcmRFeHBsb3JlclF1ZXJ5KHF1ZXJ5LCBiaXRnb0Vudik7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgcXVlcnkgc29uZWl1bSBleHBsb3JlciwgZXJyb3I6ICR7ZXJyb3I/Lm1lc3NhZ2UgfHwgJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59XG4iXX0=

Выполнить команду


Для локальной разработки. Не используйте в интернете!