diff --git a/CHANGELOG.md b/CHANGELOG.md index 68e35e97f..f91b51e82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,6 +60,11 @@ All components: make Main the only component that can call `upgradeTo()` Add `savedPegPrice` to `ICollateral` interface +- cbETH: Fix deploy script to use right defaultThreshold +- rETH: Fix deploy script to use right defaultThreshold +- wstETH: Fix deploy script to use right defaultThreshold +- sfrxETH: Fix deploy script to use right defaultThreshold + ### Trading - `GnosisTrade` diff --git a/scripts/deployment/phase2-assets/collaterals/deploy_cbeth_collateral.ts b/scripts/deployment/phase2-assets/collaterals/deploy_cbeth_collateral.ts index f45ddda0a..65a06dd1a 100644 --- a/scripts/deployment/phase2-assets/collaterals/deploy_cbeth_collateral.ts +++ b/scripts/deployment/phase2-assets/collaterals/deploy_cbeth_collateral.ts @@ -54,13 +54,13 @@ async function main() { )) as CBEthCollateral__factory const CBETH_ORACLE_ERROR = fp('0.01') // 1% - const oracleError = combinedError(fp('0.005'), CBETH_ORACLE_ERROR) // 0.5% & 1% + const oracleError = combinedError(fp('0.005'), CBETH_ORACLE_ERROR) // 0.5% + 1% collateral = await CBETHCollateralFactory.connect(deployer).deploy( { priceTimeout: priceTimeout.toString(), chainlinkFeed: networkConfig[chainId].chainlinkFeeds.ETH!, - oracleError: oracleError.toString(), // 0.5% & 2%, + oracleError: oracleError.toString(), // 0.5% + 2%, erc20: networkConfig[chainId].tokens.cbETH!, maxTradeVolume: fp('1e6').toString(), // $1m, oracleTimeout: '3600', // 1 hr, @@ -82,13 +82,13 @@ async function main() { )) as CBEthCollateralL2__factory const CBETH_ORACLE_ERROR = fp('0.005') // 0.5% - const oracleError = combinedError(fp('0.0015'), CBETH_ORACLE_ERROR) // 0.15% & 0.5% + const oracleError = combinedError(fp('0.0015'), CBETH_ORACLE_ERROR) // 0.15% + 0.5% collateral = await CBETHCollateralFactory.connect(deployer).deploy( { priceTimeout: priceTimeout.toString(), chainlinkFeed: networkConfig[chainId].chainlinkFeeds.ETH!, - oracleError: oracleError.toString(), // 0.15% & 0.5%, + oracleError: oracleError.toString(), // 0.15% + 0.5%, erc20: networkConfig[chainId].tokens.cbETH!, maxTradeVolume: fp('1e6').toString(), // $1m, oracleTimeout: '1200', // 20 min diff --git a/scripts/deployment/phase2-assets/collaterals/deploy_ethx_collateral.ts b/scripts/deployment/phase2-assets/collaterals/deploy_ethx_collateral.ts index 526d00e67..3648b7d7a 100644 --- a/scripts/deployment/phase2-assets/collaterals/deploy_ethx_collateral.ts +++ b/scripts/deployment/phase2-assets/collaterals/deploy_ethx_collateral.ts @@ -52,13 +52,13 @@ async function main() { 'ETHxCollateral' ) - const oracleError = combinedError(ETH_ORACLE_ERROR, ETHX_ORACLE_ERROR) // 0.5% & 0.5% + const oracleError = combinedError(ETH_ORACLE_ERROR, ETHX_ORACLE_ERROR) // 0.5% + 0.5% const collateral = await ETHxCollateralFactory.connect(deployer).deploy( { priceTimeout: priceTimeout.toString(), chainlinkFeed: networkConfig[chainId].chainlinkFeeds.ETH, - oracleError: oracleError.toString(), // 0.5% & 0.5% + oracleError: oracleError.toString(), // 0.5% + 0.5% erc20: networkConfig[chainId].tokens.ETHx, maxTradeVolume: fp('1e6').toString(), // $1m, oracleTimeout: ETH_ORACLE_TIMEOUT.toString(), // 1 hr, diff --git a/scripts/deployment/phase2-assets/collaterals/deploy_lido_wsteth_collateral.ts b/scripts/deployment/phase2-assets/collaterals/deploy_lido_wsteth_collateral.ts index fb153f60a..2a5aa04de 100644 --- a/scripts/deployment/phase2-assets/collaterals/deploy_lido_wsteth_collateral.ts +++ b/scripts/deployment/phase2-assets/collaterals/deploy_lido_wsteth_collateral.ts @@ -109,7 +109,7 @@ async function main() { { priceTimeout: priceTimeout.toString(), chainlinkFeed: BASE_PRICE_FEEDS.stETH_ETH, // ignored - oracleError: BASE_ORACLE_ERROR.toString(), // 0.5% & 0.5% & 0.15% + oracleError: BASE_ORACLE_ERROR.toString(), // 0.5% + 0.5% + 0.15% erc20: networkConfig[chainId].tokens.wstETH, maxTradeVolume: fp('5e5').toString(), // $500k oracleTimeout: BASE_FEEDS_TIMEOUT.stETH_ETH, // 86400, ignored diff --git a/scripts/deployment/phase2-assets/collaterals/deploy_rocket_pool_reth_collateral.ts b/scripts/deployment/phase2-assets/collaterals/deploy_rocket_pool_reth_collateral.ts index 0a63c2f73..f51555ad7 100644 --- a/scripts/deployment/phase2-assets/collaterals/deploy_rocket_pool_reth_collateral.ts +++ b/scripts/deployment/phase2-assets/collaterals/deploy_rocket_pool_reth_collateral.ts @@ -62,13 +62,13 @@ async function main() { ) const RETH_ORACLE_ERROR = fp('0.02') - const oracleError = combinedError(fp('0.005'), RETH_ORACLE_ERROR) // 0.5% & 2% + const oracleError = combinedError(fp('0.005'), RETH_ORACLE_ERROR) // 0.5% + 2% const collateral = await RethCollateralFactory.connect(deployer).deploy( { priceTimeout: priceTimeout.toString(), chainlinkFeed: networkConfig[chainId].chainlinkFeeds.ETH, - oracleError: oracleError.toString(), // 0.5% & 2% + oracleError: oracleError.toString(), // 0.5% + 2% erc20: networkConfig[chainId].tokens.rETH, maxTradeVolume: fp('1e6').toString(), // $1m, oracleTimeout: '3600', // 1 hr, diff --git a/scripts/deployment/phase2-assets/collaterals/deploy_sfrax_eth.ts b/scripts/deployment/phase2-assets/collaterals/deploy_sfrax_eth.ts index 08fd4b230..02f0fdd56 100644 --- a/scripts/deployment/phase2-assets/collaterals/deploy_sfrax_eth.ts +++ b/scripts/deployment/phase2-assets/collaterals/deploy_sfrax_eth.ts @@ -47,7 +47,7 @@ async function main() { ) const SFRAXETH_ORACLE_ERROR = fp('0.0002') - const oracleError = combinedError(fp('0.005'), SFRAXETH_ORACLE_ERROR) // 0.5% & 0.02% + const oracleError = combinedError(fp('0.005'), SFRAXETH_ORACLE_ERROR) // 0.5% + 0.02% const collateral = await SFraxEthCollateralFactory.connect(deployer).deploy( { diff --git a/scripts/deployment/utils.ts b/scripts/deployment/utils.ts index 5abd9ecb5..07f238d13 100644 --- a/scripts/deployment/utils.ts +++ b/scripts/deployment/utils.ts @@ -14,7 +14,7 @@ export const priceTimeout = bn('604800') // 1 week export const revenueHiding = fp('1e-6') // 1 part in a million export const combinedError = (x: BigNumber, y: BigNumber): BigNumber => { - return fp('1').add(x).mul(fp('1').add(y)).div(fp('1')).sub(fp('1')) + return x.add(y) } export const validatePrerequisites = async (deployments: IDeployments) => { diff --git a/scripts/verification/collateral-plugins/verify_cbeth.ts b/scripts/verification/collateral-plugins/verify_cbeth.ts index 261e1d1ff..7eb4630f6 100644 --- a/scripts/verification/collateral-plugins/verify_cbeth.ts +++ b/scripts/verification/collateral-plugins/verify_cbeth.ts @@ -28,7 +28,7 @@ async function main() { /******** Verify Coinbase staked ETH - CBETH **************************/ if (!baseL2Chains.includes(hre.network.name)) { const CBETH_ORACLE_ERROR = fp('0.01') - const oracleError = combinedError(fp('0.005'), CBETH_ORACLE_ERROR) // 0.5% & 1% + const oracleError = combinedError(fp('0.005'), CBETH_ORACLE_ERROR) // 0.5% + 1% await verifyContract( chainId, @@ -37,7 +37,7 @@ async function main() { { priceTimeout: priceTimeout.toString(), chainlinkFeed: networkConfig[chainId].chainlinkFeeds.ETH, - oracleError: oracleError.toString(), // 0.5% & 2% + oracleError: oracleError.toString(), // 0.5% + 2% erc20: networkConfig[chainId].tokens.cbETH!, maxTradeVolume: fp('1e6').toString(), // $1m, oracleTimeout: '3600', // 1 hr @@ -53,7 +53,7 @@ async function main() { ) } else if (chainId == '8453' || chainId == '84531') { const CBETH_ORACLE_ERROR = fp('0.005') - const oracleError = combinedError(fp('0.0015'), CBETH_ORACLE_ERROR) // 0.15% & 0.5% + const oracleError = combinedError(fp('0.0015'), CBETH_ORACLE_ERROR) // 0.15% + 0.5% await verifyContract( chainId, deployments.collateral.cbETH, @@ -61,7 +61,7 @@ async function main() { { priceTimeout: priceTimeout.toString(), chainlinkFeed: networkConfig[chainId].chainlinkFeeds.ETH, - oracleError: oracleError.toString(), // 0.15% & 0.5%, + oracleError: oracleError.toString(), // 0.15% + 0.5%, erc20: networkConfig[chainId].tokens.cbETH!, maxTradeVolume: fp('1e6').toString(), // $1m, oracleTimeout: '1200', // 20 min diff --git a/scripts/verification/collateral-plugins/verify_ethx.ts b/scripts/verification/collateral-plugins/verify_ethx.ts index 96320dc4d..5fdd7d936 100644 --- a/scripts/verification/collateral-plugins/verify_ethx.ts +++ b/scripts/verification/collateral-plugins/verify_ethx.ts @@ -33,7 +33,7 @@ async function main() { deployments = getDeploymentFile(assetCollDeploymentFilename) /******** Verify Stader ETH - ETHx **************************/ - const oracleError = combinedError(ETH_ORACLE_ERROR, ETHX_ORACLE_ERROR) // 0.5% & 0.5% + const oracleError = combinedError(ETH_ORACLE_ERROR, ETHX_ORACLE_ERROR) // 0.5% + 0.5% await verifyContract( chainId, deployments.collateral.ETHx, @@ -41,7 +41,7 @@ async function main() { { priceTimeout: priceTimeout.toString(), chainlinkFeed: networkConfig[chainId].chainlinkFeeds.ETH, - oracleError: oracleError.toString(), // 0.5% & 0.5% + oracleError: oracleError.toString(), // 0.5% + 0.5% erc20: networkConfig[chainId].tokens.ETHx, maxTradeVolume: fp('1e6').toString(), // $1m, oracleTimeout: ETH_ORACLE_TIMEOUT.toString(), // 1 hr, diff --git a/scripts/verification/collateral-plugins/verify_reth.ts b/scripts/verification/collateral-plugins/verify_reth.ts index eab1a87c1..fb756725a 100644 --- a/scripts/verification/collateral-plugins/verify_reth.ts +++ b/scripts/verification/collateral-plugins/verify_reth.ts @@ -27,7 +27,7 @@ async function main() { /******** Verify Rocket-Pool ETH - rETH **************************/ const RETH_ORACLE_ERROR = fp('0.02') - const oracleError = combinedError(fp('0.005'), RETH_ORACLE_ERROR) // 0.5% & 2% + const oracleError = combinedError(fp('0.005'), RETH_ORACLE_ERROR) // 0.5% + 2% await verifyContract( chainId, deployments.collateral.rETH, @@ -35,7 +35,7 @@ async function main() { { priceTimeout: priceTimeout.toString(), chainlinkFeed: networkConfig[chainId].chainlinkFeeds.ETH, - oracleError: oracleError.toString(), // 0.5% & 2%, + oracleError: oracleError.toString(), // 0.5% + 2%, erc20: networkConfig[chainId].tokens.rETH, maxTradeVolume: fp('1e6').toString(), // $1m, oracleTimeout: '3600', // 1 hr, diff --git a/scripts/verification/collateral-plugins/verify_sfrax_eth.ts b/scripts/verification/collateral-plugins/verify_sfrax_eth.ts index bd8ea69b7..00b0d5ee9 100644 --- a/scripts/verification/collateral-plugins/verify_sfrax_eth.ts +++ b/scripts/verification/collateral-plugins/verify_sfrax_eth.ts @@ -27,7 +27,7 @@ async function main() { /******** Verify sFRAX **************************/ const SFRAXETH_ORACLE_ERROR = fp('0.0002') - const oracleError = combinedError(fp('0.005'), SFRAXETH_ORACLE_ERROR) // 0.5% & 0.02% + const oracleError = combinedError(fp('0.005'), SFRAXETH_ORACLE_ERROR) // 0.5% + 0.02% await verifyContract( chainId, diff --git a/scripts/verification/collateral-plugins/verify_wsteth.ts b/scripts/verification/collateral-plugins/verify_wsteth.ts index 3b2a01620..6291d4d5f 100644 --- a/scripts/verification/collateral-plugins/verify_wsteth.ts +++ b/scripts/verification/collateral-plugins/verify_wsteth.ts @@ -63,7 +63,7 @@ async function main() { { priceTimeout: priceTimeout.toString(), chainlinkFeed: BASE_PRICE_FEEDS.stETH_ETH, // ignored - oracleError: BASE_ORACLE_ERROR.toString(), // 0.5% & 0.5% & 0.15% + oracleError: BASE_ORACLE_ERROR.toString(), // 0.5% + 0.5% + 0.15% erc20: networkConfig[chainId].tokens.wstETH, maxTradeVolume: fp('5e5').toString(), // $500k oracleTimeout: BASE_FEEDS_TIMEOUT.stETH_ETH, // 86400, ignored diff --git a/test/integration/mainnet-test/IssuancePremium.test.ts b/test/integration/mainnet-test/IssuancePremium.test.ts index 7c014d242..47da79ca6 100644 --- a/test/integration/mainnet-test/IssuancePremium.test.ts +++ b/test/integration/mainnet-test/IssuancePremium.test.ts @@ -117,7 +117,7 @@ describeFork(`ETH+ Issuance Premium - Mainnet Forking P${IMPLEMENTATION}`, funct // SFraxEthCollateral const SFraxEthCollateralFactory = await hre.ethers.getContractFactory('SFraxEthCollateral') - let oracleError = combinedError(fp('0.005'), fp('0.0002')) // 0.5% & 0.02% + let oracleError = combinedError(fp('0.005'), fp('0.0002')) // 0.5% + 0.02% const newSfrxETH = await SFraxEthCollateralFactory.deploy( { priceTimeout: '604800', @@ -158,7 +158,7 @@ describeFork(`ETH+ Issuance Premium - Mainnet Forking P${IMPLEMENTATION}`, funct // RethCollateral const RethCollateralFactory = await hre.ethers.getContractFactory('RethCollateral') - oracleError = combinedError(fp('0.005'), fp('0.02')) // 0.5% & 2% + oracleError = combinedError(fp('0.005'), fp('0.02')) // 0.5% + 2% const newRETH = await RethCollateralFactory.deploy( { priceTimeout: '604800',