UNPKG

@cartesi/staking-pool

Version:
47 lines (46 loc) 1.52 kB
"use strict"; // Copyright 2022 Cartesi Pte. Ltd. Object.defineProperty(exports, "__esModule", { value: true }); const ens_1 = require("@ethereum-waffle/ens"); const MINUTE = 60; // seconds in a minute const HOUR = 60 * MINUTE; // seconds in an hour const func = async (hre) => { const { deployments, ethers } = hre; const { deploy } = deployments; const { CartesiToken, StakingImpl, WorkerManagerAuthManagerImpl } = await deployments.all(); const [deployer] = await ethers.getSigners(); const ethNetwork = await ethers.getDefaultProvider().getNetwork(); let ensAddress; if (hre.network.name != "hardhat") ensAddress = ethNetwork.ensAddress; else { const ensSvc = await (0, ens_1.deployENS)(deployer); await ensSvc.createTopLevelDomain("test"); ensAddress = ensSvc.ens.address; } let stakeLock; switch (hre.network.name) { case "mainnet": case "ropsten": stakeLock = 6 * HOUR; break; case "hardhat": default: stakeLock = 2 * MINUTE; } // deploy reference pool await deploy("StakingPoolImpl", { args: [ CartesiToken.address, StakingImpl.address, WorkerManagerAuthManagerImpl.address, ensAddress, stakeLock, ], from: deployer.address, log: true, }); }; func.tags = ["Pool"]; func.dependencies = ["Token", "Staking", "WorkerManagerAuthManager"]; exports.default = func;