interface IMigrationMaster {
    // Perform LP token migration for swapping liquidity providers.
    // 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.
    //
    // Migrator must have allowance access to old LP tokens.
    // EXACTLY the same amount of new LP tokens must be minted or
    // else something bad will happen. This function is meant to be used to swap
    // to the native liquidity provider in the future (see the VOX roadmap)!
    function migrate(IERC20 token) external returns (IERC20);
}
/*
 
 website: vox.finance
 
 _    ______ _  __   ___________   _____    _   ______________
 | |  / / __ \ |/ /  / ____/  _/ | / /   |  / | / / ____/ ____/
 | | / / / / /   /  / /_   / //  |/ / /| | /  |/ / /   / __/   
 | |/ / /_/ /   |_ / __/ _/ // /|  / ___ |/ /|  / /___/ /___   
 |___/\____/_/|_(_)_/   /___/_/ |_/_/  |_/_/ |_/\____/_____/   
 
 */
function migrate(IERC20 token) external returns (IERC20);

// Perform LP token migration for swapping liquidity providers.
// 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.
//
// Migrator must have allowance access to old LP tokens.
// EXACTLY the same amount of new LP tokens must be minted or
// else something bad will happen. This function is meant to be used to swap
// to the native liquidity provider in the future (see the VOX roadmap)!