流動(dòng)性質(zhì)押挖礦開(kāi)發(fā)案例分析,流動(dòng)性質(zhì)押挖礦系統(tǒng)開(kāi)發(fā)邏輯及規(guī)則
單個(gè)池的交易過(guò)程 單個(gè)池的交易在exactInputSingle函數(shù)中: function exactInputSingle( uint256 amountIn, address recipient, SwapData memory data )private returns(uint256 amountOut){開(kāi)發(fā)技術(shù)詳細(xì)I35演示7O98案例o7I8 //將path解碼,獲取頭部的tokenIn,tokenOut,fee (address tokenIn,address tokenOut,uint24 fee)=data.path.decodeFirstPool(); //因?yàn)榻灰壮刂槐4媪藅oken x的價(jià)格,這里我們需要知道輸入的token是交易池x token還是y token bool zeroForOne=tokenIn<tokenOut;詳細(xì)了解:mrsfu123 //完成交易 (int256 amount0,int256 amount1)= getPool(tokenIn,tokenOut,fee).swap( recipient, zeroForOne, amountIn.toInt256(), zeroForOne?MIN_SQRT_RATIO:MAX_SQRT_RATIO, //給回調(diào)函數(shù)用的參數(shù) abi.encode(data) ); return uint256(-(zeroForOne?amount1:amount0)); } 交易過(guò)程就是先獲取交易池,然后需要確定本次交易輸入的是交易池的x token,還是y token,這是因?yàn)榻灰壮刂兄槐4媪藊的價(jià)格P??√=yx??√P=yx,x token和y token的計(jì)價(jià)公式是不一樣的。最后調(diào)用UniswapV3Pool的swap函數(shù)完成交易。