Error! Invalid constructor arguments provided. Please verify that they are in ABI-encoded format ERC721 WeirdWhales Replica

<I am using remix environment to create a contract based on ERC721 open-zeppelin for practicing purposes, i deployed the below smart contract on the EVM and it works fine, when compiling I don't get any errors but 3 warnings in regards to some declarations, after deploying on Rinkeby I tried several times to verify and publish the contract and whenever I do i get the error as showing ion the attached image "Error! Invalid constructor arguments provided. Please verify that they are in ABI-encoded format", could you pls advise how to resolve this issue? -->

:1234: Code to reproduce


/ Contract based on
// SPDX-License-Identifier: MIT
pragma solidity >=0.7.0;

import "";
import "";
import "";

contract WeirdWhales is ERC721, Ownable {
    using SafeMath for uint256;

    string public WHALE_PROVENANCE = "";

    uint256 public constant MAX_TOKENS = 3350;
    uint256 public constant MAX_TOKENS_PER_PURCHASE = 20;

    uint256 private price = 25000000000000000; // 0.025 Ether

    bool public isSaleActive = true;

    constructor() ERC721("WeirdWhales", "WHALE") {}

    function setProvenanceHash(string memory _provenanceHash) public onlyOwner {
        WHALE_PROVENANCE = _provenanceHash;
    function reserveTokens(address _to, uint256 _reserveAmount) public onlyOwner {        
        uint supply = totalSupply();
        for (uint i = 0; i < _reserveAmount; i++) {
            _safeMint(_to, supply + i);
    function mint(uint256 _count) public payable {
        uint256 totalSupply = totalSupply();

        require(isSaleActive, "Sale is not active" );
        require(_count > 0 && _count < MAX_TOKENS_PER_PURCHASE + 1, "Exceeds maximum tokens you can purchase in a single transaction");
        require(totalSupply + _count < MAX_TOKENS + 1, "Exceeds maximum tokens available for purchase");
        require(msg.value >= price.mul(_count), "Ether value sent is not correct");
        for(uint256 i = 0; i < _count; i++){
            _safeMint(msg.sender, totalSupply + i);

    function setBaseURI(string memory _baseURI) public onlyOwner {

    function flipSaleStatus() public onlyOwner {
        isSaleActive = !isSaleActive;
    function setPrice(uint256 _newPrice) public onlyOwner() {
        price = _newPrice;

    function getPrice() public view returns (uint256){
        return price;

    function withdraw() public onlyOwner {
        uint256 balance = address(this).balance;
    function tokensByOwner(address _owner) external view returns(uint256[] memory ) {
        uint256 tokenCount = balanceOf(_owner);
        if (tokenCount == 0) {
            return new uint256[](0);
        } else {
            uint256[] memory result = new uint256[](tokenCount);
            uint256 index;
            for (index = 0; index < tokenCount; index++) {
                result[index] = tokenOfOwnerByIndex(_owner, index);
            return result;


:computer: Environment


@abcoathup Good day Andrew, could you pls take a look on the issue described above and let me know how to resolve it?

is this forum still alive?

Hi, welcome! :wave:

Maybe you should share your contract address, and there is a tool to encode constructor parameters, you can have a try:

Yeah, of course, we just had our weekend.

thx Skyge,

pls find the contract address, the issue still not resolved.
I tried to use the tool "" but couldn't resolve the issue still.

kind regards,

Hi Ahmed, aplogies I can't help with your problem, but I was wondering if you could tell me what you based your Weird Whales contract off, I've been using it and others to learn Solidity and it looks like a good starting point. It's also very similiar to the Lazy Lions contract so I'm wondering if you started from a template to build upon the ERC721.