[SOLVED] ParserError HELP PLEASE when validating a smart contract

ParserError : Funtion, variable, struct or modifier declarativo expected

maybe it is something that depends on a specific compiler version, did you select same compiler version as when you compiler that code on deploy?

Yes is the same compiler versión…

did you change anything in the code?

No, the code is the same as the rarible clone tutorial token, but to verify it you have to put all the dependencies one by one… So I do and give that error to verify

ok, maybe it is from the dependencies then, you may also have to put them in a specific order
you could try to compile it again in remix, and to get the code for dependencies from remix

or maybe this video tutorial helps you: https://www.youtube.com/watch?v=dvvaBq6d_dE&ab_channel=MoralisWeb3

Do it again in remix… I did it in remix from the beginning. Do you say make it New?

Ok, I didn’t know that, I think that in remix you can also get the source code for dependencies that were used on that compilation so that you don’t get the code for dependencies from another part where it could be different code

The contract works well, only that when it comes to putting the items on sale the gas is very high, to be in bsc… I want to check it to see if I can change the gas options

Ok, I remember about that gas estimation problem

I’m going to put all the dependencies back very slowly… Let’s see if I made a mistake

this is the code that I try to verify , I already put all the dependencies separately but it is not verified

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol";

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Counters.sol";

contract SCXFutura is ERC721 {

    using Counters for Counters.Counter;

    Counters.Counter private _tokenIds;

    constructor () ERC721("SCXFutura", "SCXF"){}

    struct Item {

        uint256 id;

        address creator;

        string uri;


    mapping (uint256 => Item) public Items;

    function createItem(string memory uri) public returns (uint256){


        uint256 newItemId = _tokenIds.current();

        _safeMint(msg.sender, newItemId);

        Items[newItemId] = Item(newItemId, msg.sender, uri);

        return newItemId;


    function tokenURI(uint256 tokenId) public view override returns (string memory) {

        require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token");

       return Items[tokenId].uri;



you can see here on how to post code on forum: READ BEFORE POSTING - How to post code in the forum

Yes… Give me a 1 hour please

now see!!! :sweat_smile:

now it looks like normal code.
I can try to validate you contract tomorrow if you don’t succeed by that time.

thanks bro!!! :ok_hand:

Hello… I couldn’t verify, it gives error after error… Deleted one and a different one appears😔

Ok, forgot about it, I’ll also need the address of the contract, you can send it in discord in a DM

Ok ready mi user in discord is ScionX…