Consensys/UniversalToken

ERC721

sajal-garg-ion opened this issue · 0 comments

ERC721Tocken.sol is giving compilation error
TypeError: Function has override specified but does not override anything.
--> contracts/tokens/ERC721Token.sol:59:22:
|
59 | ) internal virtual override(ERC721, ERC721Enumerable, ERC721Pausable) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

TypeError: Invalid contracts specified in override list: "ERC721", "ERC721Enumerable" and "ERC721Pausable".
--> contracts/tokens/ERC721Token.sol:59:22:
|
59 | ) internal virtual override(ERC721, ERC721Enumerable, ERC721Pausable) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Note: This contract:
--> @openzeppelin/contracts/token/ERC721/ERC721.sol:19:1:
|
19 | contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: This contract:
--> @openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:14:1:
|
14 | abstract contract ERC721Enumerable is ERC721, IERC721Enumerable {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: This contract:
--> @openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol:22:1:
|
22 | abstract contract ERC721Pausable is ERC721, Pausable {
| ^ (Relevant source part starts here and spans across multiple lines).

TypeError: Derived contract must override function "_beforeTokenTransfer". Two or more base classes define function with same name and parameter types.
--> contracts/tokens/ERC721Token.sol:15:1:
|
15 | contract ERC721Token is Ownable, ER ... lementer, AccessControlEnumerable {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: Definition in "ERC721":
--> @openzeppelin/contracts/token/ERC721/ERC721.sol:467:5:
|
467 | function _beforeTokenTransfer(
| ^ (Relevant source part starts here and spans across multiple lines).
Note: Definition in "ERC721Enumerable":
--> @openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:60:5:
|
60 | function _beforeTokenTransfer(
| ^ (Relevant source part starts here and spans across multiple lines).
Note: Definition in "ERC721Pausable":
--> @openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol:30:5:
|
30 | function _beforeTokenTransfer(
| ^ (Relevant source part starts here and spans across multiple lines).

Error HH600: Compilation failed

For more info go to https://hardhat.org/HH600 or run Hardhat with --show-stack-traces
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! lseg@1.0.0 compile: npx hardhat compile
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the lseg@1.0.0 compile script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/sajal-garg-ion/.npm/_logs/2023-05-04T06_30_11_896Z-debug.log
sajal-garg-ion@AS-3Q5V9V3-L:/mnt/c/Sajal/Blockchain/lseg-dmi-poc$ npm run compile

lseg@1.0.0 compile /mnt/c/Sajal/Blockchain/lseg-dmi-poc
npx hardhat compile

ParserError: Unexpected trailing comma in parameter list.
--> contracts/tokens/ERC721Token.sol:59:23:
|
59 | uint256 tokenId2,
| ^

Error HH600: Compilation failed

For more info go to https://hardhat.org/HH600 or run Hardhat with --show-stack-traces
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! lseg@1.0.0 compile: npx hardhat compile
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the lseg@1.0.0 compile script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:

Expected Behavior

No Compilation error

We fixed it by fixing overridden function

Current Behavior

Possible Solution

We fixed it by fixing overridden function

Steps to Reproduce (for bugs)

Context

Your Environment

  • Version used:
  • Environment name and version (e.g. node 12 on macos):
  • Server type and version:
  • Operating System and version:
  • Link to your project: