@dydxfoundation/governance
Version:
dYdX governance smart contracts
58 lines (57 loc) • 4.84 kB
JavaScript
;
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;