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

Update ExampleNFT v2 with EVMBridgedMetadata view from master #215

Merged
merged 10 commits into from May 2, 2024

Conversation

sisyphusSmiling
Copy link
Collaborator

@sisyphusSmiling sisyphusSmiling commented May 2, 2024

Closes: #214


For contributor use:

  • Targeted PR against master branch
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Code follows the standards mentioned here.
  • Updated relevant documentation
  • Re-reviewed Files changed in the Github PR explorer
  • Added appropriate labels
  • Update the version in package.json when there is a change in the smart contracts

@sisyphusSmiling sisyphusSmiling added enhancement New feature or request SC-Eng Issues that we want to see surfaced in SC-Eng ZH Board labels May 2, 2024
@sisyphusSmiling sisyphusSmiling self-assigned this May 2, 2024
@sisyphusSmiling sisyphusSmiling changed the title Giovanni/update examplenft v2 Update ExampleNFT v2 with EVMBridgedMetadata view from master May 2, 2024
@sisyphusSmiling sisyphusSmiling marked this pull request as ready for review May 2, 2024 21:22
@joshuahannan joshuahannan merged commit c640157 into standard-v2 May 2, 2024
2 checks passed
@joshuahannan joshuahannan deleted the giovanni/update-examplenft-v2 branch May 2, 2024 21:43
joshuahannan added a commit that referenced this pull request May 6, 2024
* first work on new standard

* first draft of v2 NFT standard

* add type parameter to createEmptyCollection

* merge from master

* PR comments

* PR comments

* make test

* move everything into the interface

* use getID and proper transfer

* use views in events, return optionals, and dont hardcode

* add createEmptyCollection

* isAcceptedType

* mar13 update

* PR comments

* separate nft views, add uuid, event args, resolver, and get contracts to deploy

* use events in interfaces

* integrate stable cadence changes

* comment out events

* modify view functions

* remove deposit impl

* remove view from dictToTraits

* remove view modifier from resolveView

* remove restricted types

* remove AnyStruct

* update dependencies and fix example NFT

* fix import cadence issue and remove view

* comment out default method conflicts

* comment out usedUUID

* comment out CollectionPublic

* generate assets

* remove CollectionPublic from metadata views

* add get length

* fixed missing auth for provider type

* update NFTForwarding for Cadence 1.0

* update NFTForwarding transactions for new implementation

* bump ci flow cli version to Cadence 1.0 pre-release

* fix ExampleNFT-v2 account storage access bug

* update FungibleToken Cadence 1.0 implementation

* update flow.json with v2 contract implementations

* update txns & scripts for Cadence 1.0 + supporting ExampleNFT-v2 Cadence tests

* update Makefile & go tests

* update NFT-v2 to emit events from interface pre/post conditions

* update ExampleNFT-v2 Cadence tests & go assets

* update ExampleNFT-v2 providerPath

* update go tests and supporting txns

* update go assets

* fix test cases to correspond with new contract implementations

* add metadata trait test validation to go suite

* update flow.json with emulator aliases

* fix NFTForwarding.Forwarder conformance to .Receiver & rename events

* add NFTForwarding Cadence tests & fix txn bugs

* complete NFTForwarding cadence tests + supporting txns & scripts

* update .gitignore to include coverage.json

* fix contract.go placeholder variable name

* update NFT.transfer() pre-conditions on recevier.check() & .getIDs().contains(id)

* update instances of Collection.getIDs().length with .getLength()

* add comments to test_helpers methods

* update go assets

* re-add .transfer() pre-condition on .getIDs().contains(id)

* update go assets

* remove transfer, withdraw methods, and default implementations

* add universal collection and other small changes

* added updated event

* Update contracts/NonFungibleToken-v2.cdc

* add sub NFT, remove borrowNFTSafe

* change updated to use entitled reference

* remove custom destructors

* remove resource destructor

* generate

* default destroy event, event args, id field, remove getID, go test updates

* remove path functions, add view function, update view resolver names

* add getIDs

* remove view, add getIDs

* add subNFTs method, update forwarder events

* add support for multiple type definitions

* remove get NFT types, update basic NFT and UniversalCollection, and update transactions

* Update Cadence version

* add event emission functions

* revert event emission functions

* update sdk and cadence deps

* update to SDK v1.0.0-M1

* update to SDK v1.0.0-M1

* remove event functions, make update access contract, fix some tests

* update transactions get get Go tests passing

* add collection public interface back and remove some go tests

* use receiver and collection in public linked type

* use correct public linked types and get most tests passing

* add updated FT

* remove burner

* add generic setup and transfer transactions

* update generic transfer transactions and add tests

* change address arguments to strings

* use withhexprefix

* use latest import syntax update readme and use correct borrow syntax

* update ci to use flow-c1

* add info about old branch to README

* update previewnet address

* update view resolver comments

* remove basic NFT and UniversalCollection

* Make ExampleNFT compatible for contract update

* Add back the type assertion for the deposited token

* Make the collection path backward compatible

Co-authored-by: Navid TehraniFar <navid.tehranifar@flowfoundation.org>

* remove docs, INFT, and update paths

* make ci

* Cleanup redundant paths

* re-add royalties to mint and address PR comments

* fix FungibleToken import address

* add pre-conditions to createEmpty and update dependencies

* make emitNFTUpdated access all

* reorg transactions and scripts

* fix import placeholders

* add correct getLength impl

* add NFT storage requirement and forEachID function

* add def impl for getLength and fix iterator test

* update iterate script and test access(all)

* update comments

* use capabilities borrow

* make ownedNFTs access(all)

* remove Owner entitlement

* Update ExampleNFT v2 with EVMBridgedMetadata view from master (#215)

* implement EVMBridgedMetadata in ExampleNFT

* add updated MetadataViews EVMBridgedMetadata view to go tests

* add docs covering new views

* fix EVMBridgedMetadata.symbol assignment

* add EVMBridgedMetadata implementation test coverage

* update Flow-CLI install step in ci workflow action

* remove merged docs

* remove merged script

* update to latest CLI and emulator and fix txs and tests to not use optional capabilities get

---------

Co-authored-by: Bjarte Stien Karlsen <bjarte@bjartek.org>
Co-authored-by: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Co-authored-by: Bastian Müller <bastian@turbolent.com>
Co-authored-by: Supun Setunga <supun.setunga@gmail.com>
Co-authored-by: Navid TehraniFar <navid.tehranifar@flowfoundation.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request SC-Eng Issues that we want to see surfaced in SC-Eng ZH Board
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants