tx · GvLfib1gv2VXhEXwRp92zzBGxvdY9vtJkE9rsRYCHzAs

3MzSNsJLeYj6Eh6u2QzJrbByPCySgFoCbWC:  -0.05000000 Waves

2020.01.09 09:11 [845996] smart account 3MzSNsJLeYj6Eh6u2QzJrbByPCySgFoCbWC > SELF 0.00000000 Waves

{ "type": 13, "id": "GvLfib1gv2VXhEXwRp92zzBGxvdY9vtJkE9rsRYCHzAs", "fee": 5000000, "feeAssetId": null, "timestamp": 1578546556678, "version": 1, "sender": "3MzSNsJLeYj6Eh6u2QzJrbByPCySgFoCbWC", "senderPublicKey": "99sSPZk2SumsopYRh2PAvWL8BHjDhYsY5NspsFGXLnAm", "proofs": [ "21dAZTGVgirMbYpiLR6bGxdwqh6H2GYL7TTXuS64UGLD8c3kYiZGxXHQBJ3DQnFRWVEiJv3v5av5vgpCs84Fa35i" ], "script": "base64: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dFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleVRhc2tBdXRob3IAAAABBQAAAAR0YXNrAQAAAA9nZXRLZXlUYXNrQmxvY2sAAAABAAAABHRhc2sJAAEsAAAAAgIAAAAGYmxvY2tfBQAAAAR0YXNrAQAAABFnZXRWYWx1ZVRhc2tCbG9jawAAAAEAAAAEdGFzawkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleVRhc2tCbG9jawAAAAEFAAAABHRhc2sBAAAADmdldEtleVRhc2tCYW5rAAAAAQAAAAR0YXNrCQABLAAAAAICAAAABWJhbmtfBQAAAAR0YXNrAQAAABBnZXRWYWx1ZVRhc2tCYW5rAAAAAQAAAAR0YXNrCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAOZ2V0S2V5VGFza0JhbmsAAAABBQAAAAR0YXNrAQAAABRnZXRLZXlUYXNrRnJlZWxhbmNlcgAAAAEAAAAEdGFzawkAASwAAAACAgAAAAtmcmVlbGFuY2VyXwUAAAAEdGFzawEAAAAWZ2V0VmFsdWVUYXNrRnJlZWxhbmNlcgAAAAEAAAAEdGFzawkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAFGdldEtleVRhc2tGcmVlbGFuY2VyAAAAAQUAAAAEdGFzawEAAAAQZ2V0S2V5VGFza1N0YXR1cwAAAAEAAAAEdGFzawkAASwAAAACAgAAAAdzdGF0dXNfBQAAAAR0YXNrAQAAABJnZXRWYWx1ZVRhc2tTdGF0dXMAAAABAAAABHRhc2sJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABBnZXRLZXlUYXNrU3RhdHVzAAAAAQUAAAAEdGFzawEAAAAUZ2V0S2V5VGFza0V4cGlyYXRpb24AAAABAAAABHRhc2sJAAEsAAAAAgIAAAARZXhwaXJhdGlvbl9ibG9ja18FAAAABHRhc2sBAAAAFmdldFZhbHVlVGFza0V4cGlyYXRpb24AAAABAAAABHRhc2sJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABRnZXRLZXlUYXNrRXhwaXJhdGlvbgAAAAEFAAAABHRhc2sBAAAADWdldEtleVVzZXJCaW8AAAABAAAAB2FjY291bnQJAAEsAAAAAgIAAAAJdXNlcl9iaW9fBQAAAAdhY2NvdW50AQAAAA9nZXRWYWx1ZVVzZXJCaW8AAAABAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAA1nZXRLZXlVc2VyQmlvAAAAAQUAAAAHYWNjb3VudAEAAAAQZ2V0S2V5VXNlclN0YXR1cwAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAl1c2VyX3N0c18FAAAAB2FjY291bnQBAAAAEmdldFZhbHVlVXNlclN0YXR1cwAAAAEAAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleVVzZXJTdGF0dXMAAAABBQAAAAdhY2NvdW50AQAAAA9nZXRLZXlVc2VyQmxvY2sAAAABAAAAB2FjY291bnQJAAEsAAAAAgIAAAAJdXNlcl9ibGtfBQAAAAdhY2NvdW50AQAAABhnZXRLZXlUYXNrUmVwb3J0Q29tcGxldGUAAAADAAAACmZyZWVsYW5jZXIAAAAEdGFzawAAAAVzdGFnZQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAA3JjXwUAAAAEdGFzawIAAAABXwUAAAAKZnJlZWxhbmNlcgIAAAAHX3N0YWdlOgUAAAAFc3RhZ2UBAAAAGmdldFZhbHVlVGFza1JlcG9ydENvbXBsZXRlAAAAAwAAAApmcmVlbGFuY2VyAAAABHRhc2sAAAAFc3RhZ2UJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABhnZXRLZXlUYXNrUmVwb3J0Q29tcGxldGUAAAADBQAAAApmcmVlbGFuY2VyBQAAAAR0YXNrBQAAAAVzdGFnZQEAAAAbZ2V0S2V5VGFza1JlcG9ydENvbXBsZXRlQ250AAAAAgAAAAR0YXNrAAAACmZyZWVsYW5jZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3JjX2NudF8FAAAABHRhc2sCAAAAAV8FAAAACmZyZWVsYW5jZXIBAAAAHWdldFZhbHVlVGFza1JlcG9ydENvbXBsZXRlQ250AAAAAgAAAAR0YXNrAAAACmZyZWVsYW5jZXIJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABtnZXRLZXlUYXNrUmVwb3J0Q29tcGxldGVDbnQAAAACBQAAAAR0YXNrBQAAAApmcmVlbGFuY2VyAQAAABRnZXRLZXlEZWNyeWJlQmFsYW5jZQAAAAACAAAAD2RlY3J5YmVfYmFsYW5jZQEAAAAWZ2V0VmFsdWVEZWNyeWJlQmFsYW5jZQAAAAAJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABRnZXRLZXlEZWNyeWJlQmFsYW5jZQAAAAABAAAAEGdldEtleVRhc2tSYXRpbmcAAAABAAAABHRhc2sJAAEsAAAAAgIAAAAMdGFza19yYXRpbmdfBQAAAAR0YXNrAQAAABJnZXRWYWx1ZVRhc2tSYXRpbmcAAAABAAAABHRhc2sJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABBnZXRLZXlUYXNrUmF0aW5nAAAAAQUAAAAEdGFzawEAAAAYZ2V0S2V5VGFza1VzZXJWb3RlUmF0aW5nAAAAAgAAAAR0YXNrAAAABHVzZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACnRhc2tfdm90ZV8FAAAABHRhc2sCAAAAAV8FAAAABHVzZXIBAAAAGmdldFZhbHVlVGFza1VzZXJWb3RlUmF0aW5nAAAAAgAAAAR0YXNrAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABhnZXRLZXlUYXNrVXNlclZvdGVSYXRpbmcAAAACBQAAAAR0YXNrBQAAAAR1c2VyAQAAABBnZXRLZXlVc2VyUmF0aW5nAAAAAQAAAAR1c2VyCQABLAAAAAICAAAADHVzZXJfcmF0aW5nXwUAAAAEdXNlcgEAAAASZ2V0VmFsdWVVc2VyUmF0aW5nAAAAAQAAAAR1c2VyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0S2V5VXNlclJhdGluZwAAAAEFAAAABHVzZXIBAAAAFGdldEtleVVzZXJSYXRpbmdWb3RlAAAAAgAAAAR1c2VyAAAABnZvdGluZwkAASwAAAACCQABLAAAAAICAAAACnVzZXJfdm90ZV8FAAAABHVzZXIFAAAABnZvdGluZwEAAAAWZ2V0VmFsdWVVc2VyUmF0aW5nVm90ZQAAAAIAAAAEdXNlcgAAAAZ2b3RpbmcJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABRnZXRLZXlVc2VyUmF0aW5nVm90ZQAAAAIFAAAABHVzZXIFAAAABnZvdGluZwEAAAARZ2V0S2V5VGFza0Rpc3B1dGUAAAABAAAABHRhc2sJAAEsAAAAAgIAAAANdGFza19kaXNwdXRlXwUAAAAEdGFzawEAAAATZ2V0VmFsdWVUYXNrRGlzcHV0ZQAAAAEAAAAEdGFzawkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEWdldEtleVRhc2tEaXNwdXRlAAAAAQUAAAAEdGFzawEAAAAdZ2V0S2V5VGFza0Rpc3B1dGVWb3RlQ3VzdG9tZXIAAAABAAAABHRhc2sJAAEsAAAAAgIAAAASdGFza19kaXNwdm90ZV9jc3RfBQAAAAR0YXNrAQAAAB9nZXRWYWx1ZVRhc2tEaXNwdXRlVm90ZUN1c3RvbWVyAAAAAQAAAAR0YXNrCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAdZ2V0S2V5VGFza0Rpc3B1dGVWb3RlQ3VzdG9tZXIAAAABBQAAAAR0YXNrAQAAAB9nZXRLZXlUYXNrRGlzcHV0ZVZvdGVGcmVlbGFuY2VyAAAAAQAAAAR0YXNrCQABLAAAAAICAAAAEnRhc2tfZGlzcHZvdGVfZmxyXwUAAAAEdGFzawEAAAAhZ2V0VmFsdWVUYXNrRGlzcHV0ZVZvdGVGcmVlbGFuY2VyAAAAAQAAAAR0YXNrCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAfZ2V0S2V5VGFza0Rpc3B1dGVWb3RlRnJlZWxhbmNlcgAAAAEFAAAABHRhc2sBAAAAGGdldEtleVRhc2tEaXNwdXRlTWVzc2FnZQAAAAMAAAAEdGFzawAAAAZzZW5kZXIAAAACaWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA10YXNrX2Rpc3Btc2dfBQAAAAR0YXNrAgAAAAFfBQAAAAZzZW5kZXICAAAABF9pZDoFAAAAAmlkAQAAABpnZXRWYWx1ZVRhc2tEaXNwdXRlTWVzc2FnZQAAAAMAAAAEdGFzawAAAAZzZW5kZXIAAAACaWQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABhnZXRLZXlUYXNrRGlzcHV0ZU1lc3NhZ2UAAAADBQAAAAR0YXNrBQAAAAZzZW5kZXIFAAAAAmlkAQAAAB1nZXRLZXlUYXNrRGlzcHV0ZU1lc3NhZ2VCbG9jawAAAAMAAAAEdGFzawAAAAZzZW5kZXIAAAACaWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABF0YXNrX2Rpc3Btc2dfYmxrXwUAAAAEdGFzawIAAAABXwUAAAAGc2VuZGVyAgAAAARfaWQ6BQAAAAJpZAEAAAAfZ2V0VmFsdWVUYXNrRGlzcHV0ZU1lc3NhZ2VCbG9jawAAAAMAAAAEdGFzawAAAAZzZW5kZXIAAAACaWQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAB1nZXRLZXlUYXNrRGlzcHV0ZU1lc3NhZ2VCbG9jawAAAAMFAAAABHRhc2sFAAAABnNlbmRlcgUAAAACaWQBAAAAHGdldEtleVRhc2tEaXNwdXRlTWVzc2FnZXNDbnQAAAACAAAABHRhc2sAAAAEdXNlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAARdGFza19kaXNwbXNnX2NudF8FAAAABHRhc2sCAAAAAV8FAAAABHVzZXIBAAAAHmdldFZhbHVlVGFza0Rpc3B1dGVNZXNzYWdlc0NudAAAAAIAAAAEdGFzawAAAAR1c2VyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAcZ2V0S2V5VGFza0Rpc3B1dGVNZXNzYWdlc0NudAAAAAIFAAAABHRhc2sFAAAABHVzZXIBAAAAGGdldEtleVRhc2tEaXNwdXRlQ29tbWVudAAAAAIAAAAEdGFzawAAAAZzZW5kZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADXRhc2tfZGlzcGNvbV8FAAAABHRhc2sCAAAAAV8FAAAABnNlbmRlcgEAAAAaZ2V0VmFsdWVUYXNrRGlzcHV0ZUNvbW1lbnQAAAACAAAABHRhc2sAAAAGc2VuZGVyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAYZ2V0S2V5VGFza0Rpc3B1dGVDb21tZW50AAAAAgUAAAAEdGFzawUAAAAGc2VuZGVyAQAAAB1nZXRLZXlUYXNrRGlzcHV0ZUNvbW1lbnRCbG9jawAAAAIAAAAEdGFzawAAAAZzZW5kZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEXRhc2tfZGlzcGNvbV9ibGtfBQAAAAR0YXNrAgAAAAFfBQAAAAZzZW5kZXIBAAAAH2dldFZhbHVlVGFza0Rpc3B1dGVDb21tZW50QmxvY2sAAAACAAAABHRhc2sAAAAGc2VuZGVyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAdZ2V0S2V5VGFza0Rpc3B1dGVDb21tZW50QmxvY2sAAAACBQAAAAR0YXNrBQAAAAZzZW5kZXIBAAAAHGdldEtleVRhc2tEaXNwdXRlVm90ZVZhcmlhbnQAAAACAAAABHRhc2sAAAAEdXNlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANdGFza19kaXNwdmFyXwUAAAAEdGFzawIAAAABXwUAAAAEdXNlcgEAAAAeZ2V0VmFsdWVUYXNrRGlzcHV0ZVZvdGVWYXJpYW50AAAAAgAAAAR0YXNrAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABxnZXRLZXlUYXNrRGlzcHV0ZVZvdGVWYXJpYW50AAAAAgUAAAAEdGFzawUAAAAEdXNlcgEAAAAQZ2V0S2V5VXNlclJldmlldwAAAAIAAAAFdXNlcjEAAAAFdXNlcjIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3Jldmlld18FAAAABXVzZXIxAgAAAAFfBQAAAAV1c2VyMgEAAAASZ2V0VmFsdWVVc2VyUmV2aWV3AAAAAgAAAAV1c2VyMQAAAAV1c2VyMgkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleVVzZXJSZXZpZXcAAAACBQAAAAV1c2VyMQUAAAAFdXNlcjIAAAASAAAAAWkBAAAAFndpdGhkcmF3RGVjcnliZUJhbGFuY2UAAAABAAAABmFtb3VudAQAAAAHYWNjb3VudAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAdiYWxhbmNlCQEAAAAWZ2V0VmFsdWVEZWNyeWJlQmFsYW5jZQAAAAADCQAAAAAAAAIFAAAAB2FjY291bnQFAAAAB0NSRUFUT1IDCQAAZwAAAAIFAAAAB2JhbGFuY2UFAAAABmFtb3VudAkBAAAAC1RyYW5zZmVyU2V0AAAA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AARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA1nZXRLZXlVc2VyQmlvAAAAAQUAAAAHYWNjb3VudAUAAAAEZGF0YQUAAAADbmlsAAAAAWkBAAAAEnJlcG9ydENvbXBsZXRlVGFzawAAAAEAAAAEdGFzawQAAAAHYWNjb3VudAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAVzdGFnZQkAAGQAAAACCQEAAAAdZ2V0VmFsdWVUYXNrUmVwb3J0Q29tcGxldGVDbnQAAAACBQAAAAR0YXNrBQAAAAdhY2NvdW50AAAAAAAAAAABBAAAAAt0YXNrQ3JlYXRvcgkBAAAAEmdldFZhbHVlVGFza0F1dGhvcgAAAAEFAAAABHRhc2sEAAAABnN0YXR1cwkBAAAAEmdldFZhbHVlVGFza1N0YXR1cwAAAAEFAAAABHRhc2sEAAAAFWZyZWVsYW5jZXJNZXNzYWdlc0NudAkBAAAAF2dldFZhbHVlVXNlck1lc3NhZ2VzQ250AAAAAgUAAAAHYWNjb3VudAUAAAALdGFza0NyZWF0b3IEAAAAFWxhc3RGcmVlbGFuY2VyTWVzc2FnZQkBAAAAE2dldFZhbHVlVXNlck1lc3NhZ2UAAAADBQAAAAdhY2NvdW50BQAAAAt0YXNrQ3JlYXRvcgkAAaQAAAABBQAAABVmcmVlbGFuY2VyTWVzc2FnZXNDbnQDCQAAAAAAAAIJAQAAAA9nZXRWYWx1ZVVzZXJCaW8AAAABBQAAAAdhY2NvdW50BQAAAAROT05FCQAAAgAAAAECAAAAD1VzZXIgbm90IHNpZ251cAMJAAAAAAAAAgkBAAAAEmdldFZhbHVlVGFza0F1dGhvcgAAAAEFAAAABHRhc2sFAAAAB2FjY291bnQJAAACAAAAAQIAAAAOWW91IGFyZSBhdXRob3IDCQEAAAACIT0AAAACCQEAAAAWZ2V0VmFsdWVUYXNrRnJlZWxhbmNlcgAAAAEFAAAABHRhc2sFAAAAB2FjY291bnQJAAACAAAAAQIAAAAWWW91IGFyZSBub3QgZnJlZWxhbmNlcgMJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAAKSU5QUk9HUkVTUwkAAAIAAAABCQABLAAAAAICAAAAIVN0YXR1cyBtdXN0IGJlIGluIHByb2dyZXNzLCBub3c6IAUAAAAGc3RhdHVzAwkAAAAAAAACCQEAAAAWZ2V0VmFsdWVUYXNrRnJlZWxhbmNlcgAAAAEFAAAABHRhc2sFAAAABE5PTkUJAAACAAAAAQIAAAAcVGFzayBmcmVlbGFuY2VyIGRvZXNudCBleGlzdAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAGGdldEtleVRhc2tSZXBvcnRDb21wbGV0ZQAAAAMFAAAAB2FjY291bnQFAAAABHRhc2sJAAGkAAAAAQUAAAAFc3RhZ2UFAAAAFWZyZWVsYW5jZXJNZXNzYWdlc0NudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldEtleVRhc2tTdGF0dXMAAAABBQAAAAR0YXNrBQAAAAdQRU5ESU5HBQAAAANuaWwAAAABaQEAAAAKYWNjZXB0V29yawAAAAIAAAAEdGFzawAAAAhjb21wbGV0ZQQAAAAHYWNjb3VudAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAdjcmVhdG9yCQEAAAASZ2V0VmFsdWVUYXNrQXV0aG9yAAAAAQUAAAAEdGFzawQAAAAKZnJlZWxhbmNlcgkBAAAAFmdldFZhbHVlVGFza0ZyZWVsYW5jZXIAAAABBQAAAAR0YXNrBAAAAAVzdGFnZQkBAAAAHWdldFZhbHVlVGFza1JlcG9ydENvbXBsZXRlQ250AAAAAgUAAAAEdGFzawUAAAAKZnJlZWxhbmNlcgQAAAAGc3RhdHVzCQEAAAASZ2V0VmFsdWVUYXNrU3RhdHVzAAAAAQUAAAAEdGFzawQAAAAEYmFuawkBAAAAEGdldFZhbHVlVGFza0JhbmsAAAABBQAAAAR0YXNrAwkAAAAAAAACCQEAAAAPZ2V0VmFsdWVVc2VyQmlvAAAAAQUAAAAHYWNjb3VudAUAAAAETk9ORQkAAAIAAAABAgAAABFTZW5kZXIgbm90IHNpZ251cAMJAAAAAAAAAgkBAAAAEGdldFZhbHVlVGFza0RhdGEAAAABBQAAAAR0YXNrBQAAAAROT05FCQAAAgAAAAECAAAAEVRhc2sgZG9lc250IGV4aXN0AwkBAAAAAiE9AAAAAgUA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AgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAB1nZXRLZXlUYXNrRGlzcHV0ZVZvdGVDdXN0b21lcgAAAAEFAAAABHRhc2sJAABkAAAAAgkBAAAAH2dldFZhbHVlVGFza0Rpc3B1dGVWb3RlQ3VzdG9tZXIAAAABBQAAAAR0YXNrAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAcZ2V0S2V5VGFza0Rpc3B1dGVWb3RlVmFyaWFudAAAAAIFAAAABHRhc2sFAAAAB2FjY291bnQCAAAACGN1c3RvbWVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAYZ2V0S2V5VGFza0Rpc3B1dGVDb21tZW50AAAAAgUAAAAEdGFzawUAAAAHYWNjb3VudAUAAAAHbWVzc2FnZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHWdldEtleVRhc2tEaXNwdXRlQ29tbWVudEJsb2NrAAAAAgUAAAAEdGFzawUAAAAHYWNjb3VudAUAAAAGaGVpZ2h0BQAAAANuaWwDCQAAAAAAAAIFAAAAB3ZhcmlhbnQCAAAACmZyZWVsYW5jZXIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAB9nZXRLZXlUYXNrRGlzcHV0ZVZvdGVGcmVlbGFuY2VyAAAAAQUAAAAEdGFzawkAAGQAAAACCQEAAAAhZ2V0VmFsdWVUYXNrRGlzcHV0ZVZvdGVGcmVlbGFuY2VyAAAAAQUAAAAEdGFzawAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHGdldEtleVRhc2tEaXNwdXRlVm90ZVZhcmlhbnQAAAACBQAAAAR0YXNrBQAAAAdhY2NvdW50AgAAAApmcmVlbGFuY2VyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAYZ2V0S2V5VGFza0Rpc3B1dGVDb21tZW50AAAAAgUAAAAEdGFzawUAAAAHYWNjb3VudAUAAAAHbWVzc2FnZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHWdldEtleVRhc2tEaXNwdXRlQ29tbWVudEJsb2NrAAAAAgUAAAAE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aGUgdGFzayBub3cJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQZ2V0S2V5VGFza1N0YXR1cwAAAAEFAAAABHRhc2sFAAAACENBTkNFTEVEBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAAdjcmVhdG9yBQAAAARiYW5rBQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAATZGVmaW5lRGlzcHV0ZVdpbm5lcgAAAAEAAAAEdGFzawQAAAAHYWNjb3VudAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAhjdXN0b21lcgkBAAAAEmdldFZhbHVlVGFza0F1dGhvcgAAAAEFAAAABHRhc2sEAAAACmZyZWVsYW5jZXIJAQAAABZnZXRWYWx1ZVRhc2tGcmVlbGFuY2VyAAAAAQUAAAAEdGFzawQAAAAEYmFuawkBAAAAEGdldFZhbHVlVGFza0JhbmsAAAABBQAAAAR0YXNrBAAAABB2b3Rlc0ZvckN1c3RvbWVyCQEAAAAfZ2V0VmFsdWVUYXNrRGlzcHV0ZVZvdGVDdXN0b21lcgAAAAEFAAAABHRhc2sEAAAAEnZvdGVzRm9yRnJlZWxhbmNlcgkBAAAAIWdldFZhbHVlVGFza0Rpc3B1dGVWb3RlRnJlZWxhbmNlcgAAAAEFAAAABHRhc2sEAAAACnRvdGFsVm90ZXMJAABkAAAAAgUAAAAQdm90ZXNGb3JDdXN0b21lcgUAAAASdm90ZXNGb3JGcmVlbGFuY2VyAwkAAAAAAAACCQEAAAAPZ2V0VmFsdWVVc2VyQmlvAAAAAQUAAAAHYWNjb3VudAUAAAAETk9ORQkAAAIAAAABAgAAAA5Zb3Ugbm90IHNpZ251cAMJAQAAAAIhPQAAAAIJAQAAABJnZXRWYWx1ZVRhc2tTdGF0dXMAAAABBQAAAAR0YXNrBQAAAAlJTkRJU1BVVEUJAAACAAAAAQIAAAAhVGhlIGRpc3B1dGUgaXMgY2xvc2VkIG9yIG5v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", "chainId": 84, "height": 845996, "spentComplexity": 0 } View: original | compacted Prev: GTBCkBJ9jXzYY6HHXFd9bvE3Cf2rhC46Z6ZHorHK2Fgt Next: none Diff:
OldNewDifferences
570570 let ab = P(G)
571571 if ((W(V) == a))
572572 then throw("You not signup")
573- else if (if (if (if ((al != bj))
574- then (al != ab)
575- else false)
576- then (V != bj)
577- else false)
578- then (V != ab)
579- else false)
580- then throw("You have not worked with this user")
581- else if ((R(G) != h))
582- then throw("You can't leave feedback until the task is completed")
583- else if ((aO(V, al) != a))
584- then throw("have you already left a review for this user")
585- else WriteSet([DataEntry(aL(V, al), bn)])
573+ else if ((V == al))
574+ then throw("You can't leave a review for yourself")
575+ else if (if (if (if ((al != bj))
576+ then (al != ab)
577+ else false)
578+ then (V != bj)
579+ else false)
580+ then (V != ab)
581+ else false)
582+ then throw("You have not worked with this user")
583+ else if ((R(G) != h))
584+ then throw("You can't leave feedback until the task is completed")
585+ else if ((aO(V, al) != a))
586+ then throw("have you already left a review for this user")
587+ else WriteSet([DataEntry(aL(V, al), bn)])
586588 }
587589
588590
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "none"
55
66 let b = "featured"
77
88 let c = ""
99
1010 let d = "mod"
1111
1212 let e = "registered"
1313
1414 let f = "3MsTLizEg4vqNgD7ZVjhkPaZgsrN11JqzLJ"
1515
1616 let g = "in progress"
1717
1818 let h = "completed"
1919
2020 let i = "pending"
2121
2222 let j = "in dispute"
2323
2424 let k = "revision"
2525
2626 let l = "canceled"
2727
2828 let m = (2 / 100)
2929
3030 let n = 100000000
3131
3232 func o (p) = {
3333 let q = {
3434 let r = getString(this, p)
3535 if ($isInstanceOf(r, "String"))
3636 then {
3737 let s = r
3838 s
3939 }
4040 else a
4141 }
4242 q
4343 }
4444
4545
4646 func t (p) = {
4747 let u = {
4848 let r = getInteger(this, p)
4949 if ($isInstanceOf(r, "Int"))
5050 then {
5151 let s = r
5252 s
5353 }
5454 else 0
5555 }
5656 u
5757 }
5858
5959
6060 func v (w,x) = ((("msg_cnt_" + w) + "_") + x)
6161
6262
6363 func y (w,x) = t(v(w, x))
6464
6565
6666 func z (w,x,A) = ((((("msg_" + w) + "_") + x) + "_id:") + A)
6767
6868
6969 func B (w,x,C) = o(z(w, x, C))
7070
7171
7272 func D (w,x,C) = ((((("block_msg_" + w) + "_") + x) + "_id:") + C)
7373
7474
7575 func E (w,x,C) = o(D(w, x, C))
7676
7777
7878 func F (G) = ("datajson_" + G)
7979
8080
8181 func H (G) = o(F(G))
8282
8383
8484 func I (G) = ("author_" + G)
8585
8686
8787 func J (G) = o(I(G))
8888
8989
9090 func K (G) = ("block_" + G)
9191
9292
9393 func L (G) = t(K(G))
9494
9595
9696 func M (G) = ("bank_" + G)
9797
9898
9999 func N (G) = t(M(G))
100100
101101
102102 func O (G) = ("freelancer_" + G)
103103
104104
105105 func P (G) = o(O(G))
106106
107107
108108 func Q (G) = ("status_" + G)
109109
110110
111111 func R (G) = o(Q(G))
112112
113113
114114 func S (G) = ("expiration_block_" + G)
115115
116116
117117 func T (G) = t(S(G))
118118
119119
120120 func U (V) = ("user_bio_" + V)
121121
122122
123123 func W (V) = o(U(V))
124124
125125
126126 func X (V) = ("user_sts_" + V)
127127
128128
129129 func Y (V) = o(X(V))
130130
131131
132132 func Z (V) = ("user_blk_" + V)
133133
134134
135135 func aa (ab,G,ac) = ((((("rc_" + G) + "_") + ab) + "_stage:") + ac)
136136
137137
138138 func ad (ab,G,ac) = o(aa(ab, G, ac))
139139
140140
141141 func ae (G,ab) = ((("rc_cnt_" + G) + "_") + ab)
142142
143143
144144 func af (G,ab) = t(ae(G, ab))
145145
146146
147147 func ag () = "decrybe_balance"
148148
149149
150150 func ah () = t(ag())
151151
152152
153153 func ai (G) = ("task_rating_" + G)
154154
155155
156156 func aj (G) = t(ai(G))
157157
158158
159159 func ak (G,al) = ((("task_vote_" + G) + "_") + al)
160160
161161
162162 func am (G,al) = o(ak(G, al))
163163
164164
165165 func an (al) = ("user_rating_" + al)
166166
167167
168168 func ao (al) = t(an(al))
169169
170170
171171 func ap (al,aq) = (("user_vote_" + al) + aq)
172172
173173
174174 func ar (al,aq) = o(ap(al, aq))
175175
176176
177177 func as (G) = ("task_dispute_" + G)
178178
179179
180180 func at (G) = o(as(G))
181181
182182
183183 func au (G) = ("task_dispvote_cst_" + G)
184184
185185
186186 func av (G) = t(au(G))
187187
188188
189189 func aw (G) = ("task_dispvote_flr_" + G)
190190
191191
192192 func ax (G) = t(aw(G))
193193
194194
195195 func ay (G,az,A) = ((((("task_dispmsg_" + G) + "_") + az) + "_id:") + A)
196196
197197
198198 func aA (G,az,A) = o(ay(G, az, A))
199199
200200
201201 func aB (G,az,A) = ((((("task_dispmsg_blk_" + G) + "_") + az) + "_id:") + A)
202202
203203
204204 func aC (G,az,A) = o(aB(G, az, A))
205205
206206
207207 func aD (G,al) = ((("task_dispmsg_cnt_" + G) + "_") + al)
208208
209209
210210 func aE (G,al) = t(aD(G, al))
211211
212212
213213 func aF (G,az) = ((("task_dispcom_" + G) + "_") + az)
214214
215215
216216 func aG (G,az) = o(aF(G, az))
217217
218218
219219 func aH (G,az) = ((("task_dispcom_blk_" + G) + "_") + az)
220220
221221
222222 func aI (G,az) = o(aH(G, az))
223223
224224
225225 func aJ (G,al) = ((("task_dispvar_" + G) + "_") + al)
226226
227227
228228 func aK (G,al) = o(aJ(G, al))
229229
230230
231231 func aL (aM,aN) = ((("review_" + aM) + "_") + aN)
232232
233233
234234 func aO (aM,aN) = o(aL(aM, aN))
235235
236236
237237 @Callable(aP)
238238 func withdrawDecrybeBalance (aQ) = {
239239 let V = toBase58String(aP.caller.bytes)
240240 let aR = ah()
241241 if ((V == f))
242242 then if ((aR >= aQ))
243243 then TransferSet([ScriptTransfer(addressFromStringValue(V), aQ, unit)])
244244 else throw(("You cannot withdraw an amount greater than " + toString(aR)))
245245 else throw("You can't do that")
246246 }
247247
248248
249249
250250 @Callable(aP)
251251 func createTask (G,aS,aT) = {
252252 let V = toBase58String(aP.caller.bytes)
253253 let aU = extract(aP.payment)
254254 let aV = aU.amount
255255 let aW = ((aV / ((1 * n) + m)) * n)
256256 let aX = (aV - aW)
257257 if (isDefined(aU.assetId))
258258 then throw("Can use waves only at the moment")
259259 else if ((aV == 0))
260260 then throw("Amount must be higher then 0")
261261 else if ((J(G) != a))
262262 then throw("Task already exist")
263263 else if ((W(V) == a))
264264 then throw("User not signup")
265265 else WriteSet([DataEntry(I(G), V), DataEntry(K(G), height), DataEntry(S(G), (height + aS)), DataEntry(M(G), aW), DataEntry(Q(G), b), DataEntry(F(G), aT), DataEntry(ag(), (ah() + aX)), DataEntry(ai(G), 0)])
266266 }
267267
268268
269269
270270 @Callable(aP)
271271 func signUp (aT) = {
272272 let V = toBase58String(aP.caller.bytes)
273273 if ((W(V) != a))
274274 then throw("User already exist")
275275 else WriteSet([DataEntry(U(V), aT), DataEntry(Z(V), height), DataEntry(X(V), e)])
276276 }
277277
278278
279279
280280 @Callable(aP)
281281 func hireFreelancer (G,ab) = {
282282 let V = toBase58String(aP.caller.bytes)
283283 if ((H(G) == a))
284284 then throw("Task doesnt exist")
285285 else if ((W(V) == a))
286286 then throw("Customer not signup")
287287 else if ((W(ab) == a))
288288 then throw("Freelancer not signup")
289289 else if ((J(G) != V))
290290 then throw("You're not author")
291291 else if ((R(G) != b))
292292 then throw("Freelancer is no longer required")
293293 else if ((ab == V))
294294 then throw("You can't hire yourself")
295295 else if ((B(ab, V, "1") == a))
296296 then throw("The freelancer was not attached to the task")
297297 else WriteSet([DataEntry(O(G), ab), DataEntry(Q(G), g)])
298298 }
299299
300300
301301
302302 @Callable(aP)
303303 func sendMessage (G,x,aY) = {
304304 let V = toBase58String(aP.caller.bytes)
305305 let C = (y(V, x) + 1)
306306 if ((H(G) == a))
307307 then throw("Task doesnt exist")
308308 else if ((V == x))
309309 then throw("You can't send messages to yourself")
310310 else if ((W(V) == a))
311311 then throw("Sender not signup")
312312 else if ((W(x) == a))
313313 then throw("Recipient not singup")
314314 else WriteSet([DataEntry(v(V, x), C), DataEntry(z(V, x, toString(C)), aY), DataEntry(D(V, x, toString(C)), height)])
315315 }
316316
317317
318318
319319 @Callable(aP)
320320 func taskUpdate (G,aT) = {
321321 let V = toBase58String(aP.caller.bytes)
322322 if ((W(V) == a))
323323 then throw("User not signup")
324324 else if ((H(G) == a))
325325 then throw("Task doesnt exist")
326326 else if ((J(G) != V))
327327 then throw("You're not author")
328328 else if ((R(G) != b))
329329 then throw("Editing tasks is not available after hiring a freelancer")
330330 else WriteSet([DataEntry(F(G), aT)])
331331 }
332332
333333
334334
335335 @Callable(aP)
336336 func userUpdate (aT) = {
337337 let V = toBase58String(aP.caller.bytes)
338338 if ((W(V) == a))
339339 then throw("User not signup")
340340 else WriteSet([DataEntry(U(V), aT)])
341341 }
342342
343343
344344
345345 @Callable(aP)
346346 func reportCompleteTask (G) = {
347347 let V = toBase58String(aP.caller.bytes)
348348 let ac = (af(G, V) + 1)
349349 let aZ = J(G)
350350 let ba = R(G)
351351 let bb = y(V, aZ)
352352 let bc = B(V, aZ, toString(bb))
353353 if ((W(V) == a))
354354 then throw("User not signup")
355355 else if ((J(G) == V))
356356 then throw("You are author")
357357 else if ((P(G) != V))
358358 then throw("You are not freelancer")
359359 else if ((ba != g))
360360 then throw(("Status must be in progress, now: " + ba))
361361 else if ((P(G) == a))
362362 then throw("Task freelancer doesnt exist")
363363 else WriteSet([DataEntry(aa(V, G, toString(ac)), bb), DataEntry(Q(G), i)])
364364 }
365365
366366
367367
368368 @Callable(aP)
369369 func acceptWork (G,bd) = {
370370 let V = toBase58String(aP.caller.bytes)
371371 let be = J(G)
372372 let ab = P(G)
373373 let ac = af(G, ab)
374374 let ba = R(G)
375375 let bf = N(G)
376376 if ((W(V) == a))
377377 then throw("Sender not signup")
378378 else if ((H(G) == a))
379379 then throw("Task doesnt exist")
380380 else if ((V != be))
381381 then throw("You are not author")
382382 else if ((ba != i))
383383 then throw("Freelancer doesnt complete the task")
384384 else if (bd)
385385 then ScriptResult(WriteSet([DataEntry(Q(G), h), DataEntry(an(ab), (ao(ab) + 1)), DataEntry(ap(V, ab), "positive"), DataEntry(M(G), "0")]), TransferSet([ScriptTransfer(addressFromStringValue(ab), bf, unit)]))
386386 else WriteSet([DataEntry(Q(G), g)])
387387 }
388388
389389
390390
391391 @Callable(aP)
392392 func moveDeadline (G,bg) = {
393393 let V = toBase58String(aP.caller.bytes)
394394 let be = J(G)
395395 let aS = T(G)
396396 let ba = R(G)
397397 if ((ba == h))
398398 then throw("The task is completed")
399399 else if ((ba == j))
400400 then throw("You can't change the deadline at this time")
401401 else if ((V != be))
402402 then throw("You are not author of the task")
403403 else if ((height > bg))
404404 then throw("The deadline must be > the current block")
405405 else if ((aS > bg))
406406 then throw("The deadline can only be moved forward")
407407 else WriteSet([DataEntry(S(G), bg)])
408408 }
409409
410410
411411
412412 @Callable(aP)
413413 func voteTask (G,bh) = {
414414 let V = toBase58String(aP.caller.bytes)
415415 if ((W(V) == a))
416416 then throw("User not signup")
417417 else if ((J(G) == V))
418418 then throw("You cannot change the rating of a task")
419419 else if ((H(G) == a))
420420 then throw("Task doesnt exist")
421421 else if ((R(G) != b))
422422 then throw("Now you can’t lower the task rating")
423423 else if ((am(G, V) != a))
424424 then throw("You have already voted")
425425 else if ((bh == "positive"))
426426 then WriteSet([DataEntry(ai(G), (aj(G) + 1)), DataEntry(ak(G, V), "positive")])
427427 else if ((bh == "negative"))
428428 then WriteSet([DataEntry(ai(G), (aj(G) - 1)), DataEntry(ak(G, V), "negative")])
429429 else throw("Use positive/negative only")
430430 }
431431
432432
433433
434434 @Callable(aP)
435435 func reportUser (al) = {
436436 let V = toBase58String(aP.caller.bytes)
437437 if ((W(V) == a))
438438 then throw("You not signup")
439439 else if ((W(al) == a))
440440 then throw("User not signup")
441441 else if ((al == V))
442442 then throw("You can't complain about yourself")
443443 else if ((ar(V, al) != a))
444444 then throw("You have already voted")
445445 else WriteSet([DataEntry(an(al), (ao(al) - 1)), DataEntry(ap(V, al), "negative")])
446446 }
447447
448448
449449
450450 @Callable(aP)
451451 func openTaskDispute (G,aY) = {
452452 let V = toBase58String(aP.caller.bytes)
453453 let be = J(G)
454454 let ab = P(G)
455455 let ba = R(G)
456456 if ((W(V) == a))
457457 then throw("You not signup")
458458 else if ((H(G) == a))
459459 then throw("Task doesnt exist")
460460 else if (if ((V != be))
461461 then (V != ab)
462462 else false)
463463 then throw((((("You must be a freelancer (" + ab) + ") or a customer (") + be) + ") of this task"))
464464 else if ((ba == j))
465465 then throw("Dispute already open")
466466 else if (if ((ba != g))
467467 then (ba != i)
468468 else false)
469469 then throw("You can't create a dispute right now")
470470 else WriteSet([DataEntry(as(G), V), DataEntry(ay(G, V, "0"), aY), DataEntry(aB(G, V, "0"), height), DataEntry(Q(G), j)])
471471 }
472472
473473
474474
475475 @Callable(aP)
476476 func voteTaskDispute (G,bi,aY) = {
477477 let V = toBase58String(aP.caller.bytes)
478478 let be = J(G)
479479 let ab = P(G)
480480 if ((W(V) == a))
481481 then throw("You not signup")
482482 else if ((H(G) == a))
483483 then throw("Task doesnt exist")
484484 else if ((at(G) == a))
485485 then throw("Dispute doesnt exist")
486486 else if ((V == be))
487487 then throw("The creator of the task can not vote")
488488 else if ((V == ab))
489489 then throw("The freelancer of the task can not vote")
490490 else if ((aK(G, V) != a))
491491 then throw("You have already voted")
492492 else if ((bi == "customer"))
493493 then WriteSet([DataEntry(au(G), (av(G) + 1)), DataEntry(aJ(G, V), "customer"), DataEntry(aF(G, V), aY), DataEntry(aH(G, V), height)])
494494 else if ((bi == "freelancer"))
495495 then WriteSet([DataEntry(aw(G), (ax(G) + 1)), DataEntry(aJ(G, V), "freelancer"), DataEntry(aF(G, V), aY), DataEntry(aH(G, V), height)])
496496 else throw("Select one of the sides")
497497 }
498498
499499
500500
501501 @Callable(aP)
502502 func taskDisputeMessage (G,aY) = {
503503 let V = toBase58String(aP.caller.bytes)
504504 let be = J(G)
505505 let ab = P(G)
506506 let C = (aE(G, V) + 1)
507507 if ((W(V) == a))
508508 then throw("You not signup")
509509 else if ((H(G) == a))
510510 then throw("Task doesnt exist")
511511 else if ((at(G) == a))
512512 then throw("Dispute doesnt exist")
513513 else if (if ((V != be))
514514 then (V != ab)
515515 else false)
516516 then throw((((("You must be a freelancer (" + ab) + ") or a customer (") + be) + ") of this task"))
517517 else if ((R(G) != j))
518518 then throw("You cannot send messages at this time")
519519 else WriteSet([DataEntry(ay(G, V, toString(C)), aY), DataEntry(aB(G, V, toString(C)), height), DataEntry(aD(G, V), C)])
520520 }
521521
522522
523523
524524 @Callable(aP)
525525 func cancelTask (G) = {
526526 let V = toBase58String(aP.caller.bytes)
527527 let be = J(G)
528528 let bf = N(G)
529529 if ((W(V) == a))
530530 then throw("You not signup")
531531 else if ((H(G) == a))
532532 then throw("Task doesnt exist")
533533 else if ((V != be))
534534 then throw("You are not author of the task")
535535 else if ((R(G) != b))
536536 then throw("You can't cancel the task now")
537537 else ScriptResult(WriteSet([DataEntry(Q(G), l)]), TransferSet([ScriptTransfer(addressFromStringValue(be), bf, unit)]))
538538 }
539539
540540
541541
542542 @Callable(aP)
543543 func defineDisputeWinner (G) = {
544544 let V = toBase58String(aP.caller.bytes)
545545 let bj = J(G)
546546 let ab = P(G)
547547 let bf = N(G)
548548 let bk = av(G)
549549 let bl = ax(G)
550550 let bm = (bk + bl)
551551 if ((W(V) == a))
552552 then throw("You not signup")
553553 else if ((R(G) != j))
554554 then throw("The dispute is closed or not open")
555555 else if ((3 > bm))
556556 then throw(("Need minimum 3 votes. Now: " + toString(bm)))
557557 else if ((bk > bl))
558558 then ScriptResult(WriteSet([DataEntry(Q(G), h)]), TransferSet([ScriptTransfer(addressFromStringValue(bj), bf, unit)]))
559559 else if ((bl > bk))
560560 then ScriptResult(WriteSet([DataEntry(Q(G), h)]), TransferSet([ScriptTransfer(addressFromStringValue(ab), bf, unit)]))
561561 else ScriptResult(WriteSet([DataEntry(Q(G), h)]), TransferSet([ScriptTransfer(addressFromStringValue(ab), (bf / 2), unit), ScriptTransfer(addressFromStringValue(bj), (bf / 2), unit)]))
562562 }
563563
564564
565565
566566 @Callable(aP)
567567 func leaveUserReview (al,G,bn) = {
568568 let V = toBase58String(aP.caller.bytes)
569569 let bj = J(G)
570570 let ab = P(G)
571571 if ((W(V) == a))
572572 then throw("You not signup")
573- else if (if (if (if ((al != bj))
574- then (al != ab)
575- else false)
576- then (V != bj)
577- else false)
578- then (V != ab)
579- else false)
580- then throw("You have not worked with this user")
581- else if ((R(G) != h))
582- then throw("You can't leave feedback until the task is completed")
583- else if ((aO(V, al) != a))
584- then throw("have you already left a review for this user")
585- else WriteSet([DataEntry(aL(V, al), bn)])
573+ else if ((V == al))
574+ then throw("You can't leave a review for yourself")
575+ else if (if (if (if ((al != bj))
576+ then (al != ab)
577+ else false)
578+ then (V != bj)
579+ else false)
580+ then (V != ab)
581+ else false)
582+ then throw("You have not worked with this user")
583+ else if ((R(G) != h))
584+ then throw("You can't leave feedback until the task is completed")
585+ else if ((aO(V, al) != a))
586+ then throw("have you already left a review for this user")
587+ else WriteSet([DataEntry(aL(V, al), bn)])
586588 }
587589
588590

github/deemru/w8io/169f3d6 
94.32 ms