Avatar阿凡達泰山眾籌開發案例版丨Avatar阿凡達泰山眾籌系統開發(開發邏輯及方案)
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,移除時,其中一個返回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,呼叫pair的permit(內部實際就是授權給路由),
*/
address pair=UniswapV2Library.pairFor(factory,token,WETH);
uint value=approveMax?uint(-1):liquidity;模式及功能I35方案7O98開發O7I8
IUniswapV2Pair(pair).permit(msg.sender,address(this),value,deadline,v,r,s);
//最終還是呼叫上面的removeLiquidityETH方法!
(amountToken,amountETH)=removeLiquidityETH(token,liquidity,amountTokenMin,amountETHMin,to,deadline);
}
//****REMOVE LIQUIDITY(supporting fee-on-transfer tokens)****
//移除流動性(需要先授權),支援轉賬會扣手續費的代幣s
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
)public virtual override ensure(deadline)returns(uint amountETH){
//實際還是呼叫removeLiquidity,傳入的是weth,
(,amountETH)=removeLiquidity(
token,
WETH,
liquidity,
amountTokenMin,//實際就是這兩個值,填很小,就可以成功
amountETHMin,//實際就是這兩個值,填很小,就可以成功
address(this),
deadline
);詳情及分析:MrsFu123
//removeLiquidity返回的第一個引數是代幣數量,由於代幣轉賬會扣手續費,所以,實際到達路由的代幣數量並沒有這麼多!直接取餘額轉出
TransferHelper.safeTransfer(token,to,IERC20(token).balanceOf(address(this)));//如果轉賬扣兩次手續費..這裡相當於扣兩次,pair->router,router->to
//將weth轉換eth,再轉給to,
IWETH(WETH).withdraw(amountETH);
TransferHelper.safeTransferETH(to,amountETH);
}
//同上,先驗籤授權,再呼叫上面的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
);
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69956839/viewspace-2937547/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 泰山眾籌阿凡達(avatar)開發詳細丨泰山眾籌阿凡達(avatar)系統開發(開發及原始碼)原始碼
- 泰山眾籌阿凡達avatar開發功能丨泰山眾籌阿凡達avatar系統開發流程及原始碼分析原始碼
- Avatar阿凡達泰山眾籌商城開發上線版丨Avatar阿凡達泰山眾籌商城系統開發(開發原始碼)原始碼
- 阿凡達泰山眾籌開發(功能)丨阿凡達泰山眾籌系統開發(成熟方案及案例)
- Avatar阿凡達泰山眾籌系統開發(模式)|Avatar阿凡達需求方案部署模式
- 阿凡達泰山眾籌開發系統丨阿凡達泰山眾籌系統開發(詳情版)丨阿凡達泰山眾籌原始碼開發原始碼
- 泰山眾籌(阿凡達)開發邏輯丨泰山眾籌(阿凡達)系統開發成熟案例及原始碼分析原始碼
- 阿凡達泰山眾籌開發原理丨阿凡達泰山眾籌系統開發(方案及詳細)
- 阿凡達(泰山眾籌)開發案例版丨阿凡達(泰山眾籌)系統開發(規則及原始碼)原始碼
- Avatar阿凡達泰山眾籌開發|眾籌系統DAPP開發技術APP
- 泰山眾籌(阿凡達)系統開發成熟及方案丨泰山眾籌阿凡達開發原始碼功能原始碼
- 深入分析:Avatar阿凡達泰山眾籌系統開發
- 阿凡達泰山眾籌商城開發(系統)丨阿凡達泰山眾籌系統開發(開發穩定版)
- 泰山眾籌阿凡達系統開發模式邏輯模式
- 阿凡達(Avatar)泰山眾籌商城系統開發技術詳細及案例
- 泰山眾籌(阿凡達4.0)系統開發流程及分析丨泰山眾籌(阿凡達4.0)開發原始碼功能原始碼
- 什麼是阿凡達泰山眾籌系統開發丨阿凡達泰山眾籌系統開發(dapp開發技術)APP
- Avatar阿凡達(泰山眾籌)系統開發技術詳情及方案原始碼原始碼
- sun4.0泰山眾籌系統開發(模式案例)|阿凡達泰山眾籌sun開發方案模式
- 深入分析阿凡達Avatar泰山眾籌系統開發詳細方案及案例原始碼原始碼
- 阿凡達泰山眾籌開發正式版丨阿凡達泰山眾籌系統開發流程及原始碼(web3.0技術開發)原始碼Web
- 泰山眾籌4.0阿凡達開發原理丨泰山眾籌4.0阿凡達系統開發詳細技術及原始碼分析原始碼
- 阿凡達泰山眾籌系統開發Avata模式模式
- AVATAR阿凡達合約系統?區塊鏈阿凡達泰山眾籌專案邏輯系統開發功能及原始碼區塊鏈原始碼
- 關於泰山眾籌4.0/阿凡達眾籌系統/技術開發
- 阿凡達Avata泰山眾籌系統開發技術搭建
- AVATAR阿凡達眾籌系統開發說明合約技術
- Avatar泰山眾籌系統開發搭建詳情邏輯
- 阿凡達Sun4眾籌開發系統搭建|泰山眾籌模式系統原始碼部署模式原始碼
- Avater阿凡達泰山眾籌5.0dapp系統開發智慧合約底層邏輯APP
- 關於sun4.0泰山眾籌阿凡達模式系統開發技術方案模式
- 深入分析阿凡達(泰山眾籌4.0)系統開發技術詳情及邏輯原始碼原始碼
- 深入瞭解阿凡達泰山眾籌商城系統開發詳情版及原始碼功能原始碼
- sun4.0阿凡達Avatar系統開發技術詳細丨阿凡達Avatar系統原始碼原始碼
- 阿凡達(泰山眾籌)智慧合約DAPP系統開發詳情 | DAPP智慧合約眾籌系統原始碼邏輯規則APP原始碼
- 泰山眾籌系統丨及泰山眾籌系統開發原始碼部署(技術開發流程)泰山眾籌原始碼
- 泰山眾籌系統Dapp開發/泰山眾籌原始碼/泰山眾籌矩陣開發方案APP原始碼矩陣
- 泰山眾籌商城開發、泰山眾籌DAPP系統開發、泰山眾籌原始碼部署開發APP原始碼