当前位置:   article > 正文

最全面学习夹子智能机器人初级第二篇《PanCakeSwap V2》_夹子机器人

夹子机器人

路由器02

由于路由器是无状态的并且不持有代币余额,因此可以在必要时安全且无需信任地更换它们。如果发现了更有效的智能合约模式,或者需要额外的功能,则可能会发生这种情况。出于这个原因,路由器的版本号从 开始01。这是当前推荐的版本


代码

UniswapV2Router02.sol

地址

UniswapV2Router02部署在0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D以太坊主网上,以及Ropsten、Rinkeby、Görli和Kovan测试网。它是从提交6961711 构建的。

只读函数

function factory() external pure returns (address);

返回工厂地址

#WETH#

function WETH() external pure returns (address);

返回以太坊主网或Ropsten、Rinkeby、Görli或Kovan测试网上的规范 WETH 地址。

 #报价#

见报价。

#获取金额#

请参阅getAmountOut。

#获取金额#

请参阅getAmountIn。

#获取金额#

function getAmountsOut(uint amountIn, address[] memory path) public view returns (uint[] memory amounts);

请参阅getAmountsOut。

#获取金额#

function getAmountsIn(uint amountOut, address[] memory path) public view returns (uint[] memory amounts);

状态改变函数

  1. function addLiquidity(
  2. address tokenA,
  3. address tokenB,
  4. uint amountADesired,
  5. uint amountBDesired,
  6. uint amountAMin,
  7. uint amountBMin,
  8. address to,
  9. uint deadline
  10. ) external returns (uint amountA, uint amountB, uint liquidity);
为 ERC-20⇄ERC-20 池增加流动性。                                                                                     1.为了涵盖所有可能的情况,msg.sender应该已经给路由器在 tokenA/tokenB 上至少有 amountADesired/amountBDesired 的余量。
2.始终根据交易执行时的价格以理想的比率添加资产。
3.如果传递的代币池不存在,则会自动创建一个池,并准确添加amountADesired/amountBDesired 代币。
扣群探讨技术:958319786
Name 类型
代币A address 池令牌。
代币B address 池令牌。
所需数量 uint 如果 B/A 价格 <= amountBDesired/amountADesired(A 贬值),则作为流动性添加的代币 A 的数量。
所需数量 uint 如果 A/B 价格 <= amountADesired/amountBDesired(B 贬值),则作为流动性添加的代币 B 的数量。
量Amin uint 限制 B/A 价格在交易恢复之前可以上涨的程度。必须 <= amountADesired。
数量BMin uint 限制在交易恢复之前 A/B 价格可以上涨的程度。必须 <= amountBDesired。
address 流动性代币的接收者。
最后期限 uint 交易将恢复的 Unix 时间戳。
金额A uint 发送到池中的 tokenA 数量。
金额B uint 发送到池中的 tokenB 数量。
流动性 uint 铸造的流动性代币数量。
  1. function addLiquidityETH(
  2. address token,
  3. uint amountTokenDesired,
  4. uint amountTokenMin,
  5. uint amountETHMin,
  6. address to,
  7. uint deadline
  8. ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

使用 ETH 为 ERC-20⇄WETH 池增加流动性。

为了覆盖所有可能的场景,msg.sender 应该已经给路由器一个至少为amountTokenDesired 的令牌。
始终根据交易执行时的价格以理想的比率添加资产。
msg.value被视为数量ETHDesired。
剩余的 ETH(如果有)将返回给msg.sender.
如果传递的代币和 WETH 的池不存在,则会自动创建一个池,并准确msg.value添加 amountTokenDesired/ 代币。

Name 类型
令牌 address 池令牌。
amountTokenDesired uint 如果 WETH/代币价格 <= msg.value/amountTokenDesired(代币贬值),则作为流动性添加的代币数量。
msg.value(所需金额 ETH) uint 如果代币/WETH 价格 <= amountTokenDesired/ msg.value(WETH 贬值),则作为流动性添加的 ETH 数量。
amountTokenMin uint 限制在交易恢复之前 WETH/代币价格可以上涨的程度。必须 <
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号