tx · 3v2vgfwo5QMZcDa7to9gB8pU7Ax2fW8o98AtmJsZG5is

3MxssetYXJfiGwzo9pqChsSwYj3tCYq5FFH:  -0.01300000 Waves

2022.10.04 13:42 [2257482] smart account 3MxssetYXJfiGwzo9pqChsSwYj3tCYq5FFH > SELF 0.00000000 Waves

{ "type": 13, "id": "3v2vgfwo5QMZcDa7to9gB8pU7Ax2fW8o98AtmJsZG5is", "fee": 1300000, "feeAssetId": null, "timestamp": 1664880177848, "version": 2, "chainId": 84, "sender": "3MxssetYXJfiGwzo9pqChsSwYj3tCYq5FFH", "senderPublicKey": "46sMMaC9rMPQdyTE87RpcnevTY9oheuDqzfnuQzoyCtv", "proofs": [ "3s9zzkxKTUXq8t5SJbARZet1UxmHAMYWrGM4zQXmJ2RGXMzUYhQSsBzukt6DL4XQ7sk29bUbofTesrFjMiKhdbMX" ], "script": "base64:AAIFAAAAAAAAAC0IAhIDCgEBEgMKAQgSAwoBCBIHCgUBAQEBARIECgIBCBIFCgMBCAESBAoCARgAAAAeAQAAABFnZXRJbnRlZ2VyT3JUaHJvdwAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADENhbid0IHJlYWQgJwUAAAADa2V5AgAAAA0nIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAB2FkZHJlc3MBAAAAEGdldFN0cmluZ09yVGhyb3cAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAxDYW4ndCByZWFkICcFAAAAA2tleQIAAAANJyBhdCBhZGRyZXNzIAkABCUAAAABBQAAAAdhZGRyZXNzAQAAABNnZXRJbnRlZ2VyT3JEZWZhdWx0AAAAAwAAAAdhZGRyZXNzAAAAA2tleQAAAAdkZWZhdWx0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQUAAAAHZGVmYXVsdAEAAAAPcGFyc2VJbnRPclRocm93AAAAAQAAAAhtYXliZUludAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEtgAAAAEFAAAACG1heWJlSW50CQABLAAAAAIJAAEsAAAAAgIAAAAaQ2FuJ3QgcGFyc2UgaW50ZWdlciBmcm9tICcFAAAACG1heWJlSW50AgAAAAEnAQAAABNwYXJzZUFkZHJlc3NPclRocm93AAAAAQAAAAxtYXliZUFkZHJlc3MJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABBQAAAAxtYXliZUFkZHJlc3MJAAEsAAAAAgkAASwAAAACAgAAABpDYW4ndCBwYXJzZSBhZGRyZXNzIGZyb20gJwUAAAAMbWF5YmVBZGRyZXNzAgAAAAEnAQAAABFwYXJzZUludE9yRGVmYXVsdAAAAAIAAAAIbWF5YmVJbnQAAAAHZGVmYXVsdAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABLYAAAABBQAAAAhtYXliZUludAUAAAAHZGVmYXVsdAEAAAAKa2V5X2VudGl0eQAAAAMAAAAEbmFtZQAAAAJwawAAAAhwcm9wZXJ0eQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARuYW1lAgAAAAFfBQAAAAJwawIAAAABXwUAAAAIcHJvcGVydHkBAAAAB2tleV90b3AAAAABAAAABG5hbWUJAAEsAAAAAgIAAAAEVG9wXwUAAAAEbmFtZQEAAAAOa2V5X2JpZGRlckhhc2gAAAADAAAACWF1Y3Rpb25JZAAAAAdhZGRyZXNzAAAABGhhc2gJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAAFfBQAAAAdhZGRyZXNzAgAAAAFfBQAAAARoYXNoAQAAAAdrZXlfYmlkAAAAAQAAAApiaWRkZXJIYXNoCQABLAAAAAICAAAABEJpZF8FAAAACmJpZGRlckhhc2gBAAAACmtleV9yZXZlYWwAAAABAAAACmJpZGRlckhhc2gJAAEsAAAAAgIAAAAHUmV2ZWFsXwUAAAAKYmlkZGVySGFzaAAAAAARa2V5X2luaXRUaW1lc3RhbXACAAAADWluaXRUaW1lc3RhbXAAAAAAD2tleV9iaWREdXJhdGlvbgIAAAALYmlkRHVyYXRpb24AAAAAEmtleV9yZXZlYWxEdXJhdGlvbgIAAAAOcmV2ZWFsRHVyYXRpb24AAAAADGtleV9lcnJvckZlZQIAAAAIZXJyb3JGZWUAAAAADmtleV9taW5pbWFsQmlkAgAAAAptaW5pbWFsQmlkAAAAAAxhdWN0aW9uU3RhcnQJAQAAABFnZXRJbnRlZ2VyT3JUaHJvdwAAAAIFAAAABHRoaXMFAAAAEWtleV9pbml0VGltZXN0YW1wAAAAAAtiaWREdXJhdGlvbgkBAAAAEWdldEludGVnZXJPclRocm93AAAAAgUAAAAEdGhpcwUAAAAPa2V5X2JpZER1cmF0aW9uAAAAAA5yZXZlYWxEdXJhdGlvbgkBAAAAEWdldEludGVnZXJPclRocm93AAAAAgUAAAAEdGhpcwUAAAASa2V5X3JldmVhbER1cmF0aW9uAAAAAA9hdWN0aW9uRHVyYXRpb24JAABkAAAAAgUAAAALYmlkRHVyYXRpb24FAAAADnJldmVhbER1cmF0aW9uAAAAAAhlcnJvckZlZQkBAAAAEWdldEludGVnZXJPclRocm93AAAAAgUAAAAEdGhpcwUAAAAMa2V5X2Vycm9yRmVlAAAAAAptaW5pbWFsQmlkCQEAAAARZ2V0SW50ZWdlck9yVGhyb3cAAAACBQAAAAR0aGlzBQAAAA5rZXlfbWluaW1hbEJpZAAAAAAJUEhBU0VfQklEAgAAAANCSUQAAAAADFBIQVNFX1JFVkVBTAIAAAAGUkVWRUFMAQAAABZwcml2YXRlX2dldEF1Y3Rpb25CeUlkAAAAAQAAAAlhdWN0aW9uSWQEAAAACGJpZFN0YXJ0CQAAZAAAAAIFAAAADGF1Y3Rpb25TdGFydAkAAGgAAAACBQAAAAlhdWN0aW9uSWQFAAAAD2F1Y3Rpb25EdXJhdGlvbgQAAAALcmV2ZWFsU3RhcnQJAABkAAAAAgUAAAAIYmlkU3RhcnQFAAAAC2JpZER1cmF0aW9uBAAAAAphdWN0aW9uRW5kCQAAZAAAAAIFAAAAC3JldmVhbFN0YXJ0BQAAAA5yZXZlYWxEdXJhdGlvbgQAAAAFcGhhc2UDCQAAZgAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAAtyZXZlYWxTdGFydAUAAAAMUEhBU0VfUkVWRUFMBQAAAAlQSEFTRV9CSUQJAAUXAAAABQUAAAAJYXVjdGlvbklkBQAAAAVwaGFzZQUAAAAIYmlkU3RhcnQFAAAAC3JldmVhbFN0YXJ0BQAAAAphdWN0aW9uRW5kAQAAAApnZXRBdWN0aW9uAAAAAAQAAAAJYXVjdGlvbklkCQAAaQAAAAIJAABlAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAADGF1Y3Rpb25TdGFydAUAAAAPYXVjdGlvbkR1cmF0aW9uCQEAAAAWcHJpdmF0ZV9nZXRBdWN0aW9uQnlJZAAAAAEFAAAACWF1Y3Rpb25JZAEAAAAPZ2V0QXVjdGlvblBoYXNlAAAAAAQAAAAHJG1hdGNoMAkBAAAACmdldEF1Y3Rpb24AAAAAAwkAAAEAAAACBQAAAAck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XzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgAAAAAAAAAACwAAAAAAAAAADAAAAAAAAAAADQAAAAAAAAAADgAAAAAAAAAADwAAAAAAAAAAEAAAAAAAAAAAEQAAAAAAAAAAEgAAAAAAAAAAEwAAAAAAAAAAFAAAAAAAAAAAFQAAAAAAAAAAFgAAAAAAAAAAFwAAAAAAAAAAGAAAAAAAAAAAGQAAAAAAAAAAGgAAAAAAAAAAGwAAAAAAAAAAHAAAAAAAAAAAHQAAAAAAAAAAHgAAAAAAAAAAHwAAAAAAAAAAIAAAAAAAAAAAIQAAAAAAAAAAIgAAAAAAAAAAIwAAAAAAAAAAJAAAAAAAAAAAJQAA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", "height": 2257482, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AkpcQGH5fnbgJfBhmGksAuD8Yk11yyqY3gNwbGyBUoxE Next: 9kzFXayTxKYFV6mu9vLAxYbDervH7oVcMTwyb1TvKmcX Diff:
OldNewDifferences
6060
6161 let I = "REVEAL"
6262
63-func J () = {
64- let r = ((lastBlock.timestamp - B) / E)
63+func J (r) = {
6564 let K = (B + (r * E))
6665 let L = (K + C)
6766 let M = (L + D)
7372
7473
7574 func O () = {
76- let P = J()
77- if ($isInstanceOf(P, "(Int, String, Int, Int, Int)"))
75+ let r = ((lastBlock.timestamp - B) / E)
76+ J(r)
77+ }
78+
79+
80+func P () = {
81+ let Q = O()
82+ if ($isInstanceOf(Q, "(Int, String, Int, Int, Int)"))
7883 then {
79- let Q = P
80- let r = Q._1
81- let N = Q._2
84+ let R = Q
85+ let r = R._1
86+ let N = R._2
8287 $Tuple2(r, N)
8388 }
8489 else throw("Invalid auction info")
8590 }
8691
8792
88-func R (m,S) = toBase58String(blake2b256_16Kb(keccak256_16Kb((toBytes(m) + toBytes(S)))))
93+func S (m,T) = toBase58String(blake2b256_16Kb(keccak256_16Kb((toBytes(m) + toBytes(T)))))
8994
9095
91-func T (m) = {
92- let U = split(valueOrErrorMessage(getString(this, p(m)), (("Auction winner, for " + m) + " has not been determined")), ",")
93- let V = split(U[0], "_")
94- $Tuple3(g(V[1]), V[2], V[3])
96+func U (m) = {
97+ let V = split(valueOrErrorMessage(getString(this, p(m)), (("Auction winner, for " + m) + " has not been determined")), ",")
98+ let W = split(V[0], "_")
99+ $Tuple3(g(W[1]), W[2], W[3])
95100 }
96101
97102
98-func W (m) = {
99- let P = invoke(this, "checkName", [m], nil)
100- if ($isInstanceOf(P, "Boolean"))
103+func X (m) = {
104+ let Q = invoke(this, "checkName", [m], nil)
105+ if ($isInstanceOf(Q, "Boolean"))
101106 then {
102- let X = P
103- X
107+ let Y = Q
108+ Y
104109 }
105110 else throw("Unexpected checkName result")
106111 }
107112
108113
109-@Callable(Y)
114+@Callable(Z)
115+func getAuctionById (r) = $Tuple2(nil, J(r))
116+
117+
118+
119+@Callable(Z)
110120 func checkName (m) = {
111- let Z = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-"]
112- let aa = split(m, "")
121+ let aa = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-"]
122+ let ab = split(m, "")
113123 if (if ((size(m) == 0))
114124 then true
115125 else (size(m) > 65))
116126 then $Tuple2(nil, false)
117- else if (if (if ((aa[0] == "-"))
127+ else if (if (if ((ab[0] == "-"))
118128 then true
119- else (aa[(size(aa) - 1)] == "-"))
129+ else (ab[(size(ab) - 1)] == "-"))
120130 then true
121131 else contains(m, "--"))
122132 then $Tuple2(nil, false)
123133 else {
124- func ab (ac,ad) = if (ac)
125- then containsElement(Z, ad)
134+ func ac (ad,ae) = if (ad)
135+ then containsElement(aa, ae)
126136 else false
127137
128138 $Tuple2(nil, {
129- let ae = aa
130- let af = size(ae)
131- let ag = true
132- func ah (ai,aj) = if ((aj >= af))
133- then ai
134- else ab(ai, ae[aj])
139+ let af = ab
140+ let ag = size(af)
141+ let ah = true
142+ func ai (aj,ak) = if ((ak >= ag))
143+ then aj
144+ else ac(aj, af[ak])
135145
136- func ak (ai,aj) = if ((aj >= af))
137- then ai
146+ func al (aj,ak) = if ((ak >= ag))
147+ then aj
138148 else throw("List size exceeds 65")
139149
140- ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65)
150+ al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65)
141151 })
142152 }
143153 }
144154
145155
146156
147-@Callable(Y)
148-func getWinnerInfo (m) = $Tuple2(nil, T(m))
157+@Callable(Z)
158+func getWinnerInfo (m) = $Tuple2(nil, U(m))
149159
150160
151161
152-@Callable(Y)
153-func init (al,C,D,F,G) = if ((this != Y.caller))
162+@Callable(Z)
163+func init (am,C,D,F,G) = if ((this != Z.caller))
154164 then throw("only self calls are allowed")
155- else [IntegerEntry(w, al), IntegerEntry(x, C), IntegerEntry(y, D), IntegerEntry(z, F), IntegerEntry(A, G)]
165+ else [IntegerEntry(w, am), IntegerEntry(x, C), IntegerEntry(y, D), IntegerEntry(z, F), IntegerEntry(A, G)]
156166
157167
158168
159-@Callable(Y)
169+@Callable(Z)
160170 func bid (r,s) = {
161- let am = if (if ((size(Y.payments) == 1))
162- then (Y.payments[0].assetId == unit)
171+ let an = if (if ((size(Z.payments) == 1))
172+ then (Z.payments[0].assetId == unit)
163173 else false)
164- then Y.payments[0].amount
174+ then Z.payments[0].amount
165175 else throw("Single payment required")
166- let b = toString(Y.caller)
167- let an = t(q(toString(r), b, s))
168- let ao = O()
169- let ap = ao._1
170- let aq = ao._2
171- if ((ap != r))
176+ let b = toString(Z.caller)
177+ let ao = t(q(toString(r), b, s))
178+ let ap = P()
179+ let aq = ap._1
180+ let ar = ap._2
181+ if ((aq != r))
172182 then throw("Auctions is already over")
173- else if ((aq != H))
183+ else if ((ar != H))
174184 then throw("Bid period is over")
175- else if (isDefined(getInteger(this, an)))
185+ else if (isDefined(getInteger(this, ao)))
176186 then throw("Bid with exact amount already presented")
177- else [IntegerEntry(an, am)]
187+ else [IntegerEntry(ao, an)]
178188 }
179189
180190
181191
182-@Callable(Y)
183-func reveal (r,m,ar) = {
184- let b = toString(Y.caller)
185- let s = R(m, ar)
186- let as = q(toString(r), b, s)
187- let at = v(as)
188- let au = p(m)
189- let av = valueOrErrorMessage(getInteger(this, t(as)), ("Bid doesn't exists " + s))
190- let aw = O()
191- let ap = aw._1
192- let aq = aw._2
193- if ((ap != r))
192+@Callable(Z)
193+func reveal (r,m,as) = {
194+ let b = toString(Z.caller)
195+ let s = S(m, as)
196+ let at = q(toString(r), b, s)
197+ let au = v(at)
198+ let av = p(m)
199+ let aw = valueOrErrorMessage(getInteger(this, t(at)), ("Bid doesn't exists " + s))
200+ let ax = P()
201+ let aq = ax._1
202+ let ar = ax._2
203+ if ((aq != r))
194204 then throw("Auctions is already over")
195- else if ((aq != I))
205+ else if ((ar != I))
196206 then throw("Reveal period is over")
197- else if (isDefined(getString(this, at)))
207+ else if (isDefined(getString(this, au)))
198208 then throw("Bid is already revealed")
199209 else {
200- let ax = [StringEntry(at, ((((toString(av) + ",") + toString(ar)) + ",") + m))]
201- let ay = getString(this, au)
202- if (isDefined(ay))
210+ let ay = [StringEntry(au, ((((toString(aw) + ",") + toString(as)) + ",") + m))]
211+ let az = getString(this, av)
212+ if (isDefined(az))
203213 then {
204- let az = split(value(ay), ",")
205- let aA = az[0]
206- let aB = parseIntValue(split(aA, "_")[1])
207- let aC = g(az[0])
208- if ((r == aB))
209- then ax
214+ let aA = split(value(az), ",")
215+ let aB = aA[0]
216+ let aC = parseIntValue(split(aB, "_")[1])
217+ let aD = g(aA[0])
218+ if ((r == aC))
219+ then ay
210220 else {
211- let aD = value(getString(this, aA))
212- let aE = parseIntValue(split(aD, ",")[1])
213- if (if (if (if (if ((ar > G))
214- then (ar > aE)
221+ let aE = value(getString(this, aB))
222+ let aF = parseIntValue(split(aE, ",")[1])
223+ if (if (if (if (if ((as > G))
224+ then (as > aF)
215225 else false)
216- then (av >= ar)
226+ then (aw >= as)
217227 else false)
218228 then (65 >= size(m))
219229 else false)
220- then W(m)
230+ then X(m)
221231 else false)
222- then (ax :+ StringEntry(au, ((at + ",") + toString(aE))))
223- else if ((ar > aC))
224- then (ax :+ StringEntry(au, ((at + ",") + toString(ar))))
225- else ax
232+ then (ay :+ StringEntry(av, ((au + ",") + toString(aF))))
233+ else if ((as > aD))
234+ then (ay :+ StringEntry(av, ((au + ",") + toString(as))))
235+ else ay
226236 }
227237 }
228- else if (if ((av >= ar))
229- then W(m)
238+ else if (if ((aw >= as))
239+ then X(m)
230240 else false)
231- then (ax :+ StringEntry(au, ((at + ",") + toString(ar))))
232- else ax
241+ then (ay :+ StringEntry(av, ((au + ",") + toString(as))))
242+ else ay
233243 }
234244 }
235245
236246
237247
238-@Callable(Y)
239-func finalize (r,aF) = {
240- let aG = Y.caller
241- let aH = toString(aG)
242- func aI (ac,s) = {
243- let as = q(toString(r), aH, s)
244- let an = t(as)
245- let at = v(as)
246- let aJ = getString(this, at)
247- let aK = {
248- let aL = split(valueOrErrorMessage(aJ, (("Bid with hash " + s) + " not found")), ",")
249- $Tuple3(parseIntValue(aL[0]), parseIntValue(aL[1]), aL[2])
248+@Callable(Z)
249+func finalize (r,aG) = {
250+ let aH = Z.caller
251+ let aI = toString(aH)
252+ func aJ (ad,s) = {
253+ let at = q(toString(r), aI, s)
254+ let ao = t(at)
255+ let au = v(at)
256+ let aK = getString(this, au)
257+ let aL = {
258+ let aM = split(valueOrErrorMessage(aK, (("Bid with hash " + s) + " not found")), ",")
259+ $Tuple3(parseIntValue(aM[0]), parseIntValue(aM[1]), aM[2])
250260 }
251- let av = aK._1
252- let aM = aK._2
253- let m = aK._3
254- let au = p(m)
255- let U = split(valueOrErrorMessage(getString(this, au), "Auction winner has not been determined"), ",")
256- let aN = $Tuple2(U[0], g(U[1]))
257- let V = aN._1
258- let aO = aN._2
259- let aP = parseIntValue(split(V, "_")[1])
260- let aQ = if (if (if (if ((G > aM))
261+ let aw = aL._1
262+ let aN = aL._2
263+ let m = aL._3
264+ let av = p(m)
265+ let V = split(valueOrErrorMessage(getString(this, av), "Auction winner has not been determined"), ",")
266+ let aO = $Tuple2(V[0], g(V[1]))
267+ let W = aO._1
268+ let aP = aO._2
269+ let aQ = parseIntValue(split(W, "_")[1])
270+ let aR = if (if (if (if ((G > aN))
261271 then true
262- else (aM > av))
272+ else (aN > aw))
263273 then true
264- else (aP != r))
274+ else (aQ != r))
265275 then true
266- else !(W(m)))
267- then (av - fraction(av, 10, 100))
268- else if ((V == at))
269- then (av - aO)
270- else av
271- let aR = [DeleteEntry(at), DeleteEntry(an), ScriptTransfer(aG, aQ, unit)]
272- (ac ++ aR)
276+ else !(X(m)))
277+ then (aw - fraction(aw, 10, 100))
278+ else if ((W == au))
279+ then (aw - aP)
280+ else aw
281+ let aS = [DeleteEntry(au), DeleteEntry(ao), ScriptTransfer(aH, aR, unit)]
282+ (ad ++ aS)
273283 }
274284
275- let ae = aF
276- let af = size(ae)
277- let ag = nil
278- func ah (ai,aj) = if ((aj >= af))
279- then ai
280- else aI(ai, ae[aj])
285+ let af = aG
286+ let ag = size(af)
287+ let ah = nil
288+ func ai (aj,ak) = if ((ak >= ag))
289+ then aj
290+ else aJ(aj, af[ak])
281291
282- func ak (ai,aj) = if ((aj >= af))
283- then ai
292+ func al (aj,ak) = if ((ak >= ag))
293+ then aj
284294 else throw("List size exceeds 10")
285295
286- ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
296+ al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
287297 }
288298
289299
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = valueOrErrorMessage(getInteger(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
55
66
77 func d (b,c) = valueOrErrorMessage(getString(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
88
99
1010 func e (b,c,f) = valueOrElse(getInteger(b, c), f)
1111
1212
1313 func g (h) = valueOrErrorMessage(parseInt(h), (("Can't parse integer from '" + h) + "'"))
1414
1515
1616 func i (j) = valueOrErrorMessage(addressFromString(j), (("Can't parse address from '" + j) + "'"))
1717
1818
1919 func k (h,f) = valueOrElse(parseInt(h), f)
2020
2121
2222 func l (m,n,o) = ((((m + "_") + n) + "_") + o)
2323
2424
2525 func p (m) = ("Top_" + m)
2626
2727
2828 func q (r,b,s) = ((((r + "_") + b) + "_") + s)
2929
3030
3131 func t (u) = ("Bid_" + u)
3232
3333
3434 func v (u) = ("Reveal_" + u)
3535
3636
3737 let w = "initTimestamp"
3838
3939 let x = "bidDuration"
4040
4141 let y = "revealDuration"
4242
4343 let z = "errorFee"
4444
4545 let A = "minimalBid"
4646
4747 let B = a(this, w)
4848
4949 let C = a(this, x)
5050
5151 let D = a(this, y)
5252
5353 let E = (C + D)
5454
5555 let F = a(this, z)
5656
5757 let G = a(this, A)
5858
5959 let H = "BID"
6060
6161 let I = "REVEAL"
6262
63-func J () = {
64- let r = ((lastBlock.timestamp - B) / E)
63+func J (r) = {
6564 let K = (B + (r * E))
6665 let L = (K + C)
6766 let M = (L + D)
6867 let N = if ((lastBlock.timestamp > L))
6968 then I
7069 else H
7170 $Tuple5(r, N, K, L, M)
7271 }
7372
7473
7574 func O () = {
76- let P = J()
77- if ($isInstanceOf(P, "(Int, String, Int, Int, Int)"))
75+ let r = ((lastBlock.timestamp - B) / E)
76+ J(r)
77+ }
78+
79+
80+func P () = {
81+ let Q = O()
82+ if ($isInstanceOf(Q, "(Int, String, Int, Int, Int)"))
7883 then {
79- let Q = P
80- let r = Q._1
81- let N = Q._2
84+ let R = Q
85+ let r = R._1
86+ let N = R._2
8287 $Tuple2(r, N)
8388 }
8489 else throw("Invalid auction info")
8590 }
8691
8792
88-func R (m,S) = toBase58String(blake2b256_16Kb(keccak256_16Kb((toBytes(m) + toBytes(S)))))
93+func S (m,T) = toBase58String(blake2b256_16Kb(keccak256_16Kb((toBytes(m) + toBytes(T)))))
8994
9095
91-func T (m) = {
92- let U = split(valueOrErrorMessage(getString(this, p(m)), (("Auction winner, for " + m) + " has not been determined")), ",")
93- let V = split(U[0], "_")
94- $Tuple3(g(V[1]), V[2], V[3])
96+func U (m) = {
97+ let V = split(valueOrErrorMessage(getString(this, p(m)), (("Auction winner, for " + m) + " has not been determined")), ",")
98+ let W = split(V[0], "_")
99+ $Tuple3(g(W[1]), W[2], W[3])
95100 }
96101
97102
98-func W (m) = {
99- let P = invoke(this, "checkName", [m], nil)
100- if ($isInstanceOf(P, "Boolean"))
103+func X (m) = {
104+ let Q = invoke(this, "checkName", [m], nil)
105+ if ($isInstanceOf(Q, "Boolean"))
101106 then {
102- let X = P
103- X
107+ let Y = Q
108+ Y
104109 }
105110 else throw("Unexpected checkName result")
106111 }
107112
108113
109-@Callable(Y)
114+@Callable(Z)
115+func getAuctionById (r) = $Tuple2(nil, J(r))
116+
117+
118+
119+@Callable(Z)
110120 func checkName (m) = {
111- let Z = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-"]
112- let aa = split(m, "")
121+ let aa = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-"]
122+ let ab = split(m, "")
113123 if (if ((size(m) == 0))
114124 then true
115125 else (size(m) > 65))
116126 then $Tuple2(nil, false)
117- else if (if (if ((aa[0] == "-"))
127+ else if (if (if ((ab[0] == "-"))
118128 then true
119- else (aa[(size(aa) - 1)] == "-"))
129+ else (ab[(size(ab) - 1)] == "-"))
120130 then true
121131 else contains(m, "--"))
122132 then $Tuple2(nil, false)
123133 else {
124- func ab (ac,ad) = if (ac)
125- then containsElement(Z, ad)
134+ func ac (ad,ae) = if (ad)
135+ then containsElement(aa, ae)
126136 else false
127137
128138 $Tuple2(nil, {
129- let ae = aa
130- let af = size(ae)
131- let ag = true
132- func ah (ai,aj) = if ((aj >= af))
133- then ai
134- else ab(ai, ae[aj])
139+ let af = ab
140+ let ag = size(af)
141+ let ah = true
142+ func ai (aj,ak) = if ((ak >= ag))
143+ then aj
144+ else ac(aj, af[ak])
135145
136- func ak (ai,aj) = if ((aj >= af))
137- then ai
146+ func al (aj,ak) = if ((ak >= ag))
147+ then aj
138148 else throw("List size exceeds 65")
139149
140- ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65)
150+ al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65)
141151 })
142152 }
143153 }
144154
145155
146156
147-@Callable(Y)
148-func getWinnerInfo (m) = $Tuple2(nil, T(m))
157+@Callable(Z)
158+func getWinnerInfo (m) = $Tuple2(nil, U(m))
149159
150160
151161
152-@Callable(Y)
153-func init (al,C,D,F,G) = if ((this != Y.caller))
162+@Callable(Z)
163+func init (am,C,D,F,G) = if ((this != Z.caller))
154164 then throw("only self calls are allowed")
155- else [IntegerEntry(w, al), IntegerEntry(x, C), IntegerEntry(y, D), IntegerEntry(z, F), IntegerEntry(A, G)]
165+ else [IntegerEntry(w, am), IntegerEntry(x, C), IntegerEntry(y, D), IntegerEntry(z, F), IntegerEntry(A, G)]
156166
157167
158168
159-@Callable(Y)
169+@Callable(Z)
160170 func bid (r,s) = {
161- let am = if (if ((size(Y.payments) == 1))
162- then (Y.payments[0].assetId == unit)
171+ let an = if (if ((size(Z.payments) == 1))
172+ then (Z.payments[0].assetId == unit)
163173 else false)
164- then Y.payments[0].amount
174+ then Z.payments[0].amount
165175 else throw("Single payment required")
166- let b = toString(Y.caller)
167- let an = t(q(toString(r), b, s))
168- let ao = O()
169- let ap = ao._1
170- let aq = ao._2
171- if ((ap != r))
176+ let b = toString(Z.caller)
177+ let ao = t(q(toString(r), b, s))
178+ let ap = P()
179+ let aq = ap._1
180+ let ar = ap._2
181+ if ((aq != r))
172182 then throw("Auctions is already over")
173- else if ((aq != H))
183+ else if ((ar != H))
174184 then throw("Bid period is over")
175- else if (isDefined(getInteger(this, an)))
185+ else if (isDefined(getInteger(this, ao)))
176186 then throw("Bid with exact amount already presented")
177- else [IntegerEntry(an, am)]
187+ else [IntegerEntry(ao, an)]
178188 }
179189
180190
181191
182-@Callable(Y)
183-func reveal (r,m,ar) = {
184- let b = toString(Y.caller)
185- let s = R(m, ar)
186- let as = q(toString(r), b, s)
187- let at = v(as)
188- let au = p(m)
189- let av = valueOrErrorMessage(getInteger(this, t(as)), ("Bid doesn't exists " + s))
190- let aw = O()
191- let ap = aw._1
192- let aq = aw._2
193- if ((ap != r))
192+@Callable(Z)
193+func reveal (r,m,as) = {
194+ let b = toString(Z.caller)
195+ let s = S(m, as)
196+ let at = q(toString(r), b, s)
197+ let au = v(at)
198+ let av = p(m)
199+ let aw = valueOrErrorMessage(getInteger(this, t(at)), ("Bid doesn't exists " + s))
200+ let ax = P()
201+ let aq = ax._1
202+ let ar = ax._2
203+ if ((aq != r))
194204 then throw("Auctions is already over")
195- else if ((aq != I))
205+ else if ((ar != I))
196206 then throw("Reveal period is over")
197- else if (isDefined(getString(this, at)))
207+ else if (isDefined(getString(this, au)))
198208 then throw("Bid is already revealed")
199209 else {
200- let ax = [StringEntry(at, ((((toString(av) + ",") + toString(ar)) + ",") + m))]
201- let ay = getString(this, au)
202- if (isDefined(ay))
210+ let ay = [StringEntry(au, ((((toString(aw) + ",") + toString(as)) + ",") + m))]
211+ let az = getString(this, av)
212+ if (isDefined(az))
203213 then {
204- let az = split(value(ay), ",")
205- let aA = az[0]
206- let aB = parseIntValue(split(aA, "_")[1])
207- let aC = g(az[0])
208- if ((r == aB))
209- then ax
214+ let aA = split(value(az), ",")
215+ let aB = aA[0]
216+ let aC = parseIntValue(split(aB, "_")[1])
217+ let aD = g(aA[0])
218+ if ((r == aC))
219+ then ay
210220 else {
211- let aD = value(getString(this, aA))
212- let aE = parseIntValue(split(aD, ",")[1])
213- if (if (if (if (if ((ar > G))
214- then (ar > aE)
221+ let aE = value(getString(this, aB))
222+ let aF = parseIntValue(split(aE, ",")[1])
223+ if (if (if (if (if ((as > G))
224+ then (as > aF)
215225 else false)
216- then (av >= ar)
226+ then (aw >= as)
217227 else false)
218228 then (65 >= size(m))
219229 else false)
220- then W(m)
230+ then X(m)
221231 else false)
222- then (ax :+ StringEntry(au, ((at + ",") + toString(aE))))
223- else if ((ar > aC))
224- then (ax :+ StringEntry(au, ((at + ",") + toString(ar))))
225- else ax
232+ then (ay :+ StringEntry(av, ((au + ",") + toString(aF))))
233+ else if ((as > aD))
234+ then (ay :+ StringEntry(av, ((au + ",") + toString(as))))
235+ else ay
226236 }
227237 }
228- else if (if ((av >= ar))
229- then W(m)
238+ else if (if ((aw >= as))
239+ then X(m)
230240 else false)
231- then (ax :+ StringEntry(au, ((at + ",") + toString(ar))))
232- else ax
241+ then (ay :+ StringEntry(av, ((au + ",") + toString(as))))
242+ else ay
233243 }
234244 }
235245
236246
237247
238-@Callable(Y)
239-func finalize (r,aF) = {
240- let aG = Y.caller
241- let aH = toString(aG)
242- func aI (ac,s) = {
243- let as = q(toString(r), aH, s)
244- let an = t(as)
245- let at = v(as)
246- let aJ = getString(this, at)
247- let aK = {
248- let aL = split(valueOrErrorMessage(aJ, (("Bid with hash " + s) + " not found")), ",")
249- $Tuple3(parseIntValue(aL[0]), parseIntValue(aL[1]), aL[2])
248+@Callable(Z)
249+func finalize (r,aG) = {
250+ let aH = Z.caller
251+ let aI = toString(aH)
252+ func aJ (ad,s) = {
253+ let at = q(toString(r), aI, s)
254+ let ao = t(at)
255+ let au = v(at)
256+ let aK = getString(this, au)
257+ let aL = {
258+ let aM = split(valueOrErrorMessage(aK, (("Bid with hash " + s) + " not found")), ",")
259+ $Tuple3(parseIntValue(aM[0]), parseIntValue(aM[1]), aM[2])
250260 }
251- let av = aK._1
252- let aM = aK._2
253- let m = aK._3
254- let au = p(m)
255- let U = split(valueOrErrorMessage(getString(this, au), "Auction winner has not been determined"), ",")
256- let aN = $Tuple2(U[0], g(U[1]))
257- let V = aN._1
258- let aO = aN._2
259- let aP = parseIntValue(split(V, "_")[1])
260- let aQ = if (if (if (if ((G > aM))
261+ let aw = aL._1
262+ let aN = aL._2
263+ let m = aL._3
264+ let av = p(m)
265+ let V = split(valueOrErrorMessage(getString(this, av), "Auction winner has not been determined"), ",")
266+ let aO = $Tuple2(V[0], g(V[1]))
267+ let W = aO._1
268+ let aP = aO._2
269+ let aQ = parseIntValue(split(W, "_")[1])
270+ let aR = if (if (if (if ((G > aN))
261271 then true
262- else (aM > av))
272+ else (aN > aw))
263273 then true
264- else (aP != r))
274+ else (aQ != r))
265275 then true
266- else !(W(m)))
267- then (av - fraction(av, 10, 100))
268- else if ((V == at))
269- then (av - aO)
270- else av
271- let aR = [DeleteEntry(at), DeleteEntry(an), ScriptTransfer(aG, aQ, unit)]
272- (ac ++ aR)
276+ else !(X(m)))
277+ then (aw - fraction(aw, 10, 100))
278+ else if ((W == au))
279+ then (aw - aP)
280+ else aw
281+ let aS = [DeleteEntry(au), DeleteEntry(ao), ScriptTransfer(aH, aR, unit)]
282+ (ad ++ aS)
273283 }
274284
275- let ae = aF
276- let af = size(ae)
277- let ag = nil
278- func ah (ai,aj) = if ((aj >= af))
279- then ai
280- else aI(ai, ae[aj])
285+ let af = aG
286+ let ag = size(af)
287+ let ah = nil
288+ func ai (aj,ak) = if ((ak >= ag))
289+ then aj
290+ else aJ(aj, af[ak])
281291
282- func ak (ai,aj) = if ((aj >= af))
283- then ai
292+ func al (aj,ak) = if ((ak >= ag))
293+ then aj
284294 else throw("List size exceeds 10")
285295
286- ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
296+ al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
287297 }
288298
289299

github/deemru/w8io/873ac7e 
129.32 ms