0

目前我正在尝试在不使用子图的情况下从池中获取现货价格,但是,有一个我无法弄清楚的功能

Uniswap 文档参考

以 USDC/ETH 池为例,获取 USDC 期限 (ETH/USDC) 中的 ETH 价格点

Price {
  numerator: JSBI(8) [
    199279684,   427673055,
    750370341,   994499294,
    273941587,   907720314,
    918680131,   1436,
    sign: false
  ],
  denominator: JSBI(7) [ 0, 0, 0, 0, 0, 0, 4096, sign: false ],
  baseCurrency: Token {
    chainId: 3,
    decimals: 6,
    symbol: 'USDC',
    name: 'USD Coin',
    isNative: false,
    isToken: true,
    address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
  },
  quoteCurrency: Token {
    chainId: 3,
    decimals: 18,
    symbol: 'WETH',
    name: 'Wrapped Ether',
    isNative: false,
    isToken: true,
    address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'
  },
  scalar: Fraction {
    numerator: JSBI(1) [ 1000000, sign: false ],
    denominator: JSBI(2) [ 660865024, 931322574, sign: false ]
  }
}

ToSignificant方法为我做了所有的技巧,但我对引擎盖下的精确数学计算感到好奇。上面是发送查询时返回的对象,所以我的问题是 如何 通过上面给定的价格对象的计算得到Price.ToSignificant()返回的结果“0.0003766630711”

4

0 回答 0