tx · 5MuQSjKxfgBqaUEVGqdjar2drsH2P7cGYJEJpurd267w

3MrfHoPDiF2nJb6T6Z6J7MdhpX3LeVaLaW2:  -0.05000000 Waves

2021.09.01 23:50 [1684466] smart account 3MrfHoPDiF2nJb6T6Z6J7MdhpX3LeVaLaW2 > SELF 0.00000000 Waves

{ "type": 13, "id": "5MuQSjKxfgBqaUEVGqdjar2drsH2P7cGYJEJpurd267w", "fee": 5000000, "feeAssetId": null, "timestamp": 1630529457879, "version": 2, "chainId": 84, "sender": "3MrfHoPDiF2nJb6T6Z6J7MdhpX3LeVaLaW2", "senderPublicKey": "ANm32Ptz6YTMKvYUJBEYd4CYiTVn6XEvYjZhewQMphSJ", "proofs": [ "4vBi8YrC65w3CnVt2SgLmWghWuZB8CXT5bTEXVxJaWhKSGepJi7T2aqQ6gkZq1NXdrCR61BivHdh52xoPkxRmTkT" ], "script": "base64:AAIFAAAAAAAAAnAIAhIDCgEBEgMKAQgSAwoBCBIECgIICBIECgIICBoWCgJhMRIQTkZUSXNzdWVyQWRkcmVzcxoaCgJhMhIUTkZUSXNzdWVyZmVlUmVjZWl2ZXIaGQoCYTMSE05GVElzc3VlcmZlZVBlcmNlbnQaFgoCYTQSEEFydGlzdGZlZVBlcmNlbnQaEwoCYTUSDXNjb25leEFzc2V0SWQaEwoCYTYSDXRyeUdldEludGVnZXIaCQoCYTcSA2tleRoJCgJhOBIDdmFsGg0KAmE5EgckbWF0Y2gwGgcKAmIxEgFiGhIKAmIyEgx0cnlHZXRTdHJpbmcaEgoCYjMSDGdldE5GVElzc3VlchoNCgJiNBIHYXNzZXRJZBoRCgJiNRILbXlhc3NldGluZm8aEgoCYjYSDGdldE5GVEFydGlzdBoTCgJiNxINQXJ0aXN0QWRkcmVzcxoWCgJiOBIQYWNjZXB0ZWRBc3NldElkcxoHCgJiORIBaRoQCgJjMRIKc3RhcnRQcmljZRoPCgJjMhIJYXVjdGlvbklkGgkKAmMzEgNwbXQaCwoCYzQSBWFzc2V0GhIKAmM1EgxhdWN0aW9uT3duZXIaDAoCYzYSBmFtb3VudBoLCgJjNxIFYmlkSWQaEAoCYzgSClBheUFzc2V0SWQaDgoCYzkSCG1pblByaWNlGg8KAmQxEgliaWRBdXRob3IaDwoCZDISCWJpZEFtb3VudBoPCgJkMxIJYmlkU3RhdHVzGhEKAmQ0EgtyZWNvcmRQcmljZRoUCgJkNRIObmV3UmVjb3JkUHJpY2UaCAoCZDYSAnR4GgwKAmQ3EgZ2ZXJpZnkAAAAKAAAAAAJhMQEAAAAaAVQcbFMn4j+HiLojc3p8u8vuHQpv7JcrAo8AAAAAAmEyAQAAABoBVLFf975aAQW+63FgZcqFqq/LGoT8cEUerwAAAAACYTMAAAAAAAAAAAMAAAAAAmE0AAAAAAAAAAAHAAAAAAJhNQEAAAAguobtEHSno8B/SPo/hvAGB5K2lpZqO0oRcOvqVeCS0zMBAAAAAmE2AAAAAQAAAAJhNwQAAAACYTgEAAAAAmE5CQAEGgAAAAIFAAAABHRoaXMFAAAAAmE3AwkAAAEAAAACBQAAAAJhOQIAAAADSW50BAAAAAJiMQUAAAACYTkFAAAAAmIxAAAAAAAAAAAABQAAAAJhOAEAAAACYjIAAAABAAAAAmE3BAAAAAJhOAQAAAACYTkJAAQdAAAAAgUAAAAEdGhpcwUAAAACYTcDCQAAAQAAAAIFAAAAAmE5AgAAAAZTdHJpbmcEAAAAAmIxBQAAAAJhOQUAAAACYjECAAAAAAUAAAACYTgBAAAAAmIzAAAAAQAAAAJiNAQAAAACYjUJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAACYjQDCQAAAAAAAAIIBQAAAAJiNQAAAAZpc3N1ZXIJAQAAAAdBZGRyZXNzAAAAAQUAAAACYTECAAAABHRydWUCAAAAAAEAAAACYjYAAAABAAAAAmI0BAAAAAJiNwQAAAACYTkJAAQdAAAAAgkBAAAAB0FkZHJlc3MAAAABBQAAAAJhMQkAASwAAAACAgAAAAtuZnRfaXNzdWVkXwUAAAACYjQDCQAAAQAAAAIFAAAAAmE5AgAAAAZTdHJpbmcEAAAAAmIxBQAAAAJhOQUAAAACYjECAAAAAAUAAAACYjcBAAAAAmI4AAAAAQAAAAJiNAMJAQAAAAIhPQAAAAIFAAAAAmI0CQACWAAAAAEFAAAAAmE1CQAAAgAAAAECAAAAFE9ubHkgU2NvbmV4IGFjY2VwdGVkBgAAAAUAAAACYjkBAAAAC2luaXRBdWN0aW9uAAAAAQAAAAJjMQQAAAACYzIJAAJYAAAAAQgFAAAAAmI5AAAADXRyYW5zYWN0aW9uSWQDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAmI5AAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAE05vIHBheW1lbnQgYXR0YWNoZWQEAAAAAmMzCQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAJiOQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAACYjQJAQAAAAV2YWx1ZQAAAAEIBQAAAAJjMwAAAAdhc3NldElkBAAAAAJjNAkBAAAAAmIzAAAAAQUAAAACYjQDCQAAAAAAAAIFAAAAAmM0AgAAAAAJAAACAAAAAQIAAAA1WW91IGNhbiBvbmx5IHNlbGwgYW4gTkZUIGNyZWF0ZWQgb24gU0NPTkUgTWFya2V0cGxhY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAHX3N0YXR1cwIAAAAEb3BlbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8JAAJYAAAAAQUAAAACYjQCAAAABV9sYXN0BQAAAAJjMgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAApfYXNzZXROYW1lBQAAAAJjNAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAhfYXNzZXRJZAkAAlgAAAABBQAAAAJiNAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAKX3N0YXJ0ZWRBdAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAGX293bmVyCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAAC19zdGFydFByaWNlBQAAAAJjMQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXICAAAACV9hdWN0aW9uXwUAAAACYzICAAAACl9sb2NrZWRORlQJAAJYAAAAAQUAAAACYjQFAAAAA25pbAAAAAJiOQEAAAANY2FuY2VsQXVjdGlvbgAAAAEAAAACYzIEAAAAAmM1CQEAAAACYjIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAZfb3duZXIDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXIFAAAAAmM1CQAAAgAAAAECAAAAHU9ubHkgYWxsb3dlZCB0byBhdWN0aW9uIG93bmVyAwkBAAAAAiE9AAAAAgkBAAAAAmIyAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAHX3N0YXR1cwIAAAAEb3BlbgkAAAIAAAABAgAAABBhdWN0aW9uIGlzIGNsb3NlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAAB19zdGF0dXMCAAAACWNhbmNlbGxlZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAJjNQIAAAAJX2F1Y3Rpb25fBQAAAAJjMgIAAAAKX2xvY2tlZE5GVAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAACYjkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAACF9hc3NldElkBQAAAANuaWwAAAACYjkBAAAACHBsYWNlQmlkAAAAAQAAAAJjMgQAAAACYzMJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAmI5AAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAJjNggFAAAAAmMzAAAABmFtb3VudAQAAAACYzcJAAJYAAAAAQgFAAAAAmI5AAAADXRyYW5zYWN0aW9uSWQEAAAAAmI0CQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAhfYXNzZXRJZAQAAAACYzgDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAACYzMAAAAHYXNzZXRJZAkAAAIAAAABAgAAABhPbmx5IHNjb25leCBpcyBhY2NlcHRlZCEJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAAmMzAAAAB2Fzc2V0SWQDCQEAAAABIQAAAAEJAQAAAAJiOAAAAAEFAAAAAmM4CQAAAgAAAAECAAAAKUF1Y3Rpb24gZG9lcyBvbmx5IHN1cHBvcnQgc2NvbmV4IHBheW1lbnRzBAAAAAJjOQkBAAAAAmE2AAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAALX3N0YXJ0UHJpY2UDCQAAZgAAAAIFAAAAAmM5BQAAAAJjNgkAAAIAAAABCQABLAAAAAICAAAAJFRoZSBtaW5pbWFsIGluaXRpYWwgcHJpY2UgaXMgc2V0IGFzIAkAAaQAAAABBQAAAAJjOQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAFX2JpZF8FAAAAAmM3AgAAAAdfYXV0aG9yCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhc3NldElkXwUAAAACYjQCAAAABV9iaWRfBQAAAAJjNwIAAAAFX2RhdGEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3siYXVjdGlvbklkIjogIgUAAAACYzICAAAADiIsICJhdXRob3IiOiAiCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXICAAAADiIsICJhbW91bnQiOiAiCQABpAAAAAEFAAAAAmM2AgAAABQiLCAic3RhdHVzIjogIm9wZW4ifQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjNwIAAAAHX2Ftb3VudAUAAAACYzYJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXICAAAACV9hdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjNwUAAAACYjQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjNwIAAAAHX3N0YXR1cwIAAAAEb3BlbgUAAAADbmlsAAAAAmI5AQAAAAljYW5jZWxCaWQAAAACAAAAAmMyAAAAAmM3BAAAAAJiNAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAIX2Fzc2V0SWQEAAAAAmQxCQEAAAACYjIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAFX2JpZF8FAAAAAmM3AgAAAAdfYXV0aG9yBAAAAAJkMgkBAAAAAmE2AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjNwIAAAAHX2Ftb3VudAMDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXIFAAAAAmQxCQEAAAACIT0AAAACCAUAAAACYjkAAAAGY2FsbGVyBQAAAAR0aGlzBwkAAAIAAAABAgAAACdPbmx5IGFsbG93ZWQgdG8gdGhlIGJpZCBhdXRob3Igb3IgYWRtaW4DCQEAAAACIT0AAAACCQEAAAACYjIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAFX2JpZF8FAAAAAmM3AgAAAAdfc3RhdHVzAgAAAARvcGVuCQAAAgAAAAECAAAAD2JpZCBpcyBub3Qgb3BlbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFzc2V0SWRfBQAAAAJiNAIAAAAFX2JpZF8FAAAAAmM3AgAAAAVfZGF0YQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPeyJhdWN0aW9uSWQiOiAiBQAAAAJjMgIAAAAOIiwgImF1dGhvciI6ICIJAAQlAAAAAQgFAAAAAmI5AAAABmNhbGxlcgIAAAAOIiwgImFtb3VudCI6ICIJAAGkAAAAAQUAAAACZDICAAAAGSIsICJzdGF0dXMiOiAiY2FuY2VsbGVkIn0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjNwIAAAAHX3N0YXR1cwIAAAAJY2FuY2VsbGVkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAACZDECAAAACV9hdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjNwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAACZDEFAAAAAmQyBQAAAAJhNQUAAAADbmlsAAAAAmI5AQAAAAlhY2NlcHRCaWQAAAACAAAAAmMyAAAAAmM3BAAAAAJjNQkBAAAAAmIyAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAGX293bmVyBAAAAAJkMQkBAAAAAmIyAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjNwIAAAAHX2F1dGhvcgQAAAACZDIJAQAAAAJhNgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAVfYmlkXwUAAAACYzcCAAAAB19hbW91bnQEAAAAAmQzCQEAAAACYjIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAFX2JpZF8FAAAAAmM3AgAAAAdfc3RhdHVzBAAAAAJiNAkBAAAAAmIyAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAIX2Fzc2V0SWQDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXIFAAAAAmM1CQAAAgAAAAECAAAAHU9ubHkgYWxsb3dlZCB0byBhdWN0aW9uIG93bmVyAwkBAAAAAiE9AAAAAgUAAAACZDMCAAAABG9wZW4JAAACAAAAAQIAAAAoQmlkIHdhcyBjYW5jZWxsZWQgYW5kIGNhbm5vdCBiZSBhY2NlcHRlZAQAAAACZDQJAQAAAAJhNgAAAAEJAAEsAAAAAgUAAAACYjQCAAAADF9yZWNvcmRQcmljZQQAAAACZDUJAAGWAAAAAQkABEwAAAACBQAAAAJkNAkABEwAAAACBQAAAAJkMgUAAAADbmlsBAAAAAJiNwkBAAAAAmI2AAAAAQUAAAACYjQDCQAAAAAAAAIFAAAAAmI3AgAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjNwIAAAAHX3N0YXR1cwIAAAAIZmluaXNoZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAHX3N0YXR1cwIAAAAIZmluaXNoZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhc3NldElkXwUAAAACYjQCAAAABV9iaWRfBQAAAAJjNwIAAAAFX2RhdGEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3siYXVjdGlvbklkIjogIgUAAAACYzICAAAADiIsICJhdXRob3IiOiAiCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXICAAAADiIsICJhbW91bnQiOiAiCQABpAAAAAEFAAAAAmQyAgAAABgiLCAic3RhdHVzIjogImZpbmlzaGVkIn0JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAAC19maW5hbFByaWNlBQAAAAJkMgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAJiNAIAAAAMX3JlY29yZFByaWNlBQAAAAJkNQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAAmQxAgAAAAlfYXVjdGlvbl8FAAAAAmMyAgAAAAVfYmlkXwUAAAACYzcJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAACYzUCAAAACV9hdWN0aW9uXwUAAAACYzICAAAACl9sb2NrZWRORlQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAmI5AAAABmNhbGxlcgkAAGsAAAADBQAAAAJkMgkAAGUAAAACCQAAZQAAAAIAAAAAAAAAAGQFAAAAAmEzBQAAAAJhNAAAAAAAAAAAZAUAAAACYTUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABBQAAAAJhMgkAAGsAAAADBQAAAAJkMgUAAAACYTQAAAAAAAAAAGQFAAAAAmE1CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQUAAAACYTIJAABrAAAAAwUAAAACZDIFAAAAAmEzAAAAAAAAAABkBQAAAAJhNQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAJkMQAAAAAAAAAAAQkAAlkAAAABBQAAAAJiNAUAAAADbmlsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAVfYmlkXwUAAAACYzcCAAAAB19zdGF0dXMCAAAACGZpbmlzaGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAAB19zdGF0dXMCAAAACGZpbmlzaGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXNzZXRJZF8FAAAAAmI0AgAAAAVfYmlkXwUAAAACYzcCAAAABV9kYXRhCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA97ImF1Y3Rpb25JZCI6ICIFAAAAAmMyAgAAAA4iLCAiYXV0aG9yIjogIgkABCUAAAABCAUAAAACYjkAAAAGY2FsbGVyAgAAAA4iLCAiYW1vdW50IjogIgkAAaQAAAABBQAAAAJkMgIAAAAYIiwgInN0YXR1cyI6ICJmaW5pc2hlZCJ9CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAtfZmluYWxQcmljZQUAAAACZDIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAACYjQCAAAADF9yZWNvcmRQcmljZQUAAAACZDUJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAJkMQIAAAAJX2F1Y3Rpb25fBQAAAAJjMgIAAAAFX2JpZF8FAAAAAmM3CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAAmM1AgAAAAlfYXVjdGlvbl8FAAAAAmMyAgAAAApfbG9ja2VkTkZUCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAJiOQAAAAZjYWxsZXIJAABrAAAAAwUAAAACZDIJAABlAAAAAgkAAGUAAAACAAAAAAAAAABkBQAAAAJhMwUAAAACYTQAAAAAAAAAAGQFAAAAAmE1CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAJiNwkAAGsAAAADBQAAAAJkMgUAAAACYTQAAAAAAAAAAGQFAAAAAmE1CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQUAAAACYTIJAABrAAAAAwUAAAACZDIFAAAAAmEzAAAAAAAAAABkBQAAAAJhNQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAJkMQAAAAAAAAAAAQkAAlkAAAABBQAAAAJiNAUAAAADbmlsAAAAAQAAAAJkNgEAAAACZDcAAAAACQAB9AAAAAMIBQAAAAJkNgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAmQ2AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAmQ2AAAAD3NlbmRlclB1YmxpY0tleY8F5ZA=", "height": 1684466, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Dt5FWBqNqxLccb1KU7zLKENfod9QnPrCxv6EvYp2zRQo Next: 9meB8YUQADxGDPJrWi3WYH5jq1yRmebf3RWYDouavpqd Diff:
OldNewDifferences
6969 @Callable(r)
7070 func initAuction (s) = {
7171 let t = toBase58String(r.transactionId)
72- let u = if ((size(r.payments) == 0))
73- then value(r.payments)
74- else throw("No payment attached")
75- let v = if ((size(r.payments) > 1))
76- then value(r.payments)
77- else throw("Too many payments attached")
78- let w = value(r.payments[0])
79- let m = value(w.assetId)
80- let x = l(m)
81- if ((x == ""))
82- then throw("You can only sell an NFT created on SCONE Marketplace")
83- else [StringEntry((("auction_" + t) + "_status"), "open"), StringEntry((("auction_" + toBase58String(m)) + "_last"), t), StringEntry((("auction_" + t) + "_assetName"), x), StringEntry((("auction_" + t) + "_assetId"), toBase58String(m)), IntegerEntry((("auction_" + t) + "_startedAt"), lastBlock.timestamp), StringEntry((("auction_" + t) + "_owner"), toString(r.caller)), IntegerEntry((("auction_" + t) + "_startPrice"), s), StringEntry((((("address_" + toString(r.caller)) + "_auction_") + t) + "_lockedNFT"), toBase58String(m))]
72+ if ((size(r.payments) == 0))
73+ then throw("No payment attached")
74+ else {
75+ let u = value(r.payments[0])
76+ let m = value(u.assetId)
77+ let v = l(m)
78+ if ((v == ""))
79+ then throw("You can only sell an NFT created on SCONE Marketplace")
80+ else [StringEntry((("auction_" + t) + "_status"), "open"), StringEntry((("auction_" + toBase58String(m)) + "_last"), t), StringEntry((("auction_" + t) + "_assetName"), v), StringEntry((("auction_" + t) + "_assetId"), toBase58String(m)), IntegerEntry((("auction_" + t) + "_startedAt"), lastBlock.timestamp), StringEntry((("auction_" + t) + "_owner"), toString(r.caller)), IntegerEntry((("auction_" + t) + "_startPrice"), s), StringEntry((((("address_" + toString(r.caller)) + "_auction_") + t) + "_lockedNFT"), toBase58String(m))]
81+ }
8482 }
8583
8684
8785
8886 @Callable(r)
8987 func cancelAuction (t) = {
90- let y = k((("auction_" + t) + "_owner"))
91- if ((toString(r.caller) != y))
88+ let w = k((("auction_" + t) + "_owner"))
89+ if ((toString(r.caller) != w))
9290 then throw("Only allowed to auction owner")
9391 else if ((k((("auction_" + t) + "_status")) != "open"))
9492 then throw("auction is close")
95- else [StringEntry((("auction_" + t) + "_status"), "cancelled"), DeleteEntry((((("address_" + y) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, 1, fromBase58String(getStringValue(this, (("auction_" + t) + "_assetId"))))]
93+ else [StringEntry((("auction_" + t) + "_status"), "cancelled"), DeleteEntry((((("address_" + w) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, 1, fromBase58String(getStringValue(this, (("auction_" + t) + "_assetId"))))]
9694 }
9795
9896
9997
10098 @Callable(r)
10199 func placeBid (t) = {
102- let w = value(r.payments[0])
103- let z = w.amount
104- let A = toBase58String(r.transactionId)
100+ let u = value(r.payments[0])
101+ let x = u.amount
102+ let y = toBase58String(r.transactionId)
105103 let m = getStringValue(this, (("auction_" + t) + "_assetId"))
106- let B = if (!(isDefined(w.assetId)))
104+ let z = if (!(isDefined(u.assetId)))
107105 then throw("Only sconex is accepted!")
108- else toBase58String(value(w.assetId))
109- if (!(q(B)))
106+ else toBase58String(value(u.assetId))
107+ if (!(q(z)))
110108 then throw("Auction does only support sconex payments")
111109 else {
112- let C = f((("auction_" + t) + "_startPrice"))
113- if ((C > z))
114- then throw(("The minimal initial price is set as " + toString(C)))
115- else [StringEntry((((("auction_" + t) + "_bid_") + A) + "_author"), toString(r.caller)), StringEntry((((("assetId_" + m) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(z)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + t) + "_bid_") + A) + "_amount"), z), StringEntry(((((("address_" + toString(r.caller)) + "_auction_") + t) + "_bid_") + A), m), StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "open")]
110+ let A = f((("auction_" + t) + "_startPrice"))
111+ if ((A > x))
112+ then throw(("The minimal initial price is set as " + toString(A)))
113+ else [StringEntry((((("auction_" + t) + "_bid_") + y) + "_author"), toString(r.caller)), StringEntry((((("assetId_" + m) + "_bid_") + y) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(x)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + t) + "_bid_") + y) + "_amount"), x), StringEntry(((((("address_" + toString(r.caller)) + "_auction_") + t) + "_bid_") + y), m), StringEntry((((("auction_" + t) + "_bid_") + y) + "_status"), "open")]
116114 }
117115 }
118116
119117
120118
121119 @Callable(r)
122-func cancelBid (t,A) = {
120+func cancelBid (t,y) = {
123121 let m = getStringValue(this, (("auction_" + t) + "_assetId"))
124- let D = k((((("auction_" + t) + "_bid_") + A) + "_author"))
125- let E = f((((("auction_" + t) + "_bid_") + A) + "_amount"))
126- if (if ((toString(r.caller) != D))
122+ let B = k((((("auction_" + t) + "_bid_") + y) + "_author"))
123+ let C = f((((("auction_" + t) + "_bid_") + y) + "_amount"))
124+ if (if ((toString(r.caller) != B))
127125 then (r.caller != this)
128126 else false)
129127 then throw("Only allowed to the bid author or admin")
130- else if ((k((((("auction_" + t) + "_bid_") + A) + "_status")) != "open"))
128+ else if ((k((((("auction_" + t) + "_bid_") + y) + "_status")) != "open"))
131129 then throw("bid is not open")
132- else [StringEntry((((("assetId_" + m) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(E)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "cancelled"), DeleteEntry(((((("address_" + D) + "_auction_") + t) + "_bid_") + A)), ScriptTransfer(Address(fromBase58String(D)), E, e)]
130+ else [StringEntry((((("assetId_" + m) + "_bid_") + y) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(C)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("auction_" + t) + "_bid_") + y) + "_status"), "cancelled"), DeleteEntry(((((("address_" + B) + "_auction_") + t) + "_bid_") + y)), ScriptTransfer(Address(fromBase58String(B)), C, e)]
133131 }
134132
135133
136134
137135 @Callable(r)
138-func acceptBid (t,A) = {
139- let y = k((("auction_" + t) + "_owner"))
140- let D = k((((("auction_" + t) + "_bid_") + A) + "_author"))
141- let E = f((((("auction_" + t) + "_bid_") + A) + "_amount"))
142- let F = k((((("auction_" + t) + "_bid_") + A) + "_status"))
136+func acceptBid (t,y) = {
137+ let w = k((("auction_" + t) + "_owner"))
138+ let B = k((((("auction_" + t) + "_bid_") + y) + "_author"))
139+ let C = f((((("auction_" + t) + "_bid_") + y) + "_amount"))
140+ let D = k((((("auction_" + t) + "_bid_") + y) + "_status"))
143141 let m = k((("auction_" + t) + "_assetId"))
144- if ((toString(r.caller) != y))
142+ if ((toString(r.caller) != w))
145143 then throw("Only allowed to auction owner")
146- else if ((F != "open"))
144+ else if ((D != "open"))
147145 then throw("Bid was cancelled and cannot be accepted")
148146 else {
149- let G = f((m + "_recordPrice"))
150- let H = max([G, E])
147+ let E = f((m + "_recordPrice"))
148+ let F = max([E, C])
151149 let p = o(m)
152150 if ((p == ""))
153- then [StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(E)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), E), IntegerEntry((m + "_recordPrice"), H), DeleteEntry(((((("address_" + D) + "_auction_") + t) + "_bid_") + A)), DeleteEntry((((("address_" + y) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(E, ((100 - c) - d), 100), e), ScriptTransfer(Address(b), fraction(E, d, 100), e), ScriptTransfer(Address(b), fraction(E, c, 100), e), ScriptTransfer(addressFromStringValue(D), 1, fromBase58String(m))]
154- else [StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(E)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), E), IntegerEntry((m + "_recordPrice"), H), DeleteEntry(((((("address_" + D) + "_auction_") + t) + "_bid_") + A)), DeleteEntry((((("address_" + y) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(E, ((100 - c) - d), 100), e), ScriptTransfer(Address(fromBase58String(p)), fraction(E, d, 100), e), ScriptTransfer(Address(b), fraction(E, c, 100), e), ScriptTransfer(addressFromStringValue(D), 1, fromBase58String(m))]
151+ then [StringEntry((((("auction_" + t) + "_bid_") + y) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + y) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(C)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), C), IntegerEntry((m + "_recordPrice"), F), DeleteEntry(((((("address_" + B) + "_auction_") + t) + "_bid_") + y)), DeleteEntry((((("address_" + w) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(C, ((100 - c) - d), 100), e), ScriptTransfer(Address(b), fraction(C, d, 100), e), ScriptTransfer(Address(b), fraction(C, c, 100), e), ScriptTransfer(addressFromStringValue(B), 1, fromBase58String(m))]
152+ else [StringEntry((((("auction_" + t) + "_bid_") + y) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + y) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(C)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), C), IntegerEntry((m + "_recordPrice"), F), DeleteEntry(((((("address_" + B) + "_auction_") + t) + "_bid_") + y)), DeleteEntry((((("address_" + w) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(C, ((100 - c) - d), 100), e), ScriptTransfer(Address(fromBase58String(p)), fraction(C, d, 100), e), ScriptTransfer(Address(b), fraction(C, c, 100), e), ScriptTransfer(addressFromStringValue(B), 1, fromBase58String(m))]
155153 }
156154 }
157155
158156
159-@Verifier(I)
160-func J () = sigVerify(I.bodyBytes, I.proofs[0], I.senderPublicKey)
157+@Verifier(G)
158+func H () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey)
161159
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'3MrWNTqFcHBqb58Za1A5crQrMV5KJ5DYhtA'
55
66 let b = base58'3N65xLq8JcCeaEiR1TJQ7dBqXBvEy6E48Wz'
77
88 let c = 3
99
1010 let d = 7
1111
1212 let e = base58'DZ8ALmuLeSZ2ocsYLAcL9MiXBFDbMNQG9LtitREyU5ZC'
1313
1414 func f (g) = {
1515 let h = {
1616 let i = getInteger(this, g)
1717 if ($isInstanceOf(i, "Int"))
1818 then {
1919 let j = i
2020 j
2121 }
2222 else 0
2323 }
2424 h
2525 }
2626
2727
2828 func k (g) = {
2929 let h = {
3030 let i = getString(this, g)
3131 if ($isInstanceOf(i, "String"))
3232 then {
3333 let j = i
3434 j
3535 }
3636 else ""
3737 }
3838 h
3939 }
4040
4141
4242 func l (m) = {
4343 let n = value(assetInfo(m))
4444 if ((n.issuer == Address(a)))
4545 then "true"
4646 else ""
4747 }
4848
4949
5050 func o (m) = {
5151 let p = {
5252 let i = getString(Address(a), ("nft_issued_" + m))
5353 if ($isInstanceOf(i, "String"))
5454 then {
5555 let j = i
5656 j
5757 }
5858 else ""
5959 }
6060 p
6161 }
6262
6363
6464 func q (m) = if ((m != toBase58String(e)))
6565 then throw("Only Sconex accepted")
6666 else true
6767
6868
6969 @Callable(r)
7070 func initAuction (s) = {
7171 let t = toBase58String(r.transactionId)
72- let u = if ((size(r.payments) == 0))
73- then value(r.payments)
74- else throw("No payment attached")
75- let v = if ((size(r.payments) > 1))
76- then value(r.payments)
77- else throw("Too many payments attached")
78- let w = value(r.payments[0])
79- let m = value(w.assetId)
80- let x = l(m)
81- if ((x == ""))
82- then throw("You can only sell an NFT created on SCONE Marketplace")
83- else [StringEntry((("auction_" + t) + "_status"), "open"), StringEntry((("auction_" + toBase58String(m)) + "_last"), t), StringEntry((("auction_" + t) + "_assetName"), x), StringEntry((("auction_" + t) + "_assetId"), toBase58String(m)), IntegerEntry((("auction_" + t) + "_startedAt"), lastBlock.timestamp), StringEntry((("auction_" + t) + "_owner"), toString(r.caller)), IntegerEntry((("auction_" + t) + "_startPrice"), s), StringEntry((((("address_" + toString(r.caller)) + "_auction_") + t) + "_lockedNFT"), toBase58String(m))]
72+ if ((size(r.payments) == 0))
73+ then throw("No payment attached")
74+ else {
75+ let u = value(r.payments[0])
76+ let m = value(u.assetId)
77+ let v = l(m)
78+ if ((v == ""))
79+ then throw("You can only sell an NFT created on SCONE Marketplace")
80+ else [StringEntry((("auction_" + t) + "_status"), "open"), StringEntry((("auction_" + toBase58String(m)) + "_last"), t), StringEntry((("auction_" + t) + "_assetName"), v), StringEntry((("auction_" + t) + "_assetId"), toBase58String(m)), IntegerEntry((("auction_" + t) + "_startedAt"), lastBlock.timestamp), StringEntry((("auction_" + t) + "_owner"), toString(r.caller)), IntegerEntry((("auction_" + t) + "_startPrice"), s), StringEntry((((("address_" + toString(r.caller)) + "_auction_") + t) + "_lockedNFT"), toBase58String(m))]
81+ }
8482 }
8583
8684
8785
8886 @Callable(r)
8987 func cancelAuction (t) = {
90- let y = k((("auction_" + t) + "_owner"))
91- if ((toString(r.caller) != y))
88+ let w = k((("auction_" + t) + "_owner"))
89+ if ((toString(r.caller) != w))
9290 then throw("Only allowed to auction owner")
9391 else if ((k((("auction_" + t) + "_status")) != "open"))
9492 then throw("auction is close")
95- else [StringEntry((("auction_" + t) + "_status"), "cancelled"), DeleteEntry((((("address_" + y) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, 1, fromBase58String(getStringValue(this, (("auction_" + t) + "_assetId"))))]
93+ else [StringEntry((("auction_" + t) + "_status"), "cancelled"), DeleteEntry((((("address_" + w) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, 1, fromBase58String(getStringValue(this, (("auction_" + t) + "_assetId"))))]
9694 }
9795
9896
9997
10098 @Callable(r)
10199 func placeBid (t) = {
102- let w = value(r.payments[0])
103- let z = w.amount
104- let A = toBase58String(r.transactionId)
100+ let u = value(r.payments[0])
101+ let x = u.amount
102+ let y = toBase58String(r.transactionId)
105103 let m = getStringValue(this, (("auction_" + t) + "_assetId"))
106- let B = if (!(isDefined(w.assetId)))
104+ let z = if (!(isDefined(u.assetId)))
107105 then throw("Only sconex is accepted!")
108- else toBase58String(value(w.assetId))
109- if (!(q(B)))
106+ else toBase58String(value(u.assetId))
107+ if (!(q(z)))
110108 then throw("Auction does only support sconex payments")
111109 else {
112- let C = f((("auction_" + t) + "_startPrice"))
113- if ((C > z))
114- then throw(("The minimal initial price is set as " + toString(C)))
115- else [StringEntry((((("auction_" + t) + "_bid_") + A) + "_author"), toString(r.caller)), StringEntry((((("assetId_" + m) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(z)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + t) + "_bid_") + A) + "_amount"), z), StringEntry(((((("address_" + toString(r.caller)) + "_auction_") + t) + "_bid_") + A), m), StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "open")]
110+ let A = f((("auction_" + t) + "_startPrice"))
111+ if ((A > x))
112+ then throw(("The minimal initial price is set as " + toString(A)))
113+ else [StringEntry((((("auction_" + t) + "_bid_") + y) + "_author"), toString(r.caller)), StringEntry((((("assetId_" + m) + "_bid_") + y) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(x)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + t) + "_bid_") + y) + "_amount"), x), StringEntry(((((("address_" + toString(r.caller)) + "_auction_") + t) + "_bid_") + y), m), StringEntry((((("auction_" + t) + "_bid_") + y) + "_status"), "open")]
116114 }
117115 }
118116
119117
120118
121119 @Callable(r)
122-func cancelBid (t,A) = {
120+func cancelBid (t,y) = {
123121 let m = getStringValue(this, (("auction_" + t) + "_assetId"))
124- let D = k((((("auction_" + t) + "_bid_") + A) + "_author"))
125- let E = f((((("auction_" + t) + "_bid_") + A) + "_amount"))
126- if (if ((toString(r.caller) != D))
122+ let B = k((((("auction_" + t) + "_bid_") + y) + "_author"))
123+ let C = f((((("auction_" + t) + "_bid_") + y) + "_amount"))
124+ if (if ((toString(r.caller) != B))
127125 then (r.caller != this)
128126 else false)
129127 then throw("Only allowed to the bid author or admin")
130- else if ((k((((("auction_" + t) + "_bid_") + A) + "_status")) != "open"))
128+ else if ((k((((("auction_" + t) + "_bid_") + y) + "_status")) != "open"))
131129 then throw("bid is not open")
132- else [StringEntry((((("assetId_" + m) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(E)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "cancelled"), DeleteEntry(((((("address_" + D) + "_auction_") + t) + "_bid_") + A)), ScriptTransfer(Address(fromBase58String(D)), E, e)]
130+ else [StringEntry((((("assetId_" + m) + "_bid_") + y) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(C)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("auction_" + t) + "_bid_") + y) + "_status"), "cancelled"), DeleteEntry(((((("address_" + B) + "_auction_") + t) + "_bid_") + y)), ScriptTransfer(Address(fromBase58String(B)), C, e)]
133131 }
134132
135133
136134
137135 @Callable(r)
138-func acceptBid (t,A) = {
139- let y = k((("auction_" + t) + "_owner"))
140- let D = k((((("auction_" + t) + "_bid_") + A) + "_author"))
141- let E = f((((("auction_" + t) + "_bid_") + A) + "_amount"))
142- let F = k((((("auction_" + t) + "_bid_") + A) + "_status"))
136+func acceptBid (t,y) = {
137+ let w = k((("auction_" + t) + "_owner"))
138+ let B = k((((("auction_" + t) + "_bid_") + y) + "_author"))
139+ let C = f((((("auction_" + t) + "_bid_") + y) + "_amount"))
140+ let D = k((((("auction_" + t) + "_bid_") + y) + "_status"))
143141 let m = k((("auction_" + t) + "_assetId"))
144- if ((toString(r.caller) != y))
142+ if ((toString(r.caller) != w))
145143 then throw("Only allowed to auction owner")
146- else if ((F != "open"))
144+ else if ((D != "open"))
147145 then throw("Bid was cancelled and cannot be accepted")
148146 else {
149- let G = f((m + "_recordPrice"))
150- let H = max([G, E])
147+ let E = f((m + "_recordPrice"))
148+ let F = max([E, C])
151149 let p = o(m)
152150 if ((p == ""))
153- then [StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(E)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), E), IntegerEntry((m + "_recordPrice"), H), DeleteEntry(((((("address_" + D) + "_auction_") + t) + "_bid_") + A)), DeleteEntry((((("address_" + y) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(E, ((100 - c) - d), 100), e), ScriptTransfer(Address(b), fraction(E, d, 100), e), ScriptTransfer(Address(b), fraction(E, c, 100), e), ScriptTransfer(addressFromStringValue(D), 1, fromBase58String(m))]
154- else [StringEntry((((("auction_" + t) + "_bid_") + A) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + A) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(E)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), E), IntegerEntry((m + "_recordPrice"), H), DeleteEntry(((((("address_" + D) + "_auction_") + t) + "_bid_") + A)), DeleteEntry((((("address_" + y) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(E, ((100 - c) - d), 100), e), ScriptTransfer(Address(fromBase58String(p)), fraction(E, d, 100), e), ScriptTransfer(Address(b), fraction(E, c, 100), e), ScriptTransfer(addressFromStringValue(D), 1, fromBase58String(m))]
151+ then [StringEntry((((("auction_" + t) + "_bid_") + y) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + y) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(C)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), C), IntegerEntry((m + "_recordPrice"), F), DeleteEntry(((((("address_" + B) + "_auction_") + t) + "_bid_") + y)), DeleteEntry((((("address_" + w) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(C, ((100 - c) - d), 100), e), ScriptTransfer(Address(b), fraction(C, d, 100), e), ScriptTransfer(Address(b), fraction(C, c, 100), e), ScriptTransfer(addressFromStringValue(B), 1, fromBase58String(m))]
152+ else [StringEntry((((("auction_" + t) + "_bid_") + y) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + y) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(C)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), C), IntegerEntry((m + "_recordPrice"), F), DeleteEntry(((((("address_" + B) + "_auction_") + t) + "_bid_") + y)), DeleteEntry((((("address_" + w) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(C, ((100 - c) - d), 100), e), ScriptTransfer(Address(fromBase58String(p)), fraction(C, d, 100), e), ScriptTransfer(Address(b), fraction(C, c, 100), e), ScriptTransfer(addressFromStringValue(B), 1, fromBase58String(m))]
155153 }
156154 }
157155
158156
159-@Verifier(I)
160-func J () = sigVerify(I.bodyBytes, I.proofs[0], I.senderPublicKey)
157+@Verifier(G)
158+func H () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey)
161159

github/deemru/w8io/873ac7e 
127.67 ms