当前位置: 首页 > news >正文

网站开发及维护费用wordpress新数据库

网站开发及维护费用,wordpress新数据库,桂林软件开发,个人简历在线填写电子版最初的router合约实现了许多不同的交换方式。我们不会实现所有的方式#xff0c;但我想向大家展示如何实现倒置交换#xff1a;用未知量的输入Token交换精确量的输出代币。这是一个有趣的用例#xff0c;可能并不常用#xff0c;但仍有可能实现。 GitHub - XuHugo/solidit…        最初的router合约实现了许多不同的交换方式。我们不会实现所有的方式但我想向大家展示如何实现倒置交换用未知量的输入Token交换精确量的输出代币。这是一个有趣的用例可能并不常用但仍有可能实现。 GitHub - XuHugo/solidityproject: DApp go go go 让我们回到交换公式 (xrΔx)(y−Δy)xy 现在我们要找到的不是 Δy而是 Δx我们知道想要得到的输出Token的确切数量但不知道需要提供多少输入Token。 同样在应用基本的代数运算后我们可以得到 同样这是一个考虑到产出量Δy和费用 r 的储备金x/y关系式。 现在我们就可以实现这一公式 function getAmountIn(uint256 amountOut,uint256 reserveIn,uint256 reserveOut) public pure returns (uint256) {if (amountOut 0) revert InsufficientAmount();if (reserveIn 0 || reserveOut 0) revert InsufficientLiquidity();uint256 numerator reserveIn * amountOut * 1000;uint256 denominator (reserveOut - amountOut) * 997;return (numerator / denominator) 1;} 一切都很清楚除了最后的结果多了一个 1 ,为什么会这样原因在于Solidity 中的除法即整除会将结果向下舍入这意味着结果会被截断。在计算输入金额时我们希望保证计算出的金额能达到要求的输出金额。如果结果被截断输出的金额就会稍小。 接下来我们需要 getAmountsIn 函数 function getAmountsIn(address factory,uint256 amountOut,address[] memory path) public returns (uint256[] memory) {if (path.length 2) revert InvalidPath();uint256[] memory amounts new uint256[](path.length);amounts[amounts.length - 1] amountOut;for (uint256 i path.length - 1; i 0; i--) {(uint256 reserve0, uint256 reserve1) getReserves(factory,path[i - 1],path[i]);amounts[i - 1] getAmountIn(amounts[i], reserve0, reserve1);}return amounts;} 它复制了 getAmountsOut但有一个显著的变化遍历路径的顺序颠倒了。由于我们知道输出金额并希望找到输入金额因此我们从路径的末尾开始以相反的顺序将输入金额填入金额数组。 高级交换函数看起来也很熟悉 function swapTokensForExactTokens(uint256 amountOut,uint256 amountInMax,address[] calldata path,address to) public returns (uint256[] memory amounts) {amounts ZuniswapV2Library.getAmountsIn(address(factory),amountOut,path);if (amounts[amounts.length - 1] amountInMax)revert ExcessiveInputAmount();_safeTransferFrom(path[0],msg.sender,ZuniswapV2Library.pairFor(address(factory), path[0], path[1]),amounts[0]);_swap(amounts, path, to);} 它与我们之前实现的 swap 函数几乎完全相同但它调用的是 getAmountsIn。同样有趣的是即使金额是输入的我们也可以使用相同的 _swap 函数。
http://www.yayakq.cn/news/3297/

相关文章:

  • 怎么在百度上制作自己的网站WordPress订阅下载插件
  • 如何跟客户沟通网站建设简述网站设计步骤
  • 济宁网站建设 果壳科技郧阳网站建设
  • 网站导航栏制作镇江市建设审图网站
  • 广元做网站站排名永康高端网站建设
  • 盐城网站建设与网页制作网站建设文件夹结构
  • 商城网站设计目标南宁百度网站公司吗
  • 做网站找 汇搜网络书籍网站建设的目的
  • 网站怎么制作 优帮云网站模板 商标
  • 曰照网站小程序建设wordpress教程凌风
  • 个人网站用什么开发网站开发河南
  • 郑州网站建设工资wordpress常见问题
  • 做调查的网站知乎WordPress提交留言
  • 好f123网站ppt成品免费下载的网站
  • 机械行业做网站怎么加php网站登陆源码
  • 咋样建设网站河北网站建设备案
  • 怎么做网站快照wordpress 全站备份
  • 中国建设银行官网的网站首页wordpress 二次开发 sso
  • 设计网站公司速寻亿企邦物联网小程序开发
  • 公司网站怎么自己制作淘宝客wordpress教程
  • 电子商务网站建设技术规范销售管理软件排名
  • 成都网站建设 今网科技怎么做网站链接
  • 经营性 网站备案wordpress怎安装
  • 电子商务网站建设开发苏州网站关键字优化
  • 做网站公众号多少钱专业品牌营销策划
  • 东莞市微客巴巴做网站中信建设有限责任公司领导
  • 怎么做能打不开漫画网站做特色创意菜品的网站
  • 自己黑自己做的网站有什么做网兼的网站
  • 数据库网站建设软件建立网站需要什么设备
  • 个人网站 虚拟主机价格豌豆荚app下载