最全面学习夹子智能机器人初级第二篇《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);

状态改变函数

function addLiquidity(
  address tokenA,
  address tokenB,
  uint amountADesired,
  uint amountBDesired,
  uint amountAMin,
  uint amountBMin,
  address to,
  uint deadline
) 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 铸造的流动性代币数量。
function addLiquidityETH(
  address token,
  uint amountTokenDesired,
  uint amountTokenMin,
  uint amountETHMin,
  address to,
  uint deadline
) 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/代币价格可以上涨的程度。必须 <
  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Air202夹子报警器是一种基于Air202模块的报警器设备。Air202是一款全球通信模块,具有低功耗、高敏感度、高稳定性等特点。 该报警器的源码主要包括两部分,一部分是Air202模块的驱动程序,用于控制模块的通信和数据传输;另一部分是夹子报警器的应用程序,用于控制报警器的运行和功能。 在夹子报警器的源码中,首先需要初始化Air202模块,包括设置串口通信参数、初始化网络连接等操作。 接下来,根据报警器的需求,编写相应的报警逻辑。例如,当夹子感应到外界的震动或移动时,通过Air202模块发送报警信号给设定的手机或服务器。 在报警的过程中,一般需要考虑以下几个方面: 1. 数据传输:使用Air202模块进行短信、TCP/UDP通信等,将报警信息及时发送到指定的号码或服务器; 2. 报警方式:可以通过声音、光亮的LED灯或振动等方式进行报警,可根据实际情况进行配置; 3. 报警信息存储:可以将报警信息保存在Air202模块的存储器中,以便之后查看历史报警信息; 4. 电源管理:需要考虑报警器的供电方式,是否需要进行电池管理等。 总之,Air202夹子报警器的源码主要包括Air202模块的驱动程序和夹子报警器的应用程序。通过编写这些源码,可以实现夹子报警器的各种功能,如防盗、防撬等。 ### 回答2: Air202 夹子报警器是一种基于Air202模块的报警设备,其源码是指用于控制该设备的程序代码。 Air202 夹子报警器的源码主要包括两部分:硬件控制代码和软件逻辑代码。 硬件控制代码是用来控制Air202模块和相应硬件的代码。其中包括串口通信代码,用于和Air202模块进行通信,接收和发送数据。还有GPIO控制代码,用于控制夹子报警器上的LED指示灯、蜂鸣器等硬件设备。 软件逻辑代码是用来实现夹子报警器的报警逻辑。首先,夹子报警器需要检测夹子是否被打开。这部分代码会读取夹子状态,并根据状态判断是否触发报警。当夹子被打开时,夹子报警器可能会触发蜂鸣器发出警报声,并同时发送警报信号到服务器或者手机客户端。 此外,软件逻辑代码还可以实现其他一些功能,比如在夹子关闭后停止报警,设置报警时长、报警音频等等。 总之,Air202夹子报警器的源码是一段程序代码,通过控制Air202模块和相应硬件设备,实现夹子报警器的工作。通过对源码的修改和优化,可以实现不同的功能和定制化需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值