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

Implement ERC721 standard in both Linear and Pro contracts #124

Closed
wants to merge 10 commits into from

Conversation

andreivladbrg
Copy link
Member

@andreivladbrg andreivladbrg commented Aug 4, 2022

Features implemented:

  • Install solmate library
  • Inherit ERC721 in both contracts
  • Mint NFT in the create function in both contracts
  • Remove the recipient address from the Stream struct in both contracts
  • Add isApprovedOrOwner function that returns a bool value wether the caller is the owner of the stream or is approved
  • Change the onlySenderOrRecipient modifier to onlySenderOrAuthorized that calls isApprovedOrOwner function
  • Test the case when the caller is an approved third party in the cancel cancelAll withdraw withdrawAll withdrawAllTo withdrawTo functions
  • Test the case when the recipient is no longer the owner of the stream in the cancel cancelAll withdraw withdrawAll withdrawAllTo withdrawTo functions

feat: inherit ERC721 in SablierV2Pro
feat: mint NFT in the create function
feat: add isApprovedOrOwner function
feat: change modifier to onlySenderOrRecipientOrApproved
feat: add tokenURI function
perf: remove the recipient address from the Stream struct
test: change the struct recipient with the user recipient
test: make recipient the default caller for the cancel tests
test: when the recipient is no longer the owner of the stream in the cancel function
test: when the recipient is no longer the owner of the stream in the withdraw function
test: when the recipient is no longer the owner of the streams in the cancellAll function
test: when the caller is an approved third party in the cancel function
test: when the caller is an approved third party in the cancelAll funtion
test: when the caller is an approved third party in the withdraw function
test: order correctly the branches in the cancel tree
test: order correctly the branches in the cancelAll tree
test: when the recipient is no longer the owner of the streams in the withdrawAll function
test: when the recipient is no longer the owner of the streams in the withdrawAllTo function
test: when the recipient is no longer the owner of the stream in the withrawTo function
test: when the caller is an approved third party in the withdrawAll function
test: when the caller is an approved third party in the withdrawAllTo function
test: when the caller is an approved third party in the withdtawTo function
test: order correctly the branches in the withdraw tree
test: remove the local withdrawAmount variable from the test functions
test: change the new owner of the streams to eve when using transfer function
test: correct function name in the withdrawAllTo
test: improve english in the tree branches
test: "isApprovedOrOwner" function in the "SablierV2Pro" contract
test: correct comment about return value
@andreivladbrg
Copy link
Member Author

andreivladbrg commented Aug 15, 2022

Due to too many git conflicts I'm closing this PR in favor of #131.

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.

2 participants