2022.05.26 17:33 [3134270] smart account 3PFQjjDMiZKQZdu5JqTHD7HwgSXyp9Rw9By > SELF 0.00000000 Waves

{ "type": 13, "id": "C7gYfVxWd8xi7eHVG3KPsfsJ8SX9CVAk3yga53epKbLN", "fee": 1400000, "feeAssetId": null, "timestamp": 1653575616183, "version": 2, "chainId": 87, "sender": "3PFQjjDMiZKQZdu5JqTHD7HwgSXyp9Rw9By", "senderPublicKey": "A2fujmmHBBAFrVGCyHBHVbzEtHvDsFniNoiovp2N4fES", "proofs": [ "NYJD2qJq7C8oLotb148AUfJmdDN3rf4QRuAFJ5YuDjgtcr1RzhzzyAgajbnh8DK1AHWmeCQvHiSjjYvHCrR1T7i" ], "script": "base64:AAIFAAAAAAAAAAwIAhIGCgQICAgIEgAAAAAEAAAAABBpc3N1ZXJzV2hpdGVsaXN0CQAETAAAAAICAAAAIzNQM2lWODVlWGZrY0EzRGQxM0VwWkJZdnMxdmtLWDZBWUVOCQAETAAAAAICAAAAIzNQSEZBYXZ4ajJlUEpxRkI0NkgyYVJHQTdvUUw2a3oxckpKCQAETAAAAAICAAAAIzNQNnBlb3ZBa1ZOM3B4Nlp1djh5Mm5vVFdIRk00UjVXamo4CQAETAAAAAICAAAAIzNQNUNRa3ZrOFB1NnJHUDNRYXY0THdza3dhOHBMaE53VGJSCQAETAAAAAICAAAAIzNQSEtEQ1FTY3ZTUEh2ZENVZXVjRmt4NVExeE1VUkE5a2JyCQAETAAAAAICAAAAIzNQTWtpNXNIQnNRYjRLZ0RrbmJVd3NMM1lneGFDemFabkNKCQAETAAAAAICAAAAIzNQMndNQ0RqdHhlTGRmUXJwUjhXVWU1ek5lU2NNNFVhTDNvCQAETAAAAAICAAAAIzNQM3BEb3NxNEdDd2ZKa3ZxNHlxS3Z2b1R3bW9xYzlxUG1vCQAETAAAAAICAAAAIzNQUGdlWVRXTVJaN1M3alNMcG5WdUtLQjlyNlh1RGszbmRDBQAAAANuaWwBAAAADXRyeUdldEludGVnZXIAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAEAAAAMdHJ5R2V0U3RyaW5nAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWICAAAAAAEAAAAIY2hlY2tORlQAAAABAAAABWFzc2V0AwMDCQAAAAAAAAIICAUAAAAFYXNzZXQAAAAGaXNzdWVyAAAABWJ5dGVzCAUAAAAEdGhpcwAAAAVieXRlcwkAAAAAAAACCAUAAAAFYXNzZXQAAAAIZGVjaW1hbHMAAAAAAAAAAAAHCQAAAAAAAAIIBQAAAAVhc3NldAAAAApyZWlzc3Vh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", "height": 3134270, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: A3j4dnsghGH5NNh2wwE14hGg3fKBki4zXPjfPjWU2QQF Next: GLfX61NfE17xtEkeQnkXW5EyhJAetaUL4CiGW7UVVVck Diff:
OldNewDifferences
2929
3030
3131 @Callable(i)
32-func createNFT (nftName,nftDesc,image,collectionName) = if ((indexOf(issuersWhitelist, toString(i.caller)) != unit))
32+func createNFT (nftName,nftDesc,image,collectionName) = if ((indexOf(issuersWhitelist, toString(i.caller)) == unit))
3333 then throw("issuance of new NFTs is limited")
3434 else if ((indexOf(image, "https://") != 0))
3535 then throw("https link to image required")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let issuersWhitelist = ["3P3iV85eXfkcA3Dd13EpZBYvs1vkKX6AYEN", "3PHFAavxj2ePJqFB46H2aRGA7oQL6kz1rJJ", "3P6peovAkVN3px6Zuv8y2noTWHFM4R5Wjj8", "3P5CQkvk8Pu6rGP3Qav4Lwskwa8pLhNwTbR", "3PHKDCQScvSPHvdCUeucFkx5Q1xMURA9kbr", "3PMki5sHBsQb4KgDknbUwsL3YgxaCzaZnCJ", "3P2wMCDjtxeLdfQrpR8WUe5zNeScM4UaL3o", "3P3pDosq4GCwfJkvq4yqKvvoTwmoqc9qPmo", "3PPgeYTWMRZ7S7jSLpnVuKKB9r6XuDk3ndC"]
55
66 func tryGetInteger (key) = match getInteger(this, key) {
77 case b: Int =>
88 b
99 case _ =>
1010 0
1111 }
1212
1313
1414 func tryGetString (key) = match getString(this, key) {
1515 case b: String =>
1616 b
1717 case _ =>
1818 ""
1919 }
2020
2121
2222 func checkNFT (asset) = if (if (if ((asset.issuer.bytes == this.bytes))
2323 then (asset.decimals == 0)
2424 else false)
2525 then (asset.reissuable == false)
2626 else false)
2727 then (asset.quantity == 1)
2828 else false
2929
3030
3131 @Callable(i)
32-func createNFT (nftName,nftDesc,image,collectionName) = if ((indexOf(issuersWhitelist, toString(i.caller)) != unit))
32+func createNFT (nftName,nftDesc,image,collectionName) = if ((indexOf(issuersWhitelist, toString(i.caller)) == unit))
3333 then throw("issuance of new NFTs is limited")
3434 else if ((indexOf(image, "https://") != 0))
3535 then throw("https link to image required")
3636 else {
3737 let asset = Issue(nftName, nftDesc, 1, 0, false, unit, 0)
3838 let assetId = calculateAssetId(asset)
3939 let assetIdStr = toBase58String(assetId)
4040 let collectionDomain = ((toString(i.caller) + "_") + (if ((size(collectionName) > 0))
4141 then collectionName
4242 else "basic"))
4343 let nftNum = (tryGetInteger((("collection_" + collectionDomain) + "_size")) + 1)
4444 $Tuple2([StringEntry((("nft_" + assetIdStr) + "_data"), (((("{'collection': '" + collectionDomain) + "', 'num': ") + toString(nftNum)) + "}")), StringEntry((("nft_" + assetIdStr) + "_image"), image), StringEntry((("nft_" + assetIdStr) + "_issuer"), toString(i.caller)), IntegerEntry((("collection_" + collectionDomain) + "_size"), nftNum), StringEntry(((("collection_" + collectionDomain) + "_assetId_") + assetIdStr), assetIdStr), asset, ScriptTransfer(i.caller, 1, assetId)], assetIdStr)
4545 }
4646
4747
4848
4949 @Callable(i)
5050 func burnNFT () = {
5151 let assetId = value(value(i.payments[0]).assetId)
5252 let asset = value(assetInfo(assetId))
5353 if (if ((value(i.payments[0]).amount == 1))
5454 then checkNFT(asset)
5555 else false)
5656 then {
5757 let assetIdStr = toBase58String(assetId)
5858 let issuer = tryGetString((("nft_" + assetIdStr) + "_issuer"))
5959 let data = tryGetString((("nft_" + assetIdStr) + "_data"))
6060 let partsData = split(data, ", ")
6161 let partsCollection = split(partsData[0], ": ")
6262 let collectionDomain = dropRight(drop(partsCollection[1], 1), 1)
6363 let nftNum = tryGetInteger((("collection_" + collectionDomain) + "_size"))
6464 if ((nftNum > 0))
6565 then {
6666 let updateCollection = if ((nftNum == 1))
6767 then DeleteEntry((("collection_" + collectionDomain) + "_size"))
6868 else IntegerEntry((("collection_" + collectionDomain) + "_size"), (nftNum - 1))
6969 [updateCollection, Burn(assetId, 1), DeleteEntry((("nft_" + assetIdStr) + "_data")), DeleteEntry((("nft_" + assetIdStr) + "_image")), DeleteEntry((("nft_" + assetIdStr) + "_issuer")), DeleteEntry(((("collection_" + collectionDomain) + "_assetId_") + assetIdStr))]
7070 }
7171 else throw("Ivalid collection name")
7272 }
7373 else throw("Ivalid NFT attached")
7474 }
7575
7676
7777 @Verifier(tx)
7878 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7979

github/deemru/w8io/786bc32 
50.61 ms