tx · ATY5EkrWutknbRSqoq1rbneebPJ6p1mZRMLDHJde9jPT

3N9eLqWNqb7jeF383m9qsXEBqpp8qfQmfbx:  -0.10000000 Waves

2022.06.04 05:38 [2081022] smart account 3N9eLqWNqb7jeF383m9qsXEBqpp8qfQmfbx > SELF 0.00000000 Waves

{ "type": 13, "id": "ATY5EkrWutknbRSqoq1rbneebPJ6p1mZRMLDHJde9jPT", "fee": 10000000, "feeAssetId": null, "timestamp": 1654310326828, "version": 2, "chainId": 84, "sender": "3N9eLqWNqb7jeF383m9qsXEBqpp8qfQmfbx", "senderPublicKey": "5cWdpE4X7mfNkLmxJ389ws6qGZof4fwydqMcqPexhJ7w", "proofs": [ "Ea3iixSWHPF5N5Wr6adQGQpPapfGvS9awB5K2rb9YJJAPSXPUWuVax7RkNDwnHaddjb1j1xQviCvn2dUdWcwBnr" ], "script": "base64:AAIFAAAAAAAAAEoIAhIHCgUICAgBARIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAkSAwoBCBIFCgMBCAESAwoBCAAAACMAAAAADGxvY2tpbmdTdG9yZQUAAAAEdGhpcwAAAAAMc3Rha2luZ1N0b3JlAgAAAAhfUmVzZXJ2ZQAAAAARbWluaW11bUxvY2tBbW91bnQCAAAADl9NaW5Mb2NrQW1vdW50AAAAABFtYXhpbXVtTG9ja0Ftb3VudAIAAAAOX01heExvY2tBbW91bnQAAAAACWFzc2V0TGlzdAUAAAADbmlsAAAAABF1bmxvY2tFbGlnaWJpbGl0eQIAAAAcX0VsaWdpYmxlX3RvX3VubG9ja19hdF9ibG9jawAAAAAMbG9ja2VkQW1vdW50AgAAAA5fQW1vdW50X2xvY2tlZAAAAAALbG9ja2VkQXNzZXQCAAAADV9Bc3NldF9sb2NrZWQAAAAABHVzZXICAAAABV9Vc2VyAAAAAApBUFlfQW1vdW50AgAAAAtfQVBZX2Ftb3VudAAAAAARdG90YWxMb2NrZWRBTW91bnQCAAAAFF9Ub3RhbF9Mb2NrZWRfQW1vdW50AAAAAA1sb2NraW5nUGVyaW9kAgAAAAxfRGF5c19sb2NrZWQAAAAACmVudHJ5SW5kZXgCAAAADF9FbnRyeV9JbmRleAAAAAAOYWxyZWFkeUNsYWltZWQCAAAAEF9BbHJlYWR5X0NsYWltZWQAAAAABWFkbWluAgAAAAZhZG1pbl8AAAAAC0Jsb2NrUGVyRGF5AAAAAAAAAAWgAAAAABR0aGlydHlEYXlzTG9ja1BlcmlvZAAAAAAAAAAAHgAAAAATc2l4dHlEYXlzTG9ja1BlcmlvZAAAAAAAAAAAPAAAAAAUbmluZXR5RGF5c0xvY2tQZXJpb2QAAAAAAAAAAFoBAAAABGdldEkAAAABAAAAA2tleQkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkBAAAABGdldFMAAAABAAAAA2tleQkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkBAAAABWdldElWAAAAAQAAAANrZXkJAQAAAAV2YWx1ZQAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AQAAAAVnZXRTVgAAAAEAAAADa2V5CQEA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BQAAABFtaW5pbXVtTG9ja0Ftb3VudAQAAAASYU1heGltdW1Mb2NrQW1vdW50CQABLAAAAAIFAAAAC0Fzc2V0VGlja2VyBQAAABFtYXhpbXVtTG9ja0Ftb3VudAQAAAALY2hlY2tNaW5NYXgDCQAAZgAAAAIFAAAAFkFzc2V0TWF4aW11bUxvY2tBbW91bnQFAAAAFkFzc2V0TWluaW11bUxvY2tBbW91bnQJAARMAAAAAgkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgUAAAASYU1pbmltdW1Mb2NrQW1vdW50BQAAABZBc3NldE1pbmltdW1Mb2NrQW1vdW50CQAETAAAAAIJAQAAABF3cml0ZUNvbnN0SW50ZWdlcgAAAAIFAAAAEmFNYXhpbXVtTG9ja0Ftb3VudAUAAAAWQXNzZXRNYXhpbXVtTG9ja0Ftb3VudAUAAAADbmlsCQAETAAAAAIJAQAAABF3cml0ZUNvbnN0SW50ZWdlcgAAAAIFAAAAEmFNaW5pbXVtTG9ja0Ftb3VudAUAAAAWQXNzZXRNYXhpbXVtTG9ja0Ftb3VudAkABEwAAAACCQEAAAARd3JpdGVDb25zdEludGVnZXIAAAACBQAAABJhTWF4aW11bUxvY2tBbW91bnQFAAAAFkFzc2V0TWluaW11bUxvY2tBbW91bnQFAAAAA25pbAkABE4AAAACCQAETAAAAAIJAQAAABB3cml0ZUNvbnN0U3RyaW5nAAAAAgUAAAALQXNzZXRUaWNrZXIFAAAAB0Fzc2V0SUQJAARMAAAAAgkBAAAAEHdyaXRlQ29uc3RTdHJpbmcAAAACBQAAAA1hU3Rha2luZ1N0b3JlBQAAAAxBc3NldFJlc2VydmUFAAAAA25pbAUAAAALY2hlY2tNaW5NYXgJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAC2RlbGV0ZUFzc2V0AAAAAQAAAAtBc3NldFRpY2tlcgQAAAAFY2hlY2sJAQAAAAlhZG1pbk9ubHkAAAABBQAAAAFpAwkAAAAAAAACBQAAAAVjaGVjawUAAAAFY2hlY2sEAAAAB2Fzc2V0SUQJAQAAAA50aHJvd09yUmV0dXJuUwAAAAIJAQAAAARnZXRTAAAAAQUAAAALQXNz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BCUAAAABBQAAAAlhZG1pbkFkZHIFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAF3VwZGF0ZU90aGVyQWRtaW5BZGRyZXNzAAAAAQAAAApuZXdBZGRyZXNzBAAAAAZjaGVja3MJAQAAAAlhZG1pbk9ubHkAAAABBQAAAAFpAwkAAAAAAAACBQAAAAZjaGVja3MFAAAABmNoZWNrcwQAAAAJYWRtaW5BZGRyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQUAAAAKbmV3QWRkcmVzcwIAAAAPaW52YWxpZCBhZGRyZXNzBAAAAAZjYWxsZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAApvdGhlckFkbWluCQABLAAAAAIFAAAABWFkbWluBQAAAAZjYWxsZXIEAAAAD2NoZWNrT2xkQWRkcmVzcwkBAAAADnRocm93T3JSZXR1cm5TAAAAAgkBAAAABGdldFMAAAABBQAAAApvdGhlckFkbWluAgAAABlubyBwcmV2aW91cyBhZGRyZXNzIGZvdW5kAwkAAAAAAAACBQAAAA9jaGVja09sZEFkZHJlc3MFAAAAD2NoZWNrT2xkQWRkcmVzcwQAAAAKZGVsQWRkcmVzcwkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAKb3RoZXJBZG1pbgMJAAAAAAAAAgUAAAAKZGVsQWRkcmVzcwUAAAAKZGVsQWRkcmVzcwkABEwAAAACCQEAAAAQd3JpdGVDb25zdFN0cmluZwAAAAIFAAAACm90aGVyQWRtaW4JAAQlAAAAAQUAAAAJYWRtaW5BZGRyBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAQcmVtb3ZlT3RoZXJB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YXNzZXRJZAQAAAAGY2hlY2syCQEAAAAHdGhyb3dJZgAAAAIJAQAAAAIhPQAAAAIJAQAAAARnZXRTAAAAAQUAAAALQXNzZXRUaWNrZXIFAAAABWFzc2V0AgAAABNhc3NldCBub3Qgc3VwcG9ydGVkAwkAAAAAAAACBQAAAAZjaGVjazIFAAAABmNoZWNrMgQAAAAKbG9ja1BlcmlvZAUAAAAKTG9ja1BlcmlvZAQAAAAGdXNlcklkCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAANYW1vdW50VG9TdGFrZQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BAAAAAptaW5Ub1N0YWtlCQEAAAAOdGhyb3dPclJldHVybkkAAAACCQEAAAAEZ2V0SQAAAAEJAAEsAAAAAgUAAAALQXNzZXRUaWNrZXIFAAAAEW1pbmltdW1Mb2NrQW1vdW50AgAAADVpbnRlcm5hbCBlcnJvcjogbWluaW11bSBzdGFja2luZyBhbW91bnQgbm90IHNwZWNpZmllZAQAAAAKbWF4VG9TdGFrZQkBAAAADnRocm93T3JSZXR1cm5JAAAAAgkBAAAABGdldEkAAAABCQABLAAAAAIFAAAAC0Fzc2V0VGlja2VyBQAAABFtYXhpbXVtTG9ja0Ftb3VudAIAAAA0aW50ZXJuYWwgZXJyb3I6IG1heGltdW0gc3Rha2luZyBhbW91bnQgbm90IHNwZWNpZmllZAQAAAAGY2hlY2szCQEAAAAHdGhyb3dJZgAAAAIDCQAAZgAAAAIFAAAACm1pblRvU3Rha2UFAAAADWFtb3VudFRvU3Rha2UGCQAAZgAAAAIFAAAADWFtb3VudFRvU3Rha2UFAAAACm1heFRvU3Rha2UCAAAAHnN0YWtpbmcgYW1vdW50IGlzIG91dCBvZiByYW5nZQMJAAAAAAAAAgUAAAAGY2hlY2szBQAAAAZjaGVjazMEAAAADHVUb3RhbExvY2tlZAkAASwAAAACBQAAAAZ1c2VySWQFAAAAEXRvdGFsTG9ja2VkQU1vdW50BAAAAAl1U3VtVG90YWwDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQEAAAAEZ2V0SQAAAAEFAAAADHVUb3RhbExvY2tlZAAAAAAAAAAAAAkAAGQAAAACBQAAAA1hbW91bnRUb1N0YWtlCQEAAAAFdmFsdWUAAAABCQEAAAAEZ2V0SQAAAAEFAAAADHVUb3RhbExvY2tlZAQAAAAGY2hlY2s0CQEAAAAHdGhyb3dJZgAAAAIJAABmAAAAAgUAAAAJdVN1bVRvdGFsBQAAAAptYXhUb1N0YWtlAgAAAB15b3UgaGF2ZSBtYXhlZCBvdXQgeW91ciBxdW90YQMJAAAAAAAAAgUAAAAGY2hlY2s0BQAAAAZjaGVjazQEAAAAC3VFbnRyeUluZGV4CQABLAAAAAIJAAEsAAAAAgUAAAAGdXNlcklkBQAAAAtBc3NldFRpY2tlcgUAAAAKZW50cnlJbmRleAQAAAAPdUluY3JFbnRyeUluZGV4CQEAAAATaW5jcmVtZW50RW50cnlJbmRleAAAAAEFAAAAC3VFbnRyeUluZGV4BAAAAA51RW50cnlUb1N0cmluZwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAABXwUAAAALQXNzZXRUaWNrZXICAAAAAV8JAAGkAAAAAQUAAAAPdUluY3JFbnRyeUluZGV4BAAAAAd1VXNlcklkCQABLAAAAAIJAAEsAAAAAgUAAAAGdXNlcklkBQAAAA51RW50cnlUb1N0cmluZwUAAAAEdXNlcgQAAAAGdUFzc2V0CQABLAAAAAIJAAEsAAAAAgUAAAAGdXNlcklkBQAAAA51RW50cnlUb1N0cmluZwUAAAALbG9ja2VkQXNzZXQEAAAADnVMb2NraW5nUGVyaW9kCQABLAAAAAIJAAEsAAAAAgUAAAAGdXNlcklkBQAAAA51RW50cnlUb1N0cmluZwUAAAANbG9ja2luZ1BlcmlvZAQAAAANdUxvY2tlZEFtb3VudAkAASwAAAACCQABLAAAAAIFAAAABnVzZXJJZAUAAAAOdUVudHJ5VG9TdHJpbmcFAAAADGxvY2tlZEFtb3VudAQAAAAEdUFQWQkAASwAAAACCQABLAAAAAIFAAAABnVzZXJJZAUAAAAOdUVudHJ5VG9TdHJpbmcFAAAACkFQWV9BbW91bnQEAAAAEnVVbmxvY2tFbGlnaWJpbGl0eQkAASwAAAACCQABLAAAAAIFAAAABnVzZXJJZAUAAAAOdUVudHJ5VG9TdHJpbmcFAAAAEXVubG9ja0VsaWdpYmlsaXR5BAAAAA91QWxyZWFkeUNsYWltZWQJAAEsAAAAAgkAASwAAAACBQAAAAZ1c2VySWQFAAAADnVFbnRyeVRvU3RyaW5nBQAAAA5hbHJlYWR5Q2xhaW1lZAkABEwAAAACCQEAAAARd3JpdGVDb25zdEludGVnZXIAAAACBQAAAAt1RW50cnlJbmRleAUAAAAPdUluY3JFbnRyeUluZGV4CQAETAAAAAIJAQAAABB3cml0ZUNvbnN0U3RyaW5nAAAAAgUAAAAHdVVzZXJJZAUAAAAGdXNlcklkCQAETAAAAAIJAQAAABB3cml0ZUNvbnN0U3RyaW5nAAAAAgUAAAAGdUFzc2V0BQAAAAVhc3NldAkABEwAAAACCQEAAAARd3JpdGVDb25zdEludGVnZXIAAAACBQAAAA51TG9ja2luZ1BlcmlvZAUAAAAKbG9ja1BlcmlvZAkABEwAAAACCQEAAAARd3JpdGVDb25zdEludGVnZXIAAAACBQAAAA11TG9ja2VkQW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQJAARMAAAAAgkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgUAAAAMdVRvdGFsTG9ja2VkBQAAAAl1U3VtVG90YWwJAARMAAAAAgkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgUAAAASdVVubG9ja0VsaWdpYmlsaXR5CQEAAAAMZGF5c1RvQmxvY2tzAAAAAQUAAAAKTG9ja1BlcmlvZAkABEwAAAACCQEAAAARd3JpdGVDb25zdEludGVnZXIAAAACBQAAAAR1QVBZBQAAAANBUFkJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAD3VBbHJlYWR5Q2xhaW1lZAcFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90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", "height": 2081022, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CHN1X3y47uEBa9hXivL1KLRRac73pdrC68HiFXmp9G9m Next: BAJaPp8jksvP3wAYsXpH4kyqQfH4YuQQBpVNSTBDvuDt Diff:
OldNewDifferences
159159 let ae = (Y + b)
160160 let af = (Y + c)
161161 let ag = (Y + d)
162-[O(Y, Z), O(ae, aa), P(af, ab), P(ag, ac)]
162+ let ah = if ((ac > ab))
163+ then [P(af, ab), P(ag, ac)]
164+ else [P(af, ac), P(ag, ab)]
165+ ([O(Y, Z), O(ae, aa)] ++ ah)
163166 }
164167 else throw("Strict value is not equal to itself.")
165168 }
171174 let ad = Q(R)
172175 if ((ad == ad))
173176 then {
174- let ah = E(v(Y), (("asset with ticker " + Y) + "not found"))
175- if ((ah == ah))
177+ let ai = E(v(Y), (("asset with ticker " + Y) + "not found"))
178+ if ((ai == ai))
176179 then [DeleteEntry(Y), DeleteEntry((Y + c)), DeleteEntry((Y + d)), DeleteEntry((Y + b))]
177180 else throw("Strict value is not equal to itself.")
178181 }
186189 let ad = Q(R)
187190 if ((ad == ad))
188191 then {
189- let ai = E(v(Y), "asset not found")
190- $Tuple2(nil, ai)
192+ let aj = E(v(Y), "asset not found")
193+ $Tuple2(nil, aj)
191194 }
192195 else throw("Strict value is not equal to itself.")
193196 }
196199
197200 @Callable(R)
198201 func init (S) = {
199- let aj = valueOrErrorMessage(addressFromString(S), "invalid address")
200-[O(o, toString(aj))]
202+ let ak = valueOrErrorMessage(addressFromString(S), "invalid address")
203+[O(o, toString(ak))]
201204 }
202205
203206
217220 let ad = Q(R)
218221 if ((ad == ad))
219222 then {
220- let aj = valueOrErrorMessage(addressFromString(S), "invalid address")
221- let ak = (o + toString(aj))
222-[O(ak, S)]
223+ let ak = valueOrErrorMessage(addressFromString(S), "invalid address")
224+ let al = (o + toString(ak))
225+[O(al, S)]
223226 }
224227 else throw("Strict value is not equal to itself.")
225228 }
227230
228231
229232 @Callable(R)
230-func changeMainAdmin (al) = {
231- let am = Q(R)
232- if ((am == am))
233+func changeMainAdmin (am) = {
234+ let an = Q(R)
235+ if ((an == an))
233236 then {
234- let aj = valueOrErrorMessage(addressFromString(al), "invalid address")
235- let an = DeleteEntry(o)
236- if ((an == an))
237- then [O(o, toString(aj))]
237+ let ak = valueOrErrorMessage(addressFromString(am), "invalid address")
238+ let ao = DeleteEntry(o)
239+ if ((ao == ao))
240+ then [O(o, toString(ak))]
238241 else throw("Strict value is not equal to itself.")
239242 }
240243 else throw("Strict value is not equal to itself.")
243246
244247
245248 @Callable(R)
246-func updateOtherAdminAddress (al) = {
247- let am = Q(R)
248- if ((am == am))
249+func updateOtherAdminAddress (am) = {
250+ let an = Q(R)
251+ if ((an == an))
249252 then {
250- let aj = valueOrErrorMessage(addressFromString(al), "invalid address")
251- let ao = toString(R.caller)
252- let ap = (o + ao)
253- let aq = E(v(ap), "no previous address found")
254- if ((aq == aq))
253+ let ak = valueOrErrorMessage(addressFromString(am), "invalid address")
254+ let ap = toString(R.caller)
255+ let aq = (o + ap)
256+ let ar = E(v(aq), "no previous address found")
257+ if ((ar == ar))
255258 then {
256- let ar = DeleteEntry(ap)
257- if ((ar == ar))
258- then [O(ap, toString(aj))]
259+ let as = DeleteEntry(aq)
260+ if ((as == as))
261+ then [O(aq, toString(ak))]
259262 else throw("Strict value is not equal to itself.")
260263 }
261264 else throw("Strict value is not equal to itself.")
266269
267270
268271 @Callable(R)
269-func removeOtherAdmin (as) = {
270- let am = Q(R)
271- if ((am == am))
272+func removeOtherAdmin (at) = {
273+ let an = Q(R)
274+ if ((an == an))
272275 then {
273- let aj = valueOrErrorMessage(addressFromString(as), "invalid address")
274- let at = (o + toString(aj))
275- let au = DeleteEntry(at)
276- if ((au == au))
276+ let ak = valueOrErrorMessage(addressFromString(at), "invalid address")
277+ let au = (o + toString(ak))
278+ let av = DeleteEntry(au)
279+ if ((av == av))
277280 then nil
278281 else throw("Strict value is not equal to itself.")
279282 }
284287
285288 @Callable(R)
286289 func updateConfigValue (u,V) = {
287- let am = Q(R)
288- if ((am == am))
290+ let an = Q(R)
291+ if ((an == an))
289292 then {
290- let an = DeleteEntry(u)
291- if ((an == an))
293+ let ao = DeleteEntry(u)
294+ if ((ao == ao))
292295 then [U(u, V)]
293296 else throw("Strict value is not equal to itself.")
294297 }
298301
299302
300303 @Callable(R)
301-func getDaysLeftToClaim (av) = {
302- let aw = Q(R)
303- if ((aw == aw))
304+func getDaysLeftToClaim (aw) = {
305+ let ax = Q(R)
306+ if ((ax == ax))
304307 then {
305- let ax = valueOrErrorMessage(addressFromString(av), "invalid address")
306- if ((ax == ax))
308+ let ay = valueOrErrorMessage(addressFromString(aw), "invalid address")
309+ if ((ay == ay))
307310 then {
308- let ay = ("_" + toString(B(t((av + m)), ("no entry found for " + av))))
309- let az = ((av + ay) + f)
310- let aA = B(t(az), "internal error")
311- let aB = I((height - aA))
312- $Tuple2(nil, aB)
311+ let az = ("_" + toString(B(t((aw + m)), ("no entry found for " + aw))))
312+ let aA = ((aw + az) + f)
313+ let aB = B(t(aA), "internal error")
314+ let aC = I((height - aB))
315+ $Tuple2(nil, aC)
313316 }
314317 else throw("Strict value is not equal to itself.")
315318 }
319322
320323
321324 @Callable(R)
322-func Lock (aC,Y,aD) = {
323- let ax = y((1 != size(R.payments)), "attach amount you want to lock")
324- if ((ax == ax))
325+func Lock (aD,Y,aE) = {
326+ let ay = y((1 != size(R.payments)), "attach amount you want to lock")
327+ if ((ay == ay))
325328 then {
326- let aE = toBase58String(value(R.payments[0].assetId))
327- let aF = y((v(Y) != aE), "asset not supported")
328- if ((aF == aF))
329+ let aF = toBase58String(value(R.payments[0].assetId))
330+ let aG = y((v(Y) != aF), "asset not supported")
331+ if ((aG == aG))
329332 then {
330- let aG = aC
331- let aH = toString(R.caller)
332- let aI = R.payments[0].amount
333- let aJ = B(t((Y + c)), "internal error: minimum stacking amount not specified")
334- let aK = B(t((Y + d)), "internal error: maximum staking amount not specified")
335- let aL = y(if ((aJ > aI))
333+ let aH = aD
334+ let aI = toString(R.caller)
335+ let aJ = R.payments[0].amount
336+ let aK = B(t((Y + c)), "internal error: minimum stacking amount not specified")
337+ let aL = B(t((Y + d)), "internal error: maximum staking amount not specified")
338+ let aM = y(if ((aK > aJ))
336339 then true
337- else (aI > aK), "staking amount is out of range")
338- if ((aL == aL))
340+ else (aJ > aL), "staking amount is out of range")
341+ if ((aM == aM))
339342 then {
340- let aM = (aH + k)
341- let aN = if (!(isDefined(t(aM))))
343+ let aN = (aI + k)
344+ let aO = if (!(isDefined(t(aN))))
342345 then 0
343- else (aI + value(t(aM)))
344- let aO = y((aN > aK), "you have maxed out your quota")
345- if ((aO == aO))
346+ else (aJ + value(t(aN)))
347+ let aP = y((aO > aL), "you have maxed out your quota")
348+ if ((aP == aP))
346349 then {
347- let ay = ((aH + Y) + m)
348- let aP = W(ay)
349- let aQ = ((("_" + Y) + "_") + toString(aP))
350- let aR = ((aH + aQ) + i)
351- let aS = ((aH + aQ) + h)
352- let aT = ((aH + aQ) + l)
353- let aU = ((aH + aQ) + g)
354- let aV = ((aH + aQ) + j)
355- let az = ((aH + aQ) + f)
356- let aW = ((aH + aQ) + n)
357-[P(ay, aP), O(aR, aH), O(aS, aE), P(aT, aG), P(aU, R.payments[0].amount), P(aM, aN), P(az, I(aC)), P(aV, aD), BooleanEntry(aW, false)]
350+ let az = ((aI + Y) + m)
351+ let aQ = W(az)
352+ let aR = ((("_" + Y) + "_") + toString(aQ))
353+ let aS = ((aI + aR) + i)
354+ let aT = ((aI + aR) + h)
355+ let aU = ((aI + aR) + l)
356+ let aV = ((aI + aR) + g)
357+ let aW = ((aI + aR) + j)
358+ let aA = ((aI + aR) + f)
359+ let aX = ((aI + aR) + n)
360+[P(az, aQ), O(aS, aI), O(aT, aF), P(aU, aH), P(aV, R.payments[0].amount), P(aN, aO), P(aA, I(aD)), P(aW, aE), BooleanEntry(aX, false)]
358361 }
359362 else throw("Strict value is not equal to itself.")
360363 }
369372
370373 @Callable(R)
371374 func Claim (Y) = {
372- let aH = toString(R.caller)
373- let ay = ((("_" + Y) + "_") + toString(B(t(((aH + Y) + m)), "no entry found for user")))
374- let aX = ((aH + ay) + n)
375- let aw = y((valueOrErrorMessage(getBoolean(aX), "cannot ascertain claimability") == true), (("user + " + aH) + " already claimed"))
376- if ((aw == aw))
375+ let aI = toString(R.caller)
376+ let az = ((("_" + Y) + "_") + toString(B(t(((aI + Y) + m)), "no entry found for user")))
377+ let aY = ((aI + az) + n)
378+ let ax = y((valueOrErrorMessage(getBoolean(aY), "cannot ascertain claimability") == true), (("user + " + aI) + " already claimed"))
379+ if ((ax == ax))
377380 then {
378- let aS = x(((aH + ay) + h))
379- let aU = w(((aH + ay) + g))
380- let aY = addressFromStringValue(E(v((Y + b)), "internal error: no reserve found"))
381- let aZ = w(((aH + ay) + j))
382- let ba = w(((aH + ay) + f))
383- let L = if ((0 >= (ba - height)))
381+ let aT = x(((aI + az) + h))
382+ let aV = w(((aI + az) + g))
383+ let aZ = addressFromStringValue(E(v((Y + b)), "internal error: no reserve found"))
384+ let ba = w(((aI + az) + j))
385+ let bb = w(((aI + az) + f))
386+ let L = if ((0 >= (bb - height)))
384387 then 0
385- else (ba - height)
386- let bb = K(L)
387- let ax = y((ba > height), (toString(bb) + "/1000 days left to claim"))
388- if ((ax == ax))
388+ else (bb - height)
389+ let bc = K(L)
390+ let ay = y((bb > height), (toString(bc) + "/1000 days left to claim"))
391+ if ((ay == ay))
389392 then {
390- let bc = invoke(aY, "transferInterest", [aH, aZ, toBytes(aS)], nil)
391- if ((bc == bc))
392- then [ScriptTransfer(addressFromStringValue(aH), aU, toBytes(aS)), BooleanEntry(aX, true)]
393+ let bd = invoke(aZ, "transferInterest", [aI, ba, toBytes(aT)], nil)
394+ if ((bd == bd))
395+ then [ScriptTransfer(addressFromStringValue(aI), aV, toBytes(aT)), BooleanEntry(aY, true)]
393396 else throw("Strict value is not equal to itself.")
394397 }
395398 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = this
55
66 let b = "_Reserve"
77
88 let c = "_MinLockAmount"
99
1010 let d = "_MaxLockAmount"
1111
1212 let e = nil
1313
1414 let f = "_Eligible_to_unlock_at_block"
1515
1616 let g = "_Amount_locked"
1717
1818 let h = "_Asset_locked"
1919
2020 let i = "_User"
2121
2222 let j = "_APY_amount"
2323
2424 let k = "_Total_Locked_Amount"
2525
2626 let l = "_Days_locked"
2727
2828 let m = "_Entry_Index"
2929
3030 let n = "_Already_Claimed"
3131
3232 let o = "admin_"
3333
3434 let p = 1440
3535
3636 let q = 30
3737
3838 let r = 60
3939
4040 let s = 90
4141
4242 func t (u) = getInteger(this, u)
4343
4444
4545 func v (u) = getString(this, u)
4646
4747
4848 func w (u) = value(getInteger(this, u))
4949
5050
5151 func x (u) = value(getString(this, u))
5252
5353
5454 func y (z,A) = if (z)
5555 then throw(A)
5656 else true
5757
5858
5959 func B (C,A) = {
6060 let D = C
6161 if ($isInstanceOf(D, "Int"))
6262 then {
6363 let C = D
6464 C
6565 }
6666 else throw(A)
6767 }
6868
6969
7070 func E (C,A) = {
7171 let D = C
7272 if ($isInstanceOf(D, "String"))
7373 then {
7474 let C = D
7575 C
7676 }
7777 else throw(A)
7878 }
7979
8080
8181 func F (u,G) = if ((0 > G))
8282 then throw(((("writing negative value " + toString(G)) + " for key ") + u))
8383 else IntegerEntry(u, G)
8484
8585
8686 func H (u,G) = if ((" " == G))
8787 then throw(("writing an empty string " + G))
8888 else StringEntry(u, G)
8989
9090
9191 func I (J) = if (if (if ((J != q))
9292 then true
9393 else (J != r))
9494 then true
9595 else (J != s))
9696 then throw("invalid Lock Period")
9797 else (((J + 1) * p) + height)
9898
9999
100100 func K (L) = if ((0 >= L))
101101 then 0
102102 else {
103103 let M = pow(10, 0, 3, 0, 0, CEILING)
104104 let N = fraction(L, M, p)
105105 N
106106 }
107107
108108
109109 func O (u,G) = if (!(isDefined(v(u))))
110110 then H(u, G)
111111 else throw(("already initialized: " + u))
112112
113113
114114 func P (u,G) = if (!(isDefined(v(u))))
115115 then F(u, G)
116116 else throw(("already initialized: " + u))
117117
118118
119119 func Q (R) = {
120120 let S = toString(R.caller)
121121 let T = (o + toString(R.caller))
122122 if (if ((S != valueOrErrorMessage(v(o), "not an admin")))
123123 then true
124124 else (S != valueOrErrorMessage(v(T), "not an admin")))
125125 then throw("unauthorized")
126126 else true
127127 }
128128
129129
130130 func U (u,V) = {
131131 let D = V
132132 if ($isInstanceOf(D, "String"))
133133 then {
134134 let V = D
135135 O(u, V)
136136 }
137137 else if ($isInstanceOf(D, "Int"))
138138 then {
139139 let V = D
140140 P(u, V)
141141 }
142142 else throw("unsupported config type")
143143 }
144144
145145
146146 func W (u) = {
147147 let X = t(u)
148148 if (isDefined(X))
149149 then (value(X) + 1)
150150 else 0
151151 }
152152
153153
154154 @Callable(R)
155155 func addAsset (Y,Z,aa,ab,ac) = {
156156 let ad = Q(R)
157157 if ((ad == ad))
158158 then {
159159 let ae = (Y + b)
160160 let af = (Y + c)
161161 let ag = (Y + d)
162-[O(Y, Z), O(ae, aa), P(af, ab), P(ag, ac)]
162+ let ah = if ((ac > ab))
163+ then [P(af, ab), P(ag, ac)]
164+ else [P(af, ac), P(ag, ab)]
165+ ([O(Y, Z), O(ae, aa)] ++ ah)
163166 }
164167 else throw("Strict value is not equal to itself.")
165168 }
166169
167170
168171
169172 @Callable(R)
170173 func deleteAsset (Y) = {
171174 let ad = Q(R)
172175 if ((ad == ad))
173176 then {
174- let ah = E(v(Y), (("asset with ticker " + Y) + "not found"))
175- if ((ah == ah))
177+ let ai = E(v(Y), (("asset with ticker " + Y) + "not found"))
178+ if ((ai == ai))
176179 then [DeleteEntry(Y), DeleteEntry((Y + c)), DeleteEntry((Y + d)), DeleteEntry((Y + b))]
177180 else throw("Strict value is not equal to itself.")
178181 }
179182 else throw("Strict value is not equal to itself.")
180183 }
181184
182185
183186
184187 @Callable(R)
185188 func getAssetIdByTicker (Y) = {
186189 let ad = Q(R)
187190 if ((ad == ad))
188191 then {
189- let ai = E(v(Y), "asset not found")
190- $Tuple2(nil, ai)
192+ let aj = E(v(Y), "asset not found")
193+ $Tuple2(nil, aj)
191194 }
192195 else throw("Strict value is not equal to itself.")
193196 }
194197
195198
196199
197200 @Callable(R)
198201 func init (S) = {
199- let aj = valueOrErrorMessage(addressFromString(S), "invalid address")
200-[O(o, toString(aj))]
202+ let ak = valueOrErrorMessage(addressFromString(S), "invalid address")
203+[O(o, toString(ak))]
201204 }
202205
203206
204207
205208 @Callable(R)
206209 func _deleteEntry (u) = {
207210 let ad = Q(R)
208211 if ((ad == ad))
209212 then [DeleteEntry(u)]
210213 else throw("Strict value is not equal to itself.")
211214 }
212215
213216
214217
215218 @Callable(R)
216219 func addAdmin (S) = {
217220 let ad = Q(R)
218221 if ((ad == ad))
219222 then {
220- let aj = valueOrErrorMessage(addressFromString(S), "invalid address")
221- let ak = (o + toString(aj))
222-[O(ak, S)]
223+ let ak = valueOrErrorMessage(addressFromString(S), "invalid address")
224+ let al = (o + toString(ak))
225+[O(al, S)]
223226 }
224227 else throw("Strict value is not equal to itself.")
225228 }
226229
227230
228231
229232 @Callable(R)
230-func changeMainAdmin (al) = {
231- let am = Q(R)
232- if ((am == am))
233+func changeMainAdmin (am) = {
234+ let an = Q(R)
235+ if ((an == an))
233236 then {
234- let aj = valueOrErrorMessage(addressFromString(al), "invalid address")
235- let an = DeleteEntry(o)
236- if ((an == an))
237- then [O(o, toString(aj))]
237+ let ak = valueOrErrorMessage(addressFromString(am), "invalid address")
238+ let ao = DeleteEntry(o)
239+ if ((ao == ao))
240+ then [O(o, toString(ak))]
238241 else throw("Strict value is not equal to itself.")
239242 }
240243 else throw("Strict value is not equal to itself.")
241244 }
242245
243246
244247
245248 @Callable(R)
246-func updateOtherAdminAddress (al) = {
247- let am = Q(R)
248- if ((am == am))
249+func updateOtherAdminAddress (am) = {
250+ let an = Q(R)
251+ if ((an == an))
249252 then {
250- let aj = valueOrErrorMessage(addressFromString(al), "invalid address")
251- let ao = toString(R.caller)
252- let ap = (o + ao)
253- let aq = E(v(ap), "no previous address found")
254- if ((aq == aq))
253+ let ak = valueOrErrorMessage(addressFromString(am), "invalid address")
254+ let ap = toString(R.caller)
255+ let aq = (o + ap)
256+ let ar = E(v(aq), "no previous address found")
257+ if ((ar == ar))
255258 then {
256- let ar = DeleteEntry(ap)
257- if ((ar == ar))
258- then [O(ap, toString(aj))]
259+ let as = DeleteEntry(aq)
260+ if ((as == as))
261+ then [O(aq, toString(ak))]
259262 else throw("Strict value is not equal to itself.")
260263 }
261264 else throw("Strict value is not equal to itself.")
262265 }
263266 else throw("Strict value is not equal to itself.")
264267 }
265268
266269
267270
268271 @Callable(R)
269-func removeOtherAdmin (as) = {
270- let am = Q(R)
271- if ((am == am))
272+func removeOtherAdmin (at) = {
273+ let an = Q(R)
274+ if ((an == an))
272275 then {
273- let aj = valueOrErrorMessage(addressFromString(as), "invalid address")
274- let at = (o + toString(aj))
275- let au = DeleteEntry(at)
276- if ((au == au))
276+ let ak = valueOrErrorMessage(addressFromString(at), "invalid address")
277+ let au = (o + toString(ak))
278+ let av = DeleteEntry(au)
279+ if ((av == av))
277280 then nil
278281 else throw("Strict value is not equal to itself.")
279282 }
280283 else throw("Strict value is not equal to itself.")
281284 }
282285
283286
284287
285288 @Callable(R)
286289 func updateConfigValue (u,V) = {
287- let am = Q(R)
288- if ((am == am))
290+ let an = Q(R)
291+ if ((an == an))
289292 then {
290- let an = DeleteEntry(u)
291- if ((an == an))
293+ let ao = DeleteEntry(u)
294+ if ((ao == ao))
292295 then [U(u, V)]
293296 else throw("Strict value is not equal to itself.")
294297 }
295298 else throw("Strict value is not equal to itself.")
296299 }
297300
298301
299302
300303 @Callable(R)
301-func getDaysLeftToClaim (av) = {
302- let aw = Q(R)
303- if ((aw == aw))
304+func getDaysLeftToClaim (aw) = {
305+ let ax = Q(R)
306+ if ((ax == ax))
304307 then {
305- let ax = valueOrErrorMessage(addressFromString(av), "invalid address")
306- if ((ax == ax))
308+ let ay = valueOrErrorMessage(addressFromString(aw), "invalid address")
309+ if ((ay == ay))
307310 then {
308- let ay = ("_" + toString(B(t((av + m)), ("no entry found for " + av))))
309- let az = ((av + ay) + f)
310- let aA = B(t(az), "internal error")
311- let aB = I((height - aA))
312- $Tuple2(nil, aB)
311+ let az = ("_" + toString(B(t((aw + m)), ("no entry found for " + aw))))
312+ let aA = ((aw + az) + f)
313+ let aB = B(t(aA), "internal error")
314+ let aC = I((height - aB))
315+ $Tuple2(nil, aC)
313316 }
314317 else throw("Strict value is not equal to itself.")
315318 }
316319 else throw("Strict value is not equal to itself.")
317320 }
318321
319322
320323
321324 @Callable(R)
322-func Lock (aC,Y,aD) = {
323- let ax = y((1 != size(R.payments)), "attach amount you want to lock")
324- if ((ax == ax))
325+func Lock (aD,Y,aE) = {
326+ let ay = y((1 != size(R.payments)), "attach amount you want to lock")
327+ if ((ay == ay))
325328 then {
326- let aE = toBase58String(value(R.payments[0].assetId))
327- let aF = y((v(Y) != aE), "asset not supported")
328- if ((aF == aF))
329+ let aF = toBase58String(value(R.payments[0].assetId))
330+ let aG = y((v(Y) != aF), "asset not supported")
331+ if ((aG == aG))
329332 then {
330- let aG = aC
331- let aH = toString(R.caller)
332- let aI = R.payments[0].amount
333- let aJ = B(t((Y + c)), "internal error: minimum stacking amount not specified")
334- let aK = B(t((Y + d)), "internal error: maximum staking amount not specified")
335- let aL = y(if ((aJ > aI))
333+ let aH = aD
334+ let aI = toString(R.caller)
335+ let aJ = R.payments[0].amount
336+ let aK = B(t((Y + c)), "internal error: minimum stacking amount not specified")
337+ let aL = B(t((Y + d)), "internal error: maximum staking amount not specified")
338+ let aM = y(if ((aK > aJ))
336339 then true
337- else (aI > aK), "staking amount is out of range")
338- if ((aL == aL))
340+ else (aJ > aL), "staking amount is out of range")
341+ if ((aM == aM))
339342 then {
340- let aM = (aH + k)
341- let aN = if (!(isDefined(t(aM))))
343+ let aN = (aI + k)
344+ let aO = if (!(isDefined(t(aN))))
342345 then 0
343- else (aI + value(t(aM)))
344- let aO = y((aN > aK), "you have maxed out your quota")
345- if ((aO == aO))
346+ else (aJ + value(t(aN)))
347+ let aP = y((aO > aL), "you have maxed out your quota")
348+ if ((aP == aP))
346349 then {
347- let ay = ((aH + Y) + m)
348- let aP = W(ay)
349- let aQ = ((("_" + Y) + "_") + toString(aP))
350- let aR = ((aH + aQ) + i)
351- let aS = ((aH + aQ) + h)
352- let aT = ((aH + aQ) + l)
353- let aU = ((aH + aQ) + g)
354- let aV = ((aH + aQ) + j)
355- let az = ((aH + aQ) + f)
356- let aW = ((aH + aQ) + n)
357-[P(ay, aP), O(aR, aH), O(aS, aE), P(aT, aG), P(aU, R.payments[0].amount), P(aM, aN), P(az, I(aC)), P(aV, aD), BooleanEntry(aW, false)]
350+ let az = ((aI + Y) + m)
351+ let aQ = W(az)
352+ let aR = ((("_" + Y) + "_") + toString(aQ))
353+ let aS = ((aI + aR) + i)
354+ let aT = ((aI + aR) + h)
355+ let aU = ((aI + aR) + l)
356+ let aV = ((aI + aR) + g)
357+ let aW = ((aI + aR) + j)
358+ let aA = ((aI + aR) + f)
359+ let aX = ((aI + aR) + n)
360+[P(az, aQ), O(aS, aI), O(aT, aF), P(aU, aH), P(aV, R.payments[0].amount), P(aN, aO), P(aA, I(aD)), P(aW, aE), BooleanEntry(aX, false)]
358361 }
359362 else throw("Strict value is not equal to itself.")
360363 }
361364 else throw("Strict value is not equal to itself.")
362365 }
363366 else throw("Strict value is not equal to itself.")
364367 }
365368 else throw("Strict value is not equal to itself.")
366369 }
367370
368371
369372
370373 @Callable(R)
371374 func Claim (Y) = {
372- let aH = toString(R.caller)
373- let ay = ((("_" + Y) + "_") + toString(B(t(((aH + Y) + m)), "no entry found for user")))
374- let aX = ((aH + ay) + n)
375- let aw = y((valueOrErrorMessage(getBoolean(aX), "cannot ascertain claimability") == true), (("user + " + aH) + " already claimed"))
376- if ((aw == aw))
375+ let aI = toString(R.caller)
376+ let az = ((("_" + Y) + "_") + toString(B(t(((aI + Y) + m)), "no entry found for user")))
377+ let aY = ((aI + az) + n)
378+ let ax = y((valueOrErrorMessage(getBoolean(aY), "cannot ascertain claimability") == true), (("user + " + aI) + " already claimed"))
379+ if ((ax == ax))
377380 then {
378- let aS = x(((aH + ay) + h))
379- let aU = w(((aH + ay) + g))
380- let aY = addressFromStringValue(E(v((Y + b)), "internal error: no reserve found"))
381- let aZ = w(((aH + ay) + j))
382- let ba = w(((aH + ay) + f))
383- let L = if ((0 >= (ba - height)))
381+ let aT = x(((aI + az) + h))
382+ let aV = w(((aI + az) + g))
383+ let aZ = addressFromStringValue(E(v((Y + b)), "internal error: no reserve found"))
384+ let ba = w(((aI + az) + j))
385+ let bb = w(((aI + az) + f))
386+ let L = if ((0 >= (bb - height)))
384387 then 0
385- else (ba - height)
386- let bb = K(L)
387- let ax = y((ba > height), (toString(bb) + "/1000 days left to claim"))
388- if ((ax == ax))
388+ else (bb - height)
389+ let bc = K(L)
390+ let ay = y((bb > height), (toString(bc) + "/1000 days left to claim"))
391+ if ((ay == ay))
389392 then {
390- let bc = invoke(aY, "transferInterest", [aH, aZ, toBytes(aS)], nil)
391- if ((bc == bc))
392- then [ScriptTransfer(addressFromStringValue(aH), aU, toBytes(aS)), BooleanEntry(aX, true)]
393+ let bd = invoke(aZ, "transferInterest", [aI, ba, toBytes(aT)], nil)
394+ if ((bd == bd))
395+ then [ScriptTransfer(addressFromStringValue(aI), aV, toBytes(aT)), BooleanEntry(aY, true)]
393396 else throw("Strict value is not equal to itself.")
394397 }
395398 else throw("Strict value is not equal to itself.")
396399 }
397400 else throw("Strict value is not equal to itself.")
398401 }
399402
400403

github/deemru/w8io/169f3d6 
116.53 ms