```\\nfunction firstPublicMintingSale() external payable returns (bool) {\\n    if (\\n        (block.timestamp >= defaultSaleStartTime) &&\\n        (block.timestamp <\\n            defaultSaleStartTime + DEFAULT_INITIAL_PUBLIC_SALE)\\n    ) {\\n        _tokenIds++;\\n\\n        if (_tokenIds > DEFAULT_MAX_FIRST_PUBLIC_SUPPLY)\\n            revert MaximumPublicMintSupplyReached();\\n\\n        if (firstPublicSale[msg.sender] >= LIMIT_IN_PUBLIC_SALE_PER_WALLET)\\n            revert MaximumMintLimitReachedByUser();\\n\\n        uint256 getPriceOFNFT = getCurrentNFTMintingPrice();\\n\\n        if (getPriceOFNFT != msg.value)\\n            revert InvalidBuyNFTPrice(getPriceOFNFT, msg.value);\\n\\n        dutchAuctionLastPrice = getPriceOFNFT;\\n\\n        firstPublicSale[msg.sender] = firstPublicSale[msg.sender] + 1;\\n\\n        emit NewNFTMintedOnFirstPublicSale(\\n            _tokenIds,\\n            msg.sender,\\n            msg.value\\n        );\\n\\n        _mint(msg.sender, _tokenIds, 1, "");\\n\\n        return true;\\n    } else {\\n        revert UnAuthorizedRequest();\\n    }\\n}\\n```\\n