```\nfunction liquidateVaultsForToken(\n    address fromToken,\n    address asyncSwapper,\n    IDestinationVault[] memory vaultsToLiquidate,\n    SwapParams memory params\n) external nonReentrant hasRole(Roles.LIQUIDATOR_ROLE) onlyWhitelistedSwapper(asyncSwapper) {\n    uint256 gasBefore = gasleft();\n\n    (uint256 totalBalanceToLiquidate, uint256[] memory vaultsBalances) =\n        _prepareForLiquidation(fromToken, vaultsToLiquidate);\n    _performLiquidation(\n        gasBefore, fromToken, asyncSwapper, vaultsToLiquidate, params, totalBalanceToLiquidate, vaultsBalances\n    );\n}\n```\n