```\n        function addWithdrawRequest(uint256 _amountMLP, address _token) external {\n            require(isAcceptingToken(_token), "ERROR: Invalid token");\n                require(_amountMLP != 0, "ERROR: Invalid amount");\n        \n        address _withdrawer = msg.sender;\n        // Get the pending buffer and staged buffer.\n             RequestBuffer storage _pendingBuffer = _requests(false);\n             RequestBuffer storage _stagedBuffer = _requests(true);\n        // Check if the withdrawer have enough balance to withdraw.\n        uint256 _bookedAmountMLP =  _stagedBuffer.withdrawAmountPerUser[_withdrawer] + \n       _pendingBuffer.withdrawAmountPerUser[_withdrawer];\n            require(_bookedAmountMLP + _amountMLP <= \n                MozaicLP(mozLP).balanceOf(_withdrawer), "Withdraw amount > amount  MLP");\n        …\n        emit WithdrawRequestAdded(_withdrawer, _token, chainId, _amountMLP);\n        }\n```\n