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 checkseries = getString(this, ("NFTSeriesName_" + NFTSeriesName)) | |
10 | 10 | if ((checkseries == NFTSeriesName)) | |
11 | 11 | then throw("Series Name Already Exist. Choose Another Series Name.") | |
12 | - | else [StringEntry(("NFTSeriesName_" + NFTSeriesName), NFTSeriesName), StringEntry(("NFTDescription_" + NFTSeriesName), NFTDescription), StringEntry(("SeriesIssuerPubkey_" + NFTSeriesName), currentKey), IntegerEntry(("SeriesStartCounter_" + NFTSeriesName), SeriesStartCounter), IntegerEntry(("SeriesEndCounter_" + NFTSeriesName), SeriesEndCounter), IntegerEntry(("SeriesCurrentCounter_" + NFTSeriesName), 0)] | |
12 | + | else if ((SeriesStartCounter > SeriesEndCounter)) | |
13 | + | then throw("End Counter must be greater than Start Counter.") | |
14 | + | else [StringEntry(("NFTSeriesName_" + NFTSeriesName), NFTSeriesName), StringEntry(("NFTDescription_" + NFTSeriesName), NFTDescription), StringEntry(("SeriesIssuerPubkey_" + NFTSeriesName), currentKey), IntegerEntry(("SeriesStartCounter_" + NFTSeriesName), SeriesStartCounter), IntegerEntry(("SeriesEndCounter_" + NFTSeriesName), SeriesEndCounter), IntegerEntry(("SeriesCurrentCounter_" + NFTSeriesName), 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(i) | |
7 | 7 | func RegisterNFTSeries (NFTSeriesName,NFTDescription,SeriesStartCounter,SeriesEndCounter) = { | |
8 | 8 | let currentKey = toBase58String(i.caller.bytes) | |
9 | 9 | let checkseries = getString(this, ("NFTSeriesName_" + NFTSeriesName)) | |
10 | 10 | if ((checkseries == NFTSeriesName)) | |
11 | 11 | then throw("Series Name Already Exist. Choose Another Series Name.") | |
12 | - | else [StringEntry(("NFTSeriesName_" + NFTSeriesName), NFTSeriesName), StringEntry(("NFTDescription_" + NFTSeriesName), NFTDescription), StringEntry(("SeriesIssuerPubkey_" + NFTSeriesName), currentKey), IntegerEntry(("SeriesStartCounter_" + NFTSeriesName), SeriesStartCounter), IntegerEntry(("SeriesEndCounter_" + NFTSeriesName), SeriesEndCounter), IntegerEntry(("SeriesCurrentCounter_" + NFTSeriesName), 0)] | |
12 | + | else if ((SeriesStartCounter > SeriesEndCounter)) | |
13 | + | then throw("End Counter must be greater than Start Counter.") | |
14 | + | else [StringEntry(("NFTSeriesName_" + NFTSeriesName), NFTSeriesName), StringEntry(("NFTDescription_" + NFTSeriesName), NFTDescription), StringEntry(("SeriesIssuerPubkey_" + NFTSeriesName), currentKey), IntegerEntry(("SeriesStartCounter_" + NFTSeriesName), SeriesStartCounter), IntegerEntry(("SeriesEndCounter_" + NFTSeriesName), SeriesEndCounter), IntegerEntry(("SeriesCurrentCounter_" + NFTSeriesName), 0)] | |
13 | 15 | } | |
14 | 16 | ||
15 | 17 | ||
16 | 18 | ||
17 | 19 | @Callable(i) | |
18 | 20 | func IssueNFTSeries (NFTSeriesName) = { | |
19 | 21 | let currentKey = toBase58String(i.caller.bytes) | |
20 | 22 | let getSeriesStartCounter = getIntegerValue(this, ("SeriesStartCounter_" + NFTSeriesName)) | |
21 | 23 | let getSeriesEndCounter = getIntegerValue(this, ("SeriesEndCounter_" + NFTSeriesName)) | |
22 | 24 | let getSeriesCurrentCounter = getIntegerValue(this, ("SeriesCurrentCounter_" + NFTSeriesName)) | |
23 | 25 | let getSeriesNewCounter = (getSeriesCurrentCounter + 1) | |
24 | 26 | let asset = Issue(NFTSeriesName, ((("This is a NFT Issued Against Series: " + NFTSeriesName) + " with a Counter No: ") + toString(getSeriesNewCounter)), 1, 0, false, unit, 0) | |
25 | 27 | let assetId = calculateAssetId(asset) | |
26 | 28 | let checkseries = getString(this, ("NFTSeriesName_" + NFTSeriesName)) | |
27 | 29 | let checkseriesissuerpubkey = getStringValue(this, ("SeriesIssuerPubkey_" + NFTSeriesName)) | |
28 | 30 | if ((checkseriesissuerpubkey != currentKey)) | |
29 | 31 | then throw(((("I know You are not An Admin. Only " + checkseriesissuerpubkey) + " has rights to issue NFT. But You are ") + currentKey)) | |
30 | 32 | else if ((getSeriesNewCounter > getSeriesEndCounter)) | |
31 | 33 | then throw((("Counter to Mint " + NFTSeriesName) + " is Finished. Create a New Series Please.")) | |
32 | 34 | else if ((checkseries == NFTSeriesName)) | |
33 | 35 | then [asset, IntegerEntry(("SeriesStartCounter_" + NFTSeriesName), getSeriesStartCounter), IntegerEntry(("SeriesEndCounter_" + NFTSeriesName), getSeriesEndCounter), IntegerEntry(("SeriesCurrentCounter_" + NFTSeriesName), getSeriesNewCounter), ScriptTransfer(i.caller, 1, assetId)] | |
34 | 36 | else throw("Name Not Found.") | |
35 | 37 | } | |
36 | 38 | ||
37 | 39 | ||
38 | 40 | ||
39 | 41 | @Callable(i) | |
40 | 42 | func RemoveEntry (Key,Key1,Key2,Key3) = [DeleteEntry(Key), DeleteEntry(Key1), DeleteEntry(Key2), DeleteEntry(Key3)] | |
41 | 43 | ||
42 | 44 | ||
43 | 45 | @Verifier(tx) | |
44 | 46 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
45 | 47 |
github/deemru/w8io/169f3d6 53.96 ms ◑