tx · 24ZXGzyRpSjbxEaGAJawByLZqcATcbipoYVKPQ9VHCFd 3N8mE3Vv1LpKFDxNRtdzBzmMKbwtycbB2KZ: -0.01000000 Waves 2022.02.23 08:58 [1935927] smart account 3N8mE3Vv1LpKFDxNRtdzBzmMKbwtycbB2KZ > SELF 0.00000000 Waves
{ "type": 13, "id": "24ZXGzyRpSjbxEaGAJawByLZqcATcbipoYVKPQ9VHCFd", "fee": 1000000, "feeAssetId": null, "timestamp": 1645595874456, "version": 2, "chainId": 84, "sender": "3N8mE3Vv1LpKFDxNRtdzBzmMKbwtycbB2KZ", "senderPublicKey": "9q7vTvr7sh15ChGajicBoCF1zuKAofLQPeBWFNdNsuA9", "proofs": [ "4yvVMs19oWBcCMro24uBAzHBo6iP1RFSCTKMnNjoTn8BZkUTeG4MAwig2zY6Y3NZ3H9PREHKAT5raQTsEDfBbJuf" ], "script": "base64:AAIFAAAAAAAAAA4IAhIFCgMICAgSAwoBCAAAAAEBAAAAEWlzVmFsaWRDb2xsZWN0aW9uAAAAAQAAAAxjb2xsZWN0aW9uSWQEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAAMY29sbGVjdGlvbklkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRjaDAGBwAAAAIAAAABaQEAAAALaXNzdWVOZXdOZnQAAAADAAAABG5hbWUAAAAMY29sbGVjdGlvbklkAAAACG1ldGFkYXRhAwkAAAAAAAACCQEAAAARaXNWYWxpZENvbGxlY3Rpb24AAAABBQAAAAxjb2xsZWN0aW9uSWQHCQAAAgAAAAECAAAAIVRhcmdldCBjb2xsZWN0aW9uIGRvZXMgbm90IGV4aXN0IQQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAVhc3NldAkABEIAAAAFBQAAAARuYW1lBQAAAAhtZXRhZGF0YQAAAAAAAAAAAQAAAAAAAAAAAAcEAAAAB2Fzc2V0SWQJAAQ4AAAAAQUAAAAFYXNzZXQEAAAACmFzc2V0SWRTdHIJAAJYAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAACmFzc2V0SWRTdHICAAAACF9hc3NldElkBQAAAAphc3NldElkU3RyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAAKYXNzZXRJZFN0cgIAAAANX2NvbGxlY3Rpb25JZAUAAAAMY29sbGVjdGlvbklkCQAETAAAAAIFAAAABWFzc2V0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQUAAAANY2FsbGVyQWRkcmVzcwAAAAAAAAAAAQUAAAAHYXNzZXRJZAUAAAADbmlsAAAAAWkBAAAAEGNyZWF0ZUNvbGxlY3Rpb24AAAABAAAACG1ldGFkYXRhBAAAAAxjb2xsZWN0aW9uSWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAADGNvbGxlY3Rpb25JZAIAAAALX2NvbGxlY3Rpb24FAAAACG1ldGFkYXRhBQAAAANuaWwAAAAATejYQQ==", "height": 1935927, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J3DDTYATXwajRGiZ44Zs1DRJEcau2PiYZjGXRZovYc4N Next: CJ1f7DrFShqheKY5jMKwBDU5JDmv37tcQmjSyBzkdDxF Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func isValidCollection (collectionId) = match getString(this, collectionId) { | |
5 | + | case b: String => | |
6 | + | true | |
7 | + | case _ => | |
8 | + | false | |
9 | + | } | |
4 | 10 | ||
5 | 11 | ||
6 | 12 | @Callable(i) | |
7 | - | func issueNewNft (name,metadata) = { | |
8 | - | let callerAddress = toBase58String(i.caller.bytes) | |
9 | - | let asset = Issue(name, metadata, 1, 0, false) | |
10 | - | let assetId = calculateAssetId(asset) | |
11 | - | let assetIdStr = toBase58String(assetId) | |
12 | - | [StringEntry((assetIdStr + "_assetId"), assetIdStr), asset, ScriptTransfer(value(addressFromString(callerAddress)), 1, assetId)] | |
13 | + | func issueNewNft (name,collectionId,metadata) = if ((isValidCollection(collectionId) == false)) | |
14 | + | then throw("Target collection does not exist!") | |
15 | + | else { | |
16 | + | let callerAddress = toBase58String(i.caller.bytes) | |
17 | + | let asset = Issue(name, metadata, 1, 0, false) | |
18 | + | let assetId = calculateAssetId(asset) | |
19 | + | let assetIdStr = toBase58String(assetId) | |
20 | + | [StringEntry((assetIdStr + "_assetId"), assetIdStr), StringEntry((assetIdStr + "_collectionId"), collectionId), asset, ScriptTransfer(value(addressFromString(callerAddress)), 1, assetId)] | |
21 | + | } | |
22 | + | ||
23 | + | ||
24 | + | ||
25 | + | @Callable(i) | |
26 | + | func createCollection (metadata) = { | |
27 | + | let collectionId = toBase58String(i.transactionId) | |
28 | + | [StringEntry((collectionId + "_collection"), metadata)] | |
13 | 29 | } | |
14 | 30 | ||
15 | 31 |
github/deemru/w8io/169f3d6 22.64 ms ◑