tx · Ei2LzZ2Ef7x7rAmmrNbW8cnxEnqS2DEVw1m2PLKkcGJX

3N7DPtYPCwXnG6pDTNGwXwrxJAQhgVmWqyb:  -0.01000000 Waves

2020.04.24 10:11 [968416] smart account 3N7DPtYPCwXnG6pDTNGwXwrxJAQhgVmWqyb > SELF 0.00000000 Waves

{ "type": 13, "id": "Ei2LzZ2Ef7x7rAmmrNbW8cnxEnqS2DEVw1m2PLKkcGJX", "fee": 1000000, "feeAssetId": null, "timestamp": 1587712378360, "version": 1, "sender": "3N7DPtYPCwXnG6pDTNGwXwrxJAQhgVmWqyb", "senderPublicKey": "B4q1hG8ff4DEwGWRdDUVV5CyY9NbSHhukeHQnq1GmezC", "proofs": [ "5sQdtc1e5WLJRUgYoBnX5aQDR9G944y42Ydb2mbChYUHjzzx8eNShU14Gnpom1tC4pEVYJQNQqCg1qLs6jUwpBgw" ], "script": "base64:AAIDAAAAAAAAABsIARINCgsICAEBAQgICAgBCBIICgYBAQEBAQEAAAAvAAAAABdyZXNjdWVUaW1lQ29uZGl0aW9uTGVzcwIAAAAEbGVzcwAAAAAXcmVzY3VlVGltZUNvbmRpdGlvbk1vcmUCAAAABG1vcmUAAAAAIHJlc2N1ZVRpbWVDYXRlZ29yeVZlcnlQcm9kdWN0aXZlAgAAAA52ZXJ5UHJvZHVjdGl2ZQAAAAAccmVzY3VlVGltZUNhdGVnb3J5UHJvZHVjdGl2ZQIAAAAKcHJvZHVjdGl2ZQAAAAAZcmVzY3VlVGltZUNhdGVnb3J5TmV1dHJhbAIAAAAHbmV1dHJhbAAAAAAdcmVzY3VlVGltZUNhdGVnb3J5RGlzdHJhY3RpbmcCAAAAC2Rpc3RyYWN0aW5nAAAAACFyZXNjdWVUaW1lQ2F0ZWdvcnlWZXJ5RGlzdHJhY3RpbmcCAAAAD3ZlcnlEaXN0cmFjdGluZwAAAAANc3RhdHVzUGVuZGluZwIAAAAHcGVuZGluZwAAAAAMc3RhdHVzQWN0aXZlAgAAAAZhY3RpdmUAAAAAC3N0YXR1c1BhdXNlAgAAAAVwYXVzZQAAAAANc3RhdHVzU3VjY2VzcwIAAAAHc3VjY2VzcwAAAAAKc3RhdHVzRmFpbAIAAAAEZmFpbAAAAAAdaW50ZWdyYXRpb25TZXJ2aWNlc1Jlc2N1ZVRpbWUCAAAACnJlc2N1ZVRpbWUAAAAADXdlZWtEYXlNb25kYXkCAAAABm1vbmRheQAAAAAOd2Vla0RheVR1ZXNkYXkCAAAAB3R1ZXNkYXkAAAAAEHdlZWtEYXlXZWRuZXNkYXkCAAAACXdlZG5lc2RheQAAAAAPd2Vla0RheVRodXJzZGF5AgAAAAh0aHVyc2RheQAAAAANd2Vla0RheUZyaWRheQIAAAAGZnJpZGF5AAAAAA93ZWVrRGF5U2F0dXJkYXkCAAAACHNhdHVyZGF5AAAAAA13ZWVrRGF5U3VuZGF5AgAAAAZzdW5kYXkAAAAACXN0YXR1c0tleQIAAAAGc3RhdHVzAAAAABVhZG1pbkFjY291bnRQdWJsaWNLZXkBAAAAIOv93h1wguBmbBJx2j+NlmvYPktZFLDhPNVuBNrD+BUoAAAAABR1c2VyQWNjb3VudFB1YmxpY0tleQEAAAAgmg+FJtenL8SZs5pvQIVDxvWqRNh6VE/QSW9ZiZWRJEYAAAAAFGdvYWxBY2NvdW50UHVibGljS2V5AQAAACCVj+YkncnSL6KPc5nMm6JgqDva3w3FUcXyL1f34Wl9eQEAAAATdGhyb3dVbmRlZmluZWRFcnJvcgAAAAAJAAACAAAAAQIAAAAOdW5kZWZpbmVkRXJyb3IBAAAAFnRocm93T3V0ZGF0ZWRHb2FsRXJyb3IAAAAACQAAAgAAAAECAAAAEW91dGRhdGVkR29hbEVycm9yAQAAABd0aHJvd05vdEFjdGl2ZUdvYWxFcnJvcgAAAAAJAAACAAAAAQIAAAASbm90QWN0aXZlR29hbEVycm9yAQAAABp0aHJvd0lzTm90QWRtaW5DYWxsZXJFcnJvcgAAAAAJAAACAAAAAQIAAAAVaXNOb3RBZG1pbkNhbGxlckVycm9yAQAAABl0aHJvd0lzTm90VXNlckNhbGxlckVycm9yAAAAAAkAAAIAAAABAgAAABRpc05vdFVzZXJDYWxsZXJFcnJvcgEAAAAZdGhyb3dJc05vdEdvYWxDYWxsZXJFcnJvcgAAAAAJAAACAAAAAQIAAAAUaXNOb3RHb2FsQ2FsbGVyRXJyb3IBAAAAEmdldEludGVnZXJSZWNvcmRPcgAAAAMAAAAOYWNjb3VudEFkZHJlc3MAAAADa2V5AAAAB2RlZmF1bHQDCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAA2tleQUAAAAHZGVmYXVsdAEAAAAQZ2V0SW50ZWdlclJlY29yZAAAAAIAAAAOYWNjb3VudEFkZHJlc3MAAAADa2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAANrZXkBAAAAEHNldEludGVnZXJSZWNvcmQAAAACAAAAA2tleQAAAAV2YWx1ZQkBAAAACURhdGFFbnRyeQAAAAIFAAAAA2tleQUAAAAFdmFsdWUBAAAAC2dldFN0cmluZ09yAAAAAwAAAA5hY2NvdW50QWRkcmVzcwAAAANrZXkAAAAHZGVmYXVsdAMJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAADa2V5BQAAAAdkZWZhdWx0AQAAAA9nZXRTdHJpbmdSZWNvcmQAAAACAAAADmFjY291bnRBZGRyZXNzAAAAA2tleQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAADa2V5AQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAAAAA2tleQAAAAV2YWx1ZQkBAAAACURhdGFFbnRyeQAAAAIFAAAAA2tleQUAAAAFdmFsdWUBAAAAEGdldEJvb2xlYW5SZWNvcmQAAAACAAAADmFjY291bnRBZGRyZXNzAAAAA2tleQkBAAAAEUBleHRyTmF0aXZlKDEwNTEpAAAAAgUAAAAEdGhpcwUAAAADa2V5AQAAABBzZXRCb29sZWFuUmVjb3JkAAAAAgAAAANrZXkAAAAFdmFsdWUJAQAAAAlEYXRhRW50cnkAAAACBQAAAANrZXkFAAAABXZhbHVlAQAAAA9nZXRCaW5hcnlSZWNvcmQAAAACAAAADmFjY291bnRBZGRyZXNzAAAAA2tleQkBAAAAEUBleHRyTmF0aXZlKDEwNTIpAAAAAgUAAAAEdGhpcwUAAAADa2V5AQAAAA9zZXRCaW5hcnlSZWNvcmQAAAACAAAAA2tleQAAAAV2YWx1ZQkBAAAACURhdGFFbnRyeQAAAAIFAAAAA2tleQUAAAAFdmFsdWUBAAAAD2lzUmVjb3JkRGVmaW5lZAAAAAEAAAADa2V5AwMDCQEAAAAJaXNEZWZpbmVkAAAAAQkABBwAAAACBQAAAAR0aGlzBQAAAANrZXkGCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkGCQEAAAAJaXNEZWZpbmVkAAAAAQkABBsAAAACBQAAAAR0aGlzBQAAAANrZXkGCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkBAAAAHXNldFJlY3VldGltZVJlY29yZFN0YXR1c1ZhbHVlAAAABgAAAARkYXRlAAAADnZlcnlQcm9kdWN0aXZlAAAACnByb2R1Y3RpdmUAAAAHbmV1dHJhbAAAAAtkaXN0cmFjdGluZwAAAA92ZXJ5RGlzdHJhY3RpbmcEAAAAD3JlY29yZFN0YXR1c0tleQkAASwAAAACCQABLAAAAAICAAAACHJlY29yZF88CQABpAAAAAEFAAAABGRhdGUCAAAAAT4EAAAAGXJlc2N1ZVRpbWVDb25kaXRpb25BbW91bnQJAQAAABJnZXRJbnRlZ2VyUmVjb3JkT3IAAAADBQAAAAR0aGlzAgAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50AAAAAAAAAAAABAAAABNyZXNjdWVUaW1lQ29uZGl0aW9uCQEAAAAPZ2V0U3RyaW5nUmVjb3JkAAAAAgUAAAAEdGhpcwIAAAATcmVzY3VlVGltZUNvbmRpdGlvbgQAAAAScmVzY3VlVGltZUNhdGVnb3J5CQEAAAAPZ2V0U3RyaW5nUmVjb3JkAAAAAgUAAAAEdGhpcwIAAAAScmVzY3VlVGltZUNhdGVnb3J5BAAAAAtzdGF0dXNWYWx1ZQMJAAAAAAAAAgUAAAATcmVzY3VlVGltZUNvbmRpdGlvbgUAAAAXcmVzY3VlVGltZUNvbmRpdGlvbkxlc3MDCQAAAAAAAAIFAAAAEnJlc2N1ZVRpbWVDYXRlZ29yeQUAAAAgcmVzY3VlVGltZUNhdGVnb3J5VmVyeVByb2R1Y3RpdmUJAABnAAAAAgUAAAAZcmVzY3VlVGltZUNvbmRpdGlvbkFtb3VudAUAAAAOdmVyeVByb2R1Y3RpdmUDCQAAAAAAAAIFAAAAEnJlc2N1ZVRpbWVDYXRlZ29yeQUAAAAccmVzY3VlVGltZUNhdGVnb3J5UHJvZHVjdGl2ZQkAAGcAAAACBQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50BQAAAApwcm9kdWN0aXZlAwkAAAAAAAACBQAAABJyZXNjdWVUaW1lQ2F0ZWdvcnkFAAAAGXJlc2N1ZVRpbWVDYXRlZ29yeU5ldXRyYWwJAABnAAAAAgUAAAAZcmVzY3VlVGltZUNvbmRpdGlvbkFtb3VudAUAAAAHbmV1dHJhbAMJAAAAAAAAAgUAAAAScmVzY3VlVGltZUNhdGVnb3J5BQAAAB1yZXNjdWVUaW1lQ2F0ZWdvcnlEaXN0cmFjdGluZwkAAGcAAAACBQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50BQAAAAtkaXN0cmFjdGluZwkAAGcAAAACBQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50BQAAAA92ZXJ5RGlzdHJhY3RpbmcDCQAAAAAAAAIFAAAAEnJlc2N1ZVRpbWVDYXRlZ29yeQUAAAAgcmVzY3VlVGltZUNhdGVnb3J5VmVyeVByb2R1Y3RpdmUJAABnAAAAAgUAAAAOdmVyeVByb2R1Y3RpdmUFAAAAGXJlc2N1ZVRpbWVDb25kaXRpb25BbW91bnQDCQAAAAAAAAIFAAAAEnJlc2N1ZVRpbWVDYXRlZ29yeQUAAAAccmVzY3VlVGltZUNhdGVnb3J5UHJvZHVjdGl2ZQkAAGcAAAACBQAAAApwcm9kdWN0aXZlBQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50AwkAAAAAAAACBQAAABJyZXNjdWVUaW1lQ2F0ZWdvcnkFAAAAGXJlc2N1ZVRpbWVDYXRlZ29yeU5ldXRyYWwJAABnAAAAAgUAAAAHbmV1dHJhbAUAAAAZcmVzY3VlVGltZUNvbmRpdGlvbkFtb3VudAMJAAAAAAAAAgUAAAAScmVzY3VlVGltZUNhdGVnb3J5BQAAAB1yZXNjdWVUaW1lQ2F0ZWdvcnlEaXN0cmFjdGluZwkAAGcAAAACBQAAAAtkaXN0cmFjdGluZwUAAAAZcmVzY3VlVGltZUNvbmRpdGlvbkFtb3VudAkAAGcAAAACBQAAAA92ZXJ5RGlzdHJhY3RpbmcFAAAAGXJlc2N1ZVRpbWVDb25kaXRpb25BbW91bnQJAQAAABBzZXRCb29sZWFuUmVjb3JkAAAAAgUAAAAPcmVjb3JkU3RhdHVzS2V5BQAAAAtzdGF0dXNWYWx1ZQEAAAAUZ2V0Q2F0ZWdvcnlSZWNvcmRLZXkAAAACAAAABGRhdGUAAAAgcmVzY3VlVGltZUNhdGVnb3J5VmVyeVByb2R1Y3RpdmUJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIcmVjb3JkXzwJAAGkAAAAAQUAAAAEZGF0ZQIAAAANPl9fY2F0ZWdvcnlfPAUAAAAgcmVzY3VlVGltZUNhdGVnb3J5VmVyeVByb2R1Y3RpdmUCAAAAAT4BAAAAFnNldENhdGVnb3J5UmVjb3JkVmFsdWUAAAADAAAABGRhdGUAAAAIY2F0ZWdvcnkAAAAFdmFsdWUJAQAAABBzZXRJbnRlZ2VyUmVjb3JkAAAAAgkBAAAAFGdldENhdGVnb3J5UmVjb3JkS2V5AAAAAgUAAAAEZGF0ZQUAAAAIY2F0ZWdvcnkFAAAABXZhbHVlAQAAAA1pc0FkbWluQ2FsbGVyAAAAAQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAE2NhbGxlckFjY291bnRQdWJLZXkJAAJYAAAAAQUAAAAPY2FsbGVyUHVibGljS2V5BAAAABJhZG1pbkFjY291bnRQdWJLZXkJAAJYAAAAAQUAAAAVYWRtaW5BY2NvdW50UHVibGljS2V5AwkAAAAAAAACBQAAABNjYWxsZXJBY2NvdW50UHViS2V5BQAAABJhZG1pbkFjY291bnRQdWJLZXkGBwEAAAAMaXNVc2VyQ2FsbGVyAAAAAQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAE2NhbGxlckFjY291bnRQdWJLZXkJAAJYAAAAAQUAAAAPY2FsbGVyUHVibGljS2V5BAAAABF1c2VyQWNjb3VudFB1YktleQkAAlgAAAABBQAAABR1c2VyQWNjb3VudFB1YmxpY0tleQMJAAAAAAAAAgUAAAATY2FsbGVyQWNjb3VudFB1YktleQUAAAARdXNlckFjY291bnRQdWJLZXkGBwEAAAAMaXNHb2FsQ2FsbGVyAAAAAQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAE2NhbGxlckFjY291bnRQdWJLZXkJAAJYAAAAAQUAAAAPY2FsbGVyUHVibGljS2V5BAAAABFnb2FsQWNjb3VudFB1YktleQkAAlgAAAABBQAAABRnb2FsQWNjb3VudFB1YmxpY0tleQMJAAAAAAAAAgUAAAATY2FsbGVyQWNjb3VudFB1YktleQUAAAARZ29hbEFjY291bnRQdWJLZXkGBwAAAAIAAAABaQEAAAAFc2V0dXAAAAALAAAABG5hbWUAAAALZGVzY3JpcHRpb24AAAAJc3RhcnREYXRlAAAAB2VuZERhdGUAAAAZcmVzY3VlVGltZUNvbmRpdGlvbkFtb3VudAAAABNyZXNjdWVUaW1lQ29uZGl0aW9uAAAAEnJlc2N1ZVRpbWVDYXRlZ29yeQAAAAl0cmFja0RheXMAAAAMYXR0ZW1wc0NvdW50AAAAA2JldAAAAAhiZXRBc3NldAQAAAAQaXNOb3RBZG1pbkNhbGxlcgkBAAAAASEAAAABCQEAAAANaXNBZG1pbkNhbGxlcgAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQMFAAAAEGlzTm90QWRtaW5DYWxsZXIJAQAAABp0aHJvd0lzTm90QWRtaW5DYWxsZXJFcnJvcgAAAAAJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAAD3NldFN0cmluZ1JlY29yZAAAAAICAAAABnN0YXR1cwUAAAAMc3RhdHVzQWN0aXZlCQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAAARuYW1lBQAAAARuYW1lCQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAAAtkZXNjcmlwdGlvbgUAAAALZGVzY3JpcHRpb24JAARMAAAAAgkBAAAAEHNldEludGVnZXJSZWNvcmQAAAACAgAAAAlzdGFydERhdGUFAAAACXN0YXJ0RGF0ZQkABEwAAAACCQEAAAAQc2V0SW50ZWdlclJlY29yZAAAAAICAAAAB2VuZERhdGUFAAAAB2VuZERhdGUJAARMAAAAAgkBAAAAEHNldEludGVnZXJSZWNvcmQAAAACAgAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50BQAAABlyZXNjdWVUaW1lQ29uZGl0aW9uQW1vdW50CQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAABNyZXNjdWVUaW1lQ29uZGl0aW9uBQAAABNyZXNjdWVUaW1lQ29uZGl0aW9uCQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAABJyZXNjdWVUaW1lQ2F0ZWdvcnkFAAAAEnJlc2N1ZVRpbWVDYXRlZ29yeQkABEwAAAACCQEAAAAPc2V0U3RyaW5nUmVjb3JkAAAAAgIAAAAJdHJhY2tEYXlzBQAAAAl0cmFja0RheXMJAARMAAAAAgkBAAAAD3NldFN0cmluZ1JlY29yZAAAAAICAAAADGF0dGVtcHNDb3VudAUAAAAMYXR0ZW1wc0NvdW50CQAETAAAAAIJAQAAABBzZXRJbnRlZ2VyUmVjb3JkAAAAAgIAAAATZmFpbGVkQXR0ZW1wdHNDb3VudAAAAAAAAAAAAAkABEwAAAACCQEAAAAQc2V0SW50ZWdlclJlY29yZAAAAAICAAAAA2JldAUAAAADYmV0CQAETAAAAAIJAQAAAA9zZXRTdHJpbmdSZWNvcmQAAAACAgAAAAhiZXRBc3NldAUAAAAIYmV0QXNzZXQFAAAAA25pbAAAAAFpAQAAAAlhZGRSZWNvcmQAAAAGAAAABGRhdGUAAAAOdmVyeVByb2R1Y3RpdmUAAAAKcHJvZHVjdGl2ZQAAAAduZXV0cmFsAAAAC2Rpc3RyYWN0aW5nAAAAD3ZlcnlEaXN0cmFjdGluZwQAAAASc3RhcnREYXRlVGltZXN0YW1wCQEAAAASZ2V0SW50ZWdlclJlY29yZE9yAAAAAwUAAAAEdGhpcwIAAAAJc3RhcnREYXRlAAAAAAAAAAAABAAAABBlbmREYXRlVGltZXN0YW1wCQEAAAASZ2V0SW50ZWdlclJlY29yZE9yAAAAAwUAAAAEdGhpcwIAAAAHZW5kRGF0ZQAAAAAAAAAAAAQAAAAOaXNPdXRkYXRlZEdvYWwDCQAAZgAAAAIFAAAAEnN0YXJ0RGF0ZVRpbWVzdGFtcAUAAAAEZGF0ZQkAAGYAAAACBQAAAARkYXRlBQAAABBlbmREYXRlVGltZXN0YW1wBwQAAAARaXNOb3RBY3RpdmVTdGF0dXMJAQAAAAIhPQAAAAIJAQAAAA9nZXRTdHJpbmdSZWNvcmQAAAACBQAAAAR0aGlzAgAAAAZzdGF0dXMFAAAADXN0YXR1c1BlbmRpbmcEAAAAEGlzTm90QWRtaW5DYWxsZXIJAQAAAAEhAAAAAQkBAAAADWlzQWRtaW5DYWxsZXIAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkDBQAAABBpc05vdEFkbWluQ2FsbGVyCQEAAAAadGhyb3dJc05vdEFkbWluQ2FsbGVyRXJyb3IAAAAAAwUAAAAOaXNPdXRkYXRlZEdvYWwJAQAAABZ0aHJvd091dGRhdGVkR29hbEVycm9yAAAAAAMFAAAAEWlzTm90QWN0aXZlU3RhdHVzCQEAAAAXdGhyb3dOb3RBY3RpdmVHb2FsRXJyb3IAAAAACQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAABZzZXRDYXRlZ29yeVJlY29yZFZhbHVlAAAAAwUAAAAEZGF0ZQUAAAAgcmVzY3VlVGltZUNhdGVnb3J5VmVyeVByb2R1Y3RpdmUFAAAADnZlcnlQcm9kdWN0aXZlCQAETAAAAAIJAQAAABZzZXRDYXRlZ29yeVJlY29yZFZhbHVlAAAAAwUAAAAEZGF0ZQUAAAAccmVzY3VlVGltZUNhdGVnb3J5UHJvZHVjdGl2ZQUAAAAKcHJvZHVjdGl2ZQkABEwAAAACCQEAAAAWc2V0Q2F0ZWdvcnlSZWNvcmRWYWx1ZQAAAAMFAAAABGRhdGUFAAAAGXJlc2N1ZVRpbWVDYXRlZ29yeU5ldXRyYWwFAAAAB25ldXRyYWwJAARMAAAAAgkBAAAAFnNldENhdGVnb3J5UmVjb3JkVmFsdWUAAAADBQAAAARkYXRlBQAAAB1yZXNjdWVUaW1lQ2F0ZWdvcnlEaXN0cmFjdGluZwUAAAALZGlzdHJhY3RpbmcJAARMAAAAAgkBAAAAFnNldENhdGVnb3J5UmVjb3JkVmFsdWUAAAADBQAAAARkYXRlBQAAACFyZXNjdWVUaW1lQ2F0ZWdvcnlWZXJ5RGlzdHJhY3RpbmcFAAAAD3ZlcnlEaXN0cmFjdGluZwkABEwAAAACCQEAAAAWc2V0Q2F0ZWdvcnlSZWNvcmRWYWx1ZQAAAAMFAAAABGRhdGUFAAAAIXJlc2N1ZVRpbWVDYXRlZ29yeVZlcnlEaXN0cmFjdGluZwUAAAAPdmVyeURpc3RyYWN0aW5nCQAETAAAAAIJAQAAAB1zZXRSZWN1ZXRpbWVSZWNvcmRTdGF0dXNWYWx1ZQAAAAYFAAAABGRhdGUFAAAADnZlcnlQcm9kdWN0aXZlBQAAAApwcm9kdWN0aXZlBQAAAAduZXV0cmFsBQAAAAtkaXN0cmFjdGluZwUAAAAPdmVyeURpc3RyYWN0aW5nBQAAAANuaWwAAAAAFuXuPA==", "chainId": 84, "height": 968416, "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+let adminAccountPublicKey = base58'GtDLBooknaE8G983yMjhygiyhmpR5tebBScKPw277tj9'
47+
48+let userAccountPublicKey = base58'BNPWfnwQQaiG9SxwTXqNi5sRA5oAU2M4QvQUAoGrnNbf'
49+
50+let goalAccountPublicKey = base58'B4q1hG8ff4DEwGWRdDUVV5CyY9NbSHhukeHQnq1GmezC'
51+
52+func throwUndefinedError () = throw("undefinedError")
53+
54+
55+func throwOutdatedGoalError () = throw("outdatedGoalError")
56+
57+
58+func throwNotActiveGoalError () = throw("notActiveGoalError")
59+
60+
61+func throwIsNotAdminCallerError () = throw("isNotAdminCallerError")
62+
63+
64+func throwIsNotUserCallerError () = throw("isNotUserCallerError")
65+
66+
67+func throwIsNotGoalCallerError () = throw("isNotGoalCallerError")
68+
69+
70+func getIntegerRecordOr (accountAddress,key,default) = if (isDefined(getInteger(this, key)))
71+ then getIntegerValue(this, key)
72+ else default
73+
74+
75+func getIntegerRecord (accountAddress,key) = getIntegerValue(this, key)
76+
77+
78+func setIntegerRecord (key,value) = DataEntry(key, value)
79+
80+
81+func getStringOr (accountAddress,key,default) = if (isDefined(getInteger(this, key)))
82+ then getStringValue(this, key)
83+ else default
84+
85+
86+func getStringRecord (accountAddress,key) = getStringValue(this, key)
87+
88+
89+func setStringRecord (key,value) = DataEntry(key, value)
90+
91+
92+func getBooleanRecord (accountAddress,key) = getBooleanValue(this, key)
93+
94+
95+func setBooleanRecord (key,value) = DataEntry(key, value)
96+
97+
98+func getBinaryRecord (accountAddress,key) = getBinaryValue(this, key)
99+
100+
101+func setBinaryRecord (key,value) = DataEntry(key, value)
102+
103+
104+func isRecordDefined (key) = if (if (if (isDefined(getBinary(this, key)))
105+ then true
106+ else isDefined(getString(this, key)))
107+ then true
108+ else isDefined(getBoolean(this, key)))
109+ then true
110+ else isDefined(getInteger(this, key))
111+
112+
113+func setRecuetimeRecordStatusValue (date,veryProductive,productive,neutral,distracting,veryDistracting) = {
114+ let recordStatusKey = (("record_<" + toString(date)) + ">")
115+ let rescueTimeConditionAmount = getIntegerRecordOr(this, "rescueTimeConditionAmount", 0)
116+ let rescueTimeCondition = getStringRecord(this, "rescueTimeCondition")
117+ let rescueTimeCategory = getStringRecord(this, "rescueTimeCategory")
118+ let statusValue = if ((rescueTimeCondition == rescueTimeConditionLess))
119+ then if ((rescueTimeCategory == rescueTimeCategoryVeryProductive))
120+ then (rescueTimeConditionAmount >= veryProductive)
121+ else if ((rescueTimeCategory == rescueTimeCategoryProductive))
122+ then (rescueTimeConditionAmount >= productive)
123+ else if ((rescueTimeCategory == rescueTimeCategoryNeutral))
124+ then (rescueTimeConditionAmount >= neutral)
125+ else if ((rescueTimeCategory == rescueTimeCategoryDistracting))
126+ then (rescueTimeConditionAmount >= distracting)
127+ else (rescueTimeConditionAmount >= veryDistracting)
128+ else if ((rescueTimeCategory == rescueTimeCategoryVeryProductive))
129+ then (veryProductive >= rescueTimeConditionAmount)
130+ else if ((rescueTimeCategory == rescueTimeCategoryProductive))
131+ then (productive >= rescueTimeConditionAmount)
132+ else if ((rescueTimeCategory == rescueTimeCategoryNeutral))
133+ then (neutral >= rescueTimeConditionAmount)
134+ else if ((rescueTimeCategory == rescueTimeCategoryDistracting))
135+ then (distracting >= rescueTimeConditionAmount)
136+ else (veryDistracting >= rescueTimeConditionAmount)
137+ setBooleanRecord(recordStatusKey, statusValue)
138+ }
139+
140+
141+func getCategoryRecordKey (date,rescueTimeCategoryVeryProductive) = (((("record_<" + toString(date)) + ">__category_<") + rescueTimeCategoryVeryProductive) + ">")
142+
143+
144+func setCategoryRecordValue (date,category,value) = setIntegerRecord(getCategoryRecordKey(date, category), value)
145+
146+
147+func isAdminCaller (callerPublicKey) = {
148+ let callerAccountPubKey = toBase58String(callerPublicKey)
149+ let adminAccountPubKey = toBase58String(adminAccountPublicKey)
150+ if ((callerAccountPubKey == adminAccountPubKey))
151+ then true
152+ else false
153+ }
154+
155+
156+func isUserCaller (callerPublicKey) = {
157+ let callerAccountPubKey = toBase58String(callerPublicKey)
158+ let userAccountPubKey = toBase58String(userAccountPublicKey)
159+ if ((callerAccountPubKey == userAccountPubKey))
160+ then true
161+ else false
162+ }
163+
164+
165+func isGoalCaller (callerPublicKey) = {
166+ let callerAccountPubKey = toBase58String(callerPublicKey)
167+ let goalAccountPubKey = toBase58String(goalAccountPublicKey)
168+ if ((callerAccountPubKey == goalAccountPubKey))
169+ then true
170+ else false
171+ }
172+
173+
174+@Callable(i)
175+func setup (name,description,startDate,endDate,rescueTimeConditionAmount,rescueTimeCondition,rescueTimeCategory,trackDays,attempsCount,bet,betAsset) = {
176+ let isNotAdminCaller = !(isAdminCaller(i.callerPublicKey))
177+ if (isNotAdminCaller)
178+ then throwIsNotAdminCallerError()
179+ else WriteSet([setStringRecord("status", statusActive), 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)])
180+ }
181+
182+
183+
184+@Callable(i)
185+func addRecord (date,veryProductive,productive,neutral,distracting,veryDistracting) = {
186+ let startDateTimestamp = getIntegerRecordOr(this, "startDate", 0)
187+ let endDateTimestamp = getIntegerRecordOr(this, "endDate", 0)
188+ let isOutdatedGoal = if ((startDateTimestamp > date))
189+ then (date > endDateTimestamp)
190+ else false
191+ let isNotActiveStatus = (getStringRecord(this, "status") != statusPending)
192+ let isNotAdminCaller = !(isAdminCaller(i.callerPublicKey))
193+ if (isNotAdminCaller)
194+ then throwIsNotAdminCallerError()
195+ else if (isOutdatedGoal)
196+ then throwOutdatedGoalError()
197+ else if (isNotActiveStatus)
198+ then throwNotActiveGoalError()
199+ 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)])
200+ }
201+
202+

github/deemru/w8io/3ef1775 
26.21 ms