interface IMigrator {
  /**
    * Perform LP token migration from legacy UniswapV2 to NasiSwap.
    * Take the current LP token address and return the new LP token address.
    * Migrator should have full access to the caller's LP token.
    * XXX Migrator must have allowance access to UniswapV2 LP tokens.
    * NasiSwap must mint EXACTLY the same amount of NasiSwap LP tokens or
    * else something bad will happen. Traditional UniswapV2 does not
    * do that so be careful!
    */
  function migrate(address token) external returns (address);
}
function migrate(address token) external returns (address);

/**
 * Perform LP token migration from legacy UniswapV2 to NasiSwap.
 * Take the current LP token address and return the new LP token address.
 * Migrator should have full access to the caller's LP token.
 * XXX Migrator must have allowance access to UniswapV2 LP tokens.
 * NasiSwap must mint EXACTLY the same amount of NasiSwap LP tokens or
 * else something bad will happen. Traditional UniswapV2 does not
 * do that so be careful!
 */