Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
FEATURE: V2 NonFungibleToken Standard (#126)
* 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Giovanni Sanchez <[email protected]> Co-authored-by: Bastian Müller <[email protected]> Co-authored-by: Supun Setunga <[email protected]> Co-authored-by: Navid TehraniFar <[email protected]>
- Loading branch information