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