tx · 9ggkFwYcFsebKn8EBRPYzw7SHVTzNcdUZMyyMedNq6A5 3MsGgBAKydWguLMEpobQUKaBWxX6F4Wbsrd: -0.01400000 Waves 2022.04.07 06:04 [1997583] smart account 3MsGgBAKydWguLMEpobQUKaBWxX6F4Wbsrd > SELF 0.00000000 Waves
{ "type": 13, "id": "9ggkFwYcFsebKn8EBRPYzw7SHVTzNcdUZMyyMedNq6A5", "fee": 1400000, "feeAssetId": null, "timestamp": 1649300661582, "version": 2, "chainId": 84, "sender": "3MsGgBAKydWguLMEpobQUKaBWxX6F4Wbsrd", "senderPublicKey": "AY9PCR6Qs5xrVE8XpYJqGK9CiHsyH73ERfuJvDUypi2h", "proofs": [ "YCDfgxdod5fJskr3fLWu4oRF7FCTnqfYmZCj7QhBbHvwPTpGUqbXzFMJkQ3LXuU6C4QDnUNHUX6q4j3aw7jcLRM" ], "script": "base64:AAIFAAAAAAAAABcIAhIGCgQICAEBEgMKAQgSBgoECAgICAAAAAAAAAADAAAAAWkBAAAAEVJlZ2lzdGVyTkZUU2VyaWVzAAAABAAAAA1ORlRTZXJpZXNOYW1lAAAADk5GVERlc2NyaXB0aW9uAAAAElNlcmllc1N0YXJ0Q291bnRlcgAAABBTZXJpZXNFbmRDb3VudGVyBAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC2NoZWNrc2VyaWVzCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAOTkZUU2VyaWVzTmFtZV8FAAAADU5GVFNlcmllc05hbWUDCQAAAAAAAAIFAAAAC2NoZWNrc2VyaWVzBQAAAA1ORlRTZXJpZXNOYW1lCQAAAgAAAAECAAAANlNlcmllcyBOYW1lIEFscmVhZHkgRXhpc3QuIENob29zZSBBbm90aGVyIFNlcmllcyBOYW1lLgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAADk5GVFNlcmllc05hbWVfBQAAAA1ORlRTZXJpZXNOYW1lBQAAAA1ORlRTZXJpZXNOYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTkZURGVzY3JpcHRpb25fBQAAAA1ORlRTZXJpZXNOYW1lBQAAAA5ORlREZXNjcmlwdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAAE1Nlcmllc0lzc3VlclB1YmtleV8FAAAADU5GVFNlcmllc05hbWUJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAE1Nlcmllc1N0YXJ0Q291bnRlcl8FAAAADU5GVFNlcmllc05hbWUFAAAAElNlcmllc1N0YXJ0Q291bnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABFTZXJpZXNFbmRDb3VudGVyXwUAAAANTkZUU2VyaWVzTmFtZQUAAAAQU2VyaWVzRW5kQ291bnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVTZXJpZXNDdXJyZW50Q291bnRlcl8FAAAADU5GVFNlcmllc05hbWUAAAAAAAAAAAAFAAAAA25pbAAAAAFpAQAAAA5Jc3N1ZU5GVFNlcmllcwAAAAEAAAANTkZUU2VyaWVzTmFtZQQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABVnZXRTZXJpZXNTdGFydENvdW50ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAATU2VyaWVzU3RhcnRDb3VudGVyXwUAAAANTkZUU2VyaWVzTmFtZQQAAAATZ2V0U2VyaWVzRW5kQ291bnRlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABFTZXJpZXNFbmRDb3VudGVyXwUAAAANTkZUU2VyaWVzTmFtZQQAAAAXZ2V0U2VyaWVzQ3VycmVudENvdW50ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAVU2VyaWVzQ3VycmVudENvdW50ZXJfBQAAAA1ORlRTZXJpZXNOYW1lBAAAABNnZXRTZXJpZXNOZXdDb3VudGVyCQAAZAAAAAIFAAAAF2dldFNlcmllc0N1cnJlbnRDb3VudGVyAAAAAAAAAAABBAAAAAVhc3NldAkABEMAAAAHBQAAAA1ORlRTZXJpZXNOYW1lCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACVUaGlzIGlzIGEgTkZUIElzc3VlZCBBZ2FpbnN0IFNlcmllczogBQAAAA1ORlRTZXJpZXNOYW1lAgAAAAssIENvdW50ZXI6IAkAAaQAAAABBQAAABNnZXRTZXJpZXNOZXdDb3VudGVyAAAAAAAAAAABAAAAAAAAAAAABwUAAAAEdW5pdAAAAAAAAAAAAAQAAAAHYXNzZXRJZAkABDgAAAABBQAAAAVhc3NldAQAAAALY2hlY2tzZXJpZXMJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAA5ORlRTZXJpZXNOYW1lXwUAAAANTkZUU2VyaWVzTmFtZQMJAQAAAAIhPQAAAAIFAAAAC2NoZWNrc2VyaWVzBQAAAA1ORlRTZXJpZXNOYW1lCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAxTZXJpZXMgTmFtZSAFAAAADU5GVFNlcmllc05hbWUCAAAACyBOb3QgRm91bmQuCQAETAAAAAIFAAAABWFzc2V0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAOTkZUU2VyaWVzTmFtZV8FAAAADU5GVFNlcmllc05hbWUFAAAADU5GVFNlcmllc05hbWUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAA1TZXJpZXNJc3N1ZXJfBQAAAA1ORlRTZXJpZXNOYW1lCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABNTZXJpZXNTdGFydENvdW50ZXJfBQAAAA1ORlRTZXJpZXNOYW1lBQAAABVnZXRTZXJpZXNTdGFydENvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAARU2VyaWVzRW5kQ291bnRlcl8FAAAADU5GVFNlcmllc05hbWUFAAAAE2dldFNlcmllc0VuZENvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVU2VyaWVzQ3VycmVudENvdW50ZXJfBQAAAA1ORlRTZXJpZXNOYW1lBQAAABNnZXRTZXJpZXNOZXdDb3VudGVyBQAAAANuaWwAAAABaQEAAAALUmVtb3ZlRW50cnkAAAAEAAAAA0tleQAAAARLZXkxAAAABEtleTIAAAAES2V5MwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAANLZXkJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAES2V5MQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAARLZXkyCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAABEtleTMFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5s9fwJA==", "height": 1997583, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7fHXX6oDqcNrGTVvqLhJumZikyBzZLXDBitG8X57dCN2 Next: GCvagK1qD5mPT4ZtGwrPcaM4bPekzuS9ZV3JXvQkhZe5 Diff:
Old | New | Differences | |
---|---|---|---|
24 | 24 | let asset = Issue(NFTSeriesName, ((("This is a NFT Issued Against Series: " + NFTSeriesName) + ", Counter: ") + toString(getSeriesNewCounter)), 1, 0, false, unit, 0) | |
25 | 25 | let assetId = calculateAssetId(asset) | |
26 | 26 | let checkseries = getString(this, ("NFTSeriesName_" + NFTSeriesName)) | |
27 | - | if ((checkseries | |
28 | - | then throw("Series Name | |
27 | + | if ((checkseries != NFTSeriesName)) | |
28 | + | then throw((("Series Name " + NFTSeriesName) + " Not Found.")) | |
29 | 29 | else [asset, StringEntry(("NFTSeriesName_" + NFTSeriesName), NFTSeriesName), StringEntry(("SeriesIssuer_" + NFTSeriesName), toBase58String(i.callerPublicKey)), IntegerEntry(("SeriesStartCounter_" + NFTSeriesName), getSeriesStartCounter), IntegerEntry(("SeriesEndCounter_" + NFTSeriesName), getSeriesEndCounter), IntegerEntry(("SeriesCurrentCounter_" + NFTSeriesName), getSeriesNewCounter)] | |
30 | 30 | } | |
31 | 31 |
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 | 12 | else [StringEntry(("NFTSeriesName_" + NFTSeriesName), NFTSeriesName), StringEntry(("NFTDescription_" + NFTSeriesName), NFTDescription), StringEntry(("SeriesIssuerPubkey_" + NFTSeriesName), toBase58String(i.callerPublicKey)), IntegerEntry(("SeriesStartCounter_" + NFTSeriesName), SeriesStartCounter), IntegerEntry(("SeriesEndCounter_" + NFTSeriesName), SeriesEndCounter), IntegerEntry(("SeriesCurrentCounter_" + NFTSeriesName), 0)] | |
13 | 13 | } | |
14 | 14 | ||
15 | 15 | ||
16 | 16 | ||
17 | 17 | @Callable(i) | |
18 | 18 | func IssueNFTSeries (NFTSeriesName) = { | |
19 | 19 | let currentKey = toBase58String(i.caller.bytes) | |
20 | 20 | let getSeriesStartCounter = getIntegerValue(this, ("SeriesStartCounter_" + NFTSeriesName)) | |
21 | 21 | let getSeriesEndCounter = getIntegerValue(this, ("SeriesEndCounter_" + NFTSeriesName)) | |
22 | 22 | let getSeriesCurrentCounter = getIntegerValue(this, ("SeriesCurrentCounter_" + NFTSeriesName)) | |
23 | 23 | let getSeriesNewCounter = (getSeriesCurrentCounter + 1) | |
24 | 24 | let asset = Issue(NFTSeriesName, ((("This is a NFT Issued Against Series: " + NFTSeriesName) + ", Counter: ") + toString(getSeriesNewCounter)), 1, 0, false, unit, 0) | |
25 | 25 | let assetId = calculateAssetId(asset) | |
26 | 26 | let checkseries = getString(this, ("NFTSeriesName_" + NFTSeriesName)) | |
27 | - | if ((checkseries | |
28 | - | then throw("Series Name | |
27 | + | if ((checkseries != NFTSeriesName)) | |
28 | + | then throw((("Series Name " + NFTSeriesName) + " Not Found.")) | |
29 | 29 | else [asset, StringEntry(("NFTSeriesName_" + NFTSeriesName), NFTSeriesName), StringEntry(("SeriesIssuer_" + NFTSeriesName), toBase58String(i.callerPublicKey)), IntegerEntry(("SeriesStartCounter_" + NFTSeriesName), getSeriesStartCounter), IntegerEntry(("SeriesEndCounter_" + NFTSeriesName), getSeriesEndCounter), IntegerEntry(("SeriesCurrentCounter_" + NFTSeriesName), getSeriesNewCounter)] | |
30 | 30 | } | |
31 | 31 | ||
32 | 32 | ||
33 | 33 | ||
34 | 34 | @Callable(i) | |
35 | 35 | func RemoveEntry (Key,Key1,Key2,Key3) = [DeleteEntry(Key), DeleteEntry(Key1), DeleteEntry(Key2), DeleteEntry(Key3)] | |
36 | 36 | ||
37 | 37 | ||
38 | 38 | @Verifier(tx) | |
39 | 39 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
40 | 40 |
github/deemru/w8io/169f3d6 51.24 ms ◑