tx · 6zFbgQKvGkpfPrc426eciXP5KjmpfkydfPu9YGa374iQ 3NAgDPRKu4nLeJ3i3xC8DSZZqwT5CKf8PGQ: -0.01400000 Waves 2020.11.19 16:22 [1272277] smart account 3NAgDPRKu4nLeJ3i3xC8DSZZqwT5CKf8PGQ > SELF 0.00000000 Waves
{ "type": 13, "id": "6zFbgQKvGkpfPrc426eciXP5KjmpfkydfPu9YGa374iQ", "fee": 1400000, "feeAssetId": null, "timestamp": 1605792200491, "version": 2, "chainId": 84, "sender": "3NAgDPRKu4nLeJ3i3xC8DSZZqwT5CKf8PGQ", "senderPublicKey": "5Vh9W9uREKoRpCAFBf3i6pb52MLDfj6gWRwNNpKcKuFa", "proofs": [ "4MhjcB33E1PBjSaf5bYGeA5KfW9xEozRfZuvdYmeRVojstza4jSWB5rn5gxiNwLhLGfYq5dKa45Z3ksHaBXTnd3V" ], "script": "base64:AAIEAAAAAAAAAAcIAhIDCgEIAAAABgAAAAAGVk9URVJTAAAAAAAAAAADAAAAAAZWT1RJTkcCAAAABlZPVElORwAAAAAGUkVWRUFMAgAAAAZSRVZFQUwBAAAAD2dldENvbW1pdHNDb3VudAAAAAAEAAAABWNvdW50CQAEGgAAAAIFAAAABHRoaXMCAAAADWNvbW1pdHNfY291bnQEAAAAByRtYXRjaDAFAAAABWNvdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABWNvdW50BQAAAAckbWF0Y2gwBQAAAAVjb3VudAAAAAAAAAAAAAEAAAAPZ2V0Vm90aW5nU3RhdHVzAAAAAAQAAAAGc3RhdHVzCQAEHQAAAAIFAAAABHRoaXMCAAAADXZvdGluZ19zdGF0dXMEAAAAByRtYXRjaDAFAAAABnN0YXR1cwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAZzdGF0dXMFAAAAByRtYXRjaDAFAAAABnN0YXR1cwUAAAAGVk9USU5HAQAAAAp2b3RlRXhpc3RzAAAAAQAAAAdhZGRyZXNzCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAAB2NvbW1pdF8FAAAAB2FkZHJlc3MAAAABAAAAAWkBAAAABmNvbW1pdAAAAAEAAAAEaGFzaAQAAAAEdXNlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAxjb21taXRzQ291bnQJAQAAAA9nZXRDb21taXRzQ291bnQAAAAABAAAAApuZXh0U3RhdHVzAwkAAAAAAAACCQAAZAAAAAIFAAAADGNvbW1pdHNDb3VudAAAAAAAAAAAAQUAAAAGVk9URVJTBQAAAAZSRVZFQUwFAAAABlZPVElORwMJAAAAAAAAAgUAAAAMY29tbWl0c0NvdW50BQAAAAZWT1RFUlMJAAACAAAAAQIAAAAcTWF4IG51bWJlciBvZiB2b3RlcnMgcmVhY2hlZAMJAQAAAAEhAAAAAQkBAAAACnZvdGVFeGlzdHMAAAABBQAAAAR1c2VyCQAAAgAAAAECAAAAElVzZXIgYWxyZWFkeSB2b3RlZAMJAQAAAAIhPQAAAAIJAQAAAA9nZXRWb3RpbmdTdGF0dXMAAAAABQAAAAZWT1RJTkcJAAACAAAAAQIAAAASVm90aW5nIGlzIGRpc2FibGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAHY29tbWl0XwUAAAAEdXNlcgUAAAAEaGFzaAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAANY29tbWl0c19jb3VudAkAAGQAAAACBQAAAAxjb21taXRzQ291bnQAAAAAAAAAAAEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAANdm90aW5nX3N0YXR1cwUAAAAKbmV4dFN0YXR1cwUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAY6UKmL", "height": 1272277, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: DmDbGFEcV1c4NrnEhfs2uxx7iK66mTwGqrUANsT6iGHR Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 4 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let VOTERS = 3 | |
5 | + | ||
6 | + | let VOTING = "VOTING" | |
7 | + | ||
8 | + | let REVEAL = "REVEAL" | |
9 | + | ||
10 | + | func getCommitsCount () = { | |
11 | + | let count = getInteger(this, "commits_count") | |
12 | + | match count { | |
13 | + | case count: Int => | |
14 | + | count | |
15 | + | case _ => | |
16 | + | 0 | |
17 | + | } | |
18 | + | } | |
19 | + | ||
20 | + | ||
21 | + | func getVotingStatus () = { | |
22 | + | let status = getString(this, "voting_status") | |
23 | + | match status { | |
24 | + | case status: String => | |
25 | + | status | |
26 | + | case _ => | |
27 | + | VOTING | |
28 | + | } | |
29 | + | } | |
30 | + | ||
31 | + | ||
32 | + | func voteExists (address) = isDefined(getString(this, ("commit_" + address))) | |
33 | + | ||
34 | + | ||
35 | + | @Callable(i) | |
36 | + | func commit (hash) = { | |
37 | + | let user = toBase58String(i.caller.bytes) | |
38 | + | let commitsCount = getCommitsCount() | |
39 | + | let nextStatus = if (((commitsCount + 1) == VOTERS)) | |
40 | + | then REVEAL | |
41 | + | else VOTING | |
42 | + | if ((commitsCount == VOTERS)) | |
43 | + | then throw("Max number of voters reached") | |
44 | + | else if (!(voteExists(user))) | |
45 | + | then throw("User already voted") | |
46 | + | else if ((getVotingStatus() != VOTING)) | |
47 | + | then throw("Voting is disabled") | |
48 | + | else [StringEntry(("commit_" + user), hash), IntegerEntry("commits_count", (commitsCount + 1)), StringEntry("voting_status", nextStatus)] | |
49 | + | } | |
50 | + | ||
51 | + | ||
52 | + | @Verifier(tx) | |
53 | + | func verify () = true | |
54 | + |
github/deemru/w8io/169f3d6 16.37 ms ◑