This PR implements callee contract for the LockstakeClipper using UniswapV2. It allows anyone to participate in auctions using UniswapV2 path to exchange MKR (or NGT) into DAI (or NST).
Notes:
CI is expected to fail due to the tests for other callees being fragile / depending on the market
To test this specific callee, one can run forge test --match-contract=UniswapV2LockstakeCalleeTest locally
In order to write tests for the new callee, we had to update dependencies and remove hardcoded solidity version at the foundry level (--use solc:0.6.12) while strictly setting it in every callee contract instead. This is due to LockstakeEngine requiring at least 0.8.21 solidity version
If requested, those changes could be moved into a separate maintenance PR to keep git history clean
Current version of the callee support any UniV2 paths that start from MKR or NGT and end with DAI or NST (in other words both MKR/DAI and NGT/NST pools are supported, but not only). The previous version of the callee (found at 9b5cb11) required a redeployment to support different destination token
Please let us know which contract design is preferable
This PR implements callee contract for the LockstakeClipper using UniswapV2. It allows anyone to participate in auctions using UniswapV2 path to exchange MKR (or NGT) into DAI (or NST).
Notes:
forge test --match-contract=UniswapV2LockstakeCalleeTest
locally--use solc:0.6.12
) while strictly setting it in every callee contract instead. This is due to LockstakeEngine requiring at least 0.8.21 solidity version