0

I am using windows 10 with truffle and ganache-cli. I have 2 contracts file to be deployed contain interfaces of other contracts defined within the contract:

Contracts:

ERC721Mintable.sol

  • Ownable
  • Pausable is Ownable
  • ERC165
  • ERC721 is Pausable, ERC165
  • ERC721Enumerable is ERC165, ERC721
  • ERC721MetaData is ERC721Enumerable, usingOraclize
  • CraveuERC721Token is ERC721MetaData

Verifier.sol

SolnSquareVerifier.sol

pragma solidity >=0.4.21 <0.6.0;

import "./ERC721Mintable.sol";
import "./Verifier.sol";

contract SolnSqaureVerifier is CraveuERC721Token {

    SquareVerifier squareVerifier;

    constructor(address verifierAddress) public {
        squareVerifier = SquareVerifier(verifierAddress);
    }

Here's my deploy_contracts.js:

const SquareVerifier = artifacts.require("Verifier");
const SolnSquareVerifier = artifacts.require("SolnSquareVerifier");

module.exports = function(deployer) {
  deployer.deploy(SquareVerifier).then( () => {
    return deployer.deploy(SolnSquareVerifier, SquareVerifier.address);
  });
};

I am using truffle version 5.0.18

Error Produced: Error: Error: Could not find artifacts for SolnSquareVerifier from any sources

0

The name of an artifact is defined according to the contract's name, not the file's name.

Typically, the best practice is to have both names identical.

In your case, however, it seems that:

  • SolnSquareVerifier is the file's name
  • SolnSqaureVerifier is the contract's name

Note that the a and u appear in a different order in each name.

  • Ahh couldn't find out that typo! My Bad :/ Thanks a lot thought – Sagar Atalatti May 21 at 18:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.