I have two tokens, tokenA
which has a decimal value of 18
and tokenB
with 9
decimals. I would like to buy tokenB
for tokenA
or vica-versa. The question is that do I need to make any conversions with the wei values because the different decimals in Solidity? I know that decimals are important when we convert from wei to ether for instance, but if I keep both token amounts in wei, I assume the below calculation will be correct without managing the two amount
variable differently.
// calculating the output amount of DAI for X ETH
address[] memory path;
path[0] = token18Dec; // ETH
path[1] = token9Dec; // DAI token with 9 decimals
amounts = uniswapRouter.getAmountsOut(ethBudget, path)[1];
// calculating the output amount of ETH for X DAI
address[] memory path;
path[0] = token9Dec; // ETH
path[1] = token18Dec; // DAI token with 9 decimals
amounts = uniswapRouter.getAmountsOut(daiTokenBalance, path)[1];