tx · CCLexNdGHo1xy7xhMo4DsqdRgBN2heFuzqKgBrZ2GBiZ

3N1bfGrC9iBWbv1Rhb64cccc3cQswW8VyCV:  -0.01400000 Waves

2020.07.24 11:09 [1101331] smart account 3N1bfGrC9iBWbv1Rhb64cccc3cQswW8VyCV > SELF 0.00000000 Waves

{ "type": 13, "id": "CCLexNdGHo1xy7xhMo4DsqdRgBN2heFuzqKgBrZ2GBiZ", "fee": 1400000, "feeAssetId": null, "timestamp": 1595578161975, "version": 1, "sender": "3N1bfGrC9iBWbv1Rhb64cccc3cQswW8VyCV", "senderPublicKey": "BF56eooJyMKnwSL3B65fqLBFPfubUbW6wdky9pCGQajE", "proofs": [ "4BWCBKSicn3BVFeE88bZzBCHMhu1EzdqvioCqZzoMniWHNTTvnNXtkV7gfY9x3Sx8MAj6ZwyM63AoZMhAmZvxkaK" ], "script": "base64:AAIDAAAAAAAAAB0IARIGCgQICAgIEgMKAQgSBgoECAgICBIECgIICAAAAAsAAAAAD3N0b3JhZ2VWZXJpZmllcgkBAAAABXZhbHVlAAAAAQkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM04yczVSdGFIUEJlbkNzeDJFQ2NvRlJiWUh4M25vWmhYVzEAAAAADHNpZ25WZXJpZmllcgkBAAAABXZhbHVlAAAAAQkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM05DMjhoU2l2cm1zVFVYYVlEMXg2TDM2Mko0WnBVbm9UZEIAAAAABGJhbmsCAAAAIzNOMUU2dFhkZFJvVmFSZlE5ZFEzdmc1TGFXMmZzZDhIS3ViAAAAAA1hY2NlcHRlZFRva2VuAQAAACDopWq8yndC8nBhMjVKT0WDubke5ZlnF8Nx6tkLoQSt6wAAAAAGdXNkbklEAgAAACwzS0ZYQkdHTENqQTVaMkR1VzREcTlmRERySGpKSlAxWkVrYW9halN6dUtzQwEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABVnZXRTdHJpbmdCeUFkZHJlc3NLZXkAAAACAAAABGFkZHIAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABGFkZHIFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAADHZhbGlkYXRlTkZUcwAAAAIAAAALYWNjdW11bGF0b3IAAAACaWQEAAAADGFzc2V0RGV0YWlscwkBAAAABXZhbHVlAAAAAQkAA+wAAAABCQACWQAAAAEFAAAAAmlkAwMDCQEAAAACIT0AAAACCAUAAAAMYXNzZXREZXRhaWxzAAAACHF1YW50aXR5AAAAAAAAAAABBgkBAAAAAiE9AAAAAggFAAAADGFzc2V0RGV0YWlscwAAAAhkZWNpbWFscwAAAAAAAAAAAAYJAQAAAAIhPQAAAAIIBQAAAAxhc3NldERldGFpbHMAAAAKcmVpc3N1YWJsZQcJAABkAAAAAgUAAAALYWNjdW11bGF0b3IAAAAAAAAAAAAJAABkAAAAAgUAAAALYWNjdW11bGF0b3IAAAAAAAAAAAEAAAAAC3VzZXJDcmVhdGVkAgAAAAdDUkVBVEVEAAAAAA11c2VyU3VzcGVuZGVkAgAAAAlTVVNQRU5ERUQAAAAAEHVzZXJVbnJlZ2lzdGVyZWQCAAAADFVOUkVHSVNURVJFRAAAAAQAAAABaQEAAAAScmVnaXN0ZXJVcGRhdGVVc2VyAAAABAAAAARuYW1lAAAAC2Rlc2NyaXB0aW9uAAAABXRodW1iAAAABnNvY2lhbAQAAAAKY2FsbGVyQWRkcgkABCUAAAABCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAAmlkCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAAB25ld1VzZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAAEsAAAAAgIAAAAFdXNlcl8FAAAACmNhbGxlckFkZHIDAwkAAAAAAAACBQAAAARuYW1lAgAAAAAGCQAAAAAAAAIFAAAAC2Rlc2NyaXB0aW9uAgAAAAAJAAACAAAAAQIAAAAkTmFtZSBhbmQgZGVzY3JpcHRpb24gY2Fubm90IGJlIGVtcHR5AwkAAAAAAAACBQAAAAduZXdVc2VyAgAAAAAJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAFdXNlcl8FAAAACmNhbGxlckFkZHIJAAEsAAAAAgkAASwAAAACBQAAAAJpZAIAAAABXwkAAaQAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAAp1c2VyX25hbWVfBQAAAApjYWxsZXJBZGRyBQAAAARuYW1lCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAACnVzZXJfZGVzY18FAAAACmNhbGxlckFkZHIFAAAAC2Rlc2NyaXB0aW9uCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAADHVzZXJfc29jaWFsXwUAAAAKY2FsbGVyQWRkcgUAAAAGc29jaWFsCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAC3VzZXJfdGh1bWJfBQAAAApjYWxsZXJBZGRyBQAAAAV0aHVtYgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAAx1c2VyX3N0YXR1c18FAAAACmNhbGxlckFkZHIFAAAAC3VzZXJDcmVhdGVkBQAAAANuaWwJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAKdXNlcl9uYW1lXwUAAAAKY2FsbGVyQWRkcgUAAAAEbmFtZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAAp1c2VyX2Rlc2NfBQAAAApjYWxsZXJBZGRyBQAAAAtkZXNjcmlwdGlvbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAAx1c2VyX3NvY2lhbF8FAAAACmNhbGxlckFkZHIFAAAABnNvY2lhbAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAAt1c2VyX3RodW1iXwUAAAAKY2FsbGVyQWRkcgUAAAAFdGh1bWIFAAAAA25pbAAAAAZpbnZva2UBAAAABHRlc3QAAAABAAAABGhhc2gJAAACAAAAAQIAAAAFRXJyb3IAAAAGaW52b2tlAQAAAAphZGRBcnR3b3JrAAAABAAAAARoYXNoAAAABGpzb24AAAAEbmZ0cwAAAAZzaWduSUQEAAAAAmlkCQACWAAAAAEIBQAAAAZpbnZva2UAAAANdHJhbnNhY3Rpb25JZAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAABmludm9rZQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACmVudHJ5RXhpc3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACWFydF9oYXNoXwUAAAAEaGFzaAIAAAABXwUAAAANY2FsbGVyQWRkcmVzcwQAAAAJZW50cnlEYXRlCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAQAAAAIbmZ0QXJyYXkJAAS1AAAAAgUAAAAEbmZ0cwIAAAABfAQAAAAMbnVtYmVyT2ZORlRzCQABkAAAAAEFAAAACG5mdEFycmF5BAAAAAhjaGVja0lEcwQAAAANJGxpc3QyODM0Mjg2OQUAAAAIbmZ0QXJyYXkEAAAADSRzaXplMjgzNDI4NjkJAAGQAAAAAQUAAAANJGxpc3QyODM0Mjg2OQQAAAANJGFjYzAyODM0Mjg2OQAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemUyODM0Mjg2OQAAAAAAAAAAAAUAAAANJGFjYzAyODM0Mjg2OQQAAAANJGFjYzEyODM0Mjg2OQkBAAAADHZhbGlkYXRlTkZUcwAAAAIFAAAADSRhY2MwMjgzNDI4NjkJAAGRAAAAAgUAAAANJGxpc3QyODM0Mjg2OQAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemUyODM0Mjg2OQAAAAAAAAAAAQUAAAANJGFjYzEyODM0Mjg2OQQAAAANJGFjYzIyODM0Mjg2OQkBAAAADHZhbGlkYXRlTkZUcwAAAAIFAAAADSRhY2MxMjgzNDI4NjkJAAGRAAAAAgUAAAANJGxpc3QyODM0Mjg2OQAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemUyODM0Mjg2OQAAAAAAAAAAAgUAAAANJGFjYzIyODM0Mjg2OQQAAAANJGFjYzMyODM0Mjg2OQkBAAAADHZhbGlkYXRlTkZUcwAAAAIFAAAADSRhY2MyMjgzNDI4NjkJAAGRAAAAAgUAAAANJGxpc3QyODM0Mjg2OQAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemUyODM0Mjg2OQAAAAAAAAAAAwUAAAANJGFjYzMyODM0Mjg2OQQAAAANJGFjYzQyODM0Mjg2OQkBAAAADHZhbGlkYXRlTkZUcwAAAAIFAAAADSRhY2MzMjgzNDI4NjkJAAGRAAAAAgUAAAANJGxpc3QyODM0Mjg2OQAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemUyODM0Mjg2OQAAAAAAAAAABAUAAAANJGFjYzQyODM0Mjg2OQQAAAANJGFjYzUyODM0Mjg2OQkBAAAADHZhbGlkYXRlTkZUcwAAAAIFAAAADSRhY2M0MjgzNDI4NjkJAAGRAAAAAgUAAAANJGxpc3QyODM0Mjg2OQAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemUyODM0Mjg2OQAAAAAAAAAABQUAAAANJGFjYzUyODM0Mjg2OQQAAAANJGFjYzYyODM0Mjg2OQkBAAAADHZhbGlkYXRlTkZUcwAAAAIFAAAADSRhY2M1MjgzNDI4NjkJAAGRAAAAAgUAAAANJGxpc3QyODM0Mjg2OQAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemUyODM0Mjg2OQAAAAAAAAAABgUAAAANJGFjYzYyODM0Mjg2OQQAAAANJGFjYzcyODM0Mjg2OQkBAAAADHZhbGlkYXRlTkZUcwAAAAIFAAAADSRhY2M2MjgzNDI4NjkJAAGRAAAAAgUAAAANJGxpc3QyODM0Mjg2OQAAAAAAAAAABgMJAAAAAAAAAgUAAAANJHNpemUyODM0Mjg2OQAAAAAAAAAABwUAAAANJGFjYzcyODM0Mjg2OQQAAAANJGFjYzgyODM0Mjg2OQkBAAAADHZhbGlkYXRlTkZUcwAAAAIFAAAADSRhY2M3MjgzNDI4NjkJAAGRAAAAAgUAAAANJGxpc3QyODM0Mjg2OQAAAAAAAAAABwMJAAAAAAAAAgUAAAANJHNpemUyODM0Mjg2OQAAAAAAAAAACAUAAAANJGFjYzgyODM0Mjg2OQQAAAANJGFjYzkyODM0Mjg2OQkBAAAADHZhbGlkYXRlTkZUcwAAAAIFAAAADSRhY2M4MjgzNDI4NjkJAAGRAAAAAgUAAAANJGxpc3QyODM0Mjg2OQAAAAAAAAAACAMJAAAAAAAAAgUAAAANJHNpemUyODM0Mjg2OQAAAAAAAAAACQUAAAANJGFjYzkyODM0Mjg2OQQAAAAOJGFjYzEwMjgzNDI4NjkJAQAAAAx2YWxpZGF0ZU5GVHMAAAACBQAAAA0kYWNjOTI4MzQyODY5CQABkQAAAAIFAAAADSRsaXN0MjgzNDI4NjkAAAAAAAAAAAkDCQAAAAAAAAIFAAAADSRzaXplMjgzNDI4NjkAAAAAAAAAAAoFAAAADiRhY2MxMDI4MzQyODY5BAAAAA4kYWNjMTEyODM0Mjg2OQkBAAAADHZhbGlkYXRlTkZUcwAAAAIFAAAADiRhY2MxMDI4MzQyODY5CQABkQAAAAIFAAAADSRsaXN0MjgzNDI4NjkAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAAQdXNlcklzUmVnaXN0ZXJlZAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAADHVzZXJfc3RhdHVzXwUAAAANY2FsbGVyQWRkcmVzcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzBQAAABB1c2VyVW5yZWdpc3RlcmVkAwkAAAAAAAACBQAAABB1c2VySXNSZWdpc3RlcmVkBQAAABB1c2VyVW5yZWdpc3RlcmVkCQAAAgAAAAECAAAAIlBsZWFzZSByZWdpc3RlciB0aGlzIGFjY291bnQgZmlyc3QDCQAAAAAAAAIFAAAAEHVzZXJJc1JlZ2lzdGVyZWQFAAAADXVzZXJTdXNwZW5kZWQJAAACAAAAAQIAAAAZWW91ciBhY2NvdW50IGlzIHN1c3BlbmRlZAMJAABmAAAAAgUAAAAMbnVtYmVyT2ZORlRzAAAAAAAAAAAKCQAAAgAAAAECAAAAH01heGltdW0gMTAgZWRpdGlvbnMgcGVyIGFydHdvcmsDCQEAAAACIT0AAAACBQAAAAhjaGVja0lEcwUAAAAMbnVtYmVyT2ZORlRzCQAAAgAAAAECAAAAKVBsZWFzZSB2ZXJpZnkgdGhhdCBhbGwgTkZUIGlkcyBhcmUgdmFsaWQuAwkBAAAAAiE9AAAAAgUAAAAKZW50cnlFeGlzdAIAAAAETk9ORQkAAAIAAAABAgAAACJUaGlzIGFydHdvcmsgaXMgYWxyZWFkeSByZWdpc3RlcmVkAwkAAGYAAAACCQABMQAAAAEFAAAABGhhc2gAAAAAAAAAAEAJAAACAAAAAQIAAAAkSGFzaCBpcyB0b28gbG9uZywgNjQgY2hhcmFjdGVycyBtYXguBAAAAAdwYXltZW50CQEAAAAFdmFsdWUAAAABCAUAAAAGaW52b2tlAAAAB3BheW1lbnQEAAAABmFtb3VudAgFAAAAB3BheW1lbnQAAAAGYW1vdW50BAAAAA5wYXltZW50QXNzZXRJZAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkCAUAAAAHcGF5bWVudAAAAAdhc3NldElkCQAAAgAAAAECAAAAIFdhdmVzIGlzIG5vdCBhY2NlcHRlZCBhcyBwYXltZW50BAAAAAxjdXJyZW50UHJpY2UAAAAPjV9FlUYDCQEAAAACIT0AAAACBQAAAA1hY2NlcHRlZFRva2VuBQAAAA5wYXltZW50QXNzZXRJZAkAAAIAAAABAgAAAChUaGlzIHRva2VuIGlzIG5vdCBhY2NlcHRlZCBhdCB0aGUgbW9tZW50AwkBAAAAAiE9AAAAAgUAAAAGYW1vdW50BQAAAAxjdXJyZW50UHJpY2UJAAACAAAAAQIAAAASVGhlIHByaWNlIGlzIHdyb25nCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJYXJ0X2hhc2hfBQAAAARoYXNoAgAAAAFfBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAJpZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJYXJ0X2RhdGVfBQAAAAJpZAIAAAABXwUAAAANY2FsbGVyQWRkcmVzcwUAAAAJZW50cnlEYXRlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlhcnRfanNvbl8FAAAAAmlkAgAAAAFfBQAAAA1jYWxsZXJBZGRyZXNzBQAAAARqc29uCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlhcnRfbmZ0c18FAAAAAmlkAgAAAAFfBQAAAA1jYWxsZXJBZGRyZXNzBQAAAARuZnRzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlhcnRfc2lnbl8FAAAAAmlkAgAAAAFfBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAZzaWduSUQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAABGJhbmsFAAAABmFtb3VudAgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAUAAAADbmlsAAAABmludm9rZQEAAAASdXBkYXRlQXJ0d29ya0luZm9zAAAAAgAAAARoYXNoAAAABGpzb24EAAAAAmlkCQACWAAAAAEIBQAAAAZpbnZva2UAAAANdHJhbnNhY3Rpb25JZAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAABmludm9rZQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACmVudHJ5RXhpc3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACWFydF9oYXNoXwUAAAAEaGFzaAIAAAABXwUAAAANY2FsbGVyQWRkcmVzcwQAAAAHaXNPd25lcgkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJYXJ0X2hhc2hfBQAAAARoYXNoAgAAAAFfBQAAAA1jYWxsZXJBZGRyZXNzBAAAABB1c2VySXNSZWdpc3RlcmVkBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAMdXNlcl9zdGF0dXNfBQAAAA1jYWxsZXJBZGRyZXNzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXMFAAAAByRtYXRjaDAFAAAAAXMFAAAAEHVzZXJVbnJlZ2lzdGVyZWQDCQEAAAABIQAAAAEFAAAAB2lzT3duZXIJAAACAAAAAQIAAAAnWW91IGFyZSBub3QgdGhlIGNyZWF0b3Igb2YgdGhpcyBhcnR3b3JrAwkAAAAAAAACBQAAABB1c2VySXNSZWdpc3RlcmVkBQAAAA11c2VyU3VzcGVuZGVkCQAAAgAAAAECAAAAGVlvdXIgYWNjb3VudCBpcyBzdXNwZW5kZWQDCQEAAAACIT0AAAACBQAAAAplbnRyeUV4aXN0AgAAAAROT05FCQAAAgAAAAECAAAAIlRoaXMgYXJ0d29yayBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQDCQAAZgAAAAIJAAExAAAAAQUAAAAEaGFzaAAAAAAAAAAAQAkAAAIAAAABAgAAACRIYXNoIGlzIHRvbyBsb25nLCA2NCBjaGFyYWN0ZXJzIG1heC4JAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACWFydF9qc29uXwUAAAACaWQCAAAAAV8FAAAADWNhbGxlckFkZHJlc3MFAAAABGpzb24FAAAAA25pbAAAAAC02ibN", "chainId": 84, "height": 1101331, "spentComplexity": 0 } View: original | compacted Prev: 5q6BMy1odFeSc5zJFPsULZbbCAMx3CNM49ajuzpKvPsd Next: DkcxFzTgvwEifvgiftgspuFkfqMfrkSnovvE484mDqqZ Diff:
OldNewDifferences
6969 @Callable(invoke)
7070 func addArtwork (hash,json,nfts,signID) = {
7171 let id = toBase58String(invoke.transactionId)
72- let entryExist = getStringByKey(hash)
7372 let callerAddress = toBase58String(invoke.caller.bytes)
73+ let entryExist = getStringByKey(((("art_hash_" + hash) + "_") + callerAddress))
7474 let entryDate = lastBlock.timestamp
7575 let nftArray = split(nfts, "|")
7676 let numberOfNFTs = size(nftArray)
7777 let checkIDs = {
78- let $list28042839 = nftArray
79- let $size28042839 = size($list28042839)
80- let $acc028042839 = 0
81- if (($size28042839 == 0))
82- then $acc028042839
78+ let $list28342869 = nftArray
79+ let $size28342869 = size($list28342869)
80+ let $acc028342869 = 0
81+ if (($size28342869 == 0))
82+ then $acc028342869
8383 else {
84- let $acc128042839 = validateNFTs($acc028042839, $list28042839[0])
85- if (($size28042839 == 1))
86- then $acc128042839
84+ let $acc128342869 = validateNFTs($acc028342869, $list28342869[0])
85+ if (($size28342869 == 1))
86+ then $acc128342869
8787 else {
88- let $acc228042839 = validateNFTs($acc128042839, $list28042839[1])
89- if (($size28042839 == 2))
90- then $acc228042839
88+ let $acc228342869 = validateNFTs($acc128342869, $list28342869[1])
89+ if (($size28342869 == 2))
90+ then $acc228342869
9191 else {
92- let $acc328042839 = validateNFTs($acc228042839, $list28042839[2])
93- if (($size28042839 == 3))
94- then $acc328042839
92+ let $acc328342869 = validateNFTs($acc228342869, $list28342869[2])
93+ if (($size28342869 == 3))
94+ then $acc328342869
9595 else {
96- let $acc428042839 = validateNFTs($acc328042839, $list28042839[3])
97- if (($size28042839 == 4))
98- then $acc428042839
96+ let $acc428342869 = validateNFTs($acc328342869, $list28342869[3])
97+ if (($size28342869 == 4))
98+ then $acc428342869
9999 else {
100- let $acc528042839 = validateNFTs($acc428042839, $list28042839[4])
101- if (($size28042839 == 5))
102- then $acc528042839
100+ let $acc528342869 = validateNFTs($acc428342869, $list28342869[4])
101+ if (($size28342869 == 5))
102+ then $acc528342869
103103 else {
104- let $acc628042839 = validateNFTs($acc528042839, $list28042839[5])
105- if (($size28042839 == 6))
106- then $acc628042839
104+ let $acc628342869 = validateNFTs($acc528342869, $list28342869[5])
105+ if (($size28342869 == 6))
106+ then $acc628342869
107107 else {
108- let $acc728042839 = validateNFTs($acc628042839, $list28042839[6])
109- if (($size28042839 == 7))
110- then $acc728042839
108+ let $acc728342869 = validateNFTs($acc628342869, $list28342869[6])
109+ if (($size28342869 == 7))
110+ then $acc728342869
111111 else {
112- let $acc828042839 = validateNFTs($acc728042839, $list28042839[7])
113- if (($size28042839 == 8))
114- then $acc828042839
112+ let $acc828342869 = validateNFTs($acc728342869, $list28342869[7])
113+ if (($size28342869 == 8))
114+ then $acc828342869
115115 else {
116- let $acc928042839 = validateNFTs($acc828042839, $list28042839[8])
117- if (($size28042839 == 9))
118- then $acc928042839
116+ let $acc928342869 = validateNFTs($acc828342869, $list28342869[8])
117+ if (($size28342869 == 9))
118+ then $acc928342869
119119 else {
120- let $acc1028042839 = validateNFTs($acc928042839, $list28042839[9])
121- if (($size28042839 == 10))
122- then $acc1028042839
120+ let $acc1028342869 = validateNFTs($acc928342869, $list28342869[9])
121+ if (($size28342869 == 10))
122+ then $acc1028342869
123123 else {
124- let $acc1128042839 = validateNFTs($acc1028042839, $list28042839[10])
124+ let $acc1128342869 = validateNFTs($acc1028342869, $list28342869[10])
125125 throw("List size exceed 10")
126126 }
127127 }
173173 @Callable(invoke)
174174 func updateArtworkInfos (hash,json) = {
175175 let id = toBase58String(invoke.transactionId)
176- let entryExist = getStringByKey(hash)
177176 let callerAddress = toBase58String(invoke.caller.bytes)
177+ let entryExist = getStringByKey(((("art_hash_" + hash) + "_") + callerAddress))
178178 let isOwner = isDefined(getString(this, ((("art_hash_" + hash) + "_") + callerAddress)))
179179 let userIsRegistered = match getString(this, ("user_status_" + callerAddress)) {
180180 case s: String =>
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let storageVerifier = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
55
66 let signVerifier = value(addressFromString("3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB"))
77
88 let bank = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
99
1010 let acceptedToken = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
1111
1212 let usdnID = "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"
1313
1414 func getStringByKey (key) = match getString(this, key) {
1515 case a: String =>
1616 a
1717 case _ =>
1818 ""
1919 }
2020
2121
2222 func getStringByAddressKey (addr,key) = match getString(addr, key) {
2323 case a: String =>
2424 a
2525 case _ =>
2626 ""
2727 }
2828
2929
3030 func validateNFTs (accumulator,id) = {
3131 let assetDetails = value(assetInfo(fromBase58String(id)))
3232 if (if (if ((assetDetails.quantity != 1))
3333 then true
3434 else (assetDetails.decimals != 0))
3535 then true
3636 else (assetDetails.reissuable != false))
3737 then (accumulator + 0)
3838 else (accumulator + 1)
3939 }
4040
4141
4242 let userCreated = "CREATED"
4343
4444 let userSuspended = "SUSPENDED"
4545
4646 let userUnregistered = "UNREGISTERED"
4747
4848 @Callable(i)
4949 func registerUpdateUser (name,description,thumb,social) = {
5050 let callerAddr = toString(addressFromPublicKey(i.callerPublicKey))
5151 let id = toBase58String(i.transactionId)
5252 let newUser = getStringByKey(("user_" + callerAddr))
5353 if (if ((name == ""))
5454 then true
5555 else (description == ""))
5656 then throw("Name and description cannot be empty")
5757 else if ((newUser == ""))
5858 then WriteSet([DataEntry(("user_" + callerAddr), ((id + "_") + toString(lastBlock.timestamp))), DataEntry(("user_name_" + callerAddr), name), DataEntry(("user_desc_" + callerAddr), description), DataEntry(("user_social_" + callerAddr), social), DataEntry(("user_thumb_" + callerAddr), thumb), DataEntry(("user_status_" + callerAddr), userCreated)])
5959 else WriteSet([DataEntry(("user_name_" + callerAddr), name), DataEntry(("user_desc_" + callerAddr), description), DataEntry(("user_social_" + callerAddr), social), DataEntry(("user_thumb_" + callerAddr), thumb)])
6060 }
6161
6262
6363
6464 @Callable(invoke)
6565 func test (hash) = throw("Error")
6666
6767
6868
6969 @Callable(invoke)
7070 func addArtwork (hash,json,nfts,signID) = {
7171 let id = toBase58String(invoke.transactionId)
72- let entryExist = getStringByKey(hash)
7372 let callerAddress = toBase58String(invoke.caller.bytes)
73+ let entryExist = getStringByKey(((("art_hash_" + hash) + "_") + callerAddress))
7474 let entryDate = lastBlock.timestamp
7575 let nftArray = split(nfts, "|")
7676 let numberOfNFTs = size(nftArray)
7777 let checkIDs = {
78- let $list28042839 = nftArray
79- let $size28042839 = size($list28042839)
80- let $acc028042839 = 0
81- if (($size28042839 == 0))
82- then $acc028042839
78+ let $list28342869 = nftArray
79+ let $size28342869 = size($list28342869)
80+ let $acc028342869 = 0
81+ if (($size28342869 == 0))
82+ then $acc028342869
8383 else {
84- let $acc128042839 = validateNFTs($acc028042839, $list28042839[0])
85- if (($size28042839 == 1))
86- then $acc128042839
84+ let $acc128342869 = validateNFTs($acc028342869, $list28342869[0])
85+ if (($size28342869 == 1))
86+ then $acc128342869
8787 else {
88- let $acc228042839 = validateNFTs($acc128042839, $list28042839[1])
89- if (($size28042839 == 2))
90- then $acc228042839
88+ let $acc228342869 = validateNFTs($acc128342869, $list28342869[1])
89+ if (($size28342869 == 2))
90+ then $acc228342869
9191 else {
92- let $acc328042839 = validateNFTs($acc228042839, $list28042839[2])
93- if (($size28042839 == 3))
94- then $acc328042839
92+ let $acc328342869 = validateNFTs($acc228342869, $list28342869[2])
93+ if (($size28342869 == 3))
94+ then $acc328342869
9595 else {
96- let $acc428042839 = validateNFTs($acc328042839, $list28042839[3])
97- if (($size28042839 == 4))
98- then $acc428042839
96+ let $acc428342869 = validateNFTs($acc328342869, $list28342869[3])
97+ if (($size28342869 == 4))
98+ then $acc428342869
9999 else {
100- let $acc528042839 = validateNFTs($acc428042839, $list28042839[4])
101- if (($size28042839 == 5))
102- then $acc528042839
100+ let $acc528342869 = validateNFTs($acc428342869, $list28342869[4])
101+ if (($size28342869 == 5))
102+ then $acc528342869
103103 else {
104- let $acc628042839 = validateNFTs($acc528042839, $list28042839[5])
105- if (($size28042839 == 6))
106- then $acc628042839
104+ let $acc628342869 = validateNFTs($acc528342869, $list28342869[5])
105+ if (($size28342869 == 6))
106+ then $acc628342869
107107 else {
108- let $acc728042839 = validateNFTs($acc628042839, $list28042839[6])
109- if (($size28042839 == 7))
110- then $acc728042839
108+ let $acc728342869 = validateNFTs($acc628342869, $list28342869[6])
109+ if (($size28342869 == 7))
110+ then $acc728342869
111111 else {
112- let $acc828042839 = validateNFTs($acc728042839, $list28042839[7])
113- if (($size28042839 == 8))
114- then $acc828042839
112+ let $acc828342869 = validateNFTs($acc728342869, $list28342869[7])
113+ if (($size28342869 == 8))
114+ then $acc828342869
115115 else {
116- let $acc928042839 = validateNFTs($acc828042839, $list28042839[8])
117- if (($size28042839 == 9))
118- then $acc928042839
116+ let $acc928342869 = validateNFTs($acc828342869, $list28342869[8])
117+ if (($size28342869 == 9))
118+ then $acc928342869
119119 else {
120- let $acc1028042839 = validateNFTs($acc928042839, $list28042839[9])
121- if (($size28042839 == 10))
122- then $acc1028042839
120+ let $acc1028342869 = validateNFTs($acc928342869, $list28342869[9])
121+ if (($size28342869 == 10))
122+ then $acc1028342869
123123 else {
124- let $acc1128042839 = validateNFTs($acc1028042839, $list28042839[10])
124+ let $acc1128342869 = validateNFTs($acc1028342869, $list28342869[10])
125125 throw("List size exceed 10")
126126 }
127127 }
128128 }
129129 }
130130 }
131131 }
132132 }
133133 }
134134 }
135135 }
136136 }
137137 }
138138 let userIsRegistered = match getString(this, ("user_status_" + callerAddress)) {
139139 case s: String =>
140140 s
141141 case _ =>
142142 userUnregistered
143143 }
144144 if ((userIsRegistered == userUnregistered))
145145 then throw("Please register this account first")
146146 else if ((userIsRegistered == userSuspended))
147147 then throw("Your account is suspended")
148148 else if ((numberOfNFTs > 10))
149149 then throw("Maximum 10 editions per artwork")
150150 else if ((checkIDs != numberOfNFTs))
151151 then throw("Please verify that all NFT ids are valid.")
152152 else if ((entryExist != "NONE"))
153153 then throw("This artwork is already registered")
154154 else if ((size(hash) > 64))
155155 then throw("Hash is too long, 64 characters max.")
156156 else {
157157 let payment = value(invoke.payment)
158158 let amount = payment.amount
159159 let paymentAssetId = if (isDefined(payment.assetId))
160160 then payment.assetId
161161 else throw("Waves is not accepted as payment")
162162 let currentPrice = 17099863201094
163163 if ((acceptedToken != paymentAssetId))
164164 then throw("This token is not accepted at the moment")
165165 else if ((amount != currentPrice))
166166 then throw("The price is wrong")
167167 else ScriptResult(WriteSet([DataEntry(((("art_hash_" + hash) + "_") + callerAddress), id), DataEntry(((("art_date_" + id) + "_") + callerAddress), entryDate), DataEntry(((("art_json_" + id) + "_") + callerAddress), json), DataEntry(((("art_nfts_" + id) + "_") + callerAddress), nfts), DataEntry(((("art_sign_" + id) + "_") + callerAddress), signID)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, payment.assetId)]))
168168 }
169169 }
170170
171171
172172
173173 @Callable(invoke)
174174 func updateArtworkInfos (hash,json) = {
175175 let id = toBase58String(invoke.transactionId)
176- let entryExist = getStringByKey(hash)
177176 let callerAddress = toBase58String(invoke.caller.bytes)
177+ let entryExist = getStringByKey(((("art_hash_" + hash) + "_") + callerAddress))
178178 let isOwner = isDefined(getString(this, ((("art_hash_" + hash) + "_") + callerAddress)))
179179 let userIsRegistered = match getString(this, ("user_status_" + callerAddress)) {
180180 case s: String =>
181181 s
182182 case _ =>
183183 userUnregistered
184184 }
185185 if (!(isOwner))
186186 then throw("You are not the creator of this artwork")
187187 else if ((userIsRegistered == userSuspended))
188188 then throw("Your account is suspended")
189189 else if ((entryExist != "NONE"))
190190 then throw("This artwork is already registered")
191191 else if ((size(hash) > 64))
192192 then throw("Hash is too long, 64 characters max.")
193193 else WriteSet([DataEntry(((("art_json_" + id) + "_") + callerAddress), json)])
194194 }
195195
196196

github/deemru/w8io/873ac7e 
82.78 ms