From 8055b7794c5746a5e0f65865c06409ef44b7c71e Mon Sep 17 00:00:00 2001 From: Glaicon Date: Mon, 11 Jul 2022 10:52:59 -0300 Subject: [PATCH 1/4] Add cadence code to testnet code --- src/cadence/testnet/getNFTIDs.cdc | 16 +++- src/cadence/testnet/getNFTs.cdc | 129 +++++++++++++++++++++++++-- src/cadence/testnet/testGetNFTIDs.sh | 12 ++- src/cadence/testnet/testGetNFTs.sh | 12 ++- 4 files changed, 157 insertions(+), 12 deletions(-) diff --git a/src/cadence/testnet/getNFTIDs.cdc b/src/cadence/testnet/getNFTIDs.cdc index eecb9bd6..11bd97cc 100644 --- a/src/cadence/testnet/getNFTIDs.cdc +++ b/src/cadence/testnet/getNFTIDs.cdc @@ -47,8 +47,10 @@ import YahooCollectible from 0x5d50ce3fd080edce import YahooPartnersCollectible from 0x5d50ce3fd080edce import BlindBoxRedeemVoucher from 0xb073f87f88ee7449 import SomePlaceCollectible from 0x0c153e28da9f988a -import ARTIFACTPack from 0xd6b5d6d271a2b544 -import ARTIFACT from 0xd6b5d6d271a2b544 +import ARTIFACTPack from 0xa00baa74eccae8fa +import ARTIFACT from 0xa00baa74eccae8fa +import ARTIFACTPackV2 from 0xa00baa74eccae8fa +import ARTIFACTV2 from 0xa00baa74eccae8fa import NftReality from 0xa3222e7505186595 import MatrixWorldAssetsNFT from 0x95702b3642af3d0c import RacingTime from 0xe0e251b47ff622ba @@ -296,6 +298,16 @@ pub fun main(ownerAddress: Address): {String: [UInt64]} { ids["ARTIFACT"] = col.getIDs() } + if let col = owner.getCapability(ARTIFACTPackV2.collectionPublicPath) + .borrow<&{ARTIFACTPackV2.CollectionPublic}>() { + ids["ARTIFACTPackV2"] = col.getIDs() + } + + if let col = owner.getCapability(ARTIFACTV2.collectionPublicPath) + .borrow<&{ARTIFACTV2.CollectionPublic}>() { + ids["ARTIFACTV2"] = col.getIDs() + } + if let col = owner.getCapability(NftReality.CollectionPublicPath) .borrow<&{NftReality.NftRealityCollectionPublic}>() { ids["NftReality"] = col.getIDs() diff --git a/src/cadence/testnet/getNFTs.cdc b/src/cadence/testnet/getNFTs.cdc index cc12eb86..8f806b5b 100644 --- a/src/cadence/testnet/getNFTs.cdc +++ b/src/cadence/testnet/getNFTs.cdc @@ -45,8 +45,11 @@ import YahooCollectible from 0x5d50ce3fd080edce import YahooPartnersCollectible from 0x5d50ce3fd080edce import BlindBoxRedeemVoucher from 0xb073f87f88ee7449 import SomePlaceCollectible from 0x0c153e28da9f988a -import ARTIFACTPack from 0xd6b5d6d271a2b544 -import ARTIFACT from 0xd6b5d6d271a2b544 +import ARTIFACTPack from 0xa00baa74eccae8fa +import ARTIFACT from 0xa00baa74eccae8fa +import ARTIFACTPackV2 from 0xa00baa74eccae8fa +import ARTIFACTV2 from 0xa00baa74eccae8fa +import ARTIFACTViews from 0xa00baa74eccae8fa import NftReality from 0xa3222e7505186595 import MatrixWorldAssetsNFT from 0x95702b3642af3d0c import RacingTime from 0xe0e251b47ff622ba @@ -204,6 +207,8 @@ pub fun main(ownerAddress: Address, ids: {String:[UInt64]}): [NFTData?] { case "SomePlaceCollectible": d = getSomePlaceCollectibleNFT(owner: owner, id: id) case "ARTIFACTPack": d = getARTIFACTPack(owner: owner, id: id) case "ARTIFACT": d = getARTIFACT(owner: owner, id: id) + case "ARTIFACTPackV2": d = getARTIFACTPackV2(owner: owner, id: id) + case "ARTIFACTV2": d = getARTIFACTV2(owner: owner, id: id) case "NftReality": d = getNftRealityNFT(owner: owner, id: id) case "MatrixWorldAssetsNFT": d = getNftMatrixWorldAssetsNFT(owner: owner, id: id) case "RacingTime": d = getRacingTimeNFT(owner: owner, id: id) @@ -2056,11 +2061,11 @@ pub fun getSomePlaceCollectibleNFT(owner: PublicAccount, id: UInt64): NFTData? { ) } -// https://flow-view-source.com/testnet/account/0xd6b5d6d271a2b544/contract/ARTIFACT +// https://flow-view-source.com/testnet/account/0xa00baa74eccae8fa/contract/ARTIFACT pub fun getARTIFACT(owner: PublicAccount, id: UInt64): NFTData? { let contract = NFTContractData( name: "ARTIFACT", - address: 0xd6b5d6d271a2b544, + address: 0xa00baa74eccae8fa, storage_path: "ARTIFACT.collectionStoragePath", public_path: "ARTIFACT.collectionPublicPath", public_collection_name: "ARTIFACT.CollectionPublic", @@ -2104,11 +2109,11 @@ pub fun getARTIFACT(owner: PublicAccount, id: UInt64): NFTData? { ) } -// https://flow-view-source.com/testnet/account/0xd6b5d6d271a2b544/contract/ARTIFACTPack +// https://flow-view-source.com/testnet/account/0xa00baa74eccae8fa/contract/ARTIFACTPack pub fun getARTIFACTPack(owner: PublicAccount, id: UInt64): NFTData? { let contract = NFTContractData( name: "ARTIFACTPack", - address: 0xd6b5d6d271a2b544, + address: 0xa00baa74eccae8fa, storage_path: "ARTIFACTPack.collectionStoragePath", public_path: "ARTIFACTPack.collectionPublicPath", public_collection_name: "ARTIFACTPack.CollectionPublic", @@ -2166,6 +2171,118 @@ pub fun getARTIFACTPack(owner: PublicAccount, id: UInt64): NFTData? { ) } +// https://flow-view-source.com/testnet/account/0xa00baa74eccae8fa/contract/ARTIFACTV2 +pub fun getARTIFACTV2(owner: PublicAccount, id: UInt64): NFTData? { + let contract = NFTContractData( + name: "ARTIFACTV2", + address: 0xa00baa74eccae8fa, + storage_path: "ARTIFACTV2.collectionStoragePath", + public_path: "ARTIFACTV2.collectionPublicPath", + public_collection_name: "ARTIFACTV2.CollectionPublic", + external_domain: "https://artifact.scmp.com/", + ) + + let col = owner.getCapability(ARTIFACTV2.collectionPublicPath) + .borrow<&{ARTIFACTV2.CollectionPublic}>() + if col == nil { return nil } + + let nft = col!.borrow(id: id) + if nft == nil { return nil } + + let view = nft!.resolveView(Type())! as! ARTIFACTViews.ArtifactsDisplay + let metadata = view.metadata + let title = metadata["artifactName"]! + let description = metadata["artifactShortDescription"]! + + metadata["editionNumber"] = metadata["artifactEditionNumber"]! + metadata["editionCount"] = metadata["artifactNumberOfEditions"]! + metadata["royaltyAddress"] = "0xe9e563d7021d6eda" + metadata["royaltyPercentage"] = "10.0" + metadata["rarity"] = metadata["artifactRarityLevel"]! + + let rawMetadata: {String:String?} = {} + for key in metadata.keys { + rawMetadata.insert(key: key, metadata[key]) + } + + return NFTData( + contract: contract, + id: nft!.id, + uuid: nft!.uuid, + title: title, + description: description, + external_domain_view_url: nil, + token_uri: nil, + media: [ + NFTMedia(uri: metadata["artifactFileUri"], mimetype: "video/mp4") + ], + metadata: rawMetadata + ) +} + +// https://flow-view-source.com/testnet/account/0xa00baa74eccae8fa/contract/ARTIFACTPackV2 +pub fun getARTIFACTPackV2(owner: PublicAccount, id: UInt64): NFTData? { + let contract = NFTContractData( + name: "ARTIFACTPackV2", + address: 0xa00baa74eccae8fa, + storage_path: "ARTIFACTPackV2.collectionStoragePath", + public_path: "ARTIFACTPackV2.collectionPublicPath", + public_collection_name: "ARTIFACTPackV2.CollectionPublic", + external_domain: "https://artifact.scmp.com/", + ) + + let col = owner.getCapability(ARTIFACTPackV2.collectionPublicPath) + .borrow<&{ARTIFACTPackV2.CollectionPublic}>() + if col == nil { return nil } + + let nft = col!.borrow(id: id) + if nft == nil { + return nil + } + + var description = "" + var mediaUri = "" + + let isOpen = nft!.isOpen + let view = nft!.resolveView(Type())! as! ARTIFACTViews.ArtifactsDisplay + var metadata = view.metadata + var series = metadata["lookupId"]! + var title = metadata["name"]! + + if (isOpen) { + description = metadata["descriptionOpened"]! + mediaUri = metadata["fileUriOpened"]! + } else { + description = metadata["descriptionUnopened"]! + mediaUri = metadata["fileUriUnopened"]! + } + + metadata["editionNumber"] = nft!.edition.toString() + metadata["editionCount"] = metadata["numberOfEditions"]! + metadata["royaltyAddress"] = "0xe9e563d7021d6eda" + metadata["royaltyPercentage"] = "10.0" + metadata["rarity"] = metadata["rarityLevel"]! + + let rawMetadata: {String:String?} = {} + for key in metadata.keys { + rawMetadata.insert(key: key, metadata[key]) + } + + return NFTData( + contract: contract, + id: nft!.id, + uuid: nft!.uuid, + title: title, + description: description, + external_domain_view_url: "https://artifact.scmp.com/".concat(series), + token_uri: nil, + media: [ + NFTMedia(uri: mediaUri, mimetype: "image/png") + ], + metadata: rawMetadata + ) +} + // https://flow-view-source.com/testnet/account/0xa3222e7505186595/contract/NftReality pub fun getNftRealityNFT(owner: PublicAccount, id: UInt64): NFTData? { let contract = NFTContractData( diff --git a/src/cadence/testnet/testGetNFTIDs.sh b/src/cadence/testnet/testGetNFTIDs.sh index 01c94918..ec6d9e61 100755 --- a/src/cadence/testnet/testGetNFTIDs.sh +++ b/src/cadence/testnet/testGetNFTIDs.sh @@ -59,11 +59,19 @@ SomePlaceCollectible) ;; ARTIFACTPack) echo "ARTIFACTPack" - flow scripts execute getNFTIDs.cdc 0x6bc26c5911f3b19d --network testnet + flow scripts execute getNFTIDs.cdc 0x1214de5003064ed7 --network testnet ;; ARTIFACT) echo "ARTIFACT" - flow scripts execute getNFTIDs.cdc 0x6bc26c5911f3b19d --network testnet + flow scripts execute getNFTIDs.cdc 0x1214de5003064ed7 --network testnet + ;; +ARTIFACTPackV2) + echo "ARTIFACTPackV2" + flow scripts execute getNFTIDs.cdc 0x1214de5003064ed7 --network testnet + ;; +ARTIFACTV2) + echo "ARTIFACTV2" + flow scripts execute getNFTIDs.cdc 0x1214de5003064ed7 --network testnet ;; NftReality) echo "NftReality" diff --git a/src/cadence/testnet/testGetNFTs.sh b/src/cadence/testnet/testGetNFTs.sh index 82f2436d..141fdb1a 100755 --- a/src/cadence/testnet/testGetNFTs.sh +++ b/src/cadence/testnet/testGetNFTs.sh @@ -59,11 +59,19 @@ SomePlaceCollectible) ;; ARTIFACTPack) echo "ARTIFACTPack" - flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x6bc26c5911f3b19d" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTPack" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "3" }] } }] }]' --network testnet + flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x1214de5003064ed7" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTPack" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "3" }] } }] }]' --network testnet ;; ARTIFACT) echo "ARTIFACT" - flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x6bc26c5911f3b19d" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACT" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "15" }] } }] }]' --network testnet + flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x1214de5003064ed7" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACT" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "16" }] } }] }]' --network testnet + ;; +ARTIFACTPackV2) + echo "ARTIFACTPackV2" + flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x1214de5003064ed7" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTPackV2" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "3" }] } }] }]' --network testnet + ;; +ARTIFACTV2) + echo "ARTIFACTV2" + flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x1214de5003064ed7" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTV2" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "15" }] } }] }]' --network testnet ;; NftReality) echo "NftReality" From e23582eed0761d0fbe6dcb382d77b5eb53b8d0dd Mon Sep 17 00:00:00 2001 From: Glaicon Date: Mon, 11 Jul 2022 10:57:03 -0300 Subject: [PATCH 2/4] Add cadence code to mainnet --- src/cadence/mainnet/getNFTs.cdc | 120 +++++++++++++++++++++++++++ src/cadence/mainnet/testGetNFTIDs.sh | 10 +++ src/cadence/mainnet/testGetNFTs.sh | 10 +++ 3 files changed, 140 insertions(+) diff --git a/src/cadence/mainnet/getNFTs.cdc b/src/cadence/mainnet/getNFTs.cdc index ac4605c9..b06a37d8 100644 --- a/src/cadence/mainnet/getNFTs.cdc +++ b/src/cadence/mainnet/getNFTs.cdc @@ -63,6 +63,9 @@ import BlindBoxRedeemVoucher from 0x910514afa41bfeac import SomePlaceCollectible from 0x667a16294a089ef8 import ARTIFACTPack from 0x24de869c5e40b2eb import ARTIFACT from 0x24de869c5e40b2eb +import ARTIFACTPackV2 from 0x24de869c5e40b2eb +import ARTIFACTV2 from 0x24de869c5e40b2eb +import ARTIFACTViews from 0x24de869c5e40b2eb import NftReality from 0x5892036f9111fbb8 import MatrixWorldAssetsNFT from 0xf20df769e658c257 import RacingTime from 0x8d4fa88ffa2d9117 @@ -250,6 +253,8 @@ pub fun main(ownerAddress: Address, ids: {String:[UInt64]}): [NFTData?] { case "SomePlaceCollectible": d = getSomePlaceCollectibleNFT(owner: owner, id: id) case "ARTIFACTPack": d = getARTIFACTPack(owner: owner, id: id) case "ARTIFACT": d = getARTIFACT(owner: owner, id: id) + case "ARTIFACTPackV2": d = getARTIFACTPackV2(owner: owner, id: id) + case "ARTIFACTV2": d = getARTIFACTV2(owner: owner, id: id) case "NftReality": d = getNftRealityNFT(owner: owner, id: id) case "MatrixWorldAssetsNFT": d = getNftMatrixWorldAssetsNFT(owner: owner, id: id) case "TuneGO": d = getTuneGO(owner: owner, id: id) @@ -3154,6 +3159,121 @@ pub fun getARTIFACTPack(owner: PublicAccount, id: UInt64): NFTData? { ) } +// https://flow-view-source.com/mainnet/account/0x24de869c5e40b2eb/contract/ARTIFACT +pub fun getARTIFACTV2(owner: PublicAccount, id: UInt64): NFTData? { + let contract = NFTContractData( + name: "ARTIFACTV2", + address: 0x24de869c5e40b2eb, + storage_path: "ARTIFACTV2.collectionStoragePath", + public_path: "ARTIFACTV2.collectionPublicPath", + public_collection_name: "ARTIFACTV2.CollectionPublic", + external_domain: "https://artifact.scmp.com/", + ) + + let col = owner.getCapability(ARTIFACTV2.collectionPublicPath) + .borrow<&{ARTIFACTV2.CollectionPublic}>() + if col == nil { return nil } + + let nft = col!.borrow(id: id) + if nft == nil { return nil } + + let view = nft!.resolveView(Type())! as! ARTIFACTViews.ArtifactsDisplay + var metadata = view.metadata + let title = metadata["artifactName"]! + let description = metadata["artifactShortDescription"]! + let series = metadata["artifactLookupId"]! + + metadata["editionNumber"] = metadata["artifactEditionNumber"]! + metadata["editionCount"] = metadata["artifactNumberOfEditions"]! + metadata["royaltyAddress"] = "0xe9e563d7021d6eda" + metadata["royaltyPercentage"] = "10.0" + metadata["rarity"] = metadata["artifactRarityLevel"]! + + + let rawMetadata: {String:String?} = {} + for key in metadata.keys { + rawMetadata.insert(key: key, metadata[key]) + } + + return NFTData( + contract: contract, + id: nft!.id, + uuid: nft!.uuid, + title: title, + description: description, + external_domain_view_url: "https://artifact.scmp.com/".concat(series), + token_uri: nil, + media: [ + NFTMedia(uri: metadata["artifactFileUri"], mimetype: "video/mp4") + ], + metadata: rawMetadata + ) +} + +// https://flow-view-source.com/mainnet/account/0x24de869c5e40b2eb/contract/ARTIFACTPack +pub fun getARTIFACTPackV2(owner: PublicAccount, id: UInt64): NFTData? { + let contract = NFTContractData( + name: "ARTIFACTPackV2", + address: 0x24de869c5e40b2eb, + storage_path: "ARTIFACTPackV2.collectionStoragePath", + public_path: "ARTIFACTPackV2.collectionPublicPath", + public_collection_name: "ARTIFACTPackV2.CollectionPublic", + external_domain: "https://artifact.scmp.com/", + ) + + let col = owner.getCapability(ARTIFACTPackV2.collectionPublicPath) + .borrow<&{ARTIFACTPackV2.CollectionPublic}>() + if col == nil { return nil } + + let nft = col!.borrow(id: id) + if nft == nil { + return nil + } + + var description = "" + var mediaUri = "" + + let isOpen = nft!.isOpen + let view = nft!.resolveView(Type())! as! ARTIFACTViews.ArtifactsDisplay + var metadata = view.metadata + var series = metadata["lookupId"]! + var title = metadata["name"]! + + if (isOpen) { + description = metadata["descriptionOpened"]! + mediaUri = metadata["fileUriOpened"]! + } else { + description = metadata["descriptionUnopened"]! + mediaUri = metadata["fileUriUnopened"]! + } + + metadata["editionNumber"] = nft!.edition.toString() + metadata["editionCount"] = metadata["numberOfEditions"]! + metadata["royaltyAddress"] = "0xe9e563d7021d6eda" + metadata["royaltyPercentage"] = "10.0" + metadata["rarity"] = metadata["rarityLevel"]! + + let rawMetadata: {String:String?} = {} + for key in metadata.keys { + rawMetadata.insert(key: key, metadata[key]) + } + + + return NFTData( + contract: contract, + id: nft!.id, + uuid: nft!.uuid, + title: title, + description: description, + external_domain_view_url: "https://artifact.scmp.com/".concat(series), + token_uri: nil, + media: [ + NFTMedia(uri: mediaUri, mimetype: "image/png") + ], + metadata: rawMetadata + ) +} + // https://flow-view-source.com/mainnet/account/0x5892036f9111fbb8/contract/NftReality pub fun getNftRealityNFT(owner: PublicAccount, id: UInt64): NFTData? { let contract = NFTContractData( diff --git a/src/cadence/mainnet/testGetNFTIDs.sh b/src/cadence/mainnet/testGetNFTIDs.sh index 32652c2f..e9965482 100755 --- a/src/cadence/mainnet/testGetNFTIDs.sh +++ b/src/cadence/mainnet/testGetNFTIDs.sh @@ -317,6 +317,16 @@ ARTIFACT) flow scripts execute getNFTIDs.cdc 0xd9cccb588a70de71 --network mainnet ;; +ARTIFACTPackV2) + echo "ARTIFACTPackV2" + flow scripts execute getNFTIDs.cdc 0xd9cccb588a70de71 --network mainnet + ;; + +ARTIFACTV2) + echo "ARTIFACTV2" + flow scripts execute getNFTIDs.cdc 0xd9cccb588a70de71 --network mainnet + ;; + NftReality) echo "NftReality" flow scripts execute getNFTIDs.cdc 0x5892036f9111fbb8 --network mainnet diff --git a/src/cadence/mainnet/testGetNFTs.sh b/src/cadence/mainnet/testGetNFTs.sh index e6b728d6..451c0a0e 100755 --- a/src/cadence/mainnet/testGetNFTs.sh +++ b/src/cadence/mainnet/testGetNFTs.sh @@ -311,6 +311,16 @@ ARTIFACT) flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0xd9cccb588a70de71" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACT" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "1" }] } }] }]' --network mainnet ;; +ARTIFACTPackV2) + echo "ARTIFACTPackV2" + flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0xd9cccb588a70de71" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTPackV2" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "1" }] } }] }]' --network mainnet + ;; + +ARTIFACTV2) + echo "ARTIFACTV2" + flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0xd9cccb588a70de71" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTV2" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "1" }] } }] }]' --network mainnet + ;; + NftReality) echo "NftReality" flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x5892036f9111fbb8" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "NftReality" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "0" }] } }] }]' --network mainnet From dbc24a53e97d72f9896fa35da6c336ef5575827e Mon Sep 17 00:00:00 2001 From: Jeff Leung Date: Mon, 10 Oct 2022 16:05:08 +0800 Subject: [PATCH 3/4] #main fix main cdc merge error --- src/cadence/mainnet/getNFTs.cdc | 34 ++++++++++++++----------- src/cadence/testnet/getNFTs.cdc | 44 ++++++++++++++++++++++----------- 2 files changed, 48 insertions(+), 30 deletions(-) diff --git a/src/cadence/mainnet/getNFTs.cdc b/src/cadence/mainnet/getNFTs.cdc index 1c133246..7e8b9136 100644 --- a/src/cadence/mainnet/getNFTs.cdc +++ b/src/cadence/mainnet/getNFTs.cdc @@ -4683,6 +4683,20 @@ pub fun getMetaPandaNFT(owner: PublicAccount, id: UInt64): NFTData? { rawMetadata.insert(key: "image", external_domain_view_url) rawMetadata.insert(key: "contentType", "image") + return NFTData( + contract: contract, + id: nft!.id, + uuid: nft!.uuid, + title: "MetaPanda", + description: nil, + external_domain_view_url: external_domain_view_url, + token_uri: nil, + media: [ + NFTMedia(uri: external_domain_view_url, mimetype: "image") + ], + metadata: rawMetadata + ) +} // https://flow-view-source.com/mainnet/account/0x3b16cb9f5c036412/contract/ByteNextMedalNFT pub fun getByteNextMedalNFT(owner: PublicAccount, id: UInt64): NFTData? { let contract = NFTContractData( @@ -4703,29 +4717,19 @@ pub fun getByteNextMedalNFT(owner: PublicAccount, id: UInt64): NFTData? { let rawMetadata: {String : String} = {} let metadata = nft!.getMetadata() - rawMetadata["name"] = metadata["name"] ?? "" - rawMetadata["level"] = metadata["level"] ?? "" - rawMetadata["metaURI"] = metadata["metaURI"] ?? "" + rawMetadata["name"] = metadata.name ?? "" + rawMetadata["level"] = metadata.level ?? "" + rawMetadata["metaURI"] = metadata.metaURI ?? "" return NFTData( contract: contract, id: nft!.id, uuid: nft!.uuid, - title: "MetaPanda", - description: nil, - external_domain_view_url: external_domain_view_url, - token_uri: nil, - media: [ - NFTMedia(uri: external_domain_view_url, mimetype: "image") - ], - metadata: rawMetadata - ) -} title: rawMetadata["name"], description: rawMetadata["name"], - external_domain_view_url: metadata["metaURI"], + external_domain_view_url: metadata.metaURI, token_uri: nil, - media: [NFTMedia(uri: metadata["metaURI"], mimetype: "image")], + media: [NFTMedia(uri: metadata.metaURI, mimetype: "image")], metadata: rawMetadata ) } diff --git a/src/cadence/testnet/getNFTs.cdc b/src/cadence/testnet/getNFTs.cdc index e07c2af4..8066997e 100644 --- a/src/cadence/testnet/getNFTs.cdc +++ b/src/cadence/testnet/getNFTs.cdc @@ -3142,11 +3142,17 @@ pub fun getQRLNFT(owner: PublicAccount, id: UInt64): NFTData? { if nft == nil { return nil } return NFTData( - @@ -3028,14 +3028,13 @@ pub fun getQRLNFT(owner: PublicAccount, id: UInt64): NFTData? { + contract: contract, + id: nft!.id, + uuid: nft!.uuid, + title: nft!.name, + description: nft!.description, + external_domain_view_url: nft!.thumbnail, + token_uri: nil, media: [NFTMedia(uri: nft!.thumbnail, mimetype: "image")], metadata: { "name": nft!.name, - "message": nft!.title, + // "message": nft!.title, "description": nft!.description, "thumbnail": nft!.thumbnail } @@ -3184,7 +3190,7 @@ pub fun getMaxarNFT(owner: PublicAccount, id: UInt64): NFTData? { "name": nft!.name, "message": nft!.title, "description": nft!.description, - "thumbnail": nft!.thumbnail, + "thumbnail": nft!.thumbnail } ) } @@ -3300,6 +3306,21 @@ pub fun getMetaPandaNFT(owner: PublicAccount, id: UInt64): NFTData? { rawMetadata.insert(key: "image", external_domain_view_url) rawMetadata.insert(key: "contentType", "image") + return NFTData( + contract: contract, + id: nft!.id, + uuid: nft!.uuid, + title: "MetaPanda", + description: nil, + external_domain_view_url: external_domain_view_url, + token_uri: nil, + media: [ + NFTMedia(uri: external_domain_view_url, mimetype: "image") + ], + metadata: rawMetadata + ) +} + // https://flow-view-source.com/testnet/account/0x734061e710725233/contract/ByteNextMedalNFT pub fun getByteNextMedalNFT(owner: PublicAccount, id: UInt64): NFTData? { let contract = NFTContractData( @@ -3320,26 +3341,19 @@ pub fun getByteNextMedalNFT(owner: PublicAccount, id: UInt64): NFTData? { let rawMetadata: {String : String} = {} let metadata = nft!.getMetadata() - rawMetadata["name"] = metadata["name"] ?? "" - rawMetadata["level"] = metadata["level"] ?? "" - rawMetadata["metaURI"] = metadata["metaURI"] ?? "" + rawMetadata["name"] = metadata.name ?? "" + rawMetadata["level"] = metadata.level ?? "" + rawMetadata["metaURI"] = metadata.metaURI ?? "" return NFTData( contract: contract, id: nft!.id, uuid: nft!.uuid, - title: "MetaPanda", - description: nil, - external_domain_view_url: external_domain_view_url, - token_uri: nil, - media: [ - NFTMedia(uri: external_domain_view_url, mimetype: "image") - ], title: rawMetadata["name"], description: rawMetadata["name"], - external_domain_view_url: rawMetadata["metaURI"], + external_domain_view_url: metadata.metaURI, token_uri: nil, - media: [NFTMedia(uri: rawMetadata["metaURI"], mimetype: "image")], + media: [NFTMedia(uri: metadata.metaURI, mimetype: "image")], metadata: rawMetadata ) } \ No newline at end of file From 9e30b17c91ada1597db3f8a65a8df913307a7377 Mon Sep 17 00:00:00 2001 From: Jeff Leung Date: Tue, 11 Oct 2022 00:51:55 +0800 Subject: [PATCH 4/4] #main update to support ARTIFACTV2 --- src/cadence/mainnet/getNFTIDs.cdc | 12 ++++++++++++ src/cadence/mainnet/getNFTs.cdc | 18 +++++++++--------- src/cadence/mainnet/testGetNFTIDs.sh | 4 ++-- src/cadence/mainnet/testGetNFTs.sh | 6 +++--- src/cadence/testnet/getNFTIDs.cdc | 10 +++++----- src/cadence/testnet/getNFTs.cdc | 24 ++++++++++++------------ src/cadence/testnet/testGetNFTIDs.sh | 8 ++++---- src/cadence/testnet/testGetNFTs.sh | 8 ++++---- 8 files changed, 51 insertions(+), 39 deletions(-) diff --git a/src/cadence/mainnet/getNFTIDs.cdc b/src/cadence/mainnet/getNFTIDs.cdc index 24760fb6..34017bcf 100644 --- a/src/cadence/mainnet/getNFTIDs.cdc +++ b/src/cadence/mainnet/getNFTIDs.cdc @@ -62,6 +62,8 @@ import BlindBoxRedeemVoucher from 0x910514afa41bfeac import SomePlaceCollectible from 0x667a16294a089ef8 import ARTIFACTPack from 0x24de869c5e40b2eb import ARTIFACT from 0x24de869c5e40b2eb +import ARTIFACTPackV3 from 0x24de869c5e40b2eb +import ARTIFACTV2 from 0x24de869c5e40b2eb import NftReality from 0x5892036f9111fbb8 import MatrixWorldAssetsNFT from 0xf20df769e658c257 import RacingTime from 0x8d4fa88ffa2d9117 @@ -403,6 +405,16 @@ pub fun main(ownerAddress: Address): {String: [UInt64]} { ids["ARTIFACT"] = col.getIDs() } + if let col = owner.getCapability(ARTIFACTPackV3.collectionPublicPath) + .borrow<&{ARTIFACTPackV3.CollectionPublic}>() { + ids["ARTIFACTPackV3"] = col.getIDs() + } + + if let col = owner.getCapability(ARTIFACTV2.collectionPublicPath) + .borrow<&{ARTIFACTV2.CollectionPublic}>() { + ids["ARTIFACTV2"] = col.getIDs() + } + if let col = owner.getCapability(NftReality.CollectionPublicPath) .borrow<&{NftReality.NftRealityCollectionPublic}>() { ids["NftReality"] = col.getIDs() diff --git a/src/cadence/mainnet/getNFTs.cdc b/src/cadence/mainnet/getNFTs.cdc index 7e8b9136..d0bf1fc1 100644 --- a/src/cadence/mainnet/getNFTs.cdc +++ b/src/cadence/mainnet/getNFTs.cdc @@ -63,7 +63,7 @@ import BlindBoxRedeemVoucher from 0x910514afa41bfeac import SomePlaceCollectible from 0x667a16294a089ef8 import ARTIFACTPack from 0x24de869c5e40b2eb import ARTIFACT from 0x24de869c5e40b2eb -import ARTIFACTPackV2 from 0x24de869c5e40b2eb +import ARTIFACTPackV3 from 0x24de869c5e40b2eb import ARTIFACTV2 from 0x24de869c5e40b2eb import ARTIFACTViews from 0x24de869c5e40b2eb import NftReality from 0x5892036f9111fbb8 @@ -261,7 +261,7 @@ pub fun main(ownerAddress: Address, ids: {String:[UInt64]}): [NFTData?] { case "SomePlaceCollectible": d = getSomePlaceCollectibleNFT(owner: owner, id: id) case "ARTIFACTPack": d = getARTIFACTPack(owner: owner, id: id) case "ARTIFACT": d = getARTIFACT(owner: owner, id: id) - case "ARTIFACTPackV2": d = getARTIFACTPackV2(owner: owner, id: id) + case "ARTIFACTPackV3": d = getARTIFACTPackV3(owner: owner, id: id) case "ARTIFACTV2": d = getARTIFACTV2(owner: owner, id: id) case "NftReality": d = getNftRealityNFT(owner: owner, id: id) case "MatrixWorldAssetsNFT": d = getNftMatrixWorldAssetsNFT(owner: owner, id: id) @@ -3228,18 +3228,18 @@ pub fun getARTIFACTV2(owner: PublicAccount, id: UInt64): NFTData? { } // https://flow-view-source.com/mainnet/account/0x24de869c5e40b2eb/contract/ARTIFACTPack -pub fun getARTIFACTPackV2(owner: PublicAccount, id: UInt64): NFTData? { +pub fun getARTIFACTPackV3(owner: PublicAccount, id: UInt64): NFTData? { let contract = NFTContractData( - name: "ARTIFACTPackV2", + name: "ARTIFACTPackV3", address: 0x24de869c5e40b2eb, - storage_path: "ARTIFACTPackV2.collectionStoragePath", - public_path: "ARTIFACTPackV2.collectionPublicPath", - public_collection_name: "ARTIFACTPackV2.CollectionPublic", + storage_path: "ARTIFACTPackV3.collectionStoragePath", + public_path: "ARTIFACTPackV3.collectionPublicPath", + public_collection_name: "ARTIFACTPackV3.CollectionPublic", external_domain: "https://artifact.scmp.com/", ) - let col = owner.getCapability(ARTIFACTPackV2.collectionPublicPath) - .borrow<&{ARTIFACTPackV2.CollectionPublic}>() + let col = owner.getCapability(ARTIFACTPackV3.collectionPublicPath) + .borrow<&{ARTIFACTPackV3.CollectionPublic}>() if col == nil { return nil } let nft = col!.borrow(id: id) diff --git a/src/cadence/mainnet/testGetNFTIDs.sh b/src/cadence/mainnet/testGetNFTIDs.sh index 6456a0e4..e87251b0 100755 --- a/src/cadence/mainnet/testGetNFTIDs.sh +++ b/src/cadence/mainnet/testGetNFTIDs.sh @@ -317,8 +317,8 @@ ARTIFACT) flow scripts execute getNFTIDs.cdc 0xd9cccb588a70de71 --network mainnet ;; -ARTIFACTPackV2) - echo "ARTIFACTPackV2" +ARTIFACTPackV3) + echo "ARTIFACTPackV3" flow scripts execute getNFTIDs.cdc 0xd9cccb588a70de71 --network mainnet ;; diff --git a/src/cadence/mainnet/testGetNFTs.sh b/src/cadence/mainnet/testGetNFTs.sh index 26f415dd..94d5f9a4 100755 --- a/src/cadence/mainnet/testGetNFTs.sh +++ b/src/cadence/mainnet/testGetNFTs.sh @@ -311,9 +311,9 @@ ARTIFACT) flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0xd9cccb588a70de71" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACT" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "1" }] } }] }]' --network mainnet ;; -ARTIFACTPackV2) - echo "ARTIFACTPackV2" - flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0xd9cccb588a70de71" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTPackV2" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "1" }] } }] }]' --network mainnet +ARTIFACTPackV3) + echo "ARTIFACTPackV3" + flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0xd9cccb588a70de71" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTPackV3" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "1" }] } }] }]' --network mainnet ;; ARTIFACTV2) diff --git a/src/cadence/testnet/getNFTIDs.cdc b/src/cadence/testnet/getNFTIDs.cdc index f94e2dc8..381d2149 100644 --- a/src/cadence/testnet/getNFTIDs.cdc +++ b/src/cadence/testnet/getNFTIDs.cdc @@ -49,8 +49,8 @@ import BlindBoxRedeemVoucher from 0xb073f87f88ee7449 import SomePlaceCollectible from 0x0c153e28da9f988a import ARTIFACTPack from 0xa00baa74eccae8fa import ARTIFACT from 0xa00baa74eccae8fa -import ARTIFACTPackV2 from 0xa00baa74eccae8fa -import ARTIFACTV2 from 0xa00baa74eccae8fa +import ARTIFACTPackV3 from 0xee7ee160dc542af0 +import ARTIFACTV2 from 0xee7ee160dc542af0 import NftReality from 0xa3222e7505186595 import MatrixWorldAssetsNFT from 0x95702b3642af3d0c import RacingTime from 0xe0e251b47ff622ba @@ -300,9 +300,9 @@ pub fun main(ownerAddress: Address): {String: [UInt64]} { ids["ARTIFACT"] = col.getIDs() } - if let col = owner.getCapability(ARTIFACTPackV2.collectionPublicPath) - .borrow<&{ARTIFACTPackV2.CollectionPublic}>() { - ids["ARTIFACTPackV2"] = col.getIDs() + if let col = owner.getCapability(ARTIFACTPackV3.collectionPublicPath) + .borrow<&{ARTIFACTPackV3.CollectionPublic}>() { + ids["ARTIFACTPackV3"] = col.getIDs() } if let col = owner.getCapability(ARTIFACTV2.collectionPublicPath) diff --git a/src/cadence/testnet/getNFTs.cdc b/src/cadence/testnet/getNFTs.cdc index 8066997e..e60d8198 100644 --- a/src/cadence/testnet/getNFTs.cdc +++ b/src/cadence/testnet/getNFTs.cdc @@ -47,9 +47,9 @@ import BlindBoxRedeemVoucher from 0xb073f87f88ee7449 import SomePlaceCollectible from 0x0c153e28da9f988a import ARTIFACTPack from 0xa00baa74eccae8fa import ARTIFACT from 0xa00baa74eccae8fa -import ARTIFACTPackV2 from 0xa00baa74eccae8fa -import ARTIFACTV2 from 0xa00baa74eccae8fa -import ARTIFACTViews from 0xa00baa74eccae8fa +import ARTIFACTPackV3 from 0xee7ee160dc542af0 +import ARTIFACTV2 from 0xee7ee160dc542af0 +import ARTIFACTViews from 0xee7ee160dc542af0 import NftReality from 0xa3222e7505186595 import MatrixWorldAssetsNFT from 0x95702b3642af3d0c import RacingTime from 0xe0e251b47ff622ba @@ -210,7 +210,7 @@ pub fun main(ownerAddress: Address, ids: {String:[UInt64]}): [NFTData?] { case "SomePlaceCollectible": d = getSomePlaceCollectibleNFT(owner: owner, id: id) case "ARTIFACTPack": d = getARTIFACTPack(owner: owner, id: id) case "ARTIFACT": d = getARTIFACT(owner: owner, id: id) - case "ARTIFACTPackV2": d = getARTIFACTPackV2(owner: owner, id: id) + case "ARTIFACTPackV3": d = getARTIFACTPackV3(owner: owner, id: id) case "ARTIFACTV2": d = getARTIFACTV2(owner: owner, id: id) case "NftReality": d = getNftRealityNFT(owner: owner, id: id) case "MatrixWorldAssetsNFT": d = getNftMatrixWorldAssetsNFT(owner: owner, id: id) @@ -2226,19 +2226,19 @@ pub fun getARTIFACTV2(owner: PublicAccount, id: UInt64): NFTData? { ) } -// https://flow-view-source.com/testnet/account/0xa00baa74eccae8fa/contract/ARTIFACTPackV2 -pub fun getARTIFACTPackV2(owner: PublicAccount, id: UInt64): NFTData? { +// https://flow-view-source.com/testnet/account/0xa00baa74eccae8fa/contract/ARTIFACTPackV3 +pub fun getARTIFACTPackV3(owner: PublicAccount, id: UInt64): NFTData? { let contract = NFTContractData( - name: "ARTIFACTPackV2", + name: "ARTIFACTPackV3", address: 0xa00baa74eccae8fa, - storage_path: "ARTIFACTPackV2.collectionStoragePath", - public_path: "ARTIFACTPackV2.collectionPublicPath", - public_collection_name: "ARTIFACTPackV2.CollectionPublic", + storage_path: "ARTIFACTPackV3.collectionStoragePath", + public_path: "ARTIFACTPackV3.collectionPublicPath", + public_collection_name: "ARTIFACTPackV3.CollectionPublic", external_domain: "https://artifact.scmp.com/", ) - let col = owner.getCapability(ARTIFACTPackV2.collectionPublicPath) - .borrow<&{ARTIFACTPackV2.CollectionPublic}>() + let col = owner.getCapability(ARTIFACTPackV3.collectionPublicPath) + .borrow<&{ARTIFACTPackV3.CollectionPublic}>() if col == nil { return nil } let nft = col!.borrow(id: id) diff --git a/src/cadence/testnet/testGetNFTIDs.sh b/src/cadence/testnet/testGetNFTIDs.sh index cd314155..83c476ea 100755 --- a/src/cadence/testnet/testGetNFTIDs.sh +++ b/src/cadence/testnet/testGetNFTIDs.sh @@ -65,13 +65,13 @@ ARTIFACT) echo "ARTIFACT" flow scripts execute getNFTIDs.cdc 0x1214de5003064ed7 --network testnet ;; -ARTIFACTPackV2) - echo "ARTIFACTPackV2" - flow scripts execute getNFTIDs.cdc 0x1214de5003064ed7 --network testnet +ARTIFACTPackV3) + echo "ARTIFACTPackV3" + flow scripts execute getNFTIDs.cdc 0x4f54a2c2183846f5 --network testnet ;; ARTIFACTV2) echo "ARTIFACTV2" - flow scripts execute getNFTIDs.cdc 0x1214de5003064ed7 --network testnet + flow scripts execute getNFTIDs.cdc 0x4f54a2c2183846f5 --network testnet ;; NftReality) echo "NftReality" diff --git a/src/cadence/testnet/testGetNFTs.sh b/src/cadence/testnet/testGetNFTs.sh index 0e30db1a..5bff2edf 100755 --- a/src/cadence/testnet/testGetNFTs.sh +++ b/src/cadence/testnet/testGetNFTs.sh @@ -65,13 +65,13 @@ ARTIFACT) echo "ARTIFACT" flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x1214de5003064ed7" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACT" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "16" }] } }] }]' --network testnet ;; -ARTIFACTPackV2) - echo "ARTIFACTPackV2" - flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x1214de5003064ed7" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTPackV2" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "3" }] } }] }]' --network testnet +ARTIFACTPackV3) + echo "ARTIFACTPackV3" + flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x4f54a2c2183846f5" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTPackV3" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "92" }] } }] }]' --network testnet ;; ARTIFACTV2) echo "ARTIFACTV2" - flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x1214de5003064ed7" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTV2" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "15" }] } }] }]' --network testnet + flow scripts execute getNFTs.cdc --args-json '[{ "type": "Address", "value": "0x4f54a2c2183846f5" }, { "type": "Dictionary", "value": [{ "key": { "type": "String", "value": "ARTIFACTV2" }, "value": { "type": "Array", "value": [{ "type": "UInt64", "value": "407" }] } }] }]' --network testnet ;; NftReality) echo "NftReality"