0

I have a ERC-721 smart contract defined like this

contract MintNFT is ERC721Enumerable, Ownable {
    constructor(string _name, string _symbol) ERC721(_name, _symbol){}
}

in which I mint the NFTs and few more functions. Then I have created a new contract to purchase the NFTs and manage some stuff, but it forces me to mark it as abstract no matter what I write in the contract. I defined it like this:

contract ManagerNFT is MintNFT, IERC721 {
   constructor(string memory _name, string memory _symbol) MintNFT(_name, _symbol){}
}

It throws an error saying linearization of inheritance graph impossible it goes away when I mark this ManagerNFT contract to abstract. I don't know why this happens, I'm setting the constructors correctly I think, any thoughts on how to do this? Thanks.

brt88
  • 37
  • 6

1 Answers1

1

As the IERC721 name suggests, it's an interface.

So the ManagerNFT needs to implement all functions of the interface.

Petr Hejda
  • 40,554
  • 8
  • 72
  • 100