tx · BcDQHzgX3H46jVsu4qEZaxa9oWqHHEtndqNh3LiXG8MH

3MpABcPJLQiG9Yxzk3ZV8e2nEbRe1gZHbZe:  -0.02000000 Waves

2020.06.17 16:16 [1047586] smart account 3MpABcPJLQiG9Yxzk3ZV8e2nEbRe1gZHbZe > SELF 0.00000000 Waves

{ "type": 13, "id": "BcDQHzgX3H46jVsu4qEZaxa9oWqHHEtndqNh3LiXG8MH", "fee": 2000000, "feeAssetId": null, "timestamp": 1592399919238, "version": 1, "sender": "3MpABcPJLQiG9Yxzk3ZV8e2nEbRe1gZHbZe", "senderPublicKey": "AixLFScfYY3rkC6MkFBBW8xXM1a6q3i79CUrcgykP4V3", "proofs": [ "4M1iMpLCpt5hPeu6vz2dU7sxENEkydQp7i2aZaYg8BX1RvDXGpqjJ5hPXfoFFGY3Bnd6huWfutFr2MCLkHR4TT5w", "22xYJKzs6Lp6rg96gGxPPHWqk7nYUbaeA4UQWPDJYJWSMzxMh8TGErx9p9ZcfxftGTi52649RWQV44Bb42pggRm3", "jj7uvmsn58VNXi2e7vbcEHQTw53RTcLF5xKWUMWUiMZnkcnpJ58bJGc895M8Y6o9PEfEVJmxaMQgV2gSTY7LtrH" ], "script": "base64:AAIDAAAAAAAAABYIARIDCgEBEgQKAgEIEgMKAQgSABIAAAAAOgEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEHAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAAAAAAB1dBVkVMRVQAAAAAAAX14QAAAAAABVBBVUxJAAAAAAAAD0JAAAAAAAhQUklDRUxFVAAAAAAAAA9CQAAAAAANTUlOT1JERVJUT1RBTAkAAGgAAAACAAAAAAAAAAAKBQAAAAdXQVZFTEVUAAAAAAZNQVhST0kAAAAAAAAAAF8AAAAACENBTkNFTEVEAgAAAAhjYW5jZWxlZAAAAAADTkVXAgAAAANuZXcAAAAABkZJTExFRAIAAAAGZmlsbGVkAAAAABNOZXV0cmlub0NvbnRyYWN0S2V5AgAAABFuZXV0cmlub19jb250cmFjdAAAAAAIUHJpY2VLZXkCAAAABXByaWNlAAAAAA5Cb25kQXNzZXRJZEtleQIAAAANYm9uZF9hc3NldF9pZAAAAAASTmV1dHJpbm9Bc3NldElkS2V5AgAAABFuZXV0cmlub19hc3NldF9pZAAAAAASQ29udHJvbENvbnRyYWN0S2V5AgAAABBjb250cm9sX2NvbnRyYWN0AAAAABFCYWxhbmNlTG9ja2Vka0tleQIAAAANYmFsYW5jZV9sb2NrXwAAAAAVV2F2ZXNMb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAV3YXZlcwAAAAAYTmV1dHJpbm9Mb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAhuZXV0cmlubwAAAAAWTGlxdWlkYXRpb25Db250cmFjdEtleQIAAAAUbGlxdWlkYXRpb25fY29udHJhY3QAAAAADUZpcnN0T3JkZXJLZXkCAAAAC29yZGVyX2ZpcnN0AQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAQZGVidWdfb3JkZXJfcm9pXwUAAAAHb3JkZXJJZAEAAAAQZ2V0T3JkZXJQcmljZUtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAxvcmRlcl9wcmljZV8FAAAAB29yZGVySWQBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAMb3JkZXJfdG90YWxfBQAAAAdvcmRlcklkAQAAABBnZXRPcmRlck93bmVyS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAADG9yZGVyX293bmVyXwUAAAAHb3JkZXJJZAEAAAARZ2V0T3JkZXJIZWlnaHRLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAANb3JkZXJfaGVpZ2h0XwUAAAAHb3JkZXJJZAEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAANb3JkZXJfc3RhdHVzXwUAAAAHb3JkZXJJZAEAAAAWZ2V0T3JkZXJGaWxsZWRUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAABNvcmRlcl9maWxsZWRfdG90YWxfBQAAAAdvcmRlcklkAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAALb3JkZXJfcHJldl8FAAAAB29yZGVySWQBAAAAD2dldE5leHRPcmRlcktleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAtvcmRlcl9uZXh0XwUAAAAHb3JkZXJJZAEAAAAWY29udmVydE5ldXRyaW5vVG9XYXZlcwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQAAawAAAAMJAABrAAAAAwUAAAAGYW1vdW50BQAAAAhQUklDRUxFVAUAAAAFcHJpY2UFAAAAB1dBVkVMRVQFAAAABVBBVUxJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAABrAAAAAwkAAGsAAAADBQAAAAZhbW91bnQFAAAABXByaWNlBQAAAAhQUklDRUxFVAUAAAAFUEFVTEkFAAAAB1dBVkVMRVQBAAAAEmNvbnZlcnRXYXZlc1RvQm9uZAAAAAIAAAAGYW1vdW50AAAABXByaWNlCQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAABmFtb3VudAUAAAAFcHJpY2UBAAAAEmNvbnZlcnRCb25kVG9XYXZlcwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQEAAAAWY29udmVydE5ldXRyaW5vVG9XYXZlcwAAAAIFAAAABmFtb3VudAUAAAAFcHJpY2UAAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVRd6WgnuKiTD3MvecPQSqmMoFYH4YxA2UwAAAAAD2NvbnRyb2xDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHd8mw1x96/NH/LB3/xPiuie+mNXAtxD+AAAAAATbGlxdWlkYXRpb25Db250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVH5rmjazLNShujK2rL9hgVnGxXROJ9RIkgAAAAAPbmV1dHJpbm9Bc3NldElkAQAAACDFV34hsakKgqH6Rs6hDFMTPGwGAdO1UWh8YxHIFkjp3wAAAAALYm9uZEFzc2V0SWQBAAAAIHb4XnbUP1bzlE4BgaOenn6BgBTQ/WsLMlDY68c8F5hNAAAAAAlpc0Jsb2NrZWQJAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0AgAAAAppc19ibG9ja2VkAAAAAAxjdXJyZW50UHJpY2UJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QFAAAACFByaWNlS2V5AAAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAABhOZXV0cmlub0xvY2tlZEJhbGFuY2VLZXkAAAAAB3Jlc2VydmUJAABlAAAAAgkBAAAADHdhdmVzQmFsYW5jZQAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAABVXYXZlc0xvY2tlZEJhbGFuY2VLZXkAAAAADm5ldXRyaW5vU3VwcGx5CQAAZQAAAAIJAABlAAAAAgkAAGQAAAACBQAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UICQEAAAAHZXh0cmFjdAAAAAEJAAPsAAAAAQUAAAAPbmV1dHJpbm9Bc3NldElkAAAACHF1YW50aXR5CQAD6wAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAD25ldXRyaW5vQXNzZXRJZAkAA+sAAAACBQAAABNsaXF1aWRhdGlvbkNvbnRyYWN0BQAAAA9uZXV0cmlub0Fzc2V0SWQAAAAAB2RlZmljaXQJAABlAAAAAgUAAAAObmV1dHJpbm9TdXBwbHkJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgUAAAAHcmVzZXJ2ZQUAAAAMY3VycmVudFByaWNlAAAAAApmaXJzdE9yZGVyCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAAA1GaXJzdE9yZGVyS2V5AQAAAA1nZXRPcmRlclByaWNlAAAAAQAAAAJpZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAAJpZAEAAAANZ2V0T3JkZXJUb3RhbAAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABBnZXRPcmRlclRvdGFsS2V5AAAAAQUAAAACaWQBAAAADWdldE9yZGVyT3duZXIAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJPd25lcktleQAAAAEFAAAAAmlkAQAAAA5nZXRPcmRlclN0YXR1cwAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAAmlkAQAAABNnZXRPcmRlckZpbGxlZFRvdGFsAAAAAQAAAAJpZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFmdldE9yZGVyRmlsbGVkVG90YWxLZXkAAAABBQAAAAJpZAEAAAAMZ2V0UHJldk9yZGVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAAAmlkAQAAAAxnZXROZXh0T3JkZXIAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQUAAAACaWQBAAAACW9yZGVyRGF0YQAAAAYAAAAHb3JkZXJJZAAAAA10b3RhbFdhdmVsZXRzAAAABW93bmVyAAAABnN0YXR1cwAAAANyb2kAAAAFcHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAFcHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRPcmRlclRvdGFsS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAANdG90YWxXYXZlbGV0cwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABBQAAAAdvcmRlcklkBQAAAAVvd25lcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVySGVpZ2h0S2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABBQAAAAdvcmRlcklkBQAAAAZzdGF0dXMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAZZGVidWdfb3JkZXJfY3VycmVudFByaWNlXwUAAAAHb3JkZXJJZAUAAAAMY3VycmVudFByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0Um9pQnlPcmRlcklkS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAADcm9pBQAAAANuaWwBAAAAEGludGVybmFsU2VsbEJvbmQAAAAIAAAAC3BGaXJzdE9yZGVyAAAACnBOZXh0T3JkZXIAAAAMcEZpbGxlZFRvdGFsAAAABHBSb2kAAAAGcFByaWNlAAAAEHBQYXltZW50V2F2ZWxldHMAAAARb3JkZXJPd25lckFkZHJlc3MAAAAMaW5zdGFudE9yZGVyBAAAABVwcmljZVdhdmVzQnlCb25kQ2VudHMJAABrAAAAAwkAAGQAAAACAAAAAAAAAABkBQAAAARwUm9pBQAAAAxjdXJyZW50UHJpY2UAAAAAAAAAAGQEAAAADXJlbWFpbmVkVG90YWwJAABlAAAAAgUAAAAQcFBheW1lbnRXYXZlbGV0cwUAAAAMcEZpbGxlZFRvdGFsBAAAABNmaWxsYWJsZU9yZGVyQW1vdW50CQEAAAASY29udmVydFdhdmVzVG9Cb25kAAAAAgUAAAANcmVtYWluZWRUb3RhbAUAAAAVcHJpY2VXYXZlc0J5Qm9uZENlbnRzBAAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQJAQAAABJjb252ZXJ0Qm9uZFRvV2F2ZXMAAAACBQAAABNmaWxsYWJsZU9yZGVyQW1vdW50BQAAABVwcmljZVdhdmVzQnlCb25kQ2VudHMEAAAAFW5iVG9rZW5zU2VsbENvbmRpdGlvbgkAAGcAAAACCQAAawAAAAMFAAAAB2RlZmljaXQAAAAAAAAAAGQFAAAADm5ldXRyaW5vU3VwcGx5BQAAAARwUm9pAwkBAAAAASEAAAABBQAAABVuYlRva2Vuc1NlbGxDb25kaXRpb24JAAACAAAAAQkAASwAAAACAgAAABNpbm5hcHJvcHJpYXRlIHJvaTogCQABpAAAAAEFAAAABHBSb2kDCQAAAAAAAAIFAAAAG3RvdGFsT3JkZXJXYXZlbGV0ZXNSZXF1aXJlZAAAAAAAAAAAAAkAAAIAAAABAgAAAB9jYW5ub3QgZmlsbCBvcmRlciBhdCB0aGUgbW9tZW50BAAAAA5jaGFuZ2VXYXZlbGV0cwkAAGUAAAACBQAAAA1yZW1haW5lZFRvdGFsBQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQEAAAADHdyaXRlU2V0RGF0YQMFAAAADGluc3RhbnRPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAAtwRmlyc3RPcmRlcgUAAAAGcFByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEFAAAAC3BGaXJzdE9yZGVyBQAAABBwUGF5bWVudFdhdmVsZXRzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQZ2V0T3JkZXJPd25lcktleQAAAAEFAAAAC3BGaXJzdE9yZGVyCQACWAAAAAEIBQAAABFvcmRlck93bmVyQWRkcmVzcwAAAAVieXRlcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVySGVpZ2h0S2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAABmhlaWdodAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAABkZJTExFRAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAABlkZWJ1Z19vcmRlcl9jdXJyZW50UHJpY2VfBQAAAAtwRmlyc3RPcmRlcgUAAAAMY3VycmVudFByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0Um9pQnlPcmRlcklkS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAABHBSb2kFAAAAA25pbAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFmdldE9yZGVyRmlsbGVkVG90YWxLZXkAAAABBQAAAAtwRmlyc3RPcmRlcgkAAGQAAAACBQAAAAxwRmlsbGVkVG90YWwFAAAAG3RvdGFsT3JkZXJXYXZlbGV0ZXNSZXF1aXJlZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAABkZJTExFRAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABBQAAAAtwRmlyc3RPcmRlcgUAAAAQcFBheW1lbnRXYXZlbGV0cwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAACnBOZXh0T3JkZXICAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANRmlyc3RPcmRlcktleQUAAAAKcE5leHRPcmRlcgUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQUAAAAMd3JpdGVTZXREYXRhCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEW9yZGVyT3duZXJBZGRyZXNzBQAAABNmaWxsYWJsZU9yZGVyQW1vdW50BQAAAAtib25kQXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQFAAAABHVuaXQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAARb3JkZXJPd25lckFkZHJlc3MFAAAADmNoYW5nZVdhdmVsZXRzBQAAAAR1bml0BQAAAANuaWwBAAAAF2ludGVybmFsQWRkQnV5Qm9uZE9yZGVyAAAABQAAAANyb2kAAAAFcHJpY2UAAAAJcHJldk9yZGVyAAAAA2ludgAAAAxpbnN0YW50T3JkZXIEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAADaW52AAAAB3BheW1lbnQEAAAACm5ld09yZGVySWQJAAJYAAAAAQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWWNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwkAAGYAAAACBQAAAA1NSU5PUkRFUlRPVEFMCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABCQABLAAAAAICAAAAF21pbiBvcmRlciB0b3RhbCBlcXVhbHMgCQABpAAAAAEFAAAADU1JTk9SREVSVE9UQUwDCQAAZgAAAAIFAAAAA3JvaQUAAAAGTUFYUk9JCQAAAgAAAAECAAAAF21heCBzZXRPcmRlciBST0kgaXMgOTUlAwMJAABmAAAAAgUAAAAHZGVmaWNpdAAAAAAAAAAAAAkAAGYAAAACAAAAAAAAAAAABQAAAANyb2kHCQAAAgAAAAECAAAAMmNhbid0IHBsYWNlIG9yZGVyIHdpdGggbmVnYXRpdmUgcm9pIGR1cmluZyBkZWZpY2l0AwkAAGYAAAACCQEAAAABLQAAAAEFAAAABk1BWFJPSQUAAAADcm9pCQAAAgAAAAECAAAAGG1pbiBzZXRPcmRlciBST0kgaXMgLTk1JQMJAAAAAAAAAgUAAAADcm9pAAAAAAAAAAAACQAAAgAAAAECAAAAHHJvaSBzaG91bGQgbm90IGJlIGVxdWFsIHRvIDADCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAEmNhbiB1c2Ugd2F2ZXMgb25seQMJAQAAAAIhPQAAAAIJAQAAAA1nZXRPcmRlck93bmVyAAAAAQUAAAAKbmV3T3JkZXJJZAIAAAAACQAAAgAAAAECAAAADG9yZGVyIGV4aXN0cwMDCQEAAAACIT0AAAACBQAAAAlwcmV2T3JkZXICAAAAAAkBAAAAAiE9AAAAAgkBAAAADmdldE9yZGVyU3RhdHVzAAAAAQUAAAAJcHJldk9yZGVyBQAAAANORVcHCQAAAgAAAAECAAAAHHByZXYgb3JkZXIgc3RhdHVzIGlzIG5vdCBuZXcEAAAAGWlzTmV3T3JkZXJBdEZpcnN0UG9zaXRpb24JAAAAAAAAAgUAAAAJcHJldk9yZGVyAgAAAAAEAAAABW93bmVyCQAEJQAAAAEIBQAAAANpbnYAAAAGY2FsbGVyBAAAAAluZXh0T3JkZXIDBQAAABlpc05ld09yZGVyQXRGaXJzdFBvc2l0aW9uBQAAAApmaXJzdE9yZGVyCQEAAAAMZ2V0TmV4dE9yZGVyAAAAAQUAAAAJcHJldk9yZGVyBAAAAAxuZXh0T3JkZXJSb2kJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABBQAAAAluZXh0T3JkZXIEAAAAEGlzTmV4dE9yZGVyRXJyb3IDAwkBAAAAAiE9AAAAAgUAAAAJbmV4dE9yZGVyAgAAAAAJAABnAAAAAgUAAAADcm9pBQAAAAxuZXh0T3JkZXJSb2kHBgcEAAAADHByZXZPcmRlclJvaQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEmdldFJvaUJ5T3JkZXJJZEtleQAAAAEFAAAACXByZXZPcmRlcgQAAAAQaXNQcmV2T3JkZXJFcnJvcgMDCQEAAAACIT0AAAACBQAAAAlwcmV2T3JkZXICAAAAAAkAAGYAAAACBQAAAAxwcmV2T3JkZXJSb2kFAAAAA3JvaQcGBwMDBQAAABBpc05leHRPcmRlckVycm9yBgUAAAAQaXNQcmV2T3JkZXJFcnJvcgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAB9pbnZhbGlkIG9yZGVyIGlzUHJldk9yZGVyRXJyb3I6CQABpQAAAAEFAAAAEGlzUHJldk9yZGVyRXJyb3ICAAAAEiBpc05leHRPcmRlckVycm9yOgkAAaUAAAABBQAAABBpc05leHRPcmRlckVycm9yAwMFAAAAGWlzTmV3T3JkZXJBdEZpcnN0UG9zaXRpb24FAAAADGlu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BQAAAAdvcmRlcklkBAAAAAlwcmV2T3JkZXIJAQAAAAxnZXRQcmV2T3JkZXIAAAABBQAAAAdvcmRlcklkAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWWNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwkBAAAAAiE9AAAAAgUAAAAFb3duZXIFAAAABmNhbGxlcgkAAAIAAAABAgAAABFwZXJtaXNzaW9uIGRlbmllZAMJAQAAAAIhPQAAAAIJAQAAAA5nZXRPcmRlclN0YXR1cwAAAAEFAAAAB29yZGVySWQFAAAAA05FVwkAAAIAAAABAgAAABRpbnZhbGlkIG9yZGVyIHN0YXR1cwkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkDCQAAAAAAAAIFAAAACmZpcnN0T3JkZXIFAAAAB29yZGVySWQFAAAACW5leHRPcmRlcgUAAAAKZmlyc3RPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dldE5leHRPcmRlcktleQAAAAEFAAAACXByZXZPcmRlcgUAAAAJbmV4dE9yZGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2V0UHJldk9yZGVyS2V5AAAAAQUAAAAJbmV4dE9yZGVyBQAAAAlwcmV2T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAB29yZGVySWQFAAAACENBTkNFTEVEBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAZhbW91bnQFAAAABHVuaXQFAAAAA25pbAAAAAFpAQAAAAhzZWxsQm9uZAAAAAADBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABZY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQAAAAAAAAIFAAAACmZpcnN0T3JkZXICAAAAAAkAAAIAAAABAgAAAA9lbXB0eSBvcmRlcmJvb2sEAAAACW5leHRPcmRlcgkBAAAADGdldE5leHRPcmRlcgAAAAEFAAAACmZpcnN0T3JkZXIEAAAAC2ZpbGxlZFRvdGFsCQEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEFAAAACmZpcnN0T3JkZXIEAAAACm9yZGVyUHJpY2UJAQAAAA1nZXRPcmRlclByaWNlAAAAAQUAAAAKZmlyc3RPcmRlcgQAAAADcm9pCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0Um9pQnlPcmRlcklkS2V5AAAAAQUAAAAKZmlyc3RPcmRlcgQAAAAPcGF5bWVudFdhdmVsZXRzCQEAAAANZ2V0T3JkZXJUb3RhbAAAAAEFAAAACmZpcnN0T3JkZXIEAAAAEW9yZGVyT3duZXJBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAADWdldE9yZGVyT3duZXIAAAABBQAAAApmaXJzdE9yZGVyCQEAAAAQaW50ZXJuYWxTZWxsQm9uZAAAAAgFAAAACmZpcnN0T3JkZXIFAAAACW5leHRPcmRlcgUAAAALZmlsbGVkVG90YWwFAAAAA3JvaQUAAAAKb3JkZXJQcmljZQUAAAAPcGF5bWVudFdhdmVsZXRzBQAAABFvcmRlck93bmVyQWRkcmVzcwcAAAABaQEAAAAfdXBkYXRlUmVzZXJ2ZXNBbmROZXV0cmlub1N1cHBseQAAAAAKAQAAABZnZXROdW1iZXJCeUtleUludGVybmFsAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAA2lkeAkBAAAAFmdldE51bWJlckJ5S2V5SW50ZXJuYWwAAAABAgAAACJ1cGRhdGVSZXNlcnZlc0FuZE5ldXRyaW5vU3VwcGx5SWR4BAAAAAZuZXdJZHgJAABkAAAAAgUAAAADaWR4AAAAAAAAAAABCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAACJ1cGRhdGVSZXNlcnZlc0FuZE5ldXRyaW5vU3VwcGx5SWR4BQAAAAZuZXdJZHgJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAB3Jlc2VydmUFAAAAB3Jlc2VydmUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADm5ldXRyaW5vU3VwcGx5BQAAAA5uZXV0cmlub1N1cHBseQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHZGVmaWNpdAUAAAAHZGVmaWNpdAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAQcHViS2V5QWRtaW5zTGlzdAkABEwAAAACAgAAACxEOTZUNVVvTDdFMkZFUmFFd292OUZyeDhYRlZQTkdxWjRUeURpV3ZuMXVySgkABEwAAAACAgAAACxGazJ6Z2JyUkE4S3l0VFZNVnk2RGY1aTR0VEVzS2FxZzZ5Ymg2eDZIZWhqagkABEwAAAACAgAAACwzN2YxeUU1NEZ5TUt3RWtnNDEzcGVxNUdiemU5c0JhdkFTVmVUWWJRTFR2SgkABEwAAAACAgAAACw1V1JYRlNqd2NUYk5mS2NKczhacVhtU1NXWXNTVkpVdE12TXFaajVoSDROYwUAAAADbmlsBAAAAAVjb3VudAkAAGQAAAACCQAAZAAAAAIJAABkAAAAAgMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABCQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACCQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAgAAAAAAAAAAAQAAAAAAAAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAADCQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAwAAAAAAAAAAAgAAAAAAAAAAAAkAAGcAAAACBQAAAAVjb3VudAAAAAAAAAAAAxthPWk=", "chainId": 84, "height": 1047586, "spentComplexity": 0 } View: original | compacted Prev: Abf4tzorDKciVSpFWfGaqGMC239B5iNsKUhHGnRSNo7X Next: 4rAHTqxmDuDbNfg9QyB9fEPuFyTrnc84vPF1SJmCZVpm 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
75-let r = "price"
75+let r = "neutrino_contract"
7676
77-let s = "bond_asset_id"
77+let s = "price"
7878
79-let t = "neutrino_asset_id"
79+let t = "bond_asset_id"
8080
81-let u = "control_contract"
81+let u = "neutrino_asset_id"
8282
83-let v = "balance_lock_"
83+let v = "control_contract"
8484
85-let w = (v + "waves")
85+let w = "balance_lock_"
8686
87-let x = (v + "neutrino")
87+let x = (w + "waves")
8888
89-let y = "liquidation_contract"
89+let y = (w + "neutrino")
9090
91-let z = "order_first"
91+let z = "liquidation_contract"
9292
93-func A (B) = ("debug_order_roi_" + B)
93+let A = "order_first"
94+
95+func B (C) = ("debug_order_roi_" + C)
9496
9597
96-func C (B) = ("order_price_" + B)
98+func D (C) = ("order_price_" + C)
9799
98100
99-func D (B) = ("order_total_" + B)
101+func E (C) = ("order_total_" + C)
100102
101103
102-func E (B) = ("order_owner_" + B)
104+func F (C) = ("order_owner_" + C)
103105
104106
105-func F (B) = ("order_height_" + B)
107+func G (C) = ("order_height_" + C)
106108
107109
108-func G (B) = ("order_status_" + B)
110+func H (C) = ("order_status_" + C)
109111
110112
111-func H (B) = ("order_filled_total_" + B)
113+func I (C) = ("order_filled_total_" + C)
112114
113115
114-func I (B) = ("order_prev_" + B)
116+func J (C) = ("order_prev_" + C)
115117
116118
117-func J (B) = ("order_next_" + B)
119+func K (C) = ("order_next_" + C)
118120
119121
120-func K (L,M) = fraction(fraction(L, 100, M), j, k)
122+func L (M,N) = fraction(fraction(M, l, N), j, k)
121123
122124
123-func N (L,M) = fraction(fraction(L, M, 100), k, j)
125+func O (M,N) = fraction(fraction(M, N, l), k, j)
124126
125127
126-func O (L,M) = N(L, M)
128+func P (M,N) = O(M, N)
127129
128130
129-func P (L,M) = K(L, M)
131+func Q (M,N) = L(M, N)
130132
131133
132-let Q = Address(base58'3MxUeE9rS9G3ap3kSrw67vkjYyTL3QLJnk3')
134+let R = Address(base58'3MxUeE9rS9G3ap3kSrw67vkjYyTL3QLJnk3')
133135
134-let R = Address(base58'3MzosTW6DBBjpRwTZUWFhZo6UFW1yrmfdtB')
136+let S = Address(base58'3MzosTW6DBBjpRwTZUWFhZo6UFW1yrmfdtB')
135137
136-let S = Address(base58'3N1SXpSHeCeqSewbXS79otbnmP89uKUkWyf')
138+let T = Address(base58'3N1SXpSHeCeqSewbXS79otbnmP89uKUkWyf')
137139
138-let T = base58'EHLhLVDUufqQytiAjBHzPhsPZgqsX6XfSCrVdxYeC4QN'
140+let U = base58'EHLhLVDUufqQytiAjBHzPhsPZgqsX6XfSCrVdxYeC4QN'
139141
140-let U = base58'91QmVf3hZQJeUX11nurBX76Quf94kQgVMDesqALsjQFN'
142+let V = base58'91QmVf3hZQJeUX11nurBX76Quf94kQgVMDesqALsjQFN'
141143
142-let V = f(R, "is_blocked")
144+let W = f(S, "is_blocked")
143145
144-let W = i(R, r)
146+let X = i(S, s)
145147
146-let X = i(Q, x)
148+let Y = i(R, y)
147149
148-let Y = (wavesBalance(Q) - i(Q, w))
150+let Z = (wavesBalance(R) - i(R, x))
149151
150-let Z = (((X + extract(assetInfo(T)).quantity) - assetBalance(Q, T)) - assetBalance(S, T))
152+let aa = (((Y + extract(assetInfo(U)).quantity) - assetBalance(R, U)) - assetBalance(T, U))
151153
152-let aa = (Z - N(Y, W))
154+let ab = (aa - O(Z, X))
153155
154-let ab = e(z)
156+let ac = e(A)
155157
156-func ac (ad) = a(C(ad))
158+func ad (ae) = a(D(ae))
157159
158160
159-func ae (ad) = a(D(ad))
161+func af (ae) = a(E(ae))
160162
161163
162-func af (ad) = e(E(ad))
164+func ag (ae) = e(F(ae))
163165
164166
165-func ag (ad) = e(G(ad))
167+func ah (ae) = e(H(ae))
166168
167169
168-func ah (ad) = a(H(ad))
170+func ai (ae) = a(I(ae))
169171
170172
171-func ai (ad) = e(I(ad))
173+func aj (ae) = e(J(ae))
172174
173175
174-func aj (ad) = e(J(ad))
176+func ak (ae) = e(K(ae))
175177
176178
177-func ak (B,al,am,an,ao,M) = [DataEntry(C(B), M), DataEntry(D(B), al), DataEntry(E(B), am), DataEntry(F(B), height), DataEntry(G(B), an), DataEntry(("debug_order_currentPrice_" + B), W), DataEntry(A(B), ao)]
179+func al (C,am,an,ao,ap,N) = [DataEntry(D(C), N), DataEntry(E(C), am), DataEntry(F(C), an), DataEntry(G(C), height), DataEntry(H(C), ao), DataEntry(("debug_order_currentPrice_" + C), X), DataEntry(B(C), ap)]
178180
179181
180-func ap (aq,ar,as,at,au,av,aw,ax) = {
181- let ay = fraction((100 + at), W, 100)
182- let az = (av - as)
183- let aA = O(az, ay)
184- let aB = P(aA, ay)
185- let aC = (fraction(aa, 100, Z) >= at)
186- if (!(aC))
187- then throw(("innapropriate roi: " + toString(at)))
188- else if ((aB == 0))
182+func aq (ar,as,at,au,av,aw,ax,ay) = {
183+ let az = fraction((100 + au), X, 100)
184+ let aA = (aw - at)
185+ let aB = P(aA, az)
186+ let aC = Q(aB, az)
187+ let aD = (fraction(ab, 100, aa) >= au)
188+ if (!(aD))
189+ then throw(("innapropriate roi: " + toString(au)))
190+ else if ((aC == 0))
189191 then throw("cannot fill order at the moment")
190192 else {
191- let aD = (az - aB)
192- let aE = if (ax)
193- then [DataEntry(C(aq), au), DataEntry(D(aq), av), DataEntry(E(aq), toBase58String(aw.bytes)), DataEntry(F(aq), height), DataEntry(G(aq), p), DataEntry(("debug_order_currentPrice_" + aq), W), DataEntry(A(aq), at)]
194- else [DataEntry(H(aq), (as + aB)), DataEntry(G(aq), p), DataEntry(D(aq), av), DataEntry(I(ar), ""), DataEntry(z, ar)]
195- ScriptResult(WriteSet(aE), TransferSet([ScriptTransfer(aw, aA, U), ScriptTransfer(Q, aB, unit), ScriptTransfer(aw, aD, unit)]))
193+ let aE = (aA - aC)
194+ let aF = if (ay)
195+ then [DataEntry(D(ar), av), DataEntry(E(ar), aw), DataEntry(F(ar), toBase58String(ax.bytes)), DataEntry(G(ar), height), DataEntry(H(ar), q), DataEntry(("debug_order_currentPrice_" + ar), X), DataEntry(B(ar), au)]
196+ else [DataEntry(I(ar), (at + aC)), DataEntry(H(ar), q), DataEntry(E(ar), aw), DataEntry(J(as), ""), DataEntry(A, as)]
197+ ScriptResult(WriteSet(aF), TransferSet([ScriptTransfer(ax, aB, V), ScriptTransfer(R, aC, unit), ScriptTransfer(ax, aE, unit)]))
196198 }
197199 }
198200
199201
200-func aF (ao,M,aG,aH,ax) = {
201- let aI = extract(aH.payment)
202- let aJ = toBase58String(aH.transactionId)
203- if (V)
202+func aG (ap,N,aH,aI,ay) = {
203+ let aJ = extract(aI.payment)
204+ let aK = toBase58String(aI.transactionId)
205+ if (W)
204206 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
205- else if ((l > aI.amount))
206- then throw(("min order total equals " + toString(l)))
207- else if ((ao > m))
207+ else if ((m > aJ.amount))
208+ then throw(("min order total equals " + toString(m)))
209+ else if ((ap > n))
208210 then throw("max setOrder ROI is 95%")
209- else if (if ((aa > 0))
210- then (0 > ao)
211+ else if (if ((ab > 0))
212+ then (0 > ap)
211213 else false)
212214 then throw("can't place order with negative roi during deficit")
213- else if ((-(m) > ao))
215+ else if ((-(n) > ap))
214216 then throw("min setOrder ROI is -95%")
215- else if ((ao == 0))
217+ else if ((ap == 0))
216218 then throw("roi should not be equal to 0")
217- else if (isDefined(aI.assetId))
219+ else if (isDefined(aJ.assetId))
218220 then throw("can use waves only")
219- else if ((af(aJ) != ""))
221+ else if ((ag(aK) != ""))
220222 then throw("order exists")
221- else if (if ((aG != ""))
222- then (ag(aG) != o)
223+ else if (if ((aH != ""))
224+ then (ah(aH) != p)
223225 else false)
224226 then throw("prev order status is not new")
225227 else {
226- let aK = (aG == "")
227- let am = toString(aH.caller)
228- let aL = if (aK)
229- then ab
230- else aj(aG)
231- let aM = a(A(aL))
232- let aN = if (if ((aL != ""))
233- then (ao >= aM)
228+ let aL = (aH == "")
229+ let an = toString(aI.caller)
230+ let aM = if (aL)
231+ then ac
232+ else ak(aH)
233+ let aN = a(B(aM))
234+ let aO = if (if ((aM != ""))
235+ then (ap >= aN)
234236 else false)
235237 then true
236238 else false
237- let aO = a(A(aG))
238- let aP = if (if ((aG != ""))
239- then (aO > ao)
239+ let aP = a(B(aH))
240+ let aQ = if (if ((aH != ""))
241+ then (aP > ap)
240242 else false)
241243 then true
242244 else false
243- if (if (aN)
245+ if (if (aO)
244246 then true
245- else aP)
246- then throw(((("invalid order isPrevOrderError:" + toString(aP)) + " isNextOrderError:") + toString(aN)))
247- else if (if (aK)
248- then ax
247+ else aQ)
248+ then throw(((("invalid order isPrevOrderError:" + toString(aQ)) + " isNextOrderError:") + toString(aO)))
249+ else if (if (aL)
250+ then ay
249251 else false)
250- then ap(aJ, aL, 0, ao, M, aI.amount, aH.caller, true)
251- else if (ax)
252+ then aq(aK, aM, 0, ap, N, aJ.amount, aI.caller, true)
253+ else if (ay)
252254 then throw("Instant order couldn't be added into waiting queue")
253- else WriteSet([DataEntry(I(aJ), aG), DataEntry(J(aJ), aL), DataEntry(J(aG), if ((aG == ""))
255+ else WriteSet([DataEntry(J(aK), aH), DataEntry(K(aK), aM), DataEntry(K(aH), if ((aH == ""))
254256 then ""
255- else aJ), DataEntry(I(aL), if ((aL == ""))
257+ else aK), DataEntry(J(aM), if ((aM == ""))
256258 then ""
257- else aJ), DataEntry(z, if (if ((ab == ""))
259+ else aK), DataEntry(A, if (if ((ac == ""))
258260 then true
259- else (ab == aL))
260- then aJ
261- else ab), ak(aJ, aI.amount, am, o, ao, M)])
261+ else (ac == aM))
262+ then aK
263+ else ac), al(aK, aJ.amount, an, p, ap, N)])
262264 }
263265 }
264266
265267
266-@Callable(aQ)
267-func instantBuyNsbtOrFail (ao) = {
268- let aI = extract(aQ.payment)
269- let ay = fraction((100 + ao), W, 100)
270- let M = ((100 * 100) / ay)
271- aF(ao, M, "", aQ, true)
268+@Callable(aR)
269+func instantBuyNsbtOrFail (ap) = {
270+ let aJ = extract(aR.payment)
271+ let az = fraction((100 + ap), X, 100)
272+ let N = ((l * l) / az)
273+ aG(ap, N, "", aR, true)
272274 }
273275
274276
275277
276-@Callable(aQ)
277-func addBuyBondOrder (M,aG) = {
278- let aI = extract(aQ.payment)
279- let ay = fraction(100, 100, M)
280- let ao = fraction((ay - W), 100, W)
281- if ((0 >= M))
278+@Callable(aR)
279+func addBuyBondOrder (N,aH) = {
280+ let aJ = extract(aR.payment)
281+ let az = fraction(l, l, N)
282+ let ap = fraction((az - X), 100, X)
283+ if ((0 >= N))
282284 then throw("price less zero")
283- else aF(ao, M, aG, aQ, false)
285+ else aG(ap, N, aH, aR, false)
284286 }
285287
286288
287289
288-@Callable(aQ)
289-func cancelOrder (B) = {
290- let am = af(B)
291- let L = (ae(B) - ah(B))
292- let aR = toString(aQ.caller)
293- let aL = aj(B)
294- let aG = ai(B)
295- if (V)
290+@Callable(aR)
291+func cancelOrder (C) = {
292+ let an = ag(C)
293+ let M = (af(C) - ai(C))
294+ let aS = toString(aR.caller)
295+ let aM = ak(C)
296+ let aH = aj(C)
297+ if (W)
296298 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
297- else if ((am != aR))
299+ else if ((an != aS))
298300 then throw("permission denied")
299- else if ((ag(B) != o))
301+ else if ((ah(C) != p))
300302 then throw("invalid order status")
301- else ScriptResult(WriteSet([DataEntry(z, if ((ab == B))
302- then aL
303- else ab), DataEntry(J(aG), aL), DataEntry(I(aL), aG), DataEntry(G(B), n)]), TransferSet([ScriptTransfer(aQ.caller, L, unit)]))
303+ else ScriptResult(WriteSet([DataEntry(A, if ((ac == C))
304+ then aM
305+ else ac), DataEntry(K(aH), aM), DataEntry(J(aM), aH), DataEntry(H(C), o)]), TransferSet([ScriptTransfer(aR.caller, M, unit)]))
304306 }
305307
306308
307309
308-@Callable(aQ)
309-func sellBond () = if (V)
310+@Callable(aR)
311+func sellBond () = if (W)
310312 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
311- else if ((ab == ""))
313+ else if ((ac == ""))
312314 then throw("empty orderbook")
313315 else {
314- let aL = aj(ab)
315- let aS = ah(ab)
316- let aT = ac(ab)
317- let ao = a(A(ab))
318- let aU = ae(ab)
319- let aw = Address(fromBase58String(af(ab)))
320- ap(ab, aL, aS, ao, aT, aU, aw, false)
316+ let aM = ak(ac)
317+ let aT = ai(ac)
318+ let aU = ad(ac)
319+ let ap = a(B(ac))
320+ let aV = af(ac)
321+ let ax = Address(fromBase58String(ag(ac)))
322+ aq(ac, aM, aT, ap, aU, aV, ax, false)
321323 }
322324
323325
324326
325-@Callable(aQ)
327+@Callable(aR)
326328 func updateReservesAndNeutrinoSupply () = {
327- func aV (b) = {
329+ func aW (b) = {
328330 let c = getInteger(this, b)
329331 if ($isInstanceOf(c, "Int"))
330332 then {
334336 else 0
335337 }
336338
337- let aW = aV("updateReservesAndNeutrinoSupplyIdx")
338- let aX = (aW + 1)
339- WriteSet([DataEntry("updateReservesAndNeutrinoSupplyIdx", aX), DataEntry("reserve", Y), DataEntry("neutrinoSupply", Z), DataEntry("deficit", aa)])
339+ let aX = aW("updateReservesAndNeutrinoSupplyIdx")
340+ let aY = (aX + 1)
341+ WriteSet([DataEntry("updateReservesAndNeutrinoSupplyIdx", aY), DataEntry("reserve", Z), DataEntry("neutrinoSupply", aa), DataEntry("deficit", ab)])
340342 }
341343
342344
343-@Verifier(aY)
344-func aZ () = {
345- let ba = ["D96T5UoL7E2FERaEwov9Frx8XFVPNGqZ4TyDiWvn1urJ", "Fk2zgbrRA8KytTVMVy6Df5i4tTEsKaqg6ybh6x6Hehjj", "37f1yE54FyMKwEkg413peq5Gbze9sBavASVeTYbQLTvJ", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
346- let bb = ((((if (sigVerify(aY.bodyBytes, aY.proofs[0], fromBase58String(ba[0])))
345+@Verifier(aZ)
346+func ba () = {
347+ let bb = ["D96T5UoL7E2FERaEwov9Frx8XFVPNGqZ4TyDiWvn1urJ", "Fk2zgbrRA8KytTVMVy6Df5i4tTEsKaqg6ybh6x6Hehjj", "37f1yE54FyMKwEkg413peq5Gbze9sBavASVeTYbQLTvJ", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
348+ let bc = ((((if (sigVerify(aZ.bodyBytes, aZ.proofs[0], fromBase58String(bb[0])))
347349 then 1
348- else 0) + (if (sigVerify(aY.bodyBytes, aY.proofs[1], fromBase58String(ba[1])))
350+ else 0) + (if (sigVerify(aZ.bodyBytes, aZ.proofs[1], fromBase58String(bb[1])))
349351 then 1
350- else 0)) + (if (sigVerify(aY.bodyBytes, aY.proofs[2], fromBase58String(ba[2])))
352+ else 0)) + (if (sigVerify(aZ.bodyBytes, aZ.proofs[2], fromBase58String(bb[2])))
351353 then 1
352- else 0)) + (if (sigVerify(aY.bodyBytes, aY.proofs[3], fromBase58String(ba[3])))
354+ else 0)) + (if (sigVerify(aZ.bodyBytes, aZ.proofs[3], fromBase58String(bb[3])))
353355 then 2
354356 else 0))
355- (bb >= 3)
357+ (bc >= 3)
356358 }
357359
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
75-let r = "price"
75+let r = "neutrino_contract"
7676
77-let s = "bond_asset_id"
77+let s = "price"
7878
79-let t = "neutrino_asset_id"
79+let t = "bond_asset_id"
8080
81-let u = "control_contract"
81+let u = "neutrino_asset_id"
8282
83-let v = "balance_lock_"
83+let v = "control_contract"
8484
85-let w = (v + "waves")
85+let w = "balance_lock_"
8686
87-let x = (v + "neutrino")
87+let x = (w + "waves")
8888
89-let y = "liquidation_contract"
89+let y = (w + "neutrino")
9090
91-let z = "order_first"
91+let z = "liquidation_contract"
9292
93-func A (B) = ("debug_order_roi_" + B)
93+let A = "order_first"
94+
95+func B (C) = ("debug_order_roi_" + C)
9496
9597
96-func C (B) = ("order_price_" + B)
98+func D (C) = ("order_price_" + C)
9799
98100
99-func D (B) = ("order_total_" + B)
101+func E (C) = ("order_total_" + C)
100102
101103
102-func E (B) = ("order_owner_" + B)
104+func F (C) = ("order_owner_" + C)
103105
104106
105-func F (B) = ("order_height_" + B)
107+func G (C) = ("order_height_" + C)
106108
107109
108-func G (B) = ("order_status_" + B)
110+func H (C) = ("order_status_" + C)
109111
110112
111-func H (B) = ("order_filled_total_" + B)
113+func I (C) = ("order_filled_total_" + C)
112114
113115
114-func I (B) = ("order_prev_" + B)
116+func J (C) = ("order_prev_" + C)
115117
116118
117-func J (B) = ("order_next_" + B)
119+func K (C) = ("order_next_" + C)
118120
119121
120-func K (L,M) = fraction(fraction(L, 100, M), j, k)
122+func L (M,N) = fraction(fraction(M, l, N), j, k)
121123
122124
123-func N (L,M) = fraction(fraction(L, M, 100), k, j)
125+func O (M,N) = fraction(fraction(M, N, l), k, j)
124126
125127
126-func O (L,M) = N(L, M)
128+func P (M,N) = O(M, N)
127129
128130
129-func P (L,M) = K(L, M)
131+func Q (M,N) = L(M, N)
130132
131133
132-let Q = Address(base58'3MxUeE9rS9G3ap3kSrw67vkjYyTL3QLJnk3')
134+let R = Address(base58'3MxUeE9rS9G3ap3kSrw67vkjYyTL3QLJnk3')
133135
134-let R = Address(base58'3MzosTW6DBBjpRwTZUWFhZo6UFW1yrmfdtB')
136+let S = Address(base58'3MzosTW6DBBjpRwTZUWFhZo6UFW1yrmfdtB')
135137
136-let S = Address(base58'3N1SXpSHeCeqSewbXS79otbnmP89uKUkWyf')
138+let T = Address(base58'3N1SXpSHeCeqSewbXS79otbnmP89uKUkWyf')
137139
138-let T = base58'EHLhLVDUufqQytiAjBHzPhsPZgqsX6XfSCrVdxYeC4QN'
140+let U = base58'EHLhLVDUufqQytiAjBHzPhsPZgqsX6XfSCrVdxYeC4QN'
139141
140-let U = base58'91QmVf3hZQJeUX11nurBX76Quf94kQgVMDesqALsjQFN'
142+let V = base58'91QmVf3hZQJeUX11nurBX76Quf94kQgVMDesqALsjQFN'
141143
142-let V = f(R, "is_blocked")
144+let W = f(S, "is_blocked")
143145
144-let W = i(R, r)
146+let X = i(S, s)
145147
146-let X = i(Q, x)
148+let Y = i(R, y)
147149
148-let Y = (wavesBalance(Q) - i(Q, w))
150+let Z = (wavesBalance(R) - i(R, x))
149151
150-let Z = (((X + extract(assetInfo(T)).quantity) - assetBalance(Q, T)) - assetBalance(S, T))
152+let aa = (((Y + extract(assetInfo(U)).quantity) - assetBalance(R, U)) - assetBalance(T, U))
151153
152-let aa = (Z - N(Y, W))
154+let ab = (aa - O(Z, X))
153155
154-let ab = e(z)
156+let ac = e(A)
155157
156-func ac (ad) = a(C(ad))
158+func ad (ae) = a(D(ae))
157159
158160
159-func ae (ad) = a(D(ad))
161+func af (ae) = a(E(ae))
160162
161163
162-func af (ad) = e(E(ad))
164+func ag (ae) = e(F(ae))
163165
164166
165-func ag (ad) = e(G(ad))
167+func ah (ae) = e(H(ae))
166168
167169
168-func ah (ad) = a(H(ad))
170+func ai (ae) = a(I(ae))
169171
170172
171-func ai (ad) = e(I(ad))
173+func aj (ae) = e(J(ae))
172174
173175
174-func aj (ad) = e(J(ad))
176+func ak (ae) = e(K(ae))
175177
176178
177-func ak (B,al,am,an,ao,M) = [DataEntry(C(B), M), DataEntry(D(B), al), DataEntry(E(B), am), DataEntry(F(B), height), DataEntry(G(B), an), DataEntry(("debug_order_currentPrice_" + B), W), DataEntry(A(B), ao)]
179+func al (C,am,an,ao,ap,N) = [DataEntry(D(C), N), DataEntry(E(C), am), DataEntry(F(C), an), DataEntry(G(C), height), DataEntry(H(C), ao), DataEntry(("debug_order_currentPrice_" + C), X), DataEntry(B(C), ap)]
178180
179181
180-func ap (aq,ar,as,at,au,av,aw,ax) = {
181- let ay = fraction((100 + at), W, 100)
182- let az = (av - as)
183- let aA = O(az, ay)
184- let aB = P(aA, ay)
185- let aC = (fraction(aa, 100, Z) >= at)
186- if (!(aC))
187- then throw(("innapropriate roi: " + toString(at)))
188- else if ((aB == 0))
182+func aq (ar,as,at,au,av,aw,ax,ay) = {
183+ let az = fraction((100 + au), X, 100)
184+ let aA = (aw - at)
185+ let aB = P(aA, az)
186+ let aC = Q(aB, az)
187+ let aD = (fraction(ab, 100, aa) >= au)
188+ if (!(aD))
189+ then throw(("innapropriate roi: " + toString(au)))
190+ else if ((aC == 0))
189191 then throw("cannot fill order at the moment")
190192 else {
191- let aD = (az - aB)
192- let aE = if (ax)
193- then [DataEntry(C(aq), au), DataEntry(D(aq), av), DataEntry(E(aq), toBase58String(aw.bytes)), DataEntry(F(aq), height), DataEntry(G(aq), p), DataEntry(("debug_order_currentPrice_" + aq), W), DataEntry(A(aq), at)]
194- else [DataEntry(H(aq), (as + aB)), DataEntry(G(aq), p), DataEntry(D(aq), av), DataEntry(I(ar), ""), DataEntry(z, ar)]
195- ScriptResult(WriteSet(aE), TransferSet([ScriptTransfer(aw, aA, U), ScriptTransfer(Q, aB, unit), ScriptTransfer(aw, aD, unit)]))
193+ let aE = (aA - aC)
194+ let aF = if (ay)
195+ then [DataEntry(D(ar), av), DataEntry(E(ar), aw), DataEntry(F(ar), toBase58String(ax.bytes)), DataEntry(G(ar), height), DataEntry(H(ar), q), DataEntry(("debug_order_currentPrice_" + ar), X), DataEntry(B(ar), au)]
196+ else [DataEntry(I(ar), (at + aC)), DataEntry(H(ar), q), DataEntry(E(ar), aw), DataEntry(J(as), ""), DataEntry(A, as)]
197+ ScriptResult(WriteSet(aF), TransferSet([ScriptTransfer(ax, aB, V), ScriptTransfer(R, aC, unit), ScriptTransfer(ax, aE, unit)]))
196198 }
197199 }
198200
199201
200-func aF (ao,M,aG,aH,ax) = {
201- let aI = extract(aH.payment)
202- let aJ = toBase58String(aH.transactionId)
203- if (V)
202+func aG (ap,N,aH,aI,ay) = {
203+ let aJ = extract(aI.payment)
204+ let aK = toBase58String(aI.transactionId)
205+ if (W)
204206 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
205- else if ((l > aI.amount))
206- then throw(("min order total equals " + toString(l)))
207- else if ((ao > m))
207+ else if ((m > aJ.amount))
208+ then throw(("min order total equals " + toString(m)))
209+ else if ((ap > n))
208210 then throw("max setOrder ROI is 95%")
209- else if (if ((aa > 0))
210- then (0 > ao)
211+ else if (if ((ab > 0))
212+ then (0 > ap)
211213 else false)
212214 then throw("can't place order with negative roi during deficit")
213- else if ((-(m) > ao))
215+ else if ((-(n) > ap))
214216 then throw("min setOrder ROI is -95%")
215- else if ((ao == 0))
217+ else if ((ap == 0))
216218 then throw("roi should not be equal to 0")
217- else if (isDefined(aI.assetId))
219+ else if (isDefined(aJ.assetId))
218220 then throw("can use waves only")
219- else if ((af(aJ) != ""))
221+ else if ((ag(aK) != ""))
220222 then throw("order exists")
221- else if (if ((aG != ""))
222- then (ag(aG) != o)
223+ else if (if ((aH != ""))
224+ then (ah(aH) != p)
223225 else false)
224226 then throw("prev order status is not new")
225227 else {
226- let aK = (aG == "")
227- let am = toString(aH.caller)
228- let aL = if (aK)
229- then ab
230- else aj(aG)
231- let aM = a(A(aL))
232- let aN = if (if ((aL != ""))
233- then (ao >= aM)
228+ let aL = (aH == "")
229+ let an = toString(aI.caller)
230+ let aM = if (aL)
231+ then ac
232+ else ak(aH)
233+ let aN = a(B(aM))
234+ let aO = if (if ((aM != ""))
235+ then (ap >= aN)
234236 else false)
235237 then true
236238 else false
237- let aO = a(A(aG))
238- let aP = if (if ((aG != ""))
239- then (aO > ao)
239+ let aP = a(B(aH))
240+ let aQ = if (if ((aH != ""))
241+ then (aP > ap)
240242 else false)
241243 then true
242244 else false
243- if (if (aN)
245+ if (if (aO)
244246 then true
245- else aP)
246- then throw(((("invalid order isPrevOrderError:" + toString(aP)) + " isNextOrderError:") + toString(aN)))
247- else if (if (aK)
248- then ax
247+ else aQ)
248+ then throw(((("invalid order isPrevOrderError:" + toString(aQ)) + " isNextOrderError:") + toString(aO)))
249+ else if (if (aL)
250+ then ay
249251 else false)
250- then ap(aJ, aL, 0, ao, M, aI.amount, aH.caller, true)
251- else if (ax)
252+ then aq(aK, aM, 0, ap, N, aJ.amount, aI.caller, true)
253+ else if (ay)
252254 then throw("Instant order couldn't be added into waiting queue")
253- else WriteSet([DataEntry(I(aJ), aG), DataEntry(J(aJ), aL), DataEntry(J(aG), if ((aG == ""))
255+ else WriteSet([DataEntry(J(aK), aH), DataEntry(K(aK), aM), DataEntry(K(aH), if ((aH == ""))
254256 then ""
255- else aJ), DataEntry(I(aL), if ((aL == ""))
257+ else aK), DataEntry(J(aM), if ((aM == ""))
256258 then ""
257- else aJ), DataEntry(z, if (if ((ab == ""))
259+ else aK), DataEntry(A, if (if ((ac == ""))
258260 then true
259- else (ab == aL))
260- then aJ
261- else ab), ak(aJ, aI.amount, am, o, ao, M)])
261+ else (ac == aM))
262+ then aK
263+ else ac), al(aK, aJ.amount, an, p, ap, N)])
262264 }
263265 }
264266
265267
266-@Callable(aQ)
267-func instantBuyNsbtOrFail (ao) = {
268- let aI = extract(aQ.payment)
269- let ay = fraction((100 + ao), W, 100)
270- let M = ((100 * 100) / ay)
271- aF(ao, M, "", aQ, true)
268+@Callable(aR)
269+func instantBuyNsbtOrFail (ap) = {
270+ let aJ = extract(aR.payment)
271+ let az = fraction((100 + ap), X, 100)
272+ let N = ((l * l) / az)
273+ aG(ap, N, "", aR, true)
272274 }
273275
274276
275277
276-@Callable(aQ)
277-func addBuyBondOrder (M,aG) = {
278- let aI = extract(aQ.payment)
279- let ay = fraction(100, 100, M)
280- let ao = fraction((ay - W), 100, W)
281- if ((0 >= M))
278+@Callable(aR)
279+func addBuyBondOrder (N,aH) = {
280+ let aJ = extract(aR.payment)
281+ let az = fraction(l, l, N)
282+ let ap = fraction((az - X), 100, X)
283+ if ((0 >= N))
282284 then throw("price less zero")
283- else aF(ao, M, aG, aQ, false)
285+ else aG(ap, N, aH, aR, false)
284286 }
285287
286288
287289
288-@Callable(aQ)
289-func cancelOrder (B) = {
290- let am = af(B)
291- let L = (ae(B) - ah(B))
292- let aR = toString(aQ.caller)
293- let aL = aj(B)
294- let aG = ai(B)
295- if (V)
290+@Callable(aR)
291+func cancelOrder (C) = {
292+ let an = ag(C)
293+ let M = (af(C) - ai(C))
294+ let aS = toString(aR.caller)
295+ let aM = ak(C)
296+ let aH = aj(C)
297+ if (W)
296298 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
297- else if ((am != aR))
299+ else if ((an != aS))
298300 then throw("permission denied")
299- else if ((ag(B) != o))
301+ else if ((ah(C) != p))
300302 then throw("invalid order status")
301- else ScriptResult(WriteSet([DataEntry(z, if ((ab == B))
302- then aL
303- else ab), DataEntry(J(aG), aL), DataEntry(I(aL), aG), DataEntry(G(B), n)]), TransferSet([ScriptTransfer(aQ.caller, L, unit)]))
303+ else ScriptResult(WriteSet([DataEntry(A, if ((ac == C))
304+ then aM
305+ else ac), DataEntry(K(aH), aM), DataEntry(J(aM), aH), DataEntry(H(C), o)]), TransferSet([ScriptTransfer(aR.caller, M, unit)]))
304306 }
305307
306308
307309
308-@Callable(aQ)
309-func sellBond () = if (V)
310+@Callable(aR)
311+func sellBond () = if (W)
310312 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
311- else if ((ab == ""))
313+ else if ((ac == ""))
312314 then throw("empty orderbook")
313315 else {
314- let aL = aj(ab)
315- let aS = ah(ab)
316- let aT = ac(ab)
317- let ao = a(A(ab))
318- let aU = ae(ab)
319- let aw = Address(fromBase58String(af(ab)))
320- ap(ab, aL, aS, ao, aT, aU, aw, false)
316+ let aM = ak(ac)
317+ let aT = ai(ac)
318+ let aU = ad(ac)
319+ let ap = a(B(ac))
320+ let aV = af(ac)
321+ let ax = Address(fromBase58String(ag(ac)))
322+ aq(ac, aM, aT, ap, aU, aV, ax, false)
321323 }
322324
323325
324326
325-@Callable(aQ)
327+@Callable(aR)
326328 func updateReservesAndNeutrinoSupply () = {
327- func aV (b) = {
329+ func aW (b) = {
328330 let c = getInteger(this, b)
329331 if ($isInstanceOf(c, "Int"))
330332 then {
331333 let d = c
332334 d
333335 }
334336 else 0
335337 }
336338
337- let aW = aV("updateReservesAndNeutrinoSupplyIdx")
338- let aX = (aW + 1)
339- WriteSet([DataEntry("updateReservesAndNeutrinoSupplyIdx", aX), DataEntry("reserve", Y), DataEntry("neutrinoSupply", Z), DataEntry("deficit", aa)])
339+ let aX = aW("updateReservesAndNeutrinoSupplyIdx")
340+ let aY = (aX + 1)
341+ WriteSet([DataEntry("updateReservesAndNeutrinoSupplyIdx", aY), DataEntry("reserve", Z), DataEntry("neutrinoSupply", aa), DataEntry("deficit", ab)])
340342 }
341343
342344
343-@Verifier(aY)
344-func aZ () = {
345- let ba = ["D96T5UoL7E2FERaEwov9Frx8XFVPNGqZ4TyDiWvn1urJ", "Fk2zgbrRA8KytTVMVy6Df5i4tTEsKaqg6ybh6x6Hehjj", "37f1yE54FyMKwEkg413peq5Gbze9sBavASVeTYbQLTvJ", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
346- let bb = ((((if (sigVerify(aY.bodyBytes, aY.proofs[0], fromBase58String(ba[0])))
345+@Verifier(aZ)
346+func ba () = {
347+ let bb = ["D96T5UoL7E2FERaEwov9Frx8XFVPNGqZ4TyDiWvn1urJ", "Fk2zgbrRA8KytTVMVy6Df5i4tTEsKaqg6ybh6x6Hehjj", "37f1yE54FyMKwEkg413peq5Gbze9sBavASVeTYbQLTvJ", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
348+ let bc = ((((if (sigVerify(aZ.bodyBytes, aZ.proofs[0], fromBase58String(bb[0])))
347349 then 1
348- else 0) + (if (sigVerify(aY.bodyBytes, aY.proofs[1], fromBase58String(ba[1])))
350+ else 0) + (if (sigVerify(aZ.bodyBytes, aZ.proofs[1], fromBase58String(bb[1])))
349351 then 1
350- else 0)) + (if (sigVerify(aY.bodyBytes, aY.proofs[2], fromBase58String(ba[2])))
352+ else 0)) + (if (sigVerify(aZ.bodyBytes, aZ.proofs[2], fromBase58String(bb[2])))
351353 then 1
352- else 0)) + (if (sigVerify(aY.bodyBytes, aY.proofs[3], fromBase58String(ba[3])))
354+ else 0)) + (if (sigVerify(aZ.bodyBytes, aZ.proofs[3], fromBase58String(bb[3])))
353355 then 2
354356 else 0))
355- (bb >= 3)
357+ (bc >= 3)
356358 }
357359

github/deemru/w8io/169f3d6 
138.39 ms