tx · BbX6d92M6CkTo9ZWSUFXato53pndUkYuuAqd4CUTtf2K 3N3ftgC5gk2PppDs1qVAX4nyTuFtDeVNKoN: -0.01000000 Waves 2022.11.15 00:17 [2317323] smart account 3N3ftgC5gk2PppDs1qVAX4nyTuFtDeVNKoN > SELF 0.00000000 Waves
{ "type": 13, "id": "BbX6d92M6CkTo9ZWSUFXato53pndUkYuuAqd4CUTtf2K", "fee": 1000000, "feeAssetId": null, "timestamp": 1668460684173, "version": 2, "chainId": 84, "sender": "3N3ftgC5gk2PppDs1qVAX4nyTuFtDeVNKoN", "senderPublicKey": "E3czneq4Zzk1MBBjiJ7VDPEDVJ7h3THVNMcZvX8of8yr", "proofs": [ "5ApB1SiF94ucfP3Tp2pHpZ5T9fCA294pYFUDiaHHnJasnYTB89Miho3gKCcVKtu4sndkwkwdSXcBP4xrjaWt4kLm" ], "script": "base64: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", "height": 2317323, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let MINT_FEE = 10000000 | |
5 | + | ||
6 | + | let NFT_CREATION_ADDRESS = Address(base58'3PFQjjDMiZKQZdu5JqTHD7HwgSXyp9Rw9By') | |
7 | + | ||
8 | + | let VALIDATOR_ADDRESS = Address(base58'3N6LwkWxJWSHN6A278xHB9BKyK3dSgxgXkQ') | |
9 | + | ||
10 | + | let COLLECTION = "Meedus achievements" | |
11 | + | ||
12 | + | func getAssetString (assetId) = match assetId { | |
13 | + | case b: ByteVector => | |
14 | + | toBase58String(b) | |
15 | + | case _ => | |
16 | + | "WAVES" | |
17 | + | } | |
18 | + | ||
19 | + | ||
20 | + | @Callable(i) | |
21 | + | func mint (id) = { | |
22 | + | let nft = getString(this, ("badge_" + id)) | |
23 | + | let name = getString(this, (("badge_" + id) + "_name")) | |
24 | + | let description = getString(this, (("badge_" + id) + "_description")) | |
25 | + | let link = getString(this, (("badge_" + id) + "_link")) | |
26 | + | let status = getString(this, ((toString(i.caller) + "_stateOf_") + id)) | |
27 | + | if (if (if (if ((name == unit)) | |
28 | + | then true | |
29 | + | else (description == unit)) | |
30 | + | then true | |
31 | + | else (link == unit)) | |
32 | + | then true | |
33 | + | else (nft == unit)) | |
34 | + | then throw(("Cannot find badge with id " + id)) | |
35 | + | else if ((size(i.payments) != 1)) | |
36 | + | then throw("You should to provide payment") | |
37 | + | else if ((getAssetString(i.payments[0].assetId) != "WAVES")) | |
38 | + | then throw("Invalid payment asset") | |
39 | + | else if ((MINT_FEE > i.payments[0].amount)) | |
40 | + | then throw("Invalid payment amount") | |
41 | + | else if ((status != "available")) | |
42 | + | then throw("You cannot mint this nft") | |
43 | + | else [StringEntry(((toString(i.caller) + "_idOf_") + id), "nft_id")] | |
44 | + | } | |
45 | + | ||
46 | + | ||
47 | + | @Verifier(tx) | |
48 | + | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
49 | + |
github/deemru/w8io/169f3d6 11.41 ms ◑