UNPKG

descent-js

Version:

A Typescript library for interacting with the Descent Protocol

31 lines (30 loc) 1.36 kB
// src/contracts/index.ts import { getContractAddress } from "./getContractAddresses.mjs"; var ContractManager = class { constructor(signerOrProvider) { this.generateContractGetter = (name) => { return async (passedProvider) => { const mod = await globImport_generated_factories___factory(`../generated/factories/${name}__factory`); let chainId; let inputAddress; chainId = (await this.signerOrProvider.provider.getNetwork()).chainId.toString(10); inputAddress = (getContractAddress(name) || {})[chainId]; if (!inputAddress) { throw new Error(`No address for contract ${name}`); } return mod[`${name}__factory`]?.connect(inputAddress, this.signerOrProvider); }; }; this.getVaultGetterContract = this.generateContractGetter("VaultGetters"); this.getVaultRouterContract = this.generateContractGetter("VaultRouter"); this.getVaultContract = this.generateContractGetter("Vault"); this.getMultistaticcallContract = this.generateContractGetter("MultiStaticcall"); this.getCurrencyContract = this.generateContractGetter("Currency"); this.getUSDCContract = this.generateContractGetter("USDC"); this.getFeedContract = this.generateContractGetter("Feed"); this.signerOrProvider = signerOrProvider; } }; export { ContractManager as default };