tx · F1jNARTLvpXaq96xYPPzzgkfHbu8gtVkt7SvRSc83Pvk 3MsGgBAKydWguLMEpobQUKaBWxX6F4Wbsrd: -0.01400000 Waves 2022.04.08 15:12 [1999578] smart account 3MsGgBAKydWguLMEpobQUKaBWxX6F4Wbsrd > SELF 0.00000000 Waves
{ "type": 13, "id": "F1jNARTLvpXaq96xYPPzzgkfHbu8gtVkt7SvRSc83Pvk", "fee": 1400000, "feeAssetId": null, "timestamp": 1649419937821, "version": 2, "chainId": 84, "sender": "3MsGgBAKydWguLMEpobQUKaBWxX6F4Wbsrd", "senderPublicKey": "AY9PCR6Qs5xrVE8XpYJqGK9CiHsyH73ERfuJvDUypi2h", "proofs": [ "4rsTSXUhk2e4x6jv1gaDaRrqX1d8JsXyjXbwrYukkS2wDnVhj7hWQw2F6BDgAAQKHrPzZd4J1DNc6a6e6DU3Les8" ], "script": "base64:AAIFAAAAAAAAABcIAhIGCgQICAEBEgMKAQgSBgoECAgICAAAAAAAAAADAAAAAWkBAAAAEVJlZ2lzdGVyTkZUU2VyaWVzAAAABAAAAA1ORlRTZXJpZXNOYW1lAAAADk5GVERlc2NyaXB0aW9uAAAAElNlcmllc1N0YXJ0Q291bnRlcgAAABBTZXJpZXNFbmRDb3VudGVyBAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC2NoZWNrc2VyaWVzCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAOTkZUU2VyaWVzTmFtZV8FAAAADU5GVFNlcmllc05hbWUDCQAAAAAAAAIFAAAAC2NoZWNrc2VyaWVzBQAAAA1ORlRTZXJpZXNOYW1lCQAAAgAAAAECAAAANlNlcmllcyBOYW1lIEFscmVhZHkgRXhpc3QuIENob29zZSBBbm90aGVyIFNlcmllcyBOYW1lLgMJAABmAAAAAgUAAAASU2VyaWVzU3RhcnRDb3VudGVyBQAAABBTZXJpZXNFbmRDb3VudGVyCQAAAgAAAAECAAAAL0VuZCBDb3VudGVyIG11c3QgYmUgZ3JlYXRlciB0aGFuIFN0YXJ0IENvdW50ZXIuCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAOTkZUU2VyaWVzTmFtZV8FAAAADU5GVFNlcmllc05hbWUFAAAADU5GVFNlcmllc05hbWUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAA9ORlREZXNjcmlwdGlvbl8FAAAADU5GVFNlcmllc05hbWUFAAAADk5GVERlc2NyaXB0aW9uCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAATU2VyaWVzSXNzdWVyUHVia2V5XwUAAAANTkZUU2VyaWVzTmFtZQUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABNTZXJpZXNTdGFydENvdW50ZXJfBQAAAA1ORlRTZXJpZXNOYW1lBQAAABJTZXJpZXNTdGFydENvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAARU2VyaWVzRW5kQ291bnRlcl8FAAAADU5GVFNlcmllc05hbWUFAAAAEFNlcmllc0VuZENvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVU2VyaWVzQ3VycmVudENvdW50ZXJfBQAAAA1ORlRTZXJpZXNOYW1lAAAAAAAAAAAABQAAAANuaWwAAAABaQEAAAAOSXNzdWVORlRTZXJpZXMAAAABAAAADU5GVFNlcmllc05hbWUEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAVZ2V0U2VyaWVzU3RhcnRDb3VudGVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAE1Nlcmllc1N0YXJ0Q291bnRlcl8FAAAADU5GVFNlcmllc05hbWUEAAAAE2dldFNlcmllc0VuZENvdW50ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARU2VyaWVzRW5kQ291bnRlcl8FAAAADU5GVFNlcmllc05hbWUEAAAAF2dldFNlcmllc0N1cnJlbnRDb3VudGVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAFVNlcmllc0N1cnJlbnRDb3VudGVyXwUAAAANTkZUU2VyaWVzTmFtZQQAAAATZ2V0U2VyaWVzTmV3Q291bnRlcgkAAGQAAAACBQAAABdnZXRTZXJpZXNDdXJyZW50Q291bnRlcgAAAAAAAAAAAQQAAAAFYXNzZXQJAARDAAAABwUAAAANTkZUU2VyaWVzTmFtZQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBpcyBhIE5GVCBJc3N1ZWQgQWdhaW5zdCBTZXJpZXM6IAUAAAANTkZUU2VyaWVzTmFtZQIAAAAUIHdpdGggYSBDb3VudGVyIE5vOiAJAAGkAAAAAQUAAAATZ2V0U2VyaWVzTmV3Q291bnRlcgAAAAAAAAAAAQAAAAAAAAAAAAcFAAAABHVuaXQAAAAAAAAAAAAEAAAAB2Fzc2V0SWQJAAQ4AAAAAQUAAAAFYXNzZXQEAAAAC2NoZWNrc2VyaWVzCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAOTkZUU2VyaWVzTmFtZV8FAAAADU5GVFNlcmllc05hbWUEAAAAF2NoZWNrc2VyaWVzaXNzdWVycHVia2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAE1Nlcmllc0lzc3VlclB1YmtleV8FAAAADU5GVFNlcmllc05hbWUDCQEAAAACIT0AAAACBQAAABdjaGVja3Nlcmllc2lzc3VlcnB1YmtleQUAAAAKY3VycmVudEtleQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACJJIGtub3cgWW91IGFyZSBub3QgQW4gQWRtaW4uIE9ubHkgBQAAABdjaGVja3Nlcmllc2lzc3VlcnB1YmtleQIAAAAmIGhhcyByaWdodHMgdG8gaXNzdWUgTkZULiBCdXQgWW91IGFyZSAFAAAACmN1cnJlbnRLZXkDCQAAZgAAAAIFAAAAE2dldFNlcmllc05ld0NvdW50ZXIFAAAAE2dldFNlcmllc0VuZENvdW50ZXIJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAEENvdW50ZXIgdG8gTWludCAFAAAADU5GVFNlcmllc05hbWUCAAAAKSBpcyBGaW5pc2hlZC4gQ3JlYXRlIGEgTmV3IFNlcmllcyBQbGVhc2UuAwkAAAAAAAACBQAAAAtjaGVja3NlcmllcwUAAAANTkZUU2VyaWVzTmFtZQkABEwAAAACBQAAAAVhc3NldAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABNTZXJpZXNTdGFydENvdW50ZXJfBQAAAA1ORlRTZXJpZXNOYW1lBQAAABVnZXRTZXJpZXNTdGFydENvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAARU2VyaWVzRW5kQ291bnRlcl8FAAAADU5GVFNlcmllc05hbWUFAAAAE2dldFNlcmllc0VuZENvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVU2VyaWVzQ3VycmVudENvdW50ZXJfBQAAAA1ORlRTZXJpZXNOYW1lBQAAABNnZXRTZXJpZXNOZXdDb3VudGVyCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQUAAAAHYXNzZXRJZAUAAAADbmlsCQAAAgAAAAECAAAAD05hbWUgTm90IEZvdW5kLgAAAAFpAQAAAAtSZW1vdmVFbnRyeQAAAAQAAAADS2V5AAAABEtleTEAAAAES2V5MgAAAARLZXkzCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAA0tleQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAARLZXkxCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAABEtleTIJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAES2V5MwUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXk9S3Sc", "height": 1999578, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AJifWkTBXcXRqgGDJtcoJxA4DyZGfXiDxKDHBSyXU5jN Next: AiLQWspYT9eYDS6Mn6oHUytbZZcuLNwB6bmPcUjJ1DF4 Diff:
Old | New | Differences | |
---|---|---|---|
9 | 9 | let g = getString(this, ("NFTSeriesName_" + b)) | |
10 | 10 | if ((g == b)) | |
11 | 11 | then throw("Series Name Already Exist. Choose Another Series Name.") | |
12 | - | 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)] | |
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)] | |
13 | 15 | } | |
14 | 16 | ||
15 | 17 |
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 | 7 | func RegisterNFTSeries (b,c,d,e) = { | |
8 | 8 | let f = toBase58String(a.caller.bytes) | |
9 | 9 | let g = getString(this, ("NFTSeriesName_" + b)) | |
10 | 10 | if ((g == b)) | |
11 | 11 | then throw("Series Name Already Exist. Choose Another Series Name.") | |
12 | - | 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)] | |
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)] | |
13 | 15 | } | |
14 | 16 | ||
15 | 17 | ||
16 | 18 | ||
17 | 19 | @Callable(a) | |
18 | 20 | func IssueNFTSeries (b) = { | |
19 | 21 | let f = toBase58String(a.caller.bytes) | |
20 | 22 | let h = getIntegerValue(this, ("SeriesStartCounter_" + b)) | |
21 | 23 | let i = getIntegerValue(this, ("SeriesEndCounter_" + b)) | |
22 | 24 | let j = getIntegerValue(this, ("SeriesCurrentCounter_" + b)) | |
23 | 25 | let k = (j + 1) | |
24 | 26 | let l = Issue(b, ((("This is a NFT Issued Against Series: " + b) + " with a Counter No: ") + toString(k)), 1, 0, false, unit, 0) | |
25 | 27 | let m = calculateAssetId(l) | |
26 | 28 | let g = getString(this, ("NFTSeriesName_" + b)) | |
27 | 29 | let n = getStringValue(this, ("SeriesIssuerPubkey_" + b)) | |
28 | 30 | if ((n != f)) | |
29 | 31 | then throw(((("I know You are not An Admin. Only " + n) + " has rights to issue NFT. But You are ") + f)) | |
30 | 32 | else if ((k > i)) | |
31 | 33 | then throw((("Counter to Mint " + b) + " is Finished. Create a New Series Please.")) | |
32 | 34 | else if ((g == b)) | |
33 | 35 | then [l, IntegerEntry(("SeriesStartCounter_" + b), h), IntegerEntry(("SeriesEndCounter_" + b), i), IntegerEntry(("SeriesCurrentCounter_" + b), k), ScriptTransfer(a.caller, 1, m)] | |
34 | 36 | else throw("Name Not Found.") | |
35 | 37 | } | |
36 | 38 | ||
37 | 39 | ||
38 | 40 | ||
39 | 41 | @Callable(a) | |
40 | 42 | func RemoveEntry (o,p,q,r) = [DeleteEntry(o), DeleteEntry(p), DeleteEntry(q), DeleteEntry(r)] | |
41 | 43 | ||
42 | 44 | ||
43 | 45 | @Verifier(s) | |
44 | 46 | func t () = sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey) | |
45 | 47 |
github/deemru/w8io/169f3d6 44.60 ms ◑![]()