![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cfyiWy/btsEoJ6BHfM/GalRwJJLd34yApKrVN6U00/img.png)
⛓️ 시리즈2024.01.30 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2ERC202024.01.31 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2Factory2024.01.31 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2Pair🔢112 부호가 없는 고정 소수점 타입을 선택한 이유 추적된 토큰 보유량은 각각 112비트로 저장된다. 이는 스토리지 슬롯의 224비트를 사용하고 32비트가 남는다는 뜻인데, 이 남는 공간에 32비트 타임스탬프 저장함으로써 스토리지 비용을 절약할 수 있다. 그런데, 누적된 가격의 합은 224비트로는 부족할 수 있다. 따라서 256비트 크기로 스토리..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bdY3es/btsEhqZNZV3/ZRgz19TRSJ4RlJNKpg2h3K/img.png)
⛓️ 시리즈 2024.01.30 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2ERC20 2024.01.31 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2Factory 🦄 IUniswapV2Pair.sol // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.19; // 유동성 풀의 토큰 쌍을 나타내는 인터페이스 interface IUniswapV2Pair { /* // solidity v0.8.0 이상에서는 상속 문제로 인해 UniswapV2ERC20와 충돌이 발생하므로 주석 처리 event Approval(address indexed owner, address in..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Co48L/btsEbyLxYRT/bGRbKflHkKiPMaGoY4BLjK/img.png)
⛓️ 시리즈 2024.01.30 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2ERC20 🦄 IUniswapV2Factory.sol // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.19; interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint ); // 페어 생성 이벤트 function feeTo() external view returns (address); // 수수료를 받을 주소를 반환 function feeToSetter() external view ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/VTThS/btsEeMnRYKk/iSzHbyXmbSKldgkvk2mlc0/img.png)
안녕하세요. piatoss입니다. Ethernaut 문제를 계속 푸는 와중에 Dex(Decentralized Exchange) 관련 문제가 나와서 찾아보다가 'Damn Vulnerable DeFi'라는 문제 사이트를 발견해서 그것도 조금 풀어보려는데 무슨 소리인지 하나도 안 들어오더라고요. 그래서 solidity를 계속 공부하려면 근본적으로 DEX가 무엇이고 어떻게 돌아가는지 이해가 필요할 것 같아서 Uniswap V2를 들고 와 봤습니다. V2면 V1도 있을 텐데 왜 V2부터 하냐고 물어보신다면, V1은 solidity가 아닌 vyper로 작성되어 있기 때문에 제가 읽을 수가 없습니다. 그래서 굳이 V1부터 시작하기보다는 가장 유명하고 여러 개선점들도 돋보이는 V2를 기준으로 시작해 볼까 합니다. 이론..