tx · 2MNdAPHfJNSwHpgqiX4Ut5z4p6KNYgV6MfDqe7F3Tfyk

3Mw6K53hftyg2kR7SgmrRvpSCWbyyukNQh9:  -0.01000000 Waves

2020.04.20 20:30 [963104] smart account 3Mw6K53hftyg2kR7SgmrRvpSCWbyyukNQh9 > SELF 0.00000000 Waves

{ "type": 13, "id": "2MNdAPHfJNSwHpgqiX4Ut5z4p6KNYgV6MfDqe7F3Tfyk", "fee": 1000000, "feeAssetId": null, "timestamp": 1587403732350, "version": 1, "sender": "3Mw6K53hftyg2kR7SgmrRvpSCWbyyukNQh9", "senderPublicKey": "F9L1P95zgdEocovMFpakNYLKeuqBXBdoat3SW7rx6dsc", "proofs": [ "3FENc3rcGhBLFG15ffQAd3wfKwm1yukKkF9Acy1ebdUG2LqbuFSXuGF3W4nqWoVuDKBAtjGXjpSw6dNySB1uD4zH" ], "script": "base64:AAIDAAAAAAAAAB0IARIPCg0ICAgIAQEBCAgICAEIEggKBgEBAQEBAQAAACYAAAAAF3Jlc2N1ZVRpbWVDb25kaXRpb25MZXNzAgAAAARsZXNzAAAAABdyZXNjdWVUaW1lQ29uZGl0aW9uTW9yZQIAAAAEbW9yZQAAAAAgcmVzY3VlVGltZUNhdGVnb3J5VmVyeVByb2R1Y3RpdmUCAAAADnZlcnlQcm9kdWN0aXZlAAAAABxyZXNjdWVUaW1lQ2F0ZWdvcnlQcm9kdWN0aXZlAgAAAApwcm9kdWN0aXZlAAAAABlyZXNjdWVUaW1lQ2F0ZWdvcnlOZXV0cmFsAgAAAAduZXV0cmFsAAAAAB1yZXNjdWVUaW1lQ2F0ZWdvcnlEaXN0cmFjdGluZwIAAAALZGlzdHJhY3RpbmcAAAAAIXJlc2N1ZVRpbWVDYXRlZ29yeVZlcnlEaXN0cmFjdGluZwIAAAAPdmVyeURpc3RyYWN0aW5nAAAAAA1zdGF0dXNQZW5kaW5nAgAAAAdwZW5kaW5nAAAAAAxzdGF0dXNBY3RpdmUCAAAABmFjdGl2ZQAAAAALc3RhdHVzUGF1c2UCAAAABXBhdXNlAAAAAA1zdGF0dXNTdWNjZXNzAgAAAAdzdWNjZXNzAAAAAApzdGF0dXNGYWlsAgAAAARmYWlsAAAAAB1pbnRlZ3JhdGlvblNlcnZpY2VzUmVzY3VlVGltZQIAAAAKcmVzY3VlVGltZQAAAAANd2Vla0RheU1vbmRheQIAAAAGbW9uZGF5AAAAAA53ZWVrRGF5VHVlc2RheQIAAAAHdHVlc2RheQAAAAAQd2Vla0RheVdlZG5lc2RheQIAAAAJd2VkbmVzZGF5AAAAAA93ZWVrRGF5VGh1cnNkYXkCAAAACHRodXJzZGF5AAAAAA13ZWVrRGF5RnJpZGF5AgAAAAZmcmlkYXkAAAAAD3dlZWtEYXlTYXR1cmRheQIAAAAIc2F0dXJkYXkAAAAADXdlZWtEYXlTdW5kYXkCAAAABnN1bmRheQAAAAAJc3RhdHVzS2V5AgAAAAZzdGF0dXMBAAAAE3Rocm93VW5kZWZpbmVkRXJyb3IAAAAACQAAAgAAAAECAAAADnVuZGVmaW5lZEVycm9yAQAAABZ0aHJvd091dGRhdGVkR29hbEVycm9yAAAAAAkAAAIAAAABAgAAABFvdXRkYXRlZEdvYWxFcnJvcgEAAAAXdGhyb3dOb3RBY3RpdmVHb2FsRXJyb3IAAAAACQAAAgAAAAECAAAAEm5vdEFjdGl2ZUdvYWxFcnJvcgEAAAASZ2V0SW50ZWdlclJlY29yZE9yAAAAAwAAAA5hY2NvdW50QWRkcmVzcwAAAANrZXkAAAAHZGVmYXVsdAMJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAADa2V5BQAAAAdkZWZhdWx0AQAAABBnZXRJbnRlZ2VyUmVjb3JkAAAAAgAAAA5hY2NvdW50QWRkcmVzcwAAAANrZXkJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAA2tleQEAAAAQc2V0SW50ZWdlclJlY29yZAAAAAIAAAADa2V5AAAABXZhbHVlCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAADa2V5BQAAAAV2YWx1ZQEAAAALZ2V0U3RyaW5nT3IAAAADAAAADmFjY291bnRBZGRyZXNzAAAAA2tleQAAAAdkZWZhdWx0AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAANrZXkFAAAAB2RlZmF1bHQBAAAAD2dldFN0cmluZ1JlY29yZAAAAAIAAAAOYWNjb3VudEFkZHJlc3MAAAADa2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAANrZXkBAAAAD3NldFN0cmluZ1JlY29yZAAAAAIAAAADa2V5AAAABXZhbHVlCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAADa2V5BQAAAAV2YWx1ZQEAAAAQZ2V0Qm9vbGVhblJlY29yZAAAAAIAAAAOYWNjb3VudEFkZHJlc3MAAAADa2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1MSkAAAACBQAAAAR0aGlzBQAAAANrZXkBAAAAEHNldEJvb2xlYW5SZWNvcmQAAAACAAAAA2tleQAAAAV2YWx1ZQkBAAAACURhdGFFbnRyeQAAAAIFAAAAA2tleQUAAAAFdmFsdWUBAAAAD2dldEJpbmFyeVJlY29yZAAAAAIAAAAOYWNjb3VudEFkZHJlc3MAAAADa2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1MikAAAACBQAAAAR0aGlzBQAAAANrZXkBAAAAD3NldEJpbmFyeVJlY29yZAAAAAIAAAADa2V5AAAABXZhbHVlCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAADa2V5BQAAAAV2YWx1ZQEAAAAPaXNSZWNvcmREZWZpbmVkAAAAAQAAAANrZXkDAwMJAQAAAAlpc0RlZmluZWQAAAABCQAEHAAAAAIFAAAABHRoaXMFAAAAA2tleQYJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQYJAQAAAAlpc0RlZmluZWQAAAABCQAEGwAAAAIFAAAABHRoaXMFAAAAA2tleQYJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQEAAAAdc2V0UmVjdWV0aW1lUmVjb3JkU3RhdHVzVmFsdWUAAAAGAAAABGRhdGUAAAAOdmVyeVByb2R1Y3RpdmUAAAAKcHJvZHVjdGl2ZQAAAAduZXV0cmFsAAAAC2Rpc3RyYWN0aW5nAAAAD3ZlcnlEaXN0cmFjdGluZwQAAAAPcmVjb3JkU3RhdHVzS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAIcmVjb3JkXzwJAAGkAAAAAQUAAAAEZGF0ZQIAAAABPgQAAAAZcmVzY3VlVGltZUNvbmRpdGlvbkFtb3VudAkBAAAAEmdldEludGVnZXJSZWNvcmRPcgAAAAMFAAAABHRoaXMCAAAAGXJlc2N1ZVRpbWVDb25kaXRpb25BbW91bnQAAAAAAAAAAAAEAAAAE3Jlc2N1ZVRpbWVDb25kaXRpb24JAQAAAA9nZXRTdHJpbmdSZWNvcmQAAAACBQAAAAR0aGlzAgAAABNyZXNjdWVUaW1lQ29uZGl0aW9uBAAAABJyZXNjdWVUaW1lQ2F0ZWdvcnkJAQAAAA9nZXRTdHJpbmdSZWNvcmQAAAACBQAAAAR0aGlzAgAAABJyZXNjdWVUaW1lQ2F0ZWdvcnkEAAAAC3N0YXR1c1ZhbHVlAwkAAAAAAAACBQAAABNyZXNjdWVUaW1lQ29uZGl0aW9uBQAAABdyZXNjdWVUaW1lQ29uZGl0aW9uTGVzcwMJAAAAAAAAAgUAAAAScmVzY3VlVGltZUNhdGVnb3J5BQAAACByZXNjdWVUaW1lQ2F0ZWdvcnlWZXJ5UHJvZHVjdGl2ZQkAAGcAAAACBQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50BQAAAA52ZXJ5UHJvZHVjdGl2ZQMJAAAAAAAAAgUAAAAScmVzY3VlVGltZUNhdGVnb3J5BQAAABxyZXNjdWVUaW1lQ2F0ZWdvcnlQcm9kdWN0aXZlCQAAZwAAAAIFAAAAGXJlc2N1ZVRpbWVDb25kaXRpb25BbW91bnQFAAAACnByb2R1Y3RpdmUDCQAAAAAAAAIFAAAAEnJlc2N1ZVRpbWVDYXRlZ29yeQUAAAAZcmVzY3VlVGltZUNhdGVnb3J5TmV1dHJhbAkAAGcAAAACBQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50BQAAAAduZXV0cmFsAwkAAAAAAAACBQAAABJyZXNjdWVUaW1lQ2F0ZWdvcnkFAAAAHXJlc2N1ZVRpbWVDYXRlZ29yeURpc3RyYWN0aW5nCQAAZwAAAAIFAAAAGXJlc2N1ZVRpbWVDb25kaXRpb25BbW91bnQFAAAAC2Rpc3RyYWN0aW5nCQAAZwAAAAIFAAAAGXJlc2N1ZVRpbWVDb25kaXRpb25BbW91bnQFAAAAD3ZlcnlEaXN0cmFjdGluZwMJAAAAAAAAAgUAAAAScmVzY3VlVGltZUNhdGVnb3J5BQAAACByZXNjdWVUaW1lQ2F0ZWdvcnlWZXJ5UHJvZHVjdGl2ZQkAAGcAAAACBQAAAA52ZXJ5UHJvZHVjdGl2ZQUAAAAZcmVzY3VlVGltZUNvbmRpdGlvbkFtb3VudAMJAAAAAAAAAgUAAAAScmVzY3VlVGltZUNhdGVnb3J5BQAAABxyZXNjdWVUaW1lQ2F0ZWdvcnlQcm9kdWN0aXZlCQAAZwAAAAIFAAAACnByb2R1Y3RpdmUFAAAAGXJlc2N1ZVRpbWVDb25kaXRpb25BbW91bnQDCQAAAAAAAAIFAAAAEnJlc2N1ZVRpbWVDYXRlZ29yeQUAAAAZcmVzY3VlVGltZUNhdGVnb3J5TmV1dHJhbAkAAGcAAAACBQAAAAduZXV0cmFsBQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50AwkAAAAAAAACBQAAABJyZXNjdWVUaW1lQ2F0ZWdvcnkFAAAAHXJlc2N1ZVRpbWVDYXRlZ29yeURpc3RyYWN0aW5nCQAAZwAAAAIFAAAAC2Rpc3RyYWN0aW5nBQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50CQAAZwAAAAIFAAAAD3ZlcnlEaXN0cmFjdGluZwUAAAAZcmVzY3VlVGltZUNvbmRpdGlvbkFtb3VudAkBAAAAEHNldEJvb2xlYW5SZWNvcmQAAAACBQAAAA9yZWNvcmRTdGF0dXNLZXkFAAAAC3N0YXR1c1ZhbHVlAQAAABRnZXRDYXRlZ29yeVJlY29yZEtleQAAAAIAAAAEZGF0ZQAAACByZXNjdWVUaW1lQ2F0ZWdvcnlWZXJ5UHJvZHVjdGl2ZQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhyZWNvcmRfPAkAAaQAAAABBQAAAARkYXRlAgAAAA0+X19jYXRlZ29yeV88BQAAACByZXNjdWVUaW1lQ2F0ZWdvcnlWZXJ5UHJvZHVjdGl2ZQIAAAABPgEAAAAWc2V0Q2F0ZWdvcnlSZWNvcmRWYWx1ZQAAAAMAAAAEZGF0ZQAAAAhjYXRlZ29yeQAAAAV2YWx1ZQkBAAAAEHNldEludGVnZXJSZWNvcmQAAAACCQEAAAAUZ2V0Q2F0ZWdvcnlSZWNvcmRLZXkAAAACBQAAAARkYXRlBQAAAAhjYXRlZ29yeQUAAAAFdmFsdWUAAAACAAAAAWkBAAAABXNldHVwAAAADQAAAAt1c2VyQWRkcmVzcwAAABJpbnRlZ3JhdGlvblNlcnZpY2UAAAAEbmFtZQAAAAtkZXNjcmlwdGlvbgAAAAlzdGFydERhdGUAAAAHZW5kRGF0ZQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50AAAAE3Jlc2N1ZVRpbWVDb25kaXRpb24AAAAScmVzY3VlVGltZUNhdGVnb3J5AAAACXRyYWNrRGF5cwAAAAxhdHRlbXBzQ291bnQAAAADYmV0AAAACGJldEFzc2V0CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAAAt1c2VyQWRkcmVzcwUAAAALdXNlckFkZHJlc3MJAARMAAAAAgkBAAAAD3NldFN0cmluZ1JlY29yZAAAAAICAAAABnN0YXR1cwUAAAAMc3RhdHVzQWN0aXZlCQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAABJpbnRlZ3JhdGlvblNlcnZpY2UFAAAAHWludGVncmF0aW9uU2VydmljZXNSZXNjdWVUaW1lCQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAAARuYW1lBQAAAARuYW1lCQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAAAtkZXNjcmlwdGlvbgUAAAALZGVzY3JpcHRpb24JAARMAAAAAgkBAAAAEHNldEludGVnZXJSZWNvcmQAAAACAgAAAAlzdGFydERhdGUFAAAACXN0YXJ0RGF0ZQkABEwAAAACCQEAAAAQc2V0SW50ZWdlclJlY29yZAAAAAICAAAAB2VuZERhdGUFAAAAB2VuZERhdGUJAARMAAAAAgkBAAAAEHNldEludGVnZXJSZWNvcmQAAAACAgAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50BQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50CQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAABNyZXNjdWVUaW1lQ29uZGl0aW9uBQAAABNyZXNjdWVUaW1lQ29uZGl0aW9uCQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAABJyZXNjdWVUaW1lQ2F0ZWdvcnkFAAAAEnJlc2N1ZVRpbWVDYXRlZ29yeQkABEwAAAACCQEAAAAPc2V0U3RyaW5nUmVjb3JkAAAAAgIAAAAJdHJhY2tEYXlzBQAAAAl0cmFja0RheXMJAARMAAAAAgkBAAAAD3NldFN0cmluZ1JlY29yZAAAAAICAAAADGF0dGVtcHNDb3VudAUAAAAMYXR0ZW1wc0NvdW50CQAETAAAAAIJAQAAABBzZXRJbnRlZ2VyUmVjb3JkAAAAAgIAAAATZmFpbGVkQXR0ZW1wdHNDb3VudAAAAAAAAAAAAAkABEwAAAACCQEAAAAQc2V0SW50ZWdlclJlY29yZAAAAAICAAAAA2JldAUAAAADYmV0CQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAAAhiZXRBc3NldAUAAAAIYmV0QXNzZXQFAAAAA25pbAAAAAFpAQAAAAlhZGRSZWNvcmQAAAAGAAAABGRhdGUAAAAOdmVyeVByb2R1Y3RpdmUAAAAKcHJvZHVjdGl2ZQAAAAduZXV0cmFsAAAAC2Rpc3RyYWN0aW5nAAAAD3ZlcnlEaXN0cmFjdGluZwQAAAASc3RhcnREYXRlVGltZXN0YW1wCQEAAAASZ2V0SW50ZWdlclJlY29yZE9yAAAAAwUAAAAEdGhpcwIAAAAJc3RhcnREYXRlAAAAAAAAAAAABAAAABBlbmREYXRlVGltZXN0YW1wCQEAAAASZ2V0SW50ZWdlclJlY29yZE9yAAAAAwUAAAAEdGhpcwIAAAAHZW5kRGF0ZQAAAAAAAAAAAAQAAAAOaXNPdXRkYXRlZEdvYWwDCQAAZgAAAAIFAAAAEnN0YXJ0RGF0ZVRpbWVzdGFtcAUAAAAEZGF0ZQkAAGYAAAACBQAAAARkYXRlBQAAABBlbmREYXRlVGltZXN0YW1wBwQAAAARaXNOb3RBY3RpdmVTdGF0dXMJAQAAAAIhPQAAAAIJAQAAAA9nZXRTdHJpbmdSZWNvcmQAAAACBQAAAAR0aGlzAgAAAAZzdGF0dXMFAAAADXN0YXR1c1BlbmRpbmcDBQAAAA5pc091dGRhdGVkR29hbAkBAAAAFnRocm93T3V0ZGF0ZWRHb2FsRXJyb3IAAAAAAwUAAAARaXNOb3RBY3RpdmVTdGF0dXMJAQAAABd0aHJvd05vdEFjdGl2ZUdvYWxFcnJvcgAAAAAJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAAFnNldENhdGVnb3J5UmVjb3JkVmFsdWUAAAADBQAAAARkYXRlBQAAACByZXNjdWVUaW1lQ2F0ZWdvcnlWZXJ5UHJvZHVjdGl2ZQUAAAAOdmVyeVByb2R1Y3RpdmUJAARMAAAAAgkBAAAAFnNldENhdGVnb3J5UmVjb3JkVmFsdWUAAAADBQAAAARkYXRlBQAAABxyZXNjdWVUaW1lQ2F0ZWdvcnlQcm9kdWN0aXZlBQAAAApwcm9kdWN0aXZlCQAETAAAAAIJAQAAABZzZXRDYXRlZ29yeVJlY29yZFZhbHVlAAAAAwUAAAAEZGF0ZQUAAAAZcmVzY3VlVGltZUNhdGVnb3J5TmV1dHJhbAUAAAAHbmV1dHJhbAkABEwAAAACCQEAAAAWc2V0Q2F0ZWdvcnlSZWNvcmRWYWx1ZQAAAAMFAAAABGRhdGUFAAAAHXJlc2N1ZVRpbWVDYXRlZ29yeURpc3RyYWN0aW5nBQAAAAtkaXN0cmFjdGluZwkABEwAAAACCQEAAAAWc2V0Q2F0ZWdvcnlSZWNvcmRWYWx1ZQAAAAMFAAAABGRhdGUFAAAAIXJlc2N1ZVRpbWVDYXRlZ29yeVZlcnlEaXN0cmFjdGluZwUAAAAPdmVyeURpc3RyYWN0aW5nCQAETAAAAAIJAQAAABZzZXRDYXRlZ29yeVJlY29yZFZhbHVlAAAAAwUAAAAEZGF0ZQUAAAAhcmVzY3VlVGltZUNhdGVnb3J5VmVyeURpc3RyYWN0aW5nBQAAAA92ZXJ5RGlzdHJhY3RpbmcJAARMAAAAAgkBAAAAHXNldFJlY3VldGltZVJlY29yZFN0YXR1c1ZhbHVlAAAABgUAAAAEZGF0ZQUAAAAOdmVyeVByb2R1Y3RpdmUFAAAACnByb2R1Y3RpdmUFAAAAB25ldXRyYWwFAAAAC2Rpc3RyYWN0aW5nBQAAAA92ZXJ5RGlzdHJhY3RpbmcFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABdJbnZva2VTY3JpcHRUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkHY5dxhQ==", "chainId": 84, "height": 963104, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let rescueTimeConditionLess = "less"
5+
6+let rescueTimeConditionMore = "more"
7+
8+let rescueTimeCategoryVeryProductive = "veryProductive"
9+
10+let rescueTimeCategoryProductive = "productive"
11+
12+let rescueTimeCategoryNeutral = "neutral"
13+
14+let rescueTimeCategoryDistracting = "distracting"
15+
16+let rescueTimeCategoryVeryDistracting = "veryDistracting"
17+
18+let statusPending = "pending"
19+
20+let statusActive = "active"
21+
22+let statusPause = "pause"
23+
24+let statusSuccess = "success"
25+
26+let statusFail = "fail"
27+
28+let integrationServicesRescueTime = "rescueTime"
29+
30+let weekDayMonday = "monday"
31+
32+let weekDayTuesday = "tuesday"
33+
34+let weekDayWednesday = "wednesday"
35+
36+let weekDayThursday = "thursday"
37+
38+let weekDayFriday = "friday"
39+
40+let weekDaySaturday = "saturday"
41+
42+let weekDaySunday = "sunday"
43+
44+let statusKey = "status"
45+
46+func throwUndefinedError () = throw("undefinedError")
47+
48+
49+func throwOutdatedGoalError () = throw("outdatedGoalError")
50+
51+
52+func throwNotActiveGoalError () = throw("notActiveGoalError")
53+
54+
55+func getIntegerRecordOr (accountAddress,key,default) = if (isDefined(getInteger(this, key)))
56+ then getIntegerValue(this, key)
57+ else default
58+
59+
60+func getIntegerRecord (accountAddress,key) = getIntegerValue(this, key)
61+
62+
63+func setIntegerRecord (key,value) = DataEntry(key, value)
64+
65+
66+func getStringOr (accountAddress,key,default) = if (isDefined(getInteger(this, key)))
67+ then getStringValue(this, key)
68+ else default
69+
70+
71+func getStringRecord (accountAddress,key) = getStringValue(this, key)
72+
73+
74+func setStringRecord (key,value) = DataEntry(key, value)
75+
76+
77+func getBooleanRecord (accountAddress,key) = getBooleanValue(this, key)
78+
79+
80+func setBooleanRecord (key,value) = DataEntry(key, value)
81+
82+
83+func getBinaryRecord (accountAddress,key) = getBinaryValue(this, key)
84+
85+
86+func setBinaryRecord (key,value) = DataEntry(key, value)
87+
88+
89+func isRecordDefined (key) = if (if (if (isDefined(getBinary(this, key)))
90+ then true
91+ else isDefined(getString(this, key)))
92+ then true
93+ else isDefined(getBoolean(this, key)))
94+ then true
95+ else isDefined(getInteger(this, key))
96+
97+
98+func setRecuetimeRecordStatusValue (date,veryProductive,productive,neutral,distracting,veryDistracting) = {
99+ let recordStatusKey = (("record_<" + toString(date)) + ">")
100+ let rescueTimeConditionAmount = getIntegerRecordOr(this, "rescueTimeConditionAmount", 0)
101+ let rescueTimeCondition = getStringRecord(this, "rescueTimeCondition")
102+ let rescueTimeCategory = getStringRecord(this, "rescueTimeCategory")
103+ let statusValue = if ((rescueTimeCondition == rescueTimeConditionLess))
104+ then if ((rescueTimeCategory == rescueTimeCategoryVeryProductive))
105+ then (rescueTimeConditionAmount >= veryProductive)
106+ else if ((rescueTimeCategory == rescueTimeCategoryProductive))
107+ then (rescueTimeConditionAmount >= productive)
108+ else if ((rescueTimeCategory == rescueTimeCategoryNeutral))
109+ then (rescueTimeConditionAmount >= neutral)
110+ else if ((rescueTimeCategory == rescueTimeCategoryDistracting))
111+ then (rescueTimeConditionAmount >= distracting)
112+ else (rescueTimeConditionAmount >= veryDistracting)
113+ else if ((rescueTimeCategory == rescueTimeCategoryVeryProductive))
114+ then (veryProductive >= rescueTimeConditionAmount)
115+ else if ((rescueTimeCategory == rescueTimeCategoryProductive))
116+ then (productive >= rescueTimeConditionAmount)
117+ else if ((rescueTimeCategory == rescueTimeCategoryNeutral))
118+ then (neutral >= rescueTimeConditionAmount)
119+ else if ((rescueTimeCategory == rescueTimeCategoryDistracting))
120+ then (distracting >= rescueTimeConditionAmount)
121+ else (veryDistracting >= rescueTimeConditionAmount)
122+ setBooleanRecord(recordStatusKey, statusValue)
123+ }
124+
125+
126+func getCategoryRecordKey (date,rescueTimeCategoryVeryProductive) = (((("record_<" + toString(date)) + ">__category_<") + rescueTimeCategoryVeryProductive) + ">")
127+
128+
129+func setCategoryRecordValue (date,category,value) = setIntegerRecord(getCategoryRecordKey(date, category), value)
130+
131+
132+@Callable(i)
133+func setup (userAddress,integrationService,name,description,startDate,endDate,rescueTimeConditionAmount,rescueTimeCondition,rescueTimeCategory,trackDays,attempsCount,bet,betAsset) = WriteSet([setStringRecord("userAddress", userAddress), setStringRecord("status", statusActive), setStringRecord("integrationService", integrationServicesRescueTime), setStringRecord("name", name), setStringRecord("description", description), setIntegerRecord("startDate", startDate), setIntegerRecord("endDate", endDate), setIntegerRecord("rescueTimeConditionAmount", rescueTimeConditionAmount), setStringRecord("rescueTimeCondition", rescueTimeCondition), setStringRecord("rescueTimeCategory", rescueTimeCategory), setStringRecord("trackDays", trackDays), setStringRecord("attempsCount", attempsCount), setIntegerRecord("failedAttemptsCount", 0), setIntegerRecord("bet", bet), setStringRecord("betAsset", betAsset)])
134+
135+
136+
137+@Callable(i)
138+func addRecord (date,veryProductive,productive,neutral,distracting,veryDistracting) = {
139+ let startDateTimestamp = getIntegerRecordOr(this, "startDate", 0)
140+ let endDateTimestamp = getIntegerRecordOr(this, "endDate", 0)
141+ let isOutdatedGoal = if ((startDateTimestamp > date))
142+ then (date > endDateTimestamp)
143+ else false
144+ let isNotActiveStatus = (getStringRecord(this, "status") != statusPending)
145+ if (isOutdatedGoal)
146+ then throwOutdatedGoalError()
147+ else if (isNotActiveStatus)
148+ then throwNotActiveGoalError()
149+ else WriteSet([setCategoryRecordValue(date, rescueTimeCategoryVeryProductive, veryProductive), setCategoryRecordValue(date, rescueTimeCategoryProductive, productive), setCategoryRecordValue(date, rescueTimeCategoryNeutral, neutral), setCategoryRecordValue(date, rescueTimeCategoryDistracting, distracting), setCategoryRecordValue(date, rescueTimeCategoryVeryDistracting, veryDistracting), setCategoryRecordValue(date, rescueTimeCategoryVeryDistracting, veryDistracting), setRecuetimeRecordStatusValue(date, veryProductive, productive, neutral, distracting, veryDistracting)])
150+ }
151+
152+
153+@Verifier(tx)
154+func verify () = match tx {
155+ case t: InvokeScriptTransaction =>
156+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
157+ case _ =>
158+ false
159+}
160+

github/deemru/w8io/169f3d6 
22.61 ms