tx · 6hNa5jwUcwmHbkepprsQ2xcJoF13jw9fvHMeC13tHudt

3N86zk6P6pyxFnu5o1U62pZeiRQ6Q1b3Lgb:  -0.01000010 Waves

2021.07.21 14:24 [1623313] smart account 3N86zk6P6pyxFnu5o1U62pZeiRQ6Q1b3Lgb > SELF 0.00000000 Waves

{ "type": 13, "id": "6hNa5jwUcwmHbkepprsQ2xcJoF13jw9fvHMeC13tHudt", "fee": 1000010, "feeAssetId": null, "timestamp": 1626866705231, "version": 2, "chainId": 84, "sender": "3N86zk6P6pyxFnu5o1U62pZeiRQ6Q1b3Lgb", "senderPublicKey": "J5UWSH8o2ZgSCRmahKoyq3Zzf9CSXEJtFQjoxuiqw8jN", "proofs": [ "2rFoyf9eP1Tk5nLobfdEJvJVkhCq296zp6DWbKDkhi4JrSpjWWWn2uyjRdz7YJ8wM7YG52iTAcpCLbmvYP94p4YA" ], "script": "base64:AAIFAAAAAAAAAB0IAhIFCgMIAQgSAwoBCBIAEgQKAggIEgUKAwgICAAAAB0AAAAABlZPVEVSUwAAAAAAAAAAAwAAAAAGUVVPUlVNAAAAAAAAAAACAAAAAAZWT1RJTkcCAAAABnZvdGluZwAAAAAGUkVWRUFMAgAAAAZyZXZlYWwAAAAACEZFQVRVUkVEAgAAAAhmZWF0dXJlZAAAAAAIREVMSVNURUQCAAAACGRlbGlzdGVkAAAAAAROT05FAgAAAARub25lAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAZfcHJpY2UBAAAAEWdldFZhbHVlSXRlbVByaWNlAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABGl0ZW0CAAAAAV8FAAAABHVzZXICAAAABF9jbnQBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAR1c2VyBQAAAARpdGVtAQAAAApnZXRLZXlJdGVtAAAAAgAAAAhzdXBwbGllcgAAAAV0aXRsZQkAASwAAAACAgAAAAVpdGVtXwkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQkAASwAAAACBQAAAAhzdXBwbGllcgUAAAAFdGl0bGUBAAAADmdldEtleUl0ZW1EYXRhAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABV9kYXRhAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAFX2RhdGEBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQAAAAdhY2NvdW50CQABLAAAAAIFAAAAB2FjY291bnQCAAAACF9iYWxhbmNlAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEAAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAB2FjY291bnQBAAAADGdldEtleUNvbW1pdAAAAAIAAAAEaXRlbQAAAAR1c2VyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAAdfY29tbWl0AQAAAA5nZXRWYWx1ZUNvbW1pdAAAAAIAAAAEaXRlbQAAAAR1c2VyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAMZ2V0S2V5Q29tbWl0AAAAAgUAAAAEaXRlbQUAAAAEdXNlcgEAAAASZ2V0S2V5Q29tbWl0c0NvdW50AAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAAB19jb21jbnQBAAAAFGdldFZhbHVlQ29tbWl0c0NvdW50AAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0S2V5Q29tbWl0c0NvdW50AAAAAQUAAAAEaXRlbQEAAAAMZ2V0S2V5UmV2ZWFsAAAAAgAAAARpdGVtAAAABHVzZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAA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", "height": 1623313, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6ynNC7JB7PKWXPkj63SNYSsY7yfnb2B4jvuhC4qsp5fJ Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "none"
4+let a = 3
55
6-func b (c) = {
7- let d = {
8- let e = getString(this, c)
9- if ($isInstanceOf(e, "String"))
6+let b = 2
7+
8+let c = "voting"
9+
10+let d = "reveal"
11+
12+let e = "featured"
13+
14+let f = "delisted"
15+
16+let g = "none"
17+
18+func h (i) = {
19+ let j = {
20+ let k = getInteger(this, i)
21+ if ($isInstanceOf(k, "Int"))
1022 then {
11- let f = e
12- f
23+ let l = k
24+ l
1325 }
14- else a
26+ else 0
1527 }
16- d
28+ j
1729 }
1830
1931
20-func g (h) = (h + "_price")
21-
22-
23-func i (j,k) = ("item_" + toBase58String(sha256(toBytes((j + k)))))
24-
25-
26-func l (h) = (h + "_data")
27-
28-
29-func m (h) = (h + "_data")
30-
31-
32-func n (h) = b(m(h))
33-
34-
35-let o = "3N86zk6P6pyxFnu5o1U62pZeiRQ6Q1b3Lgb"
36-
37-let p = "verified"
38-
39-let q = "blacklist"
40-
41-func r () = value(addressFromString("3N86zk6P6pyxFnu5o1U62pZeiRQ6Q1b3Lgb"))
42-
43-
44-func s (t) = (t + "_verifier_status")
45-
46-
47-func u (v,t) = {
48- let d = {
49- let e = getString(v, s(t))
50- if ($isInstanceOf(e, "String"))
32+func m (i) = {
33+ let n = {
34+ let k = getString(this, i)
35+ if ($isInstanceOf(k, "String"))
5136 then {
52- let f = e
53- f
37+ let l = k
38+ l
5439 }
55- else a
40+ else g
5641 }
57- d
42+ n
5843 }
5944
6045
61-@Callable(w)
62-func addItem (k,x,y) = {
63- let z = toBase58String(w.caller.bytes)
64- let h = i(z, k)
65- let A = u(r(), z)
66- if ((0 >= x))
46+func o (p) = (p + "_price")
47+
48+
49+func q (p) = h(o(p))
50+
51+
52+func r (s,p) = (((p + "_") + s) + "_cnt")
53+
54+
55+func t (s,p) = h(r(s, p))
56+
57+
58+func u (v,w) = ("item_" + toBase58String(sha256(toBytes((v + w)))))
59+
60+
61+func x (p) = (p + "_data")
62+
63+
64+func y (p) = (p + "_data")
65+
66+
67+func z (p) = m(y(p))
68+
69+
70+func A (B) = (B + "_balance")
71+
72+
73+func C (B) = h(A(B))
74+
75+
76+func D (p,s) = (((p + "_") + s) + "_commit")
77+
78+
79+func E (p,s) = m(D(p, s))
80+
81+
82+func F (p) = (p + "_comcnt")
83+
84+
85+func G (p) = h(F(p))
86+
87+
88+func H (p,s) = (((p + "_") + s) + "_reveal")
89+
90+
91+func I (p,s) = m(H(p, s))
92+
93+
94+func J (p) = (p + "_status")
95+
96+
97+func K (p) = m(J(p))
98+
99+
100+func L (p,M) = ((p + "_res:") + M)
101+
102+
103+func N (p,M) = h(L(p, M))
104+
105+
106+@Callable(O)
107+func addItem (w,P,Q) = {
108+ let R = toBase58String(O.caller.bytes)
109+ let p = u(R, w)
110+ if ((0 >= P))
67111 then throw("purchase amount cannot be less than item price")
68- else if ((n(h) != a))
69- then throw("an item is already exit")
70- else if ((A == q))
71- then throw("supplier's account has been blacklisted")
72- else [StringEntry(m(h), z), IntegerEntry(g(h), x), StringEntry(l(h), y), StringEntry(s(z), A)]
112+ else if ((z(p) != g))
113+ then throw("an item is already exist")
114+ else [StringEntry(y(p), R), IntegerEntry(o(p), P), StringEntry(x(p), Q)]
73115 }
74116
75117
76118
77-@Callable(w)
78-func setstatus (j,B) = {
79- let t = toBase58String(w.caller.bytes)
80- if ((t != o))
81- then throw("only oracle veryfier are able to manage whilelist")
82- else if (if ((B != p))
83- then (B != q)
84- else false)
85- then throw("waiting status")
86- else [StringEntry(s(j), B)]
119+@Callable(O)
120+func purchase (p) = {
121+ let S = O.payments[0]
122+ if (isDefined(S.assetId))
123+ then throw("WAVES token only at the moment")
124+ else {
125+ let T = toBase58String(O.caller.bytes)
126+ let P = q(p)
127+ let U = z(p)
128+ if ((P > S.amount))
129+ then throw("purchase amunt cannot be less than item price")
130+ else if ((S.amount > P))
131+ then throw("purchase amount cannot be higher than item price")
132+ else if ((U == g))
133+ then throw("Supplier address doesn't exist")
134+ else [IntegerEntry(r(T, p), (t(T, p) + 1)), IntegerEntry(A(U), (C(U) + S.amount))]
135+ }
136+ }
137+
138+
139+
140+@Callable(O)
141+func withdraw () = {
142+ let R = toBase58String(O.caller.bytes)
143+ let V = C(R)
144+ if ((0 >= V))
145+ then throw("za mało środków")
146+ else [IntegerEntry(A(R), 0), ScriptTransfer(addressFromStringValue(R), V, unit)]
147+ }
148+
149+
150+
151+@Callable(O)
152+func voteCommit (p,W) = {
153+ let s = toBase58String(O.caller.bytes)
154+ let X = G(p)
155+ let Y = K(p)
156+ if ((X >= a))
157+ then throw("osiągnięto maksymaną liczbę głosujących")
158+ else if ((E(p, s) != g))
159+ then throw("użtykownik już głosuje")
160+ else if ((y(p) == g))
161+ then throw("nie istnieje taki przedmiot")
162+ else if (if ((Y != g))
163+ then (Y != c)
164+ else false)
165+ then throw("głosowanie nie jest możliwe")
166+ else [StringEntry(D(p, s), W), IntegerEntry(F(p), (X + 1)), StringEntry(J(p), if ((X == a))
167+ then d
168+ else c)]
169+ }
170+
171+
172+
173+@Callable(O)
174+func voteReveal (p,M,Z) = {
175+ let s = toBase58String(O.caller.bytes)
176+ let Y = K(p)
177+ let aa = (N(p, M) + 1)
178+ if ((toBase58String(sha256(toBytes((M + Z)))) != E(p, s)))
179+ then throw("reveal data is not valid")
180+ else if ((a > G(p)))
181+ then throw("max number of voters hasn't reached yet")
182+ else if ((I(p, s) != g))
183+ then throw("user has already participated")
184+ else if (if ((Y != c))
185+ then (Y != d)
186+ else false)
187+ then throw("wrong status")
188+ else if (if ((M != e))
189+ then (M != f)
190+ else false)
191+ then throw("vote has finished")
192+ else [StringEntry(H(p, s), M), IntegerEntry(L(p, M), aa), StringEntry(J(p), if ((aa >= b))
193+ then M
194+ else d)]
87195 }
88196
89197

github/deemru/w8io/c3f4982 
28.38 ms