tx · EXkyNRLu4QFJGQGi6d4aoLoaBrrhThyRJiZz5aKH6e4W 3My2v1xv9oXvkdoVBjdoPJwsyxswKABGzXz: -0.01400000 Waves 2022.10.30 15:38 [2295148] smart account 3My2v1xv9oXvkdoVBjdoPJwsyxswKABGzXz > SELF 0.00000000 Waves
{ "type": 13, "id": "EXkyNRLu4QFJGQGi6d4aoLoaBrrhThyRJiZz5aKH6e4W", "fee": 1400000, "feeAssetId": null, "timestamp": 1667133555464, "version": 2, "chainId": 84, "sender": "3My2v1xv9oXvkdoVBjdoPJwsyxswKABGzXz", "senderPublicKey": "AmNGcQhk77jcLZEVysQPbYbF3QCHAzQH9Zc9oRZB963h", "proofs": [ "64dfPHcMgPCY5SFWUM34xMce6MxKt2871MqF17xXk6M627bgBBEiz3RZq8veBRjDhCwePSb8cmoqJykh5tDQ4jum" ], "script": "base64:AAIFAAAAAAAAAAkIAhIFCgMICAgAAAAAAAAAAQAAAAFpAQAAAA5Jc3N1ZU5GVFNlcmllcwAAAAMAAAAOTkZURGVzY3JpcHRpb24AAAAISVBGU0hhc2gAAAAIQ2F0ZWdvcnkEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANTkZUU2VyaWVzTmFtZQIAAAAGQTRBREFPBAAAABBnZXRTZXJpZXNDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAB0NvdW50ZXIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAUQ3VycmVudFNlcmllc0NvdW50ZXIJAABkAAAAAgUAAAAQZ2V0U2VyaWVzQ291bnRlcgAAAAAAAAAAAQQAAAAFYXNzZXQJAARDAAAABwkAASwAAAACCQABLAAAAAIFAAAADU5GVFNlcmllc05hbWUCAAAAAS0JAAGkAAAAAQUAAAAUQ3VycmVudFNlcmllc0NvdW50ZXIFAAAADk5GVERlc2NyaXB0aW9uAAAAAAAAAAABAAAAAAAAAAAABwUAAAAEdW5pdAAAAAAAAAAAAAQAAAAHYXNzZXRJZAkABDgAAAABBQAAAAVhc3NldAkABEwAAAACBQAAAAVhc3NldAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAHQ291bnRlcgUAAAAUQ3VycmVudFNlcmllc0NvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAKVGltZXN0YW1wXwUAAAAISVBGU0hhc2gIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACElQRlNIYXNoBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAFTGlua18FAAAACElQRlNIYXNoCQABLAAAAAICAAAALmh0dHBzOi8vYXBpLmlwZnNicm93c2VyLmNvbS9pcGZzL2dldC5waHA/aGFzaD0FAAAACElQRlNIYXNoCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQUAAAAHYXNzZXRJZAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmulwh/", "height": 2295148, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Bi5AtqzMHNacaLhU3zHx21yceJTVu8c5zGi3nYRAyZvh Next: Gh72Ls16LUkUAtDWwLM5xieXgNRXEp5Ra5CH5bfsNvNa Diff:
Old | New | Differences | |
---|---|---|---|
4 | 4 | ||
5 | 5 | ||
6 | 6 | @Callable(a) | |
7 | - | func RegisterNFTSeries (b,c,d,e) = { | |
8 | - | let f = toBase58String(a.caller.bytes) | |
9 | - | let g = getString(this, ("NFTSeriesName_" + b)) | |
10 | - | if ((g == b)) | |
11 | - | then throw("Series Name Already Exist. Choose Another Series Name.") | |
12 | - | else if ((d > e)) | |
13 | - | then throw("End Counter must be greater than Start Counter.") | |
14 | - | else [StringEntry(("NFTSeriesName_" + b), b), StringEntry(("NFTDescription_" + b), c), StringEntry(("SeriesIssuerPubkey_" + b), f), IntegerEntry(("SeriesStartCounter_" + b), d), IntegerEntry(("SeriesEndCounter_" + b), e), IntegerEntry(("SeriesCurrentCounter_" + b), 0)] | |
7 | + | func IssueNFTSeries (b,c,d) = { | |
8 | + | let e = toBase58String(a.caller.bytes) | |
9 | + | let f = "A4ADAO" | |
10 | + | let g = { | |
11 | + | let h = getInteger(this, "Counter") | |
12 | + | if ($isInstanceOf(h, "Int")) | |
13 | + | then { | |
14 | + | let i = h | |
15 | + | i | |
16 | + | } | |
17 | + | else 0 | |
18 | + | } | |
19 | + | let j = (g + 1) | |
20 | + | let k = Issue(((f + "-") + toString(j)), b, 1, 0, false, unit, 0) | |
21 | + | let l = calculateAssetId(k) | |
22 | + | [k, IntegerEntry("Counter", j), IntegerEntry(("Timestamp_" + c), lastBlock.timestamp), StringEntry(c, e), StringEntry(("Link_" + c), ("https://api.ipfsbrowser.com/ipfs/get.php?hash=" + c)), ScriptTransfer(a.caller, 1, l)] | |
15 | 23 | } | |
16 | 24 | ||
17 | 25 | ||
18 | - | ||
19 | - | @Callable(a) | |
20 | - | func IssueNFTSeries (b) = { | |
21 | - | let f = toBase58String(a.caller.bytes) | |
22 | - | let h = getIntegerValue(this, ("SeriesStartCounter_" + b)) | |
23 | - | let i = getIntegerValue(this, ("SeriesEndCounter_" + b)) | |
24 | - | let j = getIntegerValue(this, ("SeriesCurrentCounter_" + b)) | |
25 | - | let k = (j + 1) | |
26 | - | let l = Issue(((b + "-") + toString(k)), getStringValue(this, ("NFTDescription_" + b)), 1, 0, false, unit, 0) | |
27 | - | let m = calculateAssetId(l) | |
28 | - | let g = getString(this, ("NFTSeriesName_" + b)) | |
29 | - | let n = getStringValue(this, ("SeriesIssuerPubkey_" + b)) | |
30 | - | if ((n != f)) | |
31 | - | then throw(((("I know You are not An Admin. Only " + n) + " has rights to issue NFT. But You are ") + f)) | |
32 | - | else if ((k > i)) | |
33 | - | then throw((("Counter to Mint " + b) + " is Finished. Create a New Series Please.")) | |
34 | - | else if ((g == b)) | |
35 | - | then [l, IntegerEntry(("SeriesStartCounter_" + b), h), IntegerEntry(("SeriesEndCounter_" + b), i), IntegerEntry(("SeriesCurrentCounter_" + b), k), ScriptTransfer(a.caller, 1, m)] | |
36 | - | else throw("Name Not Found.") | |
37 | - | } | |
38 | - | ||
39 | - | ||
40 | - | ||
41 | - | @Callable(a) | |
42 | - | func UploadNFTSeriesImg (b,o) = { | |
43 | - | let f = toBase58String(a.caller.bytes) | |
44 | - | let g = getString(this, ("NFTSeriesName_" + b)) | |
45 | - | let n = getStringValue(this, ("SeriesIssuerPubkey_" + b)) | |
46 | - | if ((size(o) > 150000)) | |
47 | - | then throw("NFT Image Size can't Exceed 150kb as of now.") | |
48 | - | else if ((n != f)) | |
49 | - | then throw(((("I know You are not An Admin. Only " + n) + " has rights to issue NFT. But You are ") + f)) | |
50 | - | else if ((g == b)) | |
51 | - | then [StringEntry(("Image_" + b), o)] | |
52 | - | else throw("Name Not Found.") | |
53 | - | } | |
54 | - | ||
55 | - | ||
56 | - | @Verifier(p) | |
57 | - | func q () = sigVerify(p.bodyBytes, p.proofs[0], p.senderPublicKey) | |
26 | + | @Verifier(m) | |
27 | + | func n () = sigVerify(m.bodyBytes, m.proofs[0], m.senderPublicKey) | |
58 | 28 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | ||
5 | 5 | ||
6 | 6 | @Callable(a) | |
7 | - | func RegisterNFTSeries (b,c,d,e) = { | |
8 | - | let f = toBase58String(a.caller.bytes) | |
9 | - | let g = getString(this, ("NFTSeriesName_" + b)) | |
10 | - | if ((g == b)) | |
11 | - | then throw("Series Name Already Exist. Choose Another Series Name.") | |
12 | - | else if ((d > e)) | |
13 | - | then throw("End Counter must be greater than Start Counter.") | |
14 | - | else [StringEntry(("NFTSeriesName_" + b), b), StringEntry(("NFTDescription_" + b), c), StringEntry(("SeriesIssuerPubkey_" + b), f), IntegerEntry(("SeriesStartCounter_" + b), d), IntegerEntry(("SeriesEndCounter_" + b), e), IntegerEntry(("SeriesCurrentCounter_" + b), 0)] | |
7 | + | func IssueNFTSeries (b,c,d) = { | |
8 | + | let e = toBase58String(a.caller.bytes) | |
9 | + | let f = "A4ADAO" | |
10 | + | let g = { | |
11 | + | let h = getInteger(this, "Counter") | |
12 | + | if ($isInstanceOf(h, "Int")) | |
13 | + | then { | |
14 | + | let i = h | |
15 | + | i | |
16 | + | } | |
17 | + | else 0 | |
18 | + | } | |
19 | + | let j = (g + 1) | |
20 | + | let k = Issue(((f + "-") + toString(j)), b, 1, 0, false, unit, 0) | |
21 | + | let l = calculateAssetId(k) | |
22 | + | [k, IntegerEntry("Counter", j), IntegerEntry(("Timestamp_" + c), lastBlock.timestamp), StringEntry(c, e), StringEntry(("Link_" + c), ("https://api.ipfsbrowser.com/ipfs/get.php?hash=" + c)), ScriptTransfer(a.caller, 1, l)] | |
15 | 23 | } | |
16 | 24 | ||
17 | 25 | ||
18 | - | ||
19 | - | @Callable(a) | |
20 | - | func IssueNFTSeries (b) = { | |
21 | - | let f = toBase58String(a.caller.bytes) | |
22 | - | let h = getIntegerValue(this, ("SeriesStartCounter_" + b)) | |
23 | - | let i = getIntegerValue(this, ("SeriesEndCounter_" + b)) | |
24 | - | let j = getIntegerValue(this, ("SeriesCurrentCounter_" + b)) | |
25 | - | let k = (j + 1) | |
26 | - | let l = Issue(((b + "-") + toString(k)), getStringValue(this, ("NFTDescription_" + b)), 1, 0, false, unit, 0) | |
27 | - | let m = calculateAssetId(l) | |
28 | - | let g = getString(this, ("NFTSeriesName_" + b)) | |
29 | - | let n = getStringValue(this, ("SeriesIssuerPubkey_" + b)) | |
30 | - | if ((n != f)) | |
31 | - | then throw(((("I know You are not An Admin. Only " + n) + " has rights to issue NFT. But You are ") + f)) | |
32 | - | else if ((k > i)) | |
33 | - | then throw((("Counter to Mint " + b) + " is Finished. Create a New Series Please.")) | |
34 | - | else if ((g == b)) | |
35 | - | then [l, IntegerEntry(("SeriesStartCounter_" + b), h), IntegerEntry(("SeriesEndCounter_" + b), i), IntegerEntry(("SeriesCurrentCounter_" + b), k), ScriptTransfer(a.caller, 1, m)] | |
36 | - | else throw("Name Not Found.") | |
37 | - | } | |
38 | - | ||
39 | - | ||
40 | - | ||
41 | - | @Callable(a) | |
42 | - | func UploadNFTSeriesImg (b,o) = { | |
43 | - | let f = toBase58String(a.caller.bytes) | |
44 | - | let g = getString(this, ("NFTSeriesName_" + b)) | |
45 | - | let n = getStringValue(this, ("SeriesIssuerPubkey_" + b)) | |
46 | - | if ((size(o) > 150000)) | |
47 | - | then throw("NFT Image Size can't Exceed 150kb as of now.") | |
48 | - | else if ((n != f)) | |
49 | - | then throw(((("I know You are not An Admin. Only " + n) + " has rights to issue NFT. But You are ") + f)) | |
50 | - | else if ((g == b)) | |
51 | - | then [StringEntry(("Image_" + b), o)] | |
52 | - | else throw("Name Not Found.") | |
53 | - | } | |
54 | - | ||
55 | - | ||
56 | - | @Verifier(p) | |
57 | - | func q () = sigVerify(p.bodyBytes, p.proofs[0], p.senderPublicKey) | |
26 | + | @Verifier(m) | |
27 | + | func n () = sigVerify(m.bodyBytes, m.proofs[0], m.senderPublicKey) | |
58 | 28 |
github/deemru/w8io/169f3d6 111.97 ms ◑