From 645476996222eb65b8876837794c1307f0505312 Mon Sep 17 00:00:00 2001 From: LouisTsai Date: Wed, 16 Oct 2024 15:23:27 +0800 Subject: [PATCH] feat: complete homework 3 --- .github/workflows/test.yml | 60 ++++-- .gitmodules | 6 + README.md | 63 +----- hw/lib/openzeppelin-contracts | 1 + hw/lib/pyth-sdk-solidity | 1 + hw/remappings.txt | 6 + hw/script/Counter.s.sol | 19 -- hw/src/Counter.sol | 14 -- hw/src/RichNFT.sol | 37 ++++ hw/src/TrustedOracle.sol | 72 +++++++ hw/src/interface.sol | 190 ++++++++++++++++++ hw/test/Counter.t.sol | 24 --- hw/test/MultiPair/MultiPair.t.sol | 14 ++ hw/test/MultiPair/MultiPairBase.t.sol | 84 ++++++++ hw/test/RichNFT/RichNFT.t.sol | 14 ++ hw/test/RichNFT/RichNFTBase.t.sol | 46 +++++ hw/test/Sasha/Sasha.t.sol | 14 ++ hw/test/Sasha/SashaBase.t.sol | 82 ++++++++ hw/test/SashaV2/SashaV2.t.sol | 83 ++++++++ hw/test/SashaV2/SashaV2Base.t.sol | 16 ++ hw/test/TrustedOracle/TrustedOracle.t.sol | 30 +++ hw/test/TrustedOracle/TrustedOracleBase.t.sol | 47 +++++ images/auto-grading-result.png | Bin 101031 -> 0 bytes images/hw-status-modify-files.png | Bin 26546 -> 0 bytes images/hw-status-not-submitted.png | Bin 21509 -> 0 bytes images/hw-status-submitted.png | Bin 23831 -> 0 bytes 26 files changed, 782 insertions(+), 141 deletions(-) create mode 160000 hw/lib/openzeppelin-contracts create mode 160000 hw/lib/pyth-sdk-solidity delete mode 100644 hw/script/Counter.s.sol delete mode 100644 hw/src/Counter.sol create mode 100644 hw/src/RichNFT.sol create mode 100644 hw/src/TrustedOracle.sol create mode 100644 hw/src/interface.sol delete mode 100644 hw/test/Counter.t.sol create mode 100644 hw/test/MultiPair/MultiPair.t.sol create mode 100644 hw/test/MultiPair/MultiPairBase.t.sol create mode 100644 hw/test/RichNFT/RichNFT.t.sol create mode 100644 hw/test/RichNFT/RichNFTBase.t.sol create mode 100644 hw/test/Sasha/Sasha.t.sol create mode 100644 hw/test/Sasha/SashaBase.t.sol create mode 100644 hw/test/SashaV2/SashaV2.t.sol create mode 100644 hw/test/SashaV2/SashaV2Base.t.sol create mode 100644 hw/test/TrustedOracle/TrustedOracle.t.sol create mode 100644 hw/test/TrustedOracle/TrustedOracleBase.t.sol delete mode 100644 images/auto-grading-result.png delete mode 100644 images/hw-status-modify-files.png delete mode 100644 images/hw-status-not-submitted.png delete mode 100644 images/hw-status-submitted.png diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index febf743..3522b95 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -22,41 +22,54 @@ jobs: cd hw forge install id: test - - ## Problem Template - # - name: Problem - # id: problem- - # uses: classroom-resources/autograding-command-grader@v1 - # with: - # test-name: Problem - # command: cd hw && forge test --mt - # timeout: - # max-score: - ## Modify Problem 1 Configuration - - name: Problem 1 + - name: Untrusted Oracle id: problem-1 uses: classroom-resources/autograding-command-grader@v1 with: - test-name: Problem 1 - command: cd hw && forge test --mt test_Increment + test-name: Untrusted Oracle + command: cd hw && forge test --mc TrustedOracleTest --mt testExploit timeout: 10 max-score: 10 ## Modify Problem 2 Configuration - - name: Problem 2 + - name: Rich NFT id: problem-2 uses: classroom-resources/autograding-command-grader@v1 with: - test-name: Problem 2 - command: cd hw && forge test --mt testFuzz_SetNumber + test-name: Rich NFT + command: cd hw && forge test --mc RichNFTTest --mt testExploit timeout: 10 - max-score: 10 + max-score: 15 + + ## Modify Problem 3 Configuration + - name: MultiPair + id: problem-3 + uses: classroom-resources/autograding-command-grader@v1 + with: + test-name: MultiPair + command: cd hw && forge test --mc MultiPairTest --mt testExploit + timeout: 10 + max-score: 20 - ## Add More Problem Below - ## Problem 3 ... - ## Problem 4 ... + - name: Sasha + id: problem-4 + uses: classroom-resources/autograding-command-grader@v1 + with: + test-name: Sasha + command: cd hw && forge test --mc SashaTest --mt testExploit + timeout: 10 + max-score: 25 + + - name: SashaV2 + id: problem-5 + uses: classroom-resources/autograding-command-grader@v1 + with: + test-name: SashaV2 + command: cd hw && forge test --mc SashaV2Test --mt testExploit + timeout: 10 + max-score: 30 ## Modify Autograding Reporter ## If new problems are added, remember to add new grading actions below @@ -65,5 +78,8 @@ jobs: env: PROBLEM-1_RESULTS: "${{steps.problem-1.outputs.result}}" PROBLEM-2_RESULTS: "${{steps.problem-2.outputs.result}}" + PROBLEM-3_RESULTS: "${{steps.problem-3.outputs.result}}" + PROBLEM-4_RESULTS: "${{steps.problem-4.outputs.result}}" + PROBLEM-5_RESULTS: "${{steps.problem-5.outputs.result}}" with: - runners: problem-1, problem-2 + runners: problem-1, problem-2, problem-3, problem-4, problem-5 diff --git a/.gitmodules b/.gitmodules index 2de4f8d..7ab2600 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,9 @@ [submodule "hw/lib/forge-std"] path = hw/lib/forge-std url = https://github.com/foundry-rs/forge-std +[submodule "hw/lib/openzeppelin-contracts"] + path = hw/lib/openzeppelin-contracts + url = https://github.com/OpenZeppelin/openzeppelin-contracts +[submodule "hw/lib/pyth-sdk-solidity"] + path = hw/lib/pyth-sdk-solidity + url = https://github.com/pyth-network/pyth-sdk-solidity diff --git a/README.md b/README.md index c276c00..993fb09 100644 --- a/README.md +++ b/README.md @@ -1,62 +1 @@ -# HW-Template - -Assignment Template for GitHub Classroom - -## Introduction - -This tutorial will guide you through creating your assignment locally and configuring it on GitHub Classroom. Follow the step-by-step instructions carefully to ensure each step is completed correctly. - -## Create An Assignment on GitHub -1. Create a new repository by clicking the `Use this template` button. -2. Rename the repository using the format `2024-Fall-HW*`. -3. Choose repository visibility; `Public` is recommended. -4. Design your assignment in the `src/` and `test/` folders. - - Grading should be based on whether the Foundry tests pass or fail. - - Do not support analyzing output content for grading. - - If you install external libraries, run `forge remappings` to link them. -5. Update the autograding configuration in `.github/workflows/test.yml`. - - Copy the `Problem Template` and adjust the `name`, `id`, `test-name`, `command`, `timeout`, and `max-score`. - - Add a new entry in `Autograding Reporter` (at the end of the YAML configuration). -6. Commit the changes and push them to GitHub. -7. Check the GitHub Actions and open the `Autograding Tests` workflow to ensure the auto-grading succeeds. - -![auto-grading-result](./images/auto-grading-result.png) - -## Create An Assignemnt on GitHub Classroom - -1. Go to the relevant GitHub Classroom page. -2. Click the green `+ New Assignment` button. -3. Set up the `Assignment basics` section. - - Enter the assignment title using the format `2024-Fall-HW*``. - - Select deadline, and select `This is a cutoff date`[1]. - - Select individual / group assignment -4. Setup `Starter code and environment` section - - Select the repo for this assignment in the `Find a GitHub repository section`. - - Choose repo visibility, recommend `Private`[2] access. -5. Setup `Grading and feedback` section - - Leave the `Add autograding tests` section empty, as grading rules are already configured. - - Enter protected file path, recommend adding `.github/**/*` since grading rules should not be altered[3]. - - Select `Enable feedback pull requests` to create PR on each assignment. -6. Finish assignment creation, send the invitation code to the students and starting coding! - - -NOTE: -[1] Once the cutoff date option is selected, student will lose write access to their repository after deadline. -[2] `Private` access means students will create private repositories when receiving the invitation link. -[3] For CTF problems, the `src/` folder should be locked. If students need to fill in blanks in the source contract, consider locking the corresponding test files. - -## Check the Assignment Status on GitHub Classroom - -1. Check the students' repositories by clicking the `Repository` button on the right side. -2. Provide feedback by clicking the `Feedback` button on the right side and leave comments on the PR. -3. Verify whether students have submitted the assignment and review grading results. -4. Check if students have altered any protected files or folders. - -There are several examples: - -- Students not submit the assignment. -![hw-status-not-submitted](./images/hw-status-not-submitted.png) -- Students complete the assignment -![hw-status-submitted](./images/hw-status-submitted.png) -- Student change the protected files and folders -![hw-status-modify-files](./images/hw-status-modify-files.png) \ No newline at end of file +# 2024-Fall-DeFi-HW3 \ No newline at end of file diff --git a/hw/lib/openzeppelin-contracts b/hw/lib/openzeppelin-contracts new file mode 160000 index 0000000..72c152d --- /dev/null +++ b/hw/lib/openzeppelin-contracts @@ -0,0 +1 @@ +Subproject commit 72c152dc1c41f23d7c504e175f5b417fccc89426 diff --git a/hw/lib/pyth-sdk-solidity b/hw/lib/pyth-sdk-solidity new file mode 160000 index 0000000..11d6bcf --- /dev/null +++ b/hw/lib/pyth-sdk-solidity @@ -0,0 +1 @@ +Subproject commit 11d6bcfc2e56885535a9a8e3c8417847cb20be14 diff --git a/hw/remappings.txt b/hw/remappings.txt index e69de29..254842b 100644 --- a/hw/remappings.txt +++ b/hw/remappings.txt @@ -0,0 +1,6 @@ +@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/ +ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/ +erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/ +forge-std/=lib/forge-std/src/ +halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/ +openzeppelin-contracts/=lib/openzeppelin-contracts/ \ No newline at end of file diff --git a/hw/script/Counter.s.sol b/hw/script/Counter.s.sol deleted file mode 100644 index cdc1fe9..0000000 --- a/hw/script/Counter.s.sol +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import {Script, console} from "forge-std/Script.sol"; -import {Counter} from "../src/Counter.sol"; - -contract CounterScript is Script { - Counter public counter; - - function setUp() public {} - - function run() public { - vm.startBroadcast(); - - counter = new Counter(); - - vm.stopBroadcast(); - } -} diff --git a/hw/src/Counter.sol b/hw/src/Counter.sol deleted file mode 100644 index aded799..0000000 --- a/hw/src/Counter.sol +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -contract Counter { - uint256 public number; - - function setNumber(uint256 newNumber) public { - number = newNumber; - } - - function increment() public { - number++; - } -} diff --git a/hw/src/RichNFT.sol b/hw/src/RichNFT.sol new file mode 100644 index 0000000..ec4669c --- /dev/null +++ b/hw/src/RichNFT.sol @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +contract RichNFT is ERC721 { + IERC20 public weth; // Wrapped Ether token + IERC20 public usdc; // USDC token + + uint256 public nextTokenId = 1; + uint256 public constant WETH_THRESHOLD = 10000 * 1e18; // 10000 WETH + uint256 public constant USDC_THRESHOLD = 10000 * 1e6; // 10000 USDC + + mapping(address => bool) isMinted; + + constructor(address _weth, address _usdc) ERC721("ExclusiveNFT", "ENFT") { + weth = IERC20(_weth); + usdc = IERC20(_usdc); + } + + function mintRichNFT() external { + require(isMinted[msg.sender] == false, "You are rich already"); + require(weth.balanceOf(msg.sender) >= WETH_THRESHOLD, "Insufficient WETH balance"); + require(usdc.balanceOf(msg.sender) >= USDC_THRESHOLD, "Insufficient USDC balance"); + + uint256 tokenId = nextTokenId; + + isMinted[msg.sender] = true; + + weth.transfer(msg.sender, weth.balanceOf(address(this))); + usdc.transfer(msg.sender, usdc.balanceOf(address(this))); + + _safeMint(msg.sender, tokenId); + nextTokenId++; + } +} diff --git a/hw/src/TrustedOracle.sol b/hw/src/TrustedOracle.sol new file mode 100644 index 0000000..ee93370 --- /dev/null +++ b/hw/src/TrustedOracle.sol @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; + +import "./interface.sol"; + +interface ITrustedOracle { + function getPrice() external view returns (uint256); +} + +contract TrustedOracle { + address public owner; + + address[] oracles; + + event AddNewOracle(address oracle); + + constructor() payable { + owner = msg.sender; + } + + modifier onlyOwner() { + require(msg.sender == owner, "Not Owner"); + _; + } + + function addOracle(address oracle) external payable onlyOwner { + oracles.push(oracle); + emit AddNewOracle(oracle); + } + + function getAveragePrice() external payable returns (uint256) { + uint256 price = 0; + uint256 count = getOracleCount(); + for (uint256 i = 0; i < count; i++) { + price += ITrustedOracle(oracles[i]).getPrice(); + } + + return price / count; + } + + function getOracleCount() public view returns (uint256) { + return oracles.length; + } +} + +interface AggregatorV3Interface { + function latestRoundData() + external + view + returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound); +} + +contract ChainlinkOracle { + AggregatorV3Interface internal priceFeed; + + constructor(address addr) { + priceFeed = AggregatorV3Interface(addr); + } + + function getPrice() public view returns (uint256) { + (, int256 price,,,) = priceFeed.latestRoundData(); + + return uint256(price); + } + + function getDecimals() public pure returns (uint8) { + return 8; + } +} diff --git a/hw/src/interface.sol b/hw/src/interface.sol new file mode 100644 index 0000000..e7b9617 --- /dev/null +++ b/hw/src/interface.sol @@ -0,0 +1,190 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface ISwapV2Router02 { + function factory() external pure returns (address); + + function WETH() external pure returns (address); + + function addLiquidity( + address tokenA, + address tokenB, + uint256 amountADesired, + uint256 amountBDesired, + uint256 amountAMin, + uint256 amountBMin, + address to, + uint256 deadline + ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity); + + function addLiquidityETH( + address token, + uint256 amountTokenDesired, + uint256 amountTokenMin, + uint256 amountETHMin, + address to, + uint256 deadline + ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); + + function removeLiquidity( + address tokenA, + address tokenB, + uint256 liquidity, + uint256 amountAMin, + uint256 amountBMin, + address to, + uint256 deadline + ) external returns (uint256 amountA, uint256 amountB); + + function removeLiquidityETH( + address token, + uint256 liquidity, + uint256 amountTokenMin, + uint256 amountETHMin, + address to, + uint256 deadline + ) external returns (uint256 amountToken, uint256 amountETH); + + function removeLiquidityWithPermit( + address tokenA, + address tokenB, + uint256 liquidity, + uint256 amountAMin, + uint256 amountBMin, + address to, + uint256 deadline, + bool approveMax, + uint8 v, + bytes32 r, + bytes32 s + ) external returns (uint256 amountA, uint256 amountB); + + function removeLiquidityETHWithPermit( + address token, + uint256 liquidity, + uint256 amountTokenMin, + uint256 amountETHMin, + address to, + uint256 deadline, + bool approveMax, + uint8 v, + bytes32 r, + bytes32 s + ) external returns (uint256 amountToken, uint256 amountETH); + + function swapExactTokensForTokens( + uint256 amountIn, + uint256 amountOutMin, + address[] calldata path, + address to, + uint256 deadline + ) external returns (uint256[] memory amounts); + + function swapTokensForExactTokens( + uint256 amountOut, + uint256 amountInMax, + address[] calldata path, + address to, + uint256 deadline + ) external returns (uint256[] memory amounts); + + function swapExactETHForTokens(uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) + external + payable + returns (uint256[] memory amounts); + + function swapTokensForExactETH( + uint256 amountOut, + uint256 amountInMax, + address[] calldata path, + address to, + uint256 deadline + ) external returns (uint256[] memory amounts); + + function swapExactTokensForETH( + uint256 amountIn, + uint256 amountOutMin, + address[] calldata path, + address to, + uint256 deadline + ) external returns (uint256[] memory amounts); + + function swapETHForExactTokens(uint256 amountOut, address[] calldata path, address to, uint256 deadline) + external + payable + returns (uint256[] memory amounts); + + function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) external pure returns (uint256 amountB); + + function getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut) + external + pure + returns (uint256 amountOut); + + function getAmountIn(uint256 amountOut, uint256 reserveIn, uint256 reserveOut) + external + pure + returns (uint256 amountIn); + + function getAmountsOut(uint256 amountIn, address[] calldata path) + external + view + returns (uint256[] memory amounts); + + function getAmountsIn(uint256 amountOut, address[] calldata path) + external + view + returns (uint256[] memory amounts); +} + +interface IUniswapV2Pair { + event Approval(address indexed owner, address indexed spender, uint256 value); + event Transfer(address indexed from, address indexed to, uint256 value); + + function name() external pure returns (string memory); + function symbol() external pure returns (string memory); + function decimals() external pure returns (uint8); + function totalSupply() external view returns (uint256); + function balanceOf(address owner) external view returns (uint256); + function allowance(address owner, address spender) external view returns (uint256); + + function approve(address spender, uint256 value) external returns (bool); + function transfer(address to, uint256 value) external returns (bool); + function transferFrom(address from, address to, uint256 value) external returns (bool); + + function DOMAIN_SEPARATOR() external view returns (bytes32); + function PERMIT_TYPEHASH() external pure returns (bytes32); + function nonces(address owner) external view returns (uint256); + + function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) + external; + + event Mint(address indexed sender, uint256 amount0, uint256 amount1); + event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to); + event Swap( + address indexed sender, + uint256 amount0In, + uint256 amount1In, + uint256 amount0Out, + uint256 amount1Out, + address indexed to + ); + event Sync(uint112 reserve0, uint112 reserve1); + + function MINIMUM_LIQUIDITY() external pure returns (uint256); + function factory() external view returns (address); + function token0() external view returns (address); + function token1() external view returns (address); + function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); + function price0CumulativeLast() external view returns (uint256); + function price1CumulativeLast() external view returns (uint256); + function kLast() external view returns (uint256); + + function mint(address to) external returns (uint256 liquidity); + function burn(address to) external returns (uint256 amount0, uint256 amount1); + function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data) external; + function skim(address to) external; + function sync() external; + + function initialize(address, address) external; +} diff --git a/hw/test/Counter.t.sol b/hw/test/Counter.t.sol deleted file mode 100644 index 54b724f..0000000 --- a/hw/test/Counter.t.sol +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import {Test, console} from "forge-std/Test.sol"; -import {Counter} from "../src/Counter.sol"; - -contract CounterTest is Test { - Counter public counter; - - function setUp() public { - counter = new Counter(); - counter.setNumber(0); - } - - function test_Increment() public { - counter.increment(); - assertEq(counter.number(), 1); - } - - function testFuzz_SetNumber(uint256 x) public { - counter.setNumber(x); - assertEq(counter.number(), x); - } -} diff --git a/hw/test/MultiPair/MultiPair.t.sol b/hw/test/MultiPair/MultiPair.t.sol new file mode 100644 index 0000000..fcd830d --- /dev/null +++ b/hw/test/MultiPair/MultiPair.t.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Test, console2} from "forge-std/Test.sol"; + +import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import {MultiPairBaseTest} from "./MultiPairBase.t.sol"; + +contract MultiPairTest is MultiPairBaseTest { + function testExploit() external validation {} +} diff --git a/hw/test/MultiPair/MultiPairBase.t.sol b/hw/test/MultiPair/MultiPairBase.t.sol new file mode 100644 index 0000000..5a1aa9b --- /dev/null +++ b/hw/test/MultiPair/MultiPairBase.t.sol @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Test, console2} from "forge-std/Test.sol"; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +import "../../src/interface.sol"; + +contract Token is ERC20 { + constructor(string memory name, string memory symbol, uint256 initialMint) ERC20(name, symbol) { + _mint(msg.sender, initialMint); + } +} + +contract MultiPairBaseTest is Test { + /// State Variable + // Role + address internal admin; + address internal arbitrager; + + // Constant + uint256 internal constant INIT_SUPPLY = 100 ether; + ISwapV2Router02 router = ISwapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); + + // Token + Token tokenA; + Token tokenB; + Token tokenC; + Token tokenD; + Token tokenE; + + // Modifier + modifier validation() { + vm.startPrank(arbitrager); + uint256 tokensBefore = tokenB.balanceOf(arbitrager); + _; + uint256 tokensAfter = tokenB.balanceOf(arbitrager); + assertGt(tokensAfter, 20 ether); + vm.stopPrank(); + } + + /// Setup function + function setUp() public { + vm.createSelectFork("https://rpc.ankr.com/eth", 20933505); + admin = makeAddr("admin"); + arbitrager = makeAddr("arbitrager"); + + vm.startPrank(admin); + + tokenA = new Token("tokenA", "A", INIT_SUPPLY); + tokenB = new Token("tokenB", "B", INIT_SUPPLY); + tokenC = new Token("tokenC", "C", INIT_SUPPLY); + tokenD = new Token("tokenD", "D", INIT_SUPPLY); + tokenE = new Token("tokenE", "E", INIT_SUPPLY); + + tokenA.approve(address(router), INIT_SUPPLY); + tokenB.approve(address(router), INIT_SUPPLY); + tokenC.approve(address(router), INIT_SUPPLY); + tokenD.approve(address(router), INIT_SUPPLY); + tokenE.approve(address(router), INIT_SUPPLY); + + _addLiquidity(address(tokenA), address(tokenB), 17 ether, 10 ether); + _addLiquidity(address(tokenA), address(tokenC), 11 ether, 7 ether); + _addLiquidity(address(tokenA), address(tokenD), 15 ether, 9 ether); + _addLiquidity(address(tokenA), address(tokenE), 21 ether, 5 ether); + _addLiquidity(address(tokenB), address(tokenC), 36 ether, 4 ether); + _addLiquidity(address(tokenB), address(tokenD), 13 ether, 6 ether); + _addLiquidity(address(tokenB), address(tokenE), 25 ether, 3 ether); + _addLiquidity(address(tokenC), address(tokenD), 30 ether, 12 ether); + _addLiquidity(address(tokenC), address(tokenE), 10 ether, 8 ether); + _addLiquidity(address(tokenD), address(tokenE), 60 ether, 25 ether); + + tokenB.transfer(arbitrager, 5 ether); + + vm.stopPrank(); + } + + function _addLiquidity(address token0, address token1, uint256 token0Amount, uint256 token1Amount) internal { + router.addLiquidity( + token0, token1, token0Amount, token1Amount, token0Amount, token1Amount, admin, block.timestamp + ); + } +} diff --git a/hw/test/RichNFT/RichNFT.t.sol b/hw/test/RichNFT/RichNFT.t.sol new file mode 100644 index 0000000..fccaa1b --- /dev/null +++ b/hw/test/RichNFT/RichNFT.t.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Test, console2} from "forge-std/Test.sol"; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import {RichNFTBaseTest} from "./RichNFTBase.t.sol"; + +import "../../src/interface.sol"; + +contract RichNFTTest is RichNFTBaseTest { + function testExploit() public validation {} +} diff --git a/hw/test/RichNFT/RichNFTBase.t.sol b/hw/test/RichNFT/RichNFTBase.t.sol new file mode 100644 index 0000000..493b775 --- /dev/null +++ b/hw/test/RichNFT/RichNFTBase.t.sol @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Test, console2} from "forge-std/Test.sol"; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import {RichNFT} from "../../src/RichNFT.sol"; + +import "../../src/interface.sol"; + +contract RichNFTBaseTest is Test { + /// State Variable + // Role + address internal admin; + + address internal pair = 0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc; + address internal usdc = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48; // USDC + address internal weth = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; // WETH + + RichNFT internal nft; + + // Modifier + modifier validation() { + assertEq(nft.balanceOf(address(this)), 0); + _; + assertEq(nft.balanceOf(address(this)), 1); + } + + /// Setup function + function setUp() public { + vm.createSelectFork("https://rpc.ankr.com/eth", 20933505); + admin = makeAddr("admin"); + + deal(weth, admin, 40 * 1e18); + deal(usdc, admin, 40 * 1e6); + + vm.startPrank(admin); + nft = new RichNFT(weth, usdc); + + IERC20(weth).transfer(address(nft), 40 * 1e18); + IERC20(usdc).transfer(address(nft), 40 * 1e6); + + vm.stopPrank(); + } +} diff --git a/hw/test/Sasha/Sasha.t.sol b/hw/test/Sasha/Sasha.t.sol new file mode 100644 index 0000000..1b5bca5 --- /dev/null +++ b/hw/test/Sasha/Sasha.t.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Test, console2} from "forge-std/Test.sol"; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +import {SashaBaseTest} from "./SashaBase.t.sol"; + +import "../../src/interface.sol"; + +contract SashaTest is SashaBaseTest { + function testExploit() public validation {} +} diff --git a/hw/test/Sasha/SashaBase.t.sol b/hw/test/Sasha/SashaBase.t.sol new file mode 100644 index 0000000..ccd4bf4 --- /dev/null +++ b/hw/test/Sasha/SashaBase.t.sol @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Test, console2} from "forge-std/Test.sol"; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +import "../../src/interface.sol"; + +contract Token is ERC20 { + constructor(string memory name, string memory symbol, uint256 initialMint) ERC20(name, symbol) { + _mint(msg.sender, initialMint); + } +} + +contract SashaBaseTest is Test { + /// State Variable + + // Role + address internal admin; + address internal arbitrager; + + // Constant + uint256 internal constant INIT_SUPPLY = 100 ether; + + // Router + ISwapV2Router02 UniRouter = ISwapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); + ISwapV2Router02 PankcakeRouter = ISwapV2Router02(0xEfF92A263d31888d860bD50809A8D171709b7b1c); + + // Token + address internal LiaoToken; + address internal DAI = 0x6B175474E89094C44Da98b954EedeAC495271d0F; + + // Modifier + modifier validation() { + vm.startPrank(arbitrager); + uint256 tokensBefore = ERC20(DAI).balanceOf(address(arbitrager)); + _; + uint256 tokensAfter = ERC20(DAI).balanceOf(address(arbitrager)); + assertGt(tokensAfter, tokensBefore); + vm.stopPrank(); + } + + /// Setup function + function setUp() public { + vm.createSelectFork("https://rpc.ankr.com/eth", 20933505); + + admin = makeAddr("admin"); + arbitrager = makeAddr("arbitrager"); + + vm.startPrank(admin); + + // Environment Configuration + deal(DAI, admin, INIT_SUPPLY); + + LiaoToken = address(new Token("LiaoToken", "LT", INIT_SUPPLY)); + + // // PancakeSwap Pool + _addLiquidity(PankcakeRouter, LiaoToken, DAI, 10 ether, 20 ether); + + // Uniswap Pool + _addLiquidity(UniRouter, LiaoToken, DAI, 10 ether, 10 ether); + + ERC20(DAI).transfer(arbitrager, 3 ether); + + vm.stopPrank(); + } + + function _addLiquidity( + ISwapV2Router02 router, + address token0, + address token1, + uint256 token0Amount, + uint256 token1Amount + ) internal { + ERC20(token0).approve(address(router), type(uint256).max); + ERC20(token1).approve(address(router), type(uint256).max); + router.addLiquidity( + token0, token1, token0Amount, token1Amount, token0Amount, token1Amount, admin, block.timestamp + ); + } +} diff --git a/hw/test/SashaV2/SashaV2.t.sol b/hw/test/SashaV2/SashaV2.t.sol new file mode 100644 index 0000000..3314c8f --- /dev/null +++ b/hw/test/SashaV2/SashaV2.t.sol @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Test, console2} from "forge-std/Test.sol"; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import "../../src/interface.sol"; + +contract Token is ERC20 { + constructor(string memory name, string memory symbol, uint256 initialMint) ERC20(name, symbol) { + _mint(msg.sender, initialMint); + } +} + +contract SashaV2BaseTest is Test { + /// State Variable + + // Role + address internal admin; + address internal arbitrager; + + // Constant + uint256 internal constant INIT_SUPPLY = 100 ether; + + // Router + ISwapV2Router02 UniRouter = ISwapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); + ISwapV2Router02 PankcakeRouter = ISwapV2Router02(0xEfF92A263d31888d860bD50809A8D171709b7b1c); + + // Contract + address internal Balancer = 0xBA12222222228d8Ba445958a75a0704d566BF2C8; + + // Token + address internal LiaoToken; + address internal DAI = 0x6B175474E89094C44Da98b954EedeAC495271d0F; + + // Modifier + modifier validation() { + uint256 tokensBefore = ERC20(DAI).balanceOf(address(this)); + _; + uint256 tokensAfter = ERC20(DAI).balanceOf(address(this)); + assertGt(tokensAfter, tokensBefore); + } + + /// Setup function + function setUp() public { + vm.createSelectFork("https://rpc.ankr.com/eth", 20933505); + + admin = makeAddr("admin"); + arbitrager = makeAddr("arbitrager"); + + vm.startPrank(admin); + + // Environment Configuration + deal(DAI, admin, INIT_SUPPLY); + + LiaoToken = address(new Token("LiaoToken", "LT", INIT_SUPPLY)); + + // // PancakeSwap Pool + _addLiquidity(PankcakeRouter, LiaoToken, DAI, 10 ether, 20 ether); + + // Uniswap Pool + _addLiquidity(UniRouter, LiaoToken, DAI, 10 ether, 10 ether); + + vm.stopPrank(); + } + + function _addLiquidity( + ISwapV2Router02 router, + address token0, + address token1, + uint256 token0Amount, + uint256 token1Amount + ) internal { + ERC20(token0).approve(address(router), type(uint256).max); + ERC20(token1).approve(address(router), type(uint256).max); + router.addLiquidity( + token0, token1, token0Amount, token1Amount, token0Amount, token1Amount, admin, block.timestamp + ); + } +} diff --git a/hw/test/SashaV2/SashaV2Base.t.sol b/hw/test/SashaV2/SashaV2Base.t.sol new file mode 100644 index 0000000..71aa978 --- /dev/null +++ b/hw/test/SashaV2/SashaV2Base.t.sol @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Test, console2} from "forge-std/Test.sol"; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import {SashaV2BaseTest} from "./SashaV2.t.sol"; + +import "../../src/interface.sol"; + +contract SashaV2Test is SashaV2BaseTest { + function testExploit() public validation {} +} diff --git a/hw/test/TrustedOracle/TrustedOracle.t.sol b/hw/test/TrustedOracle/TrustedOracle.t.sol new file mode 100644 index 0000000..39dc15b --- /dev/null +++ b/hw/test/TrustedOracle/TrustedOracle.t.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Test, console2} from "forge-std/Test.sol"; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import {TrustedOracleBaseTest} from "./TrustedOracleBase.t.sol"; + +import "../../src/interface.sol"; + +contract TrustedOracleTest is TrustedOracleBaseTest { + function testExploit() public { + uint256 price0 = oracle0.getPrice(); + + assertEq(price0, 99995864); + + uint256 price1 = oracle1.getPrice(); + + assertEq(price1, 99877361); + + uint256 price2 = oracle2.getPrice(); + + assertEq(price2, 99847951); + + uint256 averagePrice = trustedOracle.getAveragePrice(); + + assertEq(averagePrice, 99907058); + } +} diff --git a/hw/test/TrustedOracle/TrustedOracleBase.t.sol b/hw/test/TrustedOracle/TrustedOracleBase.t.sol new file mode 100644 index 0000000..116e3b0 --- /dev/null +++ b/hw/test/TrustedOracle/TrustedOracleBase.t.sol @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Test, console2} from "forge-std/Test.sol"; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import {TrustedOracle, ChainlinkOracle} from "../../src/TrustedOracle.sol"; + +import "../../src/interface.sol"; + +contract TrustedOracleBaseTest is Test { + /// State Variable + address internal admin; + + TrustedOracle internal trustedOracle; + + ChainlinkOracle internal oracle0; + ChainlinkOracle internal oracle1; + ChainlinkOracle internal oracle2; + + /// Setup function + function setUp() public { + vm.createSelectFork("https://rpc.ankr.com/eth", 20933505); + admin = makeAddr("admin"); + + vm.startPrank(admin); + trustedOracle = new TrustedOracle(); + + address priceFeed0 = 0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6; // USDC <> USD + oracle0 = new ChainlinkOracle(priceFeed0); + + address priceFeed1 = 0x3E7d1eAB13ad0104d2750B8863b489D65364e32D; // USDT <> USD + oracle1 = new ChainlinkOracle(priceFeed1); + + address priceFeed2 = 0xa569d910839Ae8865Da8F8e70FfFb0cBA869F961; // USDe <> USD + oracle2 = new ChainlinkOracle(priceFeed2); + + trustedOracle.addOracle(address(oracle0)); + + trustedOracle.addOracle(address(oracle1)); + + trustedOracle.addOracle(address(oracle2)); + + vm.stopPrank(); + } +} diff --git a/images/auto-grading-result.png b/images/auto-grading-result.png deleted file mode 100644 index 013f4e7b45ed3af56610b9f43fcec7f3a5d5e588..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101031 zcmagG1z1#3*EUQFf`TB3(%m5_-6GxH&CoD(Hz?9wQqtYsAPoW%1JX$MP{WYJH$LzC z#QXf}&vl(^4(IH>*V${Yz0X?rz4i%HQjmO#L5P8XfbdjW>b(jA0_rvb0#XwCBlwk4 zJpL{O1VmLUF)<}+F)?x_C!o2NEdT+5KF&3^M;1x>*+5qXeoqKSJ4kdlHb|oU5eX+Y zp^Mhr$<_)*-C$Sma;B|^XD$bNp{?SfNL8)}I-=tKqV7Gi!!}tOW#Y(h&Nnu^&p#s4 zss%gCqJFQ|r_0vIOlfNDg>hf8hmxD)aB3wKx%vh(Umb5udIwS7n(B@7jTCT9FZVnB zJagGH30!@E#E5^60=d^>qT?I*#0Qs-m5|@ABaNgAjfoARxzoL_mZ8;=+&jUy%NJ7j^p!@;}d!l71BwRTYz# zhX1OXIspLo&XzzI-jcNhcvEv$YFaK@@^XBpKs#1rGoT58)x*x=R}};S4?g&*9l*ty z+{4b+-kHxskn$fT_~7TiF0)aR|D%YDjUc6#yb`$>&h(S`M1RXsHyeun(UnHum7{^ zf86@-s_M=FCo!NMT&9cAzlY|3EC1)s|E(y%_N(jvp^E>}^FOY_6)l7z!1k{}6T+Z; zCj%dI5d`V?qG}$9hs$UlYW;+d*4XmJaM3&F0$lKvKVPgUBPOw$b!AFrLaC6p$Q10F9Q&Z};J^PJH3$?`XUsHt&x3VVc! zN-u(lp%j3G_XXiMr;6g_)2h6fitqkX2JcJ23nQZ}Y^2}R|5vMP3>dFpKj77PGX7Z@ zydnK}DD!nY0cGh##3UI;rltwsE0-kxCflPDH8(F0hww!Z8Wh|+0k&^{!8J?k-_X<~ z2}45txw%UW4qW793kpPZcV@N3BfdcXJ((^dXfA^+?UwYJEkPTBHh zov`PrDHoi?48W-HgTJa$njluIt#64%Hlw?JGtnaFck2FU>q_KXNV6u#j!5SmlT80V zL&QK({lYosd1_Nljr4Vz7V_UlApq%r$`(EUdnqfr?rxuj`C9Y84VDNo;-l@2SO?U< zwMBk}ayV7FUtiKuHTlcn!@_H(P}S7m_sD{%QJ43KN&FIm+omi9^V_Y@@YV-8kh9rk^Z1ijsO`1$F|O3hhxz8nz&sSi>uYRj1rx^K}&1*L93e$Ax2`e{zBtdj34?MNp{e zAKV6`n|%+GA4!+JG;htm<1DeVqHb!JL*jQF!JB?g9q6eIr55iV)hrGmS!~>^X9G3@ zfg}2>^`6cb$BP7+D}F>!@bWYWs*HHt$|xw;HfJ~|x)Wa@(=#ye=ztqIaM|@RFf*J0 zp+C*(4W;sj-F^D>sr%Y_=e5g;5egdG0iQvI4*vb4CnA@`yw6^|_-HsI#e_#pKjZWUWw@UNtyb)n*dDX`EUL^HyE-rn7uD-pYSp6+^ z77&WChRNc&JHgklpAB}jUzD0k##pB`saXVM04I)@*;#u(QuqfVp+9}v--C?y`m(I* z0>)9QKXo+Z`^>#%fGLH|hFe%zxFe?C`7U4jgkBrh&CRXZ@1Bn~iY#WjNMY~jfXnV{ zXNR})^;Sw8ud{ii3e>1?chXC@Y_?)j&o#GRMbwL7-LS|&a2bcnu+wVaGoDMfrhKQu z?MM!42<{gC*OKyIGeqR$i>uqJuIlYML*;5E3b`~P!SMzuftox*ye#>rLeY_tef#QV z)mr^_3A!q8&9sBo9;1!}(mlTjv_vJ`C!DDwnts(B#W|Da$IUL{w|61XxQ zeL?)Ai>$!F1F>#<9HcJwML(#&vNUUqht{!!1wdFr8(_W6^lx4LzI`y}o%$xVr(7fWT+O z^c80SO2w9s-9jUX1W^);OhN;63{_X~Vvx4VTVanAo+4$yzgKodx5g~{)?0y6Uv z35zR5!|NwNAa%4Y_u}y|{RddYyAPNfM4am@^l#K9->20ATty7^oVG?jNUIio)ps?L z!eJ|!o|_{eQZEX2`Bbjcq5@0+yy|Bw@QxvkHRO|8^Y6GR316zKQV$SryXgy0 z^o8g&8p|e^qtvk6hZkWR(A9%w{^CgpF7w0s`2+$9IRtNw!*l3mn1#e68Z>4)kP`)u0vQghG>!X(2+J>CvxJ9!x*$hf)x+2&Y83@Ett z<49ia$S`#tv|odC!HtBkdw7^()^$QH6WG0+PdTe>k74LfD+cU{Rk?`$;K& za?*o*4{K|cT$M{NoM7z2h&Ad;C7j5PyaE^bkr?5%u$|e2Jf~Ag&C+k#!A(r@CI|Ea zyNqG${jH=M*Nx?a#WCPNO`dLlU6I;yDFF?Rf+bA!@5trZ7vZXSsoX(H5?CG^bvV@A zLEDN8JT`;Unb~ENGaR^ve2+FW2CmDG9;gq@^6T%^dIks4KsK{)w+z9B5^6CIHwSbj zxcF*1#Mf5AIEg7T)Tzup_R@QlRGl;(Q8kd zrzbzfW-!N!`b!*k!sA_ z2Wm7mLeZpeB+xFwt6f!+-m=k`xTK_BWK@~*sX8ecl&&xPU#78TCoD;9tVx2W=E?KE z)8I#bGiOG0Fs;?ji*o-)o1Nr50vX!%VOTe}x2RW?SRgtOd-skslVw|ecJw-ulEDv` z5jQo3GLvfCE>0P?oyiaeO8Cy(9Q6lx8gJ+a5-xU1%9CA~+8Egaa81O;>!8BSaAsr3 zsTSMUC*bXSq*L6tieq2eGejl&(+Q*%O*bnP>FI$-TIXK4I+dDTomlVOl}i*N=bS*u zl;SFV0%{3qGI90H5^-<2lly%J3|{rK1a7~xrtVZWQ&DAzHyB98Yml7C8Zd9aUGXm5 zx_V(Y)4bX3e=x>qdAMG zr@tTdh)l4YgVJyWkJIxYc0y>nYGNj&3KIquCdo*#n_5X>)JzuFw=VHHRiQTWGg=ku zVCLP7qTKVQrU%a0l{Z};U(u7ZWnxWrz9~{nU!XWj<8iaicUI6|Boh2w}}Gkop+Iy484GN6J7hCEBY`tYKv?~4Iu z+E8xCB2ad?(+jxRSIs-`sE=Zm&*DemZ#%ypk|d{o`m^V#!_ur(!_R4VL4u(CV%)c^ zl@i6HPvg}%CF1lpao?sa?Gw$=J4!cD3OlB9ITvOXXwq^f9mL1|Bw#b>qv0&+K45HS zMYNFyQc*QWO|D5~&aMEEREB@9d@&ZwEV~!06WHfa4n)b=YUdacP-3B@`2joVB;@VP{uwo#MTu;%*2`r z>Sdc_5p`jY_kpN{Zmy;PS|qgDoRRx9&D1(0qf@e2JO|7g0eeHS_3t=N4=ep)lh0uz zZdNJm+O|FrN5MaN=qIbsQn^e&?!6Pb+NJ7PDp#fw4Bh2tT$C9c&xG&|ud`d-c}#Z> zYfCkBw`W{PBmE5H)CejZu)OQLEd&=yzgh?V!K>S_* zJbnIly#fsClsj6^8{e;+!!hYOmo?0FGh%1g1cqzVlDrGpq�FAw=GOx#Kj~J8d1e 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 diff --git a/images/hw-status-not-submitted.png b/images/hw-status-not-submitted.png deleted file mode 100644 index baed2ae19da8d1c8c454948614b60d2d6ac41bed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21509 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 diff --git a/images/hw-status-submitted.png b/images/hw-status-submitted.png deleted file mode 100644 index 74b455e9ddc4785441fd273982bd09a1944d755e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23831 zcmeEubyQrtKTh2p-&mySv)}2^!oXxVsPTkMG=b z&pr3vFKfNO-+HXQXPWM=>fN<#cUAqW_k<`ZNTQ(-qQJqyp-D@LtH8k_?mm~pUcY+& z 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 tel%IRcTD3Y0@YvgB3