tx · eyngvcvBaC6JNhdRWfV71bi21pqzdqLD7pJYSfoVBmE

3MrWNTqFcHBqb58Za1A5crQrMV5KJ5DYhtA:  -0.01000000 Waves

2021.10.10 16:18 [1740224] smart account 3MrWNTqFcHBqb58Za1A5crQrMV5KJ5DYhtA > SELF 0.00000000 Waves

{ "type": 13, "id": "eyngvcvBaC6JNhdRWfV71bi21pqzdqLD7pJYSfoVBmE", "fee": 1000000, "feeAssetId": null, "timestamp": 1633871982577, "version": 2, "chainId": 84, "sender": "3MrWNTqFcHBqb58Za1A5crQrMV5KJ5DYhtA", "senderPublicKey": "9abKuN1XmLjjire2feZH26PmcEWhEXxiHToWSmii3Gn2", "proofs": [ "2WyuiEs18vyJ2Qycw7V8HeSZ6y6fwvnbys8H8C3oN7eHfc78gJxQ8rXU8VQmYtxogo5bZHUakPGw4Exu9NtmkEGt" ], "script": "base64:AAIFAAAAAAAAAEUIAhIFCgMBCAgSCQoHCAgICAgICBIICgYIAQEICAESBAoCCAgSBQoDCAgIEgMKAQgSBAoCCAgSBgoECAgICBIFCgMICAgAAABOAAAAAAh1bml0VGVzdAcAAAAACW9yYWNsZUZlZQkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTXBaUWp6R29nbWlmY0VLZThtRGQ2cmliTDdueFQ5QUN5ZQAAAAALZmVlUmVjZWl2ZXICAAAAIzNONjV4THE4SmNDZWFFaVIxVEpRN2RCcVhCdkV5NkU0OFd6AAAAAAhjZXJ0RGFwcAIAAAAjM014Y1hyTmJNWktZYVNyaGNmZU1tMmhabkJlQ3UzeVJXc3cAAAAACHVzZXJEYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOOWNRZ1pGUEhIVnU4d3FzbjJEa1FGZWhnM2g4Q05pb29BAAAAAA13aGl0ZWxpc3REYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOOXhaWUdwek1GRFh2WHVjdG1VNnpWOHFTem0yWmZGMzFmAAAAAAtVU0ROQXNzZXRJZAEAAAAgAIUpTOkTLqoXmGxvzdEleYQFDyLlDcuqJGsbsu9ZirwAAAAABm93bmVycwkABEwAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAAGb3duZXIxCQAETAAAAAIJAAQdAAAAAgUAAAAJb3JhY2xlRmVlAgAAAAZvd25lcjIFAAAAA25pbAAAAAAQVVNETkZpcnN0U2VsbEN1dAAAAAAAAAAAlgAAAAALZGFwcFJ1bm5pbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAIdXNlckRhcHACAAAAFGNvbmZfZGFwcF9pc19ydW5uaW5nBgAAAAAObWFpbnRlbmFuY2VNU0cJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAIdXNlckRhcHACAAAAFGNvbmZfbWFpbnRlbmFuY2VfbXNnAgAAAAAAAAAADXVzZXJTdXNwZW5kZWQCAAAACVNVU1BFTkRFRAAAAAALdXNlclJlbW92ZWQCAAAAB1JFTU9WRUQAAAAAEHVzZXJVbnJlZ2lzdGVyZWQCAAAADFVOUkVHSVNURVJFRAAA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AgAAAAFfBQAAAAZjYWxsZXIBAAAAEWtleUhhc2hCeVR4aWRBZGRyAAAAAgAAAAZjYWxsZXIAAAAEdHhpZAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAATZ2V0X2hhc2hieXR4aWRhZGRyXwUAAAAEdHhpZAIAAAABXwUAAAAGY2FsbGVyAQAAAA5rZXlPd25lckJ5SGFzaAAAAAEAAAAKc2hhMjU2SGFzaAkAASwAAAACAgAAABJnZXRfb3duZXJfYnlfaGFzaF8FAAAACnNoYTI1Nkhhc2gBAAAAEmtleVR4aWRCeUhhc2hPd25lcgAAAAIAAAAKc2hhMjU2SGFzaAAAAAZjYWxsZXIJAAEsAAAAAgIAAAAXZ2V0X3R4aWRfYnlfaGFzaF9vd25lcl8JAAJYAAAAAQkAC1QAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAKc2hhMjU2SGFzaAUAAAAGY2FsbGVyAAAAABljdXJyZW50Q2VydGlmaWNhdGlvblByaWNlCQEAAAAZZ2V0SW50ZWdlckJ5S2V5RnJvbU9yYWNsZQAAAAEJAAEsAAAAAgIAAAASY2VydGlmaWNhdGlvbl9mZWVfCQACWAAAAAEFAAAAC1VTRE5Bc3NldElkAQAAABBnZXRBbW91bnRCeUJpZElkAAAAAQAAAAViaWRJZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAhrZXlCaWRJZAAAAAEFAAAABWJpZElkAAAAAAAAAAAAAQAAABpnZXRBbW91bnRIaWdoZXN0QmlkQnlBcnRJZAAAAAEAAAAFYXJ0SWQEAAAABWJpZElkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAASa2V5SGlnaGVzdEJpZEJpZElkAAAAAQUAAAAFYXJ0SWQDCQAAAAAAAAIFAAAABWJpZElkAgAAAAAAAAAAAAAAAAAJAQAAABBnZXRBbW91bnRCeUJpZElkAAAAAQUAAAAFYmlkSWQBAAAADnZhbGlkYXRlU3RyaW5nAAAAAgAAAANzdHIAAAADbWF4AwkAAAAAAAACCQABMQAAAAEFAAAAA3N0cgAAAAAAAAAAAAkAAAIAAAABAgAAABhGaWVsZCBjYW5ub3QgYmUgaXMgZW1wdHkDCQAAZgAA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AAAABmNhbGxlcgAAAAZpc3N1ZXIAAAAFYXJ0SWQAAAAIYmlkT3duZXIAAAAFYmlkSWQAAAAMcHJpY2VBc3NldElkAAAADGFydHdvcmtQcmljZQAAAAVpc0JpZAQAAAAJY2hlY2tVc2VyCQEAAAAMdmFsaWRhdGVVc2VyAAAAAQUAAAAGaXNzdWVyAwMFAAAABWlzQmlkCQEAAAACIT0AAAACBQAAAAljaGVja1VzZXICAAAAAAcJAAACAAAAAQUAAAAJY2hlY2tVc2VyBAAAAApiaWREYXRhS2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABGJpZF8FAAAABWFydElkAgAAAAFfBQAAAAZpc3N1ZXICAAAAAV8FAAAACGJpZE93bmVyAgAAAAFfBQAAAAViaWRJZAQAAAAMdDAxMzUxOTEzNjQ4AwUAAAAFaXNCaWQJAQAAABZnZXRQcmljZUFzc2V0SWRGcm9tQmlkAAAAAQUAAAAKYmlkRGF0YUtleQkBAAAAFHZhbGlkYXRlUHJpY2VBc3NldElkAAAAAwUAAAABaQUAAAAMcHJpY2VBc3NldElkBQAAAAxhcnR3b3JrUHJpY2UEAAAABmFtb3VudAgFAAAADHQwMTM1MTkxMzY0OAAAAAJfMQQAAAAHYXNzZXRJZAgFAAAADHQwMTM1MTkxMzY0OAAAAAJfMgkABRUAAAADBQAAAApiaWREYXRhS2V5BQAAAAZhbW91bnQFAAAAB2Fzc2V0SWQBAAAAEWdldENvbW1pc3Npb25EYXRhAAAABQAAAAZpc3N1ZXIAAAAHYXNzZXRJZAAAAAZhbW91bnQAAAAKYW1vdW50U29sZAAAAAptYXhDYW5TZWxsBAAAAA1pc1doaXRlbGlzdGVkCQEAAAAOY2hlY2tXaGl0ZWxpc3QAAAABBQAAAAZpc3N1ZXIEAAAAA2N1dAMJAABmAAAAAgUAAAANaXNXaGl0ZWxpc3RlZAUAAAAGaGVpZ2h0AAAAAAAAAAAAAwkAAAAAAAACBQAAAAdhc3NldElkBQAAAAtVU0ROQXNzZXRJZAUAAAAQVVNETkZpcnN0U2VsbEN1dAkAAAIAAAABAgAAABZPbmx5IFVTRE4gaXMgYWNjZXB0ZWQhBAAAAA9h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AAAEBQAAAAFpBQAAAAZpc3N1ZXIFAAAABWFydElkBQAAAAVpc0JpZAQAAAAIdG90YWxORlQIBQAAAAdhcnREYXRhAAAAAl8xBAAAAAthcnR3b3JrTmFtZQgFAAAAB2FydERhdGEAAAACXzIEAAAACmFtb3VudFNvbGQIBQAAAAdhcnREYXRhAAAAAl8zBAAAAAxhcnR3b3JrUHJpY2UIBQAAAAdhcnREYXRhAAAAAl80BAAAAAxwcmljZUFzc2V0SWQIBQAAAAdhcnREYXRhAAAAAl81BAAAAAptYXhDYW5TZWxsCAUAAAAHYXJ0RGF0YQAAAAJfNgQAAAAIaXNPblNhbGUIBQAAAAdhcnREYXRhAAAAAl83BAAAAAdiaWREYXRhCQEAAAAKZ2V0QmlkRGF0YQAAAAkFAAAAAWkFAAAABmNhbGxlcgUAAAAGaXNzdWVyBQAAAAVhcnRJZAUAAAAIYmlkT3duZXIFAAAABWJpZElkBQAAAAxwcmljZUFzc2V0SWQFAAAADGFydHdvcmtQcmljZQUAAAAFaXNCaWQEAAAACmJpZERhdGFLZXkIBQAAAAdiaWREYXRhAAAAAl8xBAAAAAZhbW91bnQIBQAAAAdiaWREYXRhAAAAAl8yBAAAAAdhc3NldElkCAUAAAAHYmlkRGF0YQAAAAJfMwQAAAANY29tbWlzaW9uRGF0YQkBAAAAEWdldENvbW1pc3Npb25EYXRhAAAABQUAAAAGaXNzdWVyCQEAAAAFdmFsdWUAAAABBQAAAAdhc3NldElkBQAAAAZhbW91bnQFAAAACmFtb3VudFNvbGQFAAAACm1heENhblNlbGwEAAAAD2Ftb3VudEZvclNjb25leAgFAAAADWNvbW1pc2lvbkRhdGEAAAACXzEEAAAAEGFtb3VudEZvckNyZWF0b3IIBQAAAA1jb21taXNpb25EYXRhAAAAAl8yBAAAAA1uZXdBbW91bnRTb2xkCAUAAAANY29tbWlzaW9uRGF0YQAAAAJfMwQAAAAKaXNzdWVyRGF0YQkBAAAADGdldElzc3VlRGF0YQAAAAsFAAAABmlzc3VlcgUAAAAFYXJ0SWQFAAAAC2FydHdvcmtOYW1lBQAAAA1uZXdBbW91bnRTb2xkBQAAAAptYXhDYW5TZWxsBQAAAAh0b3RhbE5GVAUAAAAGY2FsbGVyBQAAAAhiaWRPd25lcgUAAAAFYmlkSWQFAAAAAWkFAAAACGlzT25TYWxlBAAAAApzZWxsU3RhdHVzCAUAAAAKaXNzdWVyRGF0YQAAAAJfMQQAAAAKcmVjZWl2ZU5GVAgFAAAACmlzc3VlckRhdGEAAAACXzIEAAAACWlzc3VlTWV0YQgFAAAACmlzc3VlckRhdGEAAAACXzMEAAAAC2lkTkZUSW52b2tlCQAD/AAAAAQFAAAABHRoaXMCAAAAB21pbnROZnQJAARMAAAAAgUAAAAIdG90YWxORlQJAARMAAAAAgUAAAAJaXNzdWVNZXRhCQAETAAAAAIJAAQlAAAAAQUAAAAKcmVjZWl2ZU5GVAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAC2lkTkZUSW52b2tlBQAAAAtpZE5GVEludm9rZQQAAAAFaWRORlQEAAAAByRtYXRjaDAFAAAAC2lkTkZUSW52b2tlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXIFAAAAByRtYXRjaDAFAAAAAXIJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGludm9rZSByZXN1bHQEAAAAC2JpZEtleVZhbHVlCQEAAAAMZ2V0QmlkS2V5VmFsAAAAAwUAAAAHYXNzZXRJZAUAAAAKYmlkRGF0YUtleQUAAAAEZGF0ZQQAAAAKYXNzZXRJZEJpZAgFAAAAC2JpZEtleVZhbHVlAAAAAl8xBAAAAAliaWREZWxPbGQIBQAAAAtiaWRLZXlWYWx1ZQAAAAJfMgQAAAAJYmlkVXBkYXRlCAUAAAALYmlkS2V5VmFsdWUAAAACXzMEAAAAB3NvbGRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJYXJ0X3NvbGRfCQABpAAAAAEFAAAADW5ld0Ftb3VudFNvbGQCAAAABF9vZl8JAAGkAAAAAQUAAAAKbWF4Q2FuU2VsbAIAAAABXwUAAAAFYXJ0SWQCAAAAAV8FAAAABmlzc3VlcgQAAAAGcmFyaXR5CQEAAAAPY2FsY3VsYXRlUmFyaXR5AAAAAQUAAAANbmV3QW1vdW50U29sZAQAAAAJc29sZFZhbHVlAwkBAAAAASEAAAABBQAAAAVpc0JpZAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZjYWxsZXICAAAAAV8JAAGkAAAAAQUAAAAEZGF0ZQIAAAABXwUAAAACaWQCAAAAAV8JAAGkAAAAAQUAAAAMYXJ0d29ya1ByaWNlAgAAAAFfBQAAAAxwcmljZUFzc2V0SWQCAAAAAV8FAAAABWlkTkZUCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAKcmVjZWl2ZU5GVAIAAAABXwkAAaQAAAABBQAAAARkYXRlAgAAAAFfBQAAAAJpZAIAAAABXwkAAaQAAAABBQAAAAZhbW91bnQCAAAAAV8FAAAACmFzc2V0SWRCaWQCAAAAAV8FAAAABWlkTkZUBAAAAAhzb2xkRGF0YQkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAHc29sZEtleQUAAAAJc29sZFZhbHVlBAAAAAZidXlSZXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAlrZXlJc3N1ZWQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBQAAAA1uZXdBbW91bnRTb2xkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAEbmZ0XwUAAAAFaWRORlQFAAAAB3NvbGRLZXkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAAtuZnRfcmFyaXR5XwUAAAAFaWRORlQFAAAABnJhcml0eQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAQdG90YWxfbmZ0X2lzc3VlZAkAAGQAAAACBQAAAAh0b3RhbE5GVAAAAAAAAAAAAQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkBAAAACWtleU9uU2FsZQAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQFAAAACnNlbGxTdGF0dXMJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAABmlzc3VlcgUAAAAQYW1vdW50Rm9yQ3JlYXRvcgUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAALZmVlUmVjZWl2ZXIFAAAAD2Ftb3VudEZvclNjb25leAUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAMS2V5TmZ0SXNzdWVyAAAAAQUAAAAFaWRORlQFAAAABmlzc3VlcgUAAAADbmlsBAAAAANyZXMJAAP8AAAABAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAIY2VydERhcHACAAAACmNyZWF0ZUNlcnQJAARMAAAAAgkABCUAAAABBQAAAApyZWNlaXZlTkZUCQAETAAAAAIFAAAABWlkTkZUCQAETAAAAAIFAAAABmlzc3VlcgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAA3JlcwUAAAADcmVzAwUAAAAFaXNCaWQJAARNAAAAAgkABE0AAAACCQAETQAAAAIFAAAABmJ1eVJlcwUAAAAIc29sZERhdGEFAAAACWJpZFVwZGF0ZQUAAAAJYmlkRGVsT2xkCQAETAAAAAIFAAAACHNvbGREYXRhBQAAAAZidXlSZXMJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEAAAAUc2V0QmlkTm9uVHJhZGl0aW9uYWwAAAADAAAAAWkAAAAFYXJ0SWQAAAAGaXNzdWVyBAAAAAx0MDI3NzA5Mjc3NDcJAQAAAAxpZENhbGxlckRhdGUAAAABBQAAAAFpBAAAAAJpZAgFAAAADHQwMjc3MDkyNzc0NwAAAAJfMQQAAAAGY2FsbGVyCAUAAAAMdDAyNzcwOTI3NzQ3AAAAAl8yBAAAAARkYXRlCAUAAAAMdDAyNzcwOTI3NzQ3AAAAAl8zBAAAAAx0MDI3NzUyMjc3ODgJAQAAAAlpc1BheW1lbnQAAAABBQAAAAFpBAAAAAdwYXltZW50CAUAAAAMdDAyNzc1MjI3Nzg4AAAAAl8xBAAAAAZhbW91bnQIBQAAAAx0MDI3NzUyMjc3ODgAAAACXzIEAAAAB2Fzc2V0SWQDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkCQAAAgAAAAECAAAAFk9ubHkgVVNETiBpcyBhY2NlcHRlZCEJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAQAAAAGYmlkTmJyCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkAASwAAAACAgAAABJjdXJyZW50X2JpZGFtb3VudF8FAAAABWFydElkBAAAAA9taW5BcnR3b3JrUHJpY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAIa2V5UHJpY2UAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkCQAAaAAAAAIFAAAAGWN1cnJlbnRDZXJ0aWZpY2F0aW9uUHJpY2UAAAAAAAAAAAIDCQEAAAABIQAAAAEJAQAAABBhY2NlcHRlZEFzc2V0SWRzAAAAAQUAAAAHYXNzZXRJZAkAAAIAAAABAgAAABJhc3NldCBub3QgYWNjZXB0ZWQDCQAAZgAAAAIFAAAAD21pbkFydHdvcmtQcmljZQUAAAAGYW1vdW50CQAAAgAAAAECAAAAF0JpZCBpcyBiZWxvdyBtaW4gcHJpY2UhBAAAAAphbW91bnRTb2xkCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACWtleUlzc3VlZAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACm1heENhblNlbGwJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAKa2V5TWF4TWludAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDCQAAZwAAAAIAAAAAAAAAAAAFAAAACm1heENhblNlbGwJAAACAAAAAQIAAAAjTm8gbWF4IGVkaXRpb24gc2V0IGZvciB0aGlzIGFydHdvcmsDCQAAZwAAAAIFAAAACmFtb3VudFNvbGQFAAAACm1heENhblNlbGwJAAACAAAAAQIAAAAYU29sZCBvdXQsIHlvdSBjYW5ub3QgYmlkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAARiaWRfBQAAAAVhcnRJZAIAAAABXwUAAAAGaXNzdWVyAgAAAAFfBQAAAAZjYWxsZXICAAAAAV8FAAAAAmlkAgAAAAVfT1BFTgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdhc3NldElkAgAAAAFfCQABpAAAAAEFAAAABmFtb3VudAIAAAABXwkAAaQAAAABBQAAAARkYXRlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEmN1cnJlbnRfYmlkYW1vdW50XwUAAAAFYXJ0SWQJAABkAAAAAgUAAAAGYmlkTmJyAAAAAAAAAAABBQAAAANuaWwBAAAAEXNldEJpZFRyYWRpdGlvbmFsAAAAAwAAAAFpAAAABWFydElkAAAABmlzc3VlcgQAAAAJZW5kSGVpZ2h0CQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAADGtleUVuZEhlaWdodAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACmhpZ2hlc3RCaWQJAQAAABpnZXRBbW91bnRIaWdoZXN0QmlkQnlBcnRJZAAAAAEFAAAABWFydElkAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAACWVuZEhlaWdodAkAAAIAAAABAgAAACFUaGlzIGF1Y3Rpb24gaXMgZmluaXNoZWQgYWxyZWFkeSEEAAAAC2NhbGxkZXJEYXRhCQEAAAAMaWRDYWxsZXJEYXRlAAAAAQUAAAABaQQAAAACaWQIBQAAAAtjYWxsZGVyRGF0YQAAAAJfMQQAAAAGY2FsbGVyCAUAAAALY2FsbGRlckRhdGEAAAACXzIEAAAABGRhdGUIBQAAAAtjYWxsZGVyRGF0YQAAAAJfMwQAAAAMaXNQYXltZW50VmFyCQEAAAAJaXNQYXltZW50AAAAAQUAAAABaQQAAAAHcGF5bWVudAgFAAAADGlzUGF5bWVudFZhcgAAAAJfMQQAAAAGYW1vdW50CAUAAAAMaXNQYXltZW50VmFyAAAAAl8yAwkAAGcAAAACBQAAAApoaWdoZXN0QmlkBQAAAAZhbW91bnQJAAACAAAAAQkAASwAAAACAgAAACBQbGVhc2UgcGxhY2UgYSBiaWQgaGlnaGVyIHRoYW46IAkAAaQAAAABBQAAAApoaWdoZXN0QmlkBAAAAAdhc3NldElkAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkAAAIAAAABAgAAABZPbmx5IFVTRE4gaXMgYWNjZXB0ZWQhCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQEAAAABmJpZE5icgkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAAEsAAAAAgIAAAASY3VycmVudF9iaWRhbW91bnRfBQAAAAVhcnRJZAQAAAAPbWluQXJ0d29ya1ByaWNlCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACGtleVByaWNlAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAkAAGgAAAACBQAAABljdXJyZW50Q2VydGlmaWNhdGlvblByaWNlAAAAAAAAAAACAwkBAAAAASEAAAABCQEAAAAQYWNjZXB0ZWRBc3NldElkcwAAAAEFAAAAB2Fzc2V0SWQJAAACAAAAAQIAAAASYXNzZXQgbm90IGFjY2VwdGVkAwkAAGYAAAACBQAAAA9taW5BcnR3b3JrUHJpY2UFAAAABmFtb3VudAkAAAIAAAABAgAAABdCaWQgaXMgYmVsb3cgbWluIHByaWNlIQQAAAAKYW1vdW50U29sZAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAlrZXlJc3N1ZWQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAAptYXhDYW5TZWxsCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACmtleU1heE1pbnQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkAwkAAGcAAAACAAAAAAAAAAAABQAAAAptYXhDYW5TZWxsCQAAAgAAAAECAAAAI05vIG1heCBlZGl0aW9uIHNldCBmb3IgdGhpcyBhcnR3b3JrAwkAAGcAAAACBQAAAAphbW91bnRTb2xkBQAAAAptYXhDYW5TZWxsCQAAAgAAAAECAAAAGFNvbGQgb3V0LCB5b3UgY2Fubm90IGJpZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAEYmlkXwUAAAAFYXJ0SWQCAAAAAV8FAAAABmlzc3VlcgIAAAABXwUAAAAGY2FsbGVyAgAAAAFfBQAAAAJpZAIAAAAFX09QRU4JAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAHYXNzZXRJZAIAAAABXwkAAaQAAAABBQAAAAZhbW91bnQCAAAAAV8JAAGkAAAAAQUAAAAEZGF0ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJjdXJyZW50X2JpZGFtb3VudF8FAAAABWFydElkCQAAZAAAAAIFAAAABmJpZE5icgAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASa2V5SGlnaGVzdEJpZEJpZElkAAAAAQUAAAAFYXJ0SWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAACGtleUJpZElkAAAAAQkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAAZhbW91bnQFAAAAA25pbAEAAAAXYWNjZXB0QmlkTm9uVHJhZGl0aW9uYWwAAAAFAAAAAWkAAAAFYXJ0SWQAAAAGaXNzdWVyAAAABWJpZElkAAAACGJpZE93bmVyBAAAAAZjYWxsZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwMJAQAAAAIhPQAAAAIFAAAABmNhbGxlcgUAAAAGaXNzdWVyCQAAAgAAAAECAAAAGVlvdSBjYW5ub3QgZG8gdGhpcyBhY3Rpb24JAQAAAAdidXlNaW50AAAABgUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgUAAAAFYmlkSWQFAAAACGJpZE93bmVyBgEAAAAOcmVzdGFydEF1Y3Rpb24AAAACAAAABWFydElkAAAABmlzc3VlcgQAAAAKYW1vdW50U29sZAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAlrZXlJc3N1ZWQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAAptYXhDYW5TZWxsCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACmtleU1heE1pbnQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAAxvbGRFbmRIZWlnaHQJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAMa2V5RW5kSGVpZ2h0AAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAQAAAAIZHVyYXRpb24JAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAALa2V5RHVyYXRpb24AAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAAllbmRIZWlnaHQJAABkAAAAAgUAAAAIZHVyYXRpb24FAAAABmhlaWdodAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAAxvbGRFbmRIZWlnaHQDCQAAAAAAAAIFAAAACmFtb3VudFNvbGQFAAAACm1heENhblNlbGwJAAACAAAAAQIAAAAmQ2FuJ3QgcmVzdGFydCBhdWN0aW9uLCBtYXggYW1vdW50IHNvbGQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAxrZXlFbmRIZWlnaHQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBQAAAAllbmRIZWlnaHQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAEmtleUhpZ2hlc3RCaWRCaWRJZAAAAAEFAAAABWFydElkBQAAAANuaWwJAAACAAAAAQIAAAAkUHJldmlvdXMgYXVjdGlvbiBpc24ndCBjb21wbGV0ZWQgeWV0AQAAABRhY2NlcHRCaWRUcmFkaXRpb25hbAAAAAUAAAABaQAAAAVhcnRJZAAAAAZpc3N1ZXIAAAAFYmlkSWQAAAAIYmlkT3duZXIEAAAACWVuZEhlaWdodAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAxrZXlFbmRIZWlnaHQAAAACBQAAAAZpc3N1ZXIFAAAA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BG5hbWUFAAAAC2Rlc2NyaXB0aW9uBQAAAAR0YWdzAwkBAAAAAiE9AAAAAgUAAAAPdmFsaWRhdGVBcnR3b3JrAgAAAAAJAAACAAAAAQIAAAAVU29tZXRoaW5nIHdlbnQgd3JvbmchBAAAAAx0MDE4MTcwMTgyMTIJAQAAAA92YWxpZGF0ZVBheW1lbnQAAAABBQAAAAFpBAAAAAZhbW91bnQIBQAAAAx0MDE4MTcwMTgyMTIAAAACXzEEAAAAB2Fzc2V0SWQIBQAAAAx0MDE4MTcwMTgyMTIAAAACXzIDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAAZhbW91bnQJAAACAAAAAQIAAAAUU29tZXRoaW5nIHdlbnQgd3JvbmcEAAAACmVudHJ5RXhpc3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABJrZXlUeGlkQnlIYXNoT3duZXIAAAACBQAAAApzaGEyNTZIYXNoBQAAAAZjYWxsZXIDCQEAAAACIT0AAAACBQAAAAplbnRyeUV4aXN0AgAAAAAJAAACAAAAAQIAAAAUWW91IGFscmVhZHkgYWRkZWQgaXQEAAAACWhhc2hFeGlzdAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADmtleU93bmVyQnlIYXNoAAAAAQUAAAAKc2hhMjU2SGFzaAMJAQAAAAIhPQAAAAIFAAAACWhhc2hFeGlzdAIAAAAACQAAAgAAAAECAAAAH1RoaXMgaGFzaCBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmtleU93bmVyQnlIYXNoAAAAAQUAAAAKc2hhMjU2SGFzaAUAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlUeGlkQnlIYXNoT3duZXIAAAACBQAAAApzaGEyNTZIYXNoBQAAAAZjYWxsZXIFAAAABWFydElkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAHa2V5RGF0ZQAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAABGRhdGUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAB2tleU5hbWUAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAARuYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdrZXlEZXNjAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAALZGVzY3JpcHRpb24JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleURpc3BsYXlDaWQAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAApjaWREaXNwbGF5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdrZXlUeXBlAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAEdHlwZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAHa2V5VGFncwAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAABHRhZ3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAprZXlNYXhNaW50AAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAACWtleUlzc3VlZAAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQAAAAAAAAAAAAJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAQAAAAlrZXlPblNhbGUAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAARa2V5SGFzaEJ5VHhpZEFkZHIAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAApzaGEyNTZIYXNoCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA5rZXlFbnRpdGxlbWVudAAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAAC2VudGl0bGVtZW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAtmZWVSZWNlaXZlcgUAAAAGYW1vdW50BQAAAAdhc3NldElkBQAAAANuaWwAAAABaQEAAAALc2VsbEFydHdvcmsAAAAGAAAABWFydElkAAAABXByaWNlAAAAB21heE1pbnQAAAAHYXNzZXRJZAAAAAthdWN0aW9uVHlwZQAAAAhkdXJhdGlvbgQAAAAMdDAyNTcxNDI1NzQ3CQEAAAAMaWRDYWxsZXJEYXRlAAAAAQUAAAABaQQAAAACaWQIBQAAAAx0MDI1NzE0MjU3NDcAAAACXzEEAAAABmNhbGxlcggFAAAADHQwMjU3MTQyNTc0NwAAAAJfMgQAAAALYXJ0d29ya05hbWUJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAAdrZXlOYW1lAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYXVjdGlvblR5cGUxCQAETAAAAAIFAAAADGF1Y3Rpb25UeXBlMgkABEwAAAACBQAAAAxhdWN0aW9uVHlwZTMFAAAAA25pbAUAAAALYXVjdGlvblR5cGUJAAACAAAAAQIAAAAfV2UgZG9uJ3Qga25vdyB0aGlzIGF1Y3Rpb24gdHlwZQMJAAAAAAAAAgUAAAALYXJ0d29ya05hbWUCAAAAAAkAAAIAAAABAgAAACNUaGlzIGFydCBkb2Vzbid0IG1hdGNoIHlvdXIgYWNjb3VudAQAAAAGYmlkTmJyCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkAASwAAAACAgAAABJjdXJyZW50X2JpZGFtb3VudF8FAAAABWFydElkAwkBAAAAASEAAAABCQEAAAAQYWNjZXB0ZWRBc3NldElkcwAAAAEFAAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAVU29tZXRoaW5nIHdlbnQgd3JvbmchAwkBAAAAASEAAAABCQEAAAAPdmFsaWRhdGVNaW5TZWxsAAAAAgUAAAAHYXNzZXRJZAUAAAAFcHJpY2UJAAACAAAAAQIAAAAVU29tZXRoaW5nIHdlbnQgd3JvbmchBAAAAAljaGVja1VzZXIJAQAAAAx2YWxpZGF0ZVVzZXIAAAABBQAAAAZjYWxsZXIDCQEAAAACIT0AAAACBQAAAAljaGVja1VzZXICAAAAAAkAAAIAAAABBQAAAAljaGVja1VzZXIEAAAACmFtb3VudFNvbGQJAQAAAA9nZXRJbnRlZ2VyQnlL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AAAAFlVua25vd24gYXVjdGlvbiB0eXBlIDoFAAAAC2F1Y3Rpb25UeXBlAgAAABssIHBsZWFzZSBjb250YWN0IHRoZSBhZG1pbnMAAAABaQEAAAAJYWNjZXB0QmlkAAAABAAAAAVhcnRJZAAAAAZpc3N1ZXIAAAAFYmlkSWQAAAAIYmlkT3duZXIEAAAAC2F1Y3Rpb25UeXBlCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAOa2V5QXVjdGlvblR5cGUAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkAwkAAAAAAAACBQAAAAthdWN0aW9uVHlwZQUAAAAMYXVjdGlvblR5cGUxCQEAAAAXYWNjZXB0QmlkTm9uVHJhZGl0aW9uYWwAAAAFBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyBQAAAAViaWRJZAUAAAAIYmlkT3duZXIDCQAAAAAAAAIFAAAAC2F1Y3Rpb25UeXBlBQAAAAxhdWN0aW9uVHlwZTIJAQAAABRhY2NlcHRCaWRUcmFkaXRpb25hbAAAAAUFAAAAAWkFAAAABWFydElkBQAAAAZpc3N1ZXIFAAAABWJpZElkBQAAAAhiaWRPd25lcgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAWVW5rbm93biBhdWN0aW9uIHR5cGUgOgUAAAALYXVjdGlvblR5cGUCAAAAGywgcGxlYXNlIGNvbnRhY3QgdGhlIGFkbWlucwAAAAFpAQAAAAljYW5jZWxCaWQAAAADAAAABWFydElkAAAABmlzc3VlcgAAAAViaWRJZAQAAAALYXVjdGlvblR5cGUJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA5rZXlBdWN0aW9uVHlwZQAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDCQAAAAAAAAIFAAAAC2F1Y3Rpb25UeXBlBQAAAAxhdWN0aW9uVHlwZTEJAQAAAA1jYW5jZWxCaWRJbXBsAAAABAUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgUAAAAFYmlkSWQJAQAAABhjYW5jZWxCaWRJbXBsVHJhZGl0aW9uYWwAAAAEBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyBQAAAAViaWRJZAAAAABuGG2t", "height": 1740224, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FgSf1iBWVKaUeSvMZqtZs1gaReA4WsGAEtKUZp7eusTh Next: 9Eg32Z6SJ7WXA35obFxybTRvjA6FRnkMyDHnx4ra7NEu Diff:
OldNewDifferences
466466 then throw("Only USDN is accepted!")
467467 else toBase58String(value(av.assetId))
468468 let bR = y(("current_bidamount_" + G))
469+ let bS = valueOrElse(y(Y(aV, G)), (af * 2))
469470 if (!(aI(az)))
470471 then throw("asset not accepted")
471- else if (!(aJ(az, aw)))
472- then throw("Wrong min sell")
472+ else if ((bS > aw))
473+ then throw("Bid is below min price!")
473474 else {
474475 let bd = y(R(aV, G))
475476 let be = y(K(aV, G))
482483 }
483484
484485
485-func bS (au,G,aV) = {
486- let bT = y(P(aV, G))
487- let bU = ah(G)
488- if ((height > bT))
486+func bT (au,G,aV) = {
487+ let bU = y(P(aV, G))
488+ let bV = ah(G)
489+ if ((height > bU))
489490 then throw("This auction is finished already!")
490491 else {
491- let bV = aT(au)
492- let bA = bV._1
493- let E = bV._2
494- let bu = bV._3
495- let bW = at(au)
496- let av = bW._1
497- let aw = bW._2
498- if ((bU >= aw))
499- then throw(("Please place a bid higher than: " + toString(bU)))
492+ let bW = aT(au)
493+ let bA = bW._1
494+ let E = bW._2
495+ let bu = bW._3
496+ let bX = at(au)
497+ let av = bX._1
498+ let aw = bX._2
499+ if ((bV >= aw))
500+ then throw(("Please place a bid higher than: " + toString(bV)))
500501 else {
501502 let az = if (!(isDefined(av.assetId)))
502503 then throw("Only USDN is accepted!")
503504 else toBase58String(value(av.assetId))
504505 let bR = y(("current_bidamount_" + G))
506+ let bS = valueOrElse(y(Y(aV, G)), (af * 2))
505507 if (!(aI(az)))
506508 then throw("asset not accepted")
507- else if (!(aJ(az, aw)))
508- then throw("Wrong min sell")
509+ else if ((bS > aw))
510+ then throw("Bid is below min price!")
509511 else {
510512 let bd = y(R(aV, G))
511513 let be = y(K(aV, G))
520522 }
521523
522524
523-func bX (au,G,aV,N,aW) = {
525+func bY (au,G,aV,N,aW) = {
524526 let E = toBase58String(au.caller.bytes)
525527 if ((E != aV))
526528 then throw("You cannot do this action")
528530 }
529531
530532
531-func bY (G,aV) = {
533+func bZ (G,aV) = {
532534 let bd = y(R(aV, G))
533535 let be = y(K(aV, G))
534- let bZ = y(P(aV, G))
535- let ca = y(O(aV, G))
536- let bT = (ca + height)
537- if ((height > bZ))
536+ let ca = y(P(aV, G))
537+ let cb = y(O(aV, G))
538+ let bU = (cb + height)
539+ if ((height > ca))
538540 then if ((bd == be))
539541 then throw("Can't restart auction, max amount sold")
540- else [IntegerEntry(P(aV, G), bT), DeleteEntry(L(G))]
542+ else [IntegerEntry(P(aV, G), bU), DeleteEntry(L(G))]
541543 else throw("Previous auction isn't completed yet")
542544 }
543545
544546
545-func cb (au,G,aV,N,aW) = {
546- let bT = y(P(aV, G))
547- let cc = u(L(G))
548- if ((height > bT))
549- then if ((N == cc))
547+func cc (au,G,aV,N,aW) = {
548+ let bU = y(P(aV, G))
549+ let cd = u(L(G))
550+ if ((height > bU))
551+ then if ((N == cd))
550552 then {
551- let cd = by(au, G, aV, N, aW, true)
552- let ce = bY(G, aV)
553- (ce ++ cd)
553+ let ce = by(au, G, aV, N, aW, true)
554+ let cf = bZ(G, aV)
555+ (cf ++ ce)
554556 }
555557 else throw("This is not the winning bid!")
556558 else throw("This auction is not yet finished!")
557559 }
558560
559561
560-func cf (au,G,aV,N) = {
561- let cg = aT(au)
562- let bA = cg._1
563- let E = cg._2
564- let bu = cg._3
562+func cg (au,G,aV,N) = {
563+ let ch = aT(au)
564+ let bA = ch._1
565+ let E = ch._2
566+ let bu = ch._3
565567 let bR = y(("current_bidamount_" + G))
566568 let aO = ((((((("bid_" + G) + "_") + aV) + "_") + E) + "_") + N)
567569 let aP = v((aO + "_OPEN"), "Bid not found")
568570 let aQ = split(aP, "_")
569571 let az = aM(aQ[0])
570- let ch = "CANCELED"
571-[DeleteEntry((aO + "_OPEN")), StringEntry(((aO + "_") + ch), ((aP + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + G), (bR - 1)), ScriptTransfer(Address(fromBase58String(E)), parseIntValue(aQ[1]), az)]
572+ let ci = "CANCELED"
573+[DeleteEntry((aO + "_OPEN")), StringEntry(((aO + "_") + ci), ((aP + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + G), (bR - 1)), ScriptTransfer(Address(fromBase58String(E)), parseIntValue(aQ[1]), az)]
572574 }
573575
574576
575-func ci (au,G,aV,N) = {
576- let cg = aT(au)
577- let bA = cg._1
578- let E = cg._2
579- let bu = cg._3
577+func cj (au,G,aV,N) = {
578+ let ch = aT(au)
579+ let bA = ch._1
580+ let E = ch._2
581+ let bu = ch._3
580582 let bR = y(("current_bidamount_" + G))
581583 let aO = ((((((("bid_" + G) + "_") + aV) + "_") + E) + "_") + N)
582584 let aP = v((aO + "_OPEN"), "Bid not found")
583585 let aQ = split(aP, "_")
584586 let az = aM(aQ[0])
585- let ch = "CANCELED"
587+ let ci = "CANCELED"
586588 let aR = parseIntValue(aQ[1])
587- let cc = u(L(G))
588- if ((N == cc))
589+ let cd = u(L(G))
590+ if ((N == cd))
589591 then throw("You can't cancel the highest bid!")
590- else [DeleteEntry((aO + "_OPEN")), StringEntry(((aO + "_") + ch), ((aP + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + G), (bR - 1)), ScriptTransfer(Address(fromBase58String(E)), aR, az)]
592+ else [DeleteEntry((aO + "_OPEN")), StringEntry(((aO + "_") + ci), ((aP + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + G), (bR - 1)), ScriptTransfer(Address(fromBase58String(E)), aR, az)]
591593 }
592594
593595
594596 @Callable(au)
595597 func mintNft (ba,bo,bq) = if ((au.caller == this))
596598 then {
597- let cj = Address(fromBase58String(bq))
598- let ck = Issue(("SCONEX_" + toString((ba + 1))), bo, 1, 0, false)
599- let bF = calculateAssetId(ck)
600- $Tuple2([ck, ScriptTransfer(cj, 1, bF)], toBase58String(bF))
599+ let ck = Address(fromBase58String(bq))
600+ let cl = Issue(("SCONEX_" + toString((ba + 1))), bo, 1, 0, false)
601+ let bF = calculateAssetId(cl)
602+ $Tuple2([cl, ScriptTransfer(ck, 1, bF)], toBase58String(bF))
601603 }
602604 else throw("Only the dApp can mint NFT's")
603605
604606
605607
606608 @Callable(au)
607-func addArtwork (ad,ap,aq,ar,cl,ao,cm) = {
608- let cn = aT(au)
609- let G = cn._1
610- let E = cn._2
611- let bu = cn._3
612- let co = an(E, ao, ap, aq, ar)
613- if ((co != ""))
609+func addArtwork (ad,ap,aq,ar,cm,ao,cn) = {
610+ let co = aT(au)
611+ let G = co._1
612+ let E = co._2
613+ let bu = co._3
614+ let cp = an(E, ao, ap, aq, ar)
615+ if ((cp != ""))
614616 then throw("Something went wrong!")
615617 else {
616- let cp = ax(au)
617- let aw = cp._1
618- let az = cp._2
618+ let cq = ax(au)
619+ let aw = cq._1
620+ let az = cq._2
619621 if (!(isDefined(aw)))
620622 then throw("Something went wrong")
621623 else {
622- let cq = u(ae(ad, E))
623- if ((cq != ""))
624+ let cr = u(ae(ad, E))
625+ if ((cr != ""))
624626 then throw("You already added it")
625627 else {
626- let cr = u(ac(ad))
627- if ((cr != ""))
628+ let cs = u(ac(ad))
629+ if ((cs != ""))
628630 then throw("This hash is already registered")
629- else [StringEntry(ac(ad), E), StringEntry(ae(ad, E), G), IntegerEntry(F(E, G), bu), StringEntry(H(E, G), ap), StringEntry(I(E, G), aq), StringEntry(J(E, G), ao), StringEntry(X(E, G), cl), StringEntry(W(E, G), ar), IntegerEntry(K(E, G), 0), IntegerEntry(R(E, G), 0), BooleanEntry(U(E, G), false), StringEntry(aa(E, G), ad), StringEntry(V(E, G), cm), ScriptTransfer(Address(fromBase58String(c)), aw, az)]
631+ else [StringEntry(ac(ad), E), StringEntry(ae(ad, E), G), IntegerEntry(F(E, G), bu), StringEntry(H(E, G), ap), StringEntry(I(E, G), aq), StringEntry(J(E, G), ao), StringEntry(X(E, G), cm), StringEntry(W(E, G), ar), IntegerEntry(K(E, G), 0), IntegerEntry(R(E, G), 0), BooleanEntry(U(E, G), false), StringEntry(aa(E, G), ad), StringEntry(V(E, G), cn), ScriptTransfer(Address(fromBase58String(c)), aw, az)]
630632 }
631633 }
632634 }
635637
636638
637639 @Callable(au)
638-func sellArtwork (G,aK,cs,az,ct,ca) = {
639- let cu = aT(au)
640- let bA = cu._1
641- let E = cu._2
640+func sellArtwork (G,aK,ct,az,cu,cb) = {
641+ let cv = aT(au)
642+ let bA = cv._1
643+ let E = cv._2
642644 let bb = u(H(E, G))
643- if (!(containsElement([p, q, r], ct)))
645+ if (!(containsElement([p, q, r], cu)))
644646 then throw("We don't know this auction type")
645647 else if ((bb == ""))
646648 then throw("This art doesn't match your account")
657659 else {
658660 let bd = y(R(E, G))
659661 let be = y(K(E, G))
660- if ((cs > 5000))
662+ if ((ct > 5000))
661663 then throw("5000 editions max per artwork")
662664 else if (if ((bd != 0))
663665 then (bd == be)
664666 else false)
665667 then throw("Max edition reached.")
666668 else if (if ((bd > 0))
667- then (be != cs)
669+ then (be != ct)
668670 else false)
669671 then throw("Cannot change maximum issuable anymore")
670672 else if (if ((bR > 0))
671- then (be != cs)
673+ then (be != ct)
672674 else false)
673675 then throw("Cannot change maximum issuable with active orders")
674676 else {
675677 let bp = if (if ((aK > 0))
676- then (cs > 0)
678+ then (ct > 0)
677679 else false)
678680 then true
679681 else false
680- let bT = (ca + height)
681-[BooleanEntry(U(E, G), bp), IntegerEntry(Y(E, G), aK), IntegerEntry(K(E, G), cs), IntegerEntry(O(E, G), ca), IntegerEntry(P(E, G), bT), StringEntry(Z(E, G), az), StringEntry(Q(E, G), ct)]
682+ let bU = (cb + height)
683+[BooleanEntry(U(E, G), bp), IntegerEntry(Y(E, G), aK), IntegerEntry(K(E, G), ct), IntegerEntry(O(E, G), cb), IntegerEntry(P(E, G), bU), StringEntry(Z(E, G), az), StringEntry(Q(E, G), cu)]
682684 }
683685 }
684686 }
689691
690692 @Callable(au)
691693 func buyArtwork (G,aV) = {
692- let ct = u(Q(aV, G))
693- if ((ct == r))
694+ let cu = u(Q(aV, G))
695+ if ((cu == r))
694696 then by(au, G, aV, "", "", false)
695697 else throw("Direct buy only allowed when no auction type is set!")
696698 }
698700
699701
700702 @Callable(au)
701-func updateTags (cv,G,ar) = {
703+func updateTags (cw,G,ar) = {
702704 let E = toString(addressFromPublicKey(au.callerPublicKey))
703705 if (containsElement(h, E))
704706 then if ((size(split(ar, ",")) > 5))
705707 then throw("5 tags max.")
706708 else {
707- let cw = v(W(cv, G), "No tags created with this key, so can't update!")
708- if ((ar == cw))
709+ let cx = v(W(cw, G), "No tags created with this key, so can't update!")
710+ if ((ar == cx))
709711 then throw("Tags are the same as old tags!")
710- else [StringEntry(W(cv, G), ar)]
712+ else [StringEntry(W(cw, G), ar)]
711713 }
712714 else throw("no")
713715 }
715717
716718
717719 @Callable(au)
718-func deleteEntry (cx) = {
720+func deleteEntry (cy) = {
719721 let E = toString(addressFromPublicKey(au.callerPublicKey))
720722 if (containsElement(h, E))
721- then [DeleteEntry(cx)]
723+ then [DeleteEntry(cy)]
722724 else throw("no")
723725 }
724726
726728
727729 @Callable(au)
728730 func setBid (G,aV) = {
729- let ct = u(Q(aV, G))
730- if ((ct == p))
731+ let cu = u(Q(aV, G))
732+ if ((cu == p))
731733 then bO(au, G, aV)
732- else if ((ct == q))
733- then bS(au, G, aV)
734- else throw((("Unknown auction type :" + ct) + ", please contact the admins"))
734+ else if ((cu == q))
735+ then bT(au, G, aV)
736+ else throw((("Unknown auction type :" + cu) + ", please contact the admins"))
735737 }
736738
737739
738740
739741 @Callable(au)
740742 func acceptBid (G,aV,N,aW) = {
741- let ct = u(Q(aV, G))
742- if ((ct == p))
743- then bX(au, G, aV, N, aW)
744- else if ((ct == q))
745- then cb(au, G, aV, N, aW)
746- else throw((("Unknown auction type :" + ct) + ", please contact the admins"))
743+ let cu = u(Q(aV, G))
744+ if ((cu == p))
745+ then bY(au, G, aV, N, aW)
746+ else if ((cu == q))
747+ then cc(au, G, aV, N, aW)
748+ else throw((("Unknown auction type :" + cu) + ", please contact the admins"))
747749 }
748750
749751
750752
751753 @Callable(au)
752754 func cancelBid (G,aV,N) = {
753- let ct = u(Q(aV, G))
754- if ((ct == p))
755- then cf(au, G, aV, N)
756- else ci(au, G, aV, N)
755+ let cu = u(Q(aV, G))
756+ if ((cu == p))
757+ then cg(au, G, aV, N)
758+ else cj(au, G, aV, N)
757759 }
758760
759761
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("3N9cQgZFPHHVu8wqsn2DkQFehg3h8CNiooA"))
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 = 150
2121
2222 let j = valueOrElse(getBoolean(e, "conf_dapp_is_running"), true)
2323
2424 let k = valueOrElse(getString(e, "conf_maintenance_msg"), "")
2525
2626 let l = "SUSPENDED"
2727
2828 let m = "REMOVED"
2929
3030 let n = "UNREGISTERED"
3131
3232 let o = "ALLOWED"
3333
3434 let p = "BIDTYPE"
3535
3636 let q = "TRADITIONAL"
3737
3838 let r = "DIRECT"
3939
4040 func s (t) = valueOrElse(getString(e, t), "")
4141
4242
4343 func u (t) = valueOrElse(getString(this, t), "")
4444
4545
4646 func v (t,w) = valueOrErrorMessage(getString(this, t), w)
4747
4848
4949 func x (t) = valueOrErrorMessage(getInteger(b, t), "Integer undefine or 0 in oracle")
5050
5151
5252 func y (t) = valueOrElse(getInteger(this, t), 0)
5353
5454
5555 func z (t) = valueOrElse(getInteger(f, t), 0)
5656
5757
5858 func A (t) = valueOrElse(getBoolean(this, t), false)
5959
6060
6161 func B (C) = (size(C) == 64)
6262
6363
6464 func D (E) = ("user_status_" + E)
6565
6666
6767 func F (E,G) = ((("art_date_" + G) + "_") + E)
6868
6969
7070 func H (E,G) = ((("art_name_" + G) + "_") + E)
7171
7272
7373 func I (E,G) = ((("art_desc_" + G) + "_") + E)
7474
7575
7676 func J (E,G) = ((("art_display_cid_" + G) + "_") + E)
7777
7878
7979 func K (E,G) = ((("art_maxmint_" + G) + "_") + E)
8080
8181
8282 func L (G) = ("art_highestBidBidId_" + G)
8383
8484
8585 func M (N) = ("bid_" + N)
8686
8787
8888 func O (E,G) = ((("art_duration_" + G) + "_") + E)
8989
9090
9191 func P (E,G) = ((("art_endheight_" + G) + "_") + E)
9292
9393
9494 func Q (E,G) = ((("art_auctiontype_" + G) + "_") + E)
9595
9696
9797 func R (E,G) = ((("art_issued_" + G) + "_") + E)
9898
9999
100100 func S (T) = ("nft_issued_" + T)
101101
102102
103103 func U (E,G) = ((("art_onsale_" + G) + "_") + E)
104104
105105
106106 func V (E,G) = ((("art_entitlement_" + G) + "_") + E)
107107
108108
109109 func W (E,G) = ((("art_tags_" + G) + "_") + E)
110110
111111
112112 func X (E,G) = ((("art_type_" + G) + "_") + E)
113113
114114
115115 func Y (E,G) = ((("art_price_" + G) + "_") + E)
116116
117117
118118 func Z (E,G) = ((("art_assetAccepted_" + G) + "_") + E)
119119
120120
121121 func aa (E,ab) = ((("get_hashbytxidaddr_" + ab) + "_") + E)
122122
123123
124124 func ac (ad) = ("get_owner_by_hash_" + ad)
125125
126126
127127 func ae (ad,E) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((ad + E)))))
128128
129129
130130 let af = x(("certification_fee_" + toBase58String(g)))
131131
132132 func ag (N) = valueOrElse(y(M(N)), 0)
133133
134134
135135 func ah (G) = {
136136 let N = u(L(G))
137137 if ((N == ""))
138138 then 0
139139 else ag(N)
140140 }
141141
142142
143143 func ai (aj,ak) = if ((size(aj) == 0))
144144 then throw("Field cannot be is empty")
145145 else if ((size(aj) > ak))
146146 then throw((aj + " is too long"))
147147 else true
148148
149149
150150 func al (E) = {
151151 let am = valueOrElse(getString(e, D(E)), n)
152152 if (if ((am == n))
153153 then true
154154 else (am == o))
155155 then "Register this account first with 'Account' tab"
156156 else if ((am == l))
157157 then "Account suspended"
158158 else if ((am == m))
159159 then "Account removed"
160160 else ""
161161 }
162162
163163
164164 func an (E,ao,ap,aq,ar) = {
165165 let as = al(E)
166166 if ((as != ""))
167167 then throw(as)
168168 else if ((size(ao) == 0))
169169 then throw("Display CID cannot be empty")
170170 else if ((size(ao) != 46))
171171 then throw("This doesn't seem a valid CID!")
172172 else if (!(ai(ap, 100)))
173173 then throw("100 Char. max name")
174174 else if (!(ai(aq, 1000)))
175175 then throw("1000 Char. max description")
176176 else if ((size(split(ar, ",")) > 5))
177177 then throw("5 tags max.")
178178 else ""
179179 }
180180
181181
182182 func at (au) = if ((size(au.payments) == 0))
183183 then throw("No payment attached")
184184 else {
185185 let av = value(au.payments[0])
186186 let aw = value(av.amount)
187187 $Tuple2(av, aw)
188188 }
189189
190190
191191 func ax (au) = {
192192 let ay = at(au)
193193 let av = ay._1
194194 let aw = ay._2
195195 let az = if (if (isDefined(av.assetId))
196196 then (av.assetId == g)
197197 else false)
198198 then av.assetId
199199 else throw("Only USDN token accepted as transaction fee")
200200 if ((aw != af))
201201 then throw(((("Payment amount should be " + toString(af)) + " but is: ") + toString(aw)))
202202 else $Tuple2(aw, az)
203203 }
204204
205205
206206 func aA (aB,G) = {
207207 let aC = getInteger(this, R(aB, G))
208208 if ($isInstanceOf(aC, "Int"))
209209 then {
210210 let aD = aC
211211 if ((aD != 0))
212212 then true
213213 else false
214214 }
215215 else false
216216 }
217217
218218
219219 func aE (au,aF,aG) = {
220220 let aH = at(au)
221221 let av = aH._1
222222 let aw = aH._2
223223 let az = if (!(isDefined(av.assetId)))
224224 then throw("Wrong asset id")
225225 else if (if ((size(aF) > 0))
226226 then (toBase58String(value(av.assetId)) == aF)
227227 else false)
228228 then av.assetId
229229 else throw("Wrong asset id")
230230 if (if ((az == unit))
231231 then (aF != "")
232232 else false)
233233 then throw("Wrong asset id")
234234 else if ((aG != aw))
235235 then throw(((("Payment don't match " + toString(aG)) + " ") + toString(aw)))
236236 else $Tuple2(aw, az)
237237 }
238238
239239
240240 func aI (az) = if ((az != toBase58String(g)))
241241 then throw("Only USDN accepted")
242242 else true
243243
244244
245245 func aJ (az,aK) = {
246246 let aL = if (a)
247247 then 1
248248 else (af * 2)
249249 if (if (if ((az == toBase58String(g)))
250250 then (aL > aK)
251251 else false)
252252 then (aK != 0)
253253 else false)
254254 then throw(("Wrong minimum sell price " + toString(aL)))
255255 else true
256256 }
257257
258258
259259 func aM (az) = if ((az == "WAVES"))
260260 then throw("Only USDN is accepted!")
261261 else fromBase58String(az)
262262
263263
264264 func aN (aO) = {
265265 let aP = u((aO + "_OPEN"))
266266 if ((aP == ""))
267267 then throw("Bid not found")
268268 else {
269269 let aQ = split(aP, "_")
270270 let aR = parseIntValue(aQ[1])
271271 let aS = aM(aQ[0])
272272 if ((0 >= aR))
273273 then throw("Wrong amount")
274274 else $Tuple2(aR, aS)
275275 }
276276 }
277277
278278
279279 func aT (au) = if (!(j))
280280 then throw(k)
281281 else $Tuple3(toBase58String(au.transactionId), toBase58String(au.caller.bytes), lastBlock.timestamp)
282282
283283
284284 func aU (au,aV,aW,N) = if (if (if ((toBase58String(au.caller.bytes) == aV))
285285 then (aW != "")
286286 else false)
287287 then (N != "")
288288 else false)
289289 then true
290290 else false
291291
292292
293293 func aX (au,aV,G,aY) = {
294294 let aZ = (toBase58String(au.caller.bytes) == aV)
295295 let ba = y("total_nft_issued")
296296 let bb = u(H(aV, G))
297297 if ((bb == ""))
298298 then throw("Art doesn't exist")
299299 else {
300300 let bc = A(U(aV, G))
301301 let bd = y(R(aV, G))
302302 let aG = valueOrElse(y(Y(aV, G)), (af * 2))
303303 let aF = if (aZ)
304304 then toBase58String(g)
305305 else u(Z(aV, G))
306306 let be = y(K(aV, G))
307307 if (if (if (!(aY))
308308 then !(aZ)
309309 else false)
310310 then if (if ((0 >= aG))
311311 then true
312312 else !(bc))
313313 then true
314314 else (0 >= be)
315315 else false)
316316 then throw("Art not for sale")
317317 else if (if (if (!(aY))
318318 then aZ
319319 else false)
320320 then (0 >= be)
321321 else false)
322322 then throw("Max issuable not set")
323323 else $Tuple7(ba, bb, bd, aG, aF, be, bc)
324324 }
325325 }
326326
327327
328328 func bf (au,E,aV,G,aW,N,aF,aG,aY) = {
329329 let as = al(aV)
330330 if (if (aY)
331331 then (as != "")
332332 else false)
333333 then throw(as)
334334 else {
335335 let aO = ((((((("bid_" + G) + "_") + aV) + "_") + aW) + "_") + N)
336336 let bg = if (aY)
337337 then aN(aO)
338338 else aE(au, aF, aG)
339339 let aw = bg._1
340340 let az = bg._2
341341 $Tuple3(aO, aw, az)
342342 }
343343 }
344344
345345
346346 func bh (aV,az,aw,bd,be) = {
347347 let bi = z(aV)
348348 let bj = if ((bi > height))
349349 then 0
350350 else if ((az == g))
351351 then i
352352 else throw("Only USDN is accepted!")
353353 let bk = fraction(aw, bj, 1000)
354354 let bl = (aw - bk)
355355 if ((bd == be))
356356 then throw("Art sold out")
357357 else {
358358 let bm = (bd + 1)
359359 $Tuple3(bk, bl, bm)
360360 }
361361 }
362362
363363
364364 func bn (aV,G,bb,bm,be,ba,E,aW,N,au,bc) = {
365365 let bo = ((((((((("Creator: " + aV) + ",ArtID: ") + G) + ",Artwork name: ") + bb) + ",Issue: ") + toString(bm)) + "/") + toString(be))
366366 let bp = if (if ((bm == be))
367367 then true
368368 else !(bc))
369369 then false
370370 else true
371371 let bq = if ((aW != ""))
372372 then addressFromStringValue(aW)
373373 else au.caller
374374 $Tuple3(bp, bq, bo)
375375 }
376376
377377
378378 func br (bs) = if ((4 > bs))
379379 then "SSR"
380380 else if ((11 > bs))
381381 then "SR"
382382 else if ((101 > bs))
383383 then "R"
384384 else "N"
385385
386386
387387 func bt (az,aO,bu) = {
388388 let bv = if (!(isDefined(az)))
389389 then throw("Only USDN is accepted")
390390 else toBase58String(value(az))
391391 let aP = u((aO + "_OPEN"))
392392 let bw = DeleteEntry((aO + "_OPEN"))
393393 let bx = StringEntry((aO + "_CLOSED"), ((aP + "_") + toString(bu)))
394394 $Tuple3(bv, bw, bx)
395395 }
396396
397397
398398 func by (au,G,aV,N,aW,aY) = {
399399 let bz = aT(au)
400400 let bA = bz._1
401401 let E = bz._2
402402 let bu = bz._3
403403 let bB = aX(au, aV, G, aY)
404404 let ba = bB._1
405405 let bb = bB._2
406406 let bd = bB._3
407407 let aG = bB._4
408408 let aF = bB._5
409409 let be = bB._6
410410 let bc = bB._7
411411 let aP = bf(au, E, aV, G, aW, N, aF, aG, aY)
412412 let aO = aP._1
413413 let aw = aP._2
414414 let az = aP._3
415415 let bC = bh(aV, value(az), aw, bd, be)
416416 let bk = bC._1
417417 let bl = bC._2
418418 let bm = bC._3
419419 let bD = bn(aV, G, bb, bm, be, ba, E, aW, N, au, bc)
420420 let bp = bD._1
421421 let bq = bD._2
422422 let bo = bD._3
423423 let bE = invoke(this, "mintNft", [ba, bo, toString(bq)], nil)
424424 if ((bE == bE))
425425 then {
426426 let bF = {
427427 let aC = bE
428428 if ($isInstanceOf(aC, "String"))
429429 then {
430430 let bG = aC
431431 bG
432432 }
433433 else throw("Incorrect invoke result")
434434 }
435435 let bH = bt(az, aO, bu)
436436 let bv = bH._1
437437 let bw = bH._2
438438 let bx = bH._3
439439 let bI = ((((((("art_sold_" + toString(bm)) + "_of_") + toString(be)) + "_") + G) + "_") + aV)
440440 let bJ = br(bm)
441441 let bK = if (!(aY))
442442 then ((((((((((E + "_") + toString(bu)) + "_") + bA) + "_") + toString(aG)) + "_") + aF) + "_") + bF)
443443 else ((((((((((toString(bq) + "_") + toString(bu)) + "_") + bA) + "_") + toString(aw)) + "_") + bv) + "_") + bF)
444444 let bL = StringEntry(bI, bK)
445445 let bM = [IntegerEntry(R(aV, G), bm), StringEntry(("nft_" + bF), bI), StringEntry(("nft_rarity_" + bF), bJ), IntegerEntry("total_nft_issued", (ba + 1)), BooleanEntry(U(aV, G), bp), ScriptTransfer(Address(fromBase58String(aV)), bl, az), ScriptTransfer(Address(fromBase58String(c)), bk, az), StringEntry(S(bF), aV)]
446446 let bN = invoke(addressFromStringValue(d), "createCert", [toString(bq), bF, aV], nil)
447447 if ((bN == bN))
448448 then if (aY)
449449 then (((bM :+ bL) :+ bx) :+ bw)
450450 else bL :: bM
451451 else throw("Strict value is not equal to itself.")
452452 }
453453 else throw("Strict value is not equal to itself.")
454454 }
455455
456456
457457 func bO (au,G,aV) = {
458458 let bP = aT(au)
459459 let bA = bP._1
460460 let E = bP._2
461461 let bu = bP._3
462462 let bQ = at(au)
463463 let av = bQ._1
464464 let aw = bQ._2
465465 let az = if (!(isDefined(av.assetId)))
466466 then throw("Only USDN is accepted!")
467467 else toBase58String(value(av.assetId))
468468 let bR = y(("current_bidamount_" + G))
469+ let bS = valueOrElse(y(Y(aV, G)), (af * 2))
469470 if (!(aI(az)))
470471 then throw("asset not accepted")
471- else if (!(aJ(az, aw)))
472- then throw("Wrong min sell")
472+ else if ((bS > aw))
473+ then throw("Bid is below min price!")
473474 else {
474475 let bd = y(R(aV, G))
475476 let be = y(K(aV, G))
476477 if ((0 >= be))
477478 then throw("No max edition set for this artwork")
478479 else if ((bd >= be))
479480 then throw("Sold out, you cannot bid")
480481 else [StringEntry((((((((("bid_" + G) + "_") + aV) + "_") + E) + "_") + bA) + "_OPEN"), ((((az + "_") + toString(aw)) + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + G), (bR + 1))]
481482 }
482483 }
483484
484485
485-func bS (au,G,aV) = {
486- let bT = y(P(aV, G))
487- let bU = ah(G)
488- if ((height > bT))
486+func bT (au,G,aV) = {
487+ let bU = y(P(aV, G))
488+ let bV = ah(G)
489+ if ((height > bU))
489490 then throw("This auction is finished already!")
490491 else {
491- let bV = aT(au)
492- let bA = bV._1
493- let E = bV._2
494- let bu = bV._3
495- let bW = at(au)
496- let av = bW._1
497- let aw = bW._2
498- if ((bU >= aw))
499- then throw(("Please place a bid higher than: " + toString(bU)))
492+ let bW = aT(au)
493+ let bA = bW._1
494+ let E = bW._2
495+ let bu = bW._3
496+ let bX = at(au)
497+ let av = bX._1
498+ let aw = bX._2
499+ if ((bV >= aw))
500+ then throw(("Please place a bid higher than: " + toString(bV)))
500501 else {
501502 let az = if (!(isDefined(av.assetId)))
502503 then throw("Only USDN is accepted!")
503504 else toBase58String(value(av.assetId))
504505 let bR = y(("current_bidamount_" + G))
506+ let bS = valueOrElse(y(Y(aV, G)), (af * 2))
505507 if (!(aI(az)))
506508 then throw("asset not accepted")
507- else if (!(aJ(az, aw)))
508- then throw("Wrong min sell")
509+ else if ((bS > aw))
510+ then throw("Bid is below min price!")
509511 else {
510512 let bd = y(R(aV, G))
511513 let be = y(K(aV, G))
512514 if ((0 >= be))
513515 then throw("No max edition set for this artwork")
514516 else if ((bd >= be))
515517 then throw("Sold out, you cannot bid")
516518 else [StringEntry((((((((("bid_" + G) + "_") + aV) + "_") + E) + "_") + bA) + "_OPEN"), ((((az + "_") + toString(aw)) + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + G), (bR + 1)), StringEntry(L(G), toBase58String(au.transactionId)), IntegerEntry(M(toBase58String(au.transactionId)), aw)]
517519 }
518520 }
519521 }
520522 }
521523
522524
523-func bX (au,G,aV,N,aW) = {
525+func bY (au,G,aV,N,aW) = {
524526 let E = toBase58String(au.caller.bytes)
525527 if ((E != aV))
526528 then throw("You cannot do this action")
527529 else by(au, G, aV, N, aW, true)
528530 }
529531
530532
531-func bY (G,aV) = {
533+func bZ (G,aV) = {
532534 let bd = y(R(aV, G))
533535 let be = y(K(aV, G))
534- let bZ = y(P(aV, G))
535- let ca = y(O(aV, G))
536- let bT = (ca + height)
537- if ((height > bZ))
536+ let ca = y(P(aV, G))
537+ let cb = y(O(aV, G))
538+ let bU = (cb + height)
539+ if ((height > ca))
538540 then if ((bd == be))
539541 then throw("Can't restart auction, max amount sold")
540- else [IntegerEntry(P(aV, G), bT), DeleteEntry(L(G))]
542+ else [IntegerEntry(P(aV, G), bU), DeleteEntry(L(G))]
541543 else throw("Previous auction isn't completed yet")
542544 }
543545
544546
545-func cb (au,G,aV,N,aW) = {
546- let bT = y(P(aV, G))
547- let cc = u(L(G))
548- if ((height > bT))
549- then if ((N == cc))
547+func cc (au,G,aV,N,aW) = {
548+ let bU = y(P(aV, G))
549+ let cd = u(L(G))
550+ if ((height > bU))
551+ then if ((N == cd))
550552 then {
551- let cd = by(au, G, aV, N, aW, true)
552- let ce = bY(G, aV)
553- (ce ++ cd)
553+ let ce = by(au, G, aV, N, aW, true)
554+ let cf = bZ(G, aV)
555+ (cf ++ ce)
554556 }
555557 else throw("This is not the winning bid!")
556558 else throw("This auction is not yet finished!")
557559 }
558560
559561
560-func cf (au,G,aV,N) = {
561- let cg = aT(au)
562- let bA = cg._1
563- let E = cg._2
564- let bu = cg._3
562+func cg (au,G,aV,N) = {
563+ let ch = aT(au)
564+ let bA = ch._1
565+ let E = ch._2
566+ let bu = ch._3
565567 let bR = y(("current_bidamount_" + G))
566568 let aO = ((((((("bid_" + G) + "_") + aV) + "_") + E) + "_") + N)
567569 let aP = v((aO + "_OPEN"), "Bid not found")
568570 let aQ = split(aP, "_")
569571 let az = aM(aQ[0])
570- let ch = "CANCELED"
571-[DeleteEntry((aO + "_OPEN")), StringEntry(((aO + "_") + ch), ((aP + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + G), (bR - 1)), ScriptTransfer(Address(fromBase58String(E)), parseIntValue(aQ[1]), az)]
572+ let ci = "CANCELED"
573+[DeleteEntry((aO + "_OPEN")), StringEntry(((aO + "_") + ci), ((aP + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + G), (bR - 1)), ScriptTransfer(Address(fromBase58String(E)), parseIntValue(aQ[1]), az)]
572574 }
573575
574576
575-func ci (au,G,aV,N) = {
576- let cg = aT(au)
577- let bA = cg._1
578- let E = cg._2
579- let bu = cg._3
577+func cj (au,G,aV,N) = {
578+ let ch = aT(au)
579+ let bA = ch._1
580+ let E = ch._2
581+ let bu = ch._3
580582 let bR = y(("current_bidamount_" + G))
581583 let aO = ((((((("bid_" + G) + "_") + aV) + "_") + E) + "_") + N)
582584 let aP = v((aO + "_OPEN"), "Bid not found")
583585 let aQ = split(aP, "_")
584586 let az = aM(aQ[0])
585- let ch = "CANCELED"
587+ let ci = "CANCELED"
586588 let aR = parseIntValue(aQ[1])
587- let cc = u(L(G))
588- if ((N == cc))
589+ let cd = u(L(G))
590+ if ((N == cd))
589591 then throw("You can't cancel the highest bid!")
590- else [DeleteEntry((aO + "_OPEN")), StringEntry(((aO + "_") + ch), ((aP + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + G), (bR - 1)), ScriptTransfer(Address(fromBase58String(E)), aR, az)]
592+ else [DeleteEntry((aO + "_OPEN")), StringEntry(((aO + "_") + ci), ((aP + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + G), (bR - 1)), ScriptTransfer(Address(fromBase58String(E)), aR, az)]
591593 }
592594
593595
594596 @Callable(au)
595597 func mintNft (ba,bo,bq) = if ((au.caller == this))
596598 then {
597- let cj = Address(fromBase58String(bq))
598- let ck = Issue(("SCONEX_" + toString((ba + 1))), bo, 1, 0, false)
599- let bF = calculateAssetId(ck)
600- $Tuple2([ck, ScriptTransfer(cj, 1, bF)], toBase58String(bF))
599+ let ck = Address(fromBase58String(bq))
600+ let cl = Issue(("SCONEX_" + toString((ba + 1))), bo, 1, 0, false)
601+ let bF = calculateAssetId(cl)
602+ $Tuple2([cl, ScriptTransfer(ck, 1, bF)], toBase58String(bF))
601603 }
602604 else throw("Only the dApp can mint NFT's")
603605
604606
605607
606608 @Callable(au)
607-func addArtwork (ad,ap,aq,ar,cl,ao,cm) = {
608- let cn = aT(au)
609- let G = cn._1
610- let E = cn._2
611- let bu = cn._3
612- let co = an(E, ao, ap, aq, ar)
613- if ((co != ""))
609+func addArtwork (ad,ap,aq,ar,cm,ao,cn) = {
610+ let co = aT(au)
611+ let G = co._1
612+ let E = co._2
613+ let bu = co._3
614+ let cp = an(E, ao, ap, aq, ar)
615+ if ((cp != ""))
614616 then throw("Something went wrong!")
615617 else {
616- let cp = ax(au)
617- let aw = cp._1
618- let az = cp._2
618+ let cq = ax(au)
619+ let aw = cq._1
620+ let az = cq._2
619621 if (!(isDefined(aw)))
620622 then throw("Something went wrong")
621623 else {
622- let cq = u(ae(ad, E))
623- if ((cq != ""))
624+ let cr = u(ae(ad, E))
625+ if ((cr != ""))
624626 then throw("You already added it")
625627 else {
626- let cr = u(ac(ad))
627- if ((cr != ""))
628+ let cs = u(ac(ad))
629+ if ((cs != ""))
628630 then throw("This hash is already registered")
629- else [StringEntry(ac(ad), E), StringEntry(ae(ad, E), G), IntegerEntry(F(E, G), bu), StringEntry(H(E, G), ap), StringEntry(I(E, G), aq), StringEntry(J(E, G), ao), StringEntry(X(E, G), cl), StringEntry(W(E, G), ar), IntegerEntry(K(E, G), 0), IntegerEntry(R(E, G), 0), BooleanEntry(U(E, G), false), StringEntry(aa(E, G), ad), StringEntry(V(E, G), cm), ScriptTransfer(Address(fromBase58String(c)), aw, az)]
631+ else [StringEntry(ac(ad), E), StringEntry(ae(ad, E), G), IntegerEntry(F(E, G), bu), StringEntry(H(E, G), ap), StringEntry(I(E, G), aq), StringEntry(J(E, G), ao), StringEntry(X(E, G), cm), StringEntry(W(E, G), ar), IntegerEntry(K(E, G), 0), IntegerEntry(R(E, G), 0), BooleanEntry(U(E, G), false), StringEntry(aa(E, G), ad), StringEntry(V(E, G), cn), ScriptTransfer(Address(fromBase58String(c)), aw, az)]
630632 }
631633 }
632634 }
633635 }
634636
635637
636638
637639 @Callable(au)
638-func sellArtwork (G,aK,cs,az,ct,ca) = {
639- let cu = aT(au)
640- let bA = cu._1
641- let E = cu._2
640+func sellArtwork (G,aK,ct,az,cu,cb) = {
641+ let cv = aT(au)
642+ let bA = cv._1
643+ let E = cv._2
642644 let bb = u(H(E, G))
643- if (!(containsElement([p, q, r], ct)))
645+ if (!(containsElement([p, q, r], cu)))
644646 then throw("We don't know this auction type")
645647 else if ((bb == ""))
646648 then throw("This art doesn't match your account")
647649 else {
648650 let bR = y(("current_bidamount_" + G))
649651 if (!(aI(az)))
650652 then throw("Something went wrong!")
651653 else if (!(aJ(az, aK)))
652654 then throw("Something went wrong!")
653655 else {
654656 let as = al(E)
655657 if ((as != ""))
656658 then throw(as)
657659 else {
658660 let bd = y(R(E, G))
659661 let be = y(K(E, G))
660- if ((cs > 5000))
662+ if ((ct > 5000))
661663 then throw("5000 editions max per artwork")
662664 else if (if ((bd != 0))
663665 then (bd == be)
664666 else false)
665667 then throw("Max edition reached.")
666668 else if (if ((bd > 0))
667- then (be != cs)
669+ then (be != ct)
668670 else false)
669671 then throw("Cannot change maximum issuable anymore")
670672 else if (if ((bR > 0))
671- then (be != cs)
673+ then (be != ct)
672674 else false)
673675 then throw("Cannot change maximum issuable with active orders")
674676 else {
675677 let bp = if (if ((aK > 0))
676- then (cs > 0)
678+ then (ct > 0)
677679 else false)
678680 then true
679681 else false
680- let bT = (ca + height)
681-[BooleanEntry(U(E, G), bp), IntegerEntry(Y(E, G), aK), IntegerEntry(K(E, G), cs), IntegerEntry(O(E, G), ca), IntegerEntry(P(E, G), bT), StringEntry(Z(E, G), az), StringEntry(Q(E, G), ct)]
682+ let bU = (cb + height)
683+[BooleanEntry(U(E, G), bp), IntegerEntry(Y(E, G), aK), IntegerEntry(K(E, G), ct), IntegerEntry(O(E, G), cb), IntegerEntry(P(E, G), bU), StringEntry(Z(E, G), az), StringEntry(Q(E, G), cu)]
682684 }
683685 }
684686 }
685687 }
686688 }
687689
688690
689691
690692 @Callable(au)
691693 func buyArtwork (G,aV) = {
692- let ct = u(Q(aV, G))
693- if ((ct == r))
694+ let cu = u(Q(aV, G))
695+ if ((cu == r))
694696 then by(au, G, aV, "", "", false)
695697 else throw("Direct buy only allowed when no auction type is set!")
696698 }
697699
698700
699701
700702 @Callable(au)
701-func updateTags (cv,G,ar) = {
703+func updateTags (cw,G,ar) = {
702704 let E = toString(addressFromPublicKey(au.callerPublicKey))
703705 if (containsElement(h, E))
704706 then if ((size(split(ar, ",")) > 5))
705707 then throw("5 tags max.")
706708 else {
707- let cw = v(W(cv, G), "No tags created with this key, so can't update!")
708- if ((ar == cw))
709+ let cx = v(W(cw, G), "No tags created with this key, so can't update!")
710+ if ((ar == cx))
709711 then throw("Tags are the same as old tags!")
710- else [StringEntry(W(cv, G), ar)]
712+ else [StringEntry(W(cw, G), ar)]
711713 }
712714 else throw("no")
713715 }
714716
715717
716718
717719 @Callable(au)
718-func deleteEntry (cx) = {
720+func deleteEntry (cy) = {
719721 let E = toString(addressFromPublicKey(au.callerPublicKey))
720722 if (containsElement(h, E))
721- then [DeleteEntry(cx)]
723+ then [DeleteEntry(cy)]
722724 else throw("no")
723725 }
724726
725727
726728
727729 @Callable(au)
728730 func setBid (G,aV) = {
729- let ct = u(Q(aV, G))
730- if ((ct == p))
731+ let cu = u(Q(aV, G))
732+ if ((cu == p))
731733 then bO(au, G, aV)
732- else if ((ct == q))
733- then bS(au, G, aV)
734- else throw((("Unknown auction type :" + ct) + ", please contact the admins"))
734+ else if ((cu == q))
735+ then bT(au, G, aV)
736+ else throw((("Unknown auction type :" + cu) + ", please contact the admins"))
735737 }
736738
737739
738740
739741 @Callable(au)
740742 func acceptBid (G,aV,N,aW) = {
741- let ct = u(Q(aV, G))
742- if ((ct == p))
743- then bX(au, G, aV, N, aW)
744- else if ((ct == q))
745- then cb(au, G, aV, N, aW)
746- else throw((("Unknown auction type :" + ct) + ", please contact the admins"))
743+ let cu = u(Q(aV, G))
744+ if ((cu == p))
745+ then bY(au, G, aV, N, aW)
746+ else if ((cu == q))
747+ then cc(au, G, aV, N, aW)
748+ else throw((("Unknown auction type :" + cu) + ", please contact the admins"))
747749 }
748750
749751
750752
751753 @Callable(au)
752754 func cancelBid (G,aV,N) = {
753- let ct = u(Q(aV, G))
754- if ((ct == p))
755- then cf(au, G, aV, N)
756- else ci(au, G, aV, N)
755+ let cu = u(Q(aV, G))
756+ if ((cu == p))
757+ then cg(au, G, aV, N)
758+ else cj(au, G, aV, N)
757759 }
758760
759761

github/deemru/w8io/169f3d6 
124.06 ms