UNPKG

oken-waas

Version:
53 lines 2.01 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const axios_1 = __importDefault(require("axios")); const ethers_1 = require("ethers"); const networks_1 = require("../config/networks"); const errorHandler_1 = __importDefault(require("./errorHandler")); const lodash_1 = require("lodash"); const { fromAxios } = errorHandler_1.default; const api = axios_1.default.create({}); exports.default = (endpoint, signer, alchemyConfig) => { api.defaults.baseURL = endpoint; let provider = alchemyConfig && new ethers_1.AlchemyProvider(networks_1.alchemyNetworkMap[alchemyConfig.network], alchemyConfig.alchemyKey); return { alchemyEnabled: !!provider, post: async (route, payload = {}) => { try { const { data } = await api.post(route, signer.signMsg(payload), { headers: { authorization: `Bearer ${signer.signJWT()}` } }); return data; } catch (error) { fromAxios(error); } }, get: async (route, payload) => { try { const { data } = await api.get(route, { params: payload, headers: { authorization: `Bearer ${signer.signJWT()}` } }); return data; } catch (error) { fromAxios(error); } }, call: async (address, abi, method, params) => { if (!provider) throw new Error('Missing alchemy key'); const instance = new ethers_1.Contract(address.trim(), abi, provider); return instance[method](...(0, lodash_1.values)(params)); } }; }; //# sourceMappingURL=api.js.map