tx · FpA8ECLf6CpFKw8nWqkZXHfCjscYnYETHnPJVtBT89SW

3MtPvdnUJi2Y1azHP6sCJf6TqhFRu53fYFY:  -0.01400000 Waves

2019.08.06 18:00 [619205] smart account 3MtPvdnUJi2Y1azHP6sCJf6TqhFRu53fYFY > SELF 0.00000000 Waves

{ "type": 13, "id": "FpA8ECLf6CpFKw8nWqkZXHfCjscYnYETHnPJVtBT89SW", "fee": 1400000, "feeAssetId": null, "timestamp": 1565103706629, "version": 1, "sender": "3MtPvdnUJi2Y1azHP6sCJf6TqhFRu53fYFY", "senderPublicKey": "2NJJAMMjXiXCHkfJNkYj74tEzPHxMXMz3TpL35QmrATN", "proofs": [ "4cBiTxbWUdEDAQc3cNc79T3Fs4fftwvo2DFL62jYyKKoco77UxG6b3B5H8EiEeHhjTUC2Bahf3d9m3BZQEsBL4cN" ], "script": "base64:AAIDAAAAAAAAAAAAAAAdAAAAAAROT05FAgAAAARub25lAAAAAAZWT1RFUlMAAAAAAAAAAAMAAAAABlFVT1JVTQAAAAAAAAAAAgAAAAAGVk9USU5HAgAAAAZ2b3RpbmcAAAAABlJFVkVBTAIAAAAGcmV2ZWFsAAAAAAhGRUFUVVJFRAIAAAAIZmVhdHVyZWQAAAAACERFTElTVEVEAgAAAAhkZWxpc3RlZAEAAAALZ2V0TnVtQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAAAxnZXRLZXlDb21taXQAAAACAAAABGl0ZW0AAAAEdXNlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAABXwUAAAAEdXNlcgIAAAAHX2NvbW1pdAEAAAASZ2V0S2V5Q29tbWl0Q291bnRzAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAAB19jb21jbnQBAAAADGdldEtleVJldmVhbAAAAAIAAAAEaXRlbQAAAAR1c2VyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAAdfcmV2ZWFsAQAAABBnZXRLZXlJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAAB19zdGF0dXMBAAAAD2dldEtleVZvdGVDb3VudAAAAAIAAAAEaXRlbQAAAAR2b3RlCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAAFX3JlczoFAAAABHZvdGUBAAAADmdldFZhbHVlQ29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAAxnZXRLZXlDb21taXQAAAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABRnZXRWYWx1ZUNvbW1pdHNDb3VudAAAAAEAAAAEaXRlbQkBAAAAC2dldE51bUJ5S2V5AAAAAQkBAAAAEmdldEtleUNvbW1pdENvdW50cwAAAAEFAAAABGl0ZW0BAAAADmdldFZhbHVlUmV2ZWFsAAAAAgAAAARpdGVtAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAAxnZXRLZXlSZXZlYWwAAAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABJnZXRWYWx1ZUl0ZW1TdGF0dXMAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABBnZXRLZXlJdGVtU3RhdHVzAAAAAQUAAAAEaXRlbQEAAAARZ2V0VmFsdWVWb3RlQ291bnQAAAACAAAABGl0ZW0AAAAEdXNlcgkBAAAAC2dldE51bUJ5S2V5AAAAAQkBAAAAD2dldEtleVZvdGVDb3VudAAAAAIFAAAABGl0ZW0FAAAABHVzZXIBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAARfY250AQAAAApnZXRLZXlJdGVtAAAAAgAAAAhzdXBwbGllcgAAAAV0aXRsZQkAASwAAAACAgAAAARpdGVtCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABCQABLAAAAAIFAAAACHN1cHBsaWVyBQAAAAV0aXRsZQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9vd25lcgEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9wcmljZQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAFX2RhdGEBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQEAAAARZ2V0VmFsdWVJdGVtUHJpY2UAAAABAAAABGl0ZW0JAQAAAAtnZXROdW1CeUtleQAAAAEJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtAQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQEAAAALZ2V0TnVtQnlLZXkAAAABCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQAAAAdhY2NvdW50CQABLAAAAAIFAAAAB2FjY291bnQCAAAACF9iYWxhbmNlAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEAAAAHYWNjb3VudAkBAAAAC2dldE51bUJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAB2FjY291bnQAAAAGAAAAAWkBAAAACHB1cmNoYXNlAAAAAQAAAARpdGVtBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAhQ2FuIHVzZSBvbmx5IFdBVkVTIGF0IHRoZSBtb21lbnQuBAAAAA9jdXN0b21lckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcHJpY2UJAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0EAAAAD3N1cHBsaWVyQWRkcmVzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAPUFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UuIFlvdSBzcGVjaWZpZWQgYW1vdW50OiAJAAGkAAAAAQgFAAAAA3BtdAAAAAZhbW91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", "chainId": 84, "height": 619205, "spentComplexity": 0 } View: original | compacted Prev: Coi61GAyMtC1MFSqq2rGEDwiVbvwKMkVK4iUynLkTrwk Next: ECR9kKWfYGGPQ57Q6DR5mtPcNnVxNm212TaFyAPk9RDX Diff:
OldNewDifferences
138138
139139
140140 @Callable(O)
141-func withdraw () = {
142- let S = toBase58String(O.caller.bytes)
143- let U = N(S)
144- if ((0 >= U))
145- then throw("Insufficient Balance")
146- else ScriptResult(WriteSet([DataEntry(L(S), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(S), U, unit)]))
141+func deposit () = {
142+ let U = base58'5LTW6Yt7iSwFdCKfPPcjvPpKWp4n6LstRHLT5REsrybg'
143+ let P = extract(O.payment)
144+ if ((P.assetId != U))
145+ then throw("Sorry we accept only GNAK here.")
146+ else {
147+ let V = toBase58String(O.caller.bytes)
148+ let W = {
149+ let k = getInteger(this, V)
150+ if ($isInstanceOf(k, "Int"))
151+ then {
152+ let l = k
153+ l
154+ }
155+ else 0
156+ }
157+ let X = (W + P.amount)
158+ WriteSet([DataEntry(V, X)])
159+ }
147160 }
148161
149162
150163
151164 @Callable(O)
152-func voteCommit (p,V,q) = {
153- let W = x(p)
154- let X = z(p)
155- if ((W >= b))
165+func withdraw () = {
166+ let S = toBase58String(O.caller.bytes)
167+ let Y = N(S)
168+ if ((0 >= Y))
169+ then throw("Insufficient Balance")
170+ else ScriptResult(WriteSet([DataEntry(L(S), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(S), Y, unit)]))
171+ }
172+
173+
174+
175+@Callable(O)
176+func voteCommit (p,Z,q) = {
177+ let aa = x(p)
178+ let ab = z(p)
179+ if ((aa >= b))
156180 then throw("Reached max n. of votes")
157181 else if ((w(p, q) != a))
158182 then throw((("User " + q) + " already voted for this item"))
159183 else if ((F(p) == a))
160184 then throw("Item does not exist")
161- else if (if ((X != a))
162- then (X != d)
185+ else if (if ((ab != a))
186+ then (ab != d)
163187 else false)
164188 then throw("It is not possible to vote now.")
165- else WriteSet([DataEntry(o(p, q), V), DataEntry(r(p), (W + 1)), DataEntry(t(p), if ((W == b))
189+ else WriteSet([DataEntry(o(p, q), Z), DataEntry(r(p), (aa + 1)), DataEntry(t(p), if ((aa == b))
166190 then e
167191 else d)])
168192 }
170194
171195
172196 @Callable(O)
173-func voteReveal (p,v,Y,q) = {
174- let X = z(p)
175- let W = x(p)
176- let Z = (A(p, v) + 1)
177- if ((toBase58String(sha256(toBytes((v + Y)))) != w(p, q)))
197+func voteReveal (p,v,ac,q) = {
198+ let ab = z(p)
199+ let aa = x(p)
200+ let ad = (A(p, v) + 1)
201+ if ((toBase58String(sha256(toBytes((v + ac)))) != w(p, q)))
178202 then throw((("Revealed Data for user " + q) + " is not valid."))
179- else if ((b > W))
203+ else if ((b > aa))
180204 then throw("Reached max n. of votes")
181205 else if ((y(p, q) != a))
182206 then throw((("User " + q) + " has already participated"))
183- else if (if ((X != e))
184- then (X != d)
207+ else if (if ((ab != e))
208+ then (ab != d)
185209 else false)
186210 then throw("Wrong votation phase.")
187211 else if (if ((v != f))
188212 then (v != g)
189213 else false)
190214 then throw("Wrong vote value.")
191- else if (if ((X == f))
215+ else if (if ((ab == f))
192216 then true
193- else (X == g))
217+ else (ab == g))
194218 then throw("Vote has finished.")
195- else WriteSet([DataEntry(s(p, q), v), DataEntry(u(p, v), Z), DataEntry(t(p), if ((Z >= c))
219+ else WriteSet([DataEntry(s(p, q), v), DataEntry(u(p, v), ad), DataEntry(t(p), if ((ad >= c))
196220 then v
197221 else d)])
198222 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "none"
55
66 let b = 3
77
88 let c = 2
99
1010 let d = "voting"
1111
1212 let e = "reveal"
1313
1414 let f = "featured"
1515
1616 let g = "delisted"
1717
1818 func h (i) = {
1919 let j = {
2020 let k = getInteger(this, i)
2121 if ($isInstanceOf(k, "Int"))
2222 then {
2323 let l = k
2424 l
2525 }
2626 else 0
2727 }
2828 j
2929 }
3030
3131
3232 func m (i) = {
3333 let n = {
3434 let k = getString(this, i)
3535 if ($isInstanceOf(k, "String"))
3636 then {
3737 let l = k
3838 l
3939 }
4040 else a
4141 }
4242 n
4343 }
4444
4545
4646 func o (p,q) = (((p + "_") + q) + "_commit")
4747
4848
4949 func r (p) = (p + "_comcnt")
5050
5151
5252 func s (p,q) = (((p + "_") + q) + "_reveal")
5353
5454
5555 func t (p) = (p + "_status")
5656
5757
5858 func u (p,v) = ((p + "_res:") + v)
5959
6060
6161 func w (p,q) = m(o(p, q))
6262
6363
6464 func x (p) = h(r(p))
6565
6666
6767 func y (p,q) = m(s(p, q))
6868
6969
7070 func z (p) = m(t(p))
7171
7272
7373 func A (p,q) = h(u(p, q))
7474
7575
7676 func B (q,p) = (((p + "_") + q) + "_cnt")
7777
7878
7979 func C (D,E) = ("item" + toBase58String(sha256(toBytes((D + E)))))
8080
8181
8282 func F (p) = (p + "_owner")
8383
8484
8585 func G (p) = (p + "_price")
8686
8787
8888 func H (p) = (p + "_data")
8989
9090
9191 func I (p) = m(F(p))
9292
9393
9494 func J (p) = h(G(p))
9595
9696
9797 func K (q,p) = h(G(p))
9898
9999
100100 func L (M) = (M + "_balance")
101101
102102
103103 func N (M) = h(L(M))
104104
105105
106106 @Callable(O)
107107 func purchase (p) = {
108108 let P = extract(O.payment)
109109 if (isDefined(P.assetId))
110110 then throw("Can use only WAVES at the moment.")
111111 else {
112112 let Q = toBase58String(O.caller.bytes)
113113 let R = J(p)
114114 let S = I(p)
115115 if ((R > P.amount))
116116 then throw(((("Amount cannot be less than item price. You specified amount: " + toString(P.amount)) + "but price is ") + toString(R)))
117117 else if ((P.amount > R))
118118 then throw(((((("Amount cannot be greater than item price. You specified amount: " + toString(P.amount)) + " but price of item: ") + p) + " is ") + toString(R)))
119119 else if ((S == a))
120120 then throw("Supplier not found.")
121121 else WriteSet([DataEntry(B(Q, p), (K(Q, p) + 1)), DataEntry(L(S), (N(S) + P.amount))])
122122 }
123123 }
124124
125125
126126
127127 @Callable(O)
128128 func addItem (E,R,T) = {
129129 let S = toBase58String(O.caller.bytes)
130130 let p = C(S, E)
131131 if ((0 >= R))
132132 then throw("Price must be positive.")
133133 else if ((I(p) != a))
134134 then throw("An item like this already exists.")
135135 else WriteSet([DataEntry(F(p), S), DataEntry(G(p), R), DataEntry(H(p), T)])
136136 }
137137
138138
139139
140140 @Callable(O)
141-func withdraw () = {
142- let S = toBase58String(O.caller.bytes)
143- let U = N(S)
144- if ((0 >= U))
145- then throw("Insufficient Balance")
146- else ScriptResult(WriteSet([DataEntry(L(S), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(S), U, unit)]))
141+func deposit () = {
142+ let U = base58'5LTW6Yt7iSwFdCKfPPcjvPpKWp4n6LstRHLT5REsrybg'
143+ let P = extract(O.payment)
144+ if ((P.assetId != U))
145+ then throw("Sorry we accept only GNAK here.")
146+ else {
147+ let V = toBase58String(O.caller.bytes)
148+ let W = {
149+ let k = getInteger(this, V)
150+ if ($isInstanceOf(k, "Int"))
151+ then {
152+ let l = k
153+ l
154+ }
155+ else 0
156+ }
157+ let X = (W + P.amount)
158+ WriteSet([DataEntry(V, X)])
159+ }
147160 }
148161
149162
150163
151164 @Callable(O)
152-func voteCommit (p,V,q) = {
153- let W = x(p)
154- let X = z(p)
155- if ((W >= b))
165+func withdraw () = {
166+ let S = toBase58String(O.caller.bytes)
167+ let Y = N(S)
168+ if ((0 >= Y))
169+ then throw("Insufficient Balance")
170+ else ScriptResult(WriteSet([DataEntry(L(S), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(S), Y, unit)]))
171+ }
172+
173+
174+
175+@Callable(O)
176+func voteCommit (p,Z,q) = {
177+ let aa = x(p)
178+ let ab = z(p)
179+ if ((aa >= b))
156180 then throw("Reached max n. of votes")
157181 else if ((w(p, q) != a))
158182 then throw((("User " + q) + " already voted for this item"))
159183 else if ((F(p) == a))
160184 then throw("Item does not exist")
161- else if (if ((X != a))
162- then (X != d)
185+ else if (if ((ab != a))
186+ then (ab != d)
163187 else false)
164188 then throw("It is not possible to vote now.")
165- else WriteSet([DataEntry(o(p, q), V), DataEntry(r(p), (W + 1)), DataEntry(t(p), if ((W == b))
189+ else WriteSet([DataEntry(o(p, q), Z), DataEntry(r(p), (aa + 1)), DataEntry(t(p), if ((aa == b))
166190 then e
167191 else d)])
168192 }
169193
170194
171195
172196 @Callable(O)
173-func voteReveal (p,v,Y,q) = {
174- let X = z(p)
175- let W = x(p)
176- let Z = (A(p, v) + 1)
177- if ((toBase58String(sha256(toBytes((v + Y)))) != w(p, q)))
197+func voteReveal (p,v,ac,q) = {
198+ let ab = z(p)
199+ let aa = x(p)
200+ let ad = (A(p, v) + 1)
201+ if ((toBase58String(sha256(toBytes((v + ac)))) != w(p, q)))
178202 then throw((("Revealed Data for user " + q) + " is not valid."))
179- else if ((b > W))
203+ else if ((b > aa))
180204 then throw("Reached max n. of votes")
181205 else if ((y(p, q) != a))
182206 then throw((("User " + q) + " has already participated"))
183- else if (if ((X != e))
184- then (X != d)
207+ else if (if ((ab != e))
208+ then (ab != d)
185209 else false)
186210 then throw("Wrong votation phase.")
187211 else if (if ((v != f))
188212 then (v != g)
189213 else false)
190214 then throw("Wrong vote value.")
191- else if (if ((X == f))
215+ else if (if ((ab == f))
192216 then true
193- else (X == g))
217+ else (ab == g))
194218 then throw("Vote has finished.")
195- else WriteSet([DataEntry(s(p, q), v), DataEntry(u(p, v), Z), DataEntry(t(p), if ((Z >= c))
219+ else WriteSet([DataEntry(s(p, q), v), DataEntry(u(p, v), ad), DataEntry(t(p), if ((ad >= c))
196220 then v
197221 else d)])
198222 }
199223
200224

github/deemru/w8io/169f3d6 
50.45 ms