首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排序地址(Uniswap v2)

排序地址(Uniswap v2)
EN

Ethereum用户
提问于 2022-04-04 21:19:19
回答 1查看 367关注 0票数 0

我正在使用ethers.js。我正在尝试创建一个过滤器并侦听PairCreated事件。

索引参数为token0, token1

我正在尝试使用WETH和自定义令牌,并对它们进行排序,以便将它们传递给过滤器。

代码语言:javascript
复制
var token0, token1; // init Vars
const WETH = "0xd0A1E359811322d97991E03f863a0C30C2cF029C" // WETH Kovan Network
const tokenA = "0xe12A7BE0e1637a9ab3A137E0Aa114318aCb58BCd" // Token on my Kovan Fork

if (bigNumber(WETH) < bigNumber(tokenA)) {
   token0 = tokenA; token1 = tokenB;
   console.log('token0 is WETH');
} else {
   token0 = tokenB; token1 = tokenA;
   console.log('token0 is tokenA');
}
const filter = eth.factory.filters.PairCreated(
  token0, // address indexed token0
  null,  // address indexed token1 
  null, // address pair
  null // uint
); // Filter for Pair Created

function bigNumber(data) { return ethers.BigNumber.from(data); }

上面的代码有时会使token0正确,但我如何才能使它正确排序呢?

EN

回答 1

Ethereum用户

发布于 2022-04-07 00:07:04

改变:

代码语言:javascript
复制
if (bigNumber(WETH) < bigNumber(tokenA)) {
  /* body */
}

致:

代码语言:javascript
复制
if (bigNumber(WETH).lt(tokenA)) {
      /* body */
}

否则,如果我没有错的话,您将使用在字符串上操作的“回退”JavaScript比较,但这肯定不是您想要的。

ether.js 文档涵盖了您需要了解的关于它们的BigNumber类型比较的所有信息。

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

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

复制
相关文章

相似问题

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