# Not verifying on eth scan

**URL:** <https://forum.openzeppelin.com/t/not-verifying-on-eth-scan/7669>\
**Category:** Support\
**Created:** [May 1, 2021, 8:33pm UTC](https://forum.openzeppelin.com/t/not-verifying-on-eth-scan/7669 "2021-05-01T20:33:35Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![coderbang1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/coderbang1/32/4675_2.png) [@coderbang1](https://forum.openzeppelin.com/u/coderbang1)\
**Post date:** [May 1, 2021, 8:33pm UTC](https://forum.openzeppelin.com/t/not-verifying-on-eth-scan/7669/1 "2021-05-01T20:33:35Z")

</div>

Hi, I tried to create a ERC20 token using the wizard here [https://docs.openzeppelin.com/contracts/4.x/wizard](https://docs.openzeppelin.com/contracts/4.x/wizard)

For features, I checked (Burnable, Pausable, Snapshots, Permit), for access control I checked (Roles)

Then after opening in Remix & Compiling, the code does not verify on [Etherscan.io](http://Etherscan.io),

here is the code // SPDX-License-Identifier: MIT  
pragma solidity ^0.8.0;

```
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol";
import "@openzeppelin/contracts/access/AccessControl.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";

contract MyToken is ERC20, ERC20Burnable, ERC20Snapshot, AccessControl, Pausable, ERC20Permit {
    bytes32 public constant SNAPSHOT_ROLE = keccak256("SNAPSHOT_ROLE");
    bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE");

    constructor() ERC20("My Token", "MYTOKEN") ERC20Permit("My Token") {
        _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);
        _setupRole(SNAPSHOT_ROLE, msg.sender);
        _setupRole(PAUSER_ROLE, msg.sender);
        _mint(msg.sender, 1000000000 * 10 ** decimals());
    }

    function snapshot() public {
        require(hasRole(SNAPSHOT_ROLE, msg.sender));
        _snapshot();
    }

    function pause() public {
        require(hasRole(PAUSER_ROLE, msg.sender));
        _pause();
    }

    function unpause() public {
        require(hasRole(PAUSER_ROLE, msg.sender));
        _unpause();
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount)
        internal
        whenNotPaused
        override(ERC20, ERC20Snapshot)
    {
        super._beforeTokenTransfer(from, to, amount);
    }
}
```

---

<div class="post-metadata">

**Author:** ![Skyge](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/skyge/32/343_2.png) [@Skyge](https://forum.openzeppelin.com/u/Skyge)\
**Post date:** [May 1, 2021, 10:51pm UTC](https://forum.openzeppelin.com/t/not-verifying-on-eth-scan/7669/2 "2021-05-01T22:51:26Z")

</div>

I think you should verify your code manually, and I think this tutorial can help you:

[Verify smart contract inheriting from OpenZeppelin Contracts](https://forum.openzeppelin.com/t/verify-smart-contract-inheriting-from-openzeppelin-contracts/4119)

---

<div class="post-metadata">

**Author:** ![coderbang1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/coderbang1/32/4675_2.png) [@coderbang1](https://forum.openzeppelin.com/u/coderbang1)\
**Post date:** [May 1, 2021, 11:06pm UTC](https://forum.openzeppelin.com/t/not-verifying-on-eth-scan/7669/3 "2021-05-01T23:06:33Z")

</div>

i did uplode in multi-file format that also gives me error

---

<div class="post-metadata">

**Author:** ![coderbang1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/coderbang1/32/4675_2.png) [@coderbang1](https://forum.openzeppelin.com/u/coderbang1)\
**Post date:** [May 1, 2021, 11:26pm UTC](https://forum.openzeppelin.com/t/not-verifying-on-eth-scan/7669/4 "2021-05-01T23:26:00Z")

</div>

```
here is the error    

ParserError: Source "IERC20.sol" not found: File import callback not supported
 --> ERC20.sol:5:1:
  |
5 | import "./IERC20.sol"
  | ^^^^^^^^^^^^^^^^^^^^^^

ParserError: Source "extensions/IERC20Metadata.sol" not found: File import callback not supported
 --> ERC20.sol:6:1:
  |
6 | import "./extensions/IERC20Metadata.sol"
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ParserError: Source "utils/Context.sol" not found: File import callback not supported
 --> ERC20.sol:7:1:
  |
7 | import "../../utils/Context.sol"
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ParserError: Source "@openzeppelin/contracts/token/ERC20/ERC20.sol" not found: File import callback not supported
 --> token.sol:4:1:
  |
4 | import "@openzeppelin/contracts/token/ERC20/ERC20.sol"
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ParserError: Source "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol" not found: File import callback not supported
 --> token.sol:5:1:
  |
5 | import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ParserError: Source "@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol" not found: File import callback not supported
 --> token.sol:6:1:
  |
6 | import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol"
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ParserError: Source "@openzeppelin/contracts/access/AccessControl.sol" not found: File import callback not supported
 --> token.sol:7:1:
  |
7 | import "@openzeppelin/contracts/access/AccessControl.sol"
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ParserError: Source "@openzeppelin/contracts/security/Pausable.sol" not found: File import callback not supported
 --> token.sol:8:1:
  |
8 | import "@openzeppelin/contracts/security/Pausable.sol"
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ParserError: Source "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol" not found: File import callback not supported
 --> token.sol:9:1:
  |
9 | import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol"
```

---

<div class="post-metadata">

**Author:** ![Skyge](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/skyge/32/343_2.png) [@Skyge](https://forum.openzeppelin.com/u/Skyge)\
**Post date:** [May 1, 2021, 11:43pm UTC](https://forum.openzeppelin.com/t/not-verifying-on-eth-scan/7669/5 "2021-05-01T23:43:07Z")

</div>

It looks like you do not install dependency, try to run:

```auto
npm i @openzeppelin/contracts

```

---

<div class="post-metadata">

**Author:** ![coderbang1](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/coderbang1/32/4675_2.png) [@coderbang1](https://forum.openzeppelin.com/u/coderbang1)\
**Post date:** [May 1, 2021, 11:55pm UTC](https://forum.openzeppelin.com/t/not-verifying-on-eth-scan/7669/6 "2021-05-01T23:55:25Z")

</div>

i am using remix. its works fine in local enviroment
