From 4f41f307f1d9757efc0c859cc310e45b69a02bbb Mon Sep 17 00:00:00 2001 From: Nick Addison Date: Fri, 21 Oct 2022 22:17:36 +1100 Subject: [PATCH] Fix initiation of CowSwap swaps (#61) chore: 2nd security audit fix: HH task liq-init-swap needs to set trader to CowSwapDex, not the Liquidator fix: CowSwapDex initiateSwap takes fee off sell amount chore: removed onlySign flag from CowSwap dex swap data chore: removed SwapInitiated event from CowSwapSeller chore: removes warning issues and updates liquidator tests (#62) Co-authored-by: doncesarts --- 3CrvConvexVaults.md | 10 +- MetaVaultAudit.md => FirstMetaVaultAudit.md | 2 +- README.md | 10 +- SecondMetaVaultAudit.md | 82 +++++++++ .../peripheral/Cowswap/CowSwapSeller.sol | 16 +- ...ve3CrvFactoryMetapoolCalculatorLibrary.sol | 1 + .../Curve3CrvMetapoolCalculatorLibrary.sol | 1 + .../Curve/Curve3PoolCalculatorLibrary.sol | 1 + contracts/peripheral/Curve/ICurve3Pool.sol | 1 + .../Curve/ICurveAddressProvider.sol | 1 + contracts/peripheral/Curve/ICurveFraxBP.sol | 2 + contracts/peripheral/Curve/ICurveMetapool.sol | 2 + .../Curve/ICurveRegistryContract.sol | 1 + contracts/vault/swap/CowSwapDex.sol | 33 ++-- docs/CowSwapDex.svg | 158 +++++++++--------- docs/convex3CrvContracts.png | Bin 0 -> 40846 bytes docs/convex3CrvDependencies.png | Bin 0 -> 86933 bytes docs/savePlusDeployment.png | Bin 86876 -> 0 bytes tasks/dex.ts | 3 +- tasks/liquidator.ts | 36 +++- tasks/utils/networkAddressFactory.ts | 2 +- tasks/utils/tokens.ts | 10 +- test-utils/peripheral/cowswap.ts | 5 +- test/vault/liquidator/Liquidator.spec.ts | 10 +- test/vault/swap/CowSwapDex.spec.ts | 61 ++----- 25 files changed, 262 insertions(+), 186 deletions(-) rename MetaVaultAudit.md => FirstMetaVaultAudit.md (98%) create mode 100644 SecondMetaVaultAudit.md create mode 100644 docs/convex3CrvContracts.png create mode 100644 docs/convex3CrvDependencies.png delete mode 100644 docs/savePlusDeployment.png diff --git a/3CrvConvexVaults.md b/3CrvConvexVaults.md index d890778..871a902 100644 --- a/3CrvConvexVaults.md +++ b/3CrvConvexVaults.md @@ -4,9 +4,15 @@ The first set of mStable meta vaults are for staking 3Pool-based (3Crv) [Curve]( # Contracts -![savePlusDeployment](./docs/savePlusDeployment.png) +Dependencies -## DAI/USDC/USDT 3Pooler Meta Vaults +![Convex 3Crv Dependencies](./docs/convex3CrvDependencies.png) + +Mainnet Deployment + +![Convex 3Crv contracts](./docs/convex3CrvContracts.png) + +## DAI/USDC/USDT 3Pool Meta Vaults Abstract ERC-4626 vaults with DAI, USDC or USDT asset invested in Curve's [3Pool](https://curve.fi/3pool), and then the 3Pool LP token (3Crv) is invested in an underlying 3Pool-based (3Crv) Meta Vault. diff --git a/MetaVaultAudit.md b/FirstMetaVaultAudit.md similarity index 98% rename from MetaVaultAudit.md rename to FirstMetaVaultAudit.md index 2da2221..08df1ba 100644 --- a/MetaVaultAudit.md +++ b/FirstMetaVaultAudit.md @@ -1,4 +1,4 @@ -# Meta Vaults Security Audit Scope +# First Meta Vaults Security Audit Scope of the security audit of [mStable](https://mstable.org/)'s new Meta Vaults by [Hacken](https://hacken.io/), September 2022. diff --git a/README.md b/README.md index 9d65e21..b3db7ea 100644 --- a/README.md +++ b/README.md @@ -177,9 +177,15 @@ export NODE_URL=https://mainnet.infura.io/v3/yourApiKey yarn task token-transfer --network mainnet --asset MTA --recipient mStableDAO -- amount 1000 ``` -
+## Other mStable Meta Vault repositories + +- https://github.com/mstable/mStable-defender +- https://github.com/mstable/metavault-subgraph +- https://github.com/mstable/frontend +- https://github.com/mstable/mStable-data +- https://github.com/mstable/mStable-process-docs/tree/main/vaults -mStable version 1 app and documentation. +## mStable version 1 app and documentation. - https://mstable.org - https://app.mstable.org diff --git a/SecondMetaVaultAudit.md b/SecondMetaVaultAudit.md new file mode 100644 index 0000000..a95041e --- /dev/null +++ b/SecondMetaVaultAudit.md @@ -0,0 +1,82 @@ +# Second Meta Vaults Security Audit + +Scope of the security audit of [mStable](https://mstable.org/)'s new Meta Vaults, October 2022. + +# Logic + +See [3Crv Convex Vaults](./3CrvConvexVaults.md) for an explanation of what the different vaults do and how value flows between them. + +# Code + +Only the high risk contracts will be audited. Simpler contracts that have been previously audited are out of scope given the tight timeframes. + +All code is in the [metavaults](https://github.com/mstable/metavaults) private repository with tag [v0.0.3](https://github.com/mstable/metavaults/tree/v0.0.3). + +# Contract scope + +All contract are under the [contracts](./contracts/) folder. + +## In scope + +- [peripheral](./contracts/peripheral/) + - [Cowswap](./contracts/peripheral/Cowswap) the [CowSwapSeller](./contracts/peripheral/Cowswap/CowSwapSeller.sol) contract that integrates with CoW Swap. +- [shares](./contracts/shared/) just the [SingleSlotMapper](./contracts/shared/SingleSlotMapper.sol) contract as it has not been audited. The others have been through multiple audits. +- [vault](./contracts/vault) all vault contract except the ones listed below in the out of scope section. + - [swap](./contracts/vault/swap/) only [CowSwapDex](./contracts/vault/swap/CowSwapDex.sol) is in scope. + +## Out of scope + +Any contracts in the following are out of scope as they have previously been audited or are just used for testing. + +- [governance](./contracts/governance) all out of scope as perviously audited. +- [interfaces](./contracts/interfaces) contract interfaces. +- [nexus](./contracts/nexus) all out of scope as perviously audited. +- [peripheral](./contracts/peripheral/) + - [Convex](./contracts/peripheral/Convex) are just interfaces. + - [Curve](./contracts/peripheral/Curve) are interfaces, libraries or testing contracts. The libraries are ports of Curve's Vyper code with gas optimizations. They are stateless so are not a high risk of containing security issues. Given their logic complexity and they have previously been audited, they are out of scope of this audit. + - [OneInch](./contracts/peripheral/OneInch) are just interfaces and will not be initially used. +- [token](./contracts/tokens) all out scope as perviously audited. +- [upgradability](./contracts/upgradability) all out of scope as perviously audited. +- [vault](./contracts/vault) any BasicVaults are out of scope as they are just used for testing. Specifically, `PeriodicAllocationBasicVault`, `SameAssetUnderlyingsBasicVault`, `PerfFeeBasicVault`, `LiquidatorBasicVault`, `LiquidatorStreamBasicVault`, `LiquidatorStreamFeeBasicVault`, `Convex3CrvBasicVault`, `Curve3CrvBasicMetaVault` and `BasicSlippage` are all out of scope. + - [swap](./contracts/vault/swap/) contracts [BasicDexSwap](./contracts/vault/swap/BasicDexSwap.sol) and [OneInchDexSwap](./contracts/vault/swap/OneInchDexSwap.sol) are out of scope. +- [z_mocks](./contracts/z_mocks/) are just used for unit testing. +- [BasicVault](./contracts/vault/BasicVault.sol) and [LightBasicVault](./contracts/vault/LightBasicVault.sol) are out of scope. + +# Mainnet Contracts + +| Contract | Address| +|---|---| +|CowSwapDex | [0x8E9A9a122F402CD98727128BaF3dCCAF05189B67](https://etherscan.io/address/0x8E9A9a122F402CD98727128BaF3dCCAF05189B67) | +| Liquidator Impl | [0x56c358d4E8f9b678fc24a8Cc4aA02c02A1393fAD](https://etherscan.io/address/0x56c358d4E8f9b678fc24a8Cc4aA02c02A1393fAD) | +| Liquidator Proxy | [0xD298291059aed77686037aEfFCf497A321A4569e](https://etherscan.io/address/0xD298291059aed77686037aEfFCf497A321A4569e) | +| Curve3CrvMetapoolCalculatorLibrary | [0x5de8865522A61FC9bf2A3ca1A7D196A42863Ea56](https://etherscan.io/address/0x5de8865522A61FC9bf2A3ca1A7D196A42863Ea56) | +| Curve3CrvFactoryMetapoolCalculatorLibrary | [0x3206bf36B1e1764B4C40c5A51A8E237DC4cB10a9](https://etherscan.io/address/0x3206bf36B1e1764B4C40c5A51A8E237DC4cB10a9) | +| Curve3CrvCalculatorLibrary | [0x092C1b41163c85054F008A486BA72347B919aFa7](https://etherscan.io/address/0x092C1b41163c85054F008A486BA72347B919aFa7) | +| FRAX Convex Vault impl | [0x6DE3703418A075481c7ce01199B8e8F82C129485](https://etherscan.io/address/0x6DE3703418A075481c7ce01199B8e8F82C129485) | +| FRAX Convex Vault proxy | [0x98c5910823C2E67d54e4e0C03de44043DbfA7ca8](https://etherscan.io/address/0x98c5910823C2E67d54e4e0C03de44043DbfA7ca8) | +| mUSD Convex Vault impl | [0xa79e8e15dfd58cd5a93ed3f00bbbbe303f2a0cd8](https://etherscan.io/address/0xa79e8e15dfd58cd5a93ed3f00bbbbe303f2a0cd8) | +| mUSD Convex Vault proxy | [0xB9B47E72819934d7A5d60Bf08cD2C78072383EBb](https://etherscan.io/address/0xB9B47E72819934d7A5d60Bf08cD2C78072383EBb) | +| BUSD Convex Vault impl | [0xCd619AADd1DD2e423D1f3C725a25296c7a74281a](https://etherscan.io/address/0xCd619AADd1DD2e423D1f3C725a25296c7a74281a) | +| BUSD Convex Vault proxy | [0x87Ed92648fAE3b3930577c92c8A247b127ED8949](https://etherscan.io/address/0x87Ed92648fAE3b3930577c92c8A247b127ED8949) | +| 3Crv Meta Vault impl | [0xe3CEab97Fb4289f3A4C979E74D20c90Ab16e1F7d](https://etherscan.io/address/0xe3CEab97Fb4289f3A4C979E74D20c90Ab16e1F7d) | +| 3Crv Meta Vault proxy | [0x9614a4C61E45575b56c7e0251f63DCDe797d93C5](https://etherscan.io/address/0x9614a4C61E45575b56c7e0251f63DCDe797d93C5) | +| USDC 3CRV Convex Meta Vault impl | [0x6d68F5b8c22A549334ca85960978f9dE4DebA2D3](https://etherscan.io/address/0x6d68F5b8c22A549334ca85960978f9dE4DebA2D3) | +| USDC 3CRV Convex Meta Vault proxy | [0x455fB969dC06c4Aa77e7db3f0686CC05164436d2](https://etherscan.io/address/0x455fB969dC06c4Aa77e7db3f0686CC05164436d2) | + + +# Third Party Dependencies + +## Contract Libraries + +- [OpenZeppelin](https://www.openzeppelin.com/contracts) is used for ERC20 tokens, access control, initialization, reentry protection, proxies, casting and math operations. + +## Protocols + +- [Curve Finance](https://curve.fi/) used to generate yield on stablecoin deposits. +- [Convex Finance](https://www.convexfinance.com/) used to enhance the yield from Curve pools. +- [Cowswap](https://cowswap.exchange/) used for swapping Convex reward tokens (CRV and CVX) to DAI, USDC or USDT. + +## Standards + +- [EIP-20](https://eips.ethereum.org/EIPS/eip-20) +- [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626) diff --git a/contracts/peripheral/Cowswap/CowSwapSeller.sol b/contracts/peripheral/Cowswap/CowSwapSeller.sol index 674a239..e650e5d 100644 --- a/contracts/peripheral/Cowswap/CowSwapSeller.sol +++ b/contracts/peripheral/Cowswap/CowSwapSeller.sol @@ -40,14 +40,6 @@ abstract contract CowSwapSeller { uint256 toAssetAmount; } - /// @notice Event emitted when a order is initliased. - event SwapInitiated( - bytes indexed orderUid, - address indexed fromAsset, - uint256 fromAssetAmount, - uint256 fromAssetFeeAmount - ); - /// @notice Event emitted when a order is cancelled. event SwapCancelled(bytes indexed orderUid); @@ -75,17 +67,11 @@ abstract contract CowSwapSeller { address fromAsset = orderData.fromAsset; IERC20(fromAsset).safeIncreaseAllowance( RELAYER, - orderData.fromAssetAmount + orderData.fromAssetFeeAmount + orderData.fromAssetAmount ); // Once allowance is set, let's setPresignature and the order will happen SETTLEMENT.setPreSignature(orderUid, true); - emit SwapInitiated( - orderUid, - fromAsset, - orderData.fromAssetAmount, - orderData.fromAssetFeeAmount - ); } /** diff --git a/contracts/peripheral/Curve/Curve3CrvFactoryMetapoolCalculatorLibrary.sol b/contracts/peripheral/Curve/Curve3CrvFactoryMetapoolCalculatorLibrary.sol index 4345c98..4f4d9d1 100644 --- a/contracts/peripheral/Curve/Curve3CrvFactoryMetapoolCalculatorLibrary.sol +++ b/contracts/peripheral/Curve/Curve3CrvFactoryMetapoolCalculatorLibrary.sol @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.8.17; +/* solhint-disable func-name-mixedcase, var-name-mixedcase */ import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/peripheral/Curve/Curve3CrvMetapoolCalculatorLibrary.sol b/contracts/peripheral/Curve/Curve3CrvMetapoolCalculatorLibrary.sol index b9bf6d6..7a61be6 100644 --- a/contracts/peripheral/Curve/Curve3CrvMetapoolCalculatorLibrary.sol +++ b/contracts/peripheral/Curve/Curve3CrvMetapoolCalculatorLibrary.sol @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.8.17; +/* solhint-disable func-name-mixedcase, var-name-mixedcase */ import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/peripheral/Curve/Curve3PoolCalculatorLibrary.sol b/contracts/peripheral/Curve/Curve3PoolCalculatorLibrary.sol index d0a785b..64710df 100644 --- a/contracts/peripheral/Curve/Curve3PoolCalculatorLibrary.sol +++ b/contracts/peripheral/Curve/Curve3PoolCalculatorLibrary.sol @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.8.17; +/* solhint-disable func-name-mixedcase, var-name-mixedcase */ import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/peripheral/Curve/ICurve3Pool.sol b/contracts/peripheral/Curve/ICurve3Pool.sol index 5c751f7..c18fb74 100644 --- a/contracts/peripheral/Curve/ICurve3Pool.sol +++ b/contracts/peripheral/Curve/ICurve3Pool.sol @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.8.17; +/* solhint-disable func-name-mixedcase, var-name-mixedcase */ interface ICurve3Pool { function A() external view returns (uint256); diff --git a/contracts/peripheral/Curve/ICurveAddressProvider.sol b/contracts/peripheral/Curve/ICurveAddressProvider.sol index 265d885..4319930 100644 --- a/contracts/peripheral/Curve/ICurveAddressProvider.sol +++ b/contracts/peripheral/Curve/ICurveAddressProvider.sol @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.8.17; +/* solhint-disable func-name-mixedcase, var-name-mixedcase */ interface ICurveAddressProvider { function get_registry() external view returns (address); diff --git a/contracts/peripheral/Curve/ICurveFraxBP.sol b/contracts/peripheral/Curve/ICurveFraxBP.sol index a12ac7f..c45fb65 100644 --- a/contracts/peripheral/Curve/ICurveFraxBP.sol +++ b/contracts/peripheral/Curve/ICurveFraxBP.sol @@ -1,6 +1,8 @@ // SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity 0.8.17; +/* solhint-disable func-name-mixedcase, var-name-mixedcase */ + interface ICurveFraxBP { function A() external view returns (uint256); diff --git a/contracts/peripheral/Curve/ICurveMetapool.sol b/contracts/peripheral/Curve/ICurveMetapool.sol index a601f70..5cbe67a 100644 --- a/contracts/peripheral/Curve/ICurveMetapool.sol +++ b/contracts/peripheral/Curve/ICurveMetapool.sol @@ -1,6 +1,8 @@ // SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity 0.8.17; +/* solhint-disable func-name-mixedcase, var-name-mixedcase */ + interface ICurveMetapool { function A() external view returns (uint256); diff --git a/contracts/peripheral/Curve/ICurveRegistryContract.sol b/contracts/peripheral/Curve/ICurveRegistryContract.sol index 8f267a8..42bcbdb 100644 --- a/contracts/peripheral/Curve/ICurveRegistryContract.sol +++ b/contracts/peripheral/Curve/ICurveRegistryContract.sol @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.8.17; +/* solhint-disable func-name-mixedcase, var-name-mixedcase */ interface ICurveRegistryContract { function find_pool_for_coins(address _from, address _to) external view returns (address); diff --git a/contracts/vault/swap/CowSwapDex.sol b/contracts/vault/swap/CowSwapDex.sol index 356929b..efa9220 100644 --- a/contracts/vault/swap/CowSwapDex.sol +++ b/contracts/vault/swap/CowSwapDex.sol @@ -61,29 +61,26 @@ contract CowSwapDex is CowSwapSeller, ImmutableModule, IDexAsyncSwap { */ function _initiateSwap(DexSwapData memory swapData) internal { // unpack the CowSwap specific params from the generic swap.data field - (bytes memory orderUid, uint256 fromAssetFeeAmount, address receiver, bool onlySign) = abi - .decode(swapData.data, (bytes, uint256, address, bool)); - - if (!onlySign) { - uint256 fromAssetTotalAmount = swapData.fromAssetAmount + fromAssetFeeAmount; - // transfer in the fromAsset - require( - IERC20(swapData.fromAsset).balanceOf(msg.sender) >= fromAssetTotalAmount, - "not enough from assets" - ); - // Transfer rewards from the liquidator - IERC20(swapData.fromAsset).safeTransferFrom( - msg.sender, - address(this), - fromAssetTotalAmount - ); - } + (bytes memory orderUid, uint256 fromAssetFeeAmount, address receiver) = abi + .decode(swapData.data, (bytes, uint256, address)); + + // transfer in the fromAsset + require( + IERC20(swapData.fromAsset).balanceOf(msg.sender) >= swapData.fromAssetAmount, + "not enough from assets" + ); + // Transfer rewards from the liquidator + IERC20(swapData.fromAsset).safeTransferFrom( + msg.sender, + address(this), + swapData.fromAssetAmount + ); CowSwapData memory orderData = CowSwapData({ fromAsset: swapData.fromAsset, toAsset: swapData.toAsset, receiver: receiver, - fromAssetAmount: swapData.fromAssetAmount, + fromAssetAmount: swapData.fromAssetAmount - fromAssetFeeAmount, fromAssetFeeAmount: fromAssetFeeAmount }); diff --git a/docs/CowSwapDex.svg b/docs/CowSwapDex.svg index dd08413..5b2eebc 100644 --- a/docs/CowSwapDex.svg +++ b/docs/CowSwapDex.svg @@ -4,36 +4,36 @@ - - + + UmlClassDiagram - + 5 - -<<Interface>> -IDexAsyncSwap -../contracts/interfaces/IDexSwap.sol - -External: -     initiateSwap(_swap: DexSwapData) -     settleSwap(_swap: DexSwapData) -     cancelSwap(orderUid: bytes) + +<<Interface>> +IDexAsyncSwap +../contracts/interfaces/IDexSwap.sol + +External: +     initiateSwap(_swap: DexSwapData) +     settleSwap(_swap: DexSwapData) +     cancelSwap(orderUid: bytes) - + -36 - -<<Abstract>> -CowSwapSeller -../contracts/peripheral/Cowswap/CowSwapSeller.sol - +34 + +<<Abstract>> +CowSwapSeller +../contracts/peripheral/Cowswap/CowSwapSeller.sol + Public:   RELAYER: address   SETTLEMENT: ICowSettlement - + Internal:    _initiateCowswapOrder(orderUid: bytes, orderData: CowSwapData)    _initiateCowswapOrder(orderUids: bytes[], ordersData: CowSwapData[]) @@ -41,74 +41,74 @@    _cancelCowSwapOrder(orderUids: bytes[])    _settleCowSwapOrder(orderUid: bytes, tradeData: CowSwapTrade) Public: -    <<event>> SwapInitiated(orderUid: bytes, fromAsset: address, fromAssetAmount: uint256, fromAssetFeeAmount: uint256) -    <<event>> SwapCancelled(orderUid: bytes) -    <<event>> SwapSettled(orderUid: bytes, toAsset: address, toAssetAmount: uint256) -    constructor(_relayer: address, _settlement: address) +    <<event>> SwapCancelled(orderUid: bytes) +    <<event>> SwapSettled(orderUid: bytes, toAsset: address, toAssetAmount: uint256) +    constructor(_relayer: address, _settlement: address) - + -13 - -<<Abstract>> -ImmutableModule -../contracts/shared/ImmutableModule.sol - -Public: -   nexus: INexus - -Internal: -    _onlyGovernor() -    _keeperOrGovernor() -    _governor(): address -    _governance(): address -    _keeper(): address -    _liquidator(): address -    _proxyAdmin(): address -Public: -    <<modifier>> onlyGovernor() -    <<modifier>> onlyKeeperOrGovernor() -    <<modifier>> onlyGovernance() -    constructor(_nexus: address) +12 + +<<Abstract>> +ImmutableModule +../contracts/shared/ImmutableModule.sol + +Public: +   nexus: INexus + +Internal: +    _onlyGovernor() +    _keeperOrGovernor() +    _governor(): address +    _governance(): address +    _keeper(): address +    _liquidator(): address +    _liquidatorV2(): address +    _proxyAdmin(): address +Public: +    <<modifier>> onlyGovernor() +    <<modifier>> onlyKeeperOrGovernor() +    <<modifier>> onlyGovernance() +    constructor(_nexus: address) - + -80 - -CowSwapDex -../contracts/vault/swap/CowSwapDex.sol - -Internal: -    _keeperOrLiquidator() -    _initiateSwap(swapData: DexSwapData) -External: -    initiateSwap(swapData: DexSwapData) <<onlyKeeperOrLiquidator>> -    initiateSwap(swapsData: DexSwapData[]) <<onlyKeeperOrLiquidator>> -    settleSwap(DexSwapData) -    cancelSwap(orderUid: bytes) <<onlyKeeperOrLiquidator>> -    cancelSwap(orderUids: bytes[]) <<onlyKeeperOrLiquidator>> -    rescueToken(_erc20: address, amount: uint256) <<onlyGovernor>> -Public: -    <<modifier>> onlyKeeperOrLiquidator() -    constructor(_nexus: address, _relayer: address, _settlement: address) +78 + +CowSwapDex +../contracts/vault/swap/CowSwapDex.sol + +Internal: +    _keeperOrLiquidator() +    _initiateSwap(swapData: DexSwapData) +External: +    initiateSwap(swapData: DexSwapData) <<onlyKeeperOrLiquidator>> +    initiateSwap(swapsData: DexSwapData[]) <<onlyKeeperOrLiquidator>> +    settleSwap(DexSwapData) +    cancelSwap(orderUid: bytes) <<onlyKeeperOrLiquidator>> +    cancelSwap(orderUids: bytes[]) <<onlyKeeperOrLiquidator>> +    rescueToken(_erc20: address, amount: uint256) <<onlyGovernor>> +Public: +    <<modifier>> onlyKeeperOrLiquidator() +    constructor(_nexus: address, _relayer: address, _settlement: address) - + -80->5 - - +78->5 + + - + -80->36 - - +78->34 + + - + -80->13 - - +78->12 + + diff --git a/docs/convex3CrvContracts.png b/docs/convex3CrvContracts.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae17901f62a3eaf4649a2b370b96cca02547d0e GIT binary patch literal 40846 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 literal 0 HcmV?d00001 diff --git a/docs/convex3CrvDependencies.png b/docs/convex3CrvDependencies.png new file mode 100644 index 0000000000000000000000000000000000000000..f16ba59b68699199733b1414f3021049c604af37 GIT binary patch literal 86933 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
  • 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 z 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 MQbD3v%*gNm0HOw51ONa4 literal 0 HcmV?d00001 diff --git a/docs/savePlusDeployment.png b/docs/savePlusDeployment.png deleted file mode 100644 index dd70e33e14b64ae5ee3bfbcd1c38dbc81a34bdda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86876 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 CowSwapDex__factory(signer), "CowSwapDex", constructorArguments) + await verifyEtherscan(hre, { address: dex.address, contract: "contracts/vault/swap/CowSwapDex.sol:CowSwapDex", diff --git a/tasks/liquidator.ts b/tasks/liquidator.ts index 2b0627f..a86aad1 100644 --- a/tasks/liquidator.ts +++ b/tasks/liquidator.ts @@ -91,6 +91,13 @@ subtask("liq-collect-rewards", "Collect rewards from vaults") const liquidatorContract = Liquidator__factory.connect(liquidatorAddress, signer) const tx = await liquidatorContract.collectRewards(vaultsAddress) await logTxDetails(tx, `liquidator.collectRewards(${vaultsAddress})`) + + const receipt = await tx.wait() + const events = receipt.events?.find((e) => e.event === "CollectedRewards") + events?.args?.rewards.forEach((rewards, i) => { + // TODO include reward symbol, formatted amounts and vault symbol + log(`Collected ${rewards} rewards from vault ${i}`) + }) }) task("liq-collect-rewards").setAction(async (_, __, runSuper) => { await runSuper() @@ -106,12 +113,14 @@ subtask("liq-init-swap", "Initiate CowSwap swap of rewards to donate tokens") types.string, ) .addOptionalParam("liquidator", "Liquidator address override", "LiquidatorV2", types.string) + .addOptionalParam("swapper", "Name or address to override the CowSwapDex contract", "CowSwapDex", types.string) .addOptionalParam("speed", "Defender Relayer speed param: 'safeLow' | 'average' | 'fast' | 'fastest'", "fast", types.string) .setAction(async (taskArgs, hre) => { - const { from, to, liquidator, receiver, speed } = taskArgs + const { from, to, liquidator, receiver, swapper, speed } = taskArgs const chain = getChain(hre) const signer = await getSigner(hre, speed) const liquidatorAddress = resolveAddress(liquidator, chain) + const swapperAddress = resolveAddress(swapper, chain) const fromAsset = await resolveAssetToken(signer, chain, from) const toAssetAddress = await resolveAddress(to, chain) const receiverAddress = await resolveAddress(receiver, chain) @@ -124,7 +133,7 @@ subtask("liq-init-swap", "Initiate CowSwap swap of rewards to donate tokens") // Place Sell Order on CoW Swap API const context: CowSwapContext = { - trader: liquidatorAddress, + trader: swapperAddress, deadline: ONE_DAY, chainId: chain, } @@ -138,17 +147,17 @@ subtask("liq-init-swap", "Initiate CowSwap swap of rewards to donate tokens") log( `Sell order params:\n from : ${fromAsset.address}\n from amount : ${formatUnits( rewards, + fromAsset.decimals, )}\n to : ${toAssetAddress}\n receiver : ${receiverAddress}`, ) const sellOrder = await placeSellOrder(context, sellOrderParams) log(`Swap initiated order uid ${sellOrder.orderUid}`) + log(`Swap fee ${formatUnits(sellOrder.fromAssetFeeAmount, fromAsset.decimals)}`) // Initiate the order and sign const { encodeInitiateSwap } = await import("@utils/peripheral/cowswap") const data = encodeInitiateSwap(sellOrder.orderUid, sellOrder.fromAssetFeeAmount, receiverAddress) const tx = await liquidatorContract.initiateSwap(fromAsset.address, toAssetAddress, data) - // const cowSwapDex = CowSwapDex__factory.connect("0x8E9A9a122F402CD98727128BaF3dCCAF05189B67", signer) - // const tx = await cowSwapDex["initiateSwap((address,uint256,address,uint256,bytes))"](data) await logTxDetails(tx, `liquidator.initiateSwap(${fromAsset.address}, ${toAssetAddress})`) }) @@ -255,6 +264,25 @@ task("liq-donate-tokens").setAction(async (_, __, runSuper) => { await runSuper() }) +subtask("liq-set-async-swapper", "Set a new async swapper on the Liquidator when using forked chains") + .addParam("swapper", "Contract address of the new async swapper", undefined, types.string) + .addOptionalParam("liquidator", "Liquidator address override", "LiquidatorV2", types.string) + .addOptionalParam("speed", "Defender Relayer speed param: 'safeLow' | 'average' | 'fast' | 'fastest'", "fast", types.string) + .setAction(async (taskArgs, hre) => { + const { liquidator, speed, swapper } = taskArgs + const chain = getChain(hre) + const signer = await getSigner(hre, speed) + + const liquidatorAddress = resolveAddress(liquidator, chain) + const liquidatorContract = Liquidator__factory.connect(liquidatorAddress, signer) + + const tx = await liquidatorContract.setAsyncSwapper(swapper) + await logTxDetails(tx, `liquidator.setAsyncSwapper(${swapper})`) + }) +task("liq-set-async-swapper").setAction(async (_, __, runSuper) => { + await runSuper() +}) + task("liq-rescue", "Rescues tokens from the Liquidator and sends it to governor") .addParam("asset", "Token symbol or address of the asset to retrieve", undefined, types.string) .addOptionalParam("amount", "Amount of tokens to rescue. Defaults to all assets.", undefined, types.float) diff --git a/tasks/utils/networkAddressFactory.ts b/tasks/utils/networkAddressFactory.ts index 121c648..a4b4e54 100644 --- a/tasks/utils/networkAddressFactory.ts +++ b/tasks/utils/networkAddressFactory.ts @@ -96,7 +96,7 @@ export const getChainAddress = (contractName: ContractNames, chain: Chain): stri case "VaultManager": return "0x1116241647D2173342b108e6363fFe58762e3e97" case "CowSwapDex": - return "0x8E9A9a122F402CD98727128BaF3dCCAF05189B67" + return "0x86f800375B525300AD609644068a0753Bf8De1e2" case "LiquidatorV2": return "0xD298291059aed77686037aEfFCf497A321A4569e" case "Curve3CrvMetapoolCalculatorLibrary": diff --git a/tasks/utils/tokens.ts b/tasks/utils/tokens.ts index c4a01af..4f589e3 100644 --- a/tasks/utils/tokens.ts +++ b/tasks/utils/tokens.ts @@ -1,11 +1,11 @@ import { ethereumAddress } from "@utils/regex" export enum Chain { - mainnet, - goerli, - sepolia, - polygon, - mumbai, + mainnet = 1, + goerli = 5, + sepolia = 11155111, + polygon = 137, + mumbai = 80001, } export interface Token { diff --git a/test-utils/peripheral/cowswap.ts b/test-utils/peripheral/cowswap.ts index 21b16bb..7b69793 100644 --- a/test-utils/peripheral/cowswap.ts +++ b/test-utils/peripheral/cowswap.ts @@ -7,11 +7,10 @@ import type { BigNumber as BN } from "ethers" * @param {string} orderUid the order id of the swap * @param {BN} fromAssetFeeAmount the fee amount of the from asset * @param {string} receiver the address receiver of the swap - * @param {boolean} onlySign if it should only sign the tx, rather than transferIn assets and sign * @return {string} The encoded data for the call */ -export const encodeInitiateSwap = (orderUid: string, fromAssetFeeAmount: BN, receiver: string, onlySign = false): string => - ethers.utils.defaultAbiCoder.encode(["bytes", "uint256", "address", "bool"], [orderUid, fromAssetFeeAmount, receiver, onlySign]) +export const encodeInitiateSwap = (orderUid: string, fromAssetFeeAmount: BN, receiver: string): string => + ethers.utils.defaultAbiCoder.encode(["bytes", "uint256", "address"], [orderUid, fromAssetFeeAmount, receiver]) /** * Encode the data for a Cowswap initiate swap call * diff --git a/test/vault/liquidator/Liquidator.spec.ts b/test/vault/liquidator/Liquidator.spec.ts index 675d311..bf57b40 100644 --- a/test/vault/liquidator/Liquidator.spec.ts +++ b/test/vault/liquidator/Liquidator.spec.ts @@ -162,8 +162,7 @@ describe("Liquidator", async () => { const pendingRewardsBefore = await liquidator.pendingRewards(reward.address, asset.address) const rewards = pendingRewardsBefore.rewards const initiateData = swapData.data - const initiateTx = await liquidator.connect(sa.keeper.signer).initiateSwap(reward.address, asset.address, initiateData) - expect(initiateTx).to.emit(liquidator, "SwapInitiated").withArgs(pendingRewardsBefore.batch, rewards, 0) + await liquidator.connect(sa.keeper.signer).initiateSwap(reward.address, asset.address, initiateData) expect(await reward.balanceOf(liquidator.address), "rewards transfer from").to.eq(liquidatorRewardBalanceBefore.sub(rewards)) expect(await reward.balanceOf(asyncSwapper.address), "rewards transfer to").to.eq(swapperRewardBalanceBefore.add(rewards)) @@ -201,13 +200,10 @@ describe("Liquidator", async () => { const datas = orders.map((o) => o.data) const assetsAmounts = swapsData.map((o) => o.minToAssetAmount) - const initiateTx = await liquidator.connect(sa.keeper.signer).initiateSwaps(fromAssets, toAssets, datas) + await liquidator.connect(sa.keeper.signer).initiateSwaps(fromAssets, toAssets, datas) await Promise.all( - swapsData.map(async (swapData, i) => { - const pendingRewardsBefore = orders[i].pendingRewardsBefore - const rewards = pendingRewardsBefore.rewards - expect(initiateTx).to.emit(liquidator, "SwapInitiated").withArgs(pendingRewardsBefore.batch, rewards, 0) + swapsData.map(async (swapData) => { // Simulate off-chain swap // asyncSwapper assets balances is transfer from relayer await simulateAsyncSwap(swapData, liquidator.address) diff --git a/test/vault/swap/CowSwapDex.spec.ts b/test/vault/swap/CowSwapDex.spec.ts index b650f6a..0ccdf72 100644 --- a/test/vault/swap/CowSwapDex.spec.ts +++ b/test/vault/swap/CowSwapDex.spec.ts @@ -170,45 +170,17 @@ describe("CowSwapDex", () => { const tx = await cowSwapDex.connect(sa.keeper.signer)[INITIATE_SWAP_SINGLE](swapData) // Verify events, storage change, balance, etc. - await expect(tx) - .to.emit(cowSwapDex, "SwapInitiated") - .withArgs(orderUid1, swapData.fromAsset, swapData.fromAssetAmount, fromAssetFeeAmount) await expect(tx).to.emit(settlement, "PreSignature").withArgs(cowSwapDex.address, orderUid1, true) // As the swap is async only "fromAsset" is updated expect(await rewards1.balanceOf(sa.keeper.address), "msg.sender sends rewards to dex").to.equal( - keeperRewards1BalBefore.sub(swapData.fromAssetAmount).sub(fromAssetFeeAmount), + keeperRewards1BalBefore.sub(swapData.fromAssetAmount), ) expect(await rewards1.balanceOf(cowSwapDex.address), "dex asset balance increase").to.equal( - dexRewards1BalBefore.add(swapData.fromAssetAmount).add(fromAssetFeeAmount), + dexRewards1BalBefore.add(swapData.fromAssetAmount), ) expect(await asset1.balanceOf(sa.keeper.address), "keeper assets does not change").to.equal(keeperAssets1BalBefore) }) - it("re-try a swap without sending rewards", async () => { - // Given - swapData = { - ...swapData, - data: encodeInitiateSwap(orderUid1, fromAssetFeeAmount, sa.keeper.address, true), - } - - const keeperRewards1BalBefore = await rewards1.balanceOf(sa.keeper.address) - const dexRewards1BalBefore = await rewards1.balanceOf(cowSwapDex.address) - const keeperAssets1BalBefore = await asset1.balanceOf(sa.keeper.address) - - // Test - const tx = await cowSwapDex.connect(sa.keeper.signer)[INITIATE_SWAP_SINGLE](swapData) - - // Verify events, storage change, balance, etc. - await expect(tx) - .to.emit(cowSwapDex, "SwapInitiated") - .withArgs(orderUid1, swapData.fromAsset, swapData.fromAssetAmount, fromAssetFeeAmount) - await expect(tx).to.emit(settlement, "PreSignature").withArgs(cowSwapDex.address, orderUid1, true) - - // As the swap is async and the flag onlySign is true, no balance should be updated - expect(await rewards1.balanceOf(sa.keeper.address), "keeper rewards does not change").to.equal(keeperRewards1BalBefore) - expect(await rewards1.balanceOf(cowSwapDex.address), "dex asset balance does not change").to.equal(dexRewards1BalBefore) - expect(await asset1.balanceOf(sa.keeper.address), "keeper assets does not change").to.equal(keeperAssets1BalBefore) - }) describe("fails", async () => { it("if caller is not keeper or liquidator", async () => { await expect(cowSwapDex.connect(sa.default.signer)[INITIATE_SWAP_SINGLE](swapData), "!auth").to.be.revertedWith( @@ -219,8 +191,8 @@ describe("CowSwapDex", () => { const fromAssetAmount = await rewards1.balanceOf(sa.keeper.address) const wrongSwapData = { ...swapData, - fromAssetAmount, - data: encodeInitiateSwap(orderUid1, fromAssetFeeAmount, sa.keeper.address, false), + fromAssetAmount: fromAssetAmount.add(1), + data: encodeInitiateSwap(orderUid1, fromAssetFeeAmount, sa.keeper.address), } await expect(cowSwapDex.connect(sa.keeper.signer)[INITIATE_SWAP_SINGLE](wrongSwapData), "!balance").to.be.revertedWith( "not enough from assets", @@ -234,22 +206,22 @@ describe("CowSwapDex", () => { const swapsData: Array = [] before(async () => { - const swapDate2 = { + const swapData2 = { fromAsset: rewards2.address, fromAssetAmount: reward2Total.div(10), toAsset: asset2.address, minToAssetAmount: asset2Total.div(10), data: encodeInitiateSwap(orderUid2, fromAssetFeeAmount, sa.keeper.address), } - const swapDate3 = { + const swapData3 = { fromAsset: rewards3.address, fromAssetAmount: reward3Total.div(10), toAsset: asset3.address, minToAssetAmount: asset3Total.div(10), data: encodeInitiateSwap(orderUid3, fromAssetFeeAmount, sa.keeper.address), } - swapsData.push(swapDate2) - swapsData.push(swapDate3) + swapsData.push(swapData2) + swapsData.push(swapData3) }) it("swap should swap multiple orders", async () => { @@ -266,30 +238,23 @@ describe("CowSwapDex", () => { const tx = await cowSwapDex.connect(sa.keeper.signer)[INITIATE_SWAP_BATCH](swapsData) // Verify events, storage change, balance, etc. - await expect(tx) - .to.emit(cowSwapDex, "SwapInitiated") - .withArgs(orderUid2, swapsData[0].fromAsset, swapsData[0].fromAssetAmount, fromAssetFeeAmount) await expect(tx).to.emit(settlement, "PreSignature").withArgs(cowSwapDex.address, orderUid2, true) - - await expect(tx) - .to.emit(cowSwapDex, "SwapInitiated") - .withArgs(orderUid3, swapsData[1].fromAsset, swapsData[1].fromAssetAmount, fromAssetFeeAmount) await expect(tx).to.emit(settlement, "PreSignature").withArgs(cowSwapDex.address, orderUid3, true) // As the swap is async only "fromAsset" is updated expect(await rewards2.balanceOf(sa.keeper.address), "msg.sender sends rewards to dex").to.equal( - keeperRewards2BalBefore.sub(swapsData[0].fromAssetAmount).sub(fromAssetFeeAmount), + keeperRewards2BalBefore.sub(swapsData[0].fromAssetAmount), ) expect(await rewards2.balanceOf(cowSwapDex.address), "dex asset balance increase").to.equal( - dexRewards2BalBefore.add(swapsData[0].fromAssetAmount).add(fromAssetFeeAmount), + dexRewards2BalBefore.add(swapsData[0].fromAssetAmount), ) expect(await asset2.balanceOf(sa.keeper.address), "keeper assets does not change").to.equal(keeperAssets2BalBefore) expect(await rewards3.balanceOf(sa.keeper.address), "msg.sender sends rewards to dex").to.equal( - keeperRewards3BalBefore.sub(swapsData[1].fromAssetAmount).sub(fromAssetFeeAmount), + keeperRewards3BalBefore.sub(swapsData[1].fromAssetAmount), ) expect(await rewards3.balanceOf(cowSwapDex.address), "dex asset balance increase").to.equal( - dexRewards3BalBefore.add(swapsData[1].fromAssetAmount).add(fromAssetFeeAmount), + dexRewards3BalBefore.add(swapsData[1].fromAssetAmount), ) expect(await asset3.balanceOf(sa.keeper.address), "keeper assets does not change").to.equal(keeperAssets3BalBefore) }) @@ -300,7 +265,7 @@ describe("CowSwapDex", () => { ) }) it("if balance is not enough", async () => { - const wrongSwapData = { ...swapsData[0], fromAssetAmount: await rewards2.balanceOf(sa.keeper.address) } + const wrongSwapData = { ...swapsData[0], fromAssetAmount: await (await rewards2.balanceOf(sa.keeper.address)).add(1) } const wrongSwapsData = [wrongSwapData] await expect(cowSwapDex.connect(sa.keeper.signer)[INITIATE_SWAP_BATCH](wrongSwapsData), "!balance").to.be.revertedWith( "not enough from assets",