-
Notifications
You must be signed in to change notification settings - Fork 104
Feature: ERC721 NFT Contract #250
Conversation
|
@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. |
julio4
left a comment
There was a problem hiding this 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!
src/applications/erc721.md
Outdated
| {{#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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
src/applications/erc721.md
Outdated
| @@ -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. | |||
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* dep: fix patch to latest shikijs for cairo hl * fix(app): correct sidebar placement * fix(app): responsive content centering * fix(app): responsive content centering * doc: branch guidelines * fix(app): top section nav links
| Event::Transfer(Transfer { from: owner, to: account, token_id: TOKEN_ID }) | ||
| ) | ||
| ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Event::Transfer(Transfer { from: owner, to: account, token_id: TOKEN_ID }) | |
| ) | |
| ] | |
| Event::Transfer(Transfer { from: owner, to: account, token_id: TOKEN_ID }), | |
| ), | |
| ], |
| Event::Transfer(Transfer { from: owner, to: receiver, token_id: TOKEN_ID }) | ||
| ) | ||
| ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Event::Transfer(Transfer { from: owner, to: receiver, token_id: TOKEN_ID }) | |
| ) | |
| ] | |
| Event::Transfer(Transfer { from: owner, to: receiver, token_id: TOKEN_ID }), | |
| ), | |
| ], |
| } | ||
|
|
||
| #[test] | ||
| #[should_panic(expected: ('ENTRYPOINT_NOT_FOUND', 'ENTRYPOINT_FAILED',))] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| #[should_panic(expected: ('ENTRYPOINT_NOT_FOUND', 'ENTRYPOINT_FAILED',))] | |
| #[should_panic(expected: ('ENTRYPOINT_NOT_FOUND', 'ENTRYPOINT_FAILED'))] |
| Event::Transfer(Transfer { from: owner, to: owner, token_id: TOKEN_ID }) | ||
| ) | ||
| ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Event::Transfer(Transfer { from: owner, to: owner, token_id: TOKEN_ID }) | |
| ) | |
| ] | |
| Event::Transfer(Transfer { from: owner, to: owner, token_id: TOKEN_ID }), | |
| ), | |
| ], |
| Event::Transfer(Transfer { from: owner, to: receiver, token_id: TOKEN_ID }) | ||
| ) | ||
| ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Event::Transfer(Transfer { from: owner, to: receiver, token_id: TOKEN_ID }) | |
| ) | |
| ] | |
| Event::Transfer(Transfer { from: owner, to: receiver, token_id: TOKEN_ID }), | |
| ), | |
| ], |
| Event::Transfer(Transfer { from: owner, to: receiver, token_id: TOKEN_ID }) | ||
| ) | ||
| ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Event::Transfer(Transfer { from: owner, to: receiver, token_id: TOKEN_ID }) | |
| ) | |
| ] | |
| Event::Transfer(Transfer { from: owner, to: receiver, token_id: TOKEN_ID }), | |
| ), | |
| ], |
| Event::Transfer(Transfer { from: ZERO(), to: recipient, token_id: TOKEN_ID }) | ||
| ) | ||
| ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Event::Transfer(Transfer { from: ZERO(), to: recipient, token_id: TOKEN_ID }) | |
| ) | |
| ] | |
| Event::Transfer(Transfer { from: ZERO(), to: recipient, token_id: TOKEN_ID }), | |
| ), | |
| ], |
Issue(s): Close #197
Description
Implement a simple ERC721 contract inspired by OZ's implementation.
Note: should replace non-maintained PR #214
Checklist
./scripts/cairo_programs_verifier.shsuccessfully