tx · 59ScimVV9rdyddhpeKirTdauibTBLhEQFL2usea7BG5p

3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv:  -0.02600000 Waves

2022.11.02 21:29 [2299853] smart account 3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv > SELF 0.00000000 Waves

{ "type": 13, "id": "59ScimVV9rdyddhpeKirTdauibTBLhEQFL2usea7BG5p", "fee": 2600000, "feeAssetId": null, "timestamp": 1667413841300, "version": 1, "sender": "3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv", "senderPublicKey": "39YkRD2qWXTcdNBr4CbDnm8g8SAB2FKVaDeGYahcFHHx", "proofs": [ "2rkYSbR113vDxEEkcvLGwYukzM9ErKr49JC5EPhQTChRNrF6tG1soVS8KTEZhWPdGXBFdCeDB89oYbm7Q1MjuaWG" ], "script": "base64:AAIFAAAAAAAADp8IAhIJCgcBAQEBAQgBEgASBAoCCAgSBAoCCAgSBAoCCAgSAwoBCBIAIg9nZXRTdHJpbmdPckZhaWwiA2tleSIDU0VQIghCVUZTQ0FMRSIGc2NhbGU4Igh0aHJvd0VyciIDbXNnIh1jb252ZXJ0UHJpY2VBc3NldEludG9JZG9Bc3NldCIQcHJpY2VBc3NldEFtb3VudCIOcHJpY2VBc3NldE1VTFQiBXByaWNlIglwcmljZU1VTFQiDGlkb0Fzc2V0TVVMVCIPYlByaWNlQXNzZXRNVUxUIg1iSWRvQXNzZXRNVUxUIg5iUHJpY2VBc3NldEJVRiIPYkFtb3VudEFzc2V0QlVGIg5JZHhDZmdJZG9TdGFydCIRSWR4Q2ZnSWRvRHVyYXRpb24iEElkeENmZ0NsYWltU3RhcnQiE0lkeENmZ0NsYWltRHVyYXRpb24iC0lkeENmZ1ByaWNlIg9JZHhDZmdQcmljZU11bHQiEElkeENmZ0lkb0Fzc2V0SWQiEklkeENmZ0lkb0Fzc2V0TXVsdCISSWR4Q2ZnUHJpY2VBc3NldElkIhRJZHhDZmdQcmljZUFzc2V0TXVsdCIVSWR4Q2ZnTWluSW52ZXN0QW1vdW50Ig1mcm9tYXRDb25maWdTIghpZG9TdGFydCILaWRvRHVyYXRpb24iCmNsYWltU3RhcnQiDWNsYWltRHVyYXRpb24iCXByaWNlTXVsdCIMaWRvQXNzZXRJZDU4IgxpZG9Bc3NldE11bHQiDnByaWNlQXNzZXRJZDU4Ig5wcmljZUFzc2V0TXVsdCIPbWluSW52ZXN0QW1vdW50IhN0b3RhbElkb0Fzc2V0VG9TZWxsIgxmcm9tYXRDb25maWciEUlkeEludlRvdGFsQW1vdW50IhVJZHhJbnZSZW1haW5pbmdBbW91bnQiHUlkeEludkNsYWltZWRQcmljZUFzc2V0QW1vdW50IhtJZHhJbnZDbGFpbWVkSWRvQXNzZXRBbW91bnQiF0lkeEludkxhc3RDbGFpbWVkSGVpZ2h0Ig9mb3JtYXRJbnZlc3RvclMiC3RvdGFsQW1vdW50Ig9yZW1haW5pbmdBbW91bnQiF2NsYWltZWRQcmljZUFzc2V0QW1vdW50IhVjbGFpbWVkSWRvQXNzZXRBbW91bnQiEWxhc3RDbGFpbWVkSGVpZ2h0Ig5mb3JtYXRJbnZlc3RvciITZm9ybWF0SGlzdG9yeVJlY29yZCIOaWRvQXNzZXRBbW91bnQiCWtleUNvbmZpZyILa2V5SW52ZXN0b3IiC3VzZXJBZGRyZXNzIglrZXlUb3RhbHMiGWtleU9wZXJhdGlvbkhpc3RvcnlSZWNvcmQiBHR5cGUiBnR4SWQ1OCIUa2V5VVNETkNsYWltRGlzYWJsZWQiFWtleVVTRE5DbGFpbUVuZEhlaWdodCIPa2V5UGVyaW9kTGVuZ3RoIhBrZXlDdXJyZW50UGVyaW9kIhRrZXlQZXJpb2RTdGFydEhlaWdodCIJcGVyaW9kTnVtIhJrZXlQZXJpb2RFbmRIZWlnaHQiH2tleVVzZHRQcmljZUFzc2V0QWxsb3dhYmxlUmF0aW8iF2tleVRvdGFsUGVyaW9kQWxsb3dhbmNlIgdhc3NldElkIhZrZXlVc2VyUGVyaW9kQWxsb3dhbmNlIh5rZXlQZXJpb2RUb3RhbEF2YWlsYWJsZVRvQ2xhaW0iHWtleVBlcmlvZFVzZXJBdmFpbGFibGVUb0NsYWltIhtrZXlVc2R0UHJpY2VBc3NldFN0YWJsZVBvb2wiDmtleVVzZHRBc3NldElkIhRrZXlQcmljZUFzc2V0QmFsYW5jZSIHYWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiD3JlYWRDb25maWdBcnJheSIjcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0QnlDdXN0b21LZXkiCWN1c3RvbUtleSIYcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0IhpyZWFkSW52ZXN0b3JBcnJheU9yRGVmYXVsdCIXcmVhZEludmVzdG9yQXJyYXlPckZhaWwiFUlkeERpZmZUb3RhbEluY3JlbWVudCIkSWR4RGlmZlJlbWFpbmluZ1ByaWNlQW1vdW50SW5jcmVtZW50IiJJZHhEaWZmQ2xhaW1lZFByaWNlQW1vdW50SW5jcmVtZW50IiVJZHhEaWZmQ2xhaW1lZElkb0Fzc2V0QW1vdW50SW5jcmVtZW50IgtUb3RhbHNFbnRyeSIJb3JpZ0FycmF5Ig1pbmNyZW1lbnREaWZmIhRuZXdMYXN0Q2xhaW1lZEhlaWdodCIObmV3VG90YWxBbW91bnQiEm5ld1JlbWFpbmluZ0Ftb3VudCIabmV3Q2xhaW1lZFByaWNlQXNzZXRBbW91bnQiGG5ld0NsYWltZWRJZG9Bc3NldEFtb3VudCIbSW52ZXN0T3BlcmF0aW9uSGlzdG9yeUVudHJ5IgR0eElkIhpDbGFpbU9wZXJhdGlvbkhpc3RvcnlFbnRyeSINaW50ZXJuYWxDbGFpbSIQY2xhaW1lZEFzc2V0SWQ1OCIIY2ZnQXJyYXkiCGNsYWltRW5kIgppZG9Bc3NldElkIgxwcmljZUFzc2V0SWQiDXVzZXJBZGRyZXNzNTgiD29yaWdJbnZlc3RBcnJheSIRaW52ZXN0VG90YWxBbW91bnQiGmludmVzdExhc3RDbGFpbWVkSGVpZ2h0VE1QIhdpbnZlc3RMYXN0Q2xhaW1lZEhlaWdodCIUbmV3Q2xhaW1QZXJpb2RIZWlnaHQiDmNsYWltaW5nQmxvY2tzIhhjbGFpbWluZ1ByaWNlQXNzZXRBbW91bnQiFmNsYWltaW5nSWRvQXNzZXRBbW91bnQiBmlzVVNETiITaXNVU0ROQ2xhaW1EaXNhYmxlZCIQaXNVU0ROQ2xhaW1FbmRlZCIHJG1hdGNoMCIDZW5kIgZjaGVja3MiD2ludGVybmFsQ2xhaW1WMiIJb3V0QW1vdW50Ihl0b3RhbFVzZXJBdmFpbGFibGVUb0NsYWltIh50b3RhbFBlcmlvZFByaWNlQXNzZXRBbGxvd2FuY2UiHXVzZXJQZXJpb2RQcmljZUFzc2V0QWxsb3dhbmNlIgxwZXJpb2RMZW5ndGgiDWN1cnJlbnRQZXJpb2QiG3plcm9QZXJpb2RFbmRIZWlnaElzRGVmaW5lZCINJHQwMTIwMzExMzU4NiIVbGFzdFBlcmlvZFN0YXJ0SGVpZ2h0IhNsYXN0UGVyaW9kRW5kSGVpZ2h0Ig0kdDAxMjI5OTEyNjgxIhR1cGRhdGVkQ3VycmVudFBlcmlvZCILcGVyaW9kU3RhcnQiCXBlcmlvZEVuZCIVemVyb1BlcmlvZFN0YXJ0SGVpZ2h0IhN6ZXJvUGVyaW9kRW5kSGVpZ2h0Ig0kdDAxMjkzNjEzMzE4IhtwZXJpb2RUb3RhbEF2YWlsYWJsZVRvQ2xhaW0iGnBlcmlvZFVzZXJBdmFpbGFibGVUb0NsYWltIhFwcmljZUFzc2V0QmFsYW5jZSIZcGVyaW9kTWluQXZhaWxhYmxlVG9DbGFpbSIcdXNkdFByaWNlQXNzZXRBbGxvd2FibGVSYXRpbyIbcHV0T25lVGtuVjJQcmljZUFzc2V0QW1vdW50Ig0kdDAxNDM0MTE0NTk0IgFAIgVib251cyIJZmVlQW1vdW50IghscEFtb3VudCILdXNkdEFzc2V0SWQiDSR0MDE0NjU2MTQ4NzQiFGdldE9uZVRrblYyRmVlQW1vdW50Igp1c2R0QW1vdW50IhpjdXJyZW50VXNkdFByaWNlQXNzZXRSYXRpbyITZW5kUGVyaW9kQmxvY2tzTGVmdCIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCIBcyIdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQiC211c3RNYW5hZ2VyIgFpIgJwZCICcGsiBmlkb0VuZCIDcG10IgxpZG9Bc3NldEluZm8iDnByaWNlQXNzZXRJbmZvIg9vcmlnVG90YWxzQXJyYXkiCnRvdGFsc0RpZmYiDm1pbkl2ZXN0QW1vdW50IgpwbXRBc3NldElkIglwbXRBbW91bnQiEW9yaWdJbnZlc3RvckFycmF5IhNuZXdQcmljZVRvdGFsQW1vdW50IhZyZXF1aXJlZElkb0Fzc2V0QW1vdW50Ig9jYWxsZXJBZGRyZXNzNTgiEGNsYWltUmVzdWx0VHVwbGUiCm91dEFzc2V0SWQiGmNsYWltZWRQcmljZUFtb3VudEZyb21EaWZmIh1jbGFpbWVkSWRvQXNzZXRBbW91bnRGcm9tRGlmZiIHZW50cmllcyINJHQwMjA1MzAyMDk3NCIidXBkYXRlZFBlcmlvZFRvdGFsQXZhaWxhYmxlVG9DbGFpbSIhdXBkYXRlZFBlcmlvZFVzZXJBdmFpbGFibGVUb0NsYWltIhh1cGRhdGVkUHJpY2VBc3NldEJhbGFuY2UiFWF2YWlsYWJsZVRvQ2xhaW1BcnJheSIbYXZhaWxhYmxlUHJpY2VBbW91bnRUb0NsYWltIhlhdmFpbGFibGVJZG9BbW91bnRUb0NsYWltIg0kdDAyNzIwNzI3NjE5IhZjdXJyZW50UGVyaW9kRW5kSGVpZ2h0IgxyZXN1bHRTdHJpbmciDHBlcmlvZExlbmdo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", "chainId": 84, "height": 2299853, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Cy3hdSkUx6YmxG5dz5XdSYPLpyEd6bHuZtm9A481kpf7 Next: 5skf8CndkAFADhnL9cHsKLMtQSpeeYuqLowaanmBB4k9 Diff:
OldNewDifferences
239239 let bx = value(getInteger(au(K)))
240240 let by = value(getInteger(am()))
241241 let bz = valueOrElse(getInteger(an()), 0)
242- let bA = if ((bz > 0))
242+ let bA = isDefined(getInteger(aq(0)))
243+ let bB = if ((bz > 0))
243244 then {
244- let bB = value(getInteger(ao((bz - 1))))
245- let bC = value(getInteger(aq((bz - 1))))
246- let bD = if ((height > bC))
245+ let bC = value(getInteger(ao((bz - 1))))
246+ let bD = value(getInteger(aq((bz - 1))))
247+ let bE = if ((height > bD))
247248 then {
248- let bE = (bz + 1)
249- let bF = (bC + 1)
250- let bG = ((bF + by) - 1)
251- $Tuple3(bE, bF, bG)
249+ let bF = (bz + 1)
250+ let bG = (bD + 1)
251+ let bH = ((bG + by) - 1)
252+ $Tuple3(bF, bG, bH)
252253 }
253- else $Tuple3(bz, bB, bC)
254- let bE = bD._1
255- let bF = bD._2
256- let bG = bD._3
257- $Tuple3(bE, bF, bG)
254+ else $Tuple3(bz, bC, bD)
255+ let bF = bE._1
256+ let bG = bE._2
257+ let bH = bE._3
258+ $Tuple3(bF, bG, bH)
258259 }
259- else $Tuple3(bz, valueOrElse(getInteger(ao(bz)), height), valueOrElse(getInteger(aq(bz)), ((height + by) - 1)))
260- let bE = bA._1
261- let bF = bA._2
262- let bG = bA._3
263- let bH = valueOrElse(getInteger(av(K, bE)), bw)
264- let bI = valueOrElse(getInteger(aw(K, bE, be)), bx)
265- let bJ = valueOrElse(getInteger(az(be)), 0)
266- let bK = min([(bu + bJ), bH, bI])
267- let bL = value(getInteger(ar()))
268- let bM = e
269- let bN = {
270- let bO = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bM, K], nil)
271- if ($isInstanceOf(bO, "(Int, Int, Int)"))
272- then bO
260+ else if (bA)
261+ then {
262+ let bI = value(getInteger(ao(0)))
263+ let bJ = value(getInteger(aq(0)))
264+ let bK = if ((height > bJ))
265+ then {
266+ let bF = (bz + 1)
267+ let bG = (bJ + 1)
268+ let bH = ((bG + by) - 1)
269+ $Tuple3(bF, bG, bH)
270+ }
271+ else $Tuple3(bz, bI, bJ)
272+ let bF = bK._1
273+ let bG = bK._2
274+ let bH = bK._3
275+ $Tuple3(bF, bG, bH)
276+ }
277+ else $Tuple3(bz, valueOrElse(getInteger(ao(bz)), height), valueOrElse(getInteger(aq(bz)), ((height + by) - 1)))
278+ let bF = bB._1
279+ let bG = bB._2
280+ let bH = bB._3
281+ let bL = valueOrElse(getInteger(av(K, bF)), bw)
282+ let bM = valueOrElse(getInteger(aw(K, bF, be)), bx)
283+ let bN = valueOrElse(getInteger(az(be)), 0)
284+ let bO = min([(bu + bN), bL, bM])
285+ let bP = value(getInteger(ar()))
286+ let bQ = e
287+ let bR = {
288+ let bS = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bQ, K], nil)
289+ if ($isInstanceOf(bS, "(Int, Int, Int)"))
290+ then bS
273291 else throw("Couldn't cast Any to (Int, Int, Int)")
274292 }
275- if ((bN == bN))
293+ if ((bR == bR))
276294 then {
277- let bP = bN._3
278- let bQ = bN._2
279- let bR = bN._1
280- let bS = value(getString(ay()))
281- let bT = {
282- let bO = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bS, bR], nil)
283- if ($isInstanceOf(bO, "(Int, Int)"))
284- then bO
295+ let bT = bR._3
296+ let bU = bR._2
297+ let bV = bR._1
298+ let bW = value(getString(ay()))
299+ let bX = {
300+ let bS = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bW, bV], nil)
301+ if ($isInstanceOf(bS, "(Int, Int)"))
302+ then bS
285303 else throw("Couldn't cast Any to (Int, Int)")
286304 }
287- if ((bT == bT))
305+ if ((bX == bX))
288306 then {
289- let bU = bT._2
290- let bV = bT._1
291- let bW = fraction(bV, bM, e)
292- let bX = (bG - height)
293- $Tuple10(bK, bH, bI, bv, bL, bW, bX, bE, bF, bG)
307+ let bY = bX._2
308+ let bZ = bX._1
309+ let ca = fraction(bZ, bQ, e)
310+ let cb = (bH - height)
311+ $Tuple10(bO, bL, bM, bv, bP, ca, cb, bF, bG, bH)
294312 }
295313 else throw("Strict value is not equal to itself.")
296314 }
298316 }
299317
300318
301-func bY () = {
319+func cc () = {
302320 let bq = getString(aB())
303321 if ($isInstanceOf(bq, "String"))
304322 then {
305- let bZ = bq
306- fromBase58String(bZ)
323+ let cd = bq
324+ fromBase58String(cd)
307325 }
308326 else if ($isInstanceOf(bq, "Unit"))
309327 then unit
311329 }
312330
313331
314-func ca () = {
332+func ce () = {
315333 let bq = getString(aC())
316334 if ($isInstanceOf(bq, "String"))
317335 then {
318- let bZ = bq
319- fromBase58String(bZ)
336+ let cd = bq
337+ fromBase58String(cd)
320338 }
321339 else if ($isInstanceOf(bq, "Unit"))
322340 then unit
324342 }
325343
326344
327-func cb (cc) = {
328- let cd = throw("Permission denied")
329- let bq = bY()
345+func cf (cg) = {
346+ let ch = throw("Permission denied")
347+ let bq = cc()
330348 if ($isInstanceOf(bq, "ByteVector"))
331349 then {
332- let ce = bq
333- if ((cc.callerPublicKey == ce))
350+ let ci = bq
351+ if ((cg.callerPublicKey == ci))
334352 then true
335- else cd
353+ else ch
336354 }
337355 else if ($isInstanceOf(bq, "Unit"))
338- then if ((cc.caller == this))
356+ then if ((cg.caller == this))
339357 then true
340- else cd
358+ else ch
341359 else throw("Match error")
342360 }
343361
344362
345-@Callable(cc)
363+@Callable(cg)
346364 func constructor (D,E,F,G,k,K,M) = {
347365 let H = ((100 * 1000) * 1000)
348- let cf = (D + E)
366+ let cj = (D + E)
349367 if (isDefined(getString(ad())))
350368 then throw("already initialized")
351- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cc.caller)))
369+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cg.caller)))
352370 then throw("not authorized")
353- else if ((size(cc.payments) != 1))
371+ else if ((size(cg.payments) != 1))
354372 then throw("exactly 1 payment must be attached")
355- else if ((cf >= F))
373+ else if ((cj >= F))
356374 then throw("claimStart must be greater than idoEnd")
357375 else {
358- let cg = value(cc.payments[0])
359- let bc = value(cg.assetId)
360- let ch = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
376+ let ck = value(cg.payments[0])
377+ let bc = value(ck.assetId)
378+ let cl = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
361379 let I = toBase58String(bc)
362- let J = pow(10, 0, ch.decimals, 0, 0, DOWN)
380+ let J = pow(10, 0, cl.decimals, 0, 0, DOWN)
363381 let bd = fromBase58String(K)
364- let ci = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
365- let L = pow(10, 0, ci.decimals, 0, 0, DOWN)
366- let cj = aG()
367- let ck = [0, 0, 0, 0]
368-[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cg.amount)), aN(ag(), cj, ck, F)]
382+ let cm = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
383+ let L = pow(10, 0, cm.decimals, 0, 0, DOWN)
384+ let cn = aG()
385+ let co = [0, 0, 0, 0]
386+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, ck.amount)), aN(ag(), cn, co, F)]
369387 }
370388 }
371389
372390
373391
374-@Callable(cc)
392+@Callable(cg)
375393 func invest () = {
376394 let ba = aD()
377395 let D = parseIntValue(ba[r])
378396 let E = parseIntValue(ba[s])
379- let cf = (D + E)
397+ let cj = (D + E)
380398 let F = parseIntValue(ba[t])
381399 let G = parseIntValue(ba[u])
382400 let k = parseIntValue(ba[v])
387405 let K = ba[z]
388406 let bd = fromBase58String(K)
389407 let L = parseIntValue(ba[A])
390- let cl = parseIntValue(ba[B])
391- let af = toString(cc.caller)
408+ let cp = parseIntValue(ba[B])
409+ let af = toString(cg.caller)
392410 if ((D > height))
393411 then throw("ido has not been started yet")
394- else if ((height > cf))
412+ else if ((height > cj))
395413 then throw("ido has been already ended")
396- else if ((size(cc.payments) != 1))
414+ else if ((size(cg.payments) != 1))
397415 then throw("exactly 1 payment is expected")
398416 else {
399- let cg = value(cc.payments[0])
400- let cm = value(cg.assetId)
401- let cn = cg.amount
402- if ((cm != bd))
403- then throw((("invalid payment asset id: " + toBase58String(cm)) + " is expected"))
417+ let ck = value(cg.payments[0])
418+ let cq = value(ck.assetId)
419+ let cr = ck.amount
420+ if ((cq != bd))
421+ then throw((("invalid payment asset id: " + toBase58String(cq)) + " is expected"))
404422 else {
405- let co = aH(af)
406- let cj = aG()
407- let cp = (parseIntValue(cj[P]) + cn)
408- let cq = (cp * 100)
409- if ((cq > assetBalance(this, bc)))
423+ let cs = aH(af)
424+ let cn = aG()
425+ let ct = (parseIntValue(cn[P]) + cr)
426+ let cu = (ct * 100)
427+ if ((cu > assetBalance(this, bc)))
410428 then throw("IDO asset has been - sold consider to use smaller payment")
411429 else {
412- let ck = [cn, cn, 0, 0]
413-[aN(ae(af), co, ck, F), aN(ag(), cj, ck, F), aV(af, cn, 0, cc.transactionId)]
430+ let co = [cr, cr, 0, 0]
431+[aN(ae(af), cs, co, F), aN(ag(), cn, co, F), aV(af, cr, 0, cg.transactionId)]
414432 }
415433 }
416434 }
418436
419437
420438
421-@Callable(cc)
439+@Callable(cg)
422440 func claim (aZ,be) = {
423- let cr = toString(cc.caller)
424- if ((be != cr))
441+ let cv = toString(cg.caller)
442+ if ((be != cv))
425443 then throw("not authorized")
426444 else {
427445 let ba = aD()
428446 let K = ba[z]
429- let cs = aY(aZ, cc.caller, cc.transactionId)
430- let ck = cs._1
431- let bu = cs._2
432- let ct = cs._3
433- let bf = cs._4
434- let bj = cs._5
435- let cu = ck[aL]
436- let cv = ck[aM]
437- let cw = if ((aZ == K))
447+ let cw = aY(aZ, cg.caller, cg.transactionId)
448+ let co = cw._1
449+ let bu = cw._2
450+ let cx = cw._3
451+ let bf = cw._4
452+ let bj = cw._5
453+ let cy = co[aL]
454+ let cz = co[aM]
455+ let cA = if ((aZ == K))
438456 then {
439- let cx = bt(K, be, bu, ck[aL])
440- let bK = cx._1
441- let bH = cx._2
442- let bI = cx._3
443- let bv = cx._4
444- let bL = cx._5
445- let bW = cx._6
446- let bX = cx._7
447- let bE = cx._8
448- let bF = cx._9
449- let bG = cx._10
450- let bs = [if ((bK > 0))
457+ let cB = bt(K, be, bu, co[aL])
458+ let bO = cB._1
459+ let bL = cB._2
460+ let bM = cB._3
461+ let bv = cB._4
462+ let bP = cB._5
463+ let ca = cB._6
464+ let cb = cB._7
465+ let bF = cB._8
466+ let bG = cB._9
467+ let bH = cB._10
468+ let bs = [if ((bO > 0))
451469 then true
452- else f(makeString(["nothing to claim", toString(bK), toString(bH), toString(bI), toString(bv), toString(bL), toString(bW), toString(bX), toString(bE), toString(bF), toString(bG)], c)), if ((bI > 0))
470+ else f(makeString(["nothing to claim", toString(bO), toString(bL), toString(bM), toString(bv), toString(bP), toString(ca), toString(cb), toString(bF), toString(bG), toString(bH)], c)), if ((bM > 0))
453471 then true
454- else f("unavailable to claim because user period allowance reached"), if ((bH > 0))
472+ else f("unavailable to claim because user period allowance reached"), if ((bL > 0))
455473 then true
456- else f("unavailable to claim because total period allowance reached"), if ((bL > bW))
474+ else f("unavailable to claim because total period allowance reached"), if ((bP > ca))
457475 then true
458476 else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
459477 if ((bs == bs))
460478 then {
461- let bJ = valueOrElse(getInteger(az(be)), 0)
462- let cy = (bH - bK)
463- let cz = (bI - bK)
464- let cw = if ((bJ >= bK))
465- then [ScriptTransfer(cc.caller, bK, ct), IntegerEntry(az(be), (bJ - bK))]
479+ let bN = valueOrElse(getInteger(az(be)), 0)
480+ let cC = (bL - bO)
481+ let cD = (bM - bO)
482+ let cA = if ((bN >= bO))
483+ then [ScriptTransfer(cg.caller, bO, cx), IntegerEntry(az(be), (bN - bO))]
466484 else {
467- let cA = ((bJ + bu) - bK)
468-[ScriptTransfer(cc.caller, bK, ct), aN(ae(be), bf, ck, bj), aN(ag(), aG(), ck, bj), IntegerEntry(az(be), cA)]
485+ let cE = ((bN + bu) - bO)
486+[ScriptTransfer(cg.caller, bO, cx), aN(ae(be), bf, co, bj), aN(ag(), aG(), co, bj), IntegerEntry(az(be), cE)]
469487 }
470- $Tuple2(([IntegerEntry(an(), bE), IntegerEntry(ao(bE), bF), IntegerEntry(aq(bE), bG), IntegerEntry(av(K, bE), cy), IntegerEntry(aw(K, bE, be), cz), aX(be, bK, cv, cc.transactionId)] ++ cw), unit)
488+ $Tuple2(([IntegerEntry(an(), bF), IntegerEntry(ao(bF), bG), IntegerEntry(aq(bF), bH), IntegerEntry(av(K, bF), cC), IntegerEntry(aw(K, bF, be), cD), aX(be, bO, cz, cg.transactionId)] ++ cA), unit)
471489 }
472490 else throw("Strict value is not equal to itself.")
473491 }
474- else $Tuple2([ScriptTransfer(cc.caller, bu, ct), aN(ae(be), bf, ck, bj), aN(ag(), aG(), ck, bj), aX(be, cu, cv, cc.transactionId)], unit)
475- cw
492+ else $Tuple2([ScriptTransfer(cg.caller, bu, cx), aN(ae(be), bf, co, bj), aN(ag(), aG(), co, bj), aX(be, cy, cz, cg.transactionId)], unit)
493+ cA
476494 }
477495 }
478496
479497
480498
481-@Callable(cc)
499+@Callable(cg)
482500 func claimREADONLY (aZ,be) = {
483- let cs = aY(aZ, addressFromStringValue(be), fromBase58String(""))
484- let ck = cs._1
485- let bu = cs._2
486- let ct = cs._3
487- let bf = cs._4
488- let bj = cs._5
489- let cB = cs._6
490- let cC = cB[0]
491- let cD = cB[1]
492- $Tuple2(nil, makeString(["%s%d%d", be, toString(cC), toString(cD)], c))
501+ let cw = aY(aZ, addressFromStringValue(be), fromBase58String(""))
502+ let co = cw._1
503+ let bu = cw._2
504+ let cx = cw._3
505+ let bf = cw._4
506+ let bj = cw._5
507+ let cF = cw._6
508+ let cG = cF[0]
509+ let cH = cF[1]
510+ $Tuple2(nil, makeString(["%s%d%d", be, toString(cG), toString(cH)], c))
493511 }
494512
495513
496514
497-@Callable(cc)
515+@Callable(cg)
498516 func claimV2READONLY (aZ,be) = {
499- let cs = aY(aZ, addressFromStringValue(be), fromBase58String(""))
500- let ck = cs._1
501- let bu = cs._2
502- let ct = cs._3
503- let bf = cs._4
504- let bj = cs._5
505- let cB = cs._6
506- let cC = cB[0]
507- let cD = cB[1]
517+ let cw = aY(aZ, addressFromStringValue(be), fromBase58String(""))
518+ let co = cw._1
519+ let bu = cw._2
520+ let cx = cw._3
521+ let bf = cw._4
522+ let bj = cw._5
523+ let cF = cw._6
524+ let cG = cF[0]
525+ let cH = cF[1]
508526 let ba = aD()
509527 let K = ba[z]
510- let cE = bt(K, be, bu, ck[aL])
511- let bK = cE._1
512- let bH = cE._2
513- let bI = cE._3
514- let bv = cE._4
515- let bL = cE._5
516- let bW = cE._6
517- let bX = cE._7
518- let bE = cE._8
519- let bF = cE._9
520- let bG = cE._10
521- let cF = value(getInteger(aq(bE)))
522- let cG = if ((height > cF))
528+ let cI = bt(K, be, bu, co[aL])
529+ let bO = cI._1
530+ let bL = cI._2
531+ let bM = cI._3
532+ let bv = cI._4
533+ let bP = cI._5
534+ let ca = cI._6
535+ let cb = cI._7
536+ let bF = cI._8
537+ let bG = cI._9
538+ let bH = cI._10
539+ let cJ = value(getInteger(aq(bF)))
540+ let cK = if ((height > cJ))
523541 then {
524- let cH = value(getInteger(am()))
525- let cI = value(getInteger(au(K)))
526- let cJ = value(getInteger(as(K)))
527- makeString(["%d%d%d%d%d%d", toString(cD), toString(cI), toString(cJ), toString(bL), toString(bW), toString(cH)], c)
542+ let cL = value(getInteger(am()))
543+ let cM = value(getInteger(au(K)))
544+ let cN = value(getInteger(as(K)))
545+ makeString(["%d%d%d%d%d%d", toString(cH), toString(cM), toString(cN), toString(bP), toString(ca), toString(cL)], c)
528546 }
529- else makeString(["%d%d%d%d%d%d", toString(cD), toString(bK), toString(bH), toString(bL), toString(bW), toString(bX)], c)
530- $Tuple2(nil, cG)
547+ else makeString(["%d%d%d%d%d%d", toString(cH), toString(bO), toString(bL), toString(bP), toString(ca), toString(cb)], c)
548+ $Tuple2(nil, cK)
531549 }
532550
533551
534552
535-@Callable(cc)
536-func setManager (cK) = {
537- let cL = cb(cc)
538- if ((cL == cL))
553+@Callable(cg)
554+func setManager (cO) = {
555+ let cP = cf(cg)
556+ if ((cP == cP))
539557 then {
540- let cM = fromBase58String(cK)
541- if ((cM == cM))
542- then [StringEntry(aC(), cK)]
558+ let cQ = fromBase58String(cO)
559+ if ((cQ == cQ))
560+ then [StringEntry(aC(), cO)]
543561 else throw("Strict value is not equal to itself.")
544562 }
545563 else throw("Strict value is not equal to itself.")
547565
548566
549567
550-@Callable(cc)
568+@Callable(cg)
551569 func confirmManager () = {
552- let cN = ca()
553- let cO = if (isDefined(cN))
570+ let cR = ce()
571+ let cS = if (isDefined(cR))
554572 then true
555573 else throw("No pending manager")
556- if ((cO == cO))
574+ if ((cS == cS))
557575 then {
558- let cP = if ((cc.callerPublicKey == value(cN)))
576+ let cT = if ((cg.callerPublicKey == value(cR)))
559577 then true
560578 else throw("You are not pending manager")
561- if ((cP == cP))
562- then [StringEntry(aB(), toBase58String(value(cN))), DeleteEntry(aC())]
579+ if ((cT == cT))
580+ then [StringEntry(aB(), toBase58String(value(cR))), DeleteEntry(aC())]
563581 else throw("Strict value is not equal to itself.")
564582 }
565583 else throw("Strict value is not equal to itself.")
566584 }
567585
568586
569-@Verifier(cQ)
570-func cR () = {
571- let cS = {
572- let bq = bY()
587+@Verifier(cU)
588+func cV () = {
589+ let cW = {
590+ let bq = cc()
573591 if ($isInstanceOf(bq, "ByteVector"))
574592 then {
575- let ce = bq
576- ce
593+ let ci = bq
594+ ci
577595 }
578596 else if ($isInstanceOf(bq, "Unit"))
579- then cQ.senderPublicKey
597+ then cU.senderPublicKey
580598 else throw("Match error")
581599 }
582- sigVerify(cQ.bodyBytes, cQ.proofs[0], cS)
600+ sigVerify(cU.bodyBytes, cU.proofs[0], cW)
583601 }
584602
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrErrorMessage(getString(b), (("mandatory this." + b) + " is not defined"))
55
66
77 let c = "__"
88
99 let d = toBigInt(1000000000000000000)
1010
1111 let e = 100000000
1212
1313 func f (g) = throw(makeString(["ido.ride:", g], " "))
1414
1515
1616 func h (i,j,k,l,m) = {
1717 let n = toBigInt(j)
1818 let o = toBigInt(m)
1919 let p = fraction(toBigInt(i), d, n)
2020 let q = fraction(p, toBigInt(l), toBigInt(k))
2121 toInt(fraction(q, toBigInt(m), d))
2222 }
2323
2424
2525 let r = 1
2626
2727 let s = 2
2828
2929 let t = 3
3030
3131 let u = 4
3232
3333 let v = 5
3434
3535 let w = 6
3636
3737 let x = 7
3838
3939 let y = 8
4040
4141 let z = 9
4242
4343 let A = 10
4444
4545 let B = 11
4646
4747 func C (D,E,F,G,k,H,I,J,K,L,M,N) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", D, E, F, G, k, H, I, J, K, L, M, N], c)
4848
4949
5050 func O (D,E,F,G,k,H,I,J,K,L,M,N) = C(toString(D), toString(E), toString(F), toString(G), toString(k), toString(H), I, toString(J), K, toString(L), toString(M), toString(N))
5151
5252
5353 let P = 1
5454
5555 let Q = 2
5656
5757 let R = 3
5858
5959 let S = 4
6060
6161 let T = 5
6262
6363 func U (V,W,X,Y,Z) = makeString(["%d%d%d%d%d", V, W, X, Y, Z], c)
6464
6565
6666 func aa (V,W,X,Y,Z) = U(toString(V), toString(W), toString(X), toString(Y), toString(Z))
6767
6868
6969 func ab (i,ac) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(i), toString(ac)], c)
7070
7171
7272 func ad () = "%s__config"
7373
7474
7575 func ae (af) = ("%s__" + af)
7676
7777
7878 func ag () = "%s__totals"
7979
8080
8181 func ah (ai,af,aj) = makeString(["%s%s%s%s__history", ai, af, aj], c)
8282
8383
8484 func ak () = "%s__usdnClaimDisabled"
8585
8686
8787 func al () = "%s__usdnClaimEndHeight"
8888
8989
9090 func am () = makeString(["%s", "periodLength"], c)
9191
9292
9393 func an () = makeString(["%s", "currentPeriod"], c)
9494
9595
9696 func ao (ap) = makeString(["%s%s", "periodStartHeight", toString(ap)], c)
9797
9898
9999 func aq (ap) = makeString(["%s%s", "periodEndHeight", toString(ap)], c)
100100
101101
102102 func ar () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
103103
104104
105105 func as (at) = makeString(["%s%s", "totalPeriodAllowance", at], c)
106106
107107
108108 func au (at) = makeString(["%s%s", "userPeriodAllowance", at], c)
109109
110110
111111 func av (at,ap) = makeString(["%s%s%s", "periodTotalAvailableToClaim", at, toString(ap)], c)
112112
113113
114114 func aw (at,ap,af) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", at, toString(ap), af], c)
115115
116116
117117 func ax () = makeString(["%s", "usdtPriceAssetStablePool"], c)
118118
119119
120120 func ay () = makeString(["%s", "usdtAssetId"], c)
121121
122122
123123 func az (aA) = makeString(["%s%s", "priceAssetBalance", aA], c)
124124
125125
126126 func aB () = "%s__managerPublicKey"
127127
128128
129129 func aC () = "%s__pendingManagerPublicKey"
130130
131131
132132 func aD () = split(a(ad()), c)
133133
134134
135135 func aE (aF) = split(valueOrElse(getString(aF), U("0", "0", "0", "0", "0")), c)
136136
137137
138138 func aG () = aE(ag())
139139
140140
141141 func aH (af) = aE(ae(af))
142142
143143
144144 func aI (af) = split(a(ae(af)), c)
145145
146146
147147 let aJ = 0
148148
149149 let aK = 1
150150
151151 let aL = 2
152152
153153 let aM = 3
154154
155155 func aN (b,aO,aP,aQ) = {
156156 let V = parseIntValue(aO[P])
157157 let W = parseIntValue(aO[Q])
158158 let X = parseIntValue(aO[R])
159159 let Y = parseIntValue(aO[S])
160160 let Z = parseIntValue(aO[T])
161161 let aR = (V + aP[aJ])
162162 let aS = (W + aP[aK])
163163 let aT = (X + aP[aL])
164164 let aU = (Y + aP[aM])
165165 if ((0 > aS))
166166 then throw("invalid math")
167167 else StringEntry(b, aa(aR, aS, aT, aU, aQ))
168168 }
169169
170170
171171 func aV (af,i,ac,aW) = StringEntry(ah("invest", af, toBase58String(aW)), ab(i, ac))
172172
173173
174174 func aX (af,i,ac,aW) = StringEntry(ah("claim", af, toBase58String(aW)), ab(i, ac))
175175
176176
177177 func aY (aZ,af,aW) = {
178178 let ba = aD()
179179 let F = parseIntValue(ba[t])
180180 let G = parseIntValue(ba[u])
181181 let bb = (F + G)
182182 let k = parseIntValue(ba[v])
183183 let H = parseIntValue(ba[w])
184184 let I = ba[x]
185185 let bc = fromBase58String(I)
186186 let J = parseIntValue(ba[y])
187187 let K = ba[z]
188188 let bd = fromBase58String(K)
189189 let L = parseIntValue(ba[A])
190190 let be = toString(af)
191191 let bf = aI(be)
192192 let bg = parseIntValue(bf[P])
193193 let bh = parseIntValue(bf[T])
194194 let bi = if ((F >= bh))
195195 then F
196196 else bh
197197 let bj = if ((height > bb))
198198 then bb
199199 else if ((F > height))
200200 then F
201201 else height
202202 let bk = (bj - bi)
203203 let bl = fraction(bg, bk, G)
204204 let bm = h(bl, L, k, H, J)
205205 let bn = (aZ == K)
206206 let bo = valueOrElse(getBoolean(ak()), false)
207207 let bp = {
208208 let bq = getInteger(al())
209209 if ($isInstanceOf(bq, "Int"))
210210 then {
211211 let br = bq
212212 (height > br)
213213 }
214214 else if ($isInstanceOf(bq, "Unit"))
215215 then false
216216 else throw("Match error")
217217 }
218218 let bs = [if (!(if (bn)
219219 then bo
220220 else false))
221221 then true
222222 else throw("USDN claim is disabled"), if (!(if (bn)
223223 then bp
224224 else false))
225225 then true
226226 else throw("USDN claim is ended")]
227227 if ((bs == bs))
228228 then if ((aZ == K))
229229 then $Tuple6([0, -(bl), bl, 0], bl, bd, bf, bj, [bl, bm])
230230 else if ((aZ == I))
231231 then $Tuple6([0, -(bl), 0, bm], bm, bc, bf, bj, [bl, bm])
232232 else throw(("unsupported assetId: " + aZ))
233233 else throw("Strict value is not equal to itself.")
234234 }
235235
236236
237237 func bt (K,be,bu,bv) = {
238238 let bw = value(getInteger(as(K)))
239239 let bx = value(getInteger(au(K)))
240240 let by = value(getInteger(am()))
241241 let bz = valueOrElse(getInteger(an()), 0)
242- let bA = if ((bz > 0))
242+ let bA = isDefined(getInteger(aq(0)))
243+ let bB = if ((bz > 0))
243244 then {
244- let bB = value(getInteger(ao((bz - 1))))
245- let bC = value(getInteger(aq((bz - 1))))
246- let bD = if ((height > bC))
245+ let bC = value(getInteger(ao((bz - 1))))
246+ let bD = value(getInteger(aq((bz - 1))))
247+ let bE = if ((height > bD))
247248 then {
248- let bE = (bz + 1)
249- let bF = (bC + 1)
250- let bG = ((bF + by) - 1)
251- $Tuple3(bE, bF, bG)
249+ let bF = (bz + 1)
250+ let bG = (bD + 1)
251+ let bH = ((bG + by) - 1)
252+ $Tuple3(bF, bG, bH)
252253 }
253- else $Tuple3(bz, bB, bC)
254- let bE = bD._1
255- let bF = bD._2
256- let bG = bD._3
257- $Tuple3(bE, bF, bG)
254+ else $Tuple3(bz, bC, bD)
255+ let bF = bE._1
256+ let bG = bE._2
257+ let bH = bE._3
258+ $Tuple3(bF, bG, bH)
258259 }
259- else $Tuple3(bz, valueOrElse(getInteger(ao(bz)), height), valueOrElse(getInteger(aq(bz)), ((height + by) - 1)))
260- let bE = bA._1
261- let bF = bA._2
262- let bG = bA._3
263- let bH = valueOrElse(getInteger(av(K, bE)), bw)
264- let bI = valueOrElse(getInteger(aw(K, bE, be)), bx)
265- let bJ = valueOrElse(getInteger(az(be)), 0)
266- let bK = min([(bu + bJ), bH, bI])
267- let bL = value(getInteger(ar()))
268- let bM = e
269- let bN = {
270- let bO = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bM, K], nil)
271- if ($isInstanceOf(bO, "(Int, Int, Int)"))
272- then bO
260+ else if (bA)
261+ then {
262+ let bI = value(getInteger(ao(0)))
263+ let bJ = value(getInteger(aq(0)))
264+ let bK = if ((height > bJ))
265+ then {
266+ let bF = (bz + 1)
267+ let bG = (bJ + 1)
268+ let bH = ((bG + by) - 1)
269+ $Tuple3(bF, bG, bH)
270+ }
271+ else $Tuple3(bz, bI, bJ)
272+ let bF = bK._1
273+ let bG = bK._2
274+ let bH = bK._3
275+ $Tuple3(bF, bG, bH)
276+ }
277+ else $Tuple3(bz, valueOrElse(getInteger(ao(bz)), height), valueOrElse(getInteger(aq(bz)), ((height + by) - 1)))
278+ let bF = bB._1
279+ let bG = bB._2
280+ let bH = bB._3
281+ let bL = valueOrElse(getInteger(av(K, bF)), bw)
282+ let bM = valueOrElse(getInteger(aw(K, bF, be)), bx)
283+ let bN = valueOrElse(getInteger(az(be)), 0)
284+ let bO = min([(bu + bN), bL, bM])
285+ let bP = value(getInteger(ar()))
286+ let bQ = e
287+ let bR = {
288+ let bS = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bQ, K], nil)
289+ if ($isInstanceOf(bS, "(Int, Int, Int)"))
290+ then bS
273291 else throw("Couldn't cast Any to (Int, Int, Int)")
274292 }
275- if ((bN == bN))
293+ if ((bR == bR))
276294 then {
277- let bP = bN._3
278- let bQ = bN._2
279- let bR = bN._1
280- let bS = value(getString(ay()))
281- let bT = {
282- let bO = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bS, bR], nil)
283- if ($isInstanceOf(bO, "(Int, Int)"))
284- then bO
295+ let bT = bR._3
296+ let bU = bR._2
297+ let bV = bR._1
298+ let bW = value(getString(ay()))
299+ let bX = {
300+ let bS = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bW, bV], nil)
301+ if ($isInstanceOf(bS, "(Int, Int)"))
302+ then bS
285303 else throw("Couldn't cast Any to (Int, Int)")
286304 }
287- if ((bT == bT))
305+ if ((bX == bX))
288306 then {
289- let bU = bT._2
290- let bV = bT._1
291- let bW = fraction(bV, bM, e)
292- let bX = (bG - height)
293- $Tuple10(bK, bH, bI, bv, bL, bW, bX, bE, bF, bG)
307+ let bY = bX._2
308+ let bZ = bX._1
309+ let ca = fraction(bZ, bQ, e)
310+ let cb = (bH - height)
311+ $Tuple10(bO, bL, bM, bv, bP, ca, cb, bF, bG, bH)
294312 }
295313 else throw("Strict value is not equal to itself.")
296314 }
297315 else throw("Strict value is not equal to itself.")
298316 }
299317
300318
301-func bY () = {
319+func cc () = {
302320 let bq = getString(aB())
303321 if ($isInstanceOf(bq, "String"))
304322 then {
305- let bZ = bq
306- fromBase58String(bZ)
323+ let cd = bq
324+ fromBase58String(cd)
307325 }
308326 else if ($isInstanceOf(bq, "Unit"))
309327 then unit
310328 else throw("Match error")
311329 }
312330
313331
314-func ca () = {
332+func ce () = {
315333 let bq = getString(aC())
316334 if ($isInstanceOf(bq, "String"))
317335 then {
318- let bZ = bq
319- fromBase58String(bZ)
336+ let cd = bq
337+ fromBase58String(cd)
320338 }
321339 else if ($isInstanceOf(bq, "Unit"))
322340 then unit
323341 else throw("Match error")
324342 }
325343
326344
327-func cb (cc) = {
328- let cd = throw("Permission denied")
329- let bq = bY()
345+func cf (cg) = {
346+ let ch = throw("Permission denied")
347+ let bq = cc()
330348 if ($isInstanceOf(bq, "ByteVector"))
331349 then {
332- let ce = bq
333- if ((cc.callerPublicKey == ce))
350+ let ci = bq
351+ if ((cg.callerPublicKey == ci))
334352 then true
335- else cd
353+ else ch
336354 }
337355 else if ($isInstanceOf(bq, "Unit"))
338- then if ((cc.caller == this))
356+ then if ((cg.caller == this))
339357 then true
340- else cd
358+ else ch
341359 else throw("Match error")
342360 }
343361
344362
345-@Callable(cc)
363+@Callable(cg)
346364 func constructor (D,E,F,G,k,K,M) = {
347365 let H = ((100 * 1000) * 1000)
348- let cf = (D + E)
366+ let cj = (D + E)
349367 if (isDefined(getString(ad())))
350368 then throw("already initialized")
351- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cc.caller)))
369+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cg.caller)))
352370 then throw("not authorized")
353- else if ((size(cc.payments) != 1))
371+ else if ((size(cg.payments) != 1))
354372 then throw("exactly 1 payment must be attached")
355- else if ((cf >= F))
373+ else if ((cj >= F))
356374 then throw("claimStart must be greater than idoEnd")
357375 else {
358- let cg = value(cc.payments[0])
359- let bc = value(cg.assetId)
360- let ch = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
376+ let ck = value(cg.payments[0])
377+ let bc = value(ck.assetId)
378+ let cl = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
361379 let I = toBase58String(bc)
362- let J = pow(10, 0, ch.decimals, 0, 0, DOWN)
380+ let J = pow(10, 0, cl.decimals, 0, 0, DOWN)
363381 let bd = fromBase58String(K)
364- let ci = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
365- let L = pow(10, 0, ci.decimals, 0, 0, DOWN)
366- let cj = aG()
367- let ck = [0, 0, 0, 0]
368-[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cg.amount)), aN(ag(), cj, ck, F)]
382+ let cm = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
383+ let L = pow(10, 0, cm.decimals, 0, 0, DOWN)
384+ let cn = aG()
385+ let co = [0, 0, 0, 0]
386+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, ck.amount)), aN(ag(), cn, co, F)]
369387 }
370388 }
371389
372390
373391
374-@Callable(cc)
392+@Callable(cg)
375393 func invest () = {
376394 let ba = aD()
377395 let D = parseIntValue(ba[r])
378396 let E = parseIntValue(ba[s])
379- let cf = (D + E)
397+ let cj = (D + E)
380398 let F = parseIntValue(ba[t])
381399 let G = parseIntValue(ba[u])
382400 let k = parseIntValue(ba[v])
383401 let H = parseIntValue(ba[w])
384402 let I = ba[x]
385403 let bc = fromBase58String(I)
386404 let J = parseIntValue(ba[y])
387405 let K = ba[z]
388406 let bd = fromBase58String(K)
389407 let L = parseIntValue(ba[A])
390- let cl = parseIntValue(ba[B])
391- let af = toString(cc.caller)
408+ let cp = parseIntValue(ba[B])
409+ let af = toString(cg.caller)
392410 if ((D > height))
393411 then throw("ido has not been started yet")
394- else if ((height > cf))
412+ else if ((height > cj))
395413 then throw("ido has been already ended")
396- else if ((size(cc.payments) != 1))
414+ else if ((size(cg.payments) != 1))
397415 then throw("exactly 1 payment is expected")
398416 else {
399- let cg = value(cc.payments[0])
400- let cm = value(cg.assetId)
401- let cn = cg.amount
402- if ((cm != bd))
403- then throw((("invalid payment asset id: " + toBase58String(cm)) + " is expected"))
417+ let ck = value(cg.payments[0])
418+ let cq = value(ck.assetId)
419+ let cr = ck.amount
420+ if ((cq != bd))
421+ then throw((("invalid payment asset id: " + toBase58String(cq)) + " is expected"))
404422 else {
405- let co = aH(af)
406- let cj = aG()
407- let cp = (parseIntValue(cj[P]) + cn)
408- let cq = (cp * 100)
409- if ((cq > assetBalance(this, bc)))
423+ let cs = aH(af)
424+ let cn = aG()
425+ let ct = (parseIntValue(cn[P]) + cr)
426+ let cu = (ct * 100)
427+ if ((cu > assetBalance(this, bc)))
410428 then throw("IDO asset has been - sold consider to use smaller payment")
411429 else {
412- let ck = [cn, cn, 0, 0]
413-[aN(ae(af), co, ck, F), aN(ag(), cj, ck, F), aV(af, cn, 0, cc.transactionId)]
430+ let co = [cr, cr, 0, 0]
431+[aN(ae(af), cs, co, F), aN(ag(), cn, co, F), aV(af, cr, 0, cg.transactionId)]
414432 }
415433 }
416434 }
417435 }
418436
419437
420438
421-@Callable(cc)
439+@Callable(cg)
422440 func claim (aZ,be) = {
423- let cr = toString(cc.caller)
424- if ((be != cr))
441+ let cv = toString(cg.caller)
442+ if ((be != cv))
425443 then throw("not authorized")
426444 else {
427445 let ba = aD()
428446 let K = ba[z]
429- let cs = aY(aZ, cc.caller, cc.transactionId)
430- let ck = cs._1
431- let bu = cs._2
432- let ct = cs._3
433- let bf = cs._4
434- let bj = cs._5
435- let cu = ck[aL]
436- let cv = ck[aM]
437- let cw = if ((aZ == K))
447+ let cw = aY(aZ, cg.caller, cg.transactionId)
448+ let co = cw._1
449+ let bu = cw._2
450+ let cx = cw._3
451+ let bf = cw._4
452+ let bj = cw._5
453+ let cy = co[aL]
454+ let cz = co[aM]
455+ let cA = if ((aZ == K))
438456 then {
439- let cx = bt(K, be, bu, ck[aL])
440- let bK = cx._1
441- let bH = cx._2
442- let bI = cx._3
443- let bv = cx._4
444- let bL = cx._5
445- let bW = cx._6
446- let bX = cx._7
447- let bE = cx._8
448- let bF = cx._9
449- let bG = cx._10
450- let bs = [if ((bK > 0))
457+ let cB = bt(K, be, bu, co[aL])
458+ let bO = cB._1
459+ let bL = cB._2
460+ let bM = cB._3
461+ let bv = cB._4
462+ let bP = cB._5
463+ let ca = cB._6
464+ let cb = cB._7
465+ let bF = cB._8
466+ let bG = cB._9
467+ let bH = cB._10
468+ let bs = [if ((bO > 0))
451469 then true
452- else f(makeString(["nothing to claim", toString(bK), toString(bH), toString(bI), toString(bv), toString(bL), toString(bW), toString(bX), toString(bE), toString(bF), toString(bG)], c)), if ((bI > 0))
470+ else f(makeString(["nothing to claim", toString(bO), toString(bL), toString(bM), toString(bv), toString(bP), toString(ca), toString(cb), toString(bF), toString(bG), toString(bH)], c)), if ((bM > 0))
453471 then true
454- else f("unavailable to claim because user period allowance reached"), if ((bH > 0))
472+ else f("unavailable to claim because user period allowance reached"), if ((bL > 0))
455473 then true
456- else f("unavailable to claim because total period allowance reached"), if ((bL > bW))
474+ else f("unavailable to claim because total period allowance reached"), if ((bP > ca))
457475 then true
458476 else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
459477 if ((bs == bs))
460478 then {
461- let bJ = valueOrElse(getInteger(az(be)), 0)
462- let cy = (bH - bK)
463- let cz = (bI - bK)
464- let cw = if ((bJ >= bK))
465- then [ScriptTransfer(cc.caller, bK, ct), IntegerEntry(az(be), (bJ - bK))]
479+ let bN = valueOrElse(getInteger(az(be)), 0)
480+ let cC = (bL - bO)
481+ let cD = (bM - bO)
482+ let cA = if ((bN >= bO))
483+ then [ScriptTransfer(cg.caller, bO, cx), IntegerEntry(az(be), (bN - bO))]
466484 else {
467- let cA = ((bJ + bu) - bK)
468-[ScriptTransfer(cc.caller, bK, ct), aN(ae(be), bf, ck, bj), aN(ag(), aG(), ck, bj), IntegerEntry(az(be), cA)]
485+ let cE = ((bN + bu) - bO)
486+[ScriptTransfer(cg.caller, bO, cx), aN(ae(be), bf, co, bj), aN(ag(), aG(), co, bj), IntegerEntry(az(be), cE)]
469487 }
470- $Tuple2(([IntegerEntry(an(), bE), IntegerEntry(ao(bE), bF), IntegerEntry(aq(bE), bG), IntegerEntry(av(K, bE), cy), IntegerEntry(aw(K, bE, be), cz), aX(be, bK, cv, cc.transactionId)] ++ cw), unit)
488+ $Tuple2(([IntegerEntry(an(), bF), IntegerEntry(ao(bF), bG), IntegerEntry(aq(bF), bH), IntegerEntry(av(K, bF), cC), IntegerEntry(aw(K, bF, be), cD), aX(be, bO, cz, cg.transactionId)] ++ cA), unit)
471489 }
472490 else throw("Strict value is not equal to itself.")
473491 }
474- else $Tuple2([ScriptTransfer(cc.caller, bu, ct), aN(ae(be), bf, ck, bj), aN(ag(), aG(), ck, bj), aX(be, cu, cv, cc.transactionId)], unit)
475- cw
492+ else $Tuple2([ScriptTransfer(cg.caller, bu, cx), aN(ae(be), bf, co, bj), aN(ag(), aG(), co, bj), aX(be, cy, cz, cg.transactionId)], unit)
493+ cA
476494 }
477495 }
478496
479497
480498
481-@Callable(cc)
499+@Callable(cg)
482500 func claimREADONLY (aZ,be) = {
483- let cs = aY(aZ, addressFromStringValue(be), fromBase58String(""))
484- let ck = cs._1
485- let bu = cs._2
486- let ct = cs._3
487- let bf = cs._4
488- let bj = cs._5
489- let cB = cs._6
490- let cC = cB[0]
491- let cD = cB[1]
492- $Tuple2(nil, makeString(["%s%d%d", be, toString(cC), toString(cD)], c))
501+ let cw = aY(aZ, addressFromStringValue(be), fromBase58String(""))
502+ let co = cw._1
503+ let bu = cw._2
504+ let cx = cw._3
505+ let bf = cw._4
506+ let bj = cw._5
507+ let cF = cw._6
508+ let cG = cF[0]
509+ let cH = cF[1]
510+ $Tuple2(nil, makeString(["%s%d%d", be, toString(cG), toString(cH)], c))
493511 }
494512
495513
496514
497-@Callable(cc)
515+@Callable(cg)
498516 func claimV2READONLY (aZ,be) = {
499- let cs = aY(aZ, addressFromStringValue(be), fromBase58String(""))
500- let ck = cs._1
501- let bu = cs._2
502- let ct = cs._3
503- let bf = cs._4
504- let bj = cs._5
505- let cB = cs._6
506- let cC = cB[0]
507- let cD = cB[1]
517+ let cw = aY(aZ, addressFromStringValue(be), fromBase58String(""))
518+ let co = cw._1
519+ let bu = cw._2
520+ let cx = cw._3
521+ let bf = cw._4
522+ let bj = cw._5
523+ let cF = cw._6
524+ let cG = cF[0]
525+ let cH = cF[1]
508526 let ba = aD()
509527 let K = ba[z]
510- let cE = bt(K, be, bu, ck[aL])
511- let bK = cE._1
512- let bH = cE._2
513- let bI = cE._3
514- let bv = cE._4
515- let bL = cE._5
516- let bW = cE._6
517- let bX = cE._7
518- let bE = cE._8
519- let bF = cE._9
520- let bG = cE._10
521- let cF = value(getInteger(aq(bE)))
522- let cG = if ((height > cF))
528+ let cI = bt(K, be, bu, co[aL])
529+ let bO = cI._1
530+ let bL = cI._2
531+ let bM = cI._3
532+ let bv = cI._4
533+ let bP = cI._5
534+ let ca = cI._6
535+ let cb = cI._7
536+ let bF = cI._8
537+ let bG = cI._9
538+ let bH = cI._10
539+ let cJ = value(getInteger(aq(bF)))
540+ let cK = if ((height > cJ))
523541 then {
524- let cH = value(getInteger(am()))
525- let cI = value(getInteger(au(K)))
526- let cJ = value(getInteger(as(K)))
527- makeString(["%d%d%d%d%d%d", toString(cD), toString(cI), toString(cJ), toString(bL), toString(bW), toString(cH)], c)
542+ let cL = value(getInteger(am()))
543+ let cM = value(getInteger(au(K)))
544+ let cN = value(getInteger(as(K)))
545+ makeString(["%d%d%d%d%d%d", toString(cH), toString(cM), toString(cN), toString(bP), toString(ca), toString(cL)], c)
528546 }
529- else makeString(["%d%d%d%d%d%d", toString(cD), toString(bK), toString(bH), toString(bL), toString(bW), toString(bX)], c)
530- $Tuple2(nil, cG)
547+ else makeString(["%d%d%d%d%d%d", toString(cH), toString(bO), toString(bL), toString(bP), toString(ca), toString(cb)], c)
548+ $Tuple2(nil, cK)
531549 }
532550
533551
534552
535-@Callable(cc)
536-func setManager (cK) = {
537- let cL = cb(cc)
538- if ((cL == cL))
553+@Callable(cg)
554+func setManager (cO) = {
555+ let cP = cf(cg)
556+ if ((cP == cP))
539557 then {
540- let cM = fromBase58String(cK)
541- if ((cM == cM))
542- then [StringEntry(aC(), cK)]
558+ let cQ = fromBase58String(cO)
559+ if ((cQ == cQ))
560+ then [StringEntry(aC(), cO)]
543561 else throw("Strict value is not equal to itself.")
544562 }
545563 else throw("Strict value is not equal to itself.")
546564 }
547565
548566
549567
550-@Callable(cc)
568+@Callable(cg)
551569 func confirmManager () = {
552- let cN = ca()
553- let cO = if (isDefined(cN))
570+ let cR = ce()
571+ let cS = if (isDefined(cR))
554572 then true
555573 else throw("No pending manager")
556- if ((cO == cO))
574+ if ((cS == cS))
557575 then {
558- let cP = if ((cc.callerPublicKey == value(cN)))
576+ let cT = if ((cg.callerPublicKey == value(cR)))
559577 then true
560578 else throw("You are not pending manager")
561- if ((cP == cP))
562- then [StringEntry(aB(), toBase58String(value(cN))), DeleteEntry(aC())]
579+ if ((cT == cT))
580+ then [StringEntry(aB(), toBase58String(value(cR))), DeleteEntry(aC())]
563581 else throw("Strict value is not equal to itself.")
564582 }
565583 else throw("Strict value is not equal to itself.")
566584 }
567585
568586
569-@Verifier(cQ)
570-func cR () = {
571- let cS = {
572- let bq = bY()
587+@Verifier(cU)
588+func cV () = {
589+ let cW = {
590+ let bq = cc()
573591 if ($isInstanceOf(bq, "ByteVector"))
574592 then {
575- let ce = bq
576- ce
593+ let ci = bq
594+ ci
577595 }
578596 else if ($isInstanceOf(bq, "Unit"))
579- then cQ.senderPublicKey
597+ then cU.senderPublicKey
580598 else throw("Match error")
581599 }
582- sigVerify(cQ.bodyBytes, cQ.proofs[0], cS)
600+ sigVerify(cU.bodyBytes, cU.proofs[0], cW)
583601 }
584602

github/deemru/w8io/026f985 
149.68 ms