eamutils
Version:
Some reusable functions in some projects
28 lines (27 loc) • 1.36 kB
JavaScript
;
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;