tx · CNPshsbVYjCZ3T66n45G6V53MaqaE18GQyvCM8qpWjyq

3MrWNTqFcHBqb58Za1A5crQrMV5KJ5DYhtA:  -0.01000000 Waves

2021.12.20 13:11 [1842442] smart account 3MrWNTqFcHBqb58Za1A5crQrMV5KJ5DYhtA > SELF 0.00000000 Waves

{ "type": 13, "id": "CNPshsbVYjCZ3T66n45G6V53MaqaE18GQyvCM8qpWjyq", "fee": 1000000, "feeAssetId": null, "timestamp": 1639995085031, "version": 2, "chainId": 84, "sender": "3MrWNTqFcHBqb58Za1A5crQrMV5KJ5DYhtA", "senderPublicKey": "9abKuN1XmLjjire2feZH26PmcEWhEXxiHToWSmii3Gn2", "proofs": [ "5tRRUcfXyxBwv4wvQVzLPmsN5FndXpshGrCpijkX3C9DQG5mYbJodL5rLgjnmHHV9cTAZWZv5touKSfGKTwFXVri" ], "script": "base64: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AAAFaXNCaWQEAAAADmNhbGxlcklzSXNzdWVyCQAAAAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAAGaXNzdWVyBAAAAAh0b3RhbE5GVAkBAAAAD2dldEludGVnZXJCeUtleQAAAAECAAAAEHRvdGFsX25mdF9pc3N1ZWQEAAAAC2FydHdvcmtOYW1lCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAHa2V5TmFtZQAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDCQAAAAAAAAIFAAAAC2FydHdvcmtOYW1lAgAAAAAJAAACAAAAAQIAAAARQXJ0IGRvZXNuJ3QgZXhpc3QEAAAACGlzT25TYWxlCQEAAAAPZ2V0Qm9vbGVhbkJ5S2V5AAAAAQkBAAAACWtleU9uU2FsZQAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACmFtb3VudFNvbGQJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAJa2V5SXNzdWVkAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAQAAAAMYXJ0d29ya1ByaWNlCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACGtleVByaWNlAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAkAAGgAAAACBQAAABljdXJyZW50Q2VydGlmaWNhdGlvblByaWNlAAAAAAAAAAACBAAAAAxwcmljZUFzc2V0SWQDBQAAAA5jYWxsZXJJc0lzc3VlcgkAAlgAAAABBQAAAAtVU0ROQXNzZXRJZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEmtleUFzc2V0SWRBY2NlcHRlZAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACm1heENhblNlbGwJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAKa2V5TWF4TWludAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDAwMJAQAAAAEhAAAAAQUAAAAFaXNCaWQJAQAAAAEhAAAAAQUAAAAOY2FsbGVySXNJc3N1ZXIHAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAMYXJ0d29ya1ByaWNlBgkBAAAAASEAAAABBQAAAAhpc09uU2FsZQYJAABnAAAAAgAAAAAAAAAAAAUAAAAKbWF4Q2FuU2VsbAcJAAACAAAAAQIAAAAQQXJ0IG5vdCBmb3Igc2FsZQMDAwkBAAAAASEAAAABBQAAAAVpc0JpZAUAAAAOY2FsbGVySXNJc3N1ZXIHCQAAZwAAAAIAAAAAAAAAAAAFAAAACm1heENhblNlbGwHCQAAAgAAAAECAAAAFE1heCBpc3N1YWJsZSBub3Qgc2V0CQAFGQAAAAcFAAAACHRvdGFsTkZUBQAAAAthcnR3b3JrTmFtZQUAAAAKYW1vdW50U29sZAUAAAAMYXJ0d29ya1ByaWNlBQAAAAxwcmljZUFzc2V0SWQFAAAACm1heENhblNlbGwFAAAACGlzT25TYWxlAQAAAApnZXRCaWREYXRhAAAACQAAAAFpAAAABmNhbGxlcgAAAAZpc3N1ZXIAAAAFYXJ0SWQAAAAIYmlkT3duZXIAAAAFYmlkSWQAAAAMcHJpY2VBc3NldElkAAAADGFydHdvcmtQcmljZQAAAAVpc0JpZAQAAAAJY2hlY2tVc2VyCQEAAAAMdmFsaWRhdGVVc2VyAAAAAQUAAAAGaXNzdWVyAwMFAAAABWlzQmlkCQEAAAACIT0AAAACBQAAAAljaGVja1VzZXICAAAAAAcJAAACAAAAAQUAAAAJY2hlY2tVc2VyBAAAAApiaWREYXRhS2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABGJpZF8FAAAABWFydElkAgAAAAFfBQAAAAZpc3N1ZXICAAAAAV8FAAAACGJpZE93bmVyAgAAAAFfBQAAAAViaWRJZAQAAAAMdDAxMzUxOTEzNjQ4AwUAAAAFaXNCaWQJAQAAABZnZXRQcmljZUFzc2V0SWRGcm9tQmlkAAAAAQUAAAAKYmlkRGF0YUtleQkBAAAAFHZhbGlkYXRlUHJpY2VBc3NldElkAAAAAwUAAAABaQUAAAAMcHJpY2VBc3NldElkBQAAAAxhcnR3b3JrUHJpY2UEAAAABmFtb3VudAgFAAAADHQwMTM1MTkxMzY0OAAAAAJfMQQAAAAHYXNzZXRJZAgFAAAADHQwMTM1MTkxMzY0OAAAAAJfMgkABRUAAAADBQAAAApiaWREYXRhS2V5BQAAAAZhbW91bnQFAAAAB2Fzc2V0SWQBAAAAEWdldENvbW1pc3Npb25EYXRhAAAABQAAAAZpc3N1ZXIAAAAHYXNzZXRJZAAAAAZhbW91bnQAAAAKYW1vdW50U29sZAAAAAptYXhDYW5TZWxsBAAAAA1pc1doaXRlbGlzdGVkCQEAAAAOY2hlY2tXaGl0ZWxpc3QAAAABBQAAAAZpc3N1ZXIEAAAAA2N1dAMJAABmAAAAAgUAAAANaXNXaGl0ZWxpc3RlZAUAAAAGaGVpZ2h0AAAAAAAAAAAAAwkAAAAAAAACBQAAAAdhc3NldElkBQAAAAtVU0ROQXNzZXRJZAUAAAAQVVNETkZpcnN0U2VsbEN1dAkAAAIAAAABAgAAABZPbmx5IFVTRE4gaXMgYWNjZXB0ZWQhBAAAAA9hbW91bnRGb3JTY29uZXgJAABrAAAAAwUAAAAGYW1vdW50BQAAAANjdXQAAAAAAAAAA+gEAAAAEGFtb3VudEZvckNyZWF0b3IJAABlAAAAAgUAAAAGYW1vdW50BQAAAA9hbW91bnRGb3JTY29uZXgDCQAAAAAAAAIFAAAACmFtb3VudFNvbGQFAAAACm1heENhblNlbGwJAAACAAAAAQIAAAAMQXJ0IHNvbGQgb3V0BAAAAA1uZXdBbW91bnRTb2xkCQAAZAAAAAIFAAAACmFtb3VudFNvbGQAAAAAAAAAAAEJAAUVAAAAAwUAAAAPYW1vdW50Rm9yU2NvbmV4BQAAABBhbW91bnRGb3JDcmVhdG9yBQAAAA1uZXdBbW91bnRTb2xkAQAAAAxnZXRJc3N1ZURhdGEAAAALAAAABmlzc3VlcgAAAAVhcnRJZAAAAAthcnR3b3JrTmFtZQAAAA1uZXdBbW91bnRTb2xkAAAACm1heENhblNlbGwAAAAIdG90YWxORlQAAAAGY2FsbGVyAAAACGJpZE93bmVyAAAABWJpZElkAAAAAWkAAAAIaXNPblNhbGUEAAAACWlzc3VlTWV0YQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJQ3JlYXRvcjogBQAAAAZpc3N1ZXICAAAACCxBcnRJRDogBQAAAAVhcnRJZAIA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dmFsdWUAAAABBQAAAAdhc3NldElkBQAAAAZhbW91bnQFAAAACmFtb3VudFNvbGQFAAAACm1heENhblNlbGwEAAAAD2Ftb3VudEZvclNjb25leAgFAAAADWNvbW1pc2lvbkRhdGEAAAACXzEEAAAAEGFtb3VudEZvckNyZWF0b3IIBQAAAA1jb21taXNpb25EYXRhAAAAAl8yBAAAAA1uZXdBbW91bnRTb2xkCAUAAAANY29tbWlzaW9uRGF0YQAAAAJfMwQAAAAKaXNzdWVyRGF0YQkBAAAADGdldElzc3VlRGF0YQAAAAsFAAAABmlzc3VlcgUAAAAFYXJ0SWQFAAAAC2FydHdvcmtOYW1lBQAAAA1uZXdBbW91bnRTb2xkBQAAAAptYXhDYW5TZWxsBQAAAAh0b3RhbE5GVAUAAAAGY2FsbGVyBQAAAAhiaWRPd25lcgUAAAAFYmlkSWQFAAAAAWkFAAAACGlzT25TYWxlBAAAAApzZWxsU3RhdHVzCAUAAAAKaXNzdWVyRGF0YQAAAAJfMQQAAAAKcmVjZWl2ZU5GVAgFAAAACmlzc3VlckRhdGEAAAACXzIEAAAACWlzc3VlTWV0YQgFAAAACmlzc3VlckRhdGEAAAACXzMEAAAAC2lkTkZUSW52b2tlCQAD/AAAAAQFAAAABHRoaXMCAAAAB21pbnROZnQJAARMAAAAAgUAAAAIdG90YWxORlQJAARMAAAAAgUAAAAJaXNzdWVNZXRhCQAETAAAAAIJAAQlAAAAAQUAAAAKcmVjZWl2ZU5GVAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAC2lkTkZUSW52b2tlBQAAAAtpZE5GVEludm9rZQQAAAAFaWRORlQEAAAAByRtYXRjaDAFAAAAC2lkTkZUSW52b2tlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXIFAAAAByRtYXRjaDAFAAAAAXIJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGludm9rZSByZXN1bHQEAAAAC2JpZEtleVZhbHVlCQEAAAAMZ2V0QmlkS2V5VmFsAAAAAwUAAAAHYXNzZXRJZAUAAAAKYmlkRGF0YUtleQUAAAAEZGF0ZQQAAAAKYXNzZXRJZEJpZAgFAAAAC2JpZEtleVZhbHVlAAAAAl8xBAAA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aWRVcGRhdGUFAAAACWJpZERlbE9sZAkABEwAAAACBQAAAAhzb2xkRGF0YQUAAAAGYnV5UmVzCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAAAAFHNldEJpZE5vblRyYWRpdGlvbmFsAAAAAwAAAAFpAAAABWFydElkAAAABmlzc3VlcgQAAAAMdDAyNzcwOTI3NzQ3CQEAAAAMaWRDYWxsZXJEYXRlAAAAAQUAAAABaQQAAAACaWQIBQAAAAx0MDI3NzA5Mjc3NDcAAAACXzEEAAAABmNhbGxlcggFAAAADHQwMjc3MDkyNzc0NwAAAAJfMgQAAAAEZGF0ZQgFAAAADHQwMjc3MDkyNzc0NwAAAAJfMwQAAAAMdDAyNzc1MjI3Nzg4CQEAAAAJaXNQYXltZW50AAAAAQUAAAABaQQAAAAHcGF5bWVudAgFAAAADHQwMjc3NTIyNzc4OAAAAAJfMQQAAAAGYW1vdW50CAUAAAAMdDAyNzc1MjI3Nzg4AAAAAl8yBAAAAAdhc3NldElkAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkAAAIAAAABAgAAABZPbmx5IFVTRE4gaXMgYWNjZXB0ZWQhCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQEAAAABmJpZE5icgkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAAEsAAAAAgIAAAASY3VycmVudF9iaWRhbW91bnRfBQAAAAVhcnRJZAQAAAAPbWluQXJ0d29ya1ByaWNlCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACGtleVByaWNlAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAkAAGgAAAACBQAAABljdXJyZW50Q2VydGlmaWNhdGlvblByaWNlAAAAAAAAAAACAwkBAAAAASEAAAABCQEAAAAQYWNjZXB0ZWRBc3NldElkcwAAAAEFAAAAB2Fzc2V0SWQJAAACAAAAAQIAAAASYXNzZXQgbm90IGFjY2VwdGVkAwkAAGYAAAACBQAAAA9taW5BcnR3b3JrUHJpY2UFAAAABmFtb3VudAkAAAIAAAABAgAAABdCaWQgaXMgYmVsb3cgbWluIHByaWNlIQQAAAAKYW1vdW50U29sZAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAlrZXlJc3N1ZWQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAAptYXhDYW5TZWxsCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACmtleU1heE1pbnQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkAwkAAGcAAAACAAAAAAAAAAAABQAAAAptYXhDYW5TZWxsCQAAAgAAAAECAAAAI05vIG1heCBlZGl0aW9uIHNldCBmb3IgdGhpcyBhcnR3b3JrAwkAAGcAAAACBQAAAAphbW91bnRTb2xkBQAAAAptYXhDYW5TZWxsCQAAAgAAAAECAAAAGFNvbGQgb3V0LCB5b3UgY2Fubm90IGJpZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAEYmlkXwUAAAAFYXJ0SWQCAAAAAV8FAAAABmlzc3VlcgIAAAABXwUAAAAGY2FsbGVyAgAAAAFfBQAAAAJpZAIAAAAFX09QRU4JAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAHYXNzZXRJZAIAAAABXwkAAaQAAAABBQAAAAZhbW91bnQCAAAAAV8JAAGkAAAAAQUAAAAEZGF0ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJjdXJyZW50X2JpZGFtb3VudF8FAAAABWFydElkCQAAZAAAAAIFAAAABmJpZE5icgAAAAAAAAAAAQUAAAADbmlsAQAAABFzZXRCaWRUcmFkaXRpb25hbAAAAAMAAAABaQAAAAVhcnRJZAAAAAZpc3N1ZXIEAAAACWVuZEhlaWdodAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAxrZXlFbmRIZWlnaHQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAApoaWdoZXN0QmlkCQEAAAAaZ2V0QW1vdW50SGlnaGVzdEJpZEJ5QXJ0SWQAAAABBQAAAAVhcnRJZAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAAllbmRIZWlnaHQJAAACAAAAAQIAAAAhVGhpcyBhdWN0aW9uIGlzIGZpbmlzaGVkIGFscmVhZHkhBAAAAAtjYWxsZGVyRGF0YQkBAAAADGlkQ2FsbGVyRGF0ZQAAAAEFAAAAAWkEAAAAAmlkCAUAAAALY2FsbGRlckRhdGEAAAACXzEEAAAABmNhbGxlcggFAAAAC2NhbGxkZXJEYXRhAAAAAl8yBAAAAARkYXRlCAUAAAALY2FsbGRlckRhdGEAAAACXzMEAAAADGlzUGF5bWVudFZhcgkBAAAACWlzUGF5bWVudAAAAAEFAAAAAWkEAAAAB3BheW1lbnQIBQAAAAxpc1BheW1lbnRWYXIAAAACXzEEAAAABmFtb3VudAgFAAAADGlzUGF5bWVudFZhcgAAAAJfMgMJAABnAAAAAgUAAAAKaGlnaGVzdEJpZAUAAAAGYW1vdW50CQAAAgAAAAEJAAEsAAAAAgIAAAAgUGxlYXNlIHBsYWNlIGEgYmlkIGhpZ2hlciB0aGFuOiAJAAGkAAAAAQUAAAAKaGlnaGVzdEJpZAQAAAAHYXNzZXRJZAMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAWT25seSBVU0ROIGlzIGFjY2VwdGVkIQkAAlgAAAABCQEAAAAFdmFsdWUAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBAAAAAZiaWROYnIJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQABLAAAAAICAAAAEmN1cnJlbnRfYmlkYW1vdW50XwUAAAAFYXJ0SWQEAAAAD21pbkFydHdvcmtQcmljZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAhrZXlQcmljZQAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQJAABoAAAAAgUAAAAZY3VycmVudENlcnRpZmljYXRpb25QcmljZQAAAAAAAAAAAgMJ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bid0IHJlc3RhcnQgYXVjdGlvbiwgbWF4IGFtb3VudCBzb2xkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAMa2V5RW5kSGVpZ2h0AAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAUAAAAJZW5kSGVpZ2h0CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABJrZXlIaWdoZXN0QmlkQmlkSWQAAAABBQAAAAVhcnRJZAUAAAADbmlsCQAAAgAAAAECAAAAJFByZXZpb3VzIGF1Y3Rpb24gaXNuJ3QgY29tcGxldGVkIHlldAEAAAAUYWNjZXB0QmlkVHJhZGl0aW9uYWwAAAAFAAAAAWkAAAAFYXJ0SWQAAAAGaXNzdWVyAAAABWJpZElkAAAACGJpZE93bmVyBAAAAAllbmRIZWlnaHQJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAMa2V5RW5kSGVpZ2h0AAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAQAAAAMaGlnaGVzdEJpZElkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAASa2V5SGlnaGVzdEJpZEJpZElkAAAAAQUAAAAFYXJ0SWQDCQAAZgAAAAIFAAAABmhlaWdodAUAAAAJZW5kSGVpZ2h0AwkAAAAAAAACBQAAAAViaWRJZAUAAAAMaGlnaGVzdEJpZElkBAAAAAtidXlNaW50RGF0YQkBAAAAB2J1eU1pbnQAAAAGBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyBQAAAAViaWRJZAUAAAAIYmlkT3duZXIGBAAAABJyZXN0YXJ0QXVjdGlvbkRhdGEJAQAAAA5yZXN0YXJ0QXVjdGlvbgAAAAIFAAAABWFydElkBQAAAAZpc3N1ZXIJAAROAAAAAgUAAAAScmVzdGFydEF1Y3Rpb25EYXRhBQAAAAtidXlNaW50RGF0YQkAAAIAAAABAgAAABxUaGlzIGlzIG5vdCB0aGUgd2lubmluZyBiaWQhCQAAAgAAAAECAAAAIVRoaXMgYXVjdGlvbiBpcyBub3QgeWV0IGZpbmlzaGVkIQEAAAANY2FuY2VsQmlkSW1wbAAAAAQAAAABaQAAAAVhcnRJZAAAAAZpc3N1ZXIAAAAFYmlkSWQEAAAADHQw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AAADbmlsCQACWAAAAAEFAAAABWlkTkZUCQAAAgAAAAECAAAAHE9ubHkgdGhlIGRBcHAgY2FuIG1pbnQgTkZUJ3MAAAABaQEAAAAKYWRkQXJ0d29yawAAAAoAAAAKc2hhMjU2SGFzaAAAAARuYW1lAAAAC2Rlc2NyaXB0aW9uAAAABHRhZ3MAAAAEdHlwZQAAAApjaWREaXNwbGF5AAAAC2VudGl0bGVtZW50AAAAB3ByZXZpZXcAAAAKY29sbGVjdGlvbgAAAA1zdWJDb2xsZWN0aW9uBAAAAAx0MDE3NzQwMTc3ODEJAQAAAAxpZENhbGxlckRhdGUAAAABBQAAAAFpBAAAAAVhcnRJZAgFAAAADHQwMTc3NDAxNzc4MQAAAAJfMQQAAAAGY2FsbGVyCAUAAAAMdDAxNzc0MDE3NzgxAAAAAl8yBAAAAARkYXRlCAUAAAAMdDAxNzc0MDE3NzgxAAAAAl8zAwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAABXR5cGVzBQAAAAR0eXBlBAAAAA92YWxpZGF0ZUFydHdvcmsJAQAAABN2YWxpZGF0ZUFydHdvcmtEYXRhAAAABQUAAAAGY2FsbGVyBQAAAApjaWREaXNwbGF5BQAAAARuYW1lBQAAAAtkZXNjcmlwdGlvbgUAAAAEdGFncwMJAQAAAAIhPQAAAAIFAAAAD3ZhbGlkYXRlQXJ0d29yawIAAAAACQAAAgAAAAECAAAAFVNvbWV0aGluZyB3ZW50IHdyb25nIQQAAAAMdDAxODE3MDE4MjEyCQEAAAAPdmFsaWRhdGVQYXltZW50AAAAAQUAAAABaQQAAAAGYW1vdW50CAUAAAAMdDAxODE3MDE4MjEyAAAAAl8xBAAAAAdhc3NldElkCAUAAAAMdDAxODE3MDE4MjEyAAAAAl8yAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAGYW1vdW50CQAAAgAAAAECAAAAFFNvbWV0aGluZyB3ZW50IHdyb25nBAAAAAtwcmV2aWV3RGF0YQMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACBQAAAAxQcmV2aWV3dHlwZXMFAAAABHR5cGUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleVByZXZpZXdDaWQAAAAC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B21heE1pbnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAtrZXlEdXJhdGlvbgAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAACGR1cmF0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAMa2V5RW5kSGVpZ2h0AAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAJZW5kSGVpZ2h0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlBc3NldElkQWNjZXB0ZWQAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAAdhc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA5rZXlBdWN0aW9uVHlwZQAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAAC2F1Y3Rpb25UeXBlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAKa2V5Um95YWx0eQAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAAB3JveWFsdHkFAAAAA25pbAAAAAFpAQAAAApidXlBcnR3b3JrAAAAAgAAAAVhcnRJZAAAAAZpc3N1ZXIEAAAAC2F1Y3Rpb25UeXBlCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAOa2V5QXVjdGlvblR5cGUAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkAwkAAAAAAAACBQAAAAthdWN0aW9uVHlwZQUAAAAMYXVjdGlvblR5cGUzCQEAAAAHYnV5TWludAAAAAYFAAAAAWkFAAAABWFydElkBQAAAAZpc3N1ZXICAAAAAAIAAAAABwkAAAIAAAABAgAAADREaXJlY3QgYnV5IG9ubHkgYWxsb3dlZCB3aGVuIG5vIGF1Y3Rpb24gdHlwZSBpcyBzZXQhAAAAAWkBAAAACnVwZGF0ZVRhZ3MAAAADAAAABmFydGlzdAAAAAVhcnRJZAAAAAR0YWdzBAAAAAZjYWxsZXIJAAQlAAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAABm93bmVycwUAAAAGY2FsbGVyAwkAAGYAAAACCQABkAAAAAEJAAS1AAAAAgUAAAAEdGFncwIAAAABLAAAAAAAAAAABQkAAAIAAAABAgAAAAs1IHRhZ3MgbWF4LgQAAAAHdGFnc09sZAkBAAAAFWdldFN0cmluZ0J5S2V5T3JFcnJvcgAAAAIJAQAAAAdrZXlUYWdzAAAAAgUAAAAGYXJ0aXN0BQAAAAVhcnRJZAIAAAAvTm8gdGFncyBjcmVhdGVkIHdpdGggdGhpcyBrZXksIHNvIGNhbid0IHVwZGF0ZSEDCQAAAAAAAAIFAAAABHRhZ3MFAAAAB3RhZ3NPbGQJAAACAAAAAQIAAAAeVGFncyBhcmUgdGhlIHNhbWUgYXMgb2xkIHRhZ3MhCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdrZXlUYWdzAAAAAgUAAAAGYXJ0aXN0BQAAAAVhcnRJZAUAAAAEdGFncwUAAAADbmlsCQAAAgAAAAECAAAAAm5vAAAAAWkBAAAAC2RlbGV0ZUVudHJ5AAAAAQAAAAVlbnRyeQQAAAAGY2FsbGVyCQAEJQAAAAEJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACBQAAAAZvd25lcnMFAAAABmNhbGxlcgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAVlbnRyeQUAAAADbmlsCQAAAgAAAAECAAAAAm5vAAAAAWkBAAAABnNldEJpZAAAAAIAAAAFYXJ0SWQAAAAGaXNzdWVyBAAAAAthdWN0aW9uVHlwZQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADmtleUF1Y3Rpb25UeXBlAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAMJAAAAAAAAAgUAAAALYXVjdGlvblR5cGUFAAAADGF1Y3Rpb25UeXBlMQkBAAAAFHNldEJpZE5vblRyYWRpdGlvbmFsAAAAAwUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgMJAAAAAAAAAgUAAAALYXVjdGlvblR5cGUFAAAADGF1Y3Rpb25UeXBlMgkBAAAAEXNldEJpZFRyYWRpdGlvbmFsAAAAAwUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAWVW5rbm93biBhdWN0aW9uIHR5cGUgOgUAAAALYXVjdGlvblR5cGUCAAAAGywgcGxlYXNlIGNvbnRhY3QgdGhlIGFkbWlucwAAAAFpAQAAAAlhY2NlcHRCaWQAAAAEAAAABWFydElkAAAABmlzc3VlcgAAAAViaWRJZAAAAAhiaWRPd25lcgQAAAALYXVjdGlvblR5cGUJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA5rZXlBdWN0aW9uVHlwZQAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDCQAAAAAAAAIFAAAAC2F1Y3Rpb25UeXBlBQAAAAxhdWN0aW9uVHlwZTEJAQAAABdhY2NlcHRCaWROb25UcmFkaXRpb25hbAAAAAUFAAAAAWkFAAAABWFydElkBQAAAAZpc3N1ZXIFAAAABWJpZElkBQAAAAhiaWRPd25lcgMJAAAAAAAAAgUAAAALYXVjdGlvblR5cGUFAAAADGF1Y3Rpb25UeXBlMgkBAAAAFGFjY2VwdEJpZFRyYWRpdGlvbmFsAAAABQUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgUAAAAFYmlkSWQFAAAACGJpZE93bmVyCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABZVbmtub3duIGF1Y3Rpb24gdHlwZSA6BQAAAAthdWN0aW9uVHlwZQIAAAAbLCBwbGVhc2UgY29udGFjdCB0aGUgYWRtaW5zAAAAAWkBAAAACWNhbmNlbEJpZAAAAAMAAAAFYXJ0SWQAAAAGaXNzdWVyAAAABWJpZElkBAAAAAthdWN0aW9uVHlwZQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADmtleUF1Y3Rpb25UeXBlAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAMJAAAAAAAAAgUAAAALYXVjdGlvblR5cGUFAAAADGF1Y3Rpb25UeXBlMQkBAAAADWNhbmNlbEJpZEltcGwAAAAEBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyBQAAAAViaWRJZAkBAAAAGGNhbmNlbEJpZEltcGxUcmFkaXRpb25hbAAAAAQFAAAAAWkFAAAABWFydElkBQAAAAZpc3N1ZXIFAAAABWJpZElkAAAAAC/Gl+M=", "height": 1842442, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Af15ss46Z1dwFZpS5Jy4j1KyaXhiAqWWC6DCD2Ty3FXp Next: FxH1v66t4xmAL5L6mjo3tSpjRaKCRXX2TU1hwzVLETT Diff:
OldNewDifferences
3333
3434 let p = "UNREGISTERED"
3535
36-let q = "ALLOWED"
36+let q = "BIDTYPE"
3737
38-let r = "BIDTYPE"
38+let r = "TRADITIONAL"
3939
40-let s = "TRADITIONAL"
40+let s = "DIRECT"
4141
42-let t = "DIRECT"
43-
44-func u (v) = valueOrElse(getString(e, v), "")
42+func t (u) = valueOrElse(getString(e, u), "")
4543
4644
47-func w (v) = valueOrElse(getString(this, v), "")
45+func v (u) = valueOrElse(getString(this, u), "")
4846
4947
50-func x (v,y) = valueOrErrorMessage(getString(this, v), y)
48+func w (u,x) = valueOrErrorMessage(getString(this, u), x)
5149
5250
53-func z (v) = valueOrErrorMessage(getInteger(b, v), "Integer undefine or 0 in oracle")
51+func y (u) = valueOrErrorMessage(getInteger(b, u), "Integer undefine or 0 in oracle")
5452
5553
56-func A (v) = valueOrElse(getInteger(this, v), 0)
54+func z (u) = valueOrElse(getInteger(this, u), 0)
5755
5856
59-func B (v) = valueOrElse(getInteger(f, v), 0)
57+func A (u) = valueOrElse(getInteger(f, u), 0)
6058
6159
62-func C (v) = valueOrElse(getBoolean(this, v), false)
60+func B (u) = valueOrElse(getBoolean(this, u), false)
6361
6462
65-func D (E) = (size(E) == 64)
63+func C (D) = (size(D) == 64)
6664
6765
68-func F (G) = ("user_status_" + G)
66+func E (F) = ("user_status_" + F)
6967
7068
71-func H (G,I) = ((("art_date_" + I) + "_") + G)
69+func G (F,H) = ((("art_date_" + H) + "_") + F)
7270
7371
74-func J (G,I) = ((("art_name_" + I) + "_") + G)
72+func I (F,H) = ((("art_name_" + H) + "_") + F)
7573
7674
77-func K (G,I) = ((("art_desc_" + I) + "_") + G)
75+func J (F,H) = ((("art_desc_" + H) + "_") + F)
7876
7977
80-func L (G,I) = ((("art_display_cid_" + I) + "_") + G)
78+func K (F,H) = ((("art_display_cid_" + H) + "_") + F)
8179
8280
83-func M (G,I) = ((("art_preview_cid_" + I) + "_") + G)
81+func L (F,H) = ((("art_preview_cid_" + H) + "_") + F)
8482
8583
86-func N (G,I) = ((("art_maxmint_" + I) + "_") + G)
84+func M (F,H) = ((("art_maxmint_" + H) + "_") + F)
8785
8886
89-func O (I) = ("art_highestBidBidId_" + I)
87+func N (H) = ("art_highestBidBidId_" + H)
9088
9189
92-func P (Q) = ("bid_" + Q)
90+func O (P) = ("bid_" + P)
9391
9492
95-func R (G,I) = ((("art_duration_" + I) + "_") + G)
93+func Q (F,H) = ((("art_duration_" + H) + "_") + F)
9694
9795
98-func S (G,I) = ((("art_endheight_" + I) + "_") + G)
96+func R (F,H) = ((("art_endheight_" + H) + "_") + F)
9997
10098
101-func T (G,I) = ((("art_auctiontype_" + I) + "_") + G)
99+func S (F,H) = ((("art_auctiontype_" + H) + "_") + F)
102100
103101
104-func U (G,I) = ((("art_issued_" + I) + "_") + G)
102+func T (F,H) = ((("art_issued_" + H) + "_") + F)
105103
106104
107-func V (W) = ("nft_issued_" + W)
105+func U (V) = ("nft_issued_" + V)
108106
109107
110-func X (W) = ("nft_artId_" + W)
108+func W (V) = ("nft_artId_" + V)
111109
112110
113-func Y (G,I) = ((("art_royalty_" + I) + "_") + G)
111+func X (F,H) = ((("art_royalty_" + H) + "_") + F)
114112
115113
116-func Z (G,I) = ((("art_onsale_" + I) + "_") + G)
114+func Y (F,H) = ((("art_onsale_" + H) + "_") + F)
117115
118116
119-func aa (G,I) = ((("art_entitlement_" + I) + "_") + G)
117+func Z (F,H) = ((("art_entitlement_" + H) + "_") + F)
120118
121119
122-func ab (G,I) = ((("art_tags_" + I) + "_") + G)
120+func aa (F,H) = ((("art_tags_" + H) + "_") + F)
123121
124122
125-func ac (G,I) = ((("art_type_" + I) + "_") + G)
123+func ab (F,H) = ((("art_type_" + H) + "_") + F)
126124
127125
128-func ad (G,I) = ((("art_price_" + I) + "_") + G)
126+func ac (F,H) = ((("art_price_" + H) + "_") + F)
129127
130128
131-func ae (G,I) = ((("art_assetAccepted_" + I) + "_") + G)
129+func ad (F,H) = ((("art_assetAccepted_" + H) + "_") + F)
132130
133131
134-func af (G,ag) = ((("get_hashbytxidaddr_" + ag) + "_") + G)
132+func ae (F,af) = ((("get_hashbytxidaddr_" + af) + "_") + F)
135133
136134
137-func ah (ai) = ("get_owner_by_hash_" + ai)
135+func ag (ah) = ("get_owner_by_hash_" + ah)
138136
139137
140-func aj (ai,G) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((ai + G)))))
138+func ai (ah,F) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((ah + F)))))
141139
142140
143-let ak = z(("certification_fee_" + toBase58String(g)))
141+let aj = y(("certification_fee_" + toBase58String(g)))
144142
145-func al (Q) = valueOrElse(A(P(Q)), 0)
143+func ak (P) = valueOrElse(z(O(P)), 0)
146144
147145
148-func am (I) = {
149- let Q = w(O(I))
150- if ((Q == ""))
146+func al (H) = {
147+ let P = v(N(H))
148+ if ((P == ""))
151149 then 0
152- else al(Q)
150+ else ak(P)
153151 }
154152
155153
156-func an (ao,ap) = if ((size(ao) == 0))
154+func am (an,ao) = if ((size(an) == 0))
157155 then throw("Field cannot be is empty")
158- else if ((size(ao) > ap))
159- then throw((ao + " is too long"))
156+ else if ((size(an) > ao))
157+ then throw((an + " is too long"))
160158 else true
161159
162160
163-func aq (G) = {
164- let ar = valueOrElse(getString(e, F(G)), p)
165- if (if ((ar == p))
166- then true
167- else (ar == q))
161+func ap (F) = {
162+ let aq = valueOrElse(getString(e, E(F)), p)
163+ if ((aq == p))
168164 then "Register this account first with 'Account' tab"
169- else if ((ar == n))
165+ else if ((aq == n))
170166 then "Account suspended"
171- else if ((ar == o))
167+ else if ((aq == o))
172168 then "Account removed"
173169 else ""
174170 }
175171
176172
177-func as (G,at,au,av,aw) = {
178- let ax = aq(G)
179- if ((ax != ""))
180- then throw(ax)
181- else if ((size(at) == 0))
173+func ar (F,as,at,au,av) = {
174+ let aw = ap(F)
175+ if ((aw != ""))
176+ then throw(aw)
177+ else if ((size(as) == 0))
182178 then throw("Display CID cannot be empty")
183- else if ((size(at) != 46))
179+ else if ((size(as) != 46))
184180 then throw("This doesn't seem a valid CID!")
185- else if (!(an(au, 100)))
181+ else if (!(am(at, 100)))
186182 then throw("100 Char. max name")
187- else if (!(an(av, 1000)))
183+ else if (!(am(au, 1000)))
188184 then throw("1000 Char. max description")
189- else if ((size(split(aw, ",")) > 5))
185+ else if ((size(split(av, ",")) > 5))
190186 then throw("5 tags max.")
191187 else ""
192188 }
193189
194190
195-func ay (az) = if ((size(az.payments) == 0))
191+func ax (ay) = if ((size(ay.payments) == 0))
196192 then throw("No payment attached")
197193 else {
198- let aA = value(az.payments[0])
199- let aB = value(aA.amount)
200- $Tuple2(aA, aB)
194+ let az = value(ay.payments[0])
195+ let aA = value(az.amount)
196+ $Tuple2(az, aA)
201197 }
202198
203199
204-func aC (az) = {
205- let aD = ay(az)
206- let aA = aD._1
207- let aB = aD._2
208- let aE = if (if (isDefined(aA.assetId))
209- then (aA.assetId == g)
200+func aB (ay) = {
201+ let aC = ax(ay)
202+ let az = aC._1
203+ let aA = aC._2
204+ let aD = if (if (isDefined(az.assetId))
205+ then (az.assetId == g)
210206 else false)
211- then aA.assetId
207+ then az.assetId
212208 else throw("Only USDN token accepted as transaction fee")
213- if ((aB != ak))
214- then throw(((("Payment amount should be " + toString(ak)) + " but is: ") + toString(aB)))
215- else $Tuple2(aB, aE)
209+ if ((aA != aj))
210+ then throw(((("Payment amount should be " + toString(aj)) + " but is: ") + toString(aA)))
211+ else $Tuple2(aA, aD)
216212 }
217213
218214
219-func aF (aG,I) = {
220- let aH = getInteger(this, U(aG, I))
221- if ($isInstanceOf(aH, "Int"))
215+func aE (aF,H) = {
216+ let aG = getInteger(this, T(aF, H))
217+ if ($isInstanceOf(aG, "Int"))
222218 then {
223- let aI = aH
224- if ((aI != 0))
219+ let aH = aG
220+ if ((aH != 0))
225221 then true
226222 else false
227223 }
229225 }
230226
231227
232-func aJ (az,aK,aL) = {
233- let aM = ay(az)
234- let aA = aM._1
235- let aB = aM._2
236- let aE = if (!(isDefined(aA.assetId)))
228+func aI (ay,aJ,aK) = {
229+ let aL = ax(ay)
230+ let az = aL._1
231+ let aA = aL._2
232+ let aD = if (!(isDefined(az.assetId)))
237233 then throw("Wrong asset id")
238- else if (if ((size(aK) > 0))
239- then (toBase58String(value(aA.assetId)) == aK)
234+ else if (if ((size(aJ) > 0))
235+ then (toBase58String(value(az.assetId)) == aJ)
240236 else false)
241- then aA.assetId
237+ then az.assetId
242238 else throw("Wrong asset id")
243- if (if ((aE == unit))
244- then (aK != "")
239+ if (if ((aD == unit))
240+ then (aJ != "")
245241 else false)
246242 then throw("Wrong asset id")
247- else if ((aL != aB))
248- then throw(((("Payment don't match " + toString(aL)) + " ") + toString(aB)))
249- else $Tuple2(aB, aE)
243+ else if ((aK != aA))
244+ then throw(((("Payment don't match " + toString(aK)) + " ") + toString(aA)))
245+ else $Tuple2(aA, aD)
250246 }
251247
252248
253-func aN (aE) = if ((aE != toBase58String(g)))
249+func aM (aD) = if ((aD != toBase58String(g)))
254250 then throw("Only USDN accepted")
255251 else true
256252
257253
258-func aO (aE,aP) = {
259- let aQ = if (a)
254+func aN (aD,aO) = {
255+ let aP = if (a)
260256 then 1
261- else (ak * 2)
262- if (if (if ((aE == toBase58String(g)))
263- then (aQ > aP)
257+ else (aj * 2)
258+ if (if (if ((aD == toBase58String(g)))
259+ then (aP > aO)
264260 else false)
265- then (aP != 0)
261+ then (aO != 0)
266262 else false)
267- then throw(("Wrong minimum sell price " + toString(aQ)))
263+ then throw(("Wrong minimum sell price " + toString(aP)))
268264 else true
269265 }
270266
271267
272-func aR (aE) = if ((aE == "WAVES"))
268+func aQ (aD) = if ((aD == "WAVES"))
273269 then throw("Only USDN is accepted!")
274- else fromBase58String(aE)
270+ else fromBase58String(aD)
275271
276272
277-func aS (aT) = {
278- let aU = w((aT + "_OPEN"))
279- if ((aU == ""))
273+func aR (aS) = {
274+ let aT = v((aS + "_OPEN"))
275+ if ((aT == ""))
280276 then throw("Bid not found")
281277 else {
282- let aV = split(aU, "_")
283- let aW = parseIntValue(aV[1])
284- let aX = aR(aV[0])
285- if ((0 >= aW))
278+ let aU = split(aT, "_")
279+ let aV = parseIntValue(aU[1])
280+ let aW = aQ(aU[0])
281+ if ((0 >= aV))
286282 then throw("Wrong amount")
287- else $Tuple2(aW, aX)
283+ else $Tuple2(aV, aW)
288284 }
289285 }
290286
291287
292-func aY (az) = if (!(l))
288+func aX (ay) = if (!(l))
293289 then throw(m)
294- else $Tuple3(toBase58String(az.transactionId), toBase58String(az.caller.bytes), lastBlock.timestamp)
290+ else $Tuple3(toBase58String(ay.transactionId), toBase58String(ay.caller.bytes), lastBlock.timestamp)
295291
296292
297-func aZ (az,ba,bb,Q) = if (if (if ((toBase58String(az.caller.bytes) == ba))
298- then (bb != "")
293+func aY (ay,aZ,ba,P) = if (if (if ((toBase58String(ay.caller.bytes) == aZ))
294+ then (ba != "")
299295 else false)
300- then (Q != "")
296+ then (P != "")
301297 else false)
302298 then true
303299 else false
304300
305301
306-func bc (az,ba,I,bd) = {
307- let be = (toBase58String(az.caller.bytes) == ba)
308- let bf = A("total_nft_issued")
309- let bg = w(J(ba, I))
310- if ((bg == ""))
302+func bb (ay,aZ,H,bc) = {
303+ let bd = (toBase58String(ay.caller.bytes) == aZ)
304+ let be = z("total_nft_issued")
305+ let bf = v(I(aZ, H))
306+ if ((bf == ""))
311307 then throw("Art doesn't exist")
312308 else {
313- let bh = C(Z(ba, I))
314- let bi = A(U(ba, I))
315- let aL = valueOrElse(A(ad(ba, I)), (ak * 2))
316- let aK = if (be)
309+ let bg = B(Y(aZ, H))
310+ let bh = z(T(aZ, H))
311+ let aK = valueOrElse(z(ac(aZ, H)), (aj * 2))
312+ let aJ = if (bd)
317313 then toBase58String(g)
318- else w(ae(ba, I))
319- let bj = A(N(ba, I))
320- if (if (if (!(bd))
321- then !(be)
314+ else v(ad(aZ, H))
315+ let bi = z(M(aZ, H))
316+ if (if (if (!(bc))
317+ then !(bd)
322318 else false)
323- then if (if ((0 >= aL))
319+ then if (if ((0 >= aK))
324320 then true
325- else !(bh))
321+ else !(bg))
326322 then true
327- else (0 >= bj)
323+ else (0 >= bi)
328324 else false)
329325 then throw("Art not for sale")
330- else if (if (if (!(bd))
331- then be
326+ else if (if (if (!(bc))
327+ then bd
332328 else false)
333- then (0 >= bj)
329+ then (0 >= bi)
334330 else false)
335331 then throw("Max issuable not set")
336- else $Tuple7(bf, bg, bi, aL, aK, bj, bh)
332+ else $Tuple7(be, bf, bh, aK, aJ, bi, bg)
337333 }
338334 }
339335
340336
341-func bk (az,G,ba,I,bb,Q,aK,aL,bd) = {
342- let ax = aq(ba)
343- if (if (bd)
344- then (ax != "")
337+func bj (ay,F,aZ,H,ba,P,aJ,aK,bc) = {
338+ let aw = ap(aZ)
339+ if (if (bc)
340+ then (aw != "")
345341 else false)
346- then throw(ax)
342+ then throw(aw)
347343 else {
348- let aT = ((((((("bid_" + I) + "_") + ba) + "_") + bb) + "_") + Q)
349- let bl = if (bd)
350- then aS(aT)
351- else aJ(az, aK, aL)
352- let aB = bl._1
353- let aE = bl._2
354- $Tuple3(aT, aB, aE)
344+ let aS = ((((((("bid_" + H) + "_") + aZ) + "_") + ba) + "_") + P)
345+ let bk = if (bc)
346+ then aR(aS)
347+ else aI(ay, aJ, aK)
348+ let aA = bk._1
349+ let aD = bk._2
350+ $Tuple3(aS, aA, aD)
355351 }
356352 }
357353
358354
359-func bm (ba,aE,aB,bi,bj) = {
360- let bn = B(ba)
361- let bo = if ((bn > height))
355+func bl (aZ,aD,aA,bh,bi) = {
356+ let bm = A(aZ)
357+ let bn = if ((bm > height))
362358 then 0
363- else if ((aE == g))
359+ else if ((aD == g))
364360 then k
365361 else throw("Only USDN is accepted!")
366- let bp = fraction(aB, bo, 1000)
367- let bq = (aB - bp)
368- if ((bi == bj))
362+ let bo = fraction(aA, bn, 1000)
363+ let bp = (aA - bo)
364+ if ((bh == bi))
369365 then throw("Art sold out")
370366 else {
371- let br = (bi + 1)
372- $Tuple3(bp, bq, br)
367+ let bq = (bh + 1)
368+ $Tuple3(bo, bp, bq)
373369 }
374370 }
375371
376372
377-func bs (ba,I,bg,br,bj,bf,G,bb,Q,az,bh) = {
378- let bt = ((((((((("Creator: " + ba) + ",ArtID: ") + I) + ",Artwork name: ") + bg) + ",Issue: ") + toString(br)) + "/") + toString(bj))
379- let bu = if (if ((br == bj))
373+func br (aZ,H,bf,bq,bi,be,F,ba,P,ay,bg) = {
374+ let bs = ((((((((("Creator: " + aZ) + ",ArtID: ") + H) + ",Artwork name: ") + bf) + ",Issue: ") + toString(bq)) + "/") + toString(bi))
375+ let bt = if (if ((bq == bi))
380376 then true
381- else !(bh))
377+ else !(bg))
382378 then false
383379 else true
384- let bv = if ((bb != ""))
385- then addressFromStringValue(bb)
386- else az.caller
387- $Tuple3(bu, bv, bt)
380+ let bu = if ((ba != ""))
381+ then addressFromStringValue(ba)
382+ else ay.caller
383+ $Tuple3(bt, bu, bs)
388384 }
389385
390386
391-func bw (bx) = if ((4 > bx))
387+func bv (bw) = if ((4 > bw))
392388 then "SSR"
393- else if ((11 > bx))
389+ else if ((11 > bw))
394390 then "SR"
395- else if ((101 > bx))
391+ else if ((101 > bw))
396392 then "R"
397393 else "N"
398394
399395
400-func by (aE,aT,bz) = {
401- let bA = if (!(isDefined(aE)))
396+func bx (aD,aS,by) = {
397+ let bz = if (!(isDefined(aD)))
402398 then throw("Only USDN is accepted")
403- else toBase58String(value(aE))
404- let aU = w((aT + "_OPEN"))
405- let bB = DeleteEntry((aT + "_OPEN"))
406- let bC = StringEntry((aT + "_CLOSED"), ((aU + "_") + toString(bz)))
407- $Tuple3(bA, bB, bC)
399+ else toBase58String(value(aD))
400+ let aT = v((aS + "_OPEN"))
401+ let bA = DeleteEntry((aS + "_OPEN"))
402+ let bB = StringEntry((aS + "_CLOSED"), ((aT + "_") + toString(by)))
403+ $Tuple3(bz, bA, bB)
408404 }
409405
410406
411-func bD (az,I,ba,Q,bb,bd) = {
412- let bE = aY(az)
413- let bF = bE._1
414- let G = bE._2
415- let bz = bE._3
416- let bG = bc(az, ba, I, bd)
417- let bf = bG._1
418- let bg = bG._2
419- let bi = bG._3
420- let aL = bG._4
421- let aK = bG._5
422- let bj = bG._6
423- let bh = bG._7
424- let aU = bk(az, G, ba, I, bb, Q, aK, aL, bd)
425- let aT = aU._1
426- let aB = aU._2
427- let aE = aU._3
428- let bH = bm(ba, value(aE), aB, bi, bj)
429- let bp = bH._1
430- let bq = bH._2
431- let br = bH._3
432- let bI = bs(ba, I, bg, br, bj, bf, G, bb, Q, az, bh)
433- let bu = bI._1
434- let bv = bI._2
435- let bt = bI._3
436- let bJ = invoke(this, "mintNft", [bf, bt, toString(bv)], nil)
437- if ((bJ == bJ))
407+func bC (ay,H,aZ,P,ba,bc) = {
408+ let bD = aX(ay)
409+ let bE = bD._1
410+ let F = bD._2
411+ let by = bD._3
412+ let bF = bb(ay, aZ, H, bc)
413+ let be = bF._1
414+ let bf = bF._2
415+ let bh = bF._3
416+ let aK = bF._4
417+ let aJ = bF._5
418+ let bi = bF._6
419+ let bg = bF._7
420+ let aT = bj(ay, F, aZ, H, ba, P, aJ, aK, bc)
421+ let aS = aT._1
422+ let aA = aT._2
423+ let aD = aT._3
424+ let bG = bl(aZ, value(aD), aA, bh, bi)
425+ let bo = bG._1
426+ let bp = bG._2
427+ let bq = bG._3
428+ let bH = br(aZ, H, bf, bq, bi, be, F, ba, P, ay, bg)
429+ let bt = bH._1
430+ let bu = bH._2
431+ let bs = bH._3
432+ let bI = invoke(this, "mintNft", [be, bs, toString(bu)], nil)
433+ if ((bI == bI))
438434 then {
439- let bK = {
440- let aH = bJ
441- if ($isInstanceOf(aH, "String"))
435+ let bJ = {
436+ let aG = bI
437+ if ($isInstanceOf(aG, "String"))
442438 then {
443- let bL = aH
444- bL
439+ let bK = aG
440+ bK
445441 }
446442 else throw("Incorrect invoke result")
447443 }
448- let bM = by(aE, aT, bz)
449- let bA = bM._1
450- let bB = bM._2
451- let bC = bM._3
452- let bN = ((((((("art_sold_" + toString(br)) + "_of_") + toString(bj)) + "_") + I) + "_") + ba)
453- let bO = bw(br)
454- let bP = if (!(bd))
455- then ((((((((((G + "_") + toString(bz)) + "_") + bF) + "_") + toString(aL)) + "_") + aK) + "_") + bK)
456- else ((((((((((toString(bv) + "_") + toString(bz)) + "_") + bF) + "_") + toString(aB)) + "_") + bA) + "_") + bK)
457- let bQ = StringEntry(bN, bP)
458- let bR = [IntegerEntry(U(ba, I), br), StringEntry(("nft_" + bK), bN), StringEntry(("nft_rarity_" + bK), bO), IntegerEntry("total_nft_issued", (bf + 1)), BooleanEntry(Z(ba, I), bu), ScriptTransfer(Address(fromBase58String(ba)), bq, aE), ScriptTransfer(Address(fromBase58String(c)), bp, aE), StringEntry(V(bK), ba), StringEntry(X(bK), I)]
459- let bS = invoke(addressFromStringValue(d), "createCert", [toString(bv), bK, ba], nil)
460- if ((bS == bS))
461- then if (bd)
462- then (((bR :+ bQ) :+ bC) :+ bB)
463- else bQ :: bR
444+ let bL = bx(aD, aS, by)
445+ let bz = bL._1
446+ let bA = bL._2
447+ let bB = bL._3
448+ let bM = ((((((("art_sold_" + toString(bq)) + "_of_") + toString(bi)) + "_") + H) + "_") + aZ)
449+ let bN = bv(bq)
450+ let bO = if (!(bc))
451+ then ((((((((((F + "_") + toString(by)) + "_") + bE) + "_") + toString(aK)) + "_") + aJ) + "_") + bJ)
452+ else ((((((((((toString(bu) + "_") + toString(by)) + "_") + bE) + "_") + toString(aA)) + "_") + bz) + "_") + bJ)
453+ let bP = StringEntry(bM, bO)
454+ let bQ = [IntegerEntry(T(aZ, H), bq), StringEntry(("nft_" + bJ), bM), StringEntry(("nft_rarity_" + bJ), bN), IntegerEntry("total_nft_issued", (be + 1)), BooleanEntry(Y(aZ, H), bt), ScriptTransfer(Address(fromBase58String(aZ)), bp, aD), ScriptTransfer(Address(fromBase58String(c)), bo, aD), StringEntry(U(bJ), aZ), StringEntry(W(bJ), H)]
455+ let bR = invoke(addressFromStringValue(d), "createCert", [toString(bu), bJ, aZ], nil)
456+ if ((bR == bR))
457+ then if (bc)
458+ then (((bQ :+ bP) :+ bB) :+ bA)
459+ else bP :: bQ
464460 else throw("Strict value is not equal to itself.")
465461 }
466462 else throw("Strict value is not equal to itself.")
467463 }
468464
469465
470-func bT (az,I,ba) = {
471- let bU = aY(az)
472- let bF = bU._1
473- let G = bU._2
474- let bz = bU._3
475- let bV = ay(az)
476- let aA = bV._1
477- let aB = bV._2
478- let aE = if (!(isDefined(aA.assetId)))
466+func bS (ay,H,aZ) = {
467+ let bT = aX(ay)
468+ let bE = bT._1
469+ let F = bT._2
470+ let by = bT._3
471+ let bU = ax(ay)
472+ let az = bU._1
473+ let aA = bU._2
474+ let aD = if (!(isDefined(az.assetId)))
479475 then throw("Only USDN is accepted!")
480- else toBase58String(value(aA.assetId))
481- let bW = A(("current_bidamount_" + I))
482- let bX = valueOrElse(A(ad(ba, I)), (ak * 2))
483- if (!(aN(aE)))
476+ else toBase58String(value(az.assetId))
477+ let bV = z(("current_bidamount_" + H))
478+ let bW = valueOrElse(z(ac(aZ, H)), (aj * 2))
479+ if (!(aM(aD)))
484480 then throw("asset not accepted")
485- else if ((bX > aB))
481+ else if ((bW > aA))
486482 then throw("Bid is below min price!")
487483 else {
488- let bi = A(U(ba, I))
489- let bj = A(N(ba, I))
490- if ((0 >= bj))
484+ let bh = z(T(aZ, H))
485+ let bi = z(M(aZ, H))
486+ if ((0 >= bi))
491487 then throw("No max edition set for this artwork")
492- else if ((bi >= bj))
488+ else if ((bh >= bi))
493489 then throw("Sold out, you cannot bid")
494- else [StringEntry((((((((("bid_" + I) + "_") + ba) + "_") + G) + "_") + bF) + "_OPEN"), ((((aE + "_") + toString(aB)) + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + I), (bW + 1))]
490+ else [StringEntry((((((((("bid_" + H) + "_") + aZ) + "_") + F) + "_") + bE) + "_OPEN"), ((((aD + "_") + toString(aA)) + "_") + toString(by))), IntegerEntry(("current_bidamount_" + H), (bV + 1))]
495491 }
496492 }
497493
498494
499-func bY (az,I,ba) = {
500- let bZ = A(S(ba, I))
501- let ca = am(I)
502- if ((height > bZ))
495+func bX (ay,H,aZ) = {
496+ let bY = z(R(aZ, H))
497+ let bZ = al(H)
498+ if ((height > bY))
503499 then throw("This auction is finished already!")
504500 else {
505- let cb = aY(az)
506- let bF = cb._1
507- let G = cb._2
508- let bz = cb._3
509- let cc = ay(az)
510- let aA = cc._1
511- let aB = cc._2
512- if ((ca >= aB))
513- then throw(("Please place a bid higher than: " + toString(ca)))
501+ let ca = aX(ay)
502+ let bE = ca._1
503+ let F = ca._2
504+ let by = ca._3
505+ let cb = ax(ay)
506+ let az = cb._1
507+ let aA = cb._2
508+ if ((bZ >= aA))
509+ then throw(("Please place a bid higher than: " + toString(bZ)))
514510 else {
515- let aE = if (!(isDefined(aA.assetId)))
511+ let aD = if (!(isDefined(az.assetId)))
516512 then throw("Only USDN is accepted!")
517- else toBase58String(value(aA.assetId))
518- let bW = A(("current_bidamount_" + I))
519- let bX = valueOrElse(A(ad(ba, I)), (ak * 2))
520- if (!(aN(aE)))
513+ else toBase58String(value(az.assetId))
514+ let bV = z(("current_bidamount_" + H))
515+ let bW = valueOrElse(z(ac(aZ, H)), (aj * 2))
516+ if (!(aM(aD)))
521517 then throw("asset not accepted")
522- else if ((bX > aB))
518+ else if ((bW > aA))
523519 then throw("Bid is below min price!")
524520 else {
525- let bi = A(U(ba, I))
526- let bj = A(N(ba, I))
527- if ((0 >= bj))
521+ let bh = z(T(aZ, H))
522+ let bi = z(M(aZ, H))
523+ if ((0 >= bi))
528524 then throw("No max edition set for this artwork")
529- else if ((bi >= bj))
525+ else if ((bh >= bi))
530526 then throw("Sold out, you cannot bid")
531- else [StringEntry((((((((("bid_" + I) + "_") + ba) + "_") + G) + "_") + bF) + "_OPEN"), ((((aE + "_") + toString(aB)) + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + I), (bW + 1)), StringEntry(O(I), toBase58String(az.transactionId)), IntegerEntry(P(toBase58String(az.transactionId)), aB)]
527+ else [StringEntry((((((((("bid_" + H) + "_") + aZ) + "_") + F) + "_") + bE) + "_OPEN"), ((((aD + "_") + toString(aA)) + "_") + toString(by))), IntegerEntry(("current_bidamount_" + H), (bV + 1)), StringEntry(N(H), toBase58String(ay.transactionId)), IntegerEntry(O(toBase58String(ay.transactionId)), aA)]
532528 }
533529 }
534530 }
535531 }
536532
537533
538-func cd (az,I,ba,Q,bb) = {
539- let G = toBase58String(az.caller.bytes)
540- if ((G != ba))
534+func cc (ay,H,aZ,P,ba) = {
535+ let F = toBase58String(ay.caller.bytes)
536+ if ((F != aZ))
541537 then throw("You cannot do this action")
542- else bD(az, I, ba, Q, bb, true)
538+ else bC(ay, H, aZ, P, ba, true)
543539 }
544540
545541
546-func ce (I,ba) = {
547- let bi = A(U(ba, I))
548- let bj = A(N(ba, I))
549- let cf = A(S(ba, I))
550- let cg = A(R(ba, I))
551- let bZ = (cg + height)
552- if ((height > cf))
553- then if ((bi == bj))
542+func cd (H,aZ) = {
543+ let bh = z(T(aZ, H))
544+ let bi = z(M(aZ, H))
545+ let ce = z(R(aZ, H))
546+ let cf = z(Q(aZ, H))
547+ let bY = (cf + height)
548+ if ((height > ce))
549+ then if ((bh == bi))
554550 then throw("Can't restart auction, max amount sold")
555- else [IntegerEntry(S(ba, I), bZ), DeleteEntry(O(I))]
551+ else [IntegerEntry(R(aZ, H), bY), DeleteEntry(N(H))]
556552 else throw("Previous auction isn't completed yet")
557553 }
558554
559555
560-func ch (az,I,ba,Q,bb) = {
561- let bZ = A(S(ba, I))
562- let ci = w(O(I))
563- if ((height > bZ))
564- then if ((Q == ci))
556+func cg (ay,H,aZ,P,ba) = {
557+ let bY = z(R(aZ, H))
558+ let ch = v(N(H))
559+ if ((height > bY))
560+ then if ((P == ch))
565561 then {
566- let cj = bD(az, I, ba, Q, bb, true)
567- let ck = ce(I, ba)
568- (ck ++ cj)
562+ let ci = bC(ay, H, aZ, P, ba, true)
563+ let cj = cd(H, aZ)
564+ (cj ++ ci)
569565 }
570566 else throw("This is not the winning bid!")
571567 else throw("This auction is not yet finished!")
572568 }
573569
574570
575-func cl (az,I,ba,Q) = {
576- let cm = aY(az)
577- let bF = cm._1
578- let G = cm._2
579- let bz = cm._3
580- let bW = A(("current_bidamount_" + I))
581- let aT = ((((((("bid_" + I) + "_") + ba) + "_") + G) + "_") + Q)
582- let aU = x((aT + "_OPEN"), "Bid not found")
583- let aV = split(aU, "_")
584- let aE = aR(aV[0])
585- let cn = "CANCELED"
586-[DeleteEntry((aT + "_OPEN")), StringEntry(((aT + "_") + cn), ((aU + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + I), (bW - 1)), ScriptTransfer(Address(fromBase58String(G)), parseIntValue(aV[1]), aE)]
571+func ck (ay,H,aZ,P) = {
572+ let cl = aX(ay)
573+ let bE = cl._1
574+ let F = cl._2
575+ let by = cl._3
576+ let bV = z(("current_bidamount_" + H))
577+ let aS = ((((((("bid_" + H) + "_") + aZ) + "_") + F) + "_") + P)
578+ let aT = w((aS + "_OPEN"), "Bid not found")
579+ let aU = split(aT, "_")
580+ let aD = aQ(aU[0])
581+ let cm = "CANCELED"
582+[DeleteEntry((aS + "_OPEN")), StringEntry(((aS + "_") + cm), ((aT + "_") + toString(by))), IntegerEntry(("current_bidamount_" + H), (bV - 1)), ScriptTransfer(Address(fromBase58String(F)), parseIntValue(aU[1]), aD)]
587583 }
588584
589585
590-func co (az,I,ba,Q) = {
591- let cm = aY(az)
592- let bF = cm._1
593- let G = cm._2
594- let bz = cm._3
595- let bW = A(("current_bidamount_" + I))
596- let aT = ((((((("bid_" + I) + "_") + ba) + "_") + G) + "_") + Q)
597- let aU = x((aT + "_OPEN"), "Bid not found")
598- let aV = split(aU, "_")
599- let aE = aR(aV[0])
600- let cn = "CANCELED"
601- let aW = parseIntValue(aV[1])
602- let ci = w(O(I))
603- if ((Q == ci))
586+func cn (ay,H,aZ,P) = {
587+ let cl = aX(ay)
588+ let bE = cl._1
589+ let F = cl._2
590+ let by = cl._3
591+ let bV = z(("current_bidamount_" + H))
592+ let aS = ((((((("bid_" + H) + "_") + aZ) + "_") + F) + "_") + P)
593+ let aT = w((aS + "_OPEN"), "Bid not found")
594+ let aU = split(aT, "_")
595+ let aD = aQ(aU[0])
596+ let cm = "CANCELED"
597+ let aV = parseIntValue(aU[1])
598+ let ch = v(N(H))
599+ if ((P == ch))
604600 then throw("You can't cancel the highest bid!")
605- else [DeleteEntry((aT + "_OPEN")), StringEntry(((aT + "_") + cn), ((aU + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + I), (bW - 1)), ScriptTransfer(Address(fromBase58String(G)), aW, aE)]
601+ else [DeleteEntry((aS + "_OPEN")), StringEntry(((aS + "_") + cm), ((aT + "_") + toString(by))), IntegerEntry(("current_bidamount_" + H), (bV - 1)), ScriptTransfer(Address(fromBase58String(F)), aV, aD)]
606602 }
607603
608604
609-@Callable(az)
610-func mintNft (bf,bt,bv) = if ((az.caller == this))
605+@Callable(ay)
606+func mintNft (be,bs,bu) = if ((ay.caller == this))
611607 then {
612- let cp = Address(fromBase58String(bv))
613- let cq = Issue(("SCONEX_" + toString((bf + 1))), bt, 1, 0, false)
614- let bK = calculateAssetId(cq)
615- $Tuple2([cq, ScriptTransfer(cp, 1, bK)], toBase58String(bK))
608+ let co = Address(fromBase58String(bu))
609+ let cp = Issue(("SCONEX_" + toString((be + 1))), bs, 1, 0, false)
610+ let bJ = calculateAssetId(cp)
611+ $Tuple2([cp, ScriptTransfer(co, 1, bJ)], toBase58String(bJ))
616612 }
617613 else throw("Only the dApp can mint NFT's")
618614
619615
620616
621-@Callable(az)
622-func addArtwork (ai,au,av,aw,cr,at,cs,ct) = {
623- let cu = aY(az)
624- let I = cu._1
625- let G = cu._2
626- let bz = cu._3
627- if (containsElement(i, cr))
617+@Callable(ay)
618+func addArtwork (ah,at,au,av,cq,as,cr,cs,ct,cu) = {
619+ let cv = aX(ay)
620+ let H = cv._1
621+ let F = cv._2
622+ let by = cv._3
623+ if (containsElement(i, cq))
628624 then {
629- let cv = as(G, at, au, av, aw)
630- if ((cv != ""))
625+ let cw = ar(F, as, at, au, av)
626+ if ((cw != ""))
631627 then throw("Something went wrong!")
632628 else {
633- let cw = aC(az)
634- let aB = cw._1
635- let aE = cw._2
636- if (!(isDefined(aB)))
629+ let cx = aB(ay)
630+ let aA = cx._1
631+ let aD = cx._2
632+ if (!(isDefined(aA)))
637633 then throw("Something went wrong")
638634 else {
639- let cx = if (containsElement(j, cr))
640- then [StringEntry(M(G, I), ct)]
635+ let cy = if (containsElement(j, cq))
636+ then [StringEntry(L(F, H), cs)]
641637 else nil
642- let cy = w(aj(ai, G))
643- if ((cy != ""))
638+ let cz = v(ai(ah, F))
639+ if ((cz != ""))
644640 then throw("You already added it")
645641 else {
646- let cz = w(ah(ai))
647- if ((cz != ""))
642+ let cA = v(ag(ah))
643+ if ((cA != ""))
648644 then throw("This hash is already registered")
649- else (cx ++ [StringEntry(ah(ai), G), StringEntry(aj(ai, G), I), IntegerEntry(H(G, I), bz), StringEntry(J(G, I), au), StringEntry(K(G, I), av), StringEntry(L(G, I), at), StringEntry(ac(G, I), cr), StringEntry(ab(G, I), aw), IntegerEntry(N(G, I), 0), IntegerEntry(U(G, I), 0), BooleanEntry(Z(G, I), false), StringEntry(af(G, I), ai), StringEntry(aa(G, I), cs), ScriptTransfer(Address(fromBase58String(c)), aB, aE)])
645+ else (cy ++ [StringEntry(ag(ah), F), StringEntry(ai(ah, F), H), IntegerEntry(G(F, H), by), StringEntry(I(F, H), at), StringEntry(J(F, H), au), StringEntry(K(F, H), as), StringEntry(ab(F, H), cq), StringEntry(aa(F, H), av), IntegerEntry(M(F, H), 0), IntegerEntry(T(F, H), 0), BooleanEntry(Y(F, H), false), StringEntry(ae(F, H), ah), StringEntry(Z(F, H), cr), ScriptTransfer(Address(fromBase58String(c)), aA, aD)])
650646 }
651647 }
652648 }
656652
657653
658654
659-@Callable(az)
660-func sellArtwork (I,aP,cA,aE,cB,cg,cC) = {
661- let cD = aY(az)
662- let bF = cD._1
663- let G = cD._2
664- let bg = w(J(G, I))
665- if ((0 > cC))
655+@Callable(ay)
656+func sellArtwork (H,aO,cB,aD,cC,cf,cD) = {
657+ let cE = aX(ay)
658+ let bE = cE._1
659+ let F = cE._2
660+ let bf = v(I(F, H))
661+ if ((0 > cD))
666662 then throw("Royalty percentage should be above 0")
667- else if ((cC > 85))
663+ else if ((cD > 85))
668664 then throw("Royalty percentage should be below 85")
669- else if (!(containsElement([r, s, t], cB)))
665+ else if (!(containsElement([q, r, s], cC)))
670666 then throw("We don't know this auction type")
671- else if ((bg == ""))
667+ else if ((bf == ""))
672668 then throw("This art doesn't match your account")
673669 else {
674- let bW = A(("current_bidamount_" + I))
675- if (!(aN(aE)))
670+ let bV = z(("current_bidamount_" + H))
671+ if (!(aM(aD)))
676672 then throw("Something went wrong!")
677- else if (!(aO(aE, aP)))
673+ else if (!(aN(aD, aO)))
678674 then throw("Something went wrong!")
679675 else {
680- let ax = aq(G)
681- if ((ax != ""))
682- then throw(ax)
676+ let aw = ap(F)
677+ if ((aw != ""))
678+ then throw(aw)
683679 else {
684- let bi = A(U(G, I))
685- let bj = A(N(G, I))
686- if ((cA > 10000))
680+ let bh = z(T(F, H))
681+ let bi = z(M(F, H))
682+ if ((cB > 10000))
687683 then throw("10000 editions max per artwork")
688- else if (if ((bi != 0))
689- then (bi == bj)
684+ else if (if ((bh != 0))
685+ then (bh == bi)
690686 else false)
691687 then throw("Max edition reached.")
692- else if (if ((bi > 0))
693- then (bj != cA)
688+ else if (if ((bh > 0))
689+ then (bi != cB)
694690 else false)
695691 then throw("Cannot change maximum issuable anymore")
696- else if (if ((bW > 0))
697- then (bj != cA)
692+ else if (if ((bV > 0))
693+ then (bi != cB)
698694 else false)
699695 then throw("Cannot change maximum issuable with active orders")
700696 else {
701- let bu = if (if ((aP > 0))
702- then (cA > 0)
697+ let bt = if (if ((aO > 0))
698+ then (cB > 0)
703699 else false)
704700 then true
705701 else false
706- let bZ = (cg + height)
707-[BooleanEntry(Z(G, I), bu), IntegerEntry(ad(G, I), aP), IntegerEntry(N(G, I), cA), IntegerEntry(R(G, I), cg), IntegerEntry(S(G, I), bZ), StringEntry(ae(G, I), aE), StringEntry(T(G, I), cB), IntegerEntry(Y(G, I), cC)]
702+ let bY = (cf + height)
703+[BooleanEntry(Y(F, H), bt), IntegerEntry(ac(F, H), aO), IntegerEntry(M(F, H), cB), IntegerEntry(Q(F, H), cf), IntegerEntry(R(F, H), bY), StringEntry(ad(F, H), aD), StringEntry(S(F, H), cC), IntegerEntry(X(F, H), cD)]
708704 }
709705 }
710706 }
713709
714710
715711
716-@Callable(az)
717-func buyArtwork (I,ba) = {
718- let cB = w(T(ba, I))
719- if ((cB == t))
720- then bD(az, I, ba, "", "", false)
712+@Callable(ay)
713+func buyArtwork (H,aZ) = {
714+ let cC = v(S(aZ, H))
715+ if ((cC == s))
716+ then bC(ay, H, aZ, "", "", false)
721717 else throw("Direct buy only allowed when no auction type is set!")
722718 }
723719
724720
725721
726-@Callable(az)
727-func updateTags (cE,I,aw) = {
728- let G = toString(addressFromPublicKey(az.callerPublicKey))
729- if (containsElement(h, G))
730- then if ((size(split(aw, ",")) > 5))
722+@Callable(ay)
723+func updateTags (cF,H,av) = {
724+ let F = toString(addressFromPublicKey(ay.callerPublicKey))
725+ if (containsElement(h, F))
726+ then if ((size(split(av, ",")) > 5))
731727 then throw("5 tags max.")
732728 else {
733- let cF = x(ab(cE, I), "No tags created with this key, so can't update!")
734- if ((aw == cF))
729+ let cG = w(aa(cF, H), "No tags created with this key, so can't update!")
730+ if ((av == cG))
735731 then throw("Tags are the same as old tags!")
736- else [StringEntry(ab(cE, I), aw)]
732+ else [StringEntry(aa(cF, H), av)]
737733 }
738734 else throw("no")
739735 }
740736
741737
742738
743-@Callable(az)
744-func deleteEntry (cG) = {
745- let G = toString(addressFromPublicKey(az.callerPublicKey))
746- if (containsElement(h, G))
747- then [DeleteEntry(cG)]
739+@Callable(ay)
740+func deleteEntry (cH) = {
741+ let F = toString(addressFromPublicKey(ay.callerPublicKey))
742+ if (containsElement(h, F))
743+ then [DeleteEntry(cH)]
748744 else throw("no")
749745 }
750746
751747
752748
753-@Callable(az)
754-func setBid (I,ba) = {
755- let cB = w(T(ba, I))
756- if ((cB == r))
757- then bT(az, I, ba)
758- else if ((cB == s))
759- then bY(az, I, ba)
760- else throw((("Unknown auction type :" + cB) + ", please contact the admins"))
749+@Callable(ay)
750+func setBid (H,aZ) = {
751+ let cC = v(S(aZ, H))
752+ if ((cC == q))
753+ then bS(ay, H, aZ)
754+ else if ((cC == r))
755+ then bX(ay, H, aZ)
756+ else throw((("Unknown auction type :" + cC) + ", please contact the admins"))
761757 }
762758
763759
764760
765-@Callable(az)
766-func acceptBid (I,ba,Q,bb) = {
767- let cB = w(T(ba, I))
768- if ((cB == r))
769- then cd(az, I, ba, Q, bb)
770- else if ((cB == s))
771- then ch(az, I, ba, Q, bb)
772- else throw((("Unknown auction type :" + cB) + ", please contact the admins"))
761+@Callable(ay)
762+func acceptBid (H,aZ,P,ba) = {
763+ let cC = v(S(aZ, H))
764+ if ((cC == q))
765+ then cc(ay, H, aZ, P, ba)
766+ else if ((cC == r))
767+ then cg(ay, H, aZ, P, ba)
768+ else throw((("Unknown auction type :" + cC) + ", please contact the admins"))
773769 }
774770
775771
776772
777-@Callable(az)
778-func cancelBid (I,ba,Q) = {
779- let cB = w(T(ba, I))
780- if ((cB == r))
781- then cl(az, I, ba, Q)
782- else co(az, I, ba, Q)
773+@Callable(ay)
774+func cancelBid (H,aZ,P) = {
775+ let cC = v(S(aZ, H))
776+ if ((cC == q))
777+ then ck(ay, H, aZ, P)
778+ else cn(ay, H, aZ, P)
783779 }
784780
785781
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = false
55
66 let b = value(addressFromString("3MpZQjzGogmifcEKe8mDd6ribL7nxT9ACye"))
77
88 let c = "3N65xLq8JcCeaEiR1TJQ7dBqXBvEy6E48Wz"
99
1010 let d = "3MxcXrNbMZKYaSrhcfeMm2hZnBeCu3yRWsw"
1111
1212 let e = value(addressFromString("3Mzv4UHGRCC5KknZb8x5wfFUQzzpY9G4Gn4"))
1313
1414 let f = value(addressFromString("3N9xZYGpzMFDXvXuctmU6zV8qSzm2ZfF31f"))
1515
1616 let g = base58'132maRL3uF35tc2bpRih9D6MYq5DR6H28zkop786dKyu'
1717
1818 let h = [getString(b, "owner1"), getString(b, "owner2")]
1919
2020 let i = ["IMAGE", "PDF", "VIDEO"]
2121
2222 let j = ["PDF"]
2323
2424 let k = 150
2525
2626 let l = valueOrElse(getBoolean(e, "conf_dapp_is_running"), true)
2727
2828 let m = valueOrElse(getString(e, "conf_maintenance_msg"), "")
2929
3030 let n = "SUSPENDED"
3131
3232 let o = "REMOVED"
3333
3434 let p = "UNREGISTERED"
3535
36-let q = "ALLOWED"
36+let q = "BIDTYPE"
3737
38-let r = "BIDTYPE"
38+let r = "TRADITIONAL"
3939
40-let s = "TRADITIONAL"
40+let s = "DIRECT"
4141
42-let t = "DIRECT"
43-
44-func u (v) = valueOrElse(getString(e, v), "")
42+func t (u) = valueOrElse(getString(e, u), "")
4543
4644
47-func w (v) = valueOrElse(getString(this, v), "")
45+func v (u) = valueOrElse(getString(this, u), "")
4846
4947
50-func x (v,y) = valueOrErrorMessage(getString(this, v), y)
48+func w (u,x) = valueOrErrorMessage(getString(this, u), x)
5149
5250
53-func z (v) = valueOrErrorMessage(getInteger(b, v), "Integer undefine or 0 in oracle")
51+func y (u) = valueOrErrorMessage(getInteger(b, u), "Integer undefine or 0 in oracle")
5452
5553
56-func A (v) = valueOrElse(getInteger(this, v), 0)
54+func z (u) = valueOrElse(getInteger(this, u), 0)
5755
5856
59-func B (v) = valueOrElse(getInteger(f, v), 0)
57+func A (u) = valueOrElse(getInteger(f, u), 0)
6058
6159
62-func C (v) = valueOrElse(getBoolean(this, v), false)
60+func B (u) = valueOrElse(getBoolean(this, u), false)
6361
6462
65-func D (E) = (size(E) == 64)
63+func C (D) = (size(D) == 64)
6664
6765
68-func F (G) = ("user_status_" + G)
66+func E (F) = ("user_status_" + F)
6967
7068
71-func H (G,I) = ((("art_date_" + I) + "_") + G)
69+func G (F,H) = ((("art_date_" + H) + "_") + F)
7270
7371
74-func J (G,I) = ((("art_name_" + I) + "_") + G)
72+func I (F,H) = ((("art_name_" + H) + "_") + F)
7573
7674
77-func K (G,I) = ((("art_desc_" + I) + "_") + G)
75+func J (F,H) = ((("art_desc_" + H) + "_") + F)
7876
7977
80-func L (G,I) = ((("art_display_cid_" + I) + "_") + G)
78+func K (F,H) = ((("art_display_cid_" + H) + "_") + F)
8179
8280
83-func M (G,I) = ((("art_preview_cid_" + I) + "_") + G)
81+func L (F,H) = ((("art_preview_cid_" + H) + "_") + F)
8482
8583
86-func N (G,I) = ((("art_maxmint_" + I) + "_") + G)
84+func M (F,H) = ((("art_maxmint_" + H) + "_") + F)
8785
8886
89-func O (I) = ("art_highestBidBidId_" + I)
87+func N (H) = ("art_highestBidBidId_" + H)
9088
9189
92-func P (Q) = ("bid_" + Q)
90+func O (P) = ("bid_" + P)
9391
9492
95-func R (G,I) = ((("art_duration_" + I) + "_") + G)
93+func Q (F,H) = ((("art_duration_" + H) + "_") + F)
9694
9795
98-func S (G,I) = ((("art_endheight_" + I) + "_") + G)
96+func R (F,H) = ((("art_endheight_" + H) + "_") + F)
9997
10098
101-func T (G,I) = ((("art_auctiontype_" + I) + "_") + G)
99+func S (F,H) = ((("art_auctiontype_" + H) + "_") + F)
102100
103101
104-func U (G,I) = ((("art_issued_" + I) + "_") + G)
102+func T (F,H) = ((("art_issued_" + H) + "_") + F)
105103
106104
107-func V (W) = ("nft_issued_" + W)
105+func U (V) = ("nft_issued_" + V)
108106
109107
110-func X (W) = ("nft_artId_" + W)
108+func W (V) = ("nft_artId_" + V)
111109
112110
113-func Y (G,I) = ((("art_royalty_" + I) + "_") + G)
111+func X (F,H) = ((("art_royalty_" + H) + "_") + F)
114112
115113
116-func Z (G,I) = ((("art_onsale_" + I) + "_") + G)
114+func Y (F,H) = ((("art_onsale_" + H) + "_") + F)
117115
118116
119-func aa (G,I) = ((("art_entitlement_" + I) + "_") + G)
117+func Z (F,H) = ((("art_entitlement_" + H) + "_") + F)
120118
121119
122-func ab (G,I) = ((("art_tags_" + I) + "_") + G)
120+func aa (F,H) = ((("art_tags_" + H) + "_") + F)
123121
124122
125-func ac (G,I) = ((("art_type_" + I) + "_") + G)
123+func ab (F,H) = ((("art_type_" + H) + "_") + F)
126124
127125
128-func ad (G,I) = ((("art_price_" + I) + "_") + G)
126+func ac (F,H) = ((("art_price_" + H) + "_") + F)
129127
130128
131-func ae (G,I) = ((("art_assetAccepted_" + I) + "_") + G)
129+func ad (F,H) = ((("art_assetAccepted_" + H) + "_") + F)
132130
133131
134-func af (G,ag) = ((("get_hashbytxidaddr_" + ag) + "_") + G)
132+func ae (F,af) = ((("get_hashbytxidaddr_" + af) + "_") + F)
135133
136134
137-func ah (ai) = ("get_owner_by_hash_" + ai)
135+func ag (ah) = ("get_owner_by_hash_" + ah)
138136
139137
140-func aj (ai,G) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((ai + G)))))
138+func ai (ah,F) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((ah + F)))))
141139
142140
143-let ak = z(("certification_fee_" + toBase58String(g)))
141+let aj = y(("certification_fee_" + toBase58String(g)))
144142
145-func al (Q) = valueOrElse(A(P(Q)), 0)
143+func ak (P) = valueOrElse(z(O(P)), 0)
146144
147145
148-func am (I) = {
149- let Q = w(O(I))
150- if ((Q == ""))
146+func al (H) = {
147+ let P = v(N(H))
148+ if ((P == ""))
151149 then 0
152- else al(Q)
150+ else ak(P)
153151 }
154152
155153
156-func an (ao,ap) = if ((size(ao) == 0))
154+func am (an,ao) = if ((size(an) == 0))
157155 then throw("Field cannot be is empty")
158- else if ((size(ao) > ap))
159- then throw((ao + " is too long"))
156+ else if ((size(an) > ao))
157+ then throw((an + " is too long"))
160158 else true
161159
162160
163-func aq (G) = {
164- let ar = valueOrElse(getString(e, F(G)), p)
165- if (if ((ar == p))
166- then true
167- else (ar == q))
161+func ap (F) = {
162+ let aq = valueOrElse(getString(e, E(F)), p)
163+ if ((aq == p))
168164 then "Register this account first with 'Account' tab"
169- else if ((ar == n))
165+ else if ((aq == n))
170166 then "Account suspended"
171- else if ((ar == o))
167+ else if ((aq == o))
172168 then "Account removed"
173169 else ""
174170 }
175171
176172
177-func as (G,at,au,av,aw) = {
178- let ax = aq(G)
179- if ((ax != ""))
180- then throw(ax)
181- else if ((size(at) == 0))
173+func ar (F,as,at,au,av) = {
174+ let aw = ap(F)
175+ if ((aw != ""))
176+ then throw(aw)
177+ else if ((size(as) == 0))
182178 then throw("Display CID cannot be empty")
183- else if ((size(at) != 46))
179+ else if ((size(as) != 46))
184180 then throw("This doesn't seem a valid CID!")
185- else if (!(an(au, 100)))
181+ else if (!(am(at, 100)))
186182 then throw("100 Char. max name")
187- else if (!(an(av, 1000)))
183+ else if (!(am(au, 1000)))
188184 then throw("1000 Char. max description")
189- else if ((size(split(aw, ",")) > 5))
185+ else if ((size(split(av, ",")) > 5))
190186 then throw("5 tags max.")
191187 else ""
192188 }
193189
194190
195-func ay (az) = if ((size(az.payments) == 0))
191+func ax (ay) = if ((size(ay.payments) == 0))
196192 then throw("No payment attached")
197193 else {
198- let aA = value(az.payments[0])
199- let aB = value(aA.amount)
200- $Tuple2(aA, aB)
194+ let az = value(ay.payments[0])
195+ let aA = value(az.amount)
196+ $Tuple2(az, aA)
201197 }
202198
203199
204-func aC (az) = {
205- let aD = ay(az)
206- let aA = aD._1
207- let aB = aD._2
208- let aE = if (if (isDefined(aA.assetId))
209- then (aA.assetId == g)
200+func aB (ay) = {
201+ let aC = ax(ay)
202+ let az = aC._1
203+ let aA = aC._2
204+ let aD = if (if (isDefined(az.assetId))
205+ then (az.assetId == g)
210206 else false)
211- then aA.assetId
207+ then az.assetId
212208 else throw("Only USDN token accepted as transaction fee")
213- if ((aB != ak))
214- then throw(((("Payment amount should be " + toString(ak)) + " but is: ") + toString(aB)))
215- else $Tuple2(aB, aE)
209+ if ((aA != aj))
210+ then throw(((("Payment amount should be " + toString(aj)) + " but is: ") + toString(aA)))
211+ else $Tuple2(aA, aD)
216212 }
217213
218214
219-func aF (aG,I) = {
220- let aH = getInteger(this, U(aG, I))
221- if ($isInstanceOf(aH, "Int"))
215+func aE (aF,H) = {
216+ let aG = getInteger(this, T(aF, H))
217+ if ($isInstanceOf(aG, "Int"))
222218 then {
223- let aI = aH
224- if ((aI != 0))
219+ let aH = aG
220+ if ((aH != 0))
225221 then true
226222 else false
227223 }
228224 else false
229225 }
230226
231227
232-func aJ (az,aK,aL) = {
233- let aM = ay(az)
234- let aA = aM._1
235- let aB = aM._2
236- let aE = if (!(isDefined(aA.assetId)))
228+func aI (ay,aJ,aK) = {
229+ let aL = ax(ay)
230+ let az = aL._1
231+ let aA = aL._2
232+ let aD = if (!(isDefined(az.assetId)))
237233 then throw("Wrong asset id")
238- else if (if ((size(aK) > 0))
239- then (toBase58String(value(aA.assetId)) == aK)
234+ else if (if ((size(aJ) > 0))
235+ then (toBase58String(value(az.assetId)) == aJ)
240236 else false)
241- then aA.assetId
237+ then az.assetId
242238 else throw("Wrong asset id")
243- if (if ((aE == unit))
244- then (aK != "")
239+ if (if ((aD == unit))
240+ then (aJ != "")
245241 else false)
246242 then throw("Wrong asset id")
247- else if ((aL != aB))
248- then throw(((("Payment don't match " + toString(aL)) + " ") + toString(aB)))
249- else $Tuple2(aB, aE)
243+ else if ((aK != aA))
244+ then throw(((("Payment don't match " + toString(aK)) + " ") + toString(aA)))
245+ else $Tuple2(aA, aD)
250246 }
251247
252248
253-func aN (aE) = if ((aE != toBase58String(g)))
249+func aM (aD) = if ((aD != toBase58String(g)))
254250 then throw("Only USDN accepted")
255251 else true
256252
257253
258-func aO (aE,aP) = {
259- let aQ = if (a)
254+func aN (aD,aO) = {
255+ let aP = if (a)
260256 then 1
261- else (ak * 2)
262- if (if (if ((aE == toBase58String(g)))
263- then (aQ > aP)
257+ else (aj * 2)
258+ if (if (if ((aD == toBase58String(g)))
259+ then (aP > aO)
264260 else false)
265- then (aP != 0)
261+ then (aO != 0)
266262 else false)
267- then throw(("Wrong minimum sell price " + toString(aQ)))
263+ then throw(("Wrong minimum sell price " + toString(aP)))
268264 else true
269265 }
270266
271267
272-func aR (aE) = if ((aE == "WAVES"))
268+func aQ (aD) = if ((aD == "WAVES"))
273269 then throw("Only USDN is accepted!")
274- else fromBase58String(aE)
270+ else fromBase58String(aD)
275271
276272
277-func aS (aT) = {
278- let aU = w((aT + "_OPEN"))
279- if ((aU == ""))
273+func aR (aS) = {
274+ let aT = v((aS + "_OPEN"))
275+ if ((aT == ""))
280276 then throw("Bid not found")
281277 else {
282- let aV = split(aU, "_")
283- let aW = parseIntValue(aV[1])
284- let aX = aR(aV[0])
285- if ((0 >= aW))
278+ let aU = split(aT, "_")
279+ let aV = parseIntValue(aU[1])
280+ let aW = aQ(aU[0])
281+ if ((0 >= aV))
286282 then throw("Wrong amount")
287- else $Tuple2(aW, aX)
283+ else $Tuple2(aV, aW)
288284 }
289285 }
290286
291287
292-func aY (az) = if (!(l))
288+func aX (ay) = if (!(l))
293289 then throw(m)
294- else $Tuple3(toBase58String(az.transactionId), toBase58String(az.caller.bytes), lastBlock.timestamp)
290+ else $Tuple3(toBase58String(ay.transactionId), toBase58String(ay.caller.bytes), lastBlock.timestamp)
295291
296292
297-func aZ (az,ba,bb,Q) = if (if (if ((toBase58String(az.caller.bytes) == ba))
298- then (bb != "")
293+func aY (ay,aZ,ba,P) = if (if (if ((toBase58String(ay.caller.bytes) == aZ))
294+ then (ba != "")
299295 else false)
300- then (Q != "")
296+ then (P != "")
301297 else false)
302298 then true
303299 else false
304300
305301
306-func bc (az,ba,I,bd) = {
307- let be = (toBase58String(az.caller.bytes) == ba)
308- let bf = A("total_nft_issued")
309- let bg = w(J(ba, I))
310- if ((bg == ""))
302+func bb (ay,aZ,H,bc) = {
303+ let bd = (toBase58String(ay.caller.bytes) == aZ)
304+ let be = z("total_nft_issued")
305+ let bf = v(I(aZ, H))
306+ if ((bf == ""))
311307 then throw("Art doesn't exist")
312308 else {
313- let bh = C(Z(ba, I))
314- let bi = A(U(ba, I))
315- let aL = valueOrElse(A(ad(ba, I)), (ak * 2))
316- let aK = if (be)
309+ let bg = B(Y(aZ, H))
310+ let bh = z(T(aZ, H))
311+ let aK = valueOrElse(z(ac(aZ, H)), (aj * 2))
312+ let aJ = if (bd)
317313 then toBase58String(g)
318- else w(ae(ba, I))
319- let bj = A(N(ba, I))
320- if (if (if (!(bd))
321- then !(be)
314+ else v(ad(aZ, H))
315+ let bi = z(M(aZ, H))
316+ if (if (if (!(bc))
317+ then !(bd)
322318 else false)
323- then if (if ((0 >= aL))
319+ then if (if ((0 >= aK))
324320 then true
325- else !(bh))
321+ else !(bg))
326322 then true
327- else (0 >= bj)
323+ else (0 >= bi)
328324 else false)
329325 then throw("Art not for sale")
330- else if (if (if (!(bd))
331- then be
326+ else if (if (if (!(bc))
327+ then bd
332328 else false)
333- then (0 >= bj)
329+ then (0 >= bi)
334330 else false)
335331 then throw("Max issuable not set")
336- else $Tuple7(bf, bg, bi, aL, aK, bj, bh)
332+ else $Tuple7(be, bf, bh, aK, aJ, bi, bg)
337333 }
338334 }
339335
340336
341-func bk (az,G,ba,I,bb,Q,aK,aL,bd) = {
342- let ax = aq(ba)
343- if (if (bd)
344- then (ax != "")
337+func bj (ay,F,aZ,H,ba,P,aJ,aK,bc) = {
338+ let aw = ap(aZ)
339+ if (if (bc)
340+ then (aw != "")
345341 else false)
346- then throw(ax)
342+ then throw(aw)
347343 else {
348- let aT = ((((((("bid_" + I) + "_") + ba) + "_") + bb) + "_") + Q)
349- let bl = if (bd)
350- then aS(aT)
351- else aJ(az, aK, aL)
352- let aB = bl._1
353- let aE = bl._2
354- $Tuple3(aT, aB, aE)
344+ let aS = ((((((("bid_" + H) + "_") + aZ) + "_") + ba) + "_") + P)
345+ let bk = if (bc)
346+ then aR(aS)
347+ else aI(ay, aJ, aK)
348+ let aA = bk._1
349+ let aD = bk._2
350+ $Tuple3(aS, aA, aD)
355351 }
356352 }
357353
358354
359-func bm (ba,aE,aB,bi,bj) = {
360- let bn = B(ba)
361- let bo = if ((bn > height))
355+func bl (aZ,aD,aA,bh,bi) = {
356+ let bm = A(aZ)
357+ let bn = if ((bm > height))
362358 then 0
363- else if ((aE == g))
359+ else if ((aD == g))
364360 then k
365361 else throw("Only USDN is accepted!")
366- let bp = fraction(aB, bo, 1000)
367- let bq = (aB - bp)
368- if ((bi == bj))
362+ let bo = fraction(aA, bn, 1000)
363+ let bp = (aA - bo)
364+ if ((bh == bi))
369365 then throw("Art sold out")
370366 else {
371- let br = (bi + 1)
372- $Tuple3(bp, bq, br)
367+ let bq = (bh + 1)
368+ $Tuple3(bo, bp, bq)
373369 }
374370 }
375371
376372
377-func bs (ba,I,bg,br,bj,bf,G,bb,Q,az,bh) = {
378- let bt = ((((((((("Creator: " + ba) + ",ArtID: ") + I) + ",Artwork name: ") + bg) + ",Issue: ") + toString(br)) + "/") + toString(bj))
379- let bu = if (if ((br == bj))
373+func br (aZ,H,bf,bq,bi,be,F,ba,P,ay,bg) = {
374+ let bs = ((((((((("Creator: " + aZ) + ",ArtID: ") + H) + ",Artwork name: ") + bf) + ",Issue: ") + toString(bq)) + "/") + toString(bi))
375+ let bt = if (if ((bq == bi))
380376 then true
381- else !(bh))
377+ else !(bg))
382378 then false
383379 else true
384- let bv = if ((bb != ""))
385- then addressFromStringValue(bb)
386- else az.caller
387- $Tuple3(bu, bv, bt)
380+ let bu = if ((ba != ""))
381+ then addressFromStringValue(ba)
382+ else ay.caller
383+ $Tuple3(bt, bu, bs)
388384 }
389385
390386
391-func bw (bx) = if ((4 > bx))
387+func bv (bw) = if ((4 > bw))
392388 then "SSR"
393- else if ((11 > bx))
389+ else if ((11 > bw))
394390 then "SR"
395- else if ((101 > bx))
391+ else if ((101 > bw))
396392 then "R"
397393 else "N"
398394
399395
400-func by (aE,aT,bz) = {
401- let bA = if (!(isDefined(aE)))
396+func bx (aD,aS,by) = {
397+ let bz = if (!(isDefined(aD)))
402398 then throw("Only USDN is accepted")
403- else toBase58String(value(aE))
404- let aU = w((aT + "_OPEN"))
405- let bB = DeleteEntry((aT + "_OPEN"))
406- let bC = StringEntry((aT + "_CLOSED"), ((aU + "_") + toString(bz)))
407- $Tuple3(bA, bB, bC)
399+ else toBase58String(value(aD))
400+ let aT = v((aS + "_OPEN"))
401+ let bA = DeleteEntry((aS + "_OPEN"))
402+ let bB = StringEntry((aS + "_CLOSED"), ((aT + "_") + toString(by)))
403+ $Tuple3(bz, bA, bB)
408404 }
409405
410406
411-func bD (az,I,ba,Q,bb,bd) = {
412- let bE = aY(az)
413- let bF = bE._1
414- let G = bE._2
415- let bz = bE._3
416- let bG = bc(az, ba, I, bd)
417- let bf = bG._1
418- let bg = bG._2
419- let bi = bG._3
420- let aL = bG._4
421- let aK = bG._5
422- let bj = bG._6
423- let bh = bG._7
424- let aU = bk(az, G, ba, I, bb, Q, aK, aL, bd)
425- let aT = aU._1
426- let aB = aU._2
427- let aE = aU._3
428- let bH = bm(ba, value(aE), aB, bi, bj)
429- let bp = bH._1
430- let bq = bH._2
431- let br = bH._3
432- let bI = bs(ba, I, bg, br, bj, bf, G, bb, Q, az, bh)
433- let bu = bI._1
434- let bv = bI._2
435- let bt = bI._3
436- let bJ = invoke(this, "mintNft", [bf, bt, toString(bv)], nil)
437- if ((bJ == bJ))
407+func bC (ay,H,aZ,P,ba,bc) = {
408+ let bD = aX(ay)
409+ let bE = bD._1
410+ let F = bD._2
411+ let by = bD._3
412+ let bF = bb(ay, aZ, H, bc)
413+ let be = bF._1
414+ let bf = bF._2
415+ let bh = bF._3
416+ let aK = bF._4
417+ let aJ = bF._5
418+ let bi = bF._6
419+ let bg = bF._7
420+ let aT = bj(ay, F, aZ, H, ba, P, aJ, aK, bc)
421+ let aS = aT._1
422+ let aA = aT._2
423+ let aD = aT._3
424+ let bG = bl(aZ, value(aD), aA, bh, bi)
425+ let bo = bG._1
426+ let bp = bG._2
427+ let bq = bG._3
428+ let bH = br(aZ, H, bf, bq, bi, be, F, ba, P, ay, bg)
429+ let bt = bH._1
430+ let bu = bH._2
431+ let bs = bH._3
432+ let bI = invoke(this, "mintNft", [be, bs, toString(bu)], nil)
433+ if ((bI == bI))
438434 then {
439- let bK = {
440- let aH = bJ
441- if ($isInstanceOf(aH, "String"))
435+ let bJ = {
436+ let aG = bI
437+ if ($isInstanceOf(aG, "String"))
442438 then {
443- let bL = aH
444- bL
439+ let bK = aG
440+ bK
445441 }
446442 else throw("Incorrect invoke result")
447443 }
448- let bM = by(aE, aT, bz)
449- let bA = bM._1
450- let bB = bM._2
451- let bC = bM._3
452- let bN = ((((((("art_sold_" + toString(br)) + "_of_") + toString(bj)) + "_") + I) + "_") + ba)
453- let bO = bw(br)
454- let bP = if (!(bd))
455- then ((((((((((G + "_") + toString(bz)) + "_") + bF) + "_") + toString(aL)) + "_") + aK) + "_") + bK)
456- else ((((((((((toString(bv) + "_") + toString(bz)) + "_") + bF) + "_") + toString(aB)) + "_") + bA) + "_") + bK)
457- let bQ = StringEntry(bN, bP)
458- let bR = [IntegerEntry(U(ba, I), br), StringEntry(("nft_" + bK), bN), StringEntry(("nft_rarity_" + bK), bO), IntegerEntry("total_nft_issued", (bf + 1)), BooleanEntry(Z(ba, I), bu), ScriptTransfer(Address(fromBase58String(ba)), bq, aE), ScriptTransfer(Address(fromBase58String(c)), bp, aE), StringEntry(V(bK), ba), StringEntry(X(bK), I)]
459- let bS = invoke(addressFromStringValue(d), "createCert", [toString(bv), bK, ba], nil)
460- if ((bS == bS))
461- then if (bd)
462- then (((bR :+ bQ) :+ bC) :+ bB)
463- else bQ :: bR
444+ let bL = bx(aD, aS, by)
445+ let bz = bL._1
446+ let bA = bL._2
447+ let bB = bL._3
448+ let bM = ((((((("art_sold_" + toString(bq)) + "_of_") + toString(bi)) + "_") + H) + "_") + aZ)
449+ let bN = bv(bq)
450+ let bO = if (!(bc))
451+ then ((((((((((F + "_") + toString(by)) + "_") + bE) + "_") + toString(aK)) + "_") + aJ) + "_") + bJ)
452+ else ((((((((((toString(bu) + "_") + toString(by)) + "_") + bE) + "_") + toString(aA)) + "_") + bz) + "_") + bJ)
453+ let bP = StringEntry(bM, bO)
454+ let bQ = [IntegerEntry(T(aZ, H), bq), StringEntry(("nft_" + bJ), bM), StringEntry(("nft_rarity_" + bJ), bN), IntegerEntry("total_nft_issued", (be + 1)), BooleanEntry(Y(aZ, H), bt), ScriptTransfer(Address(fromBase58String(aZ)), bp, aD), ScriptTransfer(Address(fromBase58String(c)), bo, aD), StringEntry(U(bJ), aZ), StringEntry(W(bJ), H)]
455+ let bR = invoke(addressFromStringValue(d), "createCert", [toString(bu), bJ, aZ], nil)
456+ if ((bR == bR))
457+ then if (bc)
458+ then (((bQ :+ bP) :+ bB) :+ bA)
459+ else bP :: bQ
464460 else throw("Strict value is not equal to itself.")
465461 }
466462 else throw("Strict value is not equal to itself.")
467463 }
468464
469465
470-func bT (az,I,ba) = {
471- let bU = aY(az)
472- let bF = bU._1
473- let G = bU._2
474- let bz = bU._3
475- let bV = ay(az)
476- let aA = bV._1
477- let aB = bV._2
478- let aE = if (!(isDefined(aA.assetId)))
466+func bS (ay,H,aZ) = {
467+ let bT = aX(ay)
468+ let bE = bT._1
469+ let F = bT._2
470+ let by = bT._3
471+ let bU = ax(ay)
472+ let az = bU._1
473+ let aA = bU._2
474+ let aD = if (!(isDefined(az.assetId)))
479475 then throw("Only USDN is accepted!")
480- else toBase58String(value(aA.assetId))
481- let bW = A(("current_bidamount_" + I))
482- let bX = valueOrElse(A(ad(ba, I)), (ak * 2))
483- if (!(aN(aE)))
476+ else toBase58String(value(az.assetId))
477+ let bV = z(("current_bidamount_" + H))
478+ let bW = valueOrElse(z(ac(aZ, H)), (aj * 2))
479+ if (!(aM(aD)))
484480 then throw("asset not accepted")
485- else if ((bX > aB))
481+ else if ((bW > aA))
486482 then throw("Bid is below min price!")
487483 else {
488- let bi = A(U(ba, I))
489- let bj = A(N(ba, I))
490- if ((0 >= bj))
484+ let bh = z(T(aZ, H))
485+ let bi = z(M(aZ, H))
486+ if ((0 >= bi))
491487 then throw("No max edition set for this artwork")
492- else if ((bi >= bj))
488+ else if ((bh >= bi))
493489 then throw("Sold out, you cannot bid")
494- else [StringEntry((((((((("bid_" + I) + "_") + ba) + "_") + G) + "_") + bF) + "_OPEN"), ((((aE + "_") + toString(aB)) + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + I), (bW + 1))]
490+ else [StringEntry((((((((("bid_" + H) + "_") + aZ) + "_") + F) + "_") + bE) + "_OPEN"), ((((aD + "_") + toString(aA)) + "_") + toString(by))), IntegerEntry(("current_bidamount_" + H), (bV + 1))]
495491 }
496492 }
497493
498494
499-func bY (az,I,ba) = {
500- let bZ = A(S(ba, I))
501- let ca = am(I)
502- if ((height > bZ))
495+func bX (ay,H,aZ) = {
496+ let bY = z(R(aZ, H))
497+ let bZ = al(H)
498+ if ((height > bY))
503499 then throw("This auction is finished already!")
504500 else {
505- let cb = aY(az)
506- let bF = cb._1
507- let G = cb._2
508- let bz = cb._3
509- let cc = ay(az)
510- let aA = cc._1
511- let aB = cc._2
512- if ((ca >= aB))
513- then throw(("Please place a bid higher than: " + toString(ca)))
501+ let ca = aX(ay)
502+ let bE = ca._1
503+ let F = ca._2
504+ let by = ca._3
505+ let cb = ax(ay)
506+ let az = cb._1
507+ let aA = cb._2
508+ if ((bZ >= aA))
509+ then throw(("Please place a bid higher than: " + toString(bZ)))
514510 else {
515- let aE = if (!(isDefined(aA.assetId)))
511+ let aD = if (!(isDefined(az.assetId)))
516512 then throw("Only USDN is accepted!")
517- else toBase58String(value(aA.assetId))
518- let bW = A(("current_bidamount_" + I))
519- let bX = valueOrElse(A(ad(ba, I)), (ak * 2))
520- if (!(aN(aE)))
513+ else toBase58String(value(az.assetId))
514+ let bV = z(("current_bidamount_" + H))
515+ let bW = valueOrElse(z(ac(aZ, H)), (aj * 2))
516+ if (!(aM(aD)))
521517 then throw("asset not accepted")
522- else if ((bX > aB))
518+ else if ((bW > aA))
523519 then throw("Bid is below min price!")
524520 else {
525- let bi = A(U(ba, I))
526- let bj = A(N(ba, I))
527- if ((0 >= bj))
521+ let bh = z(T(aZ, H))
522+ let bi = z(M(aZ, H))
523+ if ((0 >= bi))
528524 then throw("No max edition set for this artwork")
529- else if ((bi >= bj))
525+ else if ((bh >= bi))
530526 then throw("Sold out, you cannot bid")
531- else [StringEntry((((((((("bid_" + I) + "_") + ba) + "_") + G) + "_") + bF) + "_OPEN"), ((((aE + "_") + toString(aB)) + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + I), (bW + 1)), StringEntry(O(I), toBase58String(az.transactionId)), IntegerEntry(P(toBase58String(az.transactionId)), aB)]
527+ else [StringEntry((((((((("bid_" + H) + "_") + aZ) + "_") + F) + "_") + bE) + "_OPEN"), ((((aD + "_") + toString(aA)) + "_") + toString(by))), IntegerEntry(("current_bidamount_" + H), (bV + 1)), StringEntry(N(H), toBase58String(ay.transactionId)), IntegerEntry(O(toBase58String(ay.transactionId)), aA)]
532528 }
533529 }
534530 }
535531 }
536532
537533
538-func cd (az,I,ba,Q,bb) = {
539- let G = toBase58String(az.caller.bytes)
540- if ((G != ba))
534+func cc (ay,H,aZ,P,ba) = {
535+ let F = toBase58String(ay.caller.bytes)
536+ if ((F != aZ))
541537 then throw("You cannot do this action")
542- else bD(az, I, ba, Q, bb, true)
538+ else bC(ay, H, aZ, P, ba, true)
543539 }
544540
545541
546-func ce (I,ba) = {
547- let bi = A(U(ba, I))
548- let bj = A(N(ba, I))
549- let cf = A(S(ba, I))
550- let cg = A(R(ba, I))
551- let bZ = (cg + height)
552- if ((height > cf))
553- then if ((bi == bj))
542+func cd (H,aZ) = {
543+ let bh = z(T(aZ, H))
544+ let bi = z(M(aZ, H))
545+ let ce = z(R(aZ, H))
546+ let cf = z(Q(aZ, H))
547+ let bY = (cf + height)
548+ if ((height > ce))
549+ then if ((bh == bi))
554550 then throw("Can't restart auction, max amount sold")
555- else [IntegerEntry(S(ba, I), bZ), DeleteEntry(O(I))]
551+ else [IntegerEntry(R(aZ, H), bY), DeleteEntry(N(H))]
556552 else throw("Previous auction isn't completed yet")
557553 }
558554
559555
560-func ch (az,I,ba,Q,bb) = {
561- let bZ = A(S(ba, I))
562- let ci = w(O(I))
563- if ((height > bZ))
564- then if ((Q == ci))
556+func cg (ay,H,aZ,P,ba) = {
557+ let bY = z(R(aZ, H))
558+ let ch = v(N(H))
559+ if ((height > bY))
560+ then if ((P == ch))
565561 then {
566- let cj = bD(az, I, ba, Q, bb, true)
567- let ck = ce(I, ba)
568- (ck ++ cj)
562+ let ci = bC(ay, H, aZ, P, ba, true)
563+ let cj = cd(H, aZ)
564+ (cj ++ ci)
569565 }
570566 else throw("This is not the winning bid!")
571567 else throw("This auction is not yet finished!")
572568 }
573569
574570
575-func cl (az,I,ba,Q) = {
576- let cm = aY(az)
577- let bF = cm._1
578- let G = cm._2
579- let bz = cm._3
580- let bW = A(("current_bidamount_" + I))
581- let aT = ((((((("bid_" + I) + "_") + ba) + "_") + G) + "_") + Q)
582- let aU = x((aT + "_OPEN"), "Bid not found")
583- let aV = split(aU, "_")
584- let aE = aR(aV[0])
585- let cn = "CANCELED"
586-[DeleteEntry((aT + "_OPEN")), StringEntry(((aT + "_") + cn), ((aU + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + I), (bW - 1)), ScriptTransfer(Address(fromBase58String(G)), parseIntValue(aV[1]), aE)]
571+func ck (ay,H,aZ,P) = {
572+ let cl = aX(ay)
573+ let bE = cl._1
574+ let F = cl._2
575+ let by = cl._3
576+ let bV = z(("current_bidamount_" + H))
577+ let aS = ((((((("bid_" + H) + "_") + aZ) + "_") + F) + "_") + P)
578+ let aT = w((aS + "_OPEN"), "Bid not found")
579+ let aU = split(aT, "_")
580+ let aD = aQ(aU[0])
581+ let cm = "CANCELED"
582+[DeleteEntry((aS + "_OPEN")), StringEntry(((aS + "_") + cm), ((aT + "_") + toString(by))), IntegerEntry(("current_bidamount_" + H), (bV - 1)), ScriptTransfer(Address(fromBase58String(F)), parseIntValue(aU[1]), aD)]
587583 }
588584
589585
590-func co (az,I,ba,Q) = {
591- let cm = aY(az)
592- let bF = cm._1
593- let G = cm._2
594- let bz = cm._3
595- let bW = A(("current_bidamount_" + I))
596- let aT = ((((((("bid_" + I) + "_") + ba) + "_") + G) + "_") + Q)
597- let aU = x((aT + "_OPEN"), "Bid not found")
598- let aV = split(aU, "_")
599- let aE = aR(aV[0])
600- let cn = "CANCELED"
601- let aW = parseIntValue(aV[1])
602- let ci = w(O(I))
603- if ((Q == ci))
586+func cn (ay,H,aZ,P) = {
587+ let cl = aX(ay)
588+ let bE = cl._1
589+ let F = cl._2
590+ let by = cl._3
591+ let bV = z(("current_bidamount_" + H))
592+ let aS = ((((((("bid_" + H) + "_") + aZ) + "_") + F) + "_") + P)
593+ let aT = w((aS + "_OPEN"), "Bid not found")
594+ let aU = split(aT, "_")
595+ let aD = aQ(aU[0])
596+ let cm = "CANCELED"
597+ let aV = parseIntValue(aU[1])
598+ let ch = v(N(H))
599+ if ((P == ch))
604600 then throw("You can't cancel the highest bid!")
605- else [DeleteEntry((aT + "_OPEN")), StringEntry(((aT + "_") + cn), ((aU + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + I), (bW - 1)), ScriptTransfer(Address(fromBase58String(G)), aW, aE)]
601+ else [DeleteEntry((aS + "_OPEN")), StringEntry(((aS + "_") + cm), ((aT + "_") + toString(by))), IntegerEntry(("current_bidamount_" + H), (bV - 1)), ScriptTransfer(Address(fromBase58String(F)), aV, aD)]
606602 }
607603
608604
609-@Callable(az)
610-func mintNft (bf,bt,bv) = if ((az.caller == this))
605+@Callable(ay)
606+func mintNft (be,bs,bu) = if ((ay.caller == this))
611607 then {
612- let cp = Address(fromBase58String(bv))
613- let cq = Issue(("SCONEX_" + toString((bf + 1))), bt, 1, 0, false)
614- let bK = calculateAssetId(cq)
615- $Tuple2([cq, ScriptTransfer(cp, 1, bK)], toBase58String(bK))
608+ let co = Address(fromBase58String(bu))
609+ let cp = Issue(("SCONEX_" + toString((be + 1))), bs, 1, 0, false)
610+ let bJ = calculateAssetId(cp)
611+ $Tuple2([cp, ScriptTransfer(co, 1, bJ)], toBase58String(bJ))
616612 }
617613 else throw("Only the dApp can mint NFT's")
618614
619615
620616
621-@Callable(az)
622-func addArtwork (ai,au,av,aw,cr,at,cs,ct) = {
623- let cu = aY(az)
624- let I = cu._1
625- let G = cu._2
626- let bz = cu._3
627- if (containsElement(i, cr))
617+@Callable(ay)
618+func addArtwork (ah,at,au,av,cq,as,cr,cs,ct,cu) = {
619+ let cv = aX(ay)
620+ let H = cv._1
621+ let F = cv._2
622+ let by = cv._3
623+ if (containsElement(i, cq))
628624 then {
629- let cv = as(G, at, au, av, aw)
630- if ((cv != ""))
625+ let cw = ar(F, as, at, au, av)
626+ if ((cw != ""))
631627 then throw("Something went wrong!")
632628 else {
633- let cw = aC(az)
634- let aB = cw._1
635- let aE = cw._2
636- if (!(isDefined(aB)))
629+ let cx = aB(ay)
630+ let aA = cx._1
631+ let aD = cx._2
632+ if (!(isDefined(aA)))
637633 then throw("Something went wrong")
638634 else {
639- let cx = if (containsElement(j, cr))
640- then [StringEntry(M(G, I), ct)]
635+ let cy = if (containsElement(j, cq))
636+ then [StringEntry(L(F, H), cs)]
641637 else nil
642- let cy = w(aj(ai, G))
643- if ((cy != ""))
638+ let cz = v(ai(ah, F))
639+ if ((cz != ""))
644640 then throw("You already added it")
645641 else {
646- let cz = w(ah(ai))
647- if ((cz != ""))
642+ let cA = v(ag(ah))
643+ if ((cA != ""))
648644 then throw("This hash is already registered")
649- else (cx ++ [StringEntry(ah(ai), G), StringEntry(aj(ai, G), I), IntegerEntry(H(G, I), bz), StringEntry(J(G, I), au), StringEntry(K(G, I), av), StringEntry(L(G, I), at), StringEntry(ac(G, I), cr), StringEntry(ab(G, I), aw), IntegerEntry(N(G, I), 0), IntegerEntry(U(G, I), 0), BooleanEntry(Z(G, I), false), StringEntry(af(G, I), ai), StringEntry(aa(G, I), cs), ScriptTransfer(Address(fromBase58String(c)), aB, aE)])
645+ else (cy ++ [StringEntry(ag(ah), F), StringEntry(ai(ah, F), H), IntegerEntry(G(F, H), by), StringEntry(I(F, H), at), StringEntry(J(F, H), au), StringEntry(K(F, H), as), StringEntry(ab(F, H), cq), StringEntry(aa(F, H), av), IntegerEntry(M(F, H), 0), IntegerEntry(T(F, H), 0), BooleanEntry(Y(F, H), false), StringEntry(ae(F, H), ah), StringEntry(Z(F, H), cr), ScriptTransfer(Address(fromBase58String(c)), aA, aD)])
650646 }
651647 }
652648 }
653649 }
654650 else throw("Unknown type")
655651 }
656652
657653
658654
659-@Callable(az)
660-func sellArtwork (I,aP,cA,aE,cB,cg,cC) = {
661- let cD = aY(az)
662- let bF = cD._1
663- let G = cD._2
664- let bg = w(J(G, I))
665- if ((0 > cC))
655+@Callable(ay)
656+func sellArtwork (H,aO,cB,aD,cC,cf,cD) = {
657+ let cE = aX(ay)
658+ let bE = cE._1
659+ let F = cE._2
660+ let bf = v(I(F, H))
661+ if ((0 > cD))
666662 then throw("Royalty percentage should be above 0")
667- else if ((cC > 85))
663+ else if ((cD > 85))
668664 then throw("Royalty percentage should be below 85")
669- else if (!(containsElement([r, s, t], cB)))
665+ else if (!(containsElement([q, r, s], cC)))
670666 then throw("We don't know this auction type")
671- else if ((bg == ""))
667+ else if ((bf == ""))
672668 then throw("This art doesn't match your account")
673669 else {
674- let bW = A(("current_bidamount_" + I))
675- if (!(aN(aE)))
670+ let bV = z(("current_bidamount_" + H))
671+ if (!(aM(aD)))
676672 then throw("Something went wrong!")
677- else if (!(aO(aE, aP)))
673+ else if (!(aN(aD, aO)))
678674 then throw("Something went wrong!")
679675 else {
680- let ax = aq(G)
681- if ((ax != ""))
682- then throw(ax)
676+ let aw = ap(F)
677+ if ((aw != ""))
678+ then throw(aw)
683679 else {
684- let bi = A(U(G, I))
685- let bj = A(N(G, I))
686- if ((cA > 10000))
680+ let bh = z(T(F, H))
681+ let bi = z(M(F, H))
682+ if ((cB > 10000))
687683 then throw("10000 editions max per artwork")
688- else if (if ((bi != 0))
689- then (bi == bj)
684+ else if (if ((bh != 0))
685+ then (bh == bi)
690686 else false)
691687 then throw("Max edition reached.")
692- else if (if ((bi > 0))
693- then (bj != cA)
688+ else if (if ((bh > 0))
689+ then (bi != cB)
694690 else false)
695691 then throw("Cannot change maximum issuable anymore")
696- else if (if ((bW > 0))
697- then (bj != cA)
692+ else if (if ((bV > 0))
693+ then (bi != cB)
698694 else false)
699695 then throw("Cannot change maximum issuable with active orders")
700696 else {
701- let bu = if (if ((aP > 0))
702- then (cA > 0)
697+ let bt = if (if ((aO > 0))
698+ then (cB > 0)
703699 else false)
704700 then true
705701 else false
706- let bZ = (cg + height)
707-[BooleanEntry(Z(G, I), bu), IntegerEntry(ad(G, I), aP), IntegerEntry(N(G, I), cA), IntegerEntry(R(G, I), cg), IntegerEntry(S(G, I), bZ), StringEntry(ae(G, I), aE), StringEntry(T(G, I), cB), IntegerEntry(Y(G, I), cC)]
702+ let bY = (cf + height)
703+[BooleanEntry(Y(F, H), bt), IntegerEntry(ac(F, H), aO), IntegerEntry(M(F, H), cB), IntegerEntry(Q(F, H), cf), IntegerEntry(R(F, H), bY), StringEntry(ad(F, H), aD), StringEntry(S(F, H), cC), IntegerEntry(X(F, H), cD)]
708704 }
709705 }
710706 }
711707 }
712708 }
713709
714710
715711
716-@Callable(az)
717-func buyArtwork (I,ba) = {
718- let cB = w(T(ba, I))
719- if ((cB == t))
720- then bD(az, I, ba, "", "", false)
712+@Callable(ay)
713+func buyArtwork (H,aZ) = {
714+ let cC = v(S(aZ, H))
715+ if ((cC == s))
716+ then bC(ay, H, aZ, "", "", false)
721717 else throw("Direct buy only allowed when no auction type is set!")
722718 }
723719
724720
725721
726-@Callable(az)
727-func updateTags (cE,I,aw) = {
728- let G = toString(addressFromPublicKey(az.callerPublicKey))
729- if (containsElement(h, G))
730- then if ((size(split(aw, ",")) > 5))
722+@Callable(ay)
723+func updateTags (cF,H,av) = {
724+ let F = toString(addressFromPublicKey(ay.callerPublicKey))
725+ if (containsElement(h, F))
726+ then if ((size(split(av, ",")) > 5))
731727 then throw("5 tags max.")
732728 else {
733- let cF = x(ab(cE, I), "No tags created with this key, so can't update!")
734- if ((aw == cF))
729+ let cG = w(aa(cF, H), "No tags created with this key, so can't update!")
730+ if ((av == cG))
735731 then throw("Tags are the same as old tags!")
736- else [StringEntry(ab(cE, I), aw)]
732+ else [StringEntry(aa(cF, H), av)]
737733 }
738734 else throw("no")
739735 }
740736
741737
742738
743-@Callable(az)
744-func deleteEntry (cG) = {
745- let G = toString(addressFromPublicKey(az.callerPublicKey))
746- if (containsElement(h, G))
747- then [DeleteEntry(cG)]
739+@Callable(ay)
740+func deleteEntry (cH) = {
741+ let F = toString(addressFromPublicKey(ay.callerPublicKey))
742+ if (containsElement(h, F))
743+ then [DeleteEntry(cH)]
748744 else throw("no")
749745 }
750746
751747
752748
753-@Callable(az)
754-func setBid (I,ba) = {
755- let cB = w(T(ba, I))
756- if ((cB == r))
757- then bT(az, I, ba)
758- else if ((cB == s))
759- then bY(az, I, ba)
760- else throw((("Unknown auction type :" + cB) + ", please contact the admins"))
749+@Callable(ay)
750+func setBid (H,aZ) = {
751+ let cC = v(S(aZ, H))
752+ if ((cC == q))
753+ then bS(ay, H, aZ)
754+ else if ((cC == r))
755+ then bX(ay, H, aZ)
756+ else throw((("Unknown auction type :" + cC) + ", please contact the admins"))
761757 }
762758
763759
764760
765-@Callable(az)
766-func acceptBid (I,ba,Q,bb) = {
767- let cB = w(T(ba, I))
768- if ((cB == r))
769- then cd(az, I, ba, Q, bb)
770- else if ((cB == s))
771- then ch(az, I, ba, Q, bb)
772- else throw((("Unknown auction type :" + cB) + ", please contact the admins"))
761+@Callable(ay)
762+func acceptBid (H,aZ,P,ba) = {
763+ let cC = v(S(aZ, H))
764+ if ((cC == q))
765+ then cc(ay, H, aZ, P, ba)
766+ else if ((cC == r))
767+ then cg(ay, H, aZ, P, ba)
768+ else throw((("Unknown auction type :" + cC) + ", please contact the admins"))
773769 }
774770
775771
776772
777-@Callable(az)
778-func cancelBid (I,ba,Q) = {
779- let cB = w(T(ba, I))
780- if ((cB == r))
781- then cl(az, I, ba, Q)
782- else co(az, I, ba, Q)
773+@Callable(ay)
774+func cancelBid (H,aZ,P) = {
775+ let cC = v(S(aZ, H))
776+ if ((cC == q))
777+ then ck(ay, H, aZ, P)
778+ else cn(ay, H, aZ, P)
783779 }
784780
785781

github/deemru/w8io/169f3d6 
322.40 ms