Flash Swap On Classic

The KyberSwap flash swap functionality works similarly to Uniswap's. You may read more about flash swaps here. We highlight the syntax differences below.

Using dmmSwapCall​

function dmmSwapCall(address sender, uint256 amount0, uint256 amount1, bytes calldata data) {
  IERC20 token0 = IDMMPool(msg.sender).token0(); // fetch the address of token0
  IERC20 token1 = IDMMPool(msg.sender).token1(); // fetch the address of token1
  assert(IDMMFactory(dmmFactory).isPool(token0, token1, msg.sender)); // ensure that caller can only be dmm pool
  // rest of the function below
}

Interface

IDMMCallee.sol

pragma solidity 0.6.6;

interface IDMMCallee {
    function dmmSwapCall(
        address sender,
        uint256 amount0,
        uint256 amount1,
        bytes calldata data
    ) external;
}

Last updated

Was this helpful?

#477: Elastic fee tier and token launches

Change request updated