最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

阿凡達(dá)泰山眾籌(Avata)開(kāi)發(fā)功能版,阿凡達(dá)泰山眾籌(Avata)系統(tǒng)開(kāi)發(fā)技術(shù)分析及源碼

2023-03-01 10:58 作者:bili_16249894763  | 我要投稿

  New retail is a new retail model in which enterprises,relying on the Internet,upgrade and transform the production,circulation and sales process of goods by using advanced technology such as big data and artificial intelligence,and then reshape the business structure and ecosystem,and deeply integrate online services,offline experience and modern logistics.


  function removeLiquidityETHWithPermit(//WithPermit,移除時(shí),其中一個(gè)返回eth


  address token,


  uint liquidity,


  uint amountTokenMin,


  uint amountETHMin,


  address to,


  uint deadline,


  bool approveMax,uint8 v,bytes32 r,bytes32 s


  )external virtual override returns(uint amountToken,uint amountETH){


  /*


  獲取到pair,調(diào)用pair的permit(內(nèi)部實(shí)際就是授權(quán)給路由),


  */


  address pair=UniswapV2Library.pairFor(factory,token,WETH);


  uint value=approveMax?uint(-1):liquidity;模式及功能I35方案7O98開(kāi)發(fā)O7I8


  IUniswapV2Pair(pair).permit(msg.sender,address(this),value,deadline,v,r,s);


  //最終還是調(diào)用上面的removeLiquidityETH方法!


  (amountToken,amountETH)=removeLiquidityETH(token,liquidity,amountTokenMin,amountETHMin,to,deadline);


  }


  //****REMOVE LIQUIDITY(supporting fee-on-transfer tokens)****


  //移除流動(dòng)性(需要先授權(quán)),支持轉(zhuǎn)賬會(huì)扣手續(xù)費(fèi)的代幣s


  function removeLiquidityETHSupportingFeeOnTransferTokens(


  address token,


  uint liquidity,


  uint amountTokenMin,


  uint amountETHMin,


  address to,


  uint deadline


  )public virtual override ensure(deadline)returns(uint amountETH){


  //實(shí)際還是調(diào)用removeLiquidity,傳入的是weth,


  (,amountETH)=removeLiquidity(


  token,


  WETH,


  liquidity,


  amountTokenMin,//實(shí)際就是這兩個(gè)值,填很小,就可以成功


  amountETHMin,//實(shí)際就是這兩個(gè)值,填很小,就可以成功


  address(this),


  deadline


  );詳情及分析:MrsFu123


  //removeLiquidity返回的第一個(gè)參數(shù)是代幣數(shù)量,由于代幣轉(zhuǎn)賬會(huì)扣手續(xù)費(fèi),所以,實(shí)際到達(dá)路由的代幣數(shù)量并沒(méi)有這么多!直接取余額轉(zhuǎn)出


  TransferHelper.safeTransfer(token,to,IERC20(token).balanceOf(address(this)));//如果轉(zhuǎn)賬扣兩次手續(xù)費(fèi)..這里相當(dāng)于扣兩次,pair->router,router->to


  //將weth轉(zhuǎn)換eth,再轉(zhuǎn)給to,


  IWETH(WETH).withdraw(amountETH);


  TransferHelper.safeTransferETH(to,amountETH);


  }


  //同上,先驗(yàn)簽授權(quán),再調(diào)用上面的removeLiquidityETHSupportingFeeOnTransferTokens


  function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(


  address token,


  uint liquidity,


  uint amountTokenMin,


  uint amountETHMin,


  address to,


  uint deadline,


  bool approveMax,uint8 v,bytes32 r,bytes32 s


  )external virtual override returns(uint amountETH){


  address pair=UniswapV2Library.pairFor(factory,token,WETH);


  uint value=approveMax?uint(-1):liquidity;


  IUniswapV2Pair(pair).permit(msg.sender,address(this),value,deadline,v,r,s);


  amountETH=removeLiquidityETHSupportingFeeOnTransferTokens(


  token,liquidity,amountTokenMin,amountETHMin,to,deadline


  );


  }


阿凡達(dá)泰山眾籌(Avata)開(kāi)發(fā)功能版,阿凡達(dá)泰山眾籌(Avata)系統(tǒng)開(kāi)發(fā)技術(shù)分析及源碼的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
内乡县| 涟水县| 郁南县| 宜春市| 株洲市| 大悟县| 靖西县| 炉霍县| 大厂| 朝阳县| 磴口县| 新田县| 韶关市| 扶沟县| 宁化县| 垣曲县| 拜泉县| 托克逊县| 襄汾县| 滁州市| 峡江县| 武宣县| 万安县| 合江县| 江源县| 名山县| 海门市| 拉萨市| 白山市| 乡宁县| 来安县| 星子县| 甘泉县| 依安县| 绥棱县| 新兴县| 丹江口市| 苗栗县| 祥云县| 家居| 浪卡子县|