tx · 57G39WGVQUXRLFwSWHYycuiG1APrePxwX6t5cB1en8UJ

3MxN6Cszfki941gTcEwXc8ngmbWPTsHoJFq:  -0.01400000 Waves

2019.06.22 22:28 [553673] smart account 3MxN6Cszfki941gTcEwXc8ngmbWPTsHoJFq > SELF 0.00000000 Waves

{ "type": 13, "id": "57G39WGVQUXRLFwSWHYycuiG1APrePxwX6t5cB1en8UJ", "fee": 1400000, "feeAssetId": null, "timestamp": 1561231770850, "version": 1, "sender": "3MxN6Cszfki941gTcEwXc8ngmbWPTsHoJFq", "senderPublicKey": "4fygXNNAjU52sT9N6uq4o9Ck8G75e94ukktN3pd4VxVo", "proofs": [ "581WaxgYmNpLbxxFWP4pDQu6TP7SQV2mQ1PP84NSXD89yZ7mgcdQUjMFFHD3JsT8kej8ReUyfXDsBVUbfQgqrVpk" ], "script": "base64:AAIDAAAAAAAAAAAAAAAdAAAAAAROT05FAgAAAARub25lAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX3ByaWNlAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAARfY250AQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0BAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAR1c2VyBQAAAARpdGVtAQAAAApnZXRLZXlJdGVtAAAAAgAAAAhzdXBwbGllcgAAAAV0aXRsZQkAASwAAAACAgAAAAVpdGVtXwkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQkAASwAAAACBQAAAAhzdXBwbGllcgUAAAAFdGl0bGUBAAAADmdldEtleUl0ZW1EYXRhAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABV9kYXRhAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX293bmVyAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEAAAAHYWNjb3VudAkAASwAAAACBQAAAAdhY2NvdW50AgAAAAhfYmFsYW5jZQEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABAAAAB2FjY291bnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAAdhY2NvdW50AAAAAAZWb3RlcnMAAAAAAAAAAAMAAAAABlF1b3J1bQAAAAAAAAAAAgAAAAAGVm90aW5nAgAAAAZ2b3RpbmcAAAAABlJldmVhbAIAAAAGcmV2ZWFsAAAAAAhGZWF0dXJlZAIAAAAIZmVhdHVyZWQAAAAACERlbGlzdGVkAgAAAAhkZWxpc3RlZAEAAAAMZ2V0S2V5Q29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABGl0ZW0CAAAAAV8FAAAABHVzZXICAAAAB19jb21taXQBAAAADmdldFZhbHVlQ29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAAxnZXRLZXlDb21taXQAAAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAHK2NvbWNudAEAAAAUZ2V0VmFsdWVDb21taXRzQ291bnQAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABBQAAAARpdGVtAQAAAAxnZXRLZXlSZXZlYWwAAAACAAAABGl0ZW0AAAAEdXNlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAABXwUAAAAEdXNlcgIAAAAHX3Jl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", "chainId": 84, "height": 553673, "spentComplexity": 0 } View: original | compacted Prev: 42ujvvpHFCiMcy7LXZpHraEq7P2agG58WrsiMxkN77FJ Next: 5cp6kSLnPCDNRt4Xo9LTgKpdGmQqGZs318NkncRMq7vS Diff:
OldNewDifferences
167167 }
168168
169169
170+
171+@Callable(O)
172+func voteReveal (c,M,aa) = {
173+ let l = toBase58String(O.caller.bytes)
174+ let Z = K(c)
175+ let ab = (N(c, M) + 1)
176+ if ((toBase58String(sha256(toBytes((M + aa)))) != E(c, l)))
177+ then throw("reveal is not valid")
178+ else if ((x > G(c)))
179+ then throw("not enough votes")
180+ else if ((I(c, l) != a))
181+ then throw("usr already participated")
182+ else if (if ((Z != z))
183+ then (Z != A)
184+ else false)
185+ then throw("wrong status")
186+ else if (if ((M != B))
187+ then true
188+ else (Z != C))
189+ then throw("wrong vote")
190+ else if (if ((Z == B))
191+ then true
192+ else (Z == C))
193+ then throw("voting finished already")
194+ else WriteSet([DataEntry(H(c, l), M), DataEntry(L(c, M), ab), DataEntry(J(c), if ((ab >= y))
195+ then M
196+ else A)])
197+ }
198+
199+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "none"
55
66 func b (c) = (c + "_price")
77
88
99 func d (e) = {
1010 let f = {
1111 let g = getInteger(this, e)
1212 if ($isInstanceOf(g, "Int"))
1313 then {
1414 let h = g
1515 h
1616 }
1717 else 0
1818 }
1919 f
2020 }
2121
2222
2323 func i (e) = {
2424 let j = {
2525 let g = getString(this, e)
2626 if ($isInstanceOf(g, "String"))
2727 then {
2828 let h = g
2929 h
3030 }
3131 else a
3232 }
3333 j
3434 }
3535
3636
3737 func k (l,c) = (((c + "_") + l) + "_cnt")
3838
3939
4040 func m (c) = d(b(c))
4141
4242
4343 func n (l,c) = d(k(l, c))
4444
4545
4646 func o (p,q) = ("item_" + toBase58String(sha256(toBytes((p + q)))))
4747
4848
4949 func r (c) = (c + "_data")
5050
5151
5252 func s (c) = (c + "_owner")
5353
5454
5555 func t (c) = i(s(c))
5656
5757
5858 func u (v) = (v + "_balance")
5959
6060
6161 func w (v) = d(u(v))
6262
6363
6464 let x = 3
6565
6666 let y = 2
6767
6868 let z = "voting"
6969
7070 let A = "reveal"
7171
7272 let B = "featured"
7373
7474 let C = "delisted"
7575
7676 func D (c,l) = (((c + "_") + l) + "_commit")
7777
7878
7979 func E (c,l) = i(D(c, l))
8080
8181
8282 func F (c) = (c + "+comcnt")
8383
8484
8585 func G (c) = d(F(c))
8686
8787
8888 func H (c,l) = (((c + "_") + l) + "_reveal")
8989
9090
9191 func I (c,l) = i(H(c, l))
9292
9393
9494 func J (c) = (c + "_status")
9595
9696
9797 func K (c) = i(J(c))
9898
9999
100100 func L (c,M) = ((c + "_res:") + M)
101101
102102
103103 func N (c,M) = d(L(c, M))
104104
105105
106106 @Callable(O)
107107 func additem (q,P,Q) = {
108108 let R = toBase58String(O.caller.bytes)
109109 let c = o(R, q)
110110 if ((0 >= P))
111111 then throw("purchase amount cannot be less than 0 or 0")
112112 else if ((t(c) != a))
113113 then throw("an item already exists")
114114 else WriteSet([DataEntry(s(c), R), DataEntry(b(c), P), DataEntry(r(c), Q)])
115115 }
116116
117117
118118
119119 @Callable(O)
120120 func purchase (c) = {
121121 let S = extract(O.payment)
122122 if (isDefined(S.assetId))
123123 then throw("Can use Waves only at the moment")
124124 else {
125125 let T = toBase58String(O.caller.bytes)
126126 let P = m(c)
127127 let U = t(c)
128128 if ((P > S.amount))
129129 then throw("purchase amount cannot be less than item price ")
130130 else if ((S.amount > P))
131131 then throw("purchase amount cannot be higher than item price")
132132 else WriteSet([DataEntry(k(T, c), (n(T, c) + 1)), DataEntry(u(U), (w(U) + S.amount))])
133133 }
134134 }
135135
136136
137137
138138 @Callable(O)
139139 func withdraw () = {
140140 let V = toBase58String(O.caller.bytes)
141141 let W = d("3MqjzNpmZAF3K7W6RRcezbSdWorMAXXwdqo_balance")
142142 if ((0 >= W))
143143 then throw("Insufficient Balance xD")
144144 else ScriptResult(WriteSet([DataEntry(u(V), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(V), W, unit)]))
145145 }
146146
147147
148148
149149 @Callable(O)
150150 func voteCommit (c,X) = {
151151 let l = toBase58String(O.caller.bytes)
152152 let Y = G(c)
153153 let Z = K(c)
154154 if ((Y >= x))
155155 then throw("Max votes")
156156 else if ((E(c, l) != a))
157157 then throw("already done")
158158 else if ((s(c) == a))
159159 then throw("item doesnot exist")
160160 else if (if ((Z != a))
161161 then (Z != z)
162162 else false)
163163 then throw("not possilble")
164164 else WriteSet([DataEntry(D(c, l), X), DataEntry(F(c), (Y + 1)), DataEntry(J(c), if ((Y == x))
165165 then A
166166 else z)])
167167 }
168168
169169
170+
171+@Callable(O)
172+func voteReveal (c,M,aa) = {
173+ let l = toBase58String(O.caller.bytes)
174+ let Z = K(c)
175+ let ab = (N(c, M) + 1)
176+ if ((toBase58String(sha256(toBytes((M + aa)))) != E(c, l)))
177+ then throw("reveal is not valid")
178+ else if ((x > G(c)))
179+ then throw("not enough votes")
180+ else if ((I(c, l) != a))
181+ then throw("usr already participated")
182+ else if (if ((Z != z))
183+ then (Z != A)
184+ else false)
185+ then throw("wrong status")
186+ else if (if ((M != B))
187+ then true
188+ else (Z != C))
189+ then throw("wrong vote")
190+ else if (if ((Z == B))
191+ then true
192+ else (Z == C))
193+ then throw("voting finished already")
194+ else WriteSet([DataEntry(H(c, l), M), DataEntry(L(c, M), ab), DataEntry(J(c), if ((ab >= y))
195+ then M
196+ else A)])
197+ }
198+
199+

github/deemru/w8io/c3f4982 
32.99 ms