tx · EJXS2Vy7tjHgmdsBWYnHDgaZQN52C5W2P6Cztq9m7Vkw

3MrfHoPDiF2nJb6T6Z6J7MdhpX3LeVaLaW2:  -0.05000000 Waves

2021.09.01 23:04 [1684424] smart account 3MrfHoPDiF2nJb6T6Z6J7MdhpX3LeVaLaW2 > SELF 0.00000000 Waves

{ "type": 13, "id": "EJXS2Vy7tjHgmdsBWYnHDgaZQN52C5W2P6Cztq9m7Vkw", "fee": 5000000, "feeAssetId": null, "timestamp": 1630526678029, "version": 2, "chainId": 84, "sender": "3MrfHoPDiF2nJb6T6Z6J7MdhpX3LeVaLaW2", "senderPublicKey": "ANm32Ptz6YTMKvYUJBEYd4CYiTVn6XEvYjZhewQMphSJ", "proofs": [ "5ZqKz8MQrWvidsb3GmGNdo2j6zvawpnyFcQ7Fv42d72DUQQANDweShuXPjn55xx2pQT4yVvXCNzPGPUnUednHSc5" ], "script": "base64:AAIFAAAAAAAAAnkIAhIDCgEBEgMKAQgSAwoBCBIECgIICBIECgIICBoWCgJhMRIQTkZUSXNzdWVyQWRkcmVzcxoaCgJhMhIUTkZUSXNzdWVyZmVlUmVjZWl2ZXIaGQoCYTMSE05GVElzc3VlcmZlZVBlcmNlbnQaFgoCYTQSEEFydGlzdGZlZVBlcmNlbnQaEwoCYTUSDXNjb25leEFzc2V0SWQaEwoCYTYSDXRyeUdldEludGVnZXIaCQoCYTcSA2tleRoJCgJhOBIDdmFsGg0KAmE5EgckbWF0Y2gwGgcKAmIxEgFiGhIKAmIyEgx0cnlHZXRTdHJpbmcaEgoCYjMSDGdldE5GVElzc3VlchoNCgJiNBIHYXNzZXRJZBoRCgJiNRILbXlhc3NldGluZm8aEgoCYjYSDGdldE5GVEFydGlzdBoTCgJiNxINQXJ0aXN0QWRkcmVzcxoWCgJiOBIQYWNjZXB0ZWRBc3NldElkcxoHCgJiORIBaRoQCgJjMRIKc3RhcnRQcmljZRoPCgJjMhIJYXVjdGlvbklkGgcKAmMzEgF4GgkKAmM0EgNwbXQaCwoCYzUSBWFzc2V0GhIKAmM2EgxhdWN0aW9uT3duZXIaDAoCYzcSBmFtb3VudBoLCgJjOBIFYmlkSWQaEAoCYzkSClBheUFzc2V0SWQaDgoCZDESCG1pblByaWNlGg8KAmQyEgliaWRBdXRob3IaDwoCZDMSCWJpZEFtb3VudBoPCgJkNBIJYmlkU3RhdHVzGhEKAmQ1EgtyZWNvcmRQcmljZRoUCgJkNhIObmV3UmVjb3JkUHJpY2UaCAoCZDcSAnR4GgwKAmQ4EgZ2ZXJpZnkAAAAKAAAAAAJhMQEAAAAaAVQcbFMn4j+HiLojc3p8u8vuHQpv7JcrAo8AAAAAAmEyAQAAABoBVLFf975aAQW+63FgZcqFqq/LGoT8cEUerwAAAAACYTMAAAAAAAAAAAMAAAAAAmE0AAAAAAAAAAAHAAAAAAJhNQEAAAAguobtEHSno8B/SPo/hvAGB5K2lpZqO0oRcOvqVeCS0zMBAAAAAmE2AAAAAQAAAAJhNwQAAAACYTgEAAAAAmE5CQAEGgAAAAIFAAAABHRoaXMFAAAAAmE3AwkAAAEAAAACBQAAAAJhOQIAAAADSW50BAAAAAJiMQUAAAACYTkFAAAAAmIxAAAAAAAAAAAABQAAAAJhOAEAAAACYjIAAAABAAAAAmE3BAAAAAJhOAQAAAACYTkJAAQdAAAAAgUAAAAEdGhpcwUAAAACYTcDCQAAAQAAAAIFAAAAAmE5AgAAAAZTdHJpbmcEAAAAAmIxBQAAAAJhOQUAAAACYjECAAAAAAUAAAACYTgBAAAAAmIzAAAAAQAAAAJiNAQAAAACYjUJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAACYjQDCQAAAAAAAAIIBQAAAAJiNQAAAAZpc3N1ZXIJAQAAAAdBZGRyZXNzAAAAAQUAAAACYTECAAAABHRydWUCAAAAAAEAAAACYjYAAAABAAAAAmI0BAAAAAJiNwQAAAACYTkJAAQdAAAAAgkBAAAAB0FkZHJlc3MAAAABBQAAAAJhMQkAASwAAAACAgAAAAtuZnRfaXNzdWVkXwUAAAACYjQDCQAAAQAAAAIFAAAAAmE5AgAAAAZTdHJpbmcEAAAAAmIxBQAAAAJhOQUAAAACYjECAAAAAAUAAAACYjcBAAAAAmI4AAAAAQAAAAJiNAMJAQAAAAIhPQAAAAIFAAAAAmI0CQACWAAAAAEFAAAAAmE1CQAAAgAAAAECAAAAFE9ubHkgU2NvbmV4IGFjY2VwdGVkBgAAAAUAAAACYjkBAAAAC2luaXRBdWN0aW9uAAAAAQAAAAJjMQQAAAACYzIJAAJYAAAAAQgFAAAAAmI5AAAADXRyYW5zYWN0aW9uSWQEAAAAAmMzAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAJiOQAAAAhwYXltZW50cwkBAAAABXZhbHVlAAAAAQgFAAAAAmI5AAAACHBheW1lbnRzCQAAAgAAAAECAAAAE05vIHBheW1lbnQgYXR0YWNoZWQEAAAAAmM0CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAJiOQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAACYjQJAQAAAAV2YWx1ZQAAAAEIBQAAAAJjNAAAAAdhc3NldElkBAAAAAJjNQkBAAAAAmIzAAAAAQUAAAACYjQDCQAAAAAAAAIFAAAAAmM1AgAAAAAJAAACAAAAAQIAAAA1WW91IGNhbiBvbmx5IHNlbGwgYW4gTkZUIGNyZWF0ZWQgb24gU0NPTkUgTWFya2V0cGxhY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAHX3N0YXR1cwIAAAAEb3BlbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8JAAJYAAAAAQUAAAACYjQCAAAABV9sYXN0BQAAAAJjMgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAApfYXNzZXROYW1lBQAAAAJjNQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAhfYXNzZXRJZAkAAlgAAAABBQAAAAJiNAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAKX3N0YXJ0ZWRBdAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAGX293bmVyCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAAC19zdGFydFByaWNlBQAAAAJjMQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXICAAAACV9hdWN0aW9uXwUAAAACYzICAAAACl9sb2NrZWRORlQJAAJYAAAAAQUAAAACYjQFAAAAA25pbAAAAAJiOQEAAAANY2FuY2VsQXVjdGlvbgAAAAEAAAACYzIEAAAAAmM2CQEAAAACYjIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAZfb3duZXIDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXIFAAAAAmM2CQAAAgAAAAECAAAAHU9ubHkgYWxsb3dlZCB0byBhdWN0aW9uIG93bmVyAwkBAAAAAiE9AAAAAgkBAAAAAmIyAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAHX3N0YXR1cwIAAAAEb3BlbgkAAAIAAAABAgAAABBhdWN0aW9uIGlzIGNsb3NlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAAB19zdGF0dXMCAAAACWNhbmNlbGxlZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAJjNgIAAAAJX2F1Y3Rpb25fBQAAAAJjMgIAAAAKX2xvY2tlZE5GVAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAACYjkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAACF9hc3NldElkBQAAAANuaWwAAAACYjkBAAAACHBsYWNlQmlkAAAAAQAAAAJjMgQAAAACYzQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAmI5AAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAJjNwgFAAAAAmM0AAAABmFtb3VudAQAAAACYzgJAAJYAAAAAQgFAAAAAmI5AAAADXRyYW5zYWN0aW9uSWQEAAAAAmI0CQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAhfYXNzZXRJZAQAAAACYzkDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAACYzQAAAAHYXNzZXRJZAkAAAIAAAABAgAAABhPbmx5IHNjb25leCBpcyBhY2NlcHRlZCEJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAAmM0AAAAB2Fzc2V0SWQDCQEAAAABIQAAAAEJAQAAAAJiOAAAAAEFAAAAAmM5CQAAAgAAAAECAAAAKUF1Y3Rpb24gZG9lcyBvbmx5IHN1cHBvcnQgc2NvbmV4IHBheW1lbnRzBAAAAAJkMQkBAAAAAmE2AAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAALX3N0YXJ0UHJpY2UDCQAAZgAAAAIFAAAAAmQxBQAAAAJjNwkAAAIAAAABCQABLAAAAAICAAAAJFRoZSBtaW5pbWFsIGluaXRpYWwgcHJpY2UgaXMgc2V0IGFzIAkAAaQAAAABBQAAAAJkMQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAFX2JpZF8FAAAAAmM4AgAAAAdfYXV0aG9yCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhc3NldElkXwUAAAACYjQCAAAABV9iaWRfBQAAAAJjOAIAAAAFX2RhdGEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3siYXVjdGlvbklkIjogIgUAAAACYzICAAAADiIsICJhdXRob3IiOiAiCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXICAAAADiIsICJhbW91bnQiOiAiCQABpAAAAAEFAAAAAmM3AgAAABQiLCAic3RhdHVzIjogIm9wZW4ifQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjOAIAAAAHX2Ftb3VudAUAAAACYzcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXICAAAACV9hdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjOAUAAAACYjQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjOAIAAAAHX3N0YXR1cwIAAAAEb3BlbgUAAAADbmlsAAAAAmI5AQAAAAljYW5jZWxCaWQAAAACAAAAAmMyAAAAAmM4BAAAAAJiNAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAIX2Fzc2V0SWQEAAAAAmQyCQEAAAACYjIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAFX2JpZF8FAAAAAmM4AgAAAAdfYXV0aG9yBAAAAAJkMwkBAAAAAmE2AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjOAIAAAAHX2Ftb3VudAMDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXIFAAAAAmQyCQEAAAACIT0AAAACCAUAAAACYjkAAAAGY2FsbGVyBQAAAAR0aGlzBwkAAAIAAAABAgAAACdPbmx5IGFsbG93ZWQgdG8gdGhlIGJpZCBhdXRob3Igb3IgYWRtaW4DCQEAAAACIT0AAAACCQEAAAACYjIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAFX2JpZF8FAAAAAmM4AgAAAAdfc3RhdHVzAgAAAARvcGVuCQAAAgAAAAECAAAAD2JpZCBpcyBub3Qgb3BlbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFzc2V0SWRfBQAAAAJiNAIAAAAFX2JpZF8FAAAAAmM4AgAAAAVfZGF0YQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPeyJhdWN0aW9uSWQiOiAiBQAAAAJjMgIAAAAOIiwgImF1dGhvciI6ICIJAAQlAAAAAQgFAAAAAmI5AAAABmNhbGxlcgIAAAAOIiwgImFtb3VudCI6ICIJAAGkAAAAAQUAAAACZDMCAAAAGSIsICJzdGF0dXMiOiAiY2FuY2VsbGVkIn0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjOAIAAAAHX3N0YXR1cwIAAAAJY2FuY2VsbGVkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAACZDICAAAACV9hdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjOAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAACZDIFAAAAAmQzBQAAAAJhNQUAAAADbmlsAAAAAmI5AQAAAAlhY2NlcHRCaWQAAAACAAAAAmMyAAAAAmM4BAAAAAJjNgkBAAAAAmIyAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAGX293bmVyBAAAAAJkMgkBAAAAAmIyAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjOAIAAAAHX2F1dGhvcgQAAAACZDMJAQAAAAJhNgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAVfYmlkXwUAAAACYzgCAAAAB19hbW91bnQEAAAAAmQ0CQEAAAACYjIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAFX2JpZF8FAAAAAmM4AgAAAAdfc3RhdHVzBAAAAAJiNAkBAAAAAmIyAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAIX2Fzc2V0SWQDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXIFAAAAAmM2CQAAAgAAAAECAAAAHU9ubHkgYWxsb3dlZCB0byBhdWN0aW9uIG93bmVyAwkBAAAAAiE9AAAAAgUAAAACZDQCAAAABG9wZW4JAAACAAAAAQIAAAAoQmlkIHdhcyBjYW5jZWxsZWQgYW5kIGNhbm5vdCBiZSBhY2NlcHRlZAQAAAACZDUJAQAAAAJhNgAAAAEJAAEsAAAAAgUAAAACYjQCAAAADF9yZWNvcmRQcmljZQQAAAACZDYJAAGWAAAAAQkABEwAAAACBQAAAAJkNQkABEwAAAACBQAAAAJkMwUAAAADbmlsBAAAAAJiNwkBAAAAAmI2AAAAAQUAAAACYjQDCQAAAAAAAAIFAAAAAmI3AgAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAABV9iaWRfBQAAAAJjOAIAAAAHX3N0YXR1cwIAAAAIZmluaXNoZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAJjMgIAAAAHX3N0YXR1cwIAAAAIZmluaXNoZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhc3NldElkXwUAAAACYjQCAAAABV9iaWRfBQAAAAJjOAIAAAAFX2RhdGEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3siYXVjdGlvbklkIjogIgUAAAACYzICAAAADiIsICJhdXRob3IiOiAiCQAEJQAAAAEIBQAAAAJiOQAAAAZjYWxsZXICAAAADiIsICJhbW91bnQiOiAiCQABpAAAAAEFAAAAAmQzAgAAABgiLCAic3RhdHVzIjogImZpbmlzaGVkIn0JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAAC19maW5hbFByaWNlBQAAAAJkMwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAJiNAIAAAAMX3JlY29yZFByaWNlBQAAAAJkNgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAAmQyAgAAAAlfYXVjdGlvbl8FAAAAAmMyAgAAAAVfYmlkXwUAAAACYzgJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAACYzYCAAAACV9hdWN0aW9uXwUAAAACYzICAAAACl9sb2NrZWRORlQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAmI5AAAABmNhbGxlcgkAAGsAAAADBQAAAAJkMwkAAGUAAAACCQAAZQAAAAIAAAAAAAAAAGQFAAAAAmEzBQAAAAJhNAAAAAAAAAAAZAUAAAACYTUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABBQAAAAJhMgkAAGsAAAADBQAAAAJkMwUAAAACYTQAAAAAAAAAAGQFAAAAAmE1CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQUAAAACYTIJAABrAAAAAwUAAAACZDMFAAAAAmEzAAAAAAAAAABkBQAAAAJhNQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAJkMgAAAAAAAAAAAQkAAlkAAAABBQAAAAJiNAUAAAADbmlsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAVfYmlkXwUAAAACYzgCAAAAB19zdGF0dXMCAAAACGZpbmlzaGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYzICAAAAB19zdGF0dXMCAAAACGZpbmlzaGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXNzZXRJZF8FAAAAAmI0AgAAAAVfYmlkXwUAAAACYzgCAAAABV9kYXRhCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA97ImF1Y3Rpb25JZCI6ICIFAAAAAmMyAgAAAA4iLCAiYXV0aG9yIjogIgkABCUAAAABCAUAAAACYjkAAAAGY2FsbGVyAgAAAA4iLCAiYW1vdW50IjogIgkAAaQAAAABBQAAAAJkMwIAAAAYIiwgInN0YXR1cyI6ICJmaW5pc2hlZCJ9CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAmMyAgAAAAtfZmluYWxQcmljZQUAAAACZDMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAACYjQCAAAADF9yZWNvcmRQcmljZQUAAAACZDYJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAJkMgIAAAAJX2F1Y3Rpb25fBQAAAAJjMgIAAAAFX2JpZF8FAAAAAmM4CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAAmM2AgAAAAlfYXVjdGlvbl8FAAAAAmMyAgAAAApfbG9ja2VkTkZUCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAJiOQAAAAZjYWxsZXIJAABrAAAAAwUAAAACZDMJAABlAAAAAgkAAGUAAAACAAAAAAAAAABkBQAAAAJhMwUAAAACYTQAAAAAAAAAAGQFAAAAAmE1CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAJiNwkAAGsAAAADBQAAAAJkMwUAAAACYTQAAAAAAAAAAGQFAAAAAmE1CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQUAAAACYTIJAABrAAAAAwUAAAACZDMFAAAAAmEzAAAAAAAAAABkBQAAAAJhNQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAJkMgAAAAAAAAAAAQkAAlkAAAABBQAAAAJiNAUAAAADbmlsAAAAAQAAAAJkNwEAAAACZDgAAAAACQAB9AAAAAMIBQAAAAJkNwAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAmQ3AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAmQ3AAAAD3NlbmRlclB1YmxpY0tleZ22Mgg=", "height": 1684424, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7vtCEUydiZCRDR4UNQgTQS3tDR9NaBBrMBnXxEWDCDL6 Next: 8G8BGrUyjndxQhEgXCQzFFTF4ze7GFm8ALWsyxsbtHY1 Diff:
OldNewDifferences
6969 @Callable(r)
7070 func initAuction (s) = {
7171 let t = toBase58String(r.transactionId)
72- let u = value(r.payments[0])
73- let m = value(u.assetId)
74- let v = l(m)
75- if ((v == ""))
72+ let u = if (isDefined(r.payments))
73+ then value(r.payments)
74+ else throw("No payment attached")
75+ let v = value(r.payments[0])
76+ let m = value(v.assetId)
77+ let w = l(m)
78+ if ((w == ""))
7679 then throw("You can only sell an NFT created on SCONE Marketplace")
77- 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))]
80+ else [StringEntry((("auction_" + t) + "_status"), "open"), StringEntry((("auction_" + toBase58String(m)) + "_last"), t), StringEntry((("auction_" + t) + "_assetName"), w), 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))]
7881 }
7982
8083
8184
8285 @Callable(r)
8386 func cancelAuction (t) = {
84- let w = k((("auction_" + t) + "_owner"))
85- if ((toString(r.caller) != w))
87+ let x = k((("auction_" + t) + "_owner"))
88+ if ((toString(r.caller) != x))
8689 then throw("Only allowed to auction owner")
8790 else if ((k((("auction_" + t) + "_status")) != "open"))
8891 then throw("auction is close")
89- else [StringEntry((("auction_" + t) + "_status"), "cancelled"), DeleteEntry((((("address_" + w) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, 1, fromBase58String(getStringValue(this, (("auction_" + t) + "_assetId"))))]
92+ else [StringEntry((("auction_" + t) + "_status"), "cancelled"), DeleteEntry((((("address_" + x) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, 1, fromBase58String(getStringValue(this, (("auction_" + t) + "_assetId"))))]
9093 }
9194
9295
9396
9497 @Callable(r)
9598 func placeBid (t) = {
96- let u = value(r.payments[0])
97- let x = u.amount
98- let y = toBase58String(r.transactionId)
99+ let v = value(r.payments[0])
100+ let y = v.amount
101+ let z = toBase58String(r.transactionId)
99102 let m = getStringValue(this, (("auction_" + t) + "_assetId"))
100- let z = if (!(isDefined(u.assetId)))
103+ let A = if (!(isDefined(v.assetId)))
101104 then throw("Only sconex is accepted!")
102- else toBase58String(value(u.assetId))
103- if (!(q(z)))
105+ else toBase58String(value(v.assetId))
106+ if (!(q(A)))
104107 then throw("Auction does only support sconex payments")
105108 else {
106- let A = f((("auction_" + t) + "_startPrice"))
107- if ((A > x))
108- then throw(("The minimal initial price is set as " + toString(A)))
109- 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")]
109+ let B = f((("auction_" + t) + "_startPrice"))
110+ if ((B > y))
111+ then throw(("The minimal initial price is set as " + toString(B)))
112+ else [StringEntry((((("auction_" + t) + "_bid_") + z) + "_author"), toString(r.caller)), StringEntry((((("assetId_" + m) + "_bid_") + z) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(y)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + t) + "_bid_") + z) + "_amount"), y), StringEntry(((((("address_" + toString(r.caller)) + "_auction_") + t) + "_bid_") + z), m), StringEntry((((("auction_" + t) + "_bid_") + z) + "_status"), "open")]
110113 }
111114 }
112115
113116
114117
115118 @Callable(r)
116-func cancelBid (t,y) = {
119+func cancelBid (t,z) = {
117120 let m = getStringValue(this, (("auction_" + t) + "_assetId"))
118- let B = k((((("auction_" + t) + "_bid_") + y) + "_author"))
119- let C = f((((("auction_" + t) + "_bid_") + y) + "_amount"))
120- if (if ((toString(r.caller) != B))
121+ let C = k((((("auction_" + t) + "_bid_") + z) + "_author"))
122+ let D = f((((("auction_" + t) + "_bid_") + z) + "_amount"))
123+ if (if ((toString(r.caller) != C))
121124 then (r.caller != this)
122125 else false)
123126 then throw("Only allowed to the bid author or admin")
124- else if ((k((((("auction_" + t) + "_bid_") + y) + "_status")) != "open"))
127+ else if ((k((((("auction_" + t) + "_bid_") + z) + "_status")) != "open"))
125128 then throw("bid is not open")
126- 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)]
129+ else [StringEntry((((("assetId_" + m) + "_bid_") + z) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(D)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("auction_" + t) + "_bid_") + z) + "_status"), "cancelled"), DeleteEntry(((((("address_" + C) + "_auction_") + t) + "_bid_") + z)), ScriptTransfer(Address(fromBase58String(C)), D, e)]
127130 }
128131
129132
130133
131134 @Callable(r)
132-func acceptBid (t,y) = {
133- let w = k((("auction_" + t) + "_owner"))
134- let B = k((((("auction_" + t) + "_bid_") + y) + "_author"))
135- let C = f((((("auction_" + t) + "_bid_") + y) + "_amount"))
136- let D = k((((("auction_" + t) + "_bid_") + y) + "_status"))
135+func acceptBid (t,z) = {
136+ let x = k((("auction_" + t) + "_owner"))
137+ let C = k((((("auction_" + t) + "_bid_") + z) + "_author"))
138+ let D = f((((("auction_" + t) + "_bid_") + z) + "_amount"))
139+ let E = k((((("auction_" + t) + "_bid_") + z) + "_status"))
137140 let m = k((("auction_" + t) + "_assetId"))
138- if ((toString(r.caller) != w))
141+ if ((toString(r.caller) != x))
139142 then throw("Only allowed to auction owner")
140- else if ((D != "open"))
143+ else if ((E != "open"))
141144 then throw("Bid was cancelled and cannot be accepted")
142145 else {
143- let E = f((m + "_recordPrice"))
144- let F = max([E, C])
146+ let F = f((m + "_recordPrice"))
147+ let G = max([F, D])
145148 let p = o(m)
146149 if ((p == ""))
147- 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))]
148- 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))]
150+ then [StringEntry((((("auction_" + t) + "_bid_") + z) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + z) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(D)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), D), IntegerEntry((m + "_recordPrice"), G), DeleteEntry(((((("address_" + C) + "_auction_") + t) + "_bid_") + z)), DeleteEntry((((("address_" + x) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(D, ((100 - c) - d), 100), e), ScriptTransfer(Address(b), fraction(D, d, 100), e), ScriptTransfer(Address(b), fraction(D, c, 100), e), ScriptTransfer(addressFromStringValue(C), 1, fromBase58String(m))]
151+ else [StringEntry((((("auction_" + t) + "_bid_") + z) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + z) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(D)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), D), IntegerEntry((m + "_recordPrice"), G), DeleteEntry(((((("address_" + C) + "_auction_") + t) + "_bid_") + z)), DeleteEntry((((("address_" + x) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(D, ((100 - c) - d), 100), e), ScriptTransfer(Address(fromBase58String(p)), fraction(D, d, 100), e), ScriptTransfer(Address(b), fraction(D, c, 100), e), ScriptTransfer(addressFromStringValue(C), 1, fromBase58String(m))]
149152 }
150153 }
151154
152155
153-@Verifier(G)
154-func H () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey)
156+@Verifier(H)
157+func I () = sigVerify(H.bodyBytes, H.proofs[0], H.senderPublicKey)
155158
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 = value(r.payments[0])
73- let m = value(u.assetId)
74- let v = l(m)
75- if ((v == ""))
72+ let u = if (isDefined(r.payments))
73+ then value(r.payments)
74+ else throw("No payment attached")
75+ let v = value(r.payments[0])
76+ let m = value(v.assetId)
77+ let w = l(m)
78+ if ((w == ""))
7679 then throw("You can only sell an NFT created on SCONE Marketplace")
77- 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))]
80+ else [StringEntry((("auction_" + t) + "_status"), "open"), StringEntry((("auction_" + toBase58String(m)) + "_last"), t), StringEntry((("auction_" + t) + "_assetName"), w), 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))]
7881 }
7982
8083
8184
8285 @Callable(r)
8386 func cancelAuction (t) = {
84- let w = k((("auction_" + t) + "_owner"))
85- if ((toString(r.caller) != w))
87+ let x = k((("auction_" + t) + "_owner"))
88+ if ((toString(r.caller) != x))
8689 then throw("Only allowed to auction owner")
8790 else if ((k((("auction_" + t) + "_status")) != "open"))
8891 then throw("auction is close")
89- else [StringEntry((("auction_" + t) + "_status"), "cancelled"), DeleteEntry((((("address_" + w) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, 1, fromBase58String(getStringValue(this, (("auction_" + t) + "_assetId"))))]
92+ else [StringEntry((("auction_" + t) + "_status"), "cancelled"), DeleteEntry((((("address_" + x) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, 1, fromBase58String(getStringValue(this, (("auction_" + t) + "_assetId"))))]
9093 }
9194
9295
9396
9497 @Callable(r)
9598 func placeBid (t) = {
96- let u = value(r.payments[0])
97- let x = u.amount
98- let y = toBase58String(r.transactionId)
99+ let v = value(r.payments[0])
100+ let y = v.amount
101+ let z = toBase58String(r.transactionId)
99102 let m = getStringValue(this, (("auction_" + t) + "_assetId"))
100- let z = if (!(isDefined(u.assetId)))
103+ let A = if (!(isDefined(v.assetId)))
101104 then throw("Only sconex is accepted!")
102- else toBase58String(value(u.assetId))
103- if (!(q(z)))
105+ else toBase58String(value(v.assetId))
106+ if (!(q(A)))
104107 then throw("Auction does only support sconex payments")
105108 else {
106- let A = f((("auction_" + t) + "_startPrice"))
107- if ((A > x))
108- then throw(("The minimal initial price is set as " + toString(A)))
109- 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")]
109+ let B = f((("auction_" + t) + "_startPrice"))
110+ if ((B > y))
111+ then throw(("The minimal initial price is set as " + toString(B)))
112+ else [StringEntry((((("auction_" + t) + "_bid_") + z) + "_author"), toString(r.caller)), StringEntry((((("assetId_" + m) + "_bid_") + z) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(y)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + t) + "_bid_") + z) + "_amount"), y), StringEntry(((((("address_" + toString(r.caller)) + "_auction_") + t) + "_bid_") + z), m), StringEntry((((("auction_" + t) + "_bid_") + z) + "_status"), "open")]
110113 }
111114 }
112115
113116
114117
115118 @Callable(r)
116-func cancelBid (t,y) = {
119+func cancelBid (t,z) = {
117120 let m = getStringValue(this, (("auction_" + t) + "_assetId"))
118- let B = k((((("auction_" + t) + "_bid_") + y) + "_author"))
119- let C = f((((("auction_" + t) + "_bid_") + y) + "_amount"))
120- if (if ((toString(r.caller) != B))
121+ let C = k((((("auction_" + t) + "_bid_") + z) + "_author"))
122+ let D = f((((("auction_" + t) + "_bid_") + z) + "_amount"))
123+ if (if ((toString(r.caller) != C))
121124 then (r.caller != this)
122125 else false)
123126 then throw("Only allowed to the bid author or admin")
124- else if ((k((((("auction_" + t) + "_bid_") + y) + "_status")) != "open"))
127+ else if ((k((((("auction_" + t) + "_bid_") + z) + "_status")) != "open"))
125128 then throw("bid is not open")
126- 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)]
129+ else [StringEntry((((("assetId_" + m) + "_bid_") + z) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(D)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("auction_" + t) + "_bid_") + z) + "_status"), "cancelled"), DeleteEntry(((((("address_" + C) + "_auction_") + t) + "_bid_") + z)), ScriptTransfer(Address(fromBase58String(C)), D, e)]
127130 }
128131
129132
130133
131134 @Callable(r)
132-func acceptBid (t,y) = {
133- let w = k((("auction_" + t) + "_owner"))
134- let B = k((((("auction_" + t) + "_bid_") + y) + "_author"))
135- let C = f((((("auction_" + t) + "_bid_") + y) + "_amount"))
136- let D = k((((("auction_" + t) + "_bid_") + y) + "_status"))
135+func acceptBid (t,z) = {
136+ let x = k((("auction_" + t) + "_owner"))
137+ let C = k((((("auction_" + t) + "_bid_") + z) + "_author"))
138+ let D = f((((("auction_" + t) + "_bid_") + z) + "_amount"))
139+ let E = k((((("auction_" + t) + "_bid_") + z) + "_status"))
137140 let m = k((("auction_" + t) + "_assetId"))
138- if ((toString(r.caller) != w))
141+ if ((toString(r.caller) != x))
139142 then throw("Only allowed to auction owner")
140- else if ((D != "open"))
143+ else if ((E != "open"))
141144 then throw("Bid was cancelled and cannot be accepted")
142145 else {
143- let E = f((m + "_recordPrice"))
144- let F = max([E, C])
146+ let F = f((m + "_recordPrice"))
147+ let G = max([F, D])
145148 let p = o(m)
146149 if ((p == ""))
147- 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))]
148- 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))]
150+ then [StringEntry((((("auction_" + t) + "_bid_") + z) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + z) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(D)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), D), IntegerEntry((m + "_recordPrice"), G), DeleteEntry(((((("address_" + C) + "_auction_") + t) + "_bid_") + z)), DeleteEntry((((("address_" + x) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(D, ((100 - c) - d), 100), e), ScriptTransfer(Address(b), fraction(D, d, 100), e), ScriptTransfer(Address(b), fraction(D, c, 100), e), ScriptTransfer(addressFromStringValue(C), 1, fromBase58String(m))]
151+ else [StringEntry((((("auction_" + t) + "_bid_") + z) + "_status"), "finished"), StringEntry((("auction_" + t) + "_status"), "finished"), StringEntry((((("assetId_" + m) + "_bid_") + z) + "_data"), (((((("{\"auctionId\": \"" + t) + "\", \"author\": \"") + toString(r.caller)) + "\", \"amount\": \"") + toString(D)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + t) + "_finalPrice"), D), IntegerEntry((m + "_recordPrice"), G), DeleteEntry(((((("address_" + C) + "_auction_") + t) + "_bid_") + z)), DeleteEntry((((("address_" + x) + "_auction_") + t) + "_lockedNFT")), ScriptTransfer(r.caller, fraction(D, ((100 - c) - d), 100), e), ScriptTransfer(Address(fromBase58String(p)), fraction(D, d, 100), e), ScriptTransfer(Address(b), fraction(D, c, 100), e), ScriptTransfer(addressFromStringValue(C), 1, fromBase58String(m))]
149152 }
150153 }
151154
152155
153-@Verifier(G)
154-func H () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey)
156+@Verifier(H)
157+func I () = sigVerify(H.bodyBytes, H.proofs[0], H.senderPublicKey)
155158

github/deemru/w8io/169f3d6 
115.16 ms