Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: ERC721 NFT Contract #250

Open
wants to merge 38 commits into
base: dev
Choose a base branch
from
Open

Conversation

0xNeshi
Copy link
Contributor

@0xNeshi 0xNeshi commented Oct 17, 2024

Issue(s): Close #197

Description

Implement a simple ERC721 contract inspired by OZ's implementation.

Note: should replace non-maintained PR #214

Checklist

@julio4
Copy link
Contributor

julio4 commented Nov 20, 2024

@0xNeshi The repository has been upgraded to a new site generator and the Markdown format to include code listings is slightly different. The CONTRIBUTING guidelines has been updated to reflect these changes.
Could you rebase this PR onto dev. If there's any issues or if you want me to do these changes let me know.

@julio4 julio4 changed the base branch from main to dev November 20, 2024 03:33
Copy link
Contributor

@julio4 julio4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, a few small changes to follow the IERC721 as much as possible!

{{#include ../../listings/applications/721/src/erc721.cairo}}
```

There are other implementations, such as the [Open Zeppelin](https://docs.openzeppelin.com/contracts-cairo/0.7.0/erc721) one.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated to 0.20.0 as the most recent one, see https://docs.openzeppelin.com/contracts-cairo/0.20.0/erc721

Updated the link for erc20 too, see 4e9607c

@@ -0,0 +1,19 @@
# ERC721 Token

Contracts that follow the [ERC721 Standard](https://eips.ethereum.org/EIPS/eip-721) are called ERC721 tokens. They are used to represent non-fungible assets.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a small comment to recommend reader to actually click and read the EIP to learn about all the erc721 interface specifications

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be nice to also add the optional ERC721Metadata an ERC721Enumerable interfaces

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only the interfaces, no implementation?

listings/applications/erc721/src/interfaces.cairo Outdated Show resolved Hide resolved
listings/applications/erc721/src/erc721.cairo Outdated Show resolved Hide resolved
@0xNeshi
Copy link
Contributor Author

0xNeshi commented Nov 25, 2024

Thanks for the review!
Will address all change requests as I get some spare time this week

@0xNeshi 0xNeshi requested a review from julio4 December 7, 2024 15:11
@0xNeshi
Copy link
Contributor Author

0xNeshi commented Dec 7, 2024

@julio4 addressed all the comments and redeployed the contract (updated the link in the PR description).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature: ERC721 NFT Contract
2 participants