UNPKG

@dydxfoundation/governance

Version:
35 lines (34 loc) 2 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.deployMocks = void 0; const MintableERC20__factory_1 = require("../../../types/factories/MintableERC20__factory"); const MockStarkPerpetual__factory_1 = require("../../../types/factories/MockStarkPerpetual__factory"); const config_1 = __importDefault(require("../../config")); const get_deployer_address_1 = require("../../deploy-config/get-deployer-address"); const constants_1 = require("../../lib/constants"); const logging_1 = require("../../lib/logging"); const util_1 = require("../../lib/util"); async function deployMocks() { (0, logging_1.log)('Beginning deployment of mock contracts.\n'); if (!config_1.default.isHardhat() || config_1.default.FORK_MAINNET) { throw new Error('Can only deploy mock contracts on Hardhat network.'); } const deployer = await (0, get_deployer_address_1.getDeployerSigner)(); const deployerAddress = deployer.address; (0, logging_1.log)(`Beginning deployment of mock contracts with deployer ${deployerAddress}.\n`); const mockDydxCollateralToken = await new MintableERC20__factory_1.MintableERC20__factory(deployer) .deploy('Mock DYDX Collateral Token', 'MOCK_USDC', constants_1.USDC_TOKEN_DECIMALS); const mockStarkPerpetual = await new MockStarkPerpetual__factory_1.MockStarkPerpetual__factory(deployer) .deploy(mockDydxCollateralToken.address); await (0, util_1.waitForTx)(await mockDydxCollateralToken.mint(deployerAddress, constants_1.MAX_UINT_AMOUNT)); (0, logging_1.log)(`Minting max DYDX collateral token to ${deployerAddress}.\n`); (0, logging_1.log)('\n=== MOCK CONTRACT DEPLOYMENT COMPLETE ===\n'); return { dydxCollateralToken: mockDydxCollateralToken, starkPerpetual: mockStarkPerpetual, }; } exports.deployMocks = deployMocks;