tx · 5bxnsiBaYLtTxBvHVQP4UiPe8iLaBU2SXkttGGwTSzPn

3PBkrb5LrGDvCwkx4VHZzZkqMNvvGqrJJWj:  -0.00800000 Waves

2022.08.10 14:10 [3243782] smart account 3PBkrb5LrGDvCwkx4VHZzZkqMNvvGqrJJWj > SELF 0.00000000 Waves

{ "type": 13, "id": "5bxnsiBaYLtTxBvHVQP4UiPe8iLaBU2SXkttGGwTSzPn", "fee": 800000, "feeAssetId": null, "timestamp": 1660129829778, "version": 2, "chainId": 87, "sender": "3PBkrb5LrGDvCwkx4VHZzZkqMNvvGqrJJWj", "senderPublicKey": "2J1UU8yrDE67VF4SkXcpP3MH5nYUReAPfxLCiWjb3Ab4", "proofs": [ "4kPNwvEkbpWLLEctrCbvuGon6g76Jif3Uq8SwtD6yqVkD8RmpRz9VKTM9M1yVw2oTcCgf73pMHjjrqRv32w7E9sq" ], "script": "base64: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", "height": 3243782, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: By9Ui57VUAUfFEofaB8NqRLEXKsD3RSet3HTY7s859gk Next: none Diff:
OldNewDifferences
4747 func getVideoURL (id) = (("https://images.wavespunks.com/memalien/" + id) + ".mp4")
4848
4949
50-func getMeta (id) = (((("{\"id\": " + id) + "\", \"url\": \"") + getURL(id)) + "\"}")
50+func getMeta (id) = (((("{\"id\": " + id) + ", \"url\": \"") + getURL(id)) + "\"}")
5151
5252
53-func getMetaVideo (id) = (((((("{\"id\": " + id) + "\", \"url\": \"") + getURL(id)) + "\", \"animation_url\": \"") + getVideoURL(id)) + "\"}")
53+func getMetaVideo (id) = (((((("{\"id\": " + id) + ", \"url\": \"") + getURL(id)) + "\", \"animation_url\": \"") + getVideoURL(id)) + "\"}")
5454
5555
5656 @Callable(i)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let maxSupply = 5000
55
66 func tryGetInteger (key) = {
77 let val = match getInteger(this, key) {
88 case b: Int =>
99 b
1010 case _ =>
1111 0
1212 }
1313 val
1414 }
1515
1616
1717 func tryGetString (key) = {
1818 let val = match getString(this, key) {
1919 case b: String =>
2020 b
2121 case _ =>
2222 ""
2323 }
2424 val
2525 }
2626
2727
2828 func tryGetAddress (addr) = {
2929 let val = match addressFromString(addr) {
3030 case a: Address =>
3131 a
3232 case a: Unit =>
3333 Address(base58'3PQG1wqM5vECAGVzMDvBzyq5nSkriqnVFxs')
3434 case _ =>
3535 throw("Match error")
3636 }
3737 val
3838 }
3939
4040
4141 func getName (id) = ("Memalien #" + id)
4242
4343
4444 func getURL (id) = (("https://images.wavespunks.com/memalien/" + id) + ".png")
4545
4646
4747 func getVideoURL (id) = (("https://images.wavespunks.com/memalien/" + id) + ".mp4")
4848
4949
50-func getMeta (id) = (((("{\"id\": " + id) + "\", \"url\": \"") + getURL(id)) + "\"}")
50+func getMeta (id) = (((("{\"id\": " + id) + ", \"url\": \"") + getURL(id)) + "\"}")
5151
5252
53-func getMetaVideo (id) = (((((("{\"id\": " + id) + "\", \"url\": \"") + getURL(id)) + "\", \"animation_url\": \"") + getVideoURL(id)) + "\"}")
53+func getMetaVideo (id) = (((((("{\"id\": " + id) + ", \"url\": \"") + getURL(id)) + "\", \"animation_url\": \"") + getVideoURL(id)) + "\"}")
5454
5555
5656 @Callable(i)
5757 func dropNFT (address) = {
5858 let totalMemalienSupply = tryGetInteger("memalien_supply")
5959 let endDrop = tryGetInteger("end_drop")
6060 let owner = tryGetString("owner")
6161 if ((totalMemalienSupply > (endDrop - 1)))
6262 then throw("Drop was ended")
6363 else if ((totalMemalienSupply == maxSupply))
6464 then throw("All memalien are minted")
6565 else if ((toString(i.caller) != owner))
6666 then throw("The function is available only to the admin")
6767 else {
6868 let id = toString(totalMemalienSupply)
6969 if (containsElement(split(tryGetString("video_nft"), ","), id))
7070 then {
7171 let asset = Issue(getName(id), getMetaVideo(id), 1, 0, false, unit, height)
7272 let assetId = calculateAssetId(asset)
7373 [IntegerEntry("memalien_supply", (totalMemalienSupply + 1)), StringEntry(((("drop_" + id) + "_") + address), toBase58String(assetId)), asset, ScriptTransfer(tryGetAddress(address), 1, assetId)]
7474 }
7575 else {
7676 let asset = Issue(getName(id), getMeta(id), 1, 0, false, unit, height)
7777 let assetId = calculateAssetId(asset)
7878 [IntegerEntry("memalien_supply", (totalMemalienSupply + 1)), StringEntry(((("drop_" + id) + "_") + address), toBase58String(assetId)), asset, ScriptTransfer(tryGetAddress(address), 1, assetId)]
7979 }
8080 }
8181 }
8282
8383
8484
8585 @Callable(i)
8686 func mint () = {
8787 let totalMemalienSupply = tryGetInteger("memalien_supply")
8888 let endDrop = tryGetInteger("end_drop")
8989 if (((endDrop - 1) > totalMemalienSupply))
9090 then throw("Drop wasn`t ended yet")
9191 else if ((totalMemalienSupply == maxSupply))
9292 then throw("All memalien are minted")
9393 else if ((tryGetString(toString(i.caller)) != ""))
9494 then throw("You already minted NFT")
9595 else {
9696 let id = toString(totalMemalienSupply)
9797 let asset = Issue(getName(id), getMeta(id), 1, 0, false, unit, height)
9898 let assetId = calculateAssetId(asset)
9999 [IntegerEntry("memalien_supply", (totalMemalienSupply + 1)), StringEntry(toString(i.caller), toBase58String(assetId)), asset, ScriptTransfer(i.caller, 1, assetId)]
100100 }
101101 }
102102
103103
104104 @Verifier(tx)
105105 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
106106

github/deemru/w8io/0e76f2f 
55.45 ms