I'm trying to get the amount of WETH I can receive for 100 dai:


contract UniswapController {
    address internal constant UNISWAP_ROUTER_ADDRESS = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    IUniswapV2Router02 public uniswapRouter;

    constructor() public {
        uniswapRouter = IUniswapV2Router02(UNISWAP_ROUTER_ADDRESS);

    function getAmountsOut(uint fundingamount, address[] memory path) public view returns (uint[] memory) {
        return uniswapRouter.getAmountsOut(fundingamount, path);     

js client code:

dai.address = 0x6B175474E89094C44Da98b954EedeAC495271d0F;
ethereum.address = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;

let amounts = await uniswapController.getAmountsOut(100, [dai.address, ethereum.address]);

let daioutput = amounts[0].toNumber();
let ethereumoutput = amounts[1].toNumber();

console.log("Dai output:", daioutput); // returns 100
console.log("ethereum output:", ethereumoutput); // returns 0

How do I return whatever partial WETH I can receive for 100 dai instead of just 0?

1 Answer 1


You should convert 100 to WEI.

If you use web3.js, you can do this


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.