0

I'm kind of a newbie to this. I created a token called -RealMoneyMakingArt- RMMA:

https://bscscan.com/token/0x0e7cb43a58a56949e6779c42868c607d927d8ac1

Im trying to verify it, however I get errors like " Error! Unable to generate Contract ByteCode and ABI" when validating the Solidity Contract Code.

The token itself was created and deployed on Remix, but getting errors when verifying. I tried to flatten the below code and paste it in verifying.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;

import "@openzeppelin/contracts@4.9.2/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts@4.9.2/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts@4.9.2/token/ERC20/extensions/ERC20Snapshot.sol";
import "@openzeppelin/contracts@4.9.2/access/Ownable.sol";
import "@openzeppelin/contracts@4.9.2/security/Pausable.sol";
import "@openzeppelin/contracts@4.9.2/token/ERC20/extensions/draft-ERC20Permit.sol";
import "@openzeppelin/contracts@4.9.2/token/ERC20/extensions/ERC20Votes.sol";
import "@openzeppelin/contracts@4.9.2/token/ERC20/extensions/ERC20FlashMint.sol";

contract RealMoneyMakingArt is ERC20, ERC20Burnable, ERC20Snapshot, Ownable, Pausable, ERC20Permit, ERC20Votes, ERC20FlashMint {
    constructor()
        ERC20("RealMoneyMakingArt", "RMMA")
        ERC20Permit("RealMoneyMakingArt")
    {
        _mint(msg.sender, 10000000 * 10 ** decimals());
    }

    function snapshot() public onlyOwner {
        _snapshot();
    }

    function pause() public onlyOwner {
        _pause();
    }

    function unpause() public onlyOwner {
        _unpause();
    }

    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }

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

    // The following functions are overrides required by Solidity.

    function _afterTokenTransfer(address from, address to, uint256 amount)
        internal
        override(ERC20, ERC20Votes)
    {
        super._afterTokenTransfer(from, to, amount);
    }

    function _mint(address to, uint256 amount)
        internal
        override(ERC20, ERC20Votes)
    {
        super._mint(to, amount);
    }

    function _burn(address account, uint256 amount)
        internal
        override(ERC20, ERC20Votes)
    {
        super._burn(account, amount);
    }
}

Was hoping someone with more knowlegge could help me out to get this token verified on the BSC.

Thanks in advance.

Ricardo

RMMA
  • 9
  • 1

0 Answers0