tx · EfsJf4MuUXHmR1YJAQVuChcZJwWAWpy8cKqEsFtMKLrU 3MwMkR5hVFyhNZxWAe6FxCDkhmoXoKEVhzd: -0.01400000 Waves 2021.04.11 15:35 [1477801] smart account 3MwMkR5hVFyhNZxWAe6FxCDkhmoXoKEVhzd > SELF 0.00000000 Waves
{ "type": 13, "id": "EfsJf4MuUXHmR1YJAQVuChcZJwWAWpy8cKqEsFtMKLrU", "fee": 1400000, "feeAssetId": null, "timestamp": 1618144566456, "version": 1, "sender": "3MwMkR5hVFyhNZxWAe6FxCDkhmoXoKEVhzd", "senderPublicKey": "23XGBncz2epvJgDLJ5nLGMKB3XvDivE1eivCe8G2W1gV", "proofs": [ "5XrSwyvxPk6g4FN3bxvUkumwrjC9N9j3B4RDAB2Uao7m3xt1497vyisRRbLq3a2Gjz6Zaz9j4niGDoFXAokHxka7" ], "script": "base64:AAIEAAAAAAAAAAgIAhIECgIIAQAAAB0AAAAADGFkbWluUHViS2V5MQEAAAAgugnXO4lZpNFdoP/xuzPQquE5aQ/L4r2R1jvuT16o4BMAAAAADGFkbWluUHViS2V5MgEAAAAgwpFEmbPSsLQNIqWRWL2IvKE3uwjL/92M5pTvWxYOfkAAAAAADGFkbWluUHViS2V5MwEAAAAgjh4XLnixBzv0SE56Myhgdih3/JnlkjCjIMLPqKvpDlUAAAAAEWtVc2VyUG9vbFZvdGVTV09QAgAAAAVfdm90ZQAAAAATa1VzZXJQb29sQWN0aXZlU1dPUAIAAAAMX2FjdGl2ZV92b3RlAAAAABNrVXNlclBvb2xGcmVlemVTV09QAgAAAAxfZnJlZXplX3ZvdGUAAAAAEmtVc2VyVG90YWxWb3RlU1dPUAIAAAAVX3VzZXJfdG90YWxfU1dPUF92b3RlAAAAABNrVXNlclBvb2xWb3RlUGVyaW9kAgAAAAdfcGVyaW9kAAAAAAxrVXNlclVudm90ZWQCAAAACF91bnZvdGVkAAAAABJrVXNlclVudm90ZWRQZXJpb2QCAAAAD191bnZvdGVkX3BlcmlvZAAAAAANa1Bvb2xWb3RlU1dPUAIAAAAKX3ZvdGVfU1dPUAAAAAAPa1Bvb2xBY3RpdmVTV09QAgAAABFfYWN0aXZlX3ZvdGVfU1dPUAAAAAAPa1Bvb2xGcmVlemVTV09QAgAAABFfdm90ZV9TV09QX2ZyZWV6ZQAAAAALa1Bvb2xQZXJpb2QCAAAADF9wb29sX3BlcmlvZAAAAAAOa1RvdGFsVm90ZVNXT1ACAAAAD3RvdGFsX3ZvdGVfU1dPUAAAAAAQa1RvdGFsQWN0aXZlU1dPUAIAAAAWdG90YWxfYWN0aXZlX3ZvdGVfU1dPUAAAAAAQa1RvdGFsRnJlZXplU1dPUAIAAAAWdG90YWxfdm90ZV9TV09QX2ZyZWV6ZQAAAAAMa1RvdGFsUGVyaW9kAgAAABF0b3RhbF9wb29sX3BlcmlvZAAAAAAKYmFzZVBlcmlvZAAAAAAAAAAAAAAAAAALc3RhcnRIZWlnaHQJAABlAAAAAgAAAAAAABaMpQAAAAAAAAALuAAAAAAMcGVyaW9kTGVuZ3RoAAAAAAAAACd2AAAAAAZzY2FsZTgAAAAAAAX14QAAAAAAEGR1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AAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAC3Bvb2xBZGRyZXNzBQAAAAtrUG9vbFBlcmlvZAAAAAAAAAAAAAQAAAANdG90YWxWb3RlU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5rVG90YWxWb3RlU1dPUAAAAAAAAAAAAAQAAAAPdG90YWxBY3RpdmVTV09QCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAEGtUb3RhbEFjdGl2ZVNXT1AAAAAAAAAAAAAEAAAAD3RvdGFsRnJlZXplU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABBrVG90YWxGcmVlemVTV09QAAAAAAAAAAAABAAAAAt0b3RhbFBlcmlvZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAAxrVG90YWxQZXJpb2QAAAAAAAAAAAAEAAAAEHBvb2xWb3RlRGlmZlNXT1AJAABlAAAAAgUAAAATdXNlclBvb2xWb3RlU1dPUG5ldwUAAAAQdXNlclBvb2xWb3RlU1dPUAQAAAAUdXNlclRvdGFsVm90ZVNXT1BuZXcJAABkAAAAAgUAAAANdG90YWxWb3RlU1dPUAUAAAAQcG9vbFZvdGVEaWZmU1dPUAMJAQAAAAEhAAAAAQkBAAAAFGlzQ2FsbGVySW5Hb3Zlcm5hbmNlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAKlRoaXMgYWRkcmVzcyBoYXMgMCBTV09QIGluIEdvdmVybmFuY2UgZEFwcAMJAABmAAAAAgUAAAAUdXNlclRvdGFsVm90ZVNXT1BuZXcFAAAAFHVzZXJTV09QaW5Hb3Zlcm5hbmNlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkABCUAAAABBQAAAAR0aGlzAgAAAAUgaGFzIAkAAaQAAAABBQAAABR1c2VyU1dPUGluR292ZXJuYW5jZQIAAAAoIFNXT1AgaW4gZ292ZXJuYW5jZS4gTmV3IFNXT1AgaW4gdm90aW5nIAkAAaQAAAABBQAAABR1c2VyVG90YWxWb3RlU1dPUG5ldwMJAABnAAAAAgUAAAATdXNlclBvb2xWb3RlU1dPUG5ldwUAAAAQdXNlclBvb2xWb3RlU1dPUAQAAAAEY29lZgkBAAAACnZvdGluZ0NvZWYAAAAABAAAABl1c2VyUG9vbEFjdGl2ZVZvdGVTV09QbmV3AwkAAAAAAAACBQAAABJ1c2VyUG9vbFZvdGVQZXJpb2QFAAAACmN1cnJQZXJpb2QJAABkAAAAAgUAAAAWdXNlclBvb2xBY3RpdmVWb3RlU1dPUAkAAGkAAAACCQAAaAAAAAIFAAAAEHBvb2xWb3RlRGlmZlNXT1AFAAAABGNvZWYFAAAABnNjYWxlOAkAAGQAAAACBQAAABB1c2VyUG9vbFZvdGVTV09QCQAAaQAAAAIJAABoAAAAAgUAAAAQcG9vbFZvdGVEaWZmU1dPUAUAAAAEY29lZgUAAAAGc2NhbGU4BAAAABV1c2VyUG9vbEZyZWV6ZVNXT1BuZXcDCQAAAAAAAAIFAAAAEnVzZXJQb29sVm90ZVBlcmlvZAUAAAAKY3VyclBlcmlvZAUAAAASdXNlclBvb2xGcmVlemVTV09QBQAAABB1c2VyUG9vbFZvdGVTV09QBAAAAA51c2VyVW52b3RlZE5ldwMJAAAAAAAAAgUAAAALdXNlclVudm90ZWQFAAAACmN1cnJQZXJpb2QFAAAAC3VzZXJVbnZvdGVkCQABlgAAAAEJAARMAAAAAgAAAAAAAAAAAAkABEwAAAACCQAAZQAAAAIFAAAAC3VzZXJVbnZvdGVkBQAAABBwb29sVm90ZURpZmZTV09QBQAAAANuaWwEAAAACXVzZXJFbnRyeQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAAAV8FAAAAC3Bvb2xBZGRyZXNzBQAAABNrVXNlclBvb2xWb3RlUGVyaW9kBQAAAApjdXJyUGVyaW9kCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgIAAAABXwUAAAALcG9vbEFkZHJlc3MFAAAAE2tVc2VyUG9vbEFjdGl2ZVNXT1AFAAAAGXVzZXJQb29sQWN0aXZlVm90ZVNXT1BuZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAAFfBQAAAAtwb29sQWRkcmVzcwUAAAATa1VzZXJQb29sRnJlZXplU1dPUAUAAAAVdXNlclBvb2xGcmVlemVTV09QbmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgIAAAABXwUAAAALcG9vbEFkZHJlc3MFAAAAEWtVc2VyUG9vbFZvdGVTV09QBQAAABN1c2VyUG9vbFZvdGVTV09QbmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgIAAAABXwUAAAALcG9vbEFkZHJlc3MFAAAAEmtVc2VyVG90YWxWb3RlU1dPUAUAAAAUdXNlclRvdGFsVm90ZVNXT1BuZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgIAAAABXwUAAAAMa1VzZXJVbnZvdGVkBQAAAA51c2VyVW52b3RlZE5ldwUAAAADbmlsBAAAAA9wb29sVm90ZVNXT1BuZXcJAABkAAAAAgUAAAAMcG9vbFZvdGVTV09QBQAAABBwb29sVm90ZURpZmZTV09QBAAAABFwb29sQWN0aXZlU1dPUG5ldwMJAAAAAAAAAgUAAAAKcG9vbFBlcmlvZAUAAAAKY3VyclBlcmlvZAkAAGQAAAACBQAAAA5wb29sQWN0aXZlU1dPUAkAAGkAAAACCQAAaAAAAAIFAAAAEHBvb2xWb3RlRGlmZlNXT1AFAAAABGNvZWYFAAAABnNjYWxlOAkAAGQAAAACBQAAAAxwb29sVm90ZVNXT1AJAABpAAAAAgkAAGgAAAACBQAAABBwb29sVm90ZURpZmZTV09QBQAAAARjb2VmBQAAAAZzY2FsZTgEAAAAEXBvb2xGcmVlemVTV09QbmV3AwkAAAAAAAACBQAAAApwb29sUGVyaW9kBQAAAApjdXJyUGVyaW9kBQAAAA5wb29sRnJlZXplU1dPUAUAAAAMcG9vbFZvdGVTV09QBAAAAAlwb29sRW50cnkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAALcG9vbEFkZHJlc3MFAAAAC2tQb29sUGVyaW9kBQAAAApjdXJyUGVyaW9kCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAC3Bvb2xBZGRyZXNzBQAAAA9rUG9vbEFjdGl2ZVNXT1AFAAAAEXBvb2xBY3RpdmVTV09QbmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAC3Bvb2xBZGRyZXNzBQAAAA9rUG9vbEZyZWV6ZVNXT1AFAAAAEXBvb2xGcmVlemVTV09QbmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAC3Bvb2xBZGRyZXNzBQAAAA1rUG9vbFZvdGVTV09QBQAAAA9wb29sVm90ZVNXT1BuZXcFAAAAA25pbAQAAAAQdG90YWxWb3RlU1dPUG5ldwkAAGQAAAACBQAAAA10b3RhbFZvdGVTV09QBQAAABBwb29sVm90ZURpZmZTV09QBAAAABJ0b3RhbEFjdGl2ZVNXT1BuZXcDCQAAAAAAAAIFAAAAC3RvdGFsUGVyaW9kBQAAAApjdXJyUGVyaW9kCQAAZAAAAAIFAAAAD3RvdGFsQWN0aXZlU1dPUAkAAGkAAAACCQAAaAAAAAIFAAAAEHBvb2xWb3RlRGlmZlNXT1AFAAAABGNvZWYFAAAABnNjYWxlOAkAAGQAAAACBQAAAA10b3RhbFZvdGVTV09QCQAAaQAAAAIJAABoAAAAAgUAAAAQcG9vbFZvdGVEaWZmU1dPUAUAAAAEY29lZgUAAAAGc2NhbGU4BAAAABJ0b3RhbEZyZWV6ZVNXT1BuZXcDCQAAAAAAAAIFAAAACnBvb2xQZXJpb2QFAAAACmN1cnJQZXJpb2QFAAAAD3RvdGFsRnJlZXplU1dPUAUAAAANdG90YWxWb3RlU1dPUAQAAAAKdG90YWxFbnRyeQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAMa1RvdGFsUGVyaW9kBQAAAApjdXJyUGVyaW9kCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBrVG90YWxBY3RpdmVTV09QBQAAABFwb29sQWN0aXZlU1dPUG5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa1RvdGFsRnJlZXplU1dPUAUAAAARcG9vbEZyZWV6ZVNXT1BuZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtUb3RhbFZvdGVTV09QBQAAAA9wb29sVm90ZVNXT1BuZXcFAAAAA25pbAkABE4AAAACCQAETgAAAAIFAAAACXVzZXJFbnRyeQUAAAAJcG9vbEVudHJ5BQAAAAp0b3RhbEVudHJ5BAAAAA5yZW1vdmVQb29sVm90ZQkBAAAAAS0AAAABBQAAABBwb29sVm90ZURpZmZTV09QBAAAABV1c2VyUG9vbEZyZWV6ZVNXT1BuZXcDCQAAAAAAAAIFAAAAEnVzZXJQb29sVm90ZVBlcmlvZAUAAAAKY3VyclBlcmlvZAkAAZcAAAABCQAETAAAAAIFAAAAEnVzZXJQb29sRnJlZXplU1dPUAkABEwAAAACBQAAABN1c2VyUG9vbFZvdGVTV09QbmV3BQAAAANuaWwFAAAAE3VzZXJQb29sVm90ZVNXT1BuZXcEAAAAGXVzZXJQb29sQWN0aXZlVm90ZVNXT1BuZXcDCQAAAAAAAAIJAABlAAAAAgUAAAAQdXNlclBvb2xWb3RlU1dPUAUAAAASdXNlclBvb2xGcmVlemVTV09QAAAAAAAAAAAAAAAAAAAAAAAACQAAZAAAAAIFAAAAFXVzZXJQb29sRnJlZXplU1dPUG5ldwkAAGkAAAACCQAAaAAAAAIJAABlAAAAAgUAAAAWdXNlclBvb2xBY3RpdmVWb3RlU1dPUAUAAAASdXNlclBvb2xGcmVlemVTV09QCQAAZQAAAAIFAAAAE3VzZXJQb29sVm90ZVNXT1BuZXcFAAAAFXVzZXJQb29sRnJlZXplU1dPUG5ldwkAAGUAAAACBQAAABB1c2VyUG9vbFZvdGVTV09QBQAAABJ1c2VyUG9vbEZyZWV6ZVNXT1AEAAAACm5l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ZQAAAAIFAAAADnBvb2xBY3RpdmVTV09QBQAAAA5wb29sRnJlZXplU1dPUAkAAGUAAAACBQAAAA9wb29sVm90ZVNXT1BuZXcFAAAAEXBvb2xGcmVlemVTV09QbmV3CQAAZQAAAAIFAAAADHBvb2xWb3RlU1dPUAUAAAAOcG9vbEZyZWV6ZVNXT1AEAAAACXBvb2xFbnRyeQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAtwb29sQWRkcmVzcwUAAAALa1Bvb2xQZXJpb2QFAAAACmN1cnJQZXJpb2QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAALcG9vbEFkZHJlc3MFAAAAD2tQb29sRnJlZXplU1dPUAUAAAARcG9vbEZyZWV6ZVNXT1BuZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAALcG9vbEFkZHJlc3MFAAAAD2tQb29sQWN0aXZlU1dPUAUAAAAVcG9vbEFjdGl2ZVZvdGVTV09QbmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAC3Bvb2xBZGRyZXNzBQAAAA1rUG9vbFZvdGVTV09QBQAAAA9wb29sVm90ZVNXT1BuZXcFAAAAA25pbAQAAAAQdG90YWxWb3RlU1dPUG5ldwkAAGUAAAACBQAAAA10b3RhbFZvdGVTV09QBQAAAA5yZW1vdmVQb29sVm90ZQQAAAASdG90YWxGcmVlemVTV09QbmV3AwkAAAAAAAACBQAAAAt0b3RhbFBlcmlvZAUAAAAKY3VyclBlcmlvZAkAAZcAAAABCQAETAAAAAIFAAAAD3RvdGFsRnJlZXplU1dPUAkABEwAAAACBQAAABB0b3RhbFZvdGVTV09QbmV3BQAAAANuaWwFAAAAEHRvdGFsVm90ZVNXT1BuZXcEAAAAFnRvdGFsQWN0aXZlVm90ZVNXT1BuZXcDCQAAAAAAAAIJAABlAAAAAgUAAAANdG90YWxWb3RlU1dPUAUAAAAPdG90YWxGcmVlemVTV09QAAAAAAAAAAAAAAAAAAAAAAAACQAAZAAAAAIFAAAAEnRvdGFsRnJlZXplU1dPUG5ldwkAAGkAAAACCQAAaAAAAAIJAABlAAAAAgUAAAAPdG90YWxBY3RpdmVTV09QBQAAAA90b3RhbEZyZWV6ZVNXT1AJAABlAAAAAgUAAAAQdG90YWxWb3RlU1dPUG5ldwUAAAASdG90YWxGcmVlemVTV09QbmV3CQAAZQAAAAIFAAAADXRvdGFsVm90ZVNXT1AFAAAAD3RvdGFsRnJlZXplU1dPUAQAAAAKdG90YWxFbnRyeQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAMa1RvdGFsUGVyaW9kBQAAAApjdXJyUGVyaW9kCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBrVG90YWxGcmVlemVTV09QBQAAABJ0b3RhbEZyZWV6ZVNXT1BuZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtUb3RhbEFjdGl2ZVNXT1AFAAAAFnRvdGFsQWN0aXZlVm90ZVNXT1BuZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtUb3RhbFZvdGVTV09QBQAAABB0b3RhbFZvdGVTV09QbmV3BQAAAANuaWwJAAROAAAAAgkABE4AAAACBQAAAAl1c2VyRW50cnkFAAAACXBvb2xFbnRyeQUAAAAKdG90YWxFbnRyeQAAAABa5mvK", "chainId": 84, "height": 1477801, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 4 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let adminPubKey1 = base58'DXDY2itiEcYBtGkVLnkpHtDFyWQUkoLJz79uJ7ECbMrA' | |
5 | + | ||
6 | + | let adminPubKey2 = base58'E6Wa1SGoktYcjHjsKrvjMiqJY3SWmGKcD8Q5L8kxSPS7' | |
7 | + | ||
8 | + | let adminPubKey3 = base58'AZmWJtuy4GeVrMmJH4hfFBRApe1StvhJSk4jcbT6bArQ' | |
9 | + | ||
10 | + | let kUserPoolVoteSWOP = "_vote" | |
11 | + | ||
12 | + | let kUserPoolActiveSWOP = "_active_vote" | |
13 | + | ||
14 | + | let kUserPoolFreezeSWOP = "_freeze_vote" | |
15 | + | ||
16 | + | let kUserTotalVoteSWOP = "_user_total_SWOP_vote" | |
17 | + | ||
18 | + | let kUserPoolVotePeriod = "_period" | |
19 | + | ||
20 | + | let kUserUnvoted = "_unvoted" | |
21 | + | ||
22 | + | let kUserUnvotedPeriod = "_unvoted_period" | |
23 | + | ||
24 | + | let kPoolVoteSWOP = "_vote_SWOP" | |
25 | + | ||
26 | + | let kPoolActiveSWOP = "_active_vote_SWOP" | |
27 | + | ||
28 | + | let kPoolFreezeSWOP = "_vote_SWOP_freeze" | |
29 | + | ||
30 | + | let kPoolPeriod = "_pool_period" | |
31 | + | ||
32 | + | let kTotalVoteSWOP = "total_vote_SWOP" | |
33 | + | ||
34 | + | let kTotalActiveSWOP = "total_active_vote_SWOP" | |
35 | + | ||
36 | + | let kTotalFreezeSWOP = "total_vote_SWOP_freeze" | |
37 | + | ||
38 | + | let kTotalPeriod = "total_pool_period" | |
39 | + | ||
40 | + | let basePeriod = 0 | |
41 | + | ||
42 | + | let startHeight = (1477797 - 3000) | |
43 | + | ||
44 | + | let periodLength = 10102 | |
45 | + | ||
46 | + | let scale8 = 100000000 | |
47 | + | ||
48 | + | let durationFullVote = 2880 | |
49 | + | ||
50 | + | let minVoteCoeff = 10000000 | |
51 | + | ||
52 | + | let govAddr = Address(base58'3N8gfDJc5N53ePx2qBn3oQXbnhbz3Z7WFNj') | |
53 | + | ||
54 | + | let currPeriod = (basePeriod + ((height - startHeight) / periodLength)) | |
55 | + | ||
56 | + | func isCallerInGovernance (user) = if (if ((valueOrElse(getInteger(govAddr, (toString(user) + "_SWOP_amount")), 0) > 0)) | |
57 | + | then true | |
58 | + | else (valueOrElse(getInteger(this, (toString(user) + kUserTotalVoteSWOP)), 0) > 0)) | |
59 | + | then true | |
60 | + | else false | |
61 | + | ||
62 | + | ||
63 | + | func isPoolInGovernance (poolAddress) = isDefined(getInteger(govAddr, (poolAddress + "_current_pool_fraction_reward"))) | |
64 | + | ||
65 | + | ||
66 | + | func votingCoef () = { | |
67 | + | let votingDuration = (height - (startHeight + (currPeriod * periodLength))) | |
68 | + | if ((durationFullVote > votingDuration)) | |
69 | + | then scale8 | |
70 | + | else { | |
71 | + | let x1 = durationFullVote | |
72 | + | let y1 = scale8 | |
73 | + | let x2 = periodLength | |
74 | + | let y2 = minVoteCoeff | |
75 | + | let k = (((y2 - y1) * scale8) / (x2 - x1)) | |
76 | + | let b = ((y1 * scale8) - (k * x1)) | |
77 | + | (((votingDuration * k) / scale8) + (b / scale8)) | |
78 | + | } | |
79 | + | } | |
80 | + | ||
81 | + | ||
82 | + | @Callable(i) | |
83 | + | func votePoolWeight (poolAddress,userPoolVoteSWOPnew) = { | |
84 | + | let userTotalVoteSWOP = valueOrElse(getInteger(this, (toString(i.caller) + kUserTotalVoteSWOP)), 0) | |
85 | + | let userPoolVoteSWOP = valueOrElse(getInteger(this, (((toString(i.caller) + "_") + poolAddress) + kUserPoolVoteSWOP)), 0) | |
86 | + | let userPoolVotePeriod = valueOrElse(getInteger(this, (((toString(i.caller) + "_") + poolAddress) + kUserPoolVotePeriod)), 0) | |
87 | + | let userPoolActiveVoteSWOP = valueOrElse(getInteger(this, (((toString(i.caller) + "_") + poolAddress) + kUserPoolActiveSWOP)), 0) | |
88 | + | let userPoolFreezeSWOP = valueOrElse(getInteger(this, (((toString(i.caller) + "_") + poolAddress) + kUserPoolFreezeSWOP)), 0) | |
89 | + | let userUnvoted = valueOrElse(getInteger(this, ((toString(i.caller) + "_") + kUserUnvoted)), 0) | |
90 | + | let userUnvotedPeriod = valueOrElse(getInteger(this, ((toString(i.caller) + "_") + kUserUnvotedPeriod)), 0) | |
91 | + | let userSWOPinGovernance = getIntegerValue(govAddr, (toString(i.caller) + "_SWOP_amount")) | |
92 | + | let poolVoteSWOP = valueOrElse(getInteger(this, (poolAddress + kPoolVoteSWOP)), 0) | |
93 | + | let poolActiveSWOP = valueOrElse(getInteger(this, (poolAddress + kPoolActiveSWOP)), 0) | |
94 | + | let poolFreezeSWOP = valueOrElse(getInteger(this, (poolAddress + kPoolFreezeSWOP)), 0) | |
95 | + | let poolPeriod = valueOrElse(getInteger(this, (poolAddress + kPoolPeriod)), 0) | |
96 | + | let totalVoteSWOP = valueOrElse(getInteger(this, kTotalVoteSWOP), 0) | |
97 | + | let totalActiveSWOP = valueOrElse(getInteger(this, kTotalActiveSWOP), 0) | |
98 | + | let totalFreezeSWOP = valueOrElse(getInteger(this, kTotalFreezeSWOP), 0) | |
99 | + | let totalPeriod = valueOrElse(getInteger(this, kTotalPeriod), 0) | |
100 | + | let poolVoteDiffSWOP = (userPoolVoteSWOPnew - userPoolVoteSWOP) | |
101 | + | let userTotalVoteSWOPnew = (totalVoteSWOP + poolVoteDiffSWOP) | |
102 | + | if (!(isCallerInGovernance(i.caller))) | |
103 | + | then throw("This address has 0 SWOP in Governance dApp") | |
104 | + | else if ((userTotalVoteSWOPnew > userSWOPinGovernance)) | |
105 | + | then throw(((((toString(this) + " has ") + toString(userSWOPinGovernance)) + " SWOP in governance. New SWOP in voting ") + toString(userTotalVoteSWOPnew))) | |
106 | + | else if ((userPoolVoteSWOPnew >= userPoolVoteSWOP)) | |
107 | + | then { | |
108 | + | let coef = votingCoef() | |
109 | + | let userPoolActiveVoteSWOPnew = if ((userPoolVotePeriod == currPeriod)) | |
110 | + | then (userPoolActiveVoteSWOP + ((poolVoteDiffSWOP * coef) / scale8)) | |
111 | + | else (userPoolVoteSWOP + ((poolVoteDiffSWOP * coef) / scale8)) | |
112 | + | let userPoolFreezeSWOPnew = if ((userPoolVotePeriod == currPeriod)) | |
113 | + | then userPoolFreezeSWOP | |
114 | + | else userPoolVoteSWOP | |
115 | + | let userUnvotedNew = if ((userUnvoted == currPeriod)) | |
116 | + | then userUnvoted | |
117 | + | else max([0, (userUnvoted - poolVoteDiffSWOP)]) | |
118 | + | let userEntry = [IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserPoolVotePeriod), currPeriod), IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserPoolActiveSWOP), userPoolActiveVoteSWOPnew), IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserPoolFreezeSWOP), userPoolFreezeSWOPnew), IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserPoolVoteSWOP), userPoolVoteSWOPnew), IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserTotalVoteSWOP), userTotalVoteSWOPnew), IntegerEntry(((toString(i.caller) + "_") + kUserUnvoted), userUnvotedNew)] | |
119 | + | let poolVoteSWOPnew = (poolVoteSWOP + poolVoteDiffSWOP) | |
120 | + | let poolActiveSWOPnew = if ((poolPeriod == currPeriod)) | |
121 | + | then (poolActiveSWOP + ((poolVoteDiffSWOP * coef) / scale8)) | |
122 | + | else (poolVoteSWOP + ((poolVoteDiffSWOP * coef) / scale8)) | |
123 | + | let poolFreezeSWOPnew = if ((poolPeriod == currPeriod)) | |
124 | + | then poolFreezeSWOP | |
125 | + | else poolVoteSWOP | |
126 | + | let poolEntry = [IntegerEntry((poolAddress + kPoolPeriod), currPeriod), IntegerEntry((poolAddress + kPoolActiveSWOP), poolActiveSWOPnew), IntegerEntry((poolAddress + kPoolFreezeSWOP), poolFreezeSWOPnew), IntegerEntry((poolAddress + kPoolVoteSWOP), poolVoteSWOPnew)] | |
127 | + | let totalVoteSWOPnew = (totalVoteSWOP + poolVoteDiffSWOP) | |
128 | + | let totalActiveSWOPnew = if ((totalPeriod == currPeriod)) | |
129 | + | then (totalActiveSWOP + ((poolVoteDiffSWOP * coef) / scale8)) | |
130 | + | else (totalVoteSWOP + ((poolVoteDiffSWOP * coef) / scale8)) | |
131 | + | let totalFreezeSWOPnew = if ((poolPeriod == currPeriod)) | |
132 | + | then totalFreezeSWOP | |
133 | + | else totalVoteSWOP | |
134 | + | let totalEntry = [IntegerEntry(kTotalPeriod, currPeriod), IntegerEntry(kTotalActiveSWOP, poolActiveSWOPnew), IntegerEntry(kTotalFreezeSWOP, poolFreezeSWOPnew), IntegerEntry(kTotalVoteSWOP, poolVoteSWOPnew)] | |
135 | + | ((userEntry ++ poolEntry) ++ totalEntry) | |
136 | + | } | |
137 | + | else { | |
138 | + | let removePoolVote = -(poolVoteDiffSWOP) | |
139 | + | let userPoolFreezeSWOPnew = if ((userPoolVotePeriod == currPeriod)) | |
140 | + | then min([userPoolFreezeSWOP, userPoolVoteSWOPnew]) | |
141 | + | else userPoolVoteSWOPnew | |
142 | + | let userPoolActiveVoteSWOPnew = if (((userPoolVoteSWOP - userPoolFreezeSWOP) == 0)) | |
143 | + | then 0 | |
144 | + | else (userPoolFreezeSWOPnew + (((userPoolActiveVoteSWOP - userPoolFreezeSWOP) * (userPoolVoteSWOPnew - userPoolFreezeSWOPnew)) / (userPoolVoteSWOP - userPoolFreezeSWOP))) | |
145 | + | let newUnvoted = max([0, (removePoolVote - (if ((userUnvotedPeriod == currPeriod)) | |
146 | + | then (userPoolVoteSWOP - userPoolFreezeSWOP) | |
147 | + | else 0))]) | |
148 | + | let userUnvotedNew = if ((userUnvotedPeriod == currPeriod)) | |
149 | + | then userUnvoted | |
150 | + | else (0 + newUnvoted) | |
151 | + | let userUnvotedPeriodNew = if ((newUnvoted > 0)) | |
152 | + | then currPeriod | |
153 | + | else userUnvotedPeriod | |
154 | + | let userEntry = [IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserPoolVotePeriod), currPeriod), IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserPoolFreezeSWOP), userPoolFreezeSWOPnew), IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserPoolActiveSWOP), userPoolActiveVoteSWOPnew), IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserPoolVoteSWOP), userPoolVoteSWOPnew), IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserTotalVoteSWOP), userTotalVoteSWOPnew), IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserUnvoted), userUnvotedNew), IntegerEntry((((toString(i.caller) + "_") + poolAddress) + kUserUnvotedPeriod), userUnvotedPeriod)] | |
155 | + | let poolVoteSWOPnew = (poolVoteSWOP - removePoolVote) | |
156 | + | let poolFreezeSWOPnew = if ((poolPeriod == currPeriod)) | |
157 | + | then min([poolFreezeSWOP, poolVoteSWOPnew]) | |
158 | + | else poolVoteSWOPnew | |
159 | + | let poolActiveVoteSWOPnew = if (((poolVoteSWOP - poolFreezeSWOP) == 0)) | |
160 | + | then 0 | |
161 | + | else (poolFreezeSWOPnew + (((poolActiveSWOP - poolFreezeSWOP) * (poolVoteSWOPnew - poolFreezeSWOPnew)) / (poolVoteSWOP - poolFreezeSWOP))) | |
162 | + | let poolEntry = [IntegerEntry((poolAddress + kPoolPeriod), currPeriod), IntegerEntry((poolAddress + kPoolFreezeSWOP), poolFreezeSWOPnew), IntegerEntry((poolAddress + kPoolActiveSWOP), poolActiveVoteSWOPnew), IntegerEntry((poolAddress + kPoolVoteSWOP), poolVoteSWOPnew)] | |
163 | + | let totalVoteSWOPnew = (totalVoteSWOP - removePoolVote) | |
164 | + | let totalFreezeSWOPnew = if ((totalPeriod == currPeriod)) | |
165 | + | then min([totalFreezeSWOP, totalVoteSWOPnew]) | |
166 | + | else totalVoteSWOPnew | |
167 | + | let totalActiveVoteSWOPnew = if (((totalVoteSWOP - totalFreezeSWOP) == 0)) | |
168 | + | then 0 | |
169 | + | else (totalFreezeSWOPnew + (((totalActiveSWOP - totalFreezeSWOP) * (totalVoteSWOPnew - totalFreezeSWOPnew)) / (totalVoteSWOP - totalFreezeSWOP))) | |
170 | + | let totalEntry = [IntegerEntry(kTotalPeriod, currPeriod), IntegerEntry(kTotalFreezeSWOP, totalFreezeSWOPnew), IntegerEntry(kTotalActiveSWOP, totalActiveVoteSWOPnew), IntegerEntry(kTotalVoteSWOP, totalVoteSWOPnew)] | |
171 | + | ((userEntry ++ poolEntry) ++ totalEntry) | |
172 | + | } | |
173 | + | } | |
174 | + | ||
175 | + |
github/deemru/w8io/026f985 67.28 ms ◑