UNPKG

@celo/contractkit

Version:

Celo's ContractKit to interact with Celo network

49 lines 1.6 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getWeb3ForKit = exports.ensureCurrentProvider = exports.setupAPIKey = exports.API_KEY_HEADER_KEY = void 0; const web3_1 = __importDefault(require("web3")); exports.API_KEY_HEADER_KEY = 'apiKey'; /** @internal */ function setupAPIKey(apiKey) { const options = {}; options.headers = []; options.headers.push({ name: exports.API_KEY_HEADER_KEY, value: apiKey, }); return options; } exports.setupAPIKey = setupAPIKey; /** @internal */ function ensureCurrentProvider(web3) { if (!web3.currentProvider) { throw new Error('Must have a valid Provider'); } } exports.ensureCurrentProvider = ensureCurrentProvider; /** @internal */ function getWeb3ForKit(url, options) { let web3; if (url.endsWith('.ipc')) { try { const net = require('net'); web3 = new web3_1.default(new web3_1.default.providers.IpcProvider(url, net)); } catch (e) { console.error('.ipc only works in environments with native net module'); } web3 = new web3_1.default(url); } else if (url.toLowerCase().startsWith('http')) { web3 = new web3_1.default(new web3_1.default.providers.HttpProvider(url, options)); } else { web3 = new web3_1.default(url); } return web3; } exports.getWeb3ForKit = getWeb3ForKit; //# sourceMappingURL=setupForKits.js.map