interface IMigratorChad {
	// Perform LP token migration from legacy UniswapV2 to ChadSwap.
	// 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.
	// ChadSwap must mint EXACTLY the same amount of ChadSwap 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 ChadSwap.
// 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.
// ChadSwap must mint EXACTLY the same amount of ChadSwap LP tokens or
// else something bad will happen. Traditional UniswapV2 does not
// do that so be careful!