| 方法名称 | 可视范围 | 类型 | 修饰符 | 
|---|---|---|---|
| Constructor | Public | ?? | |
| Fallback | External | ?? | |
| receive | External | ?? | |
| _addLiquidity | Internal ?? | ?? | |
| addLiquidity | External | ?? | ensure | 
| addLiquidityETH | External | ?? | ensure | 
| removeLiquidity | Public | ?? | ensure | 
| removeLiquidityETH | Public | ?? | ensure | 
| removeLiquidityWithPermit | External | ?? | |
| removeLiquidityETHWithPermit | External | ?? | |
| removeLiquidityETHSupportingFeeOnTransferTokens | Public | ?? | ensure | 
| removeLiquidityETHWithPermitSupportingFeeOnTransferTokens | External | ?? | |
| _swap | Internal ?? | ?? | |
| swapExactTokensForTokens | External | ?? | ensure | 
| swapTokensForExactTokens | External | ?? | ensure | 
| swapExactETHForTokens | External | ?? | ensure | 
| swapTokensForExactETH | External | ?? | ensure | 
| swapExactTokensForETH | External | ?? | ensure | 
| swapETHForExactTokens | External | ?? | ensure | 
| _swapSupportingFeeOnTransferTokens | Internal ?? | ?? | |
| swapExactTokensForTokensSupportingFeeOnTransferTokens | External | ?? | ensure | 
| swapExactETHForTokensSupportingFeeOnTransferTokens | External | ?? | ensure | 
| swapExactTokensForETHSupportingFeeOnTransferTokens | External | ?? | ensure | 
* @dev 添加流动性的私有方法
* @param tokenA tokenA地址
* @param tokenB tokenB地址
* @param amountADesired 期望数量A
* @param amountBDesired 期望数量B
* @param amountAMin 最小数量A
* @param amountBMin 最小数量B
* @return amountA   数量A
* @return amountB   数量B
pair合约获取 储备量A, 储备量B,储备量AB经过排序 * @param token token地址
 * @param amountTokenDesired 期望数量
 * @param amountTokenMin Token最小数量
 * @param amountETHMin ETH最小数量
 * @param to to地址
 * @param deadline 最后期限
 * @return amountToken   Token数量
 * @return amountETH   ETH数量
 * @return liquidity   流动性数量
pair合约地址数量A的tokenA从msg.sender账户中安全发送到pair合约地址数量B的tokenB从msg.sender账户中安全发送到pair合约地址to地址的返回值 * @dev 添加ETH流动性方法
 * @param token token地址
 * @param amountTokenDesired Token期望数量
 * @param amountTokenMin Token最小数量
 * @param amountETHMin ETH最小数量
 * @param to to地址
 * @param deadline 最后期限
 * @return amountToken   Token数量
 * @return amountETH   ETH数量
 * @return liquidity   流动性数量
pair合约地址Token数量的token从msg.sender账户中安全发送到pair合约地址WETH合约存款ETH数量的主币ETH数量的WETHtoken发送到pair合约地址to地址的返回值收到的主币数量>ETH数量 则返还收到的主币数量-ETH数量 * @dev 移除流动性
 * @param tokenA tokenA地址
 * @param tokenB tokenB地址
 * @param liquidity 流动性数量
 * @param amountAMin 最小数量A
 * @param amountBMin 最小数量B
 * @param to to地址
 * @param deadline 最后期限
 * @return amountA   数量A
 * @return amountB   数量B
 * @dev 移除ETH流动性
 * @param token token地址
 * @param liquidity 流动性数量
 * @param amountTokenMin token最小数量
 * @param amountETHMin ETH最小数量
 * @param to to地址
 * @param deadline 最后期限
 * @return amountToken   token数量
 * @return amountETH   ETH数量
 * @dev 带签名移除流动性
 * @param tokenA tokenA地址
 * @param tokenB tokenB地址
 * @param liquidity 流动性数量
 * @param amountAMin 最小数量A
 * @param amountBMin 最小数量B
 * @param to to地址
 * @param deadline 最后期限
 * @param approveMax 全部批准
 * @param v v
 * @param r r
 * @param s s
 * @return amountA   数量A
 * @return amountB   数量B
 * @dev 带签名移除ETH流动性
 * @param token token地址
 * @param liquidity 流动性数量
 * @param amountTokenMin token最小数量
 * @param amountETHMin ETH最小数量
 * @param to to地址
 * @param deadline 最后期限
 * @param approveMax 全部批准
 * @param v v
 * @param r r
 * @param s s
 * @return amountToken   token数量
 * @return amountETH   ETH数量
 * @dev 私有交换
 * @param amounts 数额数组
 * @param path 路径
 * @param _to to地址
路径数组pair合约地址的交换方法(输出数额0,输出数额1,to地址,0x00) * @dev 根据精确的token交换尽量多的token
 * @param amountIn 精确输入数额
 * @param amountOutMin 最小输出数额
 * @param path 路径数组
 * @param to to地址
 * @param deadline 最后期限
 * @return amounts[]  数额数组
 * @dev 使用尽量少的token交换精确的token
 * @param amountOut 精确输出数额
 * @param amountInMax 最大输入数额
 * @param path 路径数组
 * @param to to地址
 * @param deadline 最后期限
 * @return amounts[]  数额数组
 * @dev 根据精确的ETH交换尽量多的token
 * @param amountOutMin 最小输出数额
 * @param path 路径数组
 * @param to to地址
 * @param deadline 最后期限
 * @return amounts[]  数额数组
 * @param amountOut 精确输出数额
 * @param amountInMax 最大输入数额
 * @param path 路径数组
 * @param to to地址
 * @param deadline 最后期限
 * @return amounts[]  数额数组
 * @dev 根据精确的token交换尽量多的ETH
 * @param amountIn 精确输入数额
 * @param amountOutMin 最小输出数额
 * @param path 路径数组
 * @param to to地址
 * @param deadline 最后期限
 * @return amounts[]  数额数组
 * @dev 使用尽量少的ETH交换精确的token
 * @param amountOut 精确输出数额
 * @param path 路径数组
 * @param to to地址
 * @param deadline 最后期限
 * @return amounts[]  数额数组
收到的主币数量>数额数组[0] 则返还收到的主币数量-数额数组[0] * @dev 支持收税的私有交换
 * @notice 要求初始金额已经发送到第一对
 * @param path 路径数组
 * @param _to to地址
路径数组 * @dev 支持收税的根据精确的token交换尽量多的token
 * @param amountIn 精确输入数额
 * @param amountOutMin 最小输出数额
 * @param path 路径数组
 * @param to to地址
 * @param deadline 最后期限
 * @dev 支持收税的根据精确的ETH交换尽量多的token
 * @param amountOutMin 最小输出数额
 * @param path 路径数组
 * @param to to地址
 * @param deadline 最后期限
 * @dev 支持收税的根据精确的token交换尽量多的ETH
 * @param amountIn 精确输入数额
 * @param amountOutMin 最小输出数额
 * @param path 路径数组
 * @param to to地址
 * @param deadline 最后期限
原文:https://www.cnblogs.com/wangguanyi/p/13931715.html