UNPKG

descent-js

Version:

A Typescript library for interacting with the Descent Protocol

51 lines (50 loc) 2.28 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var contracts_exports = {}; __export(contracts_exports, { default: () => ContractManager }); module.exports = __toCommonJS(contracts_exports); var import_getContractAddresses = require("./getContractAddresses"); class ContractManager { constructor(signerOrProvider) { this.generateContractGetter = (name) => { return async (passedProvider) => { var _a; const mod = await import(`../generated/factories/${name}__factory`); let chainId; let inputAddress; chainId = (await this.signerOrProvider.provider.getNetwork()).chainId.toString(10); inputAddress = ((0, import_getContractAddresses.getContractAddress)(name) || {})[chainId]; if (!inputAddress) { throw new Error(`No address for contract ${name}`); } return (_a = mod[`${name}__factory`]) == null ? void 0 : _a.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; } }