From 3a452e9aefb5b3ecc867d2bcde1b0694a018cbeb Mon Sep 17 00:00:00 2001 From: David Racero Date: Fri, 18 Jun 2021 09:37:15 +0200 Subject: [PATCH] feat: curve treasury script add AaveCollector from config --- tasks/deployments/deploy-CurveTreasury.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tasks/deployments/deploy-CurveTreasury.ts b/tasks/deployments/deploy-CurveTreasury.ts index a2fa878f..3872363a 100644 --- a/tasks/deployments/deploy-CurveTreasury.ts +++ b/tasks/deployments/deploy-CurveTreasury.ts @@ -1,4 +1,5 @@ import { task } from 'hardhat/config'; +import { loadPoolConfig } from '../../helpers/configuration'; import { CRV_TOKEN, CURVE_CONFIG, ZERO_ADDRESS } from '../../helpers/constants'; import { deployCurveTreasury, @@ -9,23 +10,31 @@ import { waitForTx } from '../../helpers/misc-utils'; task(`deploy-curve-treasury`, `Deploys the CurveTreasury contract`) .addParam('proxyAdmin') .addParam('treasuryAdmin') + .addParam('pool') .addFlag('verify', `Verify contract via Etherscan API.`) - .setAction(async ({ verify, proxyAdmin, treasuryAdmin }, localBRE) => { + .setAction(async ({ verify, proxyAdmin, treasuryAdmin, pool }, localBRE) => { await localBRE.run('set-DRE'); + const poolConfig = loadPoolConfig(pool); const net = localBRE.network.name; console.log(`\n- Curve Treasury deployment`); + // Deploy implementation const implementation = await deployCurveTreasury( CURVE_CONFIG.votingEscrow[net], CRV_TOKEN[net], CURVE_CONFIG.curveFeeDistributor[net], CURVE_CONFIG.gaugeController[net], - ZERO_ADDRESS, + poolConfig.ReserveFactorTreasuryAddress[net], verify ); + // Freeze implementatation + await waitForTx(await implementation.initialize(ZERO_ADDRESS, [], [], [])); + + // Deploy proxy const proxy = await deployInitializableAdminUpgradeabilityProxy(verify); + const encoded = implementation.interface.encodeFunctionData('initialize', [ treasuryAdmin, [],