UNPKG

@dydxfoundation/governance

Version:
58 lines (57 loc) 4.84 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getMainnetDeployedContracts = void 0; const types_1 = require("../../../types"); const IERC20__factory_1 = require("../../../types/factories/IERC20__factory"); const LiquidityStakingV1__factory_1 = require("../../../types/factories/LiquidityStakingV1__factory"); const MerkleDistributorV1__factory_1 = require("../../../types/factories/MerkleDistributorV1__factory"); const StarkProxyV1__factory_1 = require("../../../types/factories/StarkProxyV1__factory"); const StarkProxyV2__factory_1 = require("../../../types/factories/StarkProxyV2__factory"); const config_1 = __importDefault(require("../../config")); const get_deployer_address_1 = require("../../deploy-config/get-deployer-address"); const mainnet_json_1 = __importDefault(require("../../deployed-addresses/mainnet.json")); const hre_1 = require("../../hre"); async function getMainnetDeployedContracts() { const deployer = await (0, get_deployer_address_1.getDeployerSigner)(); let deployedAddresses; if (config_1.default.isMainnet() || (config_1.default.isHardhat() && config_1.default.FORK_MAINNET)) { deployedAddresses = mainnet_json_1.default; } else { throw new Error(`Deployed addresses not found for network ${(0, hre_1.getNetworkName)()}`); } return { dydxToken: new types_1.DydxToken__factory(deployer).attach(deployedAddresses.dydxToken), governor: new types_1.DydxGovernor__factory(deployer).attach(deployedAddresses.governor), shortTimelock: new types_1.Executor__factory(deployer).attach(deployedAddresses.shortTimelock), longTimelock: new types_1.Executor__factory(deployer).attach(deployedAddresses.longTimelock), merklePauserTimelock: new types_1.Executor__factory(deployer).attach(deployedAddresses.merklePauserTimelock), rewardsTreasury: new types_1.Treasury__factory(deployer).attach(deployedAddresses.rewardsTreasury), rewardsTreasuryProxyAdmin: new types_1.ProxyAdmin__factory(deployer).attach(deployedAddresses.rewardsTreasuryProxyAdmin), safetyModule: new types_1.SafetyModuleV1__factory(deployer).attach(deployedAddresses.safetyModule), safetyModuleProxyAdmin: new types_1.ProxyAdmin__factory(deployer).attach(deployedAddresses.safetyModuleProxyAdmin), strategy: new types_1.GovernanceStrategy__factory(deployer).attach(deployedAddresses.strategy), communityTreasury: new types_1.Treasury__factory(deployer).attach(deployedAddresses.communityTreasury), communityTreasuryProxyAdmin: new types_1.ProxyAdmin__factory(deployer).attach(deployedAddresses.communityTreasuryProxyAdmin), rewardsTreasuryVester: new types_1.TreasuryVester__factory(deployer).attach(deployedAddresses.rewardsTreasuryVester), communityTreasuryVester: new types_1.TreasuryVester__factory(deployer).attach(deployedAddresses.communityTreasuryVester), claimsProxy: new types_1.ClaimsProxy__factory(deployer).attach(deployedAddresses.claimsProxy), safetyModuleNewImpl: new types_1.SafetyModuleV2__factory(deployer).attach(deployedAddresses.safetyModuleNewImpl), safetyModuleRecovery: new types_1.SM2Recovery__factory(deployer).attach(deployedAddresses.safetyModuleRecovery), safetyModuleRecoveryProxyAdmin: new types_1.ProxyAdmin__factory(deployer).attach(deployedAddresses.safetyModuleRecoveryProxyAdmin), liquidityStaking: new LiquidityStakingV1__factory_1.LiquidityStakingV1__factory(deployer).attach(deployedAddresses.liquidityStaking), liquidityStakingProxyAdmin: new types_1.ProxyAdmin__factory(deployer).attach(deployedAddresses.liquidityStakingProxyAdmin), merkleDistributor: new MerkleDistributorV1__factory_1.MerkleDistributorV1__factory(deployer).attach(deployedAddresses.merkleDistributor), merkleDistributorProxyAdmin: new types_1.ProxyAdmin__factory(deployer).attach(deployedAddresses.merkleDistributorProxyAdmin), starkProxies: deployedAddresses.starkProxies.map((s) => new StarkProxyV1__factory_1.StarkProxyV1__factory(deployer).attach(s)), starkProxyProxyAdmins: deployedAddresses.starkProxyProxyAdmins.map((s) => new types_1.ProxyAdmin__factory(deployer).attach(s)), dydxCollateralToken: IERC20__factory_1.IERC20__factory.connect(deployedAddresses.dydxCollateralToken, deployer), starkPerpetual: types_1.IStarkPerpetual__factory.connect(deployedAddresses.starkPerpetual, deployer), starkProxyNewImpl: new StarkProxyV2__factory_1.StarkProxyV2__factory(deployer).attach(deployedAddresses.starkProxyNewImpl), }; } exports.getMainnetDeployedContracts = getMainnetDeployedContracts;