tx · 2BwBMqNSJqUcBejowYgQcJixu3iFqPDcrtmbk3S2f5hu

3N2Tdcx5fzxJAKP5hMp9W35Cp1EFzfiJ1zG:  -0.01400000 Waves

2020.11.27 06:26 [1283298] smart account 3N2Tdcx5fzxJAKP5hMp9W35Cp1EFzfiJ1zG > SELF 0.00000000 Waves

{ "type": 13, "id": "2BwBMqNSJqUcBejowYgQcJixu3iFqPDcrtmbk3S2f5hu", "fee": 1400000, "feeAssetId": null, "timestamp": 1606447650597, "version": 2, "chainId": 84, "sender": "3N2Tdcx5fzxJAKP5hMp9W35Cp1EFzfiJ1zG", "senderPublicKey": "9SULUbW7L2jV2nv8v48Kdzox4cZ8jEfg778yJHJpgVwM", "proofs": [ "64v9bSwRurcqsLyKXF3z4SEfRW96DRSro2E3q2hqgSae5Eq3zzrDoQEHnWpJVDGNWD9xrygWwqojer5u4PAvZhLi" ], "script": "base64:AAIEAAAAAAAAAGEIAhIGCgQICAgIEgYKBAgICAgSBAoCCAgSDgoMCAgICAgIAQgICAgIEg0KCwgICAgIAQgICAgIEgUKAwgICBIECgIICBIGCgQIAQEIEgQKAggIEgMKAQgSAwoBCBIDCgEIAAAAPAAAAAAJb3JhY2xlRmVlCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOMnM1UnRhSFBCZW5Dc3gyRUNjb0ZSYllIeDNub1poWFcxAAAAAAhzaWduRGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTkMyOGhTaXZybXNUVVhhWUQxeDZMMzYySjRacFVub1RkQgAAAAALZmVlUmVjZWl2ZXICAAAAIzNOMUU2dFhkZFJvVmFSZlE5ZFEzdmc1TGFXMmZzZDhIS3ViAAAAAAtzaWduQXNzZXRJZAEAAAAg6KVqvMp3QvJwYTI1Sk9Fg7m5HuWZZxfDcerZC6EEresAAAAAC3VzZG5Bc3NldElkAQAAACAP8hwSrOTEPJrsRhqrJaiw7LoHK0bMbYhy8LXikkkBtAAAAAAMd2F2ZXNBc3NldElkAQAAAAAAAAAAB3NpZ25DdXQAAAAAAAAAAAgAAAAAB3VzZG5DdXQAAAAAAAAAAAoAAAAACHdhdmVzQ3V0AAAAAAAAAAAKAAAAAAVjaHJpcwIAAAAjM01zRzZqUE5DclZKVXRZQjdYSkJ4Uzd1dFdzWEFmNG45VnAAAAAABGpvZXACAAAAIzNNem00Vkx3c045dVp3YlRNelBqM1h1eFY2a0VmQVI4VUROAAAAAA9XSElURUxJU1RFRE9OTFkGAAAAAAtkYXBwUnVubmluZwYAAAAADm1haW50ZW5hbmNlTVNHAgAAAB1TSUdOIEFydCBpcyB1bmRlciBtYWludGVuYW5jZQAAAAALdXNlckFsbG93ZWQCAAAAB0FMTE9XRUQAAAAADnVzZXJSZWdpc3RlcmVkAgAAAApSRUdJU1RFUkVEAAAAAAx1c2VyVmVyaWZpZWQCAAAACFZFUklGSUVEAAAAAA11c2VyU3VzcGVuZGVkAgAAAAlTVVNQRU5ERUQAAAAAC3VzZXJSZW1vdmVkAgAAAAdSRU1PVkVEAAAAABJ1c2VyQ2hhbmdlUmVxdWlyZWQCAAAAD0NIQU5HRV9SRVFVSVJFRAAA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dGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAANa2V5VXNlclNvY2lhbAAAAAEFAAAABmNhbGxlcgUAAAAGc29jaWFsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxrZXlVc2VyVGh1bWIAAAABBQAAAAZjYWxsZXIFAAAABXRodW1iBQAAAANuaWwAAAABaQEAAAAQY2hhbmdlVXNlclN0YXR1cwAAAAIAAAAHYWRkcmVzcwAAAAZzdGF0dXMDCQEAAAABIQAAAAEFAAAAC2RhcHBSdW5uaW5nCQAAAgAAAAEFAAAADm1haW50ZW5hbmNlTVNHBAAAAAZjYWxsZXIJAAQlAAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAAJpZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAA1jdXJyZW50U3RhdHVzCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAANa2V5VXNlclN0YXR1cwAAAAEFAAAAB2FkZHJlc3MEAAAAC3N0YXR1c1RvU2V0AwkAAAAAAAACBQAAAAZzdGF0dXMFAAAADHVzZXJWZXJpZmllZAUAAAAMdXNlclZlcmlmaWVkAwkAAAAAAAACBQAAAAZzdGF0dXMFAAAADnVzZXJSZWdpc3RlcmVkBQAAAA51c2VyUmVnaXN0ZXJlZAMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAA11c2VyU3VzcGVuZGVkBQAAAA11c2VyU3VzcGVuZGVkAwkAAAAAAAACBQAAAAZzdGF0dXMFAAAAC3VzZXJSZW1vdmVkBQAAAAt1c2VyUmVtb3ZlZAMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAt1c2VyQWxsb3dlZAUAAAALdXNlckFsbG93ZWQDCQAAAAAAAAIFAAAABnN0YXR1cwUAAAASdXNlckNoYW5nZVJlcXVpcmVkBQAAABJ1c2VyQ2hhbmdlUmVxdWlyZWQDAwkAAAAAAAACBQAAAAZzdGF0dXMFAAAACXVzZXJSZXNldAkAAAAAAAACBQAAAA1jdXJyZW50U3RhdHVzBQAAAAt1c2VyQWxsb3dlZAcCAAAAAAkAAAIAAAABAgAAAA5Vbmtub3duIHN0YXR1cwMDCQAAAAAAAAIFAAAADWN1cnJlbnRTdGF0dXMFAAAAC3VzZXJBbGxvd2VkCQAAAAAAAAIFAAAABnN0YXR1cwUAAAALdXNlckFsbG93ZWQHCQAAAgAAAAECAAAAFFVzZXIgYWxyZWFkeSBhbGxvd2VkAwMJAAAAAAAAAgUAAAANY3VycmVudFN0YXR1cwUAAAAOdXNlclJlZ2lzdGVyZWQJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAt1c2VyQWxsb3dlZAcJAAACAAAAAQIAAAAhVXNlciBhbHJlYWR5IGFsbG93ZWQgJiByZWdpc3RlcmVkAwMJAAAAAAAAAgUAAAANY3VycmVudFN0YXR1cwUAAAAMdXNlclZlcmlmaWVkCQAAAAAAAAIFAAAABnN0YXR1cwUAAAALdXNlckFsbG93ZWQHCQAAAgAAAAECAAAAH1VzZXIgYWxyZWFkeSBhbGxvd2VkICYgdmVyaWZpZWQDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAVjaHJpcwkABEwAAAACBQAAAARqb2VwBQAAAANuaWwFAAAABmNhbGxlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAANa2V5VXNlclN0YXR1cwAAAAEFAAAAB2FkZHJlc3MFAAAAC3N0YXR1c1RvU2V0BQAAAANuaWwJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAiTm90IGFsbG93ZWQgdG8gY2hhbmdlIHVzZXIgc3RhdHVzIAUAAAAGY2FsbGVyAgAAAAMgLyAFAAAABWNocmlzAAAABmludm9rZQEAAAAKYWRkQXJ0d29yawAAAAwAAAAKc2hhMjU2SGFzaAAAAAZzaWduSUQAAAAEbmFtZQAAAAtkZXNjcmlwdGlvbgAAAAR0YWdzAAAABHR5cGUAAAAHbWF4bWludAAAAApjaWREaXNwbGF5AAAADHNoYTI1NkV4cG9ydAAAAAljaWRFeHBvcnQAAAANc2hhMjU2TGljZW5jZQAAAApjaWRMaWNlbmNlAwkBAAAAASEAAAABBQAAAAtkYXBwUnVubmluZwkAAAIAAAABBQAAAA5tYWludGVuYW5jZU1TRwQAAAAFYXJ0SWQJAAJYAAAAAQgFAAAABmludm9rZQAAAA10cmFuc2FjdGlvbklkBAAAAAZjYWxsZXIJAAJYAAAAAQgIBQAAAAZpbnZva2UAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAASEAAAABCQEAAAAOdmFsaWRhdGVBbGxDSUQAAAADBQAAAApjaWREaXNwbGF5BQAAAAljaWRFeHBvcnQFAAAACmNpZExpY2VuY2UJAAACAAAAAQIAAAAQUHJvYmxlbSB3aXRoIENJRAMJAQAAAAEhAAAAAQkBAAAADHZhbGlkYXRlSGFzaAAAAAEFAAAACnNoYTI1Nkhhc2gJAAACAAAAAQIAAAAkSGFzaCBzaG91bGQgYmUgNjQgY2hhcmFjdGVycyBtYXhpbXVtAwkBAAAAASEAAAABCQEAAAAPdmFsaWRhdGVBbGxIYXNoAAAAAgUAAAAMc2hhMjU2RXhwb3J0BQAAAA1zaGEyNTZMaWNlbmNlCQAAAgAAAAECAAAAE1Byb2JsZW0gd2l0aCBIYXNoZXMDCQAAAAAAAAIJAAGQAAAAAQgFAAAABmludm9rZQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAABNObyBwYXltZW50IGF0dGFjaGVkBAAAAAdwYXltZW50CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAZpbnZva2UAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAABmFtb3VudAkBAAAABXZhbHVlAAAAAQgFAAAAB3BheW1lbnQAAAAGYW1vdW50BAAAAAdhc3NldElkAwMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkCQAAAAAAAAIIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQFAAAAC3NpZ25Bc3NldElkBwgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACZPbmx5IFNJR04gdG9rZW4gYWNjZXB0ZWQgYXQgdGhlIG1vbWVudAQAAAAZY3VycmVudENlcnRpZmljYXRpb25QcmljZQkBAAAAGWdldEludGVnZXJCeUtleUZyb21PcmFjbGUAAAABCQABLAAAAAICAAAAEmNlcnRpZmljYXRpb25fZmVlXwkAAlgAAAABBQAAAAtzaWduQXNzZXRJZAMJAQAA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ZXJFbnRyeQAAAAIJAQAAAAprZXlBcnREYXRlAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAJdGltZXN0YW1wCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnROYW1lAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAEbmFtZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAKa2V5QXJ0RGVzYwAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAAC2Rlc2NyaXB0aW9uCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBrZXlBcnREaXNwbGF5Q2lkAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAKY2lkRGlzcGxheQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPa2V5QXJ0RXhwb3J0Q2lkAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAJY2lkRXhwb3J0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBrZXlBcnRFeHBvcnRIYXNoAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAMc2hhMjU2RXhwb3J0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFrZXlBcnRMaWNlbmNlSGFzaAAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAADXNoYTI1NkxpY2VuY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGtleUFydExpY2VuY2VDaWQAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAApjaWRMaWNlbmNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnRUeXBlAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAEdHlwZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAKa2V5QXJ0VGFncwAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAABHRhZ3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA1rZXlBcnRNYXhNaW50AAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAHbWF4bWludAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAMa2V5QXJ0U2lnbklEAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAGc2lnbklECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAMa2V5QXJ0SXNzdWVkAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAAAAAAAAAAAAAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkBAAAADGtleUFydE9uU2FsZQAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNrZXlBcnRBcnRpZEJ5U2lnbmlkAAAAAgUAAAAGY2FsbGVyBQAAAAZzaWduSUQFAAAABWFydElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABRrZXlBcnRIYXNoQnlUeGlkQWRkcgAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAACnNoYTI1Nkhhc2gJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAC2ZlZVJlY2VpdmVyBQAAAAZhbW91bnQFAAAAB2Fzc2V0SWQFAAAAA25pbAAAAAZpbnZva2UBAAAADXVwZGF0ZUFydHdvcmsAAAALAAAABHR4aWQAAAAEbmFtZQAAAAtkZXNjcmlwdGlvbgAAAAR0YWdzAAAABHR5cGUAAAAHbWF4bWludAAAAApjaWREaXNwbGF5AAAADHNoYTI1NkV4cG9ydAAAAAljaWRFeHBvcnQAAAANc2hhMjU2TGljZW5jZQAAAApjaWRMaWNlbmNlAwkBAAAAASEAAAABBQAAAAtkYXBwUnVubmluZwkAAAIAAAABBQAAAA5tYWludGVuYW5jZU1TRwQAAAAIdXBkYXRlSWQJAAJYAAAAAQgFAAAABmludm9rZQAAAA10cmFuc2FjdGlvbklkBAAAAAZjYWxsZXIJAAJYAAAAAQgIBQAAAAZpbnZva2UAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAASEAAAABCQEAAAAOdmFsaWRhdGVBbGxDSUQAAAADBQAAAApjaWREaXNwbGF5BQAAAAljaWRFeHBvcnQFAAAACmNpZExpY2VuY2UJAAACAAAAAQIAAAAQUHJvYmxlbSB3aXRoIENJRAMJAQAAAAEhAAAAAQkBAAAAD3ZhbGlkYXRlQWxsSGFzaAAAAAIFAAAADHNoYTI1NkV4cG9ydAUAAAANc2hhMjU2TGljZW5jZQkAAAIAAAABAgAAABNQcm9ibGVtIHdpdGggSGFzaGVzBAAAAAplbnRyeUV4aXN0CQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAKa2V5QXJ0TmFtZQAAAAIFAAAABmNhbGxlcgUAAAAEdHhpZAMJAAAAAAAAAgUAAAAKZW50cnlFeGlzdAIAAAAACQAAAgAAAAECAAAAD0VudHJ5IG5vdCBmb3VuZAMJAQAAAAEhAAAAAQkBAAAADnZhbGlkYXRlU3RyaW5nAAAAAgUAAAAEbmFtZQAAAAAAAAAAZAkAAAIAAAABAgAAABIxMDAgQ2hhci4gbWF4IG5hbWUDCQEAAAABIQAAAAEJAQAAAA52YWxpZGF0ZVN0cmluZwAAAAIFAAAAC2Rlc2NyaXB0aW9uAAAAAAAAAAPoCQAAAgAAAAECAAAAGjEwMDAgQ2hhci4gbWF4IGRlc2NyaXB0aW9uBAAAAARmbGFnCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAKa2V5QXJ0RmxhZwAAAAIFAAAABmNhbGxlcgUAAAAEdHhpZAMJAAAAAAAAAgUAAAAEZmxhZwIAAAAHSUxMRUdBTAkAAAIAAAABAgAAAA1DYW5ub3QgdXBkYXRlBAAAAA1hcnR3b3JrTWludGVkBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAQAAAAxrZXlBcnRJc3N1ZWQAAAACBQAAAAZjYWxsZXIFAAAABHR4aWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAMJAAAAAAAAAgUAAAABYgAAAAAAAAAAAAcGBwMJAABmAAAAAgkAAZAAAAABCQAEtQAAAAIFAAAABHRhZ3MCAAAAASwAAAAAAAAAAAUJAAACAAAAAQIAAAALNSB0YWdzIG1heC4EAAAAEHVzZXJJc1JlZ2lzdGVyZWQEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAx1c2VyX3N0YXR1c18FAAAABmNhbGxlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzBQAAABB1c2VyVW5yZWdpc3RlcmVkAwMJAQAAAAlpc0RlZmluZWQAAAABBQAAABB1c2VySXNSZWdpc3RlcmVkCQAAAAAAAAIFAAAAEHVzZXJJc1JlZ2lzdGVyZWQFAAAAEHVzZXJVbnJlZ2lzdGVyZWQHCQAAAgAAAAECAAAAIFJlZ2lzdGVyIGZpcnN0IHdpdGggIlVzZXIgaW5mb3MiAwkAAAAAAAACBQAAABB1c2VySXNSZWdpc3RlcmVkBQAAAA11c2VyU3VzcGVuZGVkCQAAAgAAAAECAAAAEUFjY291bnQgc3VzcGVuZGVkAwkAAAAAAAACBQAAABB1c2VySXNSZWdpc3RlcmVkBQAAAAt1c2VyUmVtb3ZlZAkAAAIAAAABAgAAAA9BY2NvdW50IHJlbW92ZWQDCQAAZgAAAAIFAAAAB21heG1pbnQAAAAAAAAAAAoJAAACAAAAAQIAAAAbMTAgZWRpdGlvbnMgbWF4IHBlciBhcnR3b3JrAwkBAAAAASEAAAABBQAAAA1hcnR3b3JrTWludGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnROYW1lAAAAAgUAAAAGY2FsbGVyBQAAAAR0eGlkBQAAAARuYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnREZXNjAAAAAgUAAAAGY2FsbGVyBQAAAAR0eGlkBQAAAAtkZXNjcmlwdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQa2V5QXJ0RGlzcGxheUNpZAAAAAIFAAAABmNhbGxlcgUAAAAEdHhpZAUAAAAKY2lkRGlzcGxheQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPa2V5QXJ0RXhwb3J0Q2lkAAAAAgUAAAAGY2FsbGVyBQAAAAR0eGlkBQAAAAljaWRFeHBvcnQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGtleUFydEV4cG9ydEhhc2gAAAACBQAAAAZjYWxsZXIFAAAABHR4aWQFAAAADHNoYTI1NkV4cG9ydAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQa2V5QXJ0TGljZW5jZUNpZAAAAAIFAAAABmNhbGxlcgUAAAAEdHhpZAUAAAAKY2lkTGljZW5jZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAARa2V5QXJ0TGljZW5jZUhhc2gAAAACBQAAAAZjYWxsZXIFAAAABHR4aWQFAAAADXNoYTI1NkxpY2VuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA1rZXlBcnRNYXhNaW50AAAAAgUAAAAGY2FsbGVyBQAAAAR0eGlkBQAAAAdtYXhtaW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnRUYWdzAAAAAgUAAAAGY2FsbGVyBQAAAAR0eGlkBQAAAAR0YWdzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnRUeXBlAAAAAgUAAAAGY2FsbGVyBQAAAAR0eGlkBQAAAAR0eXBlBQAAAANuaWwJAAACAAAAAQIAAAAOQWxyZWFkeSBtaW50ZWQAAAABaQEAAAALZmxhZ0FydHdvcmsAAAADAAAABWFydElkAAAABGFkZHIAAAAEZmxhZwQAAAAGY2FsbGVyCQAEJQAAAAEJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAACaWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAABWNocmlzCQAETAAAAAIFAAAABGpvZXAFAAAAA25pbAUAAAAGY2FsbGVyAwkAAAAAAAACBQAAAARmbGFnAgAAAAdDT05TRU5UCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnRGbGFnAAAAAgUAAAAEYWRkcgUAAAAFYXJ0SWQFAAAABGZsYWcFAAAAA25pbAMJAAAAAAAAAgUAAAAEZmxhZwIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnRGbGFnAAAAAgUAAAAEYWRkcgUAAAAFYXJ0SWQFAAAABGZsYWcFAAAAA25pbAMJAAAAAAAAAgUAAAAEZmxhZwIAAAAHSUxMRUdBTAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAKa2V5QXJ0RmxhZwAAAAIFAAAABGFkZHIFAAAABWFydElkBQAAAARmbGFnCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnROYW1lAAAAAgUAAAAEYWRkcgUAAAAFYXJ0SWQCAAAAD0lMTEVHQUwgQ09OVEVOVAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAKa2V5QXJ0RGVzYwAAAAIFAAAABGFkZHIFAAAABWFydElkAgAAAA9JTExFR0FMIENPTlRFTlQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGtleUFydERpc3BsYXlDaWQAAAACBQAAAARhZGRyBQAAAAVhcnRJZAIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA9rZXlBcnRFeHBvcnRDaWQAAAACBQAAAARhZGRyBQAAAAVhcnRJZAIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBrZXlBcnRMaWNlbmNlQ2lkAAAAAgUAAAAEYWRkcgUAAAAFYXJ0SWQCAAAAAAUAAAADbmlsCQAAAgAAAAEJAAEsAAAAAgIAAAANVW5rbm93IHN0YXR1cwUAAAAEZmxhZwkAAAIAAAABAgAAAAJubwAAAAFpAQAAAA1kZWxldGVBcnR3b3JrAAAAAgAAAAVhcnRJZAAAAARhZGRyBAAAAAZjYWxsZXIJAAQlAAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAAJpZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAAxhZGRyZXNzVG9Vc2UDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAVjaHJpcwkABEwAAAACBQAAAARqb2VwBQAAAANuaWwFAAAABmNhbGxlcgUAAAAEYWRkcgUAAAAGY2FsbGVyBAAAAAplbnRyeUV4aXN0BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMJAQAAAAprZXlBcnROYW1lAAAAAgUAAAAMYWRkcmVzc1RvVXNlBQAAAAVhcnRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzCQAAAgAAAAECAAAAD05vIGFydCBtYXRjaGluZwQAAAANYXJ0d29ya01pbnRlZAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQEAAAAMa2V5QXJ0SXNzdWVkAAAAAgUAAAAMYWRkcmVzc1RvVXNlBQAAAAVhcnRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwAwkBAAAAAiE9AAAAAgUAAAABYgAAAAAAAAAAAAYHBwQAAAAHbWF4TWludAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAA1rZXlBcnRNYXhNaW50AAAAAgUAAAAMYWRkcmVzc1RvVXNlBQAAAAVhcnRJZAQAAAAKc2hhMjU2SGFzaAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzCQEAAAAUa2V5QXJ0SGFzaEJ5VHhpZEFkZHIAAAACBQAAAAxhZGRyZXNzVG9Vc2UFAAAABWFydElkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXMFAAAAByRtYXRjaDAFAAAAAXMJAAACAAAAAQIAAAAUTm8gYXJ0IGhhc2ggbWF0Y2hpbmcEAAAABnNpZ25JRAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzCQEAAAAMa2V5QXJ0U2lnbklEAAAAAgUAAAAMYWRkcmVzc1RvVXNlBQAAAAVhcnRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzCQAAAgAAAAECAAAAE05vIFNJR04gSUQgbWF0Y2hpbmcEAAAADGRhdGFUb0RlbGV0ZQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAKa2V5QXJ0RGF0ZQAAAAIFAAAADGFkZHJlc3NUb1VzZQUAAAAFYXJ0SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAACmtleUFydE5hbWUAAAACBQAAAAxhZGRyZXNzVG9Vc2UFAAAABWFydElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAAprZXlBcnREZXNjAAAAAgUAAAAMYWRkcmVzc1RvVXNlBQAAAAVhcnRJZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAQa2V5QXJ0RGlzcGxheUNpZAAAAAIFAAAADGFkZHJlc3NUb1VzZQUAAAAFYXJ0SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAD2tleUFydEV4cG9ydENpZAAAAAIFAAAADGFkZHJlc3NUb1VzZQUAAAAFYXJ0SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAEGtleUFydEV4cG9ydEhhc2gAAAACBQAAAAxhZGRyZXNzVG9Vc2UFAAAABWFydElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABFrZXlBcnRMaWNlbmNlSGFzaAAAAAIFAAAADGFkZHJlc3NUb1VzZQUAAAAFYXJ0SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAEGtleUFydExpY2VuY2VDaWQAAAACBQAAAAxhZGRyZXNzVG9Vc2UFAAAABWFydElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAAprZXlBcnRUeXBlAAAAAgUAAAAMYWRkcmVzc1RvVXNlBQAAAAVhcnRJZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAKa2V5QXJ0VGFncwAAAAIFAAAADGFkZHJlc3NUb1VzZQUAAAAFYXJ0SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAADWtleUFydE1heE1pbnQAAAACBQAAAAxhZGRyZXNzVG9Vc2UFAAAABWFydElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAAxrZXlBcnRTaWduSUQAAAACBQAAAAxhZGRyZXNzVG9Vc2UFAAAABWFydElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAAxrZXlBcnRJc3N1ZWQAAAACBQAAAAxhZGRyZXNzVG9Vc2UFAAAABWFydElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAAxrZXlBcnRPblNhbGUAAAACBQAAAAxhZGRyZXNzVG9Vc2UFAAAABWFydElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAAprZXlBcnRGbGFnAAAAAgUAAAAEYWRkcgUAAAAFYXJ0SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAEWtleUFydE93bmVyQnlIYXNoAAAAAQUAAAAKc2hhMjU2SGFzaAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAATa2V5QXJ0QXJ0aWRCeVNpZ25pZAAAAAIFAAAADGFkZHJlc3NUb1VzZQUAAAAGc2lnbklECQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABVrZXlBcnRUeGlkQnlIYXNoT3duZXIAAAACBQAAAApzaGEyNTZIYXNoBQAAAAxhZGRyZXNzVG9Vc2UFAAAAA25pbAMJAQAAAAEhAAAAAQUAAAANYXJ0d29ya01pbnRlZAMJAQAAAAEhAAAAAQUAAAALZGFwcFJ1bm5pbmcJAAACAAAAAQUAAAAObWFpbnRlbmFuY2VNU0cFAAAADGRhdGFUb0RlbGV0ZQkAAAIAAAABAgAAACFBcnQgYWxyZWFkeSBtaW50ZWQsIGNhbm5vdCBkZWxldGUAAAABaQEAAAALc2VsbEFydHdvcmsAAAAEAAAABWFydElkAAAABXByaWNlAAAAB21heE1pbnQAAAAHYXNzZXRJZAMJAQAAAAEhAAAAAQUAAAALZGFwcFJ1bm5pbmcJAAACAAAAAQUAAAAObWFpbnRlbmFuY2VNU0cEAAAAAmlkCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAABmNhbGxlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAhzZWxsRGF0ZQgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAEAAAA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Y2FsbGVyAAAABWJ5dGVzBAAAAAh0b3RhbE5GVAkBAAAAD2dldEludGVnZXJCeUtleQAAAAECAAAAEHRvdGFsX25mdF9pc3N1ZWQEAAAABnNpZ25JRAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADGtleUFydFNpZ25JRAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAAC2FydHdvcmtOYW1lBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMJAQAAAAprZXlBcnROYW1lAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzCQAAAgAAAAECAAAAEUFydCBkb2Vzbid0IGV4aXN0BAAAAApkaXNwbGF5Q0lECQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAQa2V5QXJ0RGlzcGxheUNpZAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACWV4cG9ydENJRAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAD2tleUFydEV4cG9ydENpZAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACmV4cG9ydEhhc2gJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABBrZXlBcnRFeHBvcnRIYXNoAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAQAAAAKbGljZW5jZUNJRAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEGtleUFydExpY2VuY2VDaWQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAAtsaWNlbmNlSGFzaAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEWtleUFydExpY2VuY2VIYXNoAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAQAAAALZGVzY3JpcHRpb24JAAEvAAAAAgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAACmtleUFydERlc2MAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkAAAAAAAAAAAyBAAAAAphbW91bnRTb2xkCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAADGtl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", "height": 1283298, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AXRU9gRk8eQXMfwvQf2Ehyb8XWUGreLqqk7qfGE8acUA Next: none Diff:
OldNewDifferences
255255 then throw("600 Char. max description")
256256 else if ((size(aC) > 45))
257257 then throw("45 Char. max name")
258- else [IntegerEntry(T(N), aI), StringEntry(M(N), ((aH + "_") + toString(aI))), StringEntry(O(N), aC), StringEntry(P(N), aD), StringEntry(Q(N), aF), StringEntry(R(N), aE), StringEntry(S(N), p), StringEntry("last_invoke_id", aH)]
258+ else [IntegerEntry(T(N), aI), StringEntry(M(N), ((aH + "_") + toString(aI))), StringEntry(O(N), aC), StringEntry(P(N), aD), StringEntry(Q(N), aF), StringEntry(R(N), aE), StringEntry(S(N), p)]
259259 }
260260
261261
283283 then throw("600 Char. max for description")
284284 else if ((size(aC) > 45))
285285 then throw("45 Char. max name")
286- else [StringEntry(O(N), aC), StringEntry(P(N), aD), StringEntry(Q(N), aF), StringEntry(R(N), aE), StringEntry("last_invoke_id", aH)]
286+ else [StringEntry(O(N), aC), StringEntry(P(N), aD), StringEntry(Q(N), aF), StringEntry(R(N), aE)]
287287 }
288288
289289
325325 else false)
326326 then throw("User already allowed & verified")
327327 else if (containsElement([j, k], N))
328- then [StringEntry(S(aK), aN), StringEntry("last_invoke_id", aH)]
328+ then [StringEntry(S(aK), aN)]
329329 else throw(((("Not allowed to change user status " + N) + " / ") + j))
330330 }
331331
399399 then throw("10 editions max")
400400 else if ((size(H) != 64))
401401 then throw("Hash 64 char. max")
402- else [StringEntry(ao(H), N), StringEntry(ar(H, N), V), IntegerEntry(U(N, V), aI), StringEntry(W(N, V), aC), StringEntry(X(N, V), aD), StringEntry(Y(N, V), at), StringEntry(aa(N, V), au), StringEntry(Z(N, V), ax), StringEntry(af(N, V), ay), StringEntry(ag(N, V), av), StringEntry(ai(N, V), aQ), StringEntry(ah(N, V), aP), IntegerEntry(ab(N, V), aR), StringEntry(ac(N, V), F), IntegerEntry(ad(N, V), 0), BooleanEntry(ae(N, V), false), StringEntry(ap(N, F), V), StringEntry("last_invoke_id", V), StringEntry(am(N, V), H), ScriptTransfer(Address(fromBase58String(c)), aT, aU)]
402+ else [StringEntry(ao(H), N), StringEntry(ar(H, N), V), IntegerEntry(U(N, V), aI), StringEntry(W(N, V), aC), StringEntry(X(N, V), aD), StringEntry(Y(N, V), at), StringEntry(aa(N, V), au), StringEntry(Z(N, V), ax), StringEntry(af(N, V), ay), StringEntry(ag(N, V), av), StringEntry(ai(N, V), aQ), StringEntry(ah(N, V), aP), IntegerEntry(ab(N, V), aR), StringEntry(ac(N, V), F), IntegerEntry(ad(N, V), 0), BooleanEntry(ae(N, V), false), StringEntry(ap(N, F), V), StringEntry(am(N, V), H), ScriptTransfer(Address(fromBase58String(c)), aT, aU)]
403403 }
404404 }
405405 }
466466 else if ((aR > 10))
467467 then throw("10 editions max per artwork")
468468 else if (!(bd))
469- then [StringEntry(W(N, an), aC), StringEntry(X(N, an), aD), StringEntry(Y(N, an), at), StringEntry(aa(N, an), au), StringEntry(Z(N, an), ax), StringEntry(ag(N, an), av), StringEntry(af(N, an), ay), IntegerEntry(ab(N, an), aR), StringEntry(ah(N, an), aP), StringEntry(ai(N, an), aQ), StringEntry("last_invoke_id", bb)]
469+ then [StringEntry(W(N, an), aC), StringEntry(X(N, an), aD), StringEntry(Y(N, an), at), StringEntry(aa(N, an), au), StringEntry(Z(N, an), ax), StringEntry(ag(N, an), av), StringEntry(af(N, an), ay), IntegerEntry(ab(N, an), aR), StringEntry(ah(N, an), aP), StringEntry(ai(N, an), aQ)]
470470 else throw("Already minted")
471471 }
472472 }
482482 let aH = toBase58String(C.transactionId)
483483 if (containsElement([j, k], N))
484484 then if ((bc == "CONSENT"))
485- then [StringEntry(al(bf, V), bc), StringEntry("last_invoke_id", aH)]
485+ then [StringEntry(al(bf, V), bc)]
486486 else if ((bc == ""))
487- then [StringEntry(al(bf, V), bc), StringEntry("last_invoke_id", aH)]
487+ then [StringEntry(al(bf, V), bc)]
488488 else if ((bc == "ILLEGAL"))
489- then [StringEntry(al(bf, V), bc), StringEntry(W(bf, V), "ILLEGAL CONTENT"), StringEntry(X(bf, V), "ILLEGAL CONTENT"), StringEntry(Y(bf, V), ""), StringEntry(aa(bf, V), ""), StringEntry(ag(bf, V), ""), StringEntry("last_invoke_id", aH)]
489+ then [StringEntry(al(bf, V), bc), StringEntry(W(bf, V), "ILLEGAL CONTENT"), StringEntry(X(bf, V), "ILLEGAL CONTENT"), StringEntry(Y(bf, V), ""), StringEntry(aa(bf, V), ""), StringEntry(ag(bf, V), "")]
490490 else throw(("Unknow status" + bc))
491491 else throw("no")
492492 }
539539 }
540540 else throw("No SIGN ID matching")
541541 }
542- let bi = [DeleteEntry(U(bg, V)), DeleteEntry(W(bg, V)), DeleteEntry(X(bg, V)), DeleteEntry(Y(bg, V)), DeleteEntry(aa(bg, V)), DeleteEntry(Z(bg, V)), DeleteEntry(af(bg, V)), DeleteEntry(ag(bg, V)), DeleteEntry(ai(bg, V)), DeleteEntry(ah(bg, V)), DeleteEntry(ab(bg, V)), DeleteEntry(ac(bg, V)), DeleteEntry(ad(bg, V)), DeleteEntry(ae(bg, V)), DeleteEntry(al(bf, V)), StringEntry("last_invoke_id", aH), DeleteEntry(ao(H)), DeleteEntry(ap(bg, F)), DeleteEntry(ar(H, bg))]
542+ let bi = [DeleteEntry(U(bg, V)), DeleteEntry(W(bg, V)), DeleteEntry(X(bg, V)), DeleteEntry(Y(bg, V)), DeleteEntry(aa(bg, V)), DeleteEntry(Z(bg, V)), DeleteEntry(af(bg, V)), DeleteEntry(ag(bg, V)), DeleteEntry(ai(bg, V)), DeleteEntry(ah(bg, V)), DeleteEntry(ab(bg, V)), DeleteEntry(ac(bg, V)), DeleteEntry(ad(bg, V)), DeleteEntry(ae(bg, V)), DeleteEntry(al(bf, V)), DeleteEntry(ao(H)), DeleteEntry(ap(bg, F)), DeleteEntry(ar(H, bg))]
543543 if (!(bd))
544544 then if (!(m))
545545 then throw(n)
630630 else false)
631631 then true
632632 else false
633-[BooleanEntry(ae(N, V), bt), IntegerEntry(aj(N, V), bj), IntegerEntry(ab(N, V), bh), StringEntry(ak(N, V), aU), StringEntry("last_invoke_id", aH)]
633+[BooleanEntry(ae(N, V), bt), IntegerEntry(aj(N, V), bj), IntegerEntry(ab(N, V), bh), StringEntry(ak(N, V), aU)]
634634 }
635635 }
636636 }
712712 let bt = if ((bG == bs))
713713 then false
714714 else true
715-[IntegerEntry(ad(bu, V), bG), StringEntry(((((((("art_sold_" + toString(bG)) + "_of_") + toString(bs)) + "_") + V) + "_") + bu), ((((((((((N + "_") + toString(bH)) + "_") + aH) + "_") + toString(bz)) + "_") + bB) + "_") + toBase58String(bK))), IntegerEntry("total_nft_issued", (bv + 1)), BooleanEntry(ae(bu, V), bt), StringEntry("last_invoke_id", aH), bJ, ScriptTransfer(Address(fromBase58String(bu)), bF, aU), ScriptTransfer(Address(fromBase58String(c)), bE, aU), ScriptTransfer(C.caller, 1, bK)]
715+[IntegerEntry(ad(bu, V), bG), StringEntry(((((((("art_sold_" + toString(bG)) + "_of_") + toString(bs)) + "_") + V) + "_") + bu), ((((((((((N + "_") + toString(bH)) + "_") + aH) + "_") + toString(bz)) + "_") + bB) + "_") + toBase58String(bK))), IntegerEntry("total_nft_issued", (bv + 1)), BooleanEntry(ae(bu, V), bt), bJ, ScriptTransfer(Address(fromBase58String(bu)), bF, aU), ScriptTransfer(Address(fromBase58String(c)), bE, aU), ScriptTransfer(C.caller, 1, bK)]
716716 }
717717 }
718718 }
735735 let N = toString(addressFromPublicKey(C.callerPublicKey))
736736 let aH = toBase58String(C.transactionId)
737737 if (containsElement([j, k], N))
738- then [DeleteEntry(T(aK)), DeleteEntry(M(aK)), DeleteEntry(O(aK)), DeleteEntry(P(aK)), DeleteEntry(Q(aK)), DeleteEntry(R(aK)), StringEntry(S(aK), s), StringEntry("last_invoke_id", aH)]
738+ then [DeleteEntry(T(aK)), DeleteEntry(M(aK)), DeleteEntry(O(aK)), DeleteEntry(P(aK)), DeleteEntry(Q(aK)), DeleteEntry(R(aK)), StringEntry(S(aK), s)]
739739 else throw("Not allowed")
740740 }
741741
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
55
66 let b = value(addressFromString("3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB"))
77
88 let c = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
99
1010 let d = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
1111
1212 let e = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
1313
1414 let f = base58''
1515
1616 let g = 8
1717
1818 let h = 10
1919
2020 let i = 10
2121
2222 let j = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
2323
2424 let k = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
2525
2626 let l = true
2727
2828 let m = true
2929
3030 let n = "SIGN Art is under maintenance"
3131
3232 let o = "ALLOWED"
3333
3434 let p = "REGISTERED"
3535
3636 let q = "VERIFIED"
3737
3838 let r = "SUSPENDED"
3939
4040 let s = "REMOVED"
4141
4242 let t = "CHANGE_REQUIRED"
4343
4444 let u = "UNREGISTERED"
4545
4646 let v = "RESET"
4747
4848 func w (x) = {
4949 let y = getString(this, x)
5050 if ($isInstanceOf(y, "String"))
5151 then {
5252 let z = y
5353 z
5454 }
5555 else ""
5656 }
5757
5858
5959 func A (x) = {
6060 let y = getInteger(a, x)
6161 if ($isInstanceOf(y, "Int"))
6262 then {
6363 let z = y
6464 z
6565 }
6666 else throw("Integer undefine or 0 in oracle")
6767 }
6868
6969
7070 func B (x) = {
7171 let y = getInteger(this, x)
7272 if ($isInstanceOf(y, "Int"))
7373 then {
7474 let C = y
7575 C
7676 }
7777 else 0
7878 }
7979
8080
8181 func D (x) = {
8282 let y = getBoolean(this, x)
8383 if ($isInstanceOf(y, "Boolean"))
8484 then {
8585 let C = y
8686 C
8787 }
8888 else false
8989 }
9090
9191
9292 func E (F,G,H) = {
9393 let y = getString(b, ((("data_fc_" + F) + "_") + G))
9494 if ($isInstanceOf(y, "String"))
9595 then {
9696 let z = y
9797 if (contains(z, H))
9898 then true
9999 else false
100100 }
101101 else false
102102 }
103103
104104
105105 func I (J) = if (if ((75 > size(J)))
106106 then (60 > size(split(J, "/")[0]))
107107 else false)
108108 then (16 > size(split(J, "/")[1]))
109109 else false
110110
111111
112112 func K (L) = (65 > size(L))
113113
114114
115115 func M (N) = ("user_" + N)
116116
117117
118118 func O (N) = ("user_name_" + N)
119119
120120
121121 func P (N) = ("user_desc_" + N)
122122
123123
124124 func Q (N) = ("user_social_" + N)
125125
126126
127127 func R (N) = ("user_thumb_" + N)
128128
129129
130130 func S (N) = ("user_status_" + N)
131131
132132
133133 func T (N) = ("user_date_" + N)
134134
135135
136136 func U (N,V) = ((("art_date_" + V) + "_") + N)
137137
138138
139139 func W (N,V) = ((("art_name_" + V) + "_") + N)
140140
141141
142142 func X (N,V) = ((("art_desc_" + V) + "_") + N)
143143
144144
145145 func Y (N,V) = ((("art_display_cid_" + V) + "_") + N)
146146
147147
148148 func Z (N,V) = ((("art_export_hash_" + V) + "_") + N)
149149
150150
151151 func aa (N,V) = ((("art_export_cid_" + V) + "_") + N)
152152
153153
154154 func ab (N,V) = ((("art_maxmint_" + V) + "_") + N)
155155
156156
157157 func ac (N,V) = ((("art_signid_" + V) + "_") + N)
158158
159159
160160 func ad (N,V) = ((("art_issued_" + V) + "_") + N)
161161
162162
163163 func ae (N,V) = ((("art_onsale_" + V) + "_") + N)
164164
165165
166166 func af (N,V) = ((("art_licence_hash_" + V) + "_") + N)
167167
168168
169169 func ag (N,V) = ((("art_licence_cid_" + V) + "_") + N)
170170
171171
172172 func ah (N,V) = ((("art_tags_" + V) + "_") + N)
173173
174174
175175 func ai (N,V) = ((("art_type_" + V) + "_") + N)
176176
177177
178178 func aj (N,V) = ((("art_price_" + V) + "_") + N)
179179
180180
181181 func ak (N,V) = ((("art_assetAccepted_" + V) + "_") + N)
182182
183183
184184 func al (N,V) = ((("art_flag_" + V) + "_") + N)
185185
186186
187187 func am (N,an) = ((("get_hashbytxidaddr_" + an) + "_") + N)
188188
189189
190190 func ao (H) = ("get_owner_by_hash_" + H)
191191
192192
193193 func ap (N,aq) = ((("get_artidbysignid_" + aq) + "_") + N)
194194
195195
196196 func ar (H,N) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((H + N)))))
197197
198198
199199 func as (at,au,av) = if (if ((at != ""))
200200 then !(I(at))
201201 else false)
202202 then throw("Wrong Display CID")
203203 else if (if ((au != ""))
204204 then !(I(au))
205205 else false)
206206 then throw("Wrong Export CID")
207207 else if (if ((av != ""))
208208 then !(I(av))
209209 else false)
210210 then throw("Wrong Licence CID")
211211 else true
212212
213213
214214 func aw (ax,ay) = if (if ((ax != ""))
215215 then !(K(ax))
216216 else false)
217217 then throw("Export Hash 64 char. max")
218218 else if (if ((ay != ""))
219219 then !(K(ay))
220220 else false)
221221 then throw("Licence Hash 64 char. max")
222222 else true
223223
224224
225225 func az (aA,aB) = if ((size(aA) == 0))
226226 then throw("Field cannot be is empty")
227227 else if ((size(aA) > aB))
228228 then throw((aA + " is too long"))
229229 else true
230230
231231
232232 @Callable(C)
233233 func registerUser (aC,aD,aE,aF) = if (!(m))
234234 then throw(n)
235235 else {
236236 let N = toString(addressFromPublicKey(C.callerPublicKey))
237237 let aG = w(S(N))
238238 let aH = toBase58String(C.transactionId)
239239 let aI = lastBlock.timestamp
240240 if (if ((aG == r))
241241 then true
242242 else (aG == s))
243243 then throw("Account suspended/ removed.")
244244 else if ((aG == p))
245245 then throw("Already registered")
246246 else if (if ((aG == ""))
247247 then l
248248 else false)
249249 then throw("Can't register, get approved first.")
250250 else if (if ((aC == ""))
251251 then true
252252 else (aD == ""))
253253 then throw("Name and description cannot be empty")
254254 else if ((size(aD) > 600))
255255 then throw("600 Char. max description")
256256 else if ((size(aC) > 45))
257257 then throw("45 Char. max name")
258- else [IntegerEntry(T(N), aI), StringEntry(M(N), ((aH + "_") + toString(aI))), StringEntry(O(N), aC), StringEntry(P(N), aD), StringEntry(Q(N), aF), StringEntry(R(N), aE), StringEntry(S(N), p), StringEntry("last_invoke_id", aH)]
258+ else [IntegerEntry(T(N), aI), StringEntry(M(N), ((aH + "_") + toString(aI))), StringEntry(O(N), aC), StringEntry(P(N), aD), StringEntry(Q(N), aF), StringEntry(R(N), aE), StringEntry(S(N), p)]
259259 }
260260
261261
262262
263263 @Callable(C)
264264 func updateUser (aC,aD,aE,aF) = if (!(m))
265265 then throw(n)
266266 else {
267267 let N = toString(addressFromPublicKey(C.callerPublicKey))
268268 let aH = toBase58String(C.transactionId)
269269 let aJ = w(S(N))
270270 if (if ((aJ == r))
271271 then true
272272 else (aJ == s))
273273 then throw("Account suspended/ removed.")
274274 else if (if ((aJ == ""))
275275 then true
276276 else (aJ == o))
277277 then throw("Register first")
278278 else if (if ((aC == ""))
279279 then true
280280 else (aD == ""))
281281 then throw("Name & description cannot be empty")
282282 else if ((size(aD) > 600))
283283 then throw("600 Char. max for description")
284284 else if ((size(aC) > 45))
285285 then throw("45 Char. max name")
286- else [StringEntry(O(N), aC), StringEntry(P(N), aD), StringEntry(Q(N), aF), StringEntry(R(N), aE), StringEntry("last_invoke_id", aH)]
286+ else [StringEntry(O(N), aC), StringEntry(P(N), aD), StringEntry(Q(N), aF), StringEntry(R(N), aE)]
287287 }
288288
289289
290290
291291 @Callable(C)
292292 func changeUserStatus (aK,aL) = if (!(m))
293293 then throw(n)
294294 else {
295295 let N = toString(addressFromPublicKey(C.callerPublicKey))
296296 let aH = toBase58String(C.transactionId)
297297 let aM = w(S(aK))
298298 let aN = if ((aL == q))
299299 then q
300300 else if ((aL == p))
301301 then p
302302 else if ((aL == r))
303303 then r
304304 else if ((aL == s))
305305 then s
306306 else if ((aL == o))
307307 then o
308308 else if ((aL == t))
309309 then t
310310 else if (if ((aL == v))
311311 then (aM == o)
312312 else false)
313313 then ""
314314 else throw("Unknown status")
315315 if (if ((aM == o))
316316 then (aL == o)
317317 else false)
318318 then throw("User already allowed")
319319 else if (if ((aM == p))
320320 then (aL == o)
321321 else false)
322322 then throw("User already allowed & registered")
323323 else if (if ((aM == q))
324324 then (aL == o)
325325 else false)
326326 then throw("User already allowed & verified")
327327 else if (containsElement([j, k], N))
328- then [StringEntry(S(aK), aN), StringEntry("last_invoke_id", aH)]
328+ then [StringEntry(S(aK), aN)]
329329 else throw(((("Not allowed to change user status " + N) + " / ") + j))
330330 }
331331
332332
333333
334334 @Callable(aO)
335335 func addArtwork (H,F,aC,aD,aP,aQ,aR,at,ax,au,ay,av) = if (!(m))
336336 then throw(n)
337337 else {
338338 let V = toBase58String(aO.transactionId)
339339 let N = toBase58String(aO.caller.bytes)
340340 if (!(as(at, au, av)))
341341 then throw("Problem with CID")
342342 else if (!(K(H)))
343343 then throw("Hash should be 64 characters maximum")
344344 else if (!(aw(ax, ay)))
345345 then throw("Problem with Hashes")
346346 else if ((size(aO.payments) == 0))
347347 then throw("No payment attached")
348348 else {
349349 let aS = value(aO.payments[0])
350350 let aT = value(aS.amount)
351351 let aU = if (if (isDefined(aS.assetId))
352352 then (aS.assetId == d)
353353 else false)
354354 then aS.assetId
355355 else throw("Only SIGN token accepted at the moment")
356356 let aV = A(("certification_fee_" + toBase58String(d)))
357357 if ((aT != aV))
358358 then throw(("Payment amount should be " + toString(aV)))
359359 else {
360360 let aW = w(ar(H, N))
361361 if ((aW != ""))
362362 then throw("You already added it")
363363 else {
364364 let aX = w(ao(H))
365365 if ((aX != ""))
366366 then throw("Hash already registered")
367367 else {
368368 let aY = E(F, N, H)
369369 if (!(aY))
370370 then throw("Sign Certificate not found for this address.")
371371 else if ((size(at) == 0))
372372 then throw("Display CID cannot be empty")
373373 else if (!(az(aC, 100)))
374374 then throw("100 Char. max name")
375375 else if (!(az(aD, 1000)))
376376 then throw("1000 Char. max description")
377377 else if ((size(split(aP, ",")) > 5))
378378 then throw("5 tags max.")
379379 else {
380380 let aZ = {
381381 let y = getString(this, ("user_status_" + N))
382382 if ($isInstanceOf(y, "String"))
383383 then {
384384 let ba = y
385385 ba
386386 }
387387 else u
388388 }
389389 let aI = lastBlock.timestamp
390390 if (if (isDefined(aZ))
391391 then (aZ == u)
392392 else false)
393393 then throw("Register this account first with \"User infos\" tab")
394394 else if ((aZ == r))
395395 then throw("Account suspended")
396396 else if ((aZ == s))
397397 then throw("Account removed")
398398 else if ((aR > 10))
399399 then throw("10 editions max")
400400 else if ((size(H) != 64))
401401 then throw("Hash 64 char. max")
402- else [StringEntry(ao(H), N), StringEntry(ar(H, N), V), IntegerEntry(U(N, V), aI), StringEntry(W(N, V), aC), StringEntry(X(N, V), aD), StringEntry(Y(N, V), at), StringEntry(aa(N, V), au), StringEntry(Z(N, V), ax), StringEntry(af(N, V), ay), StringEntry(ag(N, V), av), StringEntry(ai(N, V), aQ), StringEntry(ah(N, V), aP), IntegerEntry(ab(N, V), aR), StringEntry(ac(N, V), F), IntegerEntry(ad(N, V), 0), BooleanEntry(ae(N, V), false), StringEntry(ap(N, F), V), StringEntry("last_invoke_id", V), StringEntry(am(N, V), H), ScriptTransfer(Address(fromBase58String(c)), aT, aU)]
402+ else [StringEntry(ao(H), N), StringEntry(ar(H, N), V), IntegerEntry(U(N, V), aI), StringEntry(W(N, V), aC), StringEntry(X(N, V), aD), StringEntry(Y(N, V), at), StringEntry(aa(N, V), au), StringEntry(Z(N, V), ax), StringEntry(af(N, V), ay), StringEntry(ag(N, V), av), StringEntry(ai(N, V), aQ), StringEntry(ah(N, V), aP), IntegerEntry(ab(N, V), aR), StringEntry(ac(N, V), F), IntegerEntry(ad(N, V), 0), BooleanEntry(ae(N, V), false), StringEntry(ap(N, F), V), StringEntry(am(N, V), H), ScriptTransfer(Address(fromBase58String(c)), aT, aU)]
403403 }
404404 }
405405 }
406406 }
407407 }
408408 }
409409
410410
411411
412412 @Callable(aO)
413413 func updateArtwork (an,aC,aD,aP,aQ,aR,at,ax,au,ay,av) = if (!(m))
414414 then throw(n)
415415 else {
416416 let bb = toBase58String(aO.transactionId)
417417 let N = toBase58String(aO.caller.bytes)
418418 if (!(as(at, au, av)))
419419 then throw("Problem with CID")
420420 else if (!(aw(ax, ay)))
421421 then throw("Problem with Hashes")
422422 else {
423423 let aW = w(W(N, an))
424424 if ((aW == ""))
425425 then throw("Entry not found")
426426 else if (!(az(aC, 100)))
427427 then throw("100 Char. max name")
428428 else if (!(az(aD, 1000)))
429429 then throw("1000 Char. max description")
430430 else {
431431 let bc = w(al(N, an))
432432 if ((bc == "ILLEGAL"))
433433 then throw("Cannot update")
434434 else {
435435 let bd = {
436436 let y = getInteger(this, ad(N, an))
437437 if ($isInstanceOf(y, "Int"))
438438 then {
439439 let be = y
440440 if ((be == 0))
441441 then false
442442 else true
443443 }
444444 else false
445445 }
446446 if ((size(split(aP, ",")) > 5))
447447 then throw("5 tags max.")
448448 else {
449449 let aZ = {
450450 let y = getString(this, ("user_status_" + N))
451451 if ($isInstanceOf(y, "String"))
452452 then {
453453 let ba = y
454454 ba
455455 }
456456 else u
457457 }
458458 if (if (isDefined(aZ))
459459 then (aZ == u)
460460 else false)
461461 then throw("Register first with \"User infos\"")
462462 else if ((aZ == r))
463463 then throw("Account suspended")
464464 else if ((aZ == s))
465465 then throw("Account removed")
466466 else if ((aR > 10))
467467 then throw("10 editions max per artwork")
468468 else if (!(bd))
469- then [StringEntry(W(N, an), aC), StringEntry(X(N, an), aD), StringEntry(Y(N, an), at), StringEntry(aa(N, an), au), StringEntry(Z(N, an), ax), StringEntry(ag(N, an), av), StringEntry(af(N, an), ay), IntegerEntry(ab(N, an), aR), StringEntry(ah(N, an), aP), StringEntry(ai(N, an), aQ), StringEntry("last_invoke_id", bb)]
469+ then [StringEntry(W(N, an), aC), StringEntry(X(N, an), aD), StringEntry(Y(N, an), at), StringEntry(aa(N, an), au), StringEntry(Z(N, an), ax), StringEntry(ag(N, an), av), StringEntry(af(N, an), ay), IntegerEntry(ab(N, an), aR), StringEntry(ah(N, an), aP), StringEntry(ai(N, an), aQ)]
470470 else throw("Already minted")
471471 }
472472 }
473473 }
474474 }
475475 }
476476
477477
478478
479479 @Callable(C)
480480 func flagArtwork (V,bf,bc) = {
481481 let N = toString(addressFromPublicKey(C.callerPublicKey))
482482 let aH = toBase58String(C.transactionId)
483483 if (containsElement([j, k], N))
484484 then if ((bc == "CONSENT"))
485- then [StringEntry(al(bf, V), bc), StringEntry("last_invoke_id", aH)]
485+ then [StringEntry(al(bf, V), bc)]
486486 else if ((bc == ""))
487- then [StringEntry(al(bf, V), bc), StringEntry("last_invoke_id", aH)]
487+ then [StringEntry(al(bf, V), bc)]
488488 else if ((bc == "ILLEGAL"))
489- then [StringEntry(al(bf, V), bc), StringEntry(W(bf, V), "ILLEGAL CONTENT"), StringEntry(X(bf, V), "ILLEGAL CONTENT"), StringEntry(Y(bf, V), ""), StringEntry(aa(bf, V), ""), StringEntry(ag(bf, V), ""), StringEntry("last_invoke_id", aH)]
489+ then [StringEntry(al(bf, V), bc), StringEntry(W(bf, V), "ILLEGAL CONTENT"), StringEntry(X(bf, V), "ILLEGAL CONTENT"), StringEntry(Y(bf, V), ""), StringEntry(aa(bf, V), ""), StringEntry(ag(bf, V), "")]
490490 else throw(("Unknow status" + bc))
491491 else throw("no")
492492 }
493493
494494
495495
496496 @Callable(C)
497497 func deleteArtwork (V,bf) = {
498498 let N = toString(addressFromPublicKey(C.callerPublicKey))
499499 let aH = toBase58String(C.transactionId)
500500 let bg = if (containsElement([j, k], N))
501501 then bf
502502 else N
503503 let aW = {
504504 let y = getString(this, W(bg, V))
505505 if ($isInstanceOf(y, "String"))
506506 then {
507507 let ba = y
508508 ba
509509 }
510510 else throw("No art matching")
511511 }
512512 let bd = {
513513 let y = getInteger(this, ad(bg, V))
514514 if ($isInstanceOf(y, "Int"))
515515 then {
516516 let be = y
517517 if ((be != 0))
518518 then true
519519 else false
520520 }
521521 else false
522522 }
523523 let bh = B(ab(bg, V))
524524 let H = {
525525 let y = getString(this, am(bg, V))
526526 if ($isInstanceOf(y, "String"))
527527 then {
528528 let ba = y
529529 ba
530530 }
531531 else throw("No art hash matching")
532532 }
533533 let F = {
534534 let y = getString(this, ac(bg, V))
535535 if ($isInstanceOf(y, "String"))
536536 then {
537537 let ba = y
538538 ba
539539 }
540540 else throw("No SIGN ID matching")
541541 }
542- let bi = [DeleteEntry(U(bg, V)), DeleteEntry(W(bg, V)), DeleteEntry(X(bg, V)), DeleteEntry(Y(bg, V)), DeleteEntry(aa(bg, V)), DeleteEntry(Z(bg, V)), DeleteEntry(af(bg, V)), DeleteEntry(ag(bg, V)), DeleteEntry(ai(bg, V)), DeleteEntry(ah(bg, V)), DeleteEntry(ab(bg, V)), DeleteEntry(ac(bg, V)), DeleteEntry(ad(bg, V)), DeleteEntry(ae(bg, V)), DeleteEntry(al(bf, V)), StringEntry("last_invoke_id", aH), DeleteEntry(ao(H)), DeleteEntry(ap(bg, F)), DeleteEntry(ar(H, bg))]
542+ let bi = [DeleteEntry(U(bg, V)), DeleteEntry(W(bg, V)), DeleteEntry(X(bg, V)), DeleteEntry(Y(bg, V)), DeleteEntry(aa(bg, V)), DeleteEntry(Z(bg, V)), DeleteEntry(af(bg, V)), DeleteEntry(ag(bg, V)), DeleteEntry(ai(bg, V)), DeleteEntry(ah(bg, V)), DeleteEntry(ab(bg, V)), DeleteEntry(ac(bg, V)), DeleteEntry(ad(bg, V)), DeleteEntry(ae(bg, V)), DeleteEntry(al(bf, V)), DeleteEntry(ao(H)), DeleteEntry(ap(bg, F)), DeleteEntry(ar(H, bg))]
543543 if (!(bd))
544544 then if (!(m))
545545 then throw(n)
546546 else bi
547547 else throw("Art already minted, cannot delete")
548548 }
549549
550550
551551
552552 @Callable(C)
553553 func sellArtwork (V,bj,bh,aU) = if (!(m))
554554 then throw(n)
555555 else {
556556 let aH = toBase58String(C.transactionId)
557557 let N = toBase58String(C.caller.bytes)
558558 let bk = lastBlock.timestamp
559559 let bl = w(aa(N, V))
560560 if ((size(split(bl, "/")[0]) != 59))
561561 then throw("You cannot sell art with no export file")
562562 else {
563563 let bm = w(Z(N, V))
564564 if ((size(bm) != 64))
565565 then throw("You cannot sell art with no export hash")
566566 else if (if (if ((aU != toBase58String(d)))
567567 then (aU != toBase58String(f))
568568 else false)
569569 then (aU != toBase58String(e))
570570 else false)
571571 then throw("Only SIGN, USDN or WAVES accepted")
572572 else {
573573 let bn = A("waves_min_sell")
574574 let bo = 1000000
575575 let bp = (A(("certification_fee_" + toBase58String(d))) * 2)
576576 if (if (if (if (if ((aU == toBase58String(e)))
577577 then (bo > bj)
578578 else false)
579579 then (bj != 0)
580580 else false)
581581 then true
582582 else if (if ((aU == toBase58String(d)))
583583 then (bp > bj)
584584 else false)
585585 then (bj != 0)
586586 else false)
587587 then true
588588 else if (if ((aU == toBase58String(f)))
589589 then (bn > bj)
590590 else false)
591591 then (bj != 0)
592592 else false)
593593 then throw("Wrong minimum sell price")
594594 else {
595595 let bq = {
596596 let y = getString(this, W(N, V))
597597 if ($isInstanceOf(y, "String"))
598598 then {
599599 let ba = y
600600 ba
601601 }
602602 else throw("This art doesn't match")
603603 }
604604 let aZ = {
605605 let y = getString(this, S(N))
606606 if ($isInstanceOf(y, "String"))
607607 then {
608608 let ba = y
609609 ba
610610 }
611611 else throw("Register this account first")
612612 }
613613 let br = B(ad(N, V))
614614 let bs = B(ab(N, V))
615615 if (if ((br != 0))
616616 then (br == bs)
617617 else false)
618618 then throw("Max edition reached.")
619619 else if (if ((br > 0))
620620 then (bs != bh)
621621 else false)
622622 then throw("Cannot change maximum issuable anymore")
623623 else if ((aZ == r))
624624 then throw("Account suspended")
625625 else if ((aZ == s))
626626 then throw("Account deleted")
627627 else {
628628 let bt = if (if ((bj > 0))
629629 then (bh > 0)
630630 else false)
631631 then true
632632 else false
633-[BooleanEntry(ae(N, V), bt), IntegerEntry(aj(N, V), bj), IntegerEntry(ab(N, V), bh), StringEntry(ak(N, V), aU), StringEntry("last_invoke_id", aH)]
633+[BooleanEntry(ae(N, V), bt), IntegerEntry(aj(N, V), bj), IntegerEntry(ab(N, V), bh), StringEntry(ak(N, V), aU)]
634634 }
635635 }
636636 }
637637 }
638638 }
639639
640640
641641
642642 @Callable(C)
643643 func buyArtwork (V,bu) = if (!(m))
644644 then throw(n)
645645 else {
646646 let aH = toBase58String(C.transactionId)
647647 let N = toBase58String(C.caller.bytes)
648648 let bv = B("total_nft_issued")
649649 let F = w(ac(bu, V))
650650 let bq = {
651651 let y = getString(this, W(bu, V))
652652 if ($isInstanceOf(y, "String"))
653653 then {
654654 let ba = y
655655 ba
656656 }
657657 else throw("Art doesn't exist")
658658 }
659659 let bw = w(Y(bu, V))
660660 let bl = w(aa(bu, V))
661661 let bm = w(Z(bu, V))
662662 let bx = w(ag(bu, V))
663663 let by = w(af(bu, V))
664664 let aD = take(w(X(bu, V)), 50)
665665 let br = B(ad(bu, V))
666666 let bz = B(aj(bu, V))
667667 let bA = D(ae(bu, V))
668668 let bB = w(ak(bu, V))
669669 let bC = w(am(bu, V))
670670 if ((bz == 0))
671671 then throw("Art not for sell")
672672 else if (!(bA))
673673 then throw("Art not for sale")
674674 else {
675675 let bs = B(ab(bu, V))
676676 let aS = value(C.payments[0])
677677 let aT = value(aS.amount)
678678 let aU = if (if (if (isDefined(aS.assetId))
679679 then (size(fromBase58String(bB)) > 0)
680680 else false)
681681 then (aS.assetId == fromBase58String(bB))
682682 else false)
683683 then aS.assetId
684684 else unit
685685 let bD = if ((bB == toBase58String(d)))
686686 then 8
687687 else 10
688688 let bE = fraction(aT, bD, 100)
689689 let bF = (aT - bE)
690690 if ((br == bs))
691691 then throw("Art sold out")
692692 else if ((bz != aT))
693693 then throw("Payment don't match")
694694 else {
695695 let bG = (br + 1)
696696 let bH = lastBlock.timestamp
697697 let bI = ((((((((((((((((((((((((((("Creator: " + bu) + ",
698698 ArtID: ") + V) + ",
699699 SignID: ") + F) + ",
700700 Artwork name: ") + bq) + ",
701701 Artwork description: ") + aD) + ",
702702 Issue: ") + toString(bG)) + "/") + toString(bs)) + ",
703703 Max issuable: ") + toString(bs)) + ",
704704 Source hash: ") + bC) + ",
705705 Display cid: ") + bw) + ",
706706 Export cid: ") + bl) + ",
707707 Export hash: ") + bm) + ",
708708 Licence cid: ") + bx) + ",
709709 Licence hash: ") + by)
710710 let bJ = Issue(("SA_" + toString((bv + 1))), bI, 1, 0, false)
711711 let bK = calculateAssetId(bJ)
712712 let bt = if ((bG == bs))
713713 then false
714714 else true
715-[IntegerEntry(ad(bu, V), bG), StringEntry(((((((("art_sold_" + toString(bG)) + "_of_") + toString(bs)) + "_") + V) + "_") + bu), ((((((((((N + "_") + toString(bH)) + "_") + aH) + "_") + toString(bz)) + "_") + bB) + "_") + toBase58String(bK))), IntegerEntry("total_nft_issued", (bv + 1)), BooleanEntry(ae(bu, V), bt), StringEntry("last_invoke_id", aH), bJ, ScriptTransfer(Address(fromBase58String(bu)), bF, aU), ScriptTransfer(Address(fromBase58String(c)), bE, aU), ScriptTransfer(C.caller, 1, bK)]
715+[IntegerEntry(ad(bu, V), bG), StringEntry(((((((("art_sold_" + toString(bG)) + "_of_") + toString(bs)) + "_") + V) + "_") + bu), ((((((((((N + "_") + toString(bH)) + "_") + aH) + "_") + toString(bz)) + "_") + bB) + "_") + toBase58String(bK))), IntegerEntry("total_nft_issued", (bv + 1)), BooleanEntry(ae(bu, V), bt), bJ, ScriptTransfer(Address(fromBase58String(bu)), bF, aU), ScriptTransfer(Address(fromBase58String(c)), bE, aU), ScriptTransfer(C.caller, 1, bK)]
716716 }
717717 }
718718 }
719719
720720
721721
722722 @Callable(C)
723723 func creditUser (aK) = {
724724 let N = toString(addressFromPublicKey(C.callerPublicKey))
725725 let aH = toBase58String(C.transactionId)
726726 if (containsElement([j, k], N))
727727 then [ScriptTransfer(Address(fromBase58String(aK)), 30000000000, d)]
728728 else throw("Not allowed")
729729 }
730730
731731
732732
733733 @Callable(C)
734734 func deleteUser (aK) = {
735735 let N = toString(addressFromPublicKey(C.callerPublicKey))
736736 let aH = toBase58String(C.transactionId)
737737 if (containsElement([j, k], N))
738- then [DeleteEntry(T(aK)), DeleteEntry(M(aK)), DeleteEntry(O(aK)), DeleteEntry(P(aK)), DeleteEntry(Q(aK)), DeleteEntry(R(aK)), StringEntry(S(aK), s), StringEntry("last_invoke_id", aH)]
738+ then [DeleteEntry(T(aK)), DeleteEntry(M(aK)), DeleteEntry(O(aK)), DeleteEntry(P(aK)), DeleteEntry(Q(aK)), DeleteEntry(R(aK)), StringEntry(S(aK), s)]
739739 else throw("Not allowed")
740740 }
741741
742742
743743
744744 @Callable(C)
745745 func deleteEntry (bL) = {
746746 let N = toString(addressFromPublicKey(C.callerPublicKey))
747747 if ((N == j))
748748 then [DeleteEntry(bL)]
749749 else throw("no")
750750 }
751751
752752

github/deemru/w8io/6500d08 
146.11 ms