UNPKG

eamutils

Version:

Some reusable functions in some projects

28 lines (27 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getContractFromAddress = exports.getRouterFromProvider = exports.getFactoryFromProvider = void 0; const ABIS = require("./abis"); const { IProvider } = require('./provider'); const { ethers } = require('ethers'); const getFactoryFromProvider = (provider) => { if (!provider.factory_abi) throw new Error(`The provider ${provider.chainId} does not have a factory abi`); const rpc = new ethers.providers.JsonRpcProvider(provider.rpcs[0]); const contract = new ethers.Contract(provider.factory, ABIS.getCommonFactoryABI(), rpc); return contract; }; exports.getFactoryFromProvider = getFactoryFromProvider; const getRouterFromProvider = (provider) => { if (!provider.router_abi) throw new Error(`The provider ${provider.chainId} does not have a router abi`); const rpc = new ethers.providers.JsonRpcProvider(provider.rpcs[0]); const contract = new ethers.Contract(provider.router, ABIS.getCommonRouterABI(), rpc); return contract; }; exports.getRouterFromProvider = getRouterFromProvider; const getContractFromAddress = (provider, address, abi) => { const rpc = new ethers.providers.JsonRpcProvider(provider.rpcs[0]); return new ethers.Contract(address, abi, rpc); }; exports.getContractFromAddress = getContractFromAddress;