|
@@ -188,8 +188,8 @@ module.exports = class LpLib {
|
|
|
|
|
|
|
|
putSwapPrice(lpList) {
|
|
putSwapPrice(lpList) {
|
|
|
for (const lp of lpList) {
|
|
for (const lp of lpList) {
|
|
|
- const r0RealAmount = parseInt(lp.r0) / Math.pow(10, parseInt(lp.decimals0))
|
|
|
|
|
- const r1RealAmount = parseInt(lp.r1) / Math.pow(10, parseInt(lp.decimals1))
|
|
|
|
|
|
|
+ const r0RealAmount = lp.r0 / Math.pow(10, parseInt(lp.decimals0))
|
|
|
|
|
+ const r1RealAmount = lp.r1 / Math.pow(10, parseInt(lp.decimals1))
|
|
|
|
|
|
|
|
// 计算0换1的价格和1换0的价格
|
|
// 计算0换1的价格和1换0的价格
|
|
|
lp.token0ToToken1Price = r1RealAmount / r0RealAmount // 一个token0 = token0ToToken1Price个token1
|
|
lp.token0ToToken1Price = r1RealAmount / r0RealAmount // 一个token0 = token0ToToken1Price个token1
|
|
@@ -269,11 +269,11 @@ module.exports = class LpLib {
|
|
|
if (tokenAndBaseTokenLp.token0 === tokenHash) {
|
|
if (tokenAndBaseTokenLp.token0 === tokenHash) {
|
|
|
const token0ToBaseTokenPrice = tokenAndBaseTokenLp.token0ToToken1Price
|
|
const token0ToBaseTokenPrice = tokenAndBaseTokenLp.token0ToToken1Price
|
|
|
|
|
|
|
|
- return token0ToBaseTokenPrice * realAmount
|
|
|
|
|
|
|
+ return isNaN(token0ToBaseTokenPrice) ? 0 : token0ToBaseTokenPrice * realAmount
|
|
|
} else {
|
|
} else {
|
|
|
const token1ToBaseTokenPrice = tokenAndBaseTokenLp.token1ToToken0Price
|
|
const token1ToBaseTokenPrice = tokenAndBaseTokenLp.token1ToToken0Price
|
|
|
|
|
|
|
|
- return token1ToBaseTokenPrice * realAmount
|
|
|
|
|
|
|
+ return isNaN(token1ToBaseTokenPrice) ? 0 : token1ToBaseTokenPrice * realAmount
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -283,19 +283,17 @@ module.exports = class LpLib {
|
|
|
for (const baseTokenAddress of baseTokenAddressList) {
|
|
for (const baseTokenAddress of baseTokenAddressList) {
|
|
|
const baseTokenToEthPrice = baseTokenConvertEthValueMap[baseTokenAddress]
|
|
const baseTokenToEthPrice = baseTokenConvertEthValueMap[baseTokenAddress]
|
|
|
|
|
|
|
|
|
|
+ if (!baseTokenToEthPrice) continue
|
|
|
|
|
+
|
|
|
// 如果token0跟baseToken能组成池子
|
|
// 如果token0跟baseToken能组成池子
|
|
|
const r0ConvertToBaseTokenRealAmount = valueConvertTokenToBaseToken(this, r0, token0, decimals0, baseTokenAddress)
|
|
const r0ConvertToBaseTokenRealAmount = valueConvertTokenToBaseToken(this, r0, token0, decimals0, baseTokenAddress)
|
|
|
if (r0ConvertToBaseTokenRealAmount !== 0) {
|
|
if (r0ConvertToBaseTokenRealAmount !== 0) {
|
|
|
- logger.info(lp.hash, r0, token0, decimals0, r0ConvertToBaseTokenRealAmount, baseTokenToEthPrice)
|
|
|
|
|
-
|
|
|
|
|
return r0ConvertToBaseTokenRealAmount * baseTokenToEthPrice
|
|
return r0ConvertToBaseTokenRealAmount * baseTokenToEthPrice
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 如果token1跟baseToken能组成池子
|
|
// 如果token1跟baseToken能组成池子
|
|
|
const r1ConvertToBaseTokenRealAmount = valueConvertTokenToBaseToken(this, r1, token1, decimals1, baseTokenAddress)
|
|
const r1ConvertToBaseTokenRealAmount = valueConvertTokenToBaseToken(this, r1, token1, decimals1, baseTokenAddress)
|
|
|
if (r1ConvertToBaseTokenRealAmount !== 0) {
|
|
if (r1ConvertToBaseTokenRealAmount !== 0) {
|
|
|
- logger.info(lp.hash, r1, token1, decimals1, r1ConvertToBaseTokenRealAmount, baseTokenToEthPrice)
|
|
|
|
|
-
|
|
|
|
|
return r1ConvertToBaseTokenRealAmount * baseTokenToEthPrice
|
|
return r1ConvertToBaseTokenRealAmount * baseTokenToEthPrice
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|