tx · FCmDoaxe2X3rEjUgCsfGCZgqHm83KNQzTNtREgAQGs7h 3MxVYj6ScMArhAamy7nB6b342kh1Pso1LTn: -0.00200000 Waves 2023.03.20 19:42 [2498585] smart account 3MxVYj6ScMArhAamy7nB6b342kh1Pso1LTn > SELF 0.00000000 Waves
{ "type": 13, "id": "FCmDoaxe2X3rEjUgCsfGCZgqHm83KNQzTNtREgAQGs7h", "fee": 200000, "feeAssetId": null, "timestamp": 1679330669668, "version": 2, "chainId": 84, "sender": "3MxVYj6ScMArhAamy7nB6b342kh1Pso1LTn", "senderPublicKey": "CZeucjRLCKrkiP9zuj9KbLe23Wv9DywFzHBqNDnte51B", "proofs": [ "3jsAer5h8FuinAwdbiA7WjyhSWKFTkhDLCLWr98C3fSuE4b5nAnV1C3ekJvEryeKYTrTTxhUZqHybTdxjTgcqvxN" ], "script": "base64:BgIbCAISBAoCCAgSBAoCCAESBgoECAgICBIDCgEICAAOY29sbGVjdGlvbk5hbWUJARFAZXh0ck5hdGl2ZSgxMDU4KQECDmNvbGxlY3Rpb25OYW1lAAZzeW1ib2wJARFAZXh0ck5hdGl2ZSgxMDU4KQECBnN5bWJvbAALZGVzY3JpcHRpb24JARFAZXh0ck5hdGl2ZSgxMDU4KQECC2Rlc2NyaXB0aW9uAAt0b3RhbEFtb3VudAkBEUBleHRyTmF0aXZlKDEwNTUpAQILdG90YWxBbW91bnQAB2Jhc2VVUkkJARFAZXh0ck5hdGl2ZSgxMDU4KQECB2Jhc2VVUkkACGRBcHBKc29uCQEHQWRkcmVzcwEJANkEAQIjM01yR2FaVlJoa25FR2ZISjE5dHRVUE5uRFJvRnFjSGhWTjcBDG9ubHlJbnRlcm5hbAEGY2FsbGVyAwkAAAIFBmNhbGxlcgUEdGhpcwUEdW5pdAkAAgECEk9ubHkgaW50ZXJuYWwgY2FsbAENdHJhbnNmZXJPck5vdAICdG8HYXNzZXRJZAMJAAACBQJ0bwUEdGhpcwkBC1N0cmluZ0VudHJ5AgIEc210aAIEc210aAkBDlNjcmlwdFRyYW5zZmVyAwUCdG8AAQUHYXNzZXRJZAQBaQEJc2V0U3RyaW5nAgRfa2V5Bl92YWx1ZQkAzAgCCQELU3RyaW5nRW50cnkCBQRfa2V5BQZfdmFsdWUFA25pbAFpAQZzZXRJbnQCBF9rZXkGX3ZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQRfa2V5BQZfdmFsdWUFA25pbAFpAQRpbml0BA9fY29sbGVjdGlvbk5hbWUHX3N5bWJvbAxfZGVzY3JpcHRpb24IX2Jhc2VVUkkJAQt2YWx1ZU9yRWxzZQIJAQxvbmx5SW50ZXJuYWwBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgIOY29sbGVjdGlvbk5hbWUFD19jb2xsZWN0aW9uTmFtZQkAzAgCCQELU3RyaW5nRW50cnkCAgZzeW1ib2wFB19zeW1ib2wJAMwIAgkBC1N0cmluZ0VudHJ5AgILZGVzY3JpcHRpb24FDF9kZXNjcmlwdGlvbgkAzAgCCQEMSW50ZWdlckVudHJ5AgILdG90YWxBbW91bnQAAAkAzAgCCQELU3RyaW5nRW50cnkCAgdiYXNlVVJJBQhfYmFzZVVSSQUDbmlsAWkBBG1pbnQBAnRvBAd0b2tlbklkCQBkAgULdG90YWxBbW91bnQAAQQNdG9rZW5JZFN0cmluZwkApAMBBQd0b2tlbklkBAdwcmVOYW1lCQCsAgIJAKwCAgUGc3ltYm9sAgEjBQ10b2tlbklkU3RyaW5nBARuYW1lAwkAZwIAEAkAsQIBBQdwcmVOYW1lBQdwcmVOYW1lBQ10b2tlbklkU3RyaW5nBAh0b2tlblVSSQkArAICBQdiYXNlVVJJBQ10b2tlbklkU3RyaW5nBARqc29uCgABQAkA/AcEBQhkQXBwSnNvbgIIbWFrZUpTT04JAMwIAgkAzAgCAgh0b2tlblVSSQUDbmlsCQDMCAIJAMwIAgUIdG9rZW5VUkkFA25pbAUDbmlsBQNuaWwDCQABAgUBQAIGU3RyaW5nBQFACQACAQkArAICCQADAQUBQAIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nBAVhc3NldAkAwwgHBQRuYW1lBQRqc29uAAEAAAcFBHVuaXQFBmhlaWdodAQHYXNzZXRJZAkAuAgBBQVhc3NldAQJdG9BZGRyZXNzCQEHQWRkcmVzcwEJANkEAQUCdG8ECHRyYW5zZmVyCQENdHJhbnNmZXJPck5vdAIFCXRvQWRkcmVzcwUHYXNzZXRJZAMJAAACBQh0cmFuc2ZlcgUIdHJhbnNmZXIJAMwIAgUFYXNzZXQJAMwIAgUIdHJhbnNmZXIJAMwIAgkBDEludGVnZXJFbnRyeQICC3RvdGFsQW1vdW50BQd0b2tlbklkCQDMCAIJAQtTdHJpbmdFbnRyeQIFBG5hbWUFCHRva2VuVVJJBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4A4M6/NA==", "height": 2498585, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GHwgUu4v4ZLnHSZAiErCHDGnyFugohjo6EfANK7GtBoz Next: H8akVuHfi4XQ5XvFgdeHRis2VKD8dguz3DCCfWMizo5S Diff:
Old | New | Differences | |
---|---|---|---|
39 | 39 | ||
40 | 40 | ||
41 | 41 | @Callable(i) | |
42 | - | func mint (to | |
42 | + | func mint (to) = { | |
43 | 43 | let tokenId = (totalAmount + 1) | |
44 | - | let preName = ((symbol + "#") + toString(tokenId)) | |
44 | + | let tokenIdString = toString(tokenId) | |
45 | + | let preName = ((symbol + "#") + tokenIdString) | |
45 | 46 | let name = if ((16 >= size(preName))) | |
46 | 47 | then preName | |
47 | - | else toString(tokenId) | |
48 | + | else tokenIdString | |
49 | + | let tokenURI = (baseURI + tokenIdString) | |
48 | 50 | let json = { | |
49 | 51 | let @ = invoke(dAppJson, "makeJSON", [["tokenURI"], [tokenURI]], nil) | |
50 | 52 | if ($isInstanceOf(@, "String")) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let collectionName = getStringValue("collectionName") | |
5 | 5 | ||
6 | 6 | let symbol = getStringValue("symbol") | |
7 | 7 | ||
8 | 8 | let description = getStringValue("description") | |
9 | 9 | ||
10 | 10 | let totalAmount = getIntegerValue("totalAmount") | |
11 | 11 | ||
12 | 12 | let baseURI = getStringValue("baseURI") | |
13 | 13 | ||
14 | 14 | let dAppJson = Address(fromBase58String("3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7")) | |
15 | 15 | ||
16 | 16 | func onlyInternal (caller) = if ((caller == this)) | |
17 | 17 | then unit | |
18 | 18 | else throw("Only internal call") | |
19 | 19 | ||
20 | 20 | ||
21 | 21 | func transferOrNot (to,assetId) = if ((to == this)) | |
22 | 22 | then StringEntry("smth", "smth") | |
23 | 23 | else ScriptTransfer(to, 1, assetId) | |
24 | 24 | ||
25 | 25 | ||
26 | 26 | @Callable(i) | |
27 | 27 | func setString (_key,_value) = [StringEntry(_key, _value)] | |
28 | 28 | ||
29 | 29 | ||
30 | 30 | ||
31 | 31 | @Callable(i) | |
32 | 32 | func setInt (_key,_value) = [IntegerEntry(_key, _value)] | |
33 | 33 | ||
34 | 34 | ||
35 | 35 | ||
36 | 36 | @Callable(i) | |
37 | 37 | func init (_collectionName,_symbol,_description,_baseURI) = valueOrElse(onlyInternal(i.caller), [StringEntry("collectionName", _collectionName), StringEntry("symbol", _symbol), StringEntry("description", _description), IntegerEntry("totalAmount", 0), StringEntry("baseURI", _baseURI)]) | |
38 | 38 | ||
39 | 39 | ||
40 | 40 | ||
41 | 41 | @Callable(i) | |
42 | - | func mint (to | |
42 | + | func mint (to) = { | |
43 | 43 | let tokenId = (totalAmount + 1) | |
44 | - | let preName = ((symbol + "#") + toString(tokenId)) | |
44 | + | let tokenIdString = toString(tokenId) | |
45 | + | let preName = ((symbol + "#") + tokenIdString) | |
45 | 46 | let name = if ((16 >= size(preName))) | |
46 | 47 | then preName | |
47 | - | else toString(tokenId) | |
48 | + | else tokenIdString | |
49 | + | let tokenURI = (baseURI + tokenIdString) | |
48 | 50 | let json = { | |
49 | 51 | let @ = invoke(dAppJson, "makeJSON", [["tokenURI"], [tokenURI]], nil) | |
50 | 52 | if ($isInstanceOf(@, "String")) | |
51 | 53 | then @ | |
52 | 54 | else throw(($getType(@) + " couldn't be cast to String")) | |
53 | 55 | } | |
54 | 56 | let asset = Issue(name, json, 1, 0, false, unit, height) | |
55 | 57 | let assetId = calculateAssetId(asset) | |
56 | 58 | let toAddress = Address(fromBase58String(to)) | |
57 | 59 | let transfer = transferOrNot(toAddress, assetId) | |
58 | 60 | if ((transfer == transfer)) | |
59 | 61 | then [asset, transfer, IntegerEntry("totalAmount", tokenId), StringEntry(name, tokenURI)] | |
60 | 62 | else throw("Strict value is not equal to itself.") | |
61 | 63 | } | |
62 | 64 | ||
63 | 65 |
github/deemru/w8io/026f985 27.58 ms ◑