首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请有人展示如何使用ethersjs在UniswapV2 Router2智能契约的函数中使用getAmountOut/getAmountIn函数吗?

请有人展示如何使用ethersjs在UniswapV2 Router2智能契约的函数中使用getAmountOut/getAmountIn函数吗?
EN

Ethereum用户
提问于 2022-04-01 19:48:24
回答 1查看 724关注 0票数 0

我试过:

  • 从工厂合同中获得一对DAI-MKR对(使用地址、ABI、恩弗拉RPC提供者)
  • 用这对合同来获得储备金。使用parseInt(reserve0, 16))parseInt(reserve1, 16))将这些储备从十六进制转换为十进制
  • 在路由器契约中使用这些内容: const uniswapV2Router2 = (uniswapV2Router2_add,uniswapV2Router2_ABI,provider) const maxAmount = await uniswapV2Router2.getAmountIn(1,reserve0,reserve1)

但我犯了以下错误:

代码语言:javascript
复制
const maxAmount = await uniswapV2Router2.getAmountIn(1, reserve0, reserve1); // amount of MKR for 1 DAI
                                             ^

TypeError: uniswapV2Router2.getAmountIn is not a function
EN

回答 1

Ethereum用户

发布于 2022-06-03 08:17:50

我猜这个错误是由您的路由器abi或路由器地址错误引起的,因为我没有关于前面代码的信息,所以我只能推测它。

但是代码中有几个明显的错误

你应该改变这个

const maxAmount = await uniswapV2Router2.getAmountIn(1, reserve0, reserve1); // amount of MKR for 1 DAI

const maxAmount = await uniswapV2Router2.getAmountIn(1, [reserve0, reserve1]); // amount of MKR for 1 DAI

因为储备0,储备1是一个数组:)

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/125228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档