tx · 7VYauowJCP5uTGaiELVpCQzaEv9d9opqR1dx4rhENsfB

3MxbR7b3gHF4XdQKNTT5aQMRiazHvrVWC8N:  -0.02000000 Waves

2020.07.14 17:16 [1087110] smart account 3MxbR7b3gHF4XdQKNTT5aQMRiazHvrVWC8N > SELF 0.00000000 Waves

{ "type": 13, "id": "7VYauowJCP5uTGaiELVpCQzaEv9d9opqR1dx4rhENsfB", "fee": 2000000, "feeAssetId": null, "timestamp": 1594736219012, "version": 1, "sender": "3MxbR7b3gHF4XdQKNTT5aQMRiazHvrVWC8N", "senderPublicKey": "4bj7YXaphTC4Ldx7DqqMmrTjNshRtw1yNsej2XXZcAzS", "proofs": [ "3BQoDmS85UB9tVPVsssvPCtzcBiQWN39RZtiDALrHPzbGfaJrDcPRarR46zMuzF7AJcLG66oTh3tP7Gd2YF7egs9", "2ZgTkeaDn1aR9hxXoas9f58VbzbpE12SaqV97S2dasLRdh8JhMrk4ZcAe3QP9Qf9ZjWF2VFZSsK2RPPceMJcDVNf", "BhJU5Gu8VVdbxuF26JkGoVSPDwXEbmeRLPH3XsKgyFeMNJPCCrcXLEZzrqiMopt86C72vTdmcVgt2RbcAXWi56Q" ], "script": "base64:AAIDAAAAAAAAABYIARIDCgEBEgQKAgEIEgMKAQgSABIAAAAANwEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEHAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAAAAAAB1dBVkVMRVQAAAAAAAX14QAAAAAABVBBVUxJAAAAAAAAD0JAAAAAAAhQUklDRUxFVAAAAAAAAA9CQAAAAAANTUlOT1JERVJUT1RBTAkAAGgAAAACAAAAAAAAAAAKBQAAAAdXQVZFTEVUAAAAAAZNQVhST0kAAAAAAAAAAF8AAAAACENBTkNFTEVEAgAAAAhjYW5jZWxlZAAAAAADTkVXAgAAAANuZXcAAAAABkZJTExFRAIAAAAGZmlsbGVkAAAAAAhQcmljZUtleQIAAAAFcHJpY2UAAAAADkJvbmRBc3NldElkS2V5AgAAAA1ib25kX2Fzc2V0X2lkAAAAABJOZXV0cmlub0Fzc2V0SWRLZXkCAAAAEW5ldXRyaW5vX2Fzc2V0X2lkAAAAABFCYWxhbmNlTG9ja2Vka0tleQIAAAANYmFsYW5jZV9sb2NrXwAAAAAVV2F2ZXNMb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAV3YXZlcwAAAAAYTmV1dHJpbm9Mb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAhuZXV0cmlubwAAAAANRmlyc3RPcmRlcktleQIAAAALb3JkZXJfZmlyc3QBAAAAEmdldFJvaUJ5T3JkZXJJZEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAABBkZWJ1Z19vcmRlcl9yb2lfBQAAAAdvcmRlcklkAQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAADG9yZGVyX3ByaWNlXwUAAAAHb3JkZXJJZAEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAxvcmRlcl90b3RhbF8FAAAAB29yZGVySWQBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAMb3JkZXJfb3duZXJfBQAAAAdvcmRlcklkAQAAABFnZXRPcmRlckhlaWdodEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAA1vcmRlcl9oZWlnaHRfBQAAAAdvcmRlcklkAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAA1vcmRlcl9zdGF0dXNfBQAAAAdvcmRlcklkAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAAE29yZGVyX2ZpbGxlZF90b3RhbF8FAAAAB29yZGVySWQBAAAAD2dldFByZXZPcmRlcktleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAtvcmRlcl9wcmV2XwUAAAAHb3JkZXJJZAEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAAC29yZGVyX25leHRfBQAAAAdvcmRlcklkAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAABrAAAAAwkAAGsAAAADBQAAAAZhbW91bnQFAAAACFBSSUNFTEVUBQAAAAVwcmljZQUAAAAHV0FWRUxFVAUAAAAFUEFVTEkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACAAAABmFtb3VudAAAAAVwcmljZQkAAGsAAAADCQAAawAAAAMFAAAABmFtb3VudAUAAAAFcHJpY2UFAAAACFBSSUNFTEVUBQAAAAVQQVVMSQUAAAAHV0FWRUxFVAEAAAASY29udmVydFdhdmVzVG9Cb25kAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgUAAAAGYW1vdW50BQAAAAVwcmljZQEAAAASY29udmVydEJvbmRUb1dhdmVzAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgUAAAAGYW1vdW50BQAAAAVwcmljZQAAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHU7b6OlcTCIdohGSL8/NKL5nwWXL+YZyQAAAAAPY29udHJvbENvbnRyYWN0CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUno2OAJeUn0PSjRqULfZsUfTQiLeRVcFDAAAAABNsaXF1aWRhdGlvbkNvbnRyYWN0CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUrh+60NLfu2FBMSeZ0mudJuV2fLRxw6pzAAAAAA9uZXV0cmlub0Fzc2V0SWQBAAAAIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0AAAAAAtib25kQXNzZXRJZAEAAAAgmJo/x0eBXqqYBUsDVec3bkdYTgn3lisjb3dBcLTJiUgAAAAACWlzQmxvY2tlZAkBAAAAFmdldEJvb2xCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QCAAAACmlzX2Jsb2NrZWQAAAAADGN1cnJlbnRQcmljZQkBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAD2NvbnRyb2xDb250cmFjdAUAAAAIUHJpY2VLZXkAAAAAFW5ldXRyaW5vTG9ja2VkQmFsYW5jZQkBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAGE5ldXRyaW5vTG9ja2VkQmFsYW5jZUtleQAAAAAHcmVzZXJ2ZQkAAGUAAAACCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAFVdhdmVzTG9ja2VkQmFsYW5jZUtleQAAAAAObmV1dHJpbm9TdXBwbHkJAABlAAAAAgkAAGUAAAACCQAAZAAAAAIFAAAAFW5ldXRyaW5vTG9ja2VkQmFsYW5jZQgJAQAAAAdleHRyYWN0AAAAAQkAA+wAAAABBQAAAA9uZXV0cmlub0Fzc2V0SWQAAAAIcXVhbnRpdHkJAAPrAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAPbmV1dHJpbm9Bc3NldElkCQAD6wAAAAIFAAAAE2xpcXVpZGF0aW9uQ29udHJhY3QFAAAAD25ldXRyaW5vQXNzZXRJZAAAAAAHZGVmaWNpdAkAAGUAAAACBQAAAA5uZXV0cmlub1N1cHBseQkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACBQAAAAdyZXNlcnZlBQAAAAxjdXJyZW50UHJpY2UAAAAACmZpcnN0T3JkZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAADUZpcnN0T3JkZXJLZXkBAAAADWdldE9yZGVyUHJpY2UAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJQcmljZUtleQAAAAEFAAAAAmlkAQAAAA1nZXRPcmRlclRvdGFsAAAAAQAAAAJpZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABBQAAAAJpZAEAAAANZ2V0T3JkZXJPd25lcgAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABBnZXRPcmRlck93bmVyS2V5AAAAAQUAAAACaWQBAAAADmdldE9yZGVyU3RhdHVzAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAACaWQBAAAAE2dldE9yZGVyRmlsbGVkVG90YWwAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAWZ2V0T3JkZXJGaWxsZWRUb3RhbEtleQAAAAEFAAAAAmlkAQAAAAxnZXRQcmV2T3JkZXIAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAPZ2V0UHJldk9yZGVyS2V5AAAAAQUAAAACaWQBAAAADGdldE5leHRPcmRlcgAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA9nZXROZXh0T3JkZXJLZXkAAAABBQAAAAJpZAEAAAAJb3JkZXJEYXRhAAAABgAAAAdvcmRlcklkAAAADXRvdGFsV2F2ZWxldHMAAAAFb3duZXIAAAAGc3RhdHVzAAAAA3JvaQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAAdvcmRlcklkBQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABBQAAAAdvcmRlcklkBQAAAA10b3RhbFdhdmVsZXRzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQZ2V0T3JkZXJPd25lcktleQAAAAEFAAAAB29yZGVySWQFAAAABW93bmVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAARZ2V0T3JkZXJIZWlnaHRLZXkAAAABBQAAAAdvcmRlcklkBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAB29yZGVySWQFAAAABnN0YXR1cwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAABlkZWJ1Z19vcmRlcl9jdXJyZW50UHJpY2VfBQAAAAdvcmRlcklkBQAAAAxjdXJyZW50UHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABBQAAAAdvcmRlcklkBQAAAANyb2kFAAAAA25pbAEAAAAQaW50ZXJuYWxTZWxsQm9uZAAAAAkAAAANY3VycmVudE1heFJvaQAAAAtwRmlyc3RPcmRlcgAAAApwTmV4dE9yZGVyAAAADHBGaWxsZWRUb3RhbAAAAARwUm9pAAAABnBQcmljZQAAABBwUGF5bWVudFdhdmVsZXRzAAAAEW9yZGVyT3duZXJBZGRyZXNzAAAADGluc3RhbnRPcmRlcgQAAAAVcHJpY2VXYXZlc0J5Qm9uZENlbnRzCQAAawAAAAMJAABkAAAAAgAAAAAAAAAAZAUAAAAEcFJvaQUAAAAMY3VycmVudFByaWNlAAAAAAAAAABkBAAAAA1yZW1haW5lZFRvdGFsCQAAZQAAAAIFAAAAEHBQYXltZW50V2F2ZWxldHMFAAAADHBGaWxsZWRUb3RhbAQAAAATZmlsbGFibGVPcmRlckFtb3VudAkBAAAAEmNvbnZlcnRXYXZlc1RvQm9uZAAAAAIFAAAADXJlbWFpbmVkVG90YWwFAAAAFXByaWNlV2F2ZXNCeUJvbmRDZW50cwQAAAAbdG90YWxPcmRlcldhdmVsZXRlc1JlcXVpcmVkCQEAAAASY29udmVydEJvbmRUb1dhdmVzAAAAAgUAAAATZmlsbGFibGVPcmRlckFtb3VudAUAAAAVcHJpY2VXYXZlc0J5Qm9uZENlbnRzBAAAABVuYlRva2Vuc1NlbGxDb25kaXRpb24JAABnAAAAAgUAAAANY3VycmVudE1heFJvaQUAAAAEcFJvaQMJAQAAAAEhAAAAAQUAAAAVbmJUb2tlbnNTZWxsQ29uZGl0aW9uCQAAAgAAAAEJAAEsAAAAAgIAAAATaW5uYXByb3ByaWF0ZSByb2k6IAkAAaQAAAABBQAAAARwUm9pAwkAAAAAAAACBQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQAAAAAAAAAAAAJAAACAAAAAQIAAAAfY2Fubm90IGZpbGwgb3JkZXIgYXQgdGhlIG1vbWVudAQAAAAOY2hhbmdlV2F2ZWxldHMJAABlAAAAAgUAAAANcmVtYWluZWRUb3RhbAUAAAAbdG90YWxPcmRlcldhdmVsZXRlc1JlcXVpcmVkBAAAAAx3cml0ZVNldERhdGEDBQAAAAxpbnN0YW50T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAABnBQcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABBQAAAAtwRmlyc3RPcmRlcgUAAAAQcFBheW1lbnRXYXZlbGV0cwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABBQAAAAtwRmlyc3RPcmRlcgkAAlgAAAABCAUAAAARb3JkZXJPd25lckFkZHJlc3MAAAAFYnl0ZXMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRPcmRlckhlaWdodEtleQAAAAEFAAAAC3BGaXJzdE9yZGVyBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIJAABkAAAAAgUAAAAMcEZpbGxlZFRvdGFsBQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAC3BGaXJzdE9yZGVyBQAAAAZGSUxMRUQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAZZGVidWdfb3JkZXJfY3VycmVudFByaWNlXwUAAAALcEZpcnN0T3JkZXIFAAAADGN1cnJlbnRQcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEmdldFJvaUJ5T3JkZXJJZEtleQAAAAEFAAAAC3BGaXJzdE9yZGVyBQAAAARwUm9pBQAAAANuaWwJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIJAABkAAAAAgUAAAAMcEZpbGxlZFRvdGFsBQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAC3BGaXJzdE9yZGVyBQAAAAZGSUxMRUQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRPcmRlclRvdGFsS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAAEHBQYXltZW50V2F2ZWxldHMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAApwTmV4dE9yZGVyAgAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkFAAAACnBOZXh0T3JkZXIFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEFAAAADHdyaXRlU2V0RGF0YQkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABFvcmRlck93bmVyQWRkcmVzcwUAAAATZmlsbGFibGVPcmRlckFtb3VudAUAAAALYm9uZEFzc2V0SWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAbdG90YWxPcmRlcldhdmVsZXRlc1JlcXVpcmVkBQAAAAR1bml0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEW9yZGVyT3duZXJBZGRyZXNzBQAAAA5jaGFuZ2VXYXZlbGV0cwUAAAAEdW5pdAUAAAADbmlsAQAAABdpbnRlcm5hbEFkZEJ1eUJvbmRPcmRlcgAAAAYAAAANY3VycmVudE1heFJvaQAAAANyb2kAAAAFcHJpY2UAAAAJcHJldk9yZGVyAAAAA2ludgAAAAxpbnN0YW50T3JkZXIEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAADaW52AAAAB3BheW1lbnQEAAAACm5ld09yZGVySWQJAAJYAAAAAQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWWNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwkAAGYAAAACBQAAAA1NSU5PUkRFUlRPVEFMCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABCQABLAAAAAICAAAAF21pbiBvcmRlciB0b3RhbCBlcXVhbHMgCQABpAAAAAEFAAAADU1JTk9SREVSVE9UQUwDCQAAZgAAAAIFAAAAA3JvaQUAAAAGTUFYUk9JCQAAAgAAAAECAAAAF21heCBzZXRPcmRlciBST0kgaXMgOTUlAwMJAABmAAAAAgUAAAAHZGVmaWNpdAAAAAAAAAAAAAkAAGYAAAACAAAAAAAAAAAABQAAAANyb2kHCQAAAgAAAAECAAAAMmNhbid0IHBsYWNlIG9yZGVyIHdpdGggbmVnYXRpdmUgcm9pIGR1cmluZyBkZWZpY2l0AwkAAGYAAAACCQEAAAABLQAAAAEFAAAABk1BWFJPSQUAAAADcm9pCQAAAgAAAAECAAAAGG1pbiBzZXRPcmRlciBST0kgaXMgLTk1JQMJAAAAAAAAAgUAAAADcm9pAAAAAAAAAAAACQAAAgAAAAECAAAAHHJvaSBzaG91bGQgbm90IGJlIGVxdWFsIHRvIDADCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAEmNhbiB1c2Ugd2F2ZXMgb25seQMJAQAAAAIhPQAAAAIJAQAAAA1nZXRPcmRlck93bmVyAAAAAQUAAAAKbmV3T3JkZXJJZAIAAAAACQAAAgAAAAECAAAADG9yZGVyIGV4aXN0cwMDCQEAAAACIT0AAAACBQAAAAlwcmV2T3JkZXICAAAAAAkBAAAAAiE9AAAAAgkBAAAADmdldE9yZGVyU3RhdHVzAAAAAQUAAAAJcHJldk9yZGVyBQAAAANORVcHCQAAAgAAAAECAAAAHHByZXYgb3JkZXIgc3RhdHVzIGlzIG5vdCBuZXcEAAAAGWlzTmV3T3JkZXJBdEZpcnN0UG9zaXRpb24JAAAAAAAAAgUAAAAJcHJldk9yZGVyAgAAAAAEAAAABW93bmVyCQAEJQAAAAEIBQAAAANpbnYAAAAGY2FsbGVyBAAAAAluZXh0T3JkZXIDBQAAABlpc05ld09yZGVyQXRGaXJzdFBvc2l0aW9uBQAAAApmaXJzdE9yZGVyCQEAAAAMZ2V0TmV4dE9yZGVyAAAAAQUAAAAJcHJldk9yZGVyBAAAAAxuZXh0T3JkZXJSb2kJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABBQAAAAluZXh0T3JkZXIEAAAAEGlzTmV4dE9yZGVyRXJyb3IDAwkBAAAAAiE9AAAAAgUAAAAJbmV4dE9yZGVyAgAAAAAJAABnAAAAAgUAAAADcm9pBQAAAAxuZXh0T3JkZXJSb2kHBgcEAAAADHByZXZPcmRlclJvaQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEmdldFJvaUJ5T3JkZXJJZEtleQAAAAEFAAAACXByZXZPcmRlcgQAAAAQaXNQcmV2T3JkZXJFcnJvcgMDCQEAAAACIT0AAAACBQAAAAlwcmV2T3JkZXICAAAAAAkAAGYAAAACBQAAAAxwcmV2T3JkZXJSb2kFAAAAA3JvaQcGBwMDBQAAABBpc05leHRPcmRlckVycm9yBgUAAAAQaXNQcmV2T3JkZXJFcnJvcgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAB9pbnZhbGlkIG9yZGVyIGlzUHJldk9yZGVyRXJyb3I6CQABpQAAAAEFAAAAEGlzUHJldk9yZGVyRXJyb3ICAAAAEiBpc05leHRPcmRlckVycm9yOgkAAaUAAAABBQAAABBpc05leHRPcmRlckVycm9yAwMFAAAAGWlzTmV3T3JkZXJBdEZpcnN0UG9zaXRpb24JAABnAAAAAgUAAAANY3VycmVudE1heFJvaQUAAAADcm9pBwkBAAAAEGludGVybmFsU2VsbEJvbmQAAAAJBQAAAA1jdXJyZW50TWF4Um9pBQAAAApuZXdPcmRlcklkBQAAAAluZXh0T3JkZXIAAAAAAAAAAAAFAAAAA3JvaQUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CAUAAAADaW52AAAABmNhbGxlcgYDBQAAAAxpbnN0YW50T3JkZXIJAAACAAAAAQIAAAAySW5zdGFudCBvcmRlciBjb3VsZG4ndCBiZSBhZGRlZCBpbnRvIHdhaXRpbmcgcXVldWUJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAApuZXdPcmRlcklkBQAAAAlwcmV2T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXROZXh0T3JkZXJLZXkAAAABBQAAAApuZXdPcmRlcklkBQAAAAluZXh0T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXROZXh0T3JkZXJLZXkAAAABBQAAAAlwcmV2T3JkZXIDCQAAAAAAAAIFAAAACXByZXZPcmRlcgIAAAAAAgAAAAAFAAAACm5ld09yZGVySWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAAluZXh0T3JkZXIDCQAAAAAAAAIFAAAACW5leHRPcmRlcgIAAAAAAgAAAAAFAAAACm5ld09yZGVySWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkDAwkAAAAAAAACBQAAAApmaXJzdE9yZGVyAgAAAAAGCQAAAAAAAAIFAAAACmZpcnN0T3JkZXIFAAAACW5leHRPcmRlcgUAAAAKbmV3T3JkZXJJZAUAAAAKZmlyc3RPcmRlcgkBAAAACW9yZGVyRGF0YQAAAAYFAAAACm5ld09yZGVySWQIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVvd25lcgUAAAADTkVXBQAAAANyb2kFAAAABXByaWNlAAAABQAAAAFpAQAAABRpbnN0YW50QnV5TnNidE9yRmFpbAAAAAEAAAANbm9MZXNzVGhlblJvaQQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAADWN1cnJlbnRNYXhSb2kJAABrAAAAAwUAAAAHZGVmaWNpdAAAAAAAAAAAZAUAAAAObmV1dHJpbm9TdXBwbHkDCQAAZgAAAAIFAAAADW5vTGVzc1RoZW5Sb2kFAAAADWN1cnJlbnRNYXhSb2kJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPQ3VycmVudCBtYXhSb2k9CQABpAAAAAEFAAAADWN1cnJlbnRNYXhSb2kCAAAALSBpcyBsZXNzIHRoZW4gcGFzc2VkIHBhcmFtZXRlciBub0xlc3NUaGVuUm9pPQkAAaQAAAABBQAAAA1ub0xlc3NUaGVuUm9pBAAAABVwcmljZVdhdmVzQnlCb25kQ2VudHMJAABrAAAAAwkAAGQAAAACAAAAAAAAAABkBQAAAA1jdXJyZW50TWF4Um9pBQAAAAxjdXJyZW50UHJpY2UAAAAAAAAAAGQJAQAAABdpbnRlcm5hbEFkZEJ1eUJvbmRPcmRlcgAAAAYFAAAADWN1cnJlbnRNYXhSb2kFAAAADWN1cnJlbnRNYXhSb2kJAABpAAAAAgkAAGgAAAACBQAAAAhQUklDRUxFVAUAAAAIUFJJQ0VMRVQFAAAAFXByaWNlV2F2ZXNCeUJvbmRDZW50cwIAAAAABQAAAAFpBgAAAAFpAQAAAA9hZGRCdXlCb25kT3JkZXIAAAACAAAABXByaWNlAAAACXByZXZPcmRlcgQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAAFXByaWNlV2F2ZXNCeUJvbmRDZW50cwkAAGsAAAADBQAAAAhQUklDRUxFVAUAAAAIUFJJQ0VMRVQFAAAABXByaWNlAwkAAGcAAAACAAAAAAAAAAAABQAAAAVwcmljZQkAAAIAAAABAgAAAA9wcmljZSBsZXNzIHplcm8JAQAAABdpbnRlcm5hbEFkZEJ1eUJvbmRPcmRlcgAAAAYJAABrAAAAAwUAAAAHZGVmaWNpdAAAAAAAAAAAZAUAAAAObmV1dHJpbm9TdXBwbHkJAABrAAAAAwkAAGUAAAACBQAAABVwcmljZVdhdmVzQnlCb25kQ2VudHMFAAAADGN1cnJlbnRQcmljZQAAAAAAAAAAZAUAAAAMY3VycmVudFByaWNlBQAAAAVwcmljZQUAAAAJcHJldk9yZGVyBQAAAAFpBwAAAAFpAQAAAAtjYW5jZWxPcmRlcgAAAAEAAAAHb3JkZXJJZAQAAAAFb3duZXIJAQAAAA1nZXRPcmRlck93bmVyAAAAAQUAAAAHb3JkZXJJZAQAAAAGYW1vdW50CQAAZQAAAAIJAQAAAA1nZXRPcmRlclRvdGFsAAAAAQUAAAAHb3JkZXJJZAkBAAAAE2dldE9yZGVyRmlsbGVkVG90YWwAAAABBQAAAAdvcmRlcklkBAAAAAZjYWxsZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAluZXh0T3JkZXIJAQAAAAxnZXROZXh0T3JkZXIAAAABBQAAAAdvcmRlcklkBAAAAAlwcmV2T3JkZXIJAQAAAAxnZXRQcmV2T3JkZXIAAAABBQAAAAdvcmRlcklkAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWWNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwkBAAAAAiE9AAAAAgUAAAAFb3duZXIFAAAABmNhbGxlcgkAAAIAAAABAgAAABFwZXJtaXNzaW9uIGRlbmllZAMJAQAAAAIhPQAAAAIJAQAAAA5nZXRPcmRlclN0YXR1cwAAAAEFAAAAB29yZGVySWQFAAAAA05FVwkAAAIAAAABAgAAABRpbnZhbGlkIG9yZGVyIHN0YXR1cwkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkDCQAAAAAAAAIFAAAACmZpcnN0T3JkZXIFAAAAB29yZGVySWQFAAAACW5leHRPcmRlcgUAAAAKZmlyc3RPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dldE5leHRPcmRlcktleQAAAAEFAAAACXByZXZPcmRlcgUAAAAJbmV4dE9yZGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2V0UHJldk9yZGVyS2V5AAAAAQUAAAAJbmV4dE9yZGVyBQAAAAlwcmV2T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAB29yZGVySWQFAAAACENBTkNFTEVEBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAZhbW91bnQFAAAABHVuaXQFAAAAA25pbAAAAAFpAQAAAAhzZWxsQm9uZAAAAAADBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABZY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQAAAAAAAAIFAAAACmZpcnN0T3JkZXICAAAAAAkAAAIAAAABAgAAAA9lbXB0eSBvcmRlcmJvb2sEAAAACW5leHRPcmRlcgkBAAAADGdldE5leHRPcmRlcgAAAAEFAAAACmZpcnN0T3JkZXIEAAAAC2ZpbGxlZFRvdGFsCQEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEFAAAACmZpcnN0T3JkZXIEAAAACm9yZGVyUHJpY2UJAQAAAA1nZXRPcmRlclByaWNlAAAAAQUAAAAKZmlyc3RPcmRlcgQAAAADcm9pCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0Um9pQnlPcmRlcklkS2V5AAAAAQUAAAAKZmlyc3RPcmRlcgQAAAAPcGF5bWVudFdhdmVsZXRzCQEAAAANZ2V0T3JkZXJUb3RhbAAAAAEFAAAACmZpcnN0T3JkZXIEAAAAEW9yZGVyT3duZXJBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAADWdldE9yZGVyT3duZXIAAAABBQAAAApmaXJzdE9yZGVyCQEAAAAQaW50ZXJuYWxTZWxsQm9uZAAAAAkJAABrAAAAAwUAAAAHZGVmaWNpdAAAAAAAAAAAZAUAAAAObmV1dHJpbm9TdXBwbHkFAAAACmZpcnN0T3JkZXIFAAAACW5leHRPcmRlcgUAAAALZmlsbGVkVG90YWwFAAAAA3JvaQUAAAAKb3JkZXJQcmljZQUAAAAPcGF5bWVudFdhdmVsZXRzBQAAABFvcmRlck93bmVyQWRkcmVzcwcAAAABaQEAAAAfdXBkYXRlUmVzZXJ2ZXNBbmROZXV0cmlub1N1cHBseQAAAAAKAQAAABZnZXROdW1iZXJCeUtleUludGVybmFsAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAA2lkeAkBAAAAFmdldE51bWJlckJ5S2V5SW50ZXJuYWwAAAABAgAAACJ1cGRhdGVSZXNlcnZlc0FuZE5ldXRyaW5vU3VwcGx5SWR4BAAAAAZuZXdJZHgJAABkAAAAAgUAAAADaWR4AAAAAAAAAAABCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAACJ1cGRhdGVSZXNlcnZlc0FuZE5ldXRyaW5vU3VwcGx5SWR4BQAAAAZuZXdJZHgJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAB3Jlc2VydmUFAAAAB3Jlc2VydmUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADm5ldXRyaW5vU3VwcGx5BQAAAA5uZXV0cmlub1N1cHBseQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHZGVmaWNpdAUAAAAHZGVmaWNpdAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAQcHViS2V5QWRtaW5zTGlzdAkABEwAAAACAgAAACxHWHhtWmFDaWdQZ0pzVDZkMWNMcjhuVVhBNjVuR1g4VjdGdUF6enJZOHdRRQkABEwAAAACAgAAACwzeHVteDRoclBwZWVvbzc5SExHYlpDZ2Z6OTVMMzlaRmR4eHdXZVNVQzJQdQkABEwAAAACAgAAACxENENxdEs1ZkJzbnpSbzMzWk1ock03bmlMc2VESDJ1Um9LNndlQnEySlEzQQkABEwAAAACAgAAACw1V1JYRlNqd2NUYk5mS2NKczhacVhtU1NXWXNTVkpVdE12TXFaajVoSDROYwUAAAADbmlsBAAAAAVjb3VudAkAAGQAAAACCQAAZAAAAAIJAABkAAAAAgMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABCQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACCQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAgAAAAAAAAAAAQAAAAAAAAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAADCQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAwAAAAAAAAAAAgAAAAAAAAAAAAkAAGcAAAACBQAAAAVjb3VudAAAAAAAAAAAAzy1G4M=", "chainId": 84, "height": 1087110, "spentComplexity": 0 } View: original | compacted Prev: D6qSxj3CgoU1Zku54HMLTSRf82vQBNNEepWC8QUBFZ3D Next: 3dg2e9q1kfuTtvoZxLHncXAahiwd2MtFK1o1X8eTCAwv Diff:
OldNewDifferences
6060
6161 let k = 1000000
6262
63-let l = (10 * j)
63+let l = 1000000
6464
65-let m = 95
65+let m = (10 * j)
6666
67-let n = "canceled"
67+let n = 95
6868
69-let o = "new"
69+let o = "canceled"
7070
71-let p = "filled"
71+let p = "new"
7272
73-let q = "neutrino_contract"
73+let q = "filled"
7474
7575 let r = "price"
7676
7878
7979 let t = "neutrino_asset_id"
8080
81-let u = "control_contract"
81+let u = "balance_lock_"
8282
83-let v = "balance_lock_"
83+let v = (u + "waves")
8484
85-let w = (v + "waves")
85+let w = (u + "neutrino")
8686
87-let x = (v + "neutrino")
87+let x = "order_first"
8888
89-let y = "liquidation_contract"
90-
91-let z = "order_first"
92-
93-func A (B) = ("debug_order_roi_" + B)
89+func y (z) = ("debug_order_roi_" + z)
9490
9591
96-func C (B) = ("order_price_" + B)
92+func A (z) = ("order_price_" + z)
9793
9894
99-func D (B) = ("debug_order_currentPrice_" + B)
95+func B (z) = ("order_total_" + z)
10096
10197
102-func E (B) = ("order_total_" + B)
98+func C (z) = ("order_owner_" + z)
10399
104100
105-func F (B) = ("order_owner_" + B)
101+func D (z) = ("order_height_" + z)
106102
107103
108-func G (B) = ("order_height_" + B)
104+func E (z) = ("order_status_" + z)
109105
110106
111-func H (B) = ("order_status_" + B)
107+func F (z) = ("order_filled_total_" + z)
112108
113109
114-func I (B) = ("order_filled_total_" + B)
110+func G (z) = ("order_prev_" + z)
115111
116112
117-func J (B) = ("order_prev_" + B)
113+func H (z) = ("order_next_" + z)
118114
119115
120-func K (B) = ("order_next_" + B)
116+func I (J,K) = fraction(fraction(J, l, K), j, k)
121117
122118
123-func L (M,N) = fraction(fraction(M, 100, N), j, k)
119+func L (J,K) = fraction(fraction(J, K, l), k, j)
124120
125121
126-func O (M,N) = fraction(fraction(M, N, 100), k, j)
122+func M (J,K) = L(J, K)
127123
128124
129-func P (M,N) = O(M, N)
125+func N (J,K) = I(J, K)
130126
131127
132-func Q (M,N) = L(M, N)
128+let O = Address(base58'3Mzbx34Ex5rRbn39vUHx9kiwh3nneF8S5we')
129+
130+let P = Address(base58'3N4NS7d4Jo9a6F14LiFUKKYVdUkkf2eP4Zx')
131+
132+let Q = Address(base58'3N5nmMvMH8o3RPEyCKCaoWahBTYTexnZy62')
133+
134+let R = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
135+
136+let S = base58'BGhPYquXSK6UYjnPLEn94gFhetp4Jvf7toekEY4x1VDH'
137+
138+let T = f(P, "is_blocked")
139+
140+let U = i(P, r)
141+
142+let V = i(O, w)
143+
144+let W = (wavesBalance(O) - i(O, v))
145+
146+let X = (((V + extract(assetInfo(R)).quantity) - assetBalance(O, R)) - assetBalance(Q, R))
147+
148+let Y = (X - L(W, U))
149+
150+let Z = e(x)
151+
152+func aa (ab) = a(A(ab))
133153
134154
135-let R = Address(base58'3Mzbx34Ex5rRbn39vUHx9kiwh3nneF8S5we')
136-
137-let S = Address(base58'3N4NS7d4Jo9a6F14LiFUKKYVdUkkf2eP4Zx')
138-
139-let T = Address(base58'3N5nmMvMH8o3RPEyCKCaoWahBTYTexnZy62')
140-
141-let U = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
142-
143-let V = base58'BGhPYquXSK6UYjnPLEn94gFhetp4Jvf7toekEY4x1VDH'
144-
145-let W = f(S, "is_blocked")
146-
147-let X = i(S, r)
148-
149-let Y = i(R, x)
150-
151-let Z = (wavesBalance(R) - i(R, w))
152-
153-let aa = (((Y + extract(assetInfo(U)).quantity) - assetBalance(R, U)) - assetBalance(T, U))
154-
155-let ab = (aa - O(Z, X))
156-
157-let ac = e(z)
158-
159-func ad (ae) = a(C(ae))
155+func ac (ab) = a(B(ab))
160156
161157
162-func af (ae) = a(D(ae))
158+func ad (ab) = e(C(ab))
163159
164160
165-func ag (ae) = a(E(ae))
161+func ae (ab) = e(E(ab))
166162
167163
168-func ah (ae) = e(F(ae))
164+func af (ab) = a(F(ab))
169165
170166
171-func ai (ae) = e(H(ae))
167+func ag (ab) = e(G(ab))
172168
173169
174-func aj (ae) = a(I(ae))
170+func ah (ab) = e(H(ab))
175171
176172
177-func ak (ae) = e(J(ae))
173+func ai (z,aj,ak,al,am,K) = [DataEntry(A(z), K), DataEntry(B(z), aj), DataEntry(C(z), ak), DataEntry(D(z), height), DataEntry(E(z), al), DataEntry(("debug_order_currentPrice_" + z), U), DataEntry(y(z), am)]
178174
179175
180-func al (ae) = e(K(ae))
181-
182-
183-@Callable(am)
184-func migrateOrderPrice () = {
185- let an = "migration_6decimals_lastMigratedOrderId"
186- let ao = "migrated_to_6decimals"
187- let ap = e(an)
188- let aq = if ((ap == ""))
189- then ac
190- else al(ap)
191- let ar = ("migration_6decimals_status" + aq)
192- let as = e(ar)
193- if ((as == ao))
194- then throw("error: order has been already migrated")
195- else if ((aq == ""))
196- then throw("status ok: all orders have been already migrated or nothing to migrate")
197- else WriteSet([DataEntry(ar, ao), DataEntry(an, aq), DataEntry(C(aq), (ad(aq) * 10000)), DataEntry(D(aq), (af(aq) * 10000))])
176+func an (ao,ap,aq,ar,as,at,au,av,aw) = {
177+ let ax = fraction((100 + as), U, 100)
178+ let ay = (au - ar)
179+ let az = M(ay, ax)
180+ let aA = N(az, ax)
181+ let aB = (ao >= as)
182+ if (!(aB))
183+ then throw(("innapropriate roi: " + toString(as)))
184+ else if ((aA == 0))
185+ then throw("cannot fill order at the moment")
186+ else {
187+ let aC = (ay - aA)
188+ let aD = if (aw)
189+ then [DataEntry(A(ap), at), DataEntry(B(ap), au), DataEntry(C(ap), toBase58String(av.bytes)), DataEntry(D(ap), height), DataEntry(F(ap), (ar + aA)), DataEntry(E(ap), q), DataEntry(("debug_order_currentPrice_" + ap), U), DataEntry(y(ap), as)]
190+ else [DataEntry(F(ap), (ar + aA)), DataEntry(E(ap), q), DataEntry(B(ap), au), DataEntry(G(aq), ""), DataEntry(x, aq)]
191+ ScriptResult(WriteSet(aD), TransferSet([ScriptTransfer(av, az, S), ScriptTransfer(O, aA, unit), ScriptTransfer(av, aC, unit)]))
192+ }
198193 }
199194
200195
201-@Verifier(at)
202-func au () = {
203- let av = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
204- let aw = ((((if (sigVerify(at.bodyBytes, at.proofs[0], fromBase58String(av[0])))
196+func aE (ao,am,K,aF,aG,aw) = {
197+ let aH = extract(aG.payment)
198+ let aI = toBase58String(aG.transactionId)
199+ if (T)
200+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
201+ else if ((m > aH.amount))
202+ then throw(("min order total equals " + toString(m)))
203+ else if ((am > n))
204+ then throw("max setOrder ROI is 95%")
205+ else if (if ((Y > 0))
206+ then (0 > am)
207+ else false)
208+ then throw("can't place order with negative roi during deficit")
209+ else if ((-(n) > am))
210+ then throw("min setOrder ROI is -95%")
211+ else if ((am == 0))
212+ then throw("roi should not be equal to 0")
213+ else if (isDefined(aH.assetId))
214+ then throw("can use waves only")
215+ else if ((ad(aI) != ""))
216+ then throw("order exists")
217+ else if (if ((aF != ""))
218+ then (ae(aF) != p)
219+ else false)
220+ then throw("prev order status is not new")
221+ else {
222+ let aJ = (aF == "")
223+ let ak = toString(aG.caller)
224+ let aK = if (aJ)
225+ then Z
226+ else ah(aF)
227+ let aL = a(y(aK))
228+ let aM = if (if ((aK != ""))
229+ then (am >= aL)
230+ else false)
231+ then true
232+ else false
233+ let aN = a(y(aF))
234+ let aO = if (if ((aF != ""))
235+ then (aN > am)
236+ else false)
237+ then true
238+ else false
239+ if (if (aM)
240+ then true
241+ else aO)
242+ then throw(((("invalid order isPrevOrderError:" + toString(aO)) + " isNextOrderError:") + toString(aM)))
243+ else if (if (aJ)
244+ then (ao >= am)
245+ else false)
246+ then an(ao, aI, aK, 0, am, K, aH.amount, aG.caller, true)
247+ else if (aw)
248+ then throw("Instant order couldn't be added into waiting queue")
249+ else WriteSet([DataEntry(G(aI), aF), DataEntry(H(aI), aK), DataEntry(H(aF), if ((aF == ""))
250+ then ""
251+ else aI), DataEntry(G(aK), if ((aK == ""))
252+ then ""
253+ else aI), DataEntry(x, if (if ((Z == ""))
254+ then true
255+ else (Z == aK))
256+ then aI
257+ else Z), ai(aI, aH.amount, ak, p, am, K)])
258+ }
259+ }
260+
261+
262+@Callable(aP)
263+func instantBuyNsbtOrFail (aQ) = {
264+ let aH = extract(aP.payment)
265+ let ao = fraction(Y, 100, X)
266+ if ((aQ > ao))
267+ then throw(((("Current maxRoi=" + toString(ao)) + " is less then passed parameter noLessThenRoi=") + toString(aQ)))
268+ else {
269+ let ax = fraction((100 + ao), U, 100)
270+ aE(ao, ao, ((l * l) / ax), "", aP, true)
271+ }
272+ }
273+
274+
275+
276+@Callable(aP)
277+func addBuyBondOrder (K,aF) = {
278+ let aH = extract(aP.payment)
279+ let ax = fraction(l, l, K)
280+ if ((0 >= K))
281+ then throw("price less zero")
282+ else aE(fraction(Y, 100, X), fraction((ax - U), 100, U), K, aF, aP, false)
283+ }
284+
285+
286+
287+@Callable(aP)
288+func cancelOrder (z) = {
289+ let ak = ad(z)
290+ let J = (ac(z) - af(z))
291+ let aR = toString(aP.caller)
292+ let aK = ah(z)
293+ let aF = ag(z)
294+ if (T)
295+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
296+ else if ((ak != aR))
297+ then throw("permission denied")
298+ else if ((ae(z) != p))
299+ then throw("invalid order status")
300+ else ScriptResult(WriteSet([DataEntry(x, if ((Z == z))
301+ then aK
302+ else Z), DataEntry(H(aF), aK), DataEntry(G(aK), aF), DataEntry(E(z), o)]), TransferSet([ScriptTransfer(aP.caller, J, unit)]))
303+ }
304+
305+
306+
307+@Callable(aP)
308+func sellBond () = if (T)
309+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
310+ else if ((Z == ""))
311+ then throw("empty orderbook")
312+ else {
313+ let aK = ah(Z)
314+ let aS = af(Z)
315+ let aT = aa(Z)
316+ let am = a(y(Z))
317+ let aU = ac(Z)
318+ let av = Address(fromBase58String(ad(Z)))
319+ an(fraction(Y, 100, X), Z, aK, aS, am, aT, aU, av, false)
320+ }
321+
322+
323+
324+@Callable(aP)
325+func updateReservesAndNeutrinoSupply () = {
326+ func aV (b) = {
327+ let c = getInteger(this, b)
328+ if ($isInstanceOf(c, "Int"))
329+ then {
330+ let d = c
331+ d
332+ }
333+ else 0
334+ }
335+
336+ let aW = aV("updateReservesAndNeutrinoSupplyIdx")
337+ let aX = (aW + 1)
338+ WriteSet([DataEntry("updateReservesAndNeutrinoSupplyIdx", aX), DataEntry("reserve", W), DataEntry("neutrinoSupply", X), DataEntry("deficit", Y)])
339+ }
340+
341+
342+@Verifier(aY)
343+func aZ () = {
344+ let ba = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
345+ let bb = ((((if (sigVerify(aY.bodyBytes, aY.proofs[0], fromBase58String(ba[0])))
205346 then 1
206- else 0) + (if (sigVerify(at.bodyBytes, at.proofs[1], fromBase58String(av[1])))
347+ else 0) + (if (sigVerify(aY.bodyBytes, aY.proofs[1], fromBase58String(ba[1])))
207348 then 1
208- else 0)) + (if (sigVerify(at.bodyBytes, at.proofs[2], fromBase58String(av[2])))
349+ else 0)) + (if (sigVerify(aY.bodyBytes, aY.proofs[2], fromBase58String(ba[2])))
209350 then 1
210- else 0)) + (if (sigVerify(at.bodyBytes, at.proofs[3], fromBase58String(av[3])))
351+ else 0)) + (if (sigVerify(aY.bodyBytes, aY.proofs[3], fromBase58String(ba[3])))
211352 then 2
212353 else 0))
213- (aw >= 3)
354+ (bb >= 3)
214355 }
215356
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = {
55 let c = getInteger(this, b)
66 if ($isInstanceOf(c, "Int"))
77 then {
88 let d = c
99 d
1010 }
1111 else 0
1212 }
1313
1414
1515 func e (b) = {
1616 let c = getString(this, b)
1717 if ($isInstanceOf(c, "String"))
1818 then {
1919 let d = c
2020 d
2121 }
2222 else ""
2323 }
2424
2525
2626 func f (g,b) = {
2727 let c = getBoolean(g, b)
2828 if ($isInstanceOf(c, "Boolean"))
2929 then {
3030 let d = c
3131 d
3232 }
3333 else false
3434 }
3535
3636
3737 func h (g,b) = {
3838 let c = getString(g, b)
3939 if ($isInstanceOf(c, "String"))
4040 then {
4141 let d = c
4242 d
4343 }
4444 else ""
4545 }
4646
4747
4848 func i (g,b) = {
4949 let c = getInteger(g, b)
5050 if ($isInstanceOf(c, "Int"))
5151 then {
5252 let d = c
5353 d
5454 }
5555 else 0
5656 }
5757
5858
5959 let j = 100000000
6060
6161 let k = 1000000
6262
63-let l = (10 * j)
63+let l = 1000000
6464
65-let m = 95
65+let m = (10 * j)
6666
67-let n = "canceled"
67+let n = 95
6868
69-let o = "new"
69+let o = "canceled"
7070
71-let p = "filled"
71+let p = "new"
7272
73-let q = "neutrino_contract"
73+let q = "filled"
7474
7575 let r = "price"
7676
7777 let s = "bond_asset_id"
7878
7979 let t = "neutrino_asset_id"
8080
81-let u = "control_contract"
81+let u = "balance_lock_"
8282
83-let v = "balance_lock_"
83+let v = (u + "waves")
8484
85-let w = (v + "waves")
85+let w = (u + "neutrino")
8686
87-let x = (v + "neutrino")
87+let x = "order_first"
8888
89-let y = "liquidation_contract"
90-
91-let z = "order_first"
92-
93-func A (B) = ("debug_order_roi_" + B)
89+func y (z) = ("debug_order_roi_" + z)
9490
9591
96-func C (B) = ("order_price_" + B)
92+func A (z) = ("order_price_" + z)
9793
9894
99-func D (B) = ("debug_order_currentPrice_" + B)
95+func B (z) = ("order_total_" + z)
10096
10197
102-func E (B) = ("order_total_" + B)
98+func C (z) = ("order_owner_" + z)
10399
104100
105-func F (B) = ("order_owner_" + B)
101+func D (z) = ("order_height_" + z)
106102
107103
108-func G (B) = ("order_height_" + B)
104+func E (z) = ("order_status_" + z)
109105
110106
111-func H (B) = ("order_status_" + B)
107+func F (z) = ("order_filled_total_" + z)
112108
113109
114-func I (B) = ("order_filled_total_" + B)
110+func G (z) = ("order_prev_" + z)
115111
116112
117-func J (B) = ("order_prev_" + B)
113+func H (z) = ("order_next_" + z)
118114
119115
120-func K (B) = ("order_next_" + B)
116+func I (J,K) = fraction(fraction(J, l, K), j, k)
121117
122118
123-func L (M,N) = fraction(fraction(M, 100, N), j, k)
119+func L (J,K) = fraction(fraction(J, K, l), k, j)
124120
125121
126-func O (M,N) = fraction(fraction(M, N, 100), k, j)
122+func M (J,K) = L(J, K)
127123
128124
129-func P (M,N) = O(M, N)
125+func N (J,K) = I(J, K)
130126
131127
132-func Q (M,N) = L(M, N)
128+let O = Address(base58'3Mzbx34Ex5rRbn39vUHx9kiwh3nneF8S5we')
129+
130+let P = Address(base58'3N4NS7d4Jo9a6F14LiFUKKYVdUkkf2eP4Zx')
131+
132+let Q = Address(base58'3N5nmMvMH8o3RPEyCKCaoWahBTYTexnZy62')
133+
134+let R = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
135+
136+let S = base58'BGhPYquXSK6UYjnPLEn94gFhetp4Jvf7toekEY4x1VDH'
137+
138+let T = f(P, "is_blocked")
139+
140+let U = i(P, r)
141+
142+let V = i(O, w)
143+
144+let W = (wavesBalance(O) - i(O, v))
145+
146+let X = (((V + extract(assetInfo(R)).quantity) - assetBalance(O, R)) - assetBalance(Q, R))
147+
148+let Y = (X - L(W, U))
149+
150+let Z = e(x)
151+
152+func aa (ab) = a(A(ab))
133153
134154
135-let R = Address(base58'3Mzbx34Ex5rRbn39vUHx9kiwh3nneF8S5we')
136-
137-let S = Address(base58'3N4NS7d4Jo9a6F14LiFUKKYVdUkkf2eP4Zx')
138-
139-let T = Address(base58'3N5nmMvMH8o3RPEyCKCaoWahBTYTexnZy62')
140-
141-let U = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
142-
143-let V = base58'BGhPYquXSK6UYjnPLEn94gFhetp4Jvf7toekEY4x1VDH'
144-
145-let W = f(S, "is_blocked")
146-
147-let X = i(S, r)
148-
149-let Y = i(R, x)
150-
151-let Z = (wavesBalance(R) - i(R, w))
152-
153-let aa = (((Y + extract(assetInfo(U)).quantity) - assetBalance(R, U)) - assetBalance(T, U))
154-
155-let ab = (aa - O(Z, X))
156-
157-let ac = e(z)
158-
159-func ad (ae) = a(C(ae))
155+func ac (ab) = a(B(ab))
160156
161157
162-func af (ae) = a(D(ae))
158+func ad (ab) = e(C(ab))
163159
164160
165-func ag (ae) = a(E(ae))
161+func ae (ab) = e(E(ab))
166162
167163
168-func ah (ae) = e(F(ae))
164+func af (ab) = a(F(ab))
169165
170166
171-func ai (ae) = e(H(ae))
167+func ag (ab) = e(G(ab))
172168
173169
174-func aj (ae) = a(I(ae))
170+func ah (ab) = e(H(ab))
175171
176172
177-func ak (ae) = e(J(ae))
173+func ai (z,aj,ak,al,am,K) = [DataEntry(A(z), K), DataEntry(B(z), aj), DataEntry(C(z), ak), DataEntry(D(z), height), DataEntry(E(z), al), DataEntry(("debug_order_currentPrice_" + z), U), DataEntry(y(z), am)]
178174
179175
180-func al (ae) = e(K(ae))
181-
182-
183-@Callable(am)
184-func migrateOrderPrice () = {
185- let an = "migration_6decimals_lastMigratedOrderId"
186- let ao = "migrated_to_6decimals"
187- let ap = e(an)
188- let aq = if ((ap == ""))
189- then ac
190- else al(ap)
191- let ar = ("migration_6decimals_status" + aq)
192- let as = e(ar)
193- if ((as == ao))
194- then throw("error: order has been already migrated")
195- else if ((aq == ""))
196- then throw("status ok: all orders have been already migrated or nothing to migrate")
197- else WriteSet([DataEntry(ar, ao), DataEntry(an, aq), DataEntry(C(aq), (ad(aq) * 10000)), DataEntry(D(aq), (af(aq) * 10000))])
176+func an (ao,ap,aq,ar,as,at,au,av,aw) = {
177+ let ax = fraction((100 + as), U, 100)
178+ let ay = (au - ar)
179+ let az = M(ay, ax)
180+ let aA = N(az, ax)
181+ let aB = (ao >= as)
182+ if (!(aB))
183+ then throw(("innapropriate roi: " + toString(as)))
184+ else if ((aA == 0))
185+ then throw("cannot fill order at the moment")
186+ else {
187+ let aC = (ay - aA)
188+ let aD = if (aw)
189+ then [DataEntry(A(ap), at), DataEntry(B(ap), au), DataEntry(C(ap), toBase58String(av.bytes)), DataEntry(D(ap), height), DataEntry(F(ap), (ar + aA)), DataEntry(E(ap), q), DataEntry(("debug_order_currentPrice_" + ap), U), DataEntry(y(ap), as)]
190+ else [DataEntry(F(ap), (ar + aA)), DataEntry(E(ap), q), DataEntry(B(ap), au), DataEntry(G(aq), ""), DataEntry(x, aq)]
191+ ScriptResult(WriteSet(aD), TransferSet([ScriptTransfer(av, az, S), ScriptTransfer(O, aA, unit), ScriptTransfer(av, aC, unit)]))
192+ }
198193 }
199194
200195
201-@Verifier(at)
202-func au () = {
203- let av = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
204- let aw = ((((if (sigVerify(at.bodyBytes, at.proofs[0], fromBase58String(av[0])))
196+func aE (ao,am,K,aF,aG,aw) = {
197+ let aH = extract(aG.payment)
198+ let aI = toBase58String(aG.transactionId)
199+ if (T)
200+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
201+ else if ((m > aH.amount))
202+ then throw(("min order total equals " + toString(m)))
203+ else if ((am > n))
204+ then throw("max setOrder ROI is 95%")
205+ else if (if ((Y > 0))
206+ then (0 > am)
207+ else false)
208+ then throw("can't place order with negative roi during deficit")
209+ else if ((-(n) > am))
210+ then throw("min setOrder ROI is -95%")
211+ else if ((am == 0))
212+ then throw("roi should not be equal to 0")
213+ else if (isDefined(aH.assetId))
214+ then throw("can use waves only")
215+ else if ((ad(aI) != ""))
216+ then throw("order exists")
217+ else if (if ((aF != ""))
218+ then (ae(aF) != p)
219+ else false)
220+ then throw("prev order status is not new")
221+ else {
222+ let aJ = (aF == "")
223+ let ak = toString(aG.caller)
224+ let aK = if (aJ)
225+ then Z
226+ else ah(aF)
227+ let aL = a(y(aK))
228+ let aM = if (if ((aK != ""))
229+ then (am >= aL)
230+ else false)
231+ then true
232+ else false
233+ let aN = a(y(aF))
234+ let aO = if (if ((aF != ""))
235+ then (aN > am)
236+ else false)
237+ then true
238+ else false
239+ if (if (aM)
240+ then true
241+ else aO)
242+ then throw(((("invalid order isPrevOrderError:" + toString(aO)) + " isNextOrderError:") + toString(aM)))
243+ else if (if (aJ)
244+ then (ao >= am)
245+ else false)
246+ then an(ao, aI, aK, 0, am, K, aH.amount, aG.caller, true)
247+ else if (aw)
248+ then throw("Instant order couldn't be added into waiting queue")
249+ else WriteSet([DataEntry(G(aI), aF), DataEntry(H(aI), aK), DataEntry(H(aF), if ((aF == ""))
250+ then ""
251+ else aI), DataEntry(G(aK), if ((aK == ""))
252+ then ""
253+ else aI), DataEntry(x, if (if ((Z == ""))
254+ then true
255+ else (Z == aK))
256+ then aI
257+ else Z), ai(aI, aH.amount, ak, p, am, K)])
258+ }
259+ }
260+
261+
262+@Callable(aP)
263+func instantBuyNsbtOrFail (aQ) = {
264+ let aH = extract(aP.payment)
265+ let ao = fraction(Y, 100, X)
266+ if ((aQ > ao))
267+ then throw(((("Current maxRoi=" + toString(ao)) + " is less then passed parameter noLessThenRoi=") + toString(aQ)))
268+ else {
269+ let ax = fraction((100 + ao), U, 100)
270+ aE(ao, ao, ((l * l) / ax), "", aP, true)
271+ }
272+ }
273+
274+
275+
276+@Callable(aP)
277+func addBuyBondOrder (K,aF) = {
278+ let aH = extract(aP.payment)
279+ let ax = fraction(l, l, K)
280+ if ((0 >= K))
281+ then throw("price less zero")
282+ else aE(fraction(Y, 100, X), fraction((ax - U), 100, U), K, aF, aP, false)
283+ }
284+
285+
286+
287+@Callable(aP)
288+func cancelOrder (z) = {
289+ let ak = ad(z)
290+ let J = (ac(z) - af(z))
291+ let aR = toString(aP.caller)
292+ let aK = ah(z)
293+ let aF = ag(z)
294+ if (T)
295+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
296+ else if ((ak != aR))
297+ then throw("permission denied")
298+ else if ((ae(z) != p))
299+ then throw("invalid order status")
300+ else ScriptResult(WriteSet([DataEntry(x, if ((Z == z))
301+ then aK
302+ else Z), DataEntry(H(aF), aK), DataEntry(G(aK), aF), DataEntry(E(z), o)]), TransferSet([ScriptTransfer(aP.caller, J, unit)]))
303+ }
304+
305+
306+
307+@Callable(aP)
308+func sellBond () = if (T)
309+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
310+ else if ((Z == ""))
311+ then throw("empty orderbook")
312+ else {
313+ let aK = ah(Z)
314+ let aS = af(Z)
315+ let aT = aa(Z)
316+ let am = a(y(Z))
317+ let aU = ac(Z)
318+ let av = Address(fromBase58String(ad(Z)))
319+ an(fraction(Y, 100, X), Z, aK, aS, am, aT, aU, av, false)
320+ }
321+
322+
323+
324+@Callable(aP)
325+func updateReservesAndNeutrinoSupply () = {
326+ func aV (b) = {
327+ let c = getInteger(this, b)
328+ if ($isInstanceOf(c, "Int"))
329+ then {
330+ let d = c
331+ d
332+ }
333+ else 0
334+ }
335+
336+ let aW = aV("updateReservesAndNeutrinoSupplyIdx")
337+ let aX = (aW + 1)
338+ WriteSet([DataEntry("updateReservesAndNeutrinoSupplyIdx", aX), DataEntry("reserve", W), DataEntry("neutrinoSupply", X), DataEntry("deficit", Y)])
339+ }
340+
341+
342+@Verifier(aY)
343+func aZ () = {
344+ let ba = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
345+ let bb = ((((if (sigVerify(aY.bodyBytes, aY.proofs[0], fromBase58String(ba[0])))
205346 then 1
206- else 0) + (if (sigVerify(at.bodyBytes, at.proofs[1], fromBase58String(av[1])))
347+ else 0) + (if (sigVerify(aY.bodyBytes, aY.proofs[1], fromBase58String(ba[1])))
207348 then 1
208- else 0)) + (if (sigVerify(at.bodyBytes, at.proofs[2], fromBase58String(av[2])))
349+ else 0)) + (if (sigVerify(aY.bodyBytes, aY.proofs[2], fromBase58String(ba[2])))
209350 then 1
210- else 0)) + (if (sigVerify(at.bodyBytes, at.proofs[3], fromBase58String(av[3])))
351+ else 0)) + (if (sigVerify(aY.bodyBytes, aY.proofs[3], fromBase58String(ba[3])))
211352 then 2
212353 else 0))
213- (aw >= 3)
354+ (bb >= 3)
214355 }
215356

github/deemru/w8io/169f3d6 
82.68 ms