tx · 4qopqEGC4drZ3XJV3puRvYYymA6pDxy1gpNzGdT6q925

3NBynfbXC2KastUxhukcMUaE58K9cBdB9UY:  -0.01400000 Waves

2021.03.21 05:45 [1446914] smart account 3NBynfbXC2KastUxhukcMUaE58K9cBdB9UY > SELF 0.00000000 Waves

{ "type": 13, "id": "4qopqEGC4drZ3XJV3puRvYYymA6pDxy1gpNzGdT6q925", "fee": 1400000, "feeAssetId": null, "timestamp": 1616294832561, "version": 2, "chainId": 84, "sender": "3NBynfbXC2KastUxhukcMUaE58K9cBdB9UY", "senderPublicKey": "J9DCtJJxJBWZdtDR12BA1U94Q3cZzMi4R6k5hYkAzmzC", "proofs": [ "222ShF5Pxe7rgKP7aYUsVMFVK3btTFMXLSqvFVtMfM6TgvinxvRQUYf9xJ9hF6WYNRsmkEMm7wptaRBd4or62efY" ], "script": "base64:AAIEAAAAAAAAAFQIAhINCgsICAgICAgICAgICBIMCgoICAgICAgICAgIEgUKAwgICBIECgIICBIGCgQIAQEIEgQKAggIEgQKAggIEgYKBAgICAgSBQoDCAgIEgMKAQgAAABLAAAAAAh1bml0VGVzdAYAAAAACW9yYWNsZUZlZQkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjJzNVJ0YUhQQmVuQ3N4MkVDY29GUmJZSHgzbm9aaFhXMQAAAAAIc2lnbkRhcHAJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM05DMjhoU2l2cm1zVFVYYVlEMXg2TDM2Mko0WnBVbm9UZEIAAAAAC2ZlZVJlY2VpdmVyAgAAACMzTjFFNnRYZGRSb1ZhUmZROWRRM3ZnNUxhVzJmc2Q4SEt1YgAAAAAIdXNlckRhcHADBQAAAAh1bml0VGVzdAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTXQ0UkdNRXlqU1dZQW9jVFBxZDU1d2RIUVFCM1BVMlVDbQkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjh4WGFZakUyN0FhNzlkNWhIcmhIdTlIYUZvVEJtaERFagAAAAANd2hpdGVsaXN0RGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjZCYVYxZENCNHpnNDNnb05OSGFDdHZSMTNCY3lKNUdzcQAAAAALc2lnbkFzc2V0SWQBAAAAIOilarzKd0LycGEyNUpPRYO5uR7lmWcXw3Hq2QuhBK3rAAAAAAt1c2RuQXNzZXRJZAEAAAAgD/IcEqzkxDya7EYaqyWosOy6BytGzG2IcvC14pJJAbQAAAAADHdhdmVzQXNzZXRJZAEAAAAAAAAAAAVjaHJpcwIAAAAjM01zRzZqUE5DclZKVXRZQjdYSkJ4Uzd1dFdzWEFmNG45VnAAAAAABGpvZXACAAAAIzNNem00Vkx3c045dVp3YlRNelBqM1h1eFY2a0VmQVI4VUROAAAAAAdzaWduQ3V0AAAAAAAAAAAHAAAAAAt1c2RuV2F2ZUN1dAAAAAAAAAAACgAAAAAOZGVmYXVsdExpY2VuY2UCAAAAR2JhZnliZWlmdXlvNHBxdTU0aXNtcWd0YjZlNGg2a2t2Z3g3emc0dTN6aWJoMnI3eTZtYjY0aTdienphL2xpY2VuY2UucGRmAAAAABJkZWZhdWx0SGFzaExpY2VuY2UCAAAAQGE4Nzc1OGMzNTRlMzBhOWU3OGZiODRmYTNhMDAxMGE1MDkwYWIyMGRmMGJlMTFhZDQ1YjU3MjBjYzE4N2U2MzkAAAAAC2RhcHBSdW5uaW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAACHVzZXJEYXBwAgAAABRjb25mX2RhcHBfaXNfcnVubmluZwYAAAAADm1haW50ZW5hbmNlTVNHCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAACHVzZXJEYXBwAgAAABRjb25mX21haW50ZW5hbmNlX21zZwIAAAAAAAAAAA11c2VyU3VzcGVuZGVkAgAAAAlTVVNQRU5ERUQAAAAAC3VzZXJSZW1vdmVkAgAAAAdSRU1PVkVEAAAAABB1c2VyVW5yZWdpc3RlcmVkAgAAAAxVTlJFR0lTVEVSRUQAAAAAC3VzZXJBbGxvd2VkAgAAAAdBTExPV0VEAQAAABdnZXRTdHJpbmdCeUtleUZyb21Vc2VycwAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAACHVzZXJEYXBwBQAAAANrZXkCAAAAAAEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkCAAAAAAEAAAAZZ2V0SW50ZWdlckJ5S2V5RnJvbU9yYWNsZQAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAJb3JhY2xlRmVlBQAAAANrZXkCAAAAH0ludGVnZXIgdW5kZWZpbmUgb3IgMCBpbiBvcmFjbGUBAAAAD2dldEludGVnZXJCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQAAAAAAAAAAAAEAAAAOY2hlY2tXaGl0ZWxpc3QAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAA13aGl0ZWxpc3REYXBwBQAAAANrZXkA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BQAAAAthcnR3b3JrTmFtZQUAAAAKYW1vdW50U29sZAUAAAAMYXJ0d29ya1ByaWNlBQAAAAxwcmljZUFzc2V0SWQFAAAACm1heENhblNlbGwFAAAACGlzT25TYWxlAQAAAApnZXRCaWREYXRhAAAACQAAAAFpAAAABmNhbGxlcgAAAAZpc3N1ZXIAAAAFYXJ0SWQAAAAIYmlkT3duZXIAAAAFYmlkSWQAAAAMcHJpY2VBc3NldElkAAAADGFydHdvcmtQcmljZQAAAAVpc0JpZAQAAAAJY2hlY2tVc2VyCQEAAAAMdmFsaWRhdGVVc2VyAAAAAQUAAAAGaXNzdWVyAwMFAAAABWlzQmlkCQEAAAACIT0AAAACBQAAAAljaGVja1VzZXICAAAAAAcJAAACAAAAAQUAAAAJY2hlY2tVc2VyBAAAAApiaWREYXRhS2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABGJpZF8FAAAABWFydElkAgAAAAFfBQAAAAZpc3N1ZXICAAAAAV8FAAAACGJpZE93bmVyAgAAAAFfBQAAAAViaWRJZAQAAAANJHQwMTM0OTQxMzYyMwMFAAAABWlzQmlkCQEAAAAWZ2V0UHJpY2VBc3NldElkRnJvbUJpZAAAAAEFAAAACmJpZERhdGFLZXkJAQAAABR2YWxpZGF0ZVByaWNlQXNzZXRJZAAAAAMFAAAAAWkFAAAADHByaWNlQXNzZXRJZAUAAAAMYXJ0d29ya1ByaWNlBAAAAAZhbW91bnQIBQAAAA0kdDAxMzQ5NDEzNjIzAAAAAl8xBAAAAAdhc3NldElkCAUAAAANJHQwMTM0OTQxMzYyMwAAAAJfMgkABRUAAAADBQAAAApiaWREYXRhS2V5BQAAAAZhbW91bnQFAAAAB2Fzc2V0SWQBAAAAEWdldENvbW1pc3Npb25EYXRhAAAABQAAAAZpc3N1ZXIAAAAHYXNzZXRJZAAAAAZhbW91bnQAAAAKYW1vdW50U29sZAAAAAptYXhDYW5TZWxsBAAAAA1pc1doaXRlbGlzdGVkCQEAAAAOY2hlY2tXaGl0ZWxpc3QAAAABBQAAAAZpc3N1ZXIEAAAAA2N1dAMJAABmAAAAAgUAAAANaXNXaGl0ZWxpc3Rl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DSR0MDE1NDkxMTU1NDEJAQAAAAxpZENhbGxlckRhdGUAAAABBQAAAAFpBAAAAAJpZAgFAAAADSR0MDE1NDkxMTU1NDEAAAACXzEEAAAABmNhbGxlcggFAAAADSR0MDE1NDkxMTU1NDEAAAACXzIEAAAABGRhdGUIBQAAAA0kdDAxNTQ5MTE1NTQxAAAAAl8zBAAAAAVpc0JpZAkBAAAACmlzQmlkQ2hlY2sAAAAEBQAAAAFpBQAAAAZpc3N1ZXIFAAAACGJpZE93bmVyBQAAAAViaWRJZAQAAAANJHQwMTU2MjExNTc3MgkBAAAACmdldEFydERhdGEAAAAEBQAAAAFpBQAAAAZpc3N1ZXIFAAAABWFydElkBQAAAAVpc0JpZAQAAAAIdG90YWxORlQIBQAAAA0kdDAxNTYyMTE1NzcyAAAAAl8xBAAAAAZzaWduSUQIBQAAAA0kdDAxNTYyMTE1NzcyAAAAAl8yBAAAAAthcnR3b3JrTmFtZQgFAAAADSR0MDE1NjIxMTU3NzIAAAACXzMEAAAACmFtb3VudFNvbGQIBQAAAA0kdDAxNTYyMTE1NzcyAAAAAl80BAAAAAxhcnR3b3JrUHJpY2UIBQAAAA0kdDAxNTYyMTE1NzcyAAAAAl81BAAAAAxwcmljZUFzc2V0SWQIBQAAAA0kdDAxNTYyMTE1NzcyAAAAAl82BAAAAAptYXhDYW5TZWxsCAUAAAANJHQwMTU2MjExNTc3MgAAAAJfNwQAAAAIaXNPblNhbGUIBQAAAA0kdDAxNTYyMTE1NzcyAAAAAl84BAAAAA0kdDAxNTc3NzE1OTIzCQEAAAAKZ2V0QmlkRGF0YQAAAAkFAAAAAWkFAAAABmNhbGxlcgUAAAAGaXNzdWVyBQAAAAVhcnRJZAUAAAAIYmlkT3duZXIFAAAABWJpZElkBQAAAAxwcmljZUFzc2V0SWQFAAAADGFydHdvcmtQcmljZQUAAAAFaXNCaWQEAAAACmJpZERhdGFLZXkIBQAAAA0kdDAxNTc3NzE1OTIzAAAAAl8xBAAAAAZhbW91bnQIBQAAAA0kdDAxNTc3NzE1OTIzAAAAAl8yBAAAAAdhc3NldElkCAUAAAANJHQwMTU3NzcxNTkyMwAAAAJfMwQAAAANJHQwMTU5MjgxNjA3MAkBAAAAEWdldENvbW1pc3Npb25EYXRhAAAABQUAAAAGaXNzdWVyBQAAAAdhc3NldElkBQAAAAZhbW91bnQFAAAACmFtb3VudFNvbGQFAAAACm1heENhblNlbGwEAAAADWFtb3VudEZvclNpZ24IBQAAAA0kdDAxNTkyODE2MDcwAAAAAl8xBAAAABBhbW91bnRGb3JDcmVhdG9yCAUAAAANJHQwMTU5MjgxNjA3MAAAAAJfMgQAAAANbmV3QW1vdW50U29sZAgFAAAADSR0MDE1OTI4MTYwNzAAAAACXzMEAAAADSR0MDE2MDc1MTYyNjUJAQAAAAxnZXRJc3N1ZURhdGEAAAAMBQAAAAZpc3N1ZXIFAAAABWFydElkBQAAAAZzaWduSUQFAAAAC2FydHdvcmtOYW1lBQAAAA1uZXdBbW91bnRTb2xkBQAAAAptYXhDYW5TZWxsBQAAAAh0b3RhbE5GVAUAAAAGY2FsbGVyBQAAAAhiaWRPd25lcgUAAAAFYmlkSWQFAAAAAWkFAAAACGlzT25TYWxlBAAAAAhpc3N1ZU5GVAgFAAAADSR0MDE2MDc1MTYyNjUAAAACXzEEAAAABWlkTkZUCAUAAAANJHQwMTYwNzUxNjI2NQAAAAJfMgQAAAAKc2VsbFN0YXR1cwgFAAAADSR0MDE2MDc1MTYyNjUAAAACXzMEAAAACnJlY2VpdmVORlQIBQAAAA0kdDAxNjA3NTE2MjY1AAAAAl80BAAAAA0kdDAxNjI3MDE2MzY5CQEAAAAMZ2V0QmlkS2V5VmFsAAAAAwUAAAAHYXNzZXRJZAUAAAAKYmlkRGF0YUtleQUAAAAEZGF0ZQQAAAAKYXNzZXRJZEJpZAgFAAAADSR0MDE2MjcwMTYzNjkAAAACXzEEAAAACWJpZERlbE9sZAgFAAAADSR0MDE2MjcwMTYzNjkAAAACXzIEAAAACWJpZFVwZGF0ZQgFAAAADSR0MDE2MjcwMTYzNjkAAAACXzMEAAAAB3NvbGRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJYXJ0X3NvbGRfCQABpAAAAAEFAAAADW5ld0Ftb3VudFNvbGQCAAAABF9vZl8JAAGkAAAAAQUAAAAKbWF4Q2FuU2VsbAIAAAABXwUAAAAFYXJ0SWQCAAAAAV8FAAAABmlzc3VlcgQAAAAJc29sZFZhbHVlAwkBAAAAASEAAAABBQAAAAVpc0JpZAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZjYWxsZXICAAAAAV8JAAGkAAAAAQUAAAAEZGF0ZQIAAAABXwUAAAACaWQCAAAAAV8JAAGkAAAAAQUAAAAMYXJ0d29ya1ByaWNlAgAAAAFfBQAAAAxwcmljZUFzc2V0SWQCAAAAAV8JAAJYAAAAAQUAAAAFaWRORlQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkABCUAAAABBQAAAApyZWNlaXZlTkZUAgAAAAFfCQABpAAAAAEFAAAABGRhdGUCAAAAAV8FAAAAAmlkAgAAAAFfCQABpAAAAAEFAAAABmFtb3VudAIAAAABXwUAAAAKYXNzZXRJZEJpZAIAAAABXwkAAlgAAAABBQAAAAVpZE5GVAQAAAAIc29sZERhdGEJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAB3NvbGRLZXkFAAAACXNvbGRWYWx1ZQQAAAAGYnV5UmVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAJa2V5SXNzdWVkAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAUAAAANbmV3QW1vdW50U29sZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAABG5mdF8JAAJYAAAAAQUAAAAFaWRORlQFAAAAB3NvbGRLZXkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEHRvdGFsX25mdF9pc3N1ZWQJAABkAAAAAgUAAAAIdG90YWxORlQAAAAAAAAAAAEJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAQAAAAlrZXlPblNhbGUAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBQAAAApzZWxsU3RhdHVzCQAETAAAAAIFAAAACGlzc3VlTkZUCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAZpc3N1ZXIFAAAAEGFtb3VudEZvckNyZWF0b3IFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAC2ZlZVJlY2VpdmVyBQAAAA1hbW91bnRGb3JTaWduBQAAAAdhc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAACnJlY2VpdmVORlQAAAAAAAAAAAEFAAAABWlkTkZUBQAAAANuaWwDBQAAAAVpc0JpZAkABEwAAAACBQAAAAhzb2xkRGF0YQkABEwAAAACBQAAAAliaWRVcGRhdGUJAARMAAAAAgUAAAAJYmlkRGVsT2xkBQAAAAZidXlSZXMJAARMAAAAAgUAAAAIc29sZERhdGEFAAAABmJ1eVJlcwAAAAoAAAABaQEAAAAKYWRkQXJ0d29yawAAAAsAAAAKc2hhMjU2SGFzaAAAAAZzaWduSUQAAAAEbmFtZQAAAAtkZXNjcmlwdGlvbgAAAAR0YWdzAAAABHR5cGUAAAAKY2lkRGlzcGxheQAAAAxzaGEyNTZFeHBvcnQAAAAJY2lkRXhwb3J0AAAADXNoYTI1NkxpY2VuY2UAAAAKY2lkTGljZW5jZQQAAAANJHQwMTc3MTUxNzc1NgkBAAAADGlkQ2FsbGVyRGF0ZQAAAAEFAAAAAWkEAAAABWFydElkCAUAAAANJHQwMTc3MTUxNzc1NgAAAAJfMQQAAAAGY2FsbGVyCAUAAAANJHQwMTc3MTUxNzc1NgAAAAJfMgQAAAAEZGF0ZQgFAAAADSR0MDE3NzE1MTc3NTYAAAACXzMDCQEAAAABIQAAAAEJAQAAAAx2YWxpZGF0ZUhhc2gAAAABBQAAAApzaGEyNTZIYXNoCQAAAgAAAAECAAAAJEhhc2ggc2hvdWxkIGJlIDY0IGNoYXJhY3RlcnMgbWF4aW11bQQAAAANJHQwMTc4NTcxNzkyNgkBAAAACnNldExJY2VuY2UAAAACBQAAAApjaWRMaWNlbmNlBQAAAA1zaGEyNTZMaWNlbmNlBAAAAApsaWNlbmNlQ0lECAUAAAANJHQwMTc4NTcxNzkyNgAAAAJfMQQAAAALbGljZW5jZUhhc2gIBQAAAA0kdDAxNzg1NzE3OTI2AAAAAl8yBAAAAA92YWxpZGF0ZUFydHdvcmsJAQAAABN2YWxpZGF0ZUFydHdvcmtEYXRhAAAACQUAAAAGY2FsbGVyBQAAAApjaWREaXNwbGF5BQAAAAljaWRFeHBvcnQFAAAACmxpY2VuY2VDSUQFAAAADHNoYTI1NkV4cG9ydAUAAAALbGljZW5jZUhhc2gFAAAABG5hbWUFAAAAC2Rlc2NyaXB0aW9uBQAAAAR0YWdzAwkBAAAAAiE9AAAAAgUAAAAPdmFsaWRhdGVBcnR3b3JrAgAAAAAJAAACAAAAAQIAAAAVU29tZXRoaW5nIHdlbnQgd3JvbmchBAAAAA0kdDAxODE0NTE4MTg3CQEAAAAPdmFsaWRhdGVQYXltZW50AAAAAQUAAAABaQQAAAAGYW1vdW50CAUAAAANJHQwMTgxNDUxODE4NwAAAAJfMQQAAAAHYXNzZXRJZAgFAAAADSR0MDE4MTQ1MTgxODcAAAACXzIDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAAZhbW91bnQJAAACAAAAAQIAAAAUU29tZXRoaW5nIHdlbnQgd3JvbmcEAAAACmVudHJ5RXhpc3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABJrZXlUeGlkQnlIYXNoT3duZXIAAAACBQAAAApzaGEyNTZIYXNoBQAAAAZjYWxsZXIDCQEAAAACIT0AAAACBQAAAAplbnRyeUV4aXN0AgAAAAAJAAACAAAAAQIAAAAUWW91IGFscmVhZHkgYWRkZWQgaXQEAAAACWhhc2hFeGlzdAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADmtleU93bmVyQnlIYXNoAAAAAQUAAAAKc2hhMjU2SGFzaAMJAQAAAAIhPQAAAAIFAAAACWhhc2hFeGlzdAIAAAAACQAAAgAAAAECAAAAF0hhc2ggYWxyZWFkeSByZWdpc3RlcmVkBAAAAA9pc1NpZ25DZXJ0aWZpZWQJAQAAABRjaGVja1NpZ25DZXJ0aWZpY2F0ZQAAAAMFAAAABnNpZ25JRAUAAAAGY2FsbGVyBQAAAApzaGEyNTZIYXNoAwkBAAAAASEAAAABBQAAAA9pc1NpZ25DZXJ0aWZpZWQJAAACAAAAAQIAAAAsU2lnbiBDZXJ0aWZpY2F0ZSBub3QgZm91bmQgZm9yIHRoaXMgYWRkcmVzcy4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmtleU93bmVyQnlIYXNoAAAAAQUAAAAKc2hhMjU2SGFzaAUAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlUeGlkQnlIYXNoT3duZXIAAAACBQAAAApzaGEyNTZIYXNoBQAAAAZjYWxsZXIFAAAABWFydElkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAHa2V5RGF0ZQAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAABGRhdGUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAB2tleU5hbWUAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAARuYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdrZXlEZXNjAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAALZGVzY3JpcHRpb24JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleURpc3BsYXlDaWQAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAApjaWREaXNwbGF5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxrZXlFeHBvcnRDaWQAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAAljaWRFeHBvcnQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleUV4cG9ydEhhc2gAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAAxzaGEyNTZFeHBvcnQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmtleUxpY2VuY2VIYXNoAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAALbGljZW5jZUhhc2gJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleUxpY2VuY2VDaWQAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAApsaWNlbmNlQ0lECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdrZXlUeXBlAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAEdHlwZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAHa2V5VGFncwAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAABHRhZ3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAprZXlNYXhNaW50AAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAAAAAAAAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAJa2V5U2lnbklEAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAGc2lnbklECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAJa2V5SXNzdWVkAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAAAAAAAAAAAAAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkBAAAACWtleU9uU2FsZQAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlpZEJ5U2lnbmlkAAAAAgUAAAAGY2FsbGVyBQAAAAZzaWduSUQFAAAABWFydElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFrZXlIYXNoQnlUeGlkQWRkcgAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAACnNoYTI1Nkhhc2gJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAC2ZlZVJlY2VpdmVyBQAAAAZhbW91bnQFAAAAB2Fzc2V0SWQFAAAAA25pbAAAAAFpAQAAAA11cGRhdGVBcnR3b3JrAAAACgAAAAR0eGlkAAAABG5hbWUAAAALZGVzY3JpcHRpb24AAAAEdGFncwAAAAR0eXBlAAAACmNpZERpc3BsYXkAAAAMc2hhMjU2RXhwb3J0AAAACWNpZEV4cG9ydAAAAA1zaGEyNTZMaWNlbmNlAAAACmNpZExpY2VuY2UDCQEAAAABIQAAAAEFAAAAC2RhcHBSdW5uaW5nCQAAAgAAAAEFAAAADm1haW50ZW5hbmNlTVNHBAAAAAZjYWxsZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANJHQwMjA4MjcyMDg5NgkBAAAACnNldExJY2VuY2UAAAACBQAAAApjaWRMaWNlbmNlBQAAAA1zaGEyNTZMaWNlbmNlBAAAAApsaWNlbmNlQ0lECAUAAAANJHQwMjA4MjcyMDg5NgAAAAJfMQQAAAALbGljZW5jZUhhc2gIBQAAAA0kdDAyMDgyNzIwODk2AAAAAl8yBAAAAA92YWxpZGF0ZUFydHdvcmsJAQAAABN2YWxpZGF0ZUFydHdvcmtEYXRhAAAACQUAAAAGY2FsbGVyBQAAAApjaWREaXNwbGF5BQAAAAljaWRFeHBvcnQFAAAACmxpY2VuY2VDSUQFAAAADHNoYTI1NkV4cG9ydAUAAAALbGljZW5jZUhhc2gFAAAABG5hbWUFAAAAC2Rlc2NyaXB0aW9uBQAAAAR0YWdzAwkBAAAAAiE9AAAAAgUAAAAPdmFsaWRhdGVBcnR3b3JrAgAAAAAJAAACAAAAAQIAAAAVU29tZXRoaW5nIHdlbnQgd3JvbmchBAAAAAplbnRyeUV4aXN0CQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAHa2V5TmFtZQAAAAIFAAAABmNhbGxlcgUAAAAEdHhpZAMJAAAAAAAAAgUAAAAKZW50cnlFeGlzdAIAAAAACQAAAgAAAAECAAAAD0VudHJ5IG5vdCBmb3VuZAQAAAAEZmxhZwkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAB2tleUZsYWcAAAACBQAAAAZjYWxsZXIFAAAABHR4aWQDCQAAAAAAAAIFAAAABGZsYWcCAAAAB0lMTEVHQUwJAAACAAAAAQIAAAAdQ2Fubm90IHVwZGF0ZSBJTExFR0FMIGFydHdvcmsDCQEAAAABIQAAAAEJAQAAAAtpc0FydE1pbnRlZAAAAAIFAAAABmNhbGxlcgUAAAAEdHhpZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAHa2V5TmFtZQAAAAIFAAAABmNhbGxlcgUAAAAEdHhpZAUAAAAE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", "height": 1446914, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ANcG6n6bAdRAWtxttR7tUhyRLGxhVxsLcJUmVBruYbxb Next: 96ryTQ78jqc7ZZrWrAKmtLgeUyWoeAheV52ma5396ndL Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = false
4+let a = true
55
66 let b = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
77
362362
363363
364364 func bn (aI,bk,Q,bo) = {
365- let bp = z("total_nft_issued")
365+ let bp = (toBase58String(aI.caller.bytes) == bk)
366+ let bq = z("total_nft_issued")
366367 let E = x(X(bk, Q))
367- let bq = x(R(bk, Q))
368- if ((bq == ""))
368+ let br = x(R(bk, Q))
369+ if ((br == ""))
369370 then throw("Art doesn't exist")
370371 else {
371- let br = B(Z(bk, Q))
372- let bs = z(Y(bk, Q))
373- let aT = z(ae(bk, Q))
374- let aS = x(af(bk, Q))
375- let bt = z(W(bk, Q))
376- if (if (!(bo))
372+ let bs = B(Z(bk, Q))
373+ let bt = z(Y(bk, Q))
374+ let aT = if (bp)
375+ then (C * 2)
376+ else z(ae(bk, Q))
377+ let aS = if (bp)
378+ then toBase58String(g)
379+ else x(af(bk, Q))
380+ let bu = z(W(bk, Q))
381+ if (if (if (!(bo))
382+ then !(bp)
383+ else false)
377384 then if (if ((0 >= aT))
378385 then true
379- else !(br))
386+ else !(bs))
380387 then true
381- else (0 >= bt)
388+ else (0 >= bu)
382389 else false)
383390 then throw("Art not for sale")
384- else if (if (bo)
385- then (0 >= bt)
391+ else if (if (if (!(bo))
392+ then bp
386393 else false)
387- then throw("Art not open for Offer")
388- else $Tuple8(bp, E, bq, bs, aT, aS, bt, br)
394+ then (0 >= bu)
395+ else false)
396+ then throw("Max issuable not set")
397+ else $Tuple8(bq, E, br, bt, aT, aS, bu, bs)
389398 }
390399 }
391400
392401
393-func bu (aI,O,bk,Q,bl,bm,aS,aT,bo) = {
402+func bv (aI,O,bk,Q,bl,bm,aS,aT,bo) = {
394403 let aG = ax(bk)
395404 if (if (bo)
396405 then (aG != "")
398407 then throw(aG)
399408 else {
400409 let bd = ((((((("bid_" + Q) + "_") + bk) + "_") + bl) + "_") + bm)
401- let bv = if (bo)
410+ let bw = if (bo)
402411 then bc(bd)
403412 else aR(aI, aS, aT)
404- let aK = bv._1
405- let aN = bv._2
413+ let aK = bw._1
414+ let aN = bw._2
406415 $Tuple3(bd, aK, aN)
407416 }
408417 }
409418
410419
411-func bw (bk,aN,aK,bs,bt) = {
412- let bx = A(bk)
413- let by = if ((bx > height))
420+func bx (bk,aN,aK,bt,bu) = {
421+ let by = A(bk)
422+ let bz = if ((by > height))
414423 then 0
415424 else if ((aN == g))
416425 then l
417426 else m
418- let bz = fraction(aK, by, 100)
419- let bA = (aK - bz)
420- if ((bs == bt))
427+ let bA = fraction(aK, bz, 100)
428+ let bB = (aK - bA)
429+ if ((bt == bu))
421430 then throw("Art sold out")
422431 else {
423- let bB = (bs + 1)
424- $Tuple3(bz, bA, bB)
432+ let bC = (bt + 1)
433+ $Tuple3(bA, bB, bC)
425434 }
426435 }
427436
428437
429-func bC (bk,Q,E,bq,bB,bt,bp,O,bl,bm,aI,br) = {
430- let bD = ((((((((((("Creator: " + bk) + ",
438+func bD (bk,Q,E,br,bC,bu,bq,O,bl,bm,aI,bs) = {
439+ let bE = ((((((((((("Creator: " + bk) + ",
431440 ArtID: ") + Q) + ",
432441 SignID: ") + E) + ",
433- Artwork name: ") + bq) + ",
434- Issue: ") + toString(bB)) + "/") + toString(bt))
435- let bE = Issue(("SA_" + toString((bp + 1))), bD, 1, 0, false)
436- let bF = calculateAssetId(bE)
437- let bG = if (if ((bB == bt))
442+ Artwork name: ") + br) + ",
443+ Issue: ") + toString(bC)) + "/") + toString(bu))
444+ let bF = Issue(("SA_" + toString((bq + 1))), bE, 1, 0, false)
445+ let bG = calculateAssetId(bF)
446+ let bH = if (if ((bC == bu))
438447 then true
439- else !(br))
448+ else !(bs))
440449 then false
441450 else true
442- let bH = if (if (if ((O == bk))
451+ let bI = if (if (if ((O == bk))
443452 then (bl != "")
444453 else false)
445454 then (bm != "")
446455 else false)
447456 then addressFromStringValue(bl)
448457 else aI.caller
449- $Tuple4(bE, bF, bG, bH)
458+ $Tuple4(bF, bG, bH, bI)
450459 }
451460
452461
453-func bI (aN,bd,bJ) = {
454- let bK = if (!(isDefined(aN)))
462+func bJ (aN,bd,bK) = {
463+ let bL = if (!(isDefined(aN)))
455464 then "WAVES"
456465 else toBase58String(value(aN))
457466 let be = x((bd + "_OPEN"))
458- let bL = DeleteEntry((bd + "_OPEN"))
459- let bM = StringEntry((bd + "_CLOSED"), ((be + "_") + toString(bJ)))
460- $Tuple3(bK, bL, bM)
467+ let bM = DeleteEntry((bd + "_OPEN"))
468+ let bN = StringEntry((bd + "_CLOSED"), ((be + "_") + toString(bK)))
469+ $Tuple3(bL, bM, bN)
461470 }
462471
463472
464-func bN (aI,Q,bk,bm,bl) = {
465- let bO = bi(aI)
466- let bP = bO._1
467- let O = bO._2
468- let bJ = bO._3
473+func bO (aI,Q,bk,bm,bl) = {
474+ let bP = bi(aI)
475+ let bQ = bP._1
476+ let O = bP._2
477+ let bK = bP._3
469478 let bo = bj(aI, bk, bl, bm)
470- let bQ = bn(aI, bk, Q, bo)
471- let bp = bQ._1
472- let E = bQ._2
473- let bq = bQ._3
474- let bs = bQ._4
475- let aT = bQ._5
476- let aS = bQ._6
477- let bt = bQ._7
478- let br = bQ._8
479- let bR = bu(aI, O, bk, Q, bl, bm, aS, aT, bo)
480- let bd = bR._1
481- let aK = bR._2
482- let aN = bR._3
483- let bS = bw(bk, aN, aK, bs, bt)
484- let bz = bS._1
485- let bA = bS._2
486- let bB = bS._3
487- let bT = bC(bk, Q, E, bq, bB, bt, bp, O, bl, bm, aI, br)
488- let bE = bT._1
489- let bF = bT._2
490- let bG = bT._3
491- let bH = bT._4
492- let bU = bI(aN, bd, bJ)
493- let bK = bU._1
494- let bL = bU._2
495- let bM = bU._3
496- let bV = ((((((("art_sold_" + toString(bB)) + "_of_") + toString(bt)) + "_") + Q) + "_") + bk)
497- let bW = if (!(bo))
498- then ((((((((((O + "_") + toString(bJ)) + "_") + bP) + "_") + toString(aT)) + "_") + aS) + "_") + toBase58String(bF))
499- else ((((((((((toString(bH) + "_") + toString(bJ)) + "_") + bP) + "_") + toString(aK)) + "_") + bK) + "_") + toBase58String(bF))
500- let bX = StringEntry(bV, bW)
501- let bY = [IntegerEntry(Y(bk, Q), bB), StringEntry(("nft_" + toBase58String(bF)), bV), IntegerEntry("total_nft_issued", (bp + 1)), BooleanEntry(Z(bk, Q), bG), bE, ScriptTransfer(Address(fromBase58String(bk)), bA, aN), ScriptTransfer(Address(fromBase58String(d)), bz, aN), ScriptTransfer(bH, 1, bF)]
479+ let bR = bn(aI, bk, Q, bo)
480+ let bq = bR._1
481+ let E = bR._2
482+ let br = bR._3
483+ let bt = bR._4
484+ let aT = bR._5
485+ let aS = bR._6
486+ let bu = bR._7
487+ let bs = bR._8
488+ let bS = bv(aI, O, bk, Q, bl, bm, aS, aT, bo)
489+ let bd = bS._1
490+ let aK = bS._2
491+ let aN = bS._3
492+ let bT = bx(bk, aN, aK, bt, bu)
493+ let bA = bT._1
494+ let bB = bT._2
495+ let bC = bT._3
496+ let bU = bD(bk, Q, E, br, bC, bu, bq, O, bl, bm, aI, bs)
497+ let bF = bU._1
498+ let bG = bU._2
499+ let bH = bU._3
500+ let bI = bU._4
501+ let bV = bJ(aN, bd, bK)
502+ let bL = bV._1
503+ let bM = bV._2
504+ let bN = bV._3
505+ let bW = ((((((("art_sold_" + toString(bC)) + "_of_") + toString(bu)) + "_") + Q) + "_") + bk)
506+ let bX = if (!(bo))
507+ then ((((((((((O + "_") + toString(bK)) + "_") + bQ) + "_") + toString(aT)) + "_") + aS) + "_") + toBase58String(bG))
508+ else ((((((((((toString(bI) + "_") + toString(bK)) + "_") + bQ) + "_") + toString(aK)) + "_") + bL) + "_") + toBase58String(bG))
509+ let bY = StringEntry(bW, bX)
510+ let bZ = [IntegerEntry(Y(bk, Q), bC), StringEntry(("nft_" + toBase58String(bG)), bW), IntegerEntry("total_nft_issued", (bq + 1)), BooleanEntry(Z(bk, Q), bH), bF, ScriptTransfer(Address(fromBase58String(bk)), bB, aN), ScriptTransfer(Address(fromBase58String(d)), bA, aN), ScriptTransfer(bI, 1, bG)]
502511 if (bo)
503- then [bX, bM, bL] :: bY
504- else bX :: bY
512+ then [bY, bN, bM] :: bZ
513+ else bY :: bZ
505514 }
506515
507516
508517 @Callable(aI)
509-func addArtwork (G,E,aD,aE,aF,bZ,ao,as,ap,at,aq) = {
510- let ca = bi(aI)
511- let Q = ca._1
512- let O = ca._2
513- let bJ = ca._3
518+func addArtwork (G,E,aD,aE,aF,ca,ao,as,ap,at,aq) = {
519+ let cb = bi(aI)
520+ let Q = cb._1
521+ let O = cb._2
522+ let bK = cb._3
514523 if (!(L(G)))
515524 then throw("Hash should be 64 characters maximum")
516525 else {
517- let cb = az(aq, at)
518- let aB = cb._1
519- let aC = cb._2
520- let cc = aA(O, ao, ap, aB, as, aC, aD, aE, aF)
521- if ((cc != ""))
526+ let cc = az(aq, at)
527+ let aB = cc._1
528+ let aC = cc._2
529+ let cd = aA(O, ao, ap, aB, as, aC, aD, aE, aF)
530+ if ((cd != ""))
522531 then throw("Something went wrong!")
523532 else {
524- let cd = aL(aI)
525- let aK = cd._1
526- let aN = cd._2
533+ let ce = aL(aI)
534+ let aK = ce._1
535+ let aN = ce._2
527536 if (!(isDefined(aK)))
528537 then throw("Something went wrong")
529538 else {
530- let ce = x(am(G, O))
531- if ((ce != ""))
539+ let cf = x(am(G, O))
540+ if ((cf != ""))
532541 then throw("You already added it")
533542 else {
534- let cf = x(aj(G))
535- if ((cf != ""))
543+ let cg = x(aj(G))
544+ if ((cg != ""))
536545 then throw("Hash already registered")
537546 else {
538- let cg = D(E, O, G)
539- if (!(cg))
547+ let ch = D(E, O, G)
548+ if (!(ch))
540549 then throw("Sign Certificate not found for this address.")
541- else [StringEntry(aj(G), O), StringEntry(am(G, O), Q), IntegerEntry(P(O, Q), bJ), StringEntry(R(O, Q), aD), StringEntry(S(O, Q), aE), StringEntry(T(O, Q), ao), StringEntry(V(O, Q), ap), StringEntry(U(O, Q), as), StringEntry(aa(O, Q), aC), StringEntry(ab(O, Q), aB), StringEntry(ad(O, Q), bZ), StringEntry(ac(O, Q), aF), IntegerEntry(W(O, Q), 0), StringEntry(X(O, Q), E), IntegerEntry(Y(O, Q), 0), BooleanEntry(Z(O, Q), false), StringEntry(ak(O, E), Q), StringEntry(ah(O, Q), G), ScriptTransfer(Address(fromBase58String(d)), aK, aN)]
550+ else [StringEntry(aj(G), O), StringEntry(am(G, O), Q), IntegerEntry(P(O, Q), bK), StringEntry(R(O, Q), aD), StringEntry(S(O, Q), aE), StringEntry(T(O, Q), ao), StringEntry(V(O, Q), ap), StringEntry(U(O, Q), as), StringEntry(aa(O, Q), aC), StringEntry(ab(O, Q), aB), StringEntry(ad(O, Q), ca), StringEntry(ac(O, Q), aF), IntegerEntry(W(O, Q), 0), StringEntry(X(O, Q), E), IntegerEntry(Y(O, Q), 0), BooleanEntry(Z(O, Q), false), StringEntry(ak(O, E), Q), StringEntry(ah(O, Q), G), ScriptTransfer(Address(fromBase58String(d)), aK, aN)]
542551 }
543552 }
544553 }
549558
550559
551560 @Callable(aI)
552-func updateArtwork (ai,aD,aE,aF,bZ,ao,as,ap,at,aq) = if (!(p))
561+func updateArtwork (ai,aD,aE,aF,ca,ao,as,ap,at,aq) = if (!(p))
553562 then throw(q)
554563 else {
555564 let O = toBase58String(aI.caller.bytes)
556- let ch = az(aq, at)
557- let aB = ch._1
558- let aC = ch._2
559- let cc = aA(O, ao, ap, aB, as, aC, aD, aE, aF)
560- if ((cc != ""))
565+ let ci = az(aq, at)
566+ let aB = ci._1
567+ let aC = ci._2
568+ let cd = aA(O, ao, ap, aB, as, aC, aD, aE, aF)
569+ if ((cd != ""))
561570 then throw("Something went wrong!")
562571 else {
563- let ce = x(R(O, ai))
564- if ((ce == ""))
572+ let cf = x(R(O, ai))
573+ if ((cf == ""))
565574 then throw("Entry not found")
566575 else {
567- let ci = x(ag(O, ai))
568- if ((ci == "ILLEGAL"))
576+ let cj = x(ag(O, ai))
577+ if ((cj == "ILLEGAL"))
569578 then throw("Cannot update ILLEGAL artwork")
570579 else if (!(aO(O, ai)))
571- then [StringEntry(R(O, ai), aD), StringEntry(S(O, ai), aE), StringEntry(T(O, ai), ao), StringEntry(V(O, ai), ap), StringEntry(U(O, ai), as), StringEntry(ab(O, ai), aB), StringEntry(aa(O, ai), aC), StringEntry(ac(O, ai), aF), StringEntry(ad(O, ai), bZ)]
580+ then [StringEntry(R(O, ai), aD), StringEntry(S(O, ai), aE), StringEntry(T(O, ai), ao), StringEntry(V(O, ai), ap), StringEntry(U(O, ai), as), StringEntry(ab(O, ai), aB), StringEntry(aa(O, ai), aC), StringEntry(ac(O, ai), aF), StringEntry(ad(O, ai), ca)]
572581 else throw("Already minted")
573582 }
574583 }
577586
578587
579588 @Callable(aI)
580-func flagArtwork (Q,cj,ci) = {
581- let ck = bi(aI)
582- let bP = ck._1
583- let O = ck._2
589+func flagArtwork (Q,ck,cj) = {
590+ let cl = bi(aI)
591+ let bQ = cl._1
592+ let O = cl._2
584593 if (containsElement([j, k, toString(this)], O))
585- then if ((ci == "CONSENT"))
586- then [StringEntry(ag(cj, Q), ci)]
587- else if ((ci == ""))
588- then [StringEntry(ag(cj, Q), ci)]
589- else if ((ci == "CHANGE_REQUIRED"))
590- then [StringEntry(ag(cj, Q), ci)]
591- else if (if ((ci == "ILLEGAL"))
594+ then if ((cj == "CONSENT"))
595+ then [StringEntry(ag(ck, Q), cj)]
596+ else if ((cj == ""))
597+ then [StringEntry(ag(ck, Q), cj)]
598+ else if ((cj == "CHANGE_REQUIRED"))
599+ then [StringEntry(ag(ck, Q), cj)]
600+ else if (if ((cj == "ILLEGAL"))
592601 then containsElement([j, toString(this)], O)
593602 else false)
594- then [StringEntry(ag(cj, Q), ci), StringEntry(R(cj, Q), "ILLEGAL CONTENT"), StringEntry(S(cj, Q), "ILLEGAL CONTENT"), StringEntry(T(cj, Q), ""), StringEntry(V(cj, Q), ""), StringEntry(ab(cj, Q), "")]
595- else throw(("Unknow status " + ci))
603+ then [StringEntry(ag(ck, Q), cj), StringEntry(R(ck, Q), "ILLEGAL CONTENT"), StringEntry(S(ck, Q), "ILLEGAL CONTENT"), StringEntry(T(ck, Q), ""), StringEntry(V(ck, Q), ""), StringEntry(ab(ck, Q), "")]
604+ else throw(("Unknow status " + cj))
596605 else throw("You are not allowed")
597606 }
598607
599608
600609
601610 @Callable(aI)
602-func deleteArtwork (Q,cj) = {
603- let cl = bi(aI)
604- let bP = cl._1
605- let O = cl._2
611+func deleteArtwork (Q,ck) = {
612+ let cm = bi(aI)
613+ let bQ = cm._1
614+ let O = cm._2
606615 let aP = if (containsElement([j, k, toString(this)], O))
607- then cj
616+ then ck
608617 else O
609- let ce = valueOrErrorMessage(x(R(aP, Q)), "No art matching for this address")
610- if ((ce == ""))
618+ let cf = valueOrErrorMessage(x(R(aP, Q)), "No art matching for this address")
619+ if ((cf == ""))
611620 then throw("No art matching for this address")
612621 else {
613622 let G = x(ah(aP, Q))
618627 if ((E == ""))
619628 then throw("No SIGN ID matching")
620629 else {
621- let cm = [DeleteEntry(P(aP, Q)), DeleteEntry(R(aP, Q)), DeleteEntry(S(aP, Q)), DeleteEntry(T(aP, Q)), DeleteEntry(V(aP, Q)), DeleteEntry(U(aP, Q)), DeleteEntry(aa(aP, Q)), DeleteEntry(ab(aP, Q)), DeleteEntry(ad(aP, Q)), DeleteEntry(ac(aP, Q)), DeleteEntry(W(aP, Q)), DeleteEntry(X(aP, Q)), DeleteEntry(Y(aP, Q)), DeleteEntry(Z(aP, Q)), DeleteEntry(ag(cj, Q)), DeleteEntry(ae(cj, Q)), DeleteEntry(af(cj, Q)), DeleteEntry(aj(G)), DeleteEntry(ak(aP, E)), DeleteEntry(am(G, aP))]
630+ let cn = [DeleteEntry(P(aP, Q)), DeleteEntry(R(aP, Q)), DeleteEntry(S(aP, Q)), DeleteEntry(T(aP, Q)), DeleteEntry(V(aP, Q)), DeleteEntry(U(aP, Q)), DeleteEntry(aa(aP, Q)), DeleteEntry(ab(aP, Q)), DeleteEntry(ad(aP, Q)), DeleteEntry(ac(aP, Q)), DeleteEntry(W(aP, Q)), DeleteEntry(X(aP, Q)), DeleteEntry(Y(aP, Q)), DeleteEntry(Z(aP, Q)), DeleteEntry(ag(ck, Q)), DeleteEntry(ae(ck, Q)), DeleteEntry(af(ck, Q)), DeleteEntry(aj(G)), DeleteEntry(ak(aP, E)), DeleteEntry(am(G, aP))]
622631 if (!(aO(aP, Q)))
623632 then if (!(p))
624633 then throw(q)
625- else cm
634+ else cn
626635 else if (containsElement([j, toString(this)], O))
627- then cm
636+ then cn
628637 else throw("Art already minted, you cannot delete it")
629638 }
630639 }
634643
635644
636645 @Callable(aI)
637-func sellArtwork (Q,aX,cn,aN) = {
638- let co = bi(aI)
639- let bP = co._1
640- let O = co._2
641- let bq = x(R(O, Q))
642- if ((bq == ""))
646+func sellArtwork (Q,aX,co,aN) = {
647+ let cp = bi(aI)
648+ let bQ = cp._1
649+ let O = cp._2
650+ let br = x(R(O, Q))
651+ if ((br == ""))
643652 then throw("This art doesn't match your account")
644653 else {
645- let cp = x(V(O, Q))
646- if ((size(split(cp, "/")[0]) != 59))
654+ let cq = x(V(O, Q))
655+ if ((size(split(cq, "/")[0]) != 59))
647656 then throw("You cannot sell art with no export file")
648657 else {
649- let cq = z(("current_bidamount_" + Q))
658+ let cr = z(("current_bidamount_" + Q))
650659 if (!(aV(aN)))
651660 then throw("Something went wrong!")
652661 else if (!(aW(aN, aX)))
656665 if ((aG != ""))
657666 then throw(aG)
658667 else {
659- let bs = z(Y(O, Q))
660- let bt = z(W(O, Q))
661- if ((cn > 10))
668+ let bt = z(Y(O, Q))
669+ let bu = z(W(O, Q))
670+ if ((co > 10))
662671 then throw("10 editions max per artwork")
663- else if (if ((bs != 0))
664- then (bs == bt)
672+ else if (if ((bt != 0))
673+ then (bt == bu)
665674 else false)
666675 then throw("Max edition reached.")
667- else if (if ((bs > 0))
668- then (bt != cn)
676+ else if (if ((bt > 0))
677+ then (bu != co)
669678 else false)
670679 then throw("Cannot change maximum issuable anymore")
671- else if (if ((cq > 0))
672- then (bt != cn)
680+ else if (if ((cr > 0))
681+ then (bu != co)
673682 else false)
674683 then throw("Cannot change maximum issuable with active orders")
675684 else {
676- let bG = if (if ((aX > 0))
677- then (cn > 0)
685+ let bH = if (if ((aX > 0))
686+ then (co > 0)
678687 else false)
679688 then true
680689 else false
681-[BooleanEntry(Z(O, Q), bG), IntegerEntry(ae(O, Q), aX), IntegerEntry(W(O, Q), cn), StringEntry(af(O, Q), aN)]
690+[BooleanEntry(Z(O, Q), bH), IntegerEntry(ae(O, Q), aX), IntegerEntry(W(O, Q), co), StringEntry(af(O, Q), aN)]
682691 }
683692 }
684693 }
689698
690699
691700 @Callable(aI)
692-func buyArtwork (Q,bk) = bN(aI, Q, bk, "", "")
701+func buyArtwork (Q,bk) = bO(aI, Q, bk, "", "")
693702
694703
695704
696705 @Callable(aI)
697706 func setBid (Q,bk) = {
698- let cr = bi(aI)
699- let bP = cr._1
700- let O = cr._2
701- let bJ = cr._3
702- let cs = aH(aI)
703- let aJ = cs._1
704- let aK = cs._2
707+ let cs = bi(aI)
708+ let bQ = cs._1
709+ let O = cs._2
710+ let bK = cs._3
711+ let ct = aH(aI)
712+ let aJ = ct._1
713+ let aK = ct._2
705714 let aN = if (!(isDefined(aJ.assetId)))
706715 then "WAVES"
707716 else toBase58String(value(aJ.assetId))
708- let cq = z(("current_bidamount_" + Q))
717+ let cr = z(("current_bidamount_" + Q))
709718 if (!(aV(aN)))
710719 then throw("asset not accepted")
711720 else if (!(aW(aN, aK)))
712721 then throw("Wrong min sell")
713722 else {
714- let bs = z(Y(bk, Q))
715- let bt = z(W(bk, Q))
716- if ((0 >= bt))
723+ let bt = z(Y(bk, Q))
724+ let bu = z(W(bk, Q))
725+ if ((0 >= bu))
717726 then throw("No max edition set for this artwork")
718- else if ((bs >= bt))
727+ else if ((bt >= bu))
719728 then throw("Sold out, you cannot bid")
720- else [StringEntry((((((((("bid_" + Q) + "_") + bk) + "_") + O) + "_") + bP) + "_OPEN"), ((((aN + "_") + toString(aK)) + "_") + toString(bJ))), IntegerEntry(("current_bidamount_" + Q), (cq + 1))]
729+ else [StringEntry((((((((("bid_" + Q) + "_") + bk) + "_") + O) + "_") + bQ) + "_OPEN"), ((((aN + "_") + toString(aK)) + "_") + toString(bK))), IntegerEntry(("current_bidamount_" + Q), (cr + 1))]
721730 }
722731 }
723732
728737 let O = toBase58String(aI.caller.bytes)
729738 if ((O != bk))
730739 then throw("You cannot do this action")
731- else bN(aI, Q, bk, bm, bl)
740+ else bO(aI, Q, bk, bm, bl)
732741 }
733742
734743
735744
736745 @Callable(aI)
737746 func cancelBid (Q,bk,bm) = {
738- let ct = bi(aI)
739- let bP = ct._1
740- let O = ct._2
741- let bJ = ct._3
742- let cq = z(("current_bidamount_" + Q))
747+ let cu = bi(aI)
748+ let bQ = cu._1
749+ let O = cu._2
750+ let bK = cu._3
751+ let cr = z(("current_bidamount_" + Q))
743752 let bd = ((((((("bid_" + Q) + "_") + bk) + "_") + O) + "_") + bm)
744753 let be = x((bd + "_OPEN"))
745754 if ((be == ""))
747756 else {
748757 let bf = split(be, "_")
749758 let aN = bb(bf[0])
750- let cu = "CANCELED"
751-[DeleteEntry((bd + "_OPEN")), StringEntry(((bd + "_") + cu), ((be + "_") + toString(bJ))), IntegerEntry(("current_bidamount_" + Q), (cq - 1)), ScriptTransfer(Address(fromBase58String(O)), parseIntValue(bf[1]), aN)]
759+ let cv = "CANCELED"
760+[DeleteEntry((bd + "_OPEN")), StringEntry(((bd + "_") + cv), ((be + "_") + toString(bK))), IntegerEntry(("current_bidamount_" + Q), (cr - 1)), ScriptTransfer(Address(fromBase58String(O)), parseIntValue(bf[1]), aN)]
752761 }
753762 }
754763
755764
756765
757766 @Callable(aI)
758-func deleteEntry (cv) = {
767+func deleteEntry (cw) = {
759768 let O = toString(addressFromPublicKey(aI.callerPublicKey))
760769 if ((O == j))
761- then [DeleteEntry(cv)]
770+ then [DeleteEntry(cw)]
762771 else throw("no")
763772 }
764773
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = false
4+let a = true
55
66 let b = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
77
88 let c = value(addressFromString("3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB"))
99
1010 let d = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
1111
1212 let e = if (a)
1313 then value(addressFromString("3Mt4RGMEyjSWYAocTPqd55wdHQQB3PU2UCm"))
1414 else value(addressFromString("3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj"))
1515
1616 let f = value(addressFromString("3N6BaV1dCB4zg43goNNHaCtvR13BcyJ5Gsq"))
1717
1818 let g = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
1919
2020 let h = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
2121
2222 let i = base58''
2323
2424 let j = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
2525
2626 let k = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
2727
2828 let l = 7
2929
3030 let m = 10
3131
3232 let n = "bafybeifuyo4pqu54ismqgtb6e4h6kkvgx7zg4u3zibh2r7y6mb64i7bzza/licence.pdf"
3333
3434 let o = "a87758c354e30a9e78fb84fa3a0010a5090ab20df0be11ad45b5720cc187e639"
3535
3636 let p = valueOrElse(getBoolean(e, "conf_dapp_is_running"), true)
3737
3838 let q = valueOrElse(getString(e, "conf_maintenance_msg"), "")
3939
4040 let r = "SUSPENDED"
4141
4242 let s = "REMOVED"
4343
4444 let t = "UNREGISTERED"
4545
4646 let u = "ALLOWED"
4747
4848 func v (w) = valueOrElse(getString(e, w), "")
4949
5050
5151 func x (w) = valueOrElse(getString(this, w), "")
5252
5353
5454 func y (w) = valueOrErrorMessage(getInteger(b, w), "Integer undefine or 0 in oracle")
5555
5656
5757 func z (w) = valueOrElse(getInteger(this, w), 0)
5858
5959
6060 func A (w) = valueOrElse(getInteger(f, w), 0)
6161
6262
6363 func B (w) = valueOrElse(getBoolean(this, w), false)
6464
6565
6666 let C = y(("certification_fee_" + toBase58String(g)))
6767
6868 func D (E,F,G) = {
6969 let H = getString(c, ((("data_fc_" + E) + "_") + F))
7070 if ($isInstanceOf(H, "String"))
7171 then {
7272 let I = H
7373 if (contains(I, G))
7474 then true
7575 else false
7676 }
7777 else false
7878 }
7979
8080
8181 func J (K) = if (contains(K, "/"))
8282 then if (if ((76 > size(K)))
8383 then (size(split(K, "/")[0]) == 59)
8484 else false)
8585 then (16 > size(split(K, "/")[1]))
8686 else false
8787 else false
8888
8989
9090 func L (M) = (size(M) == 64)
9191
9292
9393 func N (O) = ("user_status_" + O)
9494
9595
9696 func P (O,Q) = ((("art_date_" + Q) + "_") + O)
9797
9898
9999 func R (O,Q) = ((("art_name_" + Q) + "_") + O)
100100
101101
102102 func S (O,Q) = ((("art_desc_" + Q) + "_") + O)
103103
104104
105105 func T (O,Q) = ((("art_display_cid_" + Q) + "_") + O)
106106
107107
108108 func U (O,Q) = ((("art_export_hash_" + Q) + "_") + O)
109109
110110
111111 func V (O,Q) = ((("art_export_cid_" + Q) + "_") + O)
112112
113113
114114 func W (O,Q) = ((("art_maxmint_" + Q) + "_") + O)
115115
116116
117117 func X (O,Q) = ((("art_signid_" + Q) + "_") + O)
118118
119119
120120 func Y (O,Q) = ((("art_issued_" + Q) + "_") + O)
121121
122122
123123 func Z (O,Q) = ((("art_onsale_" + Q) + "_") + O)
124124
125125
126126 func aa (O,Q) = ((("art_licence_hash_" + Q) + "_") + O)
127127
128128
129129 func ab (O,Q) = ((("art_licence_cid_" + Q) + "_") + O)
130130
131131
132132 func ac (O,Q) = ((("art_tags_" + Q) + "_") + O)
133133
134134
135135 func ad (O,Q) = ((("art_type_" + Q) + "_") + O)
136136
137137
138138 func ae (O,Q) = ((("art_price_" + Q) + "_") + O)
139139
140140
141141 func af (O,Q) = ((("art_assetAccepted_" + Q) + "_") + O)
142142
143143
144144 func ag (O,Q) = ((("art_flag_" + Q) + "_") + O)
145145
146146
147147 func ah (O,ai) = ((("get_hashbytxidaddr_" + ai) + "_") + O)
148148
149149
150150 func aj (G) = ("get_owner_by_hash_" + G)
151151
152152
153153 func ak (O,al) = ((("get_artidbysignid_" + al) + "_") + O)
154154
155155
156156 func am (G,O) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((G + O)))))
157157
158158
159159 func an (ao,ap,aq) = if (!(J(ao)))
160160 then throw("Wrong Display CID")
161161 else if (!(J(ap)))
162162 then throw("Wrong Export CID")
163163 else if (if ((aq != ""))
164164 then !(J(aq))
165165 else false)
166166 then throw("Wrong Licence CID")
167167 else true
168168
169169
170170 func ar (as,at) = if (!(L(as)))
171171 then throw("Export Hash 64 char. max")
172172 else if (!(L(at)))
173173 then throw("Licence Hash 64 char. max")
174174 else true
175175
176176
177177 func au (av,aw) = if ((size(av) == 0))
178178 then throw("Field cannot be is empty")
179179 else if ((size(av) > aw))
180180 then throw((av + " is too long"))
181181 else true
182182
183183
184184 func ax (O) = {
185185 let ay = valueOrElse(getString(e, N(O)), t)
186186 if (if ((ay == t))
187187 then true
188188 else (ay == u))
189189 then "Register this account first with \"Account\" tab"
190190 else if ((ay == r))
191191 then "Account suspended"
192192 else if ((ay == s))
193193 then "Account removed"
194194 else ""
195195 }
196196
197197
198198 func az (aq,at) = {
199199 let K = if ((size(aq) == 0))
200200 then n
201201 else aq
202202 let M = if ((size(at) == 0))
203203 then o
204204 else at
205205 $Tuple2(K, M)
206206 }
207207
208208
209209 func aA (O,ao,ap,aB,as,aC,aD,aE,aF) = {
210210 let aG = ax(O)
211211 if ((aG != ""))
212212 then throw(aG)
213213 else if ((size(ao) == 0))
214214 then throw("Display CID cannot be empty")
215215 else if (!(an(ao, ap, aB)))
216216 then throw("Problem with CID")
217217 else if (!(ar(as, aC)))
218218 then throw("Problem with Hashes")
219219 else if (!(au(aD, 100)))
220220 then throw("100 Char. max name")
221221 else if (!(au(aE, 1000)))
222222 then throw("1000 Char. max description")
223223 else if ((size(split(aF, ",")) > 5))
224224 then throw("5 tags max.")
225225 else ""
226226 }
227227
228228
229229 func aH (aI) = if ((size(aI.payments) == 0))
230230 then throw("No payment attached")
231231 else {
232232 let aJ = value(aI.payments[0])
233233 let aK = value(aJ.amount)
234234 $Tuple2(aJ, aK)
235235 }
236236
237237
238238 func aL (aI) = {
239239 let aM = aH(aI)
240240 let aJ = aM._1
241241 let aK = aM._2
242242 let aN = if (if (isDefined(aJ.assetId))
243243 then (aJ.assetId == g)
244244 else false)
245245 then aJ.assetId
246246 else throw("Only SIGN token accepted as transaction fee")
247247 if ((aK != C))
248248 then throw(("Payment amount should be " + toString(C)))
249249 else $Tuple2(aK, aN)
250250 }
251251
252252
253253 func aO (aP,Q) = {
254254 let H = getInteger(this, Y(aP, Q))
255255 if ($isInstanceOf(H, "Int"))
256256 then {
257257 let aQ = H
258258 if ((aQ != 0))
259259 then true
260260 else false
261261 }
262262 else false
263263 }
264264
265265
266266 func aR (aI,aS,aT) = {
267267 let aU = aH(aI)
268268 let aJ = aU._1
269269 let aK = aU._2
270270 let aN = if (!(isDefined(aJ.assetId)))
271271 then unit
272272 else if (if ((size(aS) > 0))
273273 then (toBase58String(value(aJ.assetId)) == aS)
274274 else false)
275275 then aJ.assetId
276276 else throw("Wrong asset id")
277277 if (if ((aN == unit))
278278 then (aS != "")
279279 else false)
280280 then throw("Wrong asset id")
281281 else if ((aT != aK))
282282 then throw("Payment don't match")
283283 else $Tuple2(aK, aN)
284284 }
285285
286286
287287 func aV (aN) = if (if (if (if ((aN != toBase58String(g)))
288288 then (aN != toBase58String(i))
289289 else false)
290290 then (aN != "WAVES")
291291 else false)
292292 then (aN != toBase58String(h))
293293 else false)
294294 then throw("Only SIGN, USDN or WAVES accepted")
295295 else true
296296
297297
298298 func aW (aN,aX) = {
299299 let aY = if (a)
300300 then 10
301301 else y("waves_min_sell")
302302 let aZ = 1000000
303303 let ba = if (a)
304304 then 1
305305 else (C * 2)
306306 if (if (if (if (if ((aN == toBase58String(h)))
307307 then (aZ > aX)
308308 else false)
309309 then (aX != 0)
310310 else false)
311311 then true
312312 else if (if ((aN == toBase58String(g)))
313313 then (ba > aX)
314314 else false)
315315 then (aX != 0)
316316 else false)
317317 then true
318318 else if (if (if ((aN == toBase58String(i)))
319319 then true
320320 else (aN == "WAVES"))
321321 then (aY > aX)
322322 else false)
323323 then (aX != 0)
324324 else false)
325325 then throw("Wrong minimum sell price")
326326 else true
327327 }
328328
329329
330330 func bb (aN) = if ((aN == "WAVES"))
331331 then unit
332332 else fromBase58String(aN)
333333
334334
335335 func bc (bd) = {
336336 let be = x((bd + "_OPEN"))
337337 if ((be == ""))
338338 then throw("Bid not found")
339339 else {
340340 let bf = split(be, "_")
341341 let bg = parseIntValue(bf[1])
342342 let bh = bb(bf[0])
343343 if ((0 >= bg))
344344 then throw("Wrong amount")
345345 else $Tuple2(bg, bh)
346346 }
347347 }
348348
349349
350350 func bi (aI) = if (!(p))
351351 then throw(q)
352352 else $Tuple3(toBase58String(aI.transactionId), toBase58String(aI.caller.bytes), lastBlock.timestamp)
353353
354354
355355 func bj (aI,bk,bl,bm) = if (if (if ((toBase58String(aI.caller.bytes) == bk))
356356 then (bl != "")
357357 else false)
358358 then (bm != "")
359359 else false)
360360 then true
361361 else false
362362
363363
364364 func bn (aI,bk,Q,bo) = {
365- let bp = z("total_nft_issued")
365+ let bp = (toBase58String(aI.caller.bytes) == bk)
366+ let bq = z("total_nft_issued")
366367 let E = x(X(bk, Q))
367- let bq = x(R(bk, Q))
368- if ((bq == ""))
368+ let br = x(R(bk, Q))
369+ if ((br == ""))
369370 then throw("Art doesn't exist")
370371 else {
371- let br = B(Z(bk, Q))
372- let bs = z(Y(bk, Q))
373- let aT = z(ae(bk, Q))
374- let aS = x(af(bk, Q))
375- let bt = z(W(bk, Q))
376- if (if (!(bo))
372+ let bs = B(Z(bk, Q))
373+ let bt = z(Y(bk, Q))
374+ let aT = if (bp)
375+ then (C * 2)
376+ else z(ae(bk, Q))
377+ let aS = if (bp)
378+ then toBase58String(g)
379+ else x(af(bk, Q))
380+ let bu = z(W(bk, Q))
381+ if (if (if (!(bo))
382+ then !(bp)
383+ else false)
377384 then if (if ((0 >= aT))
378385 then true
379- else !(br))
386+ else !(bs))
380387 then true
381- else (0 >= bt)
388+ else (0 >= bu)
382389 else false)
383390 then throw("Art not for sale")
384- else if (if (bo)
385- then (0 >= bt)
391+ else if (if (if (!(bo))
392+ then bp
386393 else false)
387- then throw("Art not open for Offer")
388- else $Tuple8(bp, E, bq, bs, aT, aS, bt, br)
394+ then (0 >= bu)
395+ else false)
396+ then throw("Max issuable not set")
397+ else $Tuple8(bq, E, br, bt, aT, aS, bu, bs)
389398 }
390399 }
391400
392401
393-func bu (aI,O,bk,Q,bl,bm,aS,aT,bo) = {
402+func bv (aI,O,bk,Q,bl,bm,aS,aT,bo) = {
394403 let aG = ax(bk)
395404 if (if (bo)
396405 then (aG != "")
397406 else false)
398407 then throw(aG)
399408 else {
400409 let bd = ((((((("bid_" + Q) + "_") + bk) + "_") + bl) + "_") + bm)
401- let bv = if (bo)
410+ let bw = if (bo)
402411 then bc(bd)
403412 else aR(aI, aS, aT)
404- let aK = bv._1
405- let aN = bv._2
413+ let aK = bw._1
414+ let aN = bw._2
406415 $Tuple3(bd, aK, aN)
407416 }
408417 }
409418
410419
411-func bw (bk,aN,aK,bs,bt) = {
412- let bx = A(bk)
413- let by = if ((bx > height))
420+func bx (bk,aN,aK,bt,bu) = {
421+ let by = A(bk)
422+ let bz = if ((by > height))
414423 then 0
415424 else if ((aN == g))
416425 then l
417426 else m
418- let bz = fraction(aK, by, 100)
419- let bA = (aK - bz)
420- if ((bs == bt))
427+ let bA = fraction(aK, bz, 100)
428+ let bB = (aK - bA)
429+ if ((bt == bu))
421430 then throw("Art sold out")
422431 else {
423- let bB = (bs + 1)
424- $Tuple3(bz, bA, bB)
432+ let bC = (bt + 1)
433+ $Tuple3(bA, bB, bC)
425434 }
426435 }
427436
428437
429-func bC (bk,Q,E,bq,bB,bt,bp,O,bl,bm,aI,br) = {
430- let bD = ((((((((((("Creator: " + bk) + ",
438+func bD (bk,Q,E,br,bC,bu,bq,O,bl,bm,aI,bs) = {
439+ let bE = ((((((((((("Creator: " + bk) + ",
431440 ArtID: ") + Q) + ",
432441 SignID: ") + E) + ",
433- Artwork name: ") + bq) + ",
434- Issue: ") + toString(bB)) + "/") + toString(bt))
435- let bE = Issue(("SA_" + toString((bp + 1))), bD, 1, 0, false)
436- let bF = calculateAssetId(bE)
437- let bG = if (if ((bB == bt))
442+ Artwork name: ") + br) + ",
443+ Issue: ") + toString(bC)) + "/") + toString(bu))
444+ let bF = Issue(("SA_" + toString((bq + 1))), bE, 1, 0, false)
445+ let bG = calculateAssetId(bF)
446+ let bH = if (if ((bC == bu))
438447 then true
439- else !(br))
448+ else !(bs))
440449 then false
441450 else true
442- let bH = if (if (if ((O == bk))
451+ let bI = if (if (if ((O == bk))
443452 then (bl != "")
444453 else false)
445454 then (bm != "")
446455 else false)
447456 then addressFromStringValue(bl)
448457 else aI.caller
449- $Tuple4(bE, bF, bG, bH)
458+ $Tuple4(bF, bG, bH, bI)
450459 }
451460
452461
453-func bI (aN,bd,bJ) = {
454- let bK = if (!(isDefined(aN)))
462+func bJ (aN,bd,bK) = {
463+ let bL = if (!(isDefined(aN)))
455464 then "WAVES"
456465 else toBase58String(value(aN))
457466 let be = x((bd + "_OPEN"))
458- let bL = DeleteEntry((bd + "_OPEN"))
459- let bM = StringEntry((bd + "_CLOSED"), ((be + "_") + toString(bJ)))
460- $Tuple3(bK, bL, bM)
467+ let bM = DeleteEntry((bd + "_OPEN"))
468+ let bN = StringEntry((bd + "_CLOSED"), ((be + "_") + toString(bK)))
469+ $Tuple3(bL, bM, bN)
461470 }
462471
463472
464-func bN (aI,Q,bk,bm,bl) = {
465- let bO = bi(aI)
466- let bP = bO._1
467- let O = bO._2
468- let bJ = bO._3
473+func bO (aI,Q,bk,bm,bl) = {
474+ let bP = bi(aI)
475+ let bQ = bP._1
476+ let O = bP._2
477+ let bK = bP._3
469478 let bo = bj(aI, bk, bl, bm)
470- let bQ = bn(aI, bk, Q, bo)
471- let bp = bQ._1
472- let E = bQ._2
473- let bq = bQ._3
474- let bs = bQ._4
475- let aT = bQ._5
476- let aS = bQ._6
477- let bt = bQ._7
478- let br = bQ._8
479- let bR = bu(aI, O, bk, Q, bl, bm, aS, aT, bo)
480- let bd = bR._1
481- let aK = bR._2
482- let aN = bR._3
483- let bS = bw(bk, aN, aK, bs, bt)
484- let bz = bS._1
485- let bA = bS._2
486- let bB = bS._3
487- let bT = bC(bk, Q, E, bq, bB, bt, bp, O, bl, bm, aI, br)
488- let bE = bT._1
489- let bF = bT._2
490- let bG = bT._3
491- let bH = bT._4
492- let bU = bI(aN, bd, bJ)
493- let bK = bU._1
494- let bL = bU._2
495- let bM = bU._3
496- let bV = ((((((("art_sold_" + toString(bB)) + "_of_") + toString(bt)) + "_") + Q) + "_") + bk)
497- let bW = if (!(bo))
498- then ((((((((((O + "_") + toString(bJ)) + "_") + bP) + "_") + toString(aT)) + "_") + aS) + "_") + toBase58String(bF))
499- else ((((((((((toString(bH) + "_") + toString(bJ)) + "_") + bP) + "_") + toString(aK)) + "_") + bK) + "_") + toBase58String(bF))
500- let bX = StringEntry(bV, bW)
501- let bY = [IntegerEntry(Y(bk, Q), bB), StringEntry(("nft_" + toBase58String(bF)), bV), IntegerEntry("total_nft_issued", (bp + 1)), BooleanEntry(Z(bk, Q), bG), bE, ScriptTransfer(Address(fromBase58String(bk)), bA, aN), ScriptTransfer(Address(fromBase58String(d)), bz, aN), ScriptTransfer(bH, 1, bF)]
479+ let bR = bn(aI, bk, Q, bo)
480+ let bq = bR._1
481+ let E = bR._2
482+ let br = bR._3
483+ let bt = bR._4
484+ let aT = bR._5
485+ let aS = bR._6
486+ let bu = bR._7
487+ let bs = bR._8
488+ let bS = bv(aI, O, bk, Q, bl, bm, aS, aT, bo)
489+ let bd = bS._1
490+ let aK = bS._2
491+ let aN = bS._3
492+ let bT = bx(bk, aN, aK, bt, bu)
493+ let bA = bT._1
494+ let bB = bT._2
495+ let bC = bT._3
496+ let bU = bD(bk, Q, E, br, bC, bu, bq, O, bl, bm, aI, bs)
497+ let bF = bU._1
498+ let bG = bU._2
499+ let bH = bU._3
500+ let bI = bU._4
501+ let bV = bJ(aN, bd, bK)
502+ let bL = bV._1
503+ let bM = bV._2
504+ let bN = bV._3
505+ let bW = ((((((("art_sold_" + toString(bC)) + "_of_") + toString(bu)) + "_") + Q) + "_") + bk)
506+ let bX = if (!(bo))
507+ then ((((((((((O + "_") + toString(bK)) + "_") + bQ) + "_") + toString(aT)) + "_") + aS) + "_") + toBase58String(bG))
508+ else ((((((((((toString(bI) + "_") + toString(bK)) + "_") + bQ) + "_") + toString(aK)) + "_") + bL) + "_") + toBase58String(bG))
509+ let bY = StringEntry(bW, bX)
510+ let bZ = [IntegerEntry(Y(bk, Q), bC), StringEntry(("nft_" + toBase58String(bG)), bW), IntegerEntry("total_nft_issued", (bq + 1)), BooleanEntry(Z(bk, Q), bH), bF, ScriptTransfer(Address(fromBase58String(bk)), bB, aN), ScriptTransfer(Address(fromBase58String(d)), bA, aN), ScriptTransfer(bI, 1, bG)]
502511 if (bo)
503- then [bX, bM, bL] :: bY
504- else bX :: bY
512+ then [bY, bN, bM] :: bZ
513+ else bY :: bZ
505514 }
506515
507516
508517 @Callable(aI)
509-func addArtwork (G,E,aD,aE,aF,bZ,ao,as,ap,at,aq) = {
510- let ca = bi(aI)
511- let Q = ca._1
512- let O = ca._2
513- let bJ = ca._3
518+func addArtwork (G,E,aD,aE,aF,ca,ao,as,ap,at,aq) = {
519+ let cb = bi(aI)
520+ let Q = cb._1
521+ let O = cb._2
522+ let bK = cb._3
514523 if (!(L(G)))
515524 then throw("Hash should be 64 characters maximum")
516525 else {
517- let cb = az(aq, at)
518- let aB = cb._1
519- let aC = cb._2
520- let cc = aA(O, ao, ap, aB, as, aC, aD, aE, aF)
521- if ((cc != ""))
526+ let cc = az(aq, at)
527+ let aB = cc._1
528+ let aC = cc._2
529+ let cd = aA(O, ao, ap, aB, as, aC, aD, aE, aF)
530+ if ((cd != ""))
522531 then throw("Something went wrong!")
523532 else {
524- let cd = aL(aI)
525- let aK = cd._1
526- let aN = cd._2
533+ let ce = aL(aI)
534+ let aK = ce._1
535+ let aN = ce._2
527536 if (!(isDefined(aK)))
528537 then throw("Something went wrong")
529538 else {
530- let ce = x(am(G, O))
531- if ((ce != ""))
539+ let cf = x(am(G, O))
540+ if ((cf != ""))
532541 then throw("You already added it")
533542 else {
534- let cf = x(aj(G))
535- if ((cf != ""))
543+ let cg = x(aj(G))
544+ if ((cg != ""))
536545 then throw("Hash already registered")
537546 else {
538- let cg = D(E, O, G)
539- if (!(cg))
547+ let ch = D(E, O, G)
548+ if (!(ch))
540549 then throw("Sign Certificate not found for this address.")
541- else [StringEntry(aj(G), O), StringEntry(am(G, O), Q), IntegerEntry(P(O, Q), bJ), StringEntry(R(O, Q), aD), StringEntry(S(O, Q), aE), StringEntry(T(O, Q), ao), StringEntry(V(O, Q), ap), StringEntry(U(O, Q), as), StringEntry(aa(O, Q), aC), StringEntry(ab(O, Q), aB), StringEntry(ad(O, Q), bZ), StringEntry(ac(O, Q), aF), IntegerEntry(W(O, Q), 0), StringEntry(X(O, Q), E), IntegerEntry(Y(O, Q), 0), BooleanEntry(Z(O, Q), false), StringEntry(ak(O, E), Q), StringEntry(ah(O, Q), G), ScriptTransfer(Address(fromBase58String(d)), aK, aN)]
550+ else [StringEntry(aj(G), O), StringEntry(am(G, O), Q), IntegerEntry(P(O, Q), bK), StringEntry(R(O, Q), aD), StringEntry(S(O, Q), aE), StringEntry(T(O, Q), ao), StringEntry(V(O, Q), ap), StringEntry(U(O, Q), as), StringEntry(aa(O, Q), aC), StringEntry(ab(O, Q), aB), StringEntry(ad(O, Q), ca), StringEntry(ac(O, Q), aF), IntegerEntry(W(O, Q), 0), StringEntry(X(O, Q), E), IntegerEntry(Y(O, Q), 0), BooleanEntry(Z(O, Q), false), StringEntry(ak(O, E), Q), StringEntry(ah(O, Q), G), ScriptTransfer(Address(fromBase58String(d)), aK, aN)]
542551 }
543552 }
544553 }
545554 }
546555 }
547556 }
548557
549558
550559
551560 @Callable(aI)
552-func updateArtwork (ai,aD,aE,aF,bZ,ao,as,ap,at,aq) = if (!(p))
561+func updateArtwork (ai,aD,aE,aF,ca,ao,as,ap,at,aq) = if (!(p))
553562 then throw(q)
554563 else {
555564 let O = toBase58String(aI.caller.bytes)
556- let ch = az(aq, at)
557- let aB = ch._1
558- let aC = ch._2
559- let cc = aA(O, ao, ap, aB, as, aC, aD, aE, aF)
560- if ((cc != ""))
565+ let ci = az(aq, at)
566+ let aB = ci._1
567+ let aC = ci._2
568+ let cd = aA(O, ao, ap, aB, as, aC, aD, aE, aF)
569+ if ((cd != ""))
561570 then throw("Something went wrong!")
562571 else {
563- let ce = x(R(O, ai))
564- if ((ce == ""))
572+ let cf = x(R(O, ai))
573+ if ((cf == ""))
565574 then throw("Entry not found")
566575 else {
567- let ci = x(ag(O, ai))
568- if ((ci == "ILLEGAL"))
576+ let cj = x(ag(O, ai))
577+ if ((cj == "ILLEGAL"))
569578 then throw("Cannot update ILLEGAL artwork")
570579 else if (!(aO(O, ai)))
571- then [StringEntry(R(O, ai), aD), StringEntry(S(O, ai), aE), StringEntry(T(O, ai), ao), StringEntry(V(O, ai), ap), StringEntry(U(O, ai), as), StringEntry(ab(O, ai), aB), StringEntry(aa(O, ai), aC), StringEntry(ac(O, ai), aF), StringEntry(ad(O, ai), bZ)]
580+ then [StringEntry(R(O, ai), aD), StringEntry(S(O, ai), aE), StringEntry(T(O, ai), ao), StringEntry(V(O, ai), ap), StringEntry(U(O, ai), as), StringEntry(ab(O, ai), aB), StringEntry(aa(O, ai), aC), StringEntry(ac(O, ai), aF), StringEntry(ad(O, ai), ca)]
572581 else throw("Already minted")
573582 }
574583 }
575584 }
576585
577586
578587
579588 @Callable(aI)
580-func flagArtwork (Q,cj,ci) = {
581- let ck = bi(aI)
582- let bP = ck._1
583- let O = ck._2
589+func flagArtwork (Q,ck,cj) = {
590+ let cl = bi(aI)
591+ let bQ = cl._1
592+ let O = cl._2
584593 if (containsElement([j, k, toString(this)], O))
585- then if ((ci == "CONSENT"))
586- then [StringEntry(ag(cj, Q), ci)]
587- else if ((ci == ""))
588- then [StringEntry(ag(cj, Q), ci)]
589- else if ((ci == "CHANGE_REQUIRED"))
590- then [StringEntry(ag(cj, Q), ci)]
591- else if (if ((ci == "ILLEGAL"))
594+ then if ((cj == "CONSENT"))
595+ then [StringEntry(ag(ck, Q), cj)]
596+ else if ((cj == ""))
597+ then [StringEntry(ag(ck, Q), cj)]
598+ else if ((cj == "CHANGE_REQUIRED"))
599+ then [StringEntry(ag(ck, Q), cj)]
600+ else if (if ((cj == "ILLEGAL"))
592601 then containsElement([j, toString(this)], O)
593602 else false)
594- then [StringEntry(ag(cj, Q), ci), StringEntry(R(cj, Q), "ILLEGAL CONTENT"), StringEntry(S(cj, Q), "ILLEGAL CONTENT"), StringEntry(T(cj, Q), ""), StringEntry(V(cj, Q), ""), StringEntry(ab(cj, Q), "")]
595- else throw(("Unknow status " + ci))
603+ then [StringEntry(ag(ck, Q), cj), StringEntry(R(ck, Q), "ILLEGAL CONTENT"), StringEntry(S(ck, Q), "ILLEGAL CONTENT"), StringEntry(T(ck, Q), ""), StringEntry(V(ck, Q), ""), StringEntry(ab(ck, Q), "")]
604+ else throw(("Unknow status " + cj))
596605 else throw("You are not allowed")
597606 }
598607
599608
600609
601610 @Callable(aI)
602-func deleteArtwork (Q,cj) = {
603- let cl = bi(aI)
604- let bP = cl._1
605- let O = cl._2
611+func deleteArtwork (Q,ck) = {
612+ let cm = bi(aI)
613+ let bQ = cm._1
614+ let O = cm._2
606615 let aP = if (containsElement([j, k, toString(this)], O))
607- then cj
616+ then ck
608617 else O
609- let ce = valueOrErrorMessage(x(R(aP, Q)), "No art matching for this address")
610- if ((ce == ""))
618+ let cf = valueOrErrorMessage(x(R(aP, Q)), "No art matching for this address")
619+ if ((cf == ""))
611620 then throw("No art matching for this address")
612621 else {
613622 let G = x(ah(aP, Q))
614623 if ((G == ""))
615624 then throw("No art hash matching for this address")
616625 else {
617626 let E = x(X(aP, Q))
618627 if ((E == ""))
619628 then throw("No SIGN ID matching")
620629 else {
621- let cm = [DeleteEntry(P(aP, Q)), DeleteEntry(R(aP, Q)), DeleteEntry(S(aP, Q)), DeleteEntry(T(aP, Q)), DeleteEntry(V(aP, Q)), DeleteEntry(U(aP, Q)), DeleteEntry(aa(aP, Q)), DeleteEntry(ab(aP, Q)), DeleteEntry(ad(aP, Q)), DeleteEntry(ac(aP, Q)), DeleteEntry(W(aP, Q)), DeleteEntry(X(aP, Q)), DeleteEntry(Y(aP, Q)), DeleteEntry(Z(aP, Q)), DeleteEntry(ag(cj, Q)), DeleteEntry(ae(cj, Q)), DeleteEntry(af(cj, Q)), DeleteEntry(aj(G)), DeleteEntry(ak(aP, E)), DeleteEntry(am(G, aP))]
630+ let cn = [DeleteEntry(P(aP, Q)), DeleteEntry(R(aP, Q)), DeleteEntry(S(aP, Q)), DeleteEntry(T(aP, Q)), DeleteEntry(V(aP, Q)), DeleteEntry(U(aP, Q)), DeleteEntry(aa(aP, Q)), DeleteEntry(ab(aP, Q)), DeleteEntry(ad(aP, Q)), DeleteEntry(ac(aP, Q)), DeleteEntry(W(aP, Q)), DeleteEntry(X(aP, Q)), DeleteEntry(Y(aP, Q)), DeleteEntry(Z(aP, Q)), DeleteEntry(ag(ck, Q)), DeleteEntry(ae(ck, Q)), DeleteEntry(af(ck, Q)), DeleteEntry(aj(G)), DeleteEntry(ak(aP, E)), DeleteEntry(am(G, aP))]
622631 if (!(aO(aP, Q)))
623632 then if (!(p))
624633 then throw(q)
625- else cm
634+ else cn
626635 else if (containsElement([j, toString(this)], O))
627- then cm
636+ then cn
628637 else throw("Art already minted, you cannot delete it")
629638 }
630639 }
631640 }
632641 }
633642
634643
635644
636645 @Callable(aI)
637-func sellArtwork (Q,aX,cn,aN) = {
638- let co = bi(aI)
639- let bP = co._1
640- let O = co._2
641- let bq = x(R(O, Q))
642- if ((bq == ""))
646+func sellArtwork (Q,aX,co,aN) = {
647+ let cp = bi(aI)
648+ let bQ = cp._1
649+ let O = cp._2
650+ let br = x(R(O, Q))
651+ if ((br == ""))
643652 then throw("This art doesn't match your account")
644653 else {
645- let cp = x(V(O, Q))
646- if ((size(split(cp, "/")[0]) != 59))
654+ let cq = x(V(O, Q))
655+ if ((size(split(cq, "/")[0]) != 59))
647656 then throw("You cannot sell art with no export file")
648657 else {
649- let cq = z(("current_bidamount_" + Q))
658+ let cr = z(("current_bidamount_" + Q))
650659 if (!(aV(aN)))
651660 then throw("Something went wrong!")
652661 else if (!(aW(aN, aX)))
653662 then throw("Something went wrong!")
654663 else {
655664 let aG = ax(O)
656665 if ((aG != ""))
657666 then throw(aG)
658667 else {
659- let bs = z(Y(O, Q))
660- let bt = z(W(O, Q))
661- if ((cn > 10))
668+ let bt = z(Y(O, Q))
669+ let bu = z(W(O, Q))
670+ if ((co > 10))
662671 then throw("10 editions max per artwork")
663- else if (if ((bs != 0))
664- then (bs == bt)
672+ else if (if ((bt != 0))
673+ then (bt == bu)
665674 else false)
666675 then throw("Max edition reached.")
667- else if (if ((bs > 0))
668- then (bt != cn)
676+ else if (if ((bt > 0))
677+ then (bu != co)
669678 else false)
670679 then throw("Cannot change maximum issuable anymore")
671- else if (if ((cq > 0))
672- then (bt != cn)
680+ else if (if ((cr > 0))
681+ then (bu != co)
673682 else false)
674683 then throw("Cannot change maximum issuable with active orders")
675684 else {
676- let bG = if (if ((aX > 0))
677- then (cn > 0)
685+ let bH = if (if ((aX > 0))
686+ then (co > 0)
678687 else false)
679688 then true
680689 else false
681-[BooleanEntry(Z(O, Q), bG), IntegerEntry(ae(O, Q), aX), IntegerEntry(W(O, Q), cn), StringEntry(af(O, Q), aN)]
690+[BooleanEntry(Z(O, Q), bH), IntegerEntry(ae(O, Q), aX), IntegerEntry(W(O, Q), co), StringEntry(af(O, Q), aN)]
682691 }
683692 }
684693 }
685694 }
686695 }
687696 }
688697
689698
690699
691700 @Callable(aI)
692-func buyArtwork (Q,bk) = bN(aI, Q, bk, "", "")
701+func buyArtwork (Q,bk) = bO(aI, Q, bk, "", "")
693702
694703
695704
696705 @Callable(aI)
697706 func setBid (Q,bk) = {
698- let cr = bi(aI)
699- let bP = cr._1
700- let O = cr._2
701- let bJ = cr._3
702- let cs = aH(aI)
703- let aJ = cs._1
704- let aK = cs._2
707+ let cs = bi(aI)
708+ let bQ = cs._1
709+ let O = cs._2
710+ let bK = cs._3
711+ let ct = aH(aI)
712+ let aJ = ct._1
713+ let aK = ct._2
705714 let aN = if (!(isDefined(aJ.assetId)))
706715 then "WAVES"
707716 else toBase58String(value(aJ.assetId))
708- let cq = z(("current_bidamount_" + Q))
717+ let cr = z(("current_bidamount_" + Q))
709718 if (!(aV(aN)))
710719 then throw("asset not accepted")
711720 else if (!(aW(aN, aK)))
712721 then throw("Wrong min sell")
713722 else {
714- let bs = z(Y(bk, Q))
715- let bt = z(W(bk, Q))
716- if ((0 >= bt))
723+ let bt = z(Y(bk, Q))
724+ let bu = z(W(bk, Q))
725+ if ((0 >= bu))
717726 then throw("No max edition set for this artwork")
718- else if ((bs >= bt))
727+ else if ((bt >= bu))
719728 then throw("Sold out, you cannot bid")
720- else [StringEntry((((((((("bid_" + Q) + "_") + bk) + "_") + O) + "_") + bP) + "_OPEN"), ((((aN + "_") + toString(aK)) + "_") + toString(bJ))), IntegerEntry(("current_bidamount_" + Q), (cq + 1))]
729+ else [StringEntry((((((((("bid_" + Q) + "_") + bk) + "_") + O) + "_") + bQ) + "_OPEN"), ((((aN + "_") + toString(aK)) + "_") + toString(bK))), IntegerEntry(("current_bidamount_" + Q), (cr + 1))]
721730 }
722731 }
723732
724733
725734
726735 @Callable(aI)
727736 func acceptBid (Q,bk,bm,bl) = {
728737 let O = toBase58String(aI.caller.bytes)
729738 if ((O != bk))
730739 then throw("You cannot do this action")
731- else bN(aI, Q, bk, bm, bl)
740+ else bO(aI, Q, bk, bm, bl)
732741 }
733742
734743
735744
736745 @Callable(aI)
737746 func cancelBid (Q,bk,bm) = {
738- let ct = bi(aI)
739- let bP = ct._1
740- let O = ct._2
741- let bJ = ct._3
742- let cq = z(("current_bidamount_" + Q))
747+ let cu = bi(aI)
748+ let bQ = cu._1
749+ let O = cu._2
750+ let bK = cu._3
751+ let cr = z(("current_bidamount_" + Q))
743752 let bd = ((((((("bid_" + Q) + "_") + bk) + "_") + O) + "_") + bm)
744753 let be = x((bd + "_OPEN"))
745754 if ((be == ""))
746755 then throw("Bid not found")
747756 else {
748757 let bf = split(be, "_")
749758 let aN = bb(bf[0])
750- let cu = "CANCELED"
751-[DeleteEntry((bd + "_OPEN")), StringEntry(((bd + "_") + cu), ((be + "_") + toString(bJ))), IntegerEntry(("current_bidamount_" + Q), (cq - 1)), ScriptTransfer(Address(fromBase58String(O)), parseIntValue(bf[1]), aN)]
759+ let cv = "CANCELED"
760+[DeleteEntry((bd + "_OPEN")), StringEntry(((bd + "_") + cv), ((be + "_") + toString(bK))), IntegerEntry(("current_bidamount_" + Q), (cr - 1)), ScriptTransfer(Address(fromBase58String(O)), parseIntValue(bf[1]), aN)]
752761 }
753762 }
754763
755764
756765
757766 @Callable(aI)
758-func deleteEntry (cv) = {
767+func deleteEntry (cw) = {
759768 let O = toString(addressFromPublicKey(aI.callerPublicKey))
760769 if ((O == j))
761- then [DeleteEntry(cv)]
770+ then [DeleteEntry(cw)]
762771 else throw("no")
763772 }
764773
765774

github/deemru/w8io/169f3d6 
199.68 ms