⛓️ 시리즈 2024.01.30 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2ERC20 2024.01.31 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2Factory 2024.01.31 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2Pair 2024.02.05 - [Solidity/DeFi] - [Uniswap] V2 Core 보충 자료 - 백서 읽기 2024.02.20 - [Solidity/DeFi] - [Uniswap] V2 Router 2024.02.21 - [Solidity/DeFi] - [Uniswap] V2 Oracle 예제 🦄 FlashSwap 플래시 스왑은 자산을 ..
⛓️ 시리즈 2024.01.30 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2ERC20 2024.01.31 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2Factory 2024.01.31 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2Pair 2024.02.05 - [Solidity/DeFi] - [Uniswap] V2 Core 보충 자료 - 백서 읽기 2024.02.20 - [Solidity/DeFi] - [Uniswap] V2 Router 🦄 TWAP Uniswap V2는 새로운 블록에서 최초로 컨트랙트가 호출되어 트랜잭션이 실행될 때 이전 블록에서의 마지막 가격 price0 ..
⛓️ 시리즈 2024.01.30 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2ERC20 2024.01.31 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2Factory 2024.01.31 - [Solidity/DeFi] - [Uniswap] V2 Core - UniswapV2Pair 2024.02.05 - [Solidity/DeFi] - [Uniswap] V2 Core 보충 자료 - 백서 읽기 🦄 Router 라우터는 코어 컨트랙트의 기능을 하나의 트랜잭션으로 손쉽게 호출할 수 있도록 편의성을 제공하는 함수들을 정의합니다. Uniswap V2에는 2 종류의 라우터가 정의되어 있습니다. 각각 01, 02를 붙여서 구분하는데..
⛓️ 시리즈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비트 크기로 스토리..
⛓️ 시리즈 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..
⛓️ 시리즈 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 ..
안녕하세요. piatoss입니다. Ethernaut 문제를 계속 푸는 와중에 Dex(Decentralized Exchange) 관련 문제가 나와서 찾아보다가 'Damn Vulnerable DeFi'라는 문제 사이트를 발견해서 그것도 조금 풀어보려는데 무슨 소리인지 하나도 안 들어오더라고요. 그래서 solidity를 계속 공부하려면 근본적으로 DEX가 무엇이고 어떻게 돌아가는지 이해가 필요할 것 같아서 Uniswap V2를 들고 와 봤습니다. V2면 V1도 있을 텐데 왜 V2부터 하냐고 물어보신다면, V1은 solidity가 아닌 vyper로 작성되어 있기 때문에 제가 읽을 수가 없습니다. 그래서 굳이 V1부터 시작하기보다는 가장 유명하고 여러 개선점들도 돋보이는 V2를 기준으로 시작해 볼까 합니다. 이론..