tx · ARiymX3UWrnkSi8wvRc765vTPH627yW5YEp6kru9ZeUH

3N32QbJF1pDejuzw5FM8unvXQXc5zX87Zb2:  -0.01400000 Waves

2020.11.19 17:25 [1272338] smart account 3N32QbJF1pDejuzw5FM8unvXQXc5zX87Zb2 > SELF 0.00000000 Waves

{ "type": 13, "id": "ARiymX3UWrnkSi8wvRc765vTPH627yW5YEp6kru9ZeUH", "fee": 1400000, "feeAssetId": null, "timestamp": 1605795999138, "version": 2, "chainId": 84, "sender": "3N32QbJF1pDejuzw5FM8unvXQXc5zX87Zb2", "senderPublicKey": "2PA1oQvC1quDzHm25JdQxgYwtcgNzQRwiQnxsrZfZkS5", "proofs": [ "e7qr12LaFb272VYkEA3zk6RXWzKxambh32oMDc9z6sy8iLgm2Eu6q1GPV8xWxCaLDL8JysbZsLgfsSz5NkCum9V" ], "script": "base64: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", "height": 1272338, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 9h1uafVJvoW2FUrsSxkAoJFm9Ev218gHdCjjfiaPiATT Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = 3
5+
6+let b = "VOTING"
7+
8+let c = "REVEAL"
9+
10+let d = "FINISHED"
11+
12+func e () = {
13+ let f = getInteger(this, "commits_count")
14+ let g = f
15+ if ($isInstanceOf(g, "Int"))
16+ then {
17+ let f = g
18+ f
19+ }
20+ else 0
21+ }
22+
23+
24+func h () = {
25+ let f = getInteger(this, "reveals_count")
26+ let g = f
27+ if ($isInstanceOf(g, "Int"))
28+ then {
29+ let f = g
30+ f
31+ }
32+ else 0
33+ }
34+
35+
36+func i () = {
37+ let j = getString(this, "voting_status")
38+ let g = j
39+ if ($isInstanceOf(g, "String"))
40+ then {
41+ let j = g
42+ j
43+ }
44+ else b
45+ }
46+
47+
48+func k (l) = isDefined(getString(this, ("commit_" + l)))
49+
50+
51+func m (l) = isDefined(getString(this, ("reveal_" + l)))
52+
53+
54+func n (l,o,p) = {
55+ let q = getString(this, ("commit_" + l))
56+ if (!(isDefined(q)))
57+ then false
58+ else (toBase58String(sha256(toBytes((o + p)))) == q)
59+ }
60+
61+
62+@Callable(r)
63+func commit (q) = {
64+ let s = toBase58String(r.caller.bytes)
65+ let t = e()
66+ let u = if (((t + 1) == a))
67+ then c
68+ else b
69+ if ((t == a))
70+ then throw("Max number of voters reached")
71+ else if (k(s))
72+ then throw("User already voted")
73+ else if ((i() != b))
74+ then throw("Voting is disabled")
75+ else [StringEntry(("commit_" + s), q), IntegerEntry("commits_count", (t + 1)), StringEntry("voting_status", u)]
76+ }
77+
78+
79+
80+@Callable(r)
81+func reveal (o,p) = {
82+ let s = toBase58String(r.caller.bytes)
83+ let v = h()
84+ let w = i()
85+ let u = if (((v + 1) == a))
86+ then d
87+ else c
88+ if ((w == b))
89+ then throw("Voting has not finished yet")
90+ else if ((w == d))
91+ then throw("Voting is finished")
92+ else if (m(s))
93+ then throw("You already revealed vote")
94+ else if (!(n(s, o, p)))
95+ then throw("Vote is not valid")
96+ else [StringEntry(("reveal_" + s), o), IntegerEntry("reveals_count", (v + 1)), StringEntry("voting_status", u)]
97+ }
98+
99+
100+@Verifier(x)
101+func y () = true
102+

github/deemru/w8io/169f3d6 
15.18 ms