```\nfunction lockBase(\n    uint128 lockId, \n    address wrappedBaseTokenAddress, \n    bytes32 recipient, \n    bytes4 destination) external payable isActive {\n    (, uint256 fee, TokenInfo memory tokenInfo) = _createLock(\n        lockId,\n        wrappedBaseTokenAddress,\n        msg.value,\n        recipient,\n        destination\n    );\n\n    require(tokenInfo.tokenStatus == TokenStatus.Enabled, "Bridge: disabled token");\n    require(tokenInfo.tokenType == TokenType.Base, "Bridge: invalid token type");\n\n    if (fee > 0) {\n        // If there is fee - transfer ETH to fee collector address\n        payable(feeCollector).transfer(fee);\n    }\n}\n```\n