fetchPairData static method

Future<Pair> fetchPairData(
  1. Web3Client web3client,
  2. Token tokenA,
  3. Token tokenB
)

Implementation

static Future<Pair> fetchPairData(
    Web3Client web3client, Token tokenA, Token tokenB) async {
  invariant(tokenA.chainId == tokenB.chainId, 'CHAIN_ID');

  var balances = tokenA.sortsBefore(tokenB) ? [tokenA, tokenB] : [tokenB, tokenA];
  var pairAddress = Pair.getAddress(balances[0], balances[1]);

  var contract = DeployedContract(PancakeSwapV2Pair, pairAddress!);

  var resp = await web3client.call(
      contract: contract,
      function: contract.function('getReserves'),
      params: []);
  var tokenAmount0 = TokenAmount(balances[0], resp[0]);
  var tokenAmount1 = TokenAmount(balances[1], resp[1]);

  return Pair(tokenAmount0, tokenAmount1);
}