tx · JBgW23iTKgqtc5xsZPepM13D3yZwbRi8jcaMKXyfHLsX

3MzuDDfQ6XjDgLnkQYZ8LKAiyZpvBcaQWjp:  -0.01400000 Waves

2019.12.24 03:56 [822387] smart account 3MzuDDfQ6XjDgLnkQYZ8LKAiyZpvBcaQWjp > SELF 0.00000000 Waves

{ "type": 13, "id": "JBgW23iTKgqtc5xsZPepM13D3yZwbRi8jcaMKXyfHLsX", "fee": 1400000, "feeAssetId": null, "timestamp": 1577149030983, "version": 1, "sender": "3MzuDDfQ6XjDgLnkQYZ8LKAiyZpvBcaQWjp", "senderPublicKey": "4W6E752eFruwwdXebxxGPcoyY5VpUMkAAuS5DH9oA7Eg", "proofs": [ "2Y1oL22P8oFTQhBXGrTQHmVRcywezEsvR2EmLt9xzG1cayvhGpC7RZNF3AZzmqoEzwsAvxHXBtQPTDg33f5pT2wj" ], "script": "base64:AAIDAAAAAAAAABAIARIFCgMIAQgSAwoBCBIAAAAADQAAAAAETk9ORQIAAAAEbm9uZQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX3ByaWNlAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0BAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAARfY250AQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAAEdXNlcgUAAAAEaXRlbQEAAAAKZ2V0S2V5SXRlbQAAAAIAAAAIc3VwcGxpZXIAAAAFdGl0bGUJAAEsAAAAAgIAAAAFaXRlbV8JAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAIc3VwcGxpZXIFAAAABXRpdGxlAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAVfZGF0YQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9vd25lcgEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABAAAAB2FjY291bnQJAAEsAAAAAgUAAAAHYWNjb3VudAIAAAAIX2JhbGFuY2UBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAHYWNjb3VudAAAAAMAAAABaQEAAAAHYWRkSXRlbQAAAAMAAAAFdGl0bGUAAAAFcHJpY2UAAAAEZGF0YQQAAAAPc3VwcGxpZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABGl0ZW0JAQAAAApnZXRLZXlJdGVtAAAAAgUAAAAPc3VwcGxpZXJBZGRyZXNzBQAAAAV0aXRsZQMJAABnAAAAAgAAAAAAAAAAAAUAAAAFcHJpY2UJAAACAAAAAQIAAAAucHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAQAAAAIhPQAAAAIJAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAABE5PTkUJAAACAAAAAQIAAAAYYW4gaXRlbSBpcyBhbHJlYWR5IGV4aXN0CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQUAAAAPc3VwcGxpZXJBZGRyZXNzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQUAAAAFcHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEFAAAABGl0ZW0FAAAABGRhdGEFAAAAA25pbAAAAAFpAQAAAAhwdXJjaGFzZQAAAAEAAAAEaXRlbQQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAH1dBVkVTIHRva2VucyBvbmx5IGF0IHRoZSBtb21lbnQEAAAAC3VzZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXByaWNlCQEAAAARZ2V0VmFsdWVJdGVtUHJpY2UAAAABBQAAAARpdGVtBAAAAA9zdXBwbGllckFkZHJlc3MJAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0DCQAAZgAAAAIFAAAABXByaWNlCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAAC5wdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGxlc3MgdGhhbiBpdGVtIHByaWNlAwkAAGYAAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAFcHJpY2UJAAACAAAAAQIAAAAwcHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBoaWdoZXIgdGhhbiBpdGVtIHByaWNlAwkAAAAAAAACBQAAAA9zdXBwbGllckFkZHJlc3MFAAAABE5PTkUJAAACAAAAAQIAAAAXc3VwcGxpZXIgZG9lcyBub3QgZXhpc3QJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAAEaXRlbQkAAGQAAAACCQEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAAEaXRlbQAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwkAAGQAAAACCQEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MIBQAAAANwbXQAAAAGYW1vdW50BQAAAANuaWwAAAABaQEAAAAId2l0aGRyYXcAAAAABAAAAA9zdXBwbGllckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHYmFsYW5jZQkBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzAwkAAGcAAAACAAAAAAAAAAAABQAAAAdiYWxhbmNlCQAAAgAAAAECAAAAFGluc3VmZmljaWVudCBiYWxhbmNlCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwAAAAAAAAAAAAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAPc3VwcGxpZXJBZGRyZXNzBQAAAAdiYWxhbmNlBQAAAAR1bml0BQAAAANuaWwAAAAA6nOiyw==", "chainId": 84, "height": 822387, "spentComplexity": 0 } View: original | compacted Prev: 8qGLFgKzGtescT6ZsfJnQQngbozrhnVc2oErvGnLqwcS Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = 3
4+let a = "none"
55
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"))
6+func b (c) = {
7+ let d = {
8+ let e = getInteger(this, c)
9+ if ($isInstanceOf(e, "Int"))
2210 then {
23- let l = k
24- l
11+ let f = e
12+ f
2513 }
2614 else 0
2715 }
28- j
16+ d
2917 }
3018
3119
32-func m (i) = {
33- let n = {
34- let k = getString(this, i)
35- if ($isInstanceOf(k, "String"))
20+func g (c) = {
21+ let h = {
22+ let e = getString(this, c)
23+ if ($isInstanceOf(e, "String"))
3624 then {
37- let l = k
38- l
25+ let f = e
26+ f
3927 }
40- else g
28+ else a
4129 }
42- n
30+ h
4331 }
4432
4533
46-func o (p) = (p + "_price")
34+func i (j) = (j + "_price")
4735
4836
49-func q (p) = h(o(p))
37+func k (j) = b(i(j))
5038
5139
52-func r (s,p) = (((p + "_") + s) + "_cnt")
40+func l (m,j) = (((j + "_") + m) + "_cnt")
5341
5442
55-func t (s,p) = h(r(s, p))
43+func n (m,j) = b(l(m, j))
5644
5745
58-func u (v,w) = ("item_" + toBase58String(sha256(toBytes((v + w)))))
46+func o (p,q) = ("item_" + toBase58String(sha256(toBytes((p + q)))))
5947
6048
61-func x (p) = (p + "_data")
49+func r (j) = (j + "_data")
6250
6351
64-func y (p) = (p + "_owner")
52+func s (j) = (j + "_owner")
6553
6654
67-func z (p) = m(y(p))
55+func t (j) = g(s(j))
6856
6957
70-func A (B) = (B + "_balance")
58+func u (v) = (v + "_balance")
7159
7260
73-func C (B) = h(y(B))
61+func w (v) = b(u(v))
7462
7563
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 + "_comctn")
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))
64+@Callable(x)
65+func addItem (q,y,z) = {
66+ let A = toBase58String(x.caller.bytes)
67+ let j = o(A, q)
68+ if ((0 >= y))
11169 then throw("purchase amount cannot be less than item price")
112- else if ((z(p) != g))
113- then throw("an item as already exist")
114- else WriteSet([DataEntry(y(p), R), DataEntry(o(p), P), DataEntry(x(p), Q)])
70+ else if ((t(j) != a))
71+ then throw("an item is already exist")
72+ else WriteSet([DataEntry(s(j), A), DataEntry(i(j), y), DataEntry(r(j), z)])
11573 }
11674
11775
11876
119-@Callable(O)
120-func purchase (p) = {
121- let S = extract(O.payment)
122- if (isDefined(S.assetId))
77+@Callable(x)
78+func purchase (j) = {
79+ let B = extract(x.payment)
80+ if (isDefined(B.assetId))
12381 then throw("WAVES tokens only at the moment")
12482 else {
125- let T = toBase58String(O.caller.bytes)
126- let P = q(p)
127- let R = z(p)
128- if ((P > S.amount))
83+ let C = toBase58String(x.caller.bytes)
84+ let y = k(j)
85+ let A = t(j)
86+ if ((y > B.amount))
12987 then throw("purchase amount cannot be less than item price")
130- else if ((S.amount > P))
88+ else if ((B.amount > y))
13189 then throw("purchase amount cannot be higher than item price")
132- else if ((R == g))
90+ else if ((A == a))
13391 then throw("supplier does not exist")
134- else WriteSet([DataEntry(r(T, p), (t(T, p) + 1)), DataEntry(A(R), (C(R) + S.amount))])
92+ else WriteSet([DataEntry(l(C, j), (n(C, j) + 1)), DataEntry(u(A), (w(A) + B.amount))])
13593 }
13694 }
13795
13896
13997
140-@Callable(O)
98+@Callable(x)
14199 func withdraw () = {
142- let R = toBase58String(O.caller.bytes)
143- let U = C(R)
144- if ((0 >= U))
100+ let A = toBase58String(x.caller.bytes)
101+ let D = w(A)
102+ if ((0 >= D))
145103 then throw("insufficient balance")
146- else ScriptResult(WriteSet([DataEntry(A(R), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(R), U, unit)]))
147- }
148-
149-
150-
151-@Callable(O)
152-func voteCommit (p,V) = {
153- let s = toBase58String(O.caller.bytes)
154- let W = G(p)
155- let X = K(p)
156- if ((W >= a))
157- then throw("reached max num of voters")
158- else if ((E(p, s) != g))
159- then throw("user has already participated")
160- else if ((y(p) == g))
161- then throw("item does not exist")
162- else if (if ((X != g))
163- then (X != c)
164- else false)
165- then throw("voting is not possible")
166- else WriteSet([DataEntry(D(p, s), V), DataEntry(F(p), (W + 1)), DataEntry(J(p), if ((W == a))
167- then d
168- else c)])
169- }
170-
171-
172-
173-@Callable(O)
174-func voteReveal (p,M,Y) = {
175- let s = toBase58String(O.caller.bytes)
176- let X = K(p)
177- let Z = (N(p, M) + 1)
178- if ((toBase58String(sha256(toBytes((M + Y)))) != E(p, s)))
179- then throw("reveal data is not valid")
180- else if ((a > G(p)))
181- then throw("max num of voters hasn-t reached yet")
182- else if ((I(p, s) != g))
183- then throw("user has already participated")
184- else if (if ((X != c))
185- then (X != 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("wrong vote")
192- else if (if ((X == e))
193- then true
194- else (X == f))
195- then throw("vote has finished")
196- else WriteSet([DataEntry(H(p, s), M), DataEntry(L(p, M), Z), DataEntry(J(p), if ((Z >= b))
197- then M
198- else d)])
104+ else ScriptResult(WriteSet([DataEntry(u(A), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(A), D, unit)]))
199105 }
200106
201107

github/deemru/w8io/3ef1775 
71.98 ms