tx · 6VditLgJYdKxBayRiL3aB9N7fQwFFtPWr3scEGVmN4te 3N58V9C8zDAZT9TQ7kuB72GF8DhCqVCsK3h: -0.01000000 Waves 2021.09.08 17:02 [1694169] smart account 3N58V9C8zDAZT9TQ7kuB72GF8DhCqVCsK3h > SELF 0.00000000 Waves
{ "type": 13, "id": "6VditLgJYdKxBayRiL3aB9N7fQwFFtPWr3scEGVmN4te", "fee": 1000000, "feeAssetId": null, "timestamp": 1631109848389, "version": 2, "chainId": 84, "sender": "3N58V9C8zDAZT9TQ7kuB72GF8DhCqVCsK3h", "senderPublicKey": "EviXrhS7EoBRYEePeRVMUDLEsSpGwmd2vdQUdLjvEZVM", "proofs": [ "4kphkqj3BC6c9sJfaFMdxmGj9oBbgp6zLTrcJNVtgBWppv8g6ha3H78KuWZKkDWk4ErFJ7cs5xhGQkDQGmkmQWjr" ], "script": "base64:AAIEAAAAAAAAAAkIAhIFCgMICAgAAAAEAAAAABFjZXJ0U3RhdHVzUmV2b2tlZAIAAAAHUkVWT0tFRAAAAAAQY2VydFN0YXR1c0FjdGl2ZQIAAAAGQUNUSVZFAQAAAA10cnlHZXROZnRJbmZvAAAAAQAAAAdhc3NldElkBAAAAAF4BAAAAAckbWF0Y2gwCQAD7AAAAAEFAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABUFzc2V0BAAAAAVhc3NldAUAAAAHJG1hdGNoMAgFAAAABWFzc2V0AAAACHF1YW50aXR5CQAAAgAAAAECAAAADkludmFsaWQgTkZUIGlkBQAAAAF4AQAAABRnZXROZnRCYWxhbmNlQWRkcmVzcwAAAAIAAAAHYXNzZXRJZAAAAAdhZGRyZXNzCQAD8AAAAAIJAQAAAAdBZGRyZXNzAAAAAQEAAAAGASoYlqJiBQAAAAdhc3NldElkAAAAAQAAAAFpAQAAAApjcmVhdGVDZXJ0AAAAAwAAAAhuZnRPd25lcgAAAAVuZnRJZAAAAA1hcnRpc3RBZGRyZXNzBAAAAAZjZXJ0SWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAAMYXNzZXRJZEJ5dGVzCQACWQAAAAEFAAAABW5mdElkBAAAAA9hc3NldEluZm9PdXRwdXQJAQAAAA10cnlHZXROZnRJbmZvAAAAAQUAAAAMYXNzZXRJZEJ5dGVzAwkBAAAAAiE9AAAAAgUAAAAPYXNzZXRJbmZvT3V0cHV0AAAAAAAAAAABCQAAAgAAAAECAAAAE1RoaXMgaXMgbm90IGFuIE5GVCEDCQEAAAACIT0AAAACCQEAAAAUZ2V0TmZ0QmFsYW5jZUFkZHJlc3MAAAACBQAAAAxhc3NldElkQnl0ZXMFAAAACG5mdE93bmVyAAAAAAAAAAABCQAAAgAAAAEJAAEsAAAAAgIAAAAXVGhlIE5GVCBpc24ndCBvd25lZCBieSAFAAAACG5mdE93bmVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAFY2VydF8FAAAABW5mdElkBQAAAAZjZXJ0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABWNlcnRfBQAAAAZjZXJ0SWQCAAAABl9uZnRJZAUAAAAFbmZ0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABWNlcnRfBQAAAAZjZXJ0SWQCAAAABl9vd25lcgUAAAAIbmZ0T3duZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABWNlcnRfBQAAAAZjZXJ0SWQCAAAAB19hcnRpc3QFAAAADWFydGlzdEFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABWNlcnRfBQAAAAZjZXJ0SWQCAAAAB19zdGF0dXMFAAAAEGNlcnRTdGF0dXNBY3RpdmUFAAAAA25pbAAAAACoP420", "height": 1694169, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 4 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let certStatusRevoked = "REVOKED" | |
5 | + | ||
6 | + | let certStatusActive = "ACTIVE" | |
7 | + | ||
8 | + | func tryGetNftInfo (assetId) = { | |
9 | + | let x = match assetInfo(assetId) { | |
10 | + | case asset: Asset => | |
11 | + | asset.quantity | |
12 | + | case _ => | |
13 | + | throw("Invalid NFT id") | |
14 | + | } | |
15 | + | x | |
16 | + | } | |
17 | + | ||
18 | + | ||
19 | + | func getNftBalanceAddress (assetId,address) = assetBalance(Address(base58'address'), assetId) | |
20 | + | ||
21 | + | ||
22 | + | @Callable(i) | |
23 | + | func createCert (nftOwner,nftId,artistAddress) = { | |
24 | + | let certId = toBase58String(i.transactionId) | |
25 | + | let assetIdBytes = fromBase58String(nftId) | |
26 | + | let assetInfoOutput = tryGetNftInfo(assetIdBytes) | |
27 | + | if ((assetInfoOutput != 1)) | |
28 | + | then throw("This is not an NFT!") | |
29 | + | else if ((getNftBalanceAddress(assetIdBytes, nftOwner) != 1)) | |
30 | + | then throw(("The NFT isn't owned by " + nftOwner)) | |
31 | + | else [StringEntry(("cert_" + nftId), certId), StringEntry((("cert_" + certId) + "_nftId"), nftId), StringEntry((("cert_" + certId) + "_owner"), nftOwner), StringEntry((("cert_" + certId) + "_artist"), artistAddress), StringEntry((("cert_" + certId) + "_status"), certStatusActive)] | |
32 | + | } | |
33 | + | ||
34 | + |
github/deemru/w8io/169f3d6 15.89 ms ◑![]()