tx · 4n6yTmzMnEm5ByB9j4BetivgvTrVfK8RbpGCJ8CEPYuT

3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv:  -0.02600000 Waves

2022.11.03 10:09 [2300608] smart account 3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv > SELF 0.00000000 Waves

{ "type": 13, "id": "4n6yTmzMnEm5ByB9j4BetivgvTrVfK8RbpGCJ8CEPYuT", "fee": 2600000, "feeAssetId": null, "timestamp": 1667459427822, "version": 1, "sender": "3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv", "senderPublicKey": "39YkRD2qWXTcdNBr4CbDnm8g8SAB2FKVaDeGYahcFHHx", "proofs": [ "2KrB5n3kfezcsGhvfTq6xErRxFyJnRwdwTZjqGGvxvra7z4BGAiY29VBvGEJmvLWhQLgpeU9Nd17j1Pb7Rjb8soa" ], "script": "base64:AAIFAAAAAAAADqEIAhIJCgcBAQEBAQgBEgASBAoCCAgSBAoCCAgSBAoCCAgSAwoBCBIAIg9nZXRTdHJpbmdPckZhaWwiA2tleSIDU0VQIghCVUZTQ0FMRSIGc2NhbGU4Igh0aHJvd0VyciIDbXNnIh1jb252ZXJ0UHJpY2VBc3NldEludG9JZG9Bc3NldCIQcHJpY2VBc3NldEFtb3VudCIOcHJpY2VBc3NldE1VTFQiBXByaWNlIglwcmljZU1VTFQiDGlkb0Fzc2V0TVVMVCIPYlByaWNlQXNzZXRNVUxUIg1iSWRvQXNzZXRNVUxUIg5iUHJpY2VBc3NldEJVRiIPYkFtb3VudEFzc2V0QlVGIg5JZHhDZmdJZG9TdGFydCIRSWR4Q2ZnSWRvRHVyYXRpb24iEElkeENmZ0NsYWltU3RhcnQiE0lkeENmZ0NsYWltRHVyYXRpb24iC0lkeENmZ1ByaWNlIg9JZHhDZmdQcmljZU11bHQiEElkeENmZ0lkb0Fzc2V0SWQiEklkeENmZ0lkb0Fzc2V0TXVsdCISSWR4Q2ZnUHJpY2VBc3NldElkIhRJZHhDZmdQcmljZUFzc2V0TXVsdCIVSWR4Q2ZnTWluSW52ZXN0QW1vdW50Ig1mcm9tYXRDb25maWdTIghpZG9TdGFydCILaWRvRHVyYXRpb24iCmNsYWltU3RhcnQiDWNsYWltRHVyYXRpb24iCXByaWNlTXVsdCIMaWRvQXNzZXRJZDU4IgxpZG9Bc3NldE11bHQiDnByaWNlQXNzZXRJZDU4Ig5wcmljZUFzc2V0TXVsdCIPbWluSW52ZXN0QW1vdW50IhN0b3RhbElkb0Fzc2V0VG9TZWxsIgxmcm9tYXRDb25maWciEUlkeEludlRvdGFsQW1vdW50IhVJZHhJbnZSZW1haW5pbmdBbW91bnQiHUlkeEludkNsYWltZWRQcmljZUFzc2V0QW1vdW50IhtJZHhJbnZDbGFpbWVkSWRvQXNzZXRBbW91bnQiF0lkeEludkxhc3RDbGFpbWVkSGVpZ2h0Ig9mb3JtYXRJbnZlc3RvclMiC3RvdGFsQW1vdW50Ig9yZW1haW5pbmdBbW91bnQiF2NsYWltZWRQcmljZUFzc2V0QW1vdW50IhVjbGFpbWVkSWRvQXNzZXRBbW91bnQiEWxhc3RDbGFpbWVkSGVpZ2h0Ig5mb3JtYXRJbnZlc3RvciITZm9ybWF0SGlzdG9yeVJlY29yZCIOaWRvQXNzZXRBbW91bnQiCWtleUNvbmZpZyILa2V5SW52ZXN0b3IiC3VzZXJBZGRyZXNzIglrZXlUb3RhbHMiGWtleU9wZXJhdGlvbkhpc3RvcnlSZWNvcmQiBHR5cGUiBnR4SWQ1OCIUa2V5VVNETkNsYWltRGlzYWJsZWQiFWtleVVTRE5DbGFpbUVuZEhlaWdodCIPa2V5UGVyaW9kTGVuZ3RoIhBrZXlDdXJyZW50UGVyaW9kIhRrZXlQZXJpb2RTdGFydEhlaWdodCIJcGVyaW9kTnVtIhJrZXlQZXJpb2RFbmRIZWlnaHQiH2tleVVzZHRQcmljZUFzc2V0QWxsb3dhYmxlUmF0aW8iF2tleVRvdGFsUGVyaW9kQWxsb3dhbmNlIgdhc3NldElkIhZrZXlVc2VyUGVyaW9kQWxsb3dhbmNlIh5rZXlQZXJpb2RUb3RhbEF2YWlsYWJsZVRvQ2xhaW0iHWtleVBlcmlvZFVzZXJBdmFpbGFibGVUb0NsYWltIhtrZXlVc2R0UHJpY2VBc3NldFN0YWJsZVBvb2wiDmtleVVzZHRBc3NldElkIhRrZXlQcmljZUFzc2V0QmFsYW5jZSIHYWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiD3JlYWRDb25maWdBcnJheSIjcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0QnlDdXN0b21LZXkiCWN1c3RvbUtleSIYcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0IhpyZWFkSW52ZXN0b3JBcnJheU9yRGVmYXVsdCIXcmVhZEludmVzdG9yQXJyYXlPckZhaWwiFUlkeERpZmZUb3RhbEluY3JlbWVudCIkSWR4RGlmZlJlbWFpbmluZ1ByaWNlQW1vdW50SW5jcmVtZW50IiJJZHhEaWZmQ2xhaW1lZFByaWNlQW1vdW50SW5jcmVtZW50IiVJZHhEaWZmQ2xhaW1lZElkb0Fzc2V0QW1vdW50SW5jcmVtZW50IgtUb3RhbHNFbnRyeSIJb3JpZ0FycmF5Ig1pbmNyZW1lbnREaWZmIhRuZXdMYXN0Q2xhaW1lZEhlaWdodCIObmV3VG90YWxBbW91bnQiEm5ld1JlbWFpbmluZ0Ftb3VudCIabmV3Q2xhaW1lZFByaWNlQXNzZXRBbW91bnQiGG5ld0NsYWltZWRJZG9Bc3NldEFtb3VudCIbSW52ZXN0T3BlcmF0aW9uSGlzdG9yeUVudHJ5IgR0eElkIhpDbGFpbU9wZXJhdGlvbkhpc3RvcnlFbnRyeSINaW50ZXJuYWxDbGFpbSIQY2xhaW1lZEFzc2V0SWQ1OCIIY2ZnQXJyYXkiCGNsYWltRW5kIgppZG9Bc3NldElkIgxwcmljZUFzc2V0SWQiDXVzZXJBZGRyZXNzNTgiD29yaWdJbnZlc3RBcnJheSIRaW52ZXN0VG90YWxBbW91bnQiGmludmVzdExhc3RDbGFpbWVkSGVpZ2h0VE1QIhdpbnZlc3RMYXN0Q2xhaW1lZEhlaWdodCIUbmV3Q2xhaW1QZXJpb2RIZWlnaHQiDmNsYWltaW5nQmxvY2tzIhhjbGFpbWluZ1ByaWNlQXNzZXRBbW91bnQiFmNsYWltaW5nSWRvQXNzZXRBbW91bnQiBmlzVVNETiITaXNVU0ROQ2xhaW1EaXNhYmxlZCIGY2hlY2tzIg9pbnRlcm5hbENsYWltVjIiCW91dEFtb3VudCIZdG90YWxVc2VyQXZhaWxhYmxlVG9DbGFpbSIedG90YWxQZXJpb2RQcmljZUFzc2V0QWxsb3dhbmNlIh11c2VyUGVyaW9kUHJpY2VBc3NldEFsbG93YW5jZSIMcGVyaW9kTGVuZ3RoIg1jdXJyZW50UGVyaW9kIht6ZXJvUGVyaW9kRW5kSGVpZ2hJc0RlZmluZWQiDSR0MDExODM1MTM3MTQiFWxhc3RQZXJpb2RTdGFydEhlaWdodCITbGFzdFBlcmlvZEVuZEhlaWdodCINJHQwMTIxMDMxMjgwOSIUdXBkYXRlZEN1cnJlbnRQZXJpb2QiC3BlcmlvZFN0YXJ0IhdibG9ja3NUb0xhc3RQZXJpb2RTdGFydCIJcGVyaW9kRW5kIhV6ZXJvUGVyaW9kU3RhcnRIZWlnaHQiE3plcm9QZXJpb2RFbmRIZWlnaHQiDSR0MDEzMDY0MTM0NDYiG3BlcmlvZFRvdGFsQXZhaWxhYmxlVG9DbGFpbSIacGVyaW9kVXNlckF2YWlsYWJsZVRvQ2xhaW0iEXByaWNlQXNzZXRCYWxhbmNlIhlwZXJpb2RNaW5BdmFpbGFibGVUb0NsYWltIhx1c2R0UHJpY2VBc3NldEFsbG93YWJsZVJhdGlvIhtwdXRPbmVUa25WMlByaWNlQXNzZXRBbW91bnQiDSR0MDE0NDY5MTQ3MjIiAUAiBWJvbnVzIglmZWVBbW91bnQiCGxwQW1vdW50Igt1c2R0QXNzZXRJZCINJHQwMTQ3ODQxNTAwMiIUZ2V0T25lVGtuVjJGZWVBbW91bnQiCnVzZHRBbW91bnQiGmN1cnJlbnRVc2R0UHJpY2VBc3NldFJhdGlvIhNlbmRQZXJpb2RCbG9ja3NMZWZ0IhZtYW5hZ2VyUHVibGljS2V5T3JVbml0IgckbWF0Y2gwIgFzIh1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCILbXVzdE1hbmFnZXIiAWkiAnBkIgJwayIGaWRvRW5kIgNwbXQiDGlkb0Fzc2V0SW5mbyIOcHJpY2VBc3NldEluZm8iD29yaWdUb3RhbHNBcnJheSIKdG90YWxzRGlmZiIObWluSXZlc3RBbW91bnQiCnBtdEFzc2V0SWQiCXBtdEFtb3VudCIRb3JpZ0ludmVzdG9yQXJyYXkiE25ld1ByaWNlVG90YWxBbW91bnQiFnJlcXVpcmVkSWRvQXNzZXRBbW91bnQiD2NhbGxlckFkZHJlc3M1OCIQY2xhaW1SZXN1bHRUdXBsZSIKb3V0QXNzZXRJZCIaY2xhaW1lZFByaWNlQW1vdW50RnJvbURpZmYiHWNsYWltZWRJZG9Bc3NldEFtb3VudEZyb21EaWZmIgdlbnRyaWVzIg0kdDAyMDY1ODIxMTAyIiJ1cGRhdGVkUGVyaW9kVG90YWxBdmFpbGFibGVUb0NsYWltIiF1cGRhdGVkUGVyaW9kVXNlckF2YWlsYWJsZVRvQ2xhaW0iGHVwZGF0ZWRQcmljZUFzc2V0QmFsYW5jZSIVYXZhaWxhYmxlVG9DbGFpbUFycmF5IhthdmFpbGFibGVQcmljZUFtb3VudFRvQ2xhaW0iGWF2YWlsYWJsZUlkb0Ftb3VudFRvQ2xhaW0iDSR0MDI3MzM1Mjc3NDciFmN1cnJlbnRQZXJpb2RFbmRIZWlnaHQiDHJlc3VsdFN0cmluZyIMcGVyaW9kTGVu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", "chainId": 84, "height": 2300608, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HfgW1eUAcygZBBWAFJ7YDE5gu44KCN8qU1NQB7AVn8US Next: HN7B3HuHn2T2PzXVLi4FJhMY2Qi5VWZWTKZAjFh2MBRq Diff:
OldNewDifferences
232232 let bB = if ((height > bA))
233233 then {
234234 let bC = (bw + 1)
235- let bD = (height - ((height - bA) % bv))
236- let bE = ((bD + bv) - 1)
237- $Tuple3(bC, bD, bE)
235+ let bD = if ((height > (bA + bv)))
236+ then {
237+ let bE = ((height - bA) % bv)
238+ if ((bE == 0))
239+ then ((height - bv) + 1)
240+ else (height - bE)
241+ }
242+ else (bA + 1)
243+ let bF = ((bD + bv) - 1)
244+ $Tuple3(bC, bD, bF)
238245 }
239246 else $Tuple3(bw, bz, bA)
240247 let bC = bB._1
241248 let bD = bB._2
242- let bE = bB._3
243- $Tuple3(bC, bD, bE)
249+ let bF = bB._3
250+ $Tuple3(bC, bD, bF)
244251 }
245252 else if (bx)
246253 then {
247- let bF = value(getInteger(ao(0)))
248- let bG = value(getInteger(aq(0)))
249- let bH = if ((height > bG))
254+ let bG = value(getInteger(ao(0)))
255+ let bH = value(getInteger(aq(0)))
256+ let bI = if ((height > bH))
250257 then {
251258 let bC = (bw + 1)
252- let bD = (bG + 1)
253- let bE = ((bD + bv) - 1)
254- $Tuple3(bC, bD, bE)
259+ let bD = (bH + 1)
260+ let bF = ((bD + bv) - 1)
261+ $Tuple3(bC, bD, bF)
255262 }
256- else $Tuple3(bw, bF, bG)
257- let bC = bH._1
258- let bD = bH._2
259- let bE = bH._3
260- $Tuple3(bC, bD, bE)
263+ else $Tuple3(bw, bG, bH)
264+ let bC = bI._1
265+ let bD = bI._2
266+ let bF = bI._3
267+ $Tuple3(bC, bD, bF)
261268 }
262269 else $Tuple3(bw, valueOrElse(getInteger(ao(bw)), height), valueOrElse(getInteger(aq(bw)), ((height + bv) - 1)))
263270 let bC = by._1
264271 let bD = by._2
265- let bE = by._3
266- let bI = valueOrElse(getInteger(av(K, bC)), bt)
267- let bJ = valueOrElse(getInteger(aw(K, bC, be)), bu)
268- let bK = valueOrElse(getInteger(az(be)), 0)
269- let bL = min([(br + bK), bI, bJ])
270- let bM = value(getInteger(ar()))
271- let bN = e
272- let bO = {
273- let bP = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bN, K], nil)
274- if ($isInstanceOf(bP, "(Int, Int, Int)"))
275- then bP
272+ let bF = by._3
273+ let bJ = valueOrElse(getInteger(av(K, bC)), bt)
274+ let bK = valueOrElse(getInteger(aw(K, bC, be)), bu)
275+ let bL = valueOrElse(getInteger(az(be)), 0)
276+ let bM = min([(br + bL), bJ, bK])
277+ let bN = value(getInteger(ar()))
278+ let bO = e
279+ let bP = {
280+ let bQ = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bO, K], nil)
281+ if ($isInstanceOf(bQ, "(Int, Int, Int)"))
282+ then bQ
276283 else throw("Couldn't cast Any to (Int, Int, Int)")
277284 }
278- if ((bO == bO))
285+ if ((bP == bP))
279286 then {
280- let bQ = bO._3
281- let bR = bO._2
282- let bS = bO._1
283- let bT = value(getString(ay()))
284- let bU = {
285- let bP = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bT, bS], nil)
286- if ($isInstanceOf(bP, "(Int, Int)"))
287- then bP
287+ let bR = bP._3
288+ let bS = bP._2
289+ let bT = bP._1
290+ let bU = value(getString(ay()))
291+ let bV = {
292+ let bQ = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bU, bT], nil)
293+ if ($isInstanceOf(bQ, "(Int, Int)"))
294+ then bQ
288295 else throw("Couldn't cast Any to (Int, Int)")
289296 }
290- if ((bU == bU))
297+ if ((bV == bV))
291298 then {
292- let bV = bU._2
293- let bW = bU._1
294- let bX = fraction(bW, bN, e)
295- let bY = (bE - height)
296- $Tuple10(bL, bI, bJ, bs, bM, bX, bY, bC, bD, bE)
299+ let bW = bV._2
300+ let bX = bV._1
301+ let bY = fraction(bX, bO, e)
302+ let bZ = (bF - height)
303+ $Tuple10(bM, bJ, bK, bs, bN, bY, bZ, bC, bD, bF)
297304 }
298305 else throw("Strict value is not equal to itself.")
299306 }
301308 }
302309
303310
304-func bZ () = {
305- let ca = getString(aB())
306- if ($isInstanceOf(ca, "String"))
311+func ca () = {
312+ let cb = getString(aB())
313+ if ($isInstanceOf(cb, "String"))
307314 then {
308- let cb = ca
309- fromBase58String(cb)
315+ let cc = cb
316+ fromBase58String(cc)
310317 }
311- else if ($isInstanceOf(ca, "Unit"))
318+ else if ($isInstanceOf(cb, "Unit"))
312319 then unit
313320 else throw("Match error")
314321 }
315322
316323
317-func cc () = {
318- let ca = getString(aC())
319- if ($isInstanceOf(ca, "String"))
324+func cd () = {
325+ let cb = getString(aC())
326+ if ($isInstanceOf(cb, "String"))
320327 then {
321- let cb = ca
322- fromBase58String(cb)
328+ let cc = cb
329+ fromBase58String(cc)
323330 }
324- else if ($isInstanceOf(ca, "Unit"))
331+ else if ($isInstanceOf(cb, "Unit"))
325332 then unit
326333 else throw("Match error")
327334 }
328335
329336
330-func cd (ce) = {
331- let cf = throw("Permission denied")
332- let ca = bZ()
333- if ($isInstanceOf(ca, "ByteVector"))
337+func ce (cf) = {
338+ let cg = throw("Permission denied")
339+ let cb = ca()
340+ if ($isInstanceOf(cb, "ByteVector"))
334341 then {
335- let cg = ca
336- if ((ce.callerPublicKey == cg))
342+ let ch = cb
343+ if ((cf.callerPublicKey == ch))
337344 then true
338- else cf
345+ else cg
339346 }
340- else if ($isInstanceOf(ca, "Unit"))
341- then if ((ce.caller == this))
347+ else if ($isInstanceOf(cb, "Unit"))
348+ then if ((cf.caller == this))
342349 then true
343- else cf
350+ else cg
344351 else throw("Match error")
345352 }
346353
347354
348-@Callable(ce)
355+@Callable(cf)
349356 func constructor (D,E,F,G,k,K,M) = {
350357 let H = ((100 * 1000) * 1000)
351- let ch = (D + E)
358+ let ci = (D + E)
352359 if (isDefined(getString(ad())))
353360 then throw("already initialized")
354- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(ce.caller)))
361+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cf.caller)))
355362 then throw("not authorized")
356- else if ((size(ce.payments) != 1))
363+ else if ((size(cf.payments) != 1))
357364 then throw("exactly 1 payment must be attached")
358- else if ((ch >= F))
365+ else if ((ci >= F))
359366 then throw("claimStart must be greater than idoEnd")
360367 else {
361- let ci = value(ce.payments[0])
362- let bc = value(ci.assetId)
363- let cj = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
368+ let cj = value(cf.payments[0])
369+ let bc = value(cj.assetId)
370+ let ck = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
364371 let I = toBase58String(bc)
365- let J = pow(10, 0, cj.decimals, 0, 0, DOWN)
372+ let J = pow(10, 0, ck.decimals, 0, 0, DOWN)
366373 let bd = fromBase58String(K)
367- let ck = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
368- let L = pow(10, 0, ck.decimals, 0, 0, DOWN)
369- let cl = aG()
370- let cm = [0, 0, 0, 0]
371-[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, ci.amount)), aN(ag(), cl, cm, F)]
374+ let cl = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
375+ let L = pow(10, 0, cl.decimals, 0, 0, DOWN)
376+ let cm = aG()
377+ let cn = [0, 0, 0, 0]
378+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cj.amount)), aN(ag(), cm, cn, F)]
372379 }
373380 }
374381
375382
376383
377-@Callable(ce)
384+@Callable(cf)
378385 func invest () = {
379386 let ba = aD()
380387 let D = parseIntValue(ba[r])
381388 let E = parseIntValue(ba[s])
382- let ch = (D + E)
389+ let ci = (D + E)
383390 let F = parseIntValue(ba[t])
384391 let G = parseIntValue(ba[u])
385392 let k = parseIntValue(ba[v])
390397 let K = ba[z]
391398 let bd = fromBase58String(K)
392399 let L = parseIntValue(ba[A])
393- let cn = parseIntValue(ba[B])
394- let af = toString(ce.caller)
400+ let co = parseIntValue(ba[B])
401+ let af = toString(cf.caller)
395402 if ((D > height))
396403 then throw("ido has not been started yet")
397- else if ((height > ch))
404+ else if ((height > ci))
398405 then throw("ido has been already ended")
399- else if ((size(ce.payments) != 1))
406+ else if ((size(cf.payments) != 1))
400407 then throw("exactly 1 payment is expected")
401408 else {
402- let ci = value(ce.payments[0])
403- let co = value(ci.assetId)
404- let cp = ci.amount
405- if ((co != bd))
406- then throw((("invalid payment asset id: " + toBase58String(co)) + " is expected"))
409+ let cj = value(cf.payments[0])
410+ let cp = value(cj.assetId)
411+ let cq = cj.amount
412+ if ((cp != bd))
413+ then throw((("invalid payment asset id: " + toBase58String(cp)) + " is expected"))
407414 else {
408- let cq = aH(af)
409- let cl = aG()
410- let cr = (parseIntValue(cl[P]) + cp)
411- let cs = (cr * 100)
412- if ((cs > assetBalance(this, bc)))
415+ let cr = aH(af)
416+ let cm = aG()
417+ let cs = (parseIntValue(cm[P]) + cq)
418+ let ct = (cs * 100)
419+ if ((ct > assetBalance(this, bc)))
413420 then throw("IDO asset has been - sold consider to use smaller payment")
414421 else {
415- let cm = [cp, cp, 0, 0]
416-[aN(ae(af), cq, cm, F), aN(ag(), cl, cm, F), aV(af, cp, 0, ce.transactionId)]
422+ let cn = [cq, cq, 0, 0]
423+[aN(ae(af), cr, cn, F), aN(ag(), cm, cn, F), aV(af, cq, 0, cf.transactionId)]
417424 }
418425 }
419426 }
421428
422429
423430
424-@Callable(ce)
431+@Callable(cf)
425432 func claim (aZ,be) = {
426- let ct = toString(ce.caller)
427- if ((be != ct))
433+ let cu = toString(cf.caller)
434+ if ((be != cu))
428435 then throw("not authorized")
429436 else {
430437 let ba = aD()
431438 let K = ba[z]
432- let cu = aY(aZ, ce.caller, ce.transactionId)
433- let cm = cu._1
434- let br = cu._2
435- let cv = cu._3
436- let bf = cu._4
437- let bj = cu._5
438- let cw = cm[aL]
439- let cx = cm[aM]
440- let cy = if ((aZ == K))
439+ let cv = aY(aZ, cf.caller, cf.transactionId)
440+ let cn = cv._1
441+ let br = cv._2
442+ let cw = cv._3
443+ let bf = cv._4
444+ let bj = cv._5
445+ let cx = cn[aL]
446+ let cy = cn[aM]
447+ let cz = if ((aZ == K))
441448 then {
442- let cz = bq(K, be, br, cm[aL])
443- let bL = cz._1
444- let bI = cz._2
445- let bJ = cz._3
446- let bs = cz._4
447- let bM = cz._5
448- let bX = cz._6
449- let bY = cz._7
450- let bC = cz._8
451- let bD = cz._9
452- let bE = cz._10
453- let bp = [if ((bL > 0))
449+ let cA = bq(K, be, br, cn[aL])
450+ let bM = cA._1
451+ let bJ = cA._2
452+ let bK = cA._3
453+ let bs = cA._4
454+ let bN = cA._5
455+ let bY = cA._6
456+ let bZ = cA._7
457+ let bC = cA._8
458+ let bD = cA._9
459+ let bF = cA._10
460+ let bp = [if ((bM > 0))
454461 then true
455- else f(makeString(["nothing to claim", toString(bL), toString(bI), toString(bJ), toString(bs), toString(bM), toString(bX), toString(bY), toString(bC), toString(bD), toString(bE)], c)), if ((bJ > 0))
462+ else f(makeString(["nothing to claim", toString(bM), toString(bJ), toString(bK), toString(bs), toString(bN), toString(bY), toString(bZ), toString(bC), toString(bD), toString(bF)], c)), if ((bK > 0))
456463 then true
457- else f("unavailable to claim because user period allowance reached"), if ((bI > 0))
464+ else f("unavailable to claim because user period allowance reached"), if ((bJ > 0))
458465 then true
459- else f("unavailable to claim because total period allowance reached"), if ((bM > bX))
466+ else f("unavailable to claim because total period allowance reached"), if ((bN > bY))
460467 then true
461468 else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
462469 if ((bp == bp))
463470 then {
464- let bK = valueOrElse(getInteger(az(be)), 0)
465- let cA = (bI - bL)
466- let cB = (bJ - bL)
467- let cy = if ((bK >= bL))
468- then [ScriptTransfer(ce.caller, bL, cv), IntegerEntry(az(be), (bK - bL))]
471+ let bL = valueOrElse(getInteger(az(be)), 0)
472+ let cB = (bJ - bM)
473+ let cC = (bK - bM)
474+ let cz = if ((bL >= bM))
475+ then [ScriptTransfer(cf.caller, bM, cw), IntegerEntry(az(be), (bL - bM))]
469476 else {
470- let cC = ((bK + br) - bL)
471-[ScriptTransfer(ce.caller, bL, cv), aN(ae(be), bf, cm, bj), aN(ag(), aG(), cm, bj), IntegerEntry(az(be), cC)]
477+ let cD = ((bL + br) - bM)
478+[ScriptTransfer(cf.caller, bM, cw), aN(ae(be), bf, cn, bj), aN(ag(), aG(), cn, bj), IntegerEntry(az(be), cD)]
472479 }
473- $Tuple2(([IntegerEntry(an(), bC), IntegerEntry(ao(bC), bD), IntegerEntry(aq(bC), bE), IntegerEntry(av(K, bC), cA), IntegerEntry(aw(K, bC, be), cB), aX(be, bL, cx, ce.transactionId)] ++ cy), unit)
480+ $Tuple2(([IntegerEntry(an(), bC), IntegerEntry(ao(bC), bD), IntegerEntry(aq(bC), bF), IntegerEntry(av(K, bC), cB), IntegerEntry(aw(K, bC, be), cC), aX(be, bM, cy, cf.transactionId)] ++ cz), unit)
474481 }
475482 else throw("Strict value is not equal to itself.")
476483 }
477- else $Tuple2([ScriptTransfer(ce.caller, br, cv), aN(ae(be), bf, cm, bj), aN(ag(), aG(), cm, bj), aX(be, cw, cx, ce.transactionId)], unit)
478- cy
484+ else $Tuple2([ScriptTransfer(cf.caller, br, cw), aN(ae(be), bf, cn, bj), aN(ag(), aG(), cn, bj), aX(be, cx, cy, cf.transactionId)], unit)
485+ cz
479486 }
480487 }
481488
482489
483490
484-@Callable(ce)
491+@Callable(cf)
485492 func claimREADONLY (aZ,be) = {
486- let cu = aY(aZ, addressFromStringValue(be), fromBase58String(""))
487- let cm = cu._1
488- let br = cu._2
489- let cv = cu._3
490- let bf = cu._4
491- let bj = cu._5
492- let cD = cu._6
493- let cE = cD[0]
494- let cF = cD[1]
495- $Tuple2(nil, makeString(["%s%d%d", be, toString(cE), toString(cF)], c))
493+ let cv = aY(aZ, addressFromStringValue(be), fromBase58String(""))
494+ let cn = cv._1
495+ let br = cv._2
496+ let cw = cv._3
497+ let bf = cv._4
498+ let bj = cv._5
499+ let cE = cv._6
500+ let cF = cE[0]
501+ let cG = cE[1]
502+ $Tuple2(nil, makeString(["%s%d%d", be, toString(cF), toString(cG)], c))
496503 }
497504
498505
499506
500-@Callable(ce)
507+@Callable(cf)
501508 func claimV2READONLY (aZ,be) = {
502- let cu = aY(aZ, addressFromStringValue(be), fromBase58String(""))
503- let cm = cu._1
504- let br = cu._2
505- let cv = cu._3
506- let bf = cu._4
507- let bj = cu._5
508- let cD = cu._6
509- let cE = cD[0]
510- let cF = cD[1]
509+ let cv = aY(aZ, addressFromStringValue(be), fromBase58String(""))
510+ let cn = cv._1
511+ let br = cv._2
512+ let cw = cv._3
513+ let bf = cv._4
514+ let bj = cv._5
515+ let cE = cv._6
516+ let cF = cE[0]
517+ let cG = cE[1]
511518 let ba = aD()
512519 let K = ba[z]
513- let cG = bq(K, be, br, cm[aL])
514- let bL = cG._1
515- let bI = cG._2
516- let bJ = cG._3
517- let bs = cG._4
518- let bM = cG._5
519- let bX = cG._6
520- let bY = cG._7
521- let bC = cG._8
522- let bD = cG._9
523- let bE = cG._10
524- let cH = value(getInteger(aq(bC)))
525- let cI = if ((height > cH))
520+ let cH = bq(K, be, br, cn[aL])
521+ let bM = cH._1
522+ let bJ = cH._2
523+ let bK = cH._3
524+ let bs = cH._4
525+ let bN = cH._5
526+ let bY = cH._6
527+ let bZ = cH._7
528+ let bC = cH._8
529+ let bD = cH._9
530+ let bF = cH._10
531+ let cI = value(getInteger(aq(bC)))
532+ let cJ = if ((height > cI))
526533 then {
527- let cJ = value(getInteger(am()))
528- let cK = value(getInteger(au(K)))
529- let cL = value(getInteger(as(K)))
530- makeString(["%d%d%d%d%d%d", toString(cF), toString(cK), toString(cL), toString(bM), toString(bX), toString(cJ)], c)
534+ let cK = value(getInteger(am()))
535+ let cL = value(getInteger(au(K)))
536+ let cM = value(getInteger(as(K)))
537+ makeString(["%d%d%d%d%d%d", toString(cG), toString(cL), toString(cM), toString(bN), toString(bY), toString(cK)], c)
531538 }
532- else makeString(["%d%d%d%d%d%d", toString(cF), toString(bL), toString(bI), toString(bM), toString(bX), toString(bY)], c)
533- $Tuple2(nil, cI)
539+ else makeString(["%d%d%d%d%d%d", toString(cG), toString(bM), toString(bJ), toString(bN), toString(bY), toString(bZ)], c)
540+ $Tuple2(nil, cJ)
534541 }
535542
536543
537544
538-@Callable(ce)
539-func setManager (cM) = {
540- let cN = cd(ce)
541- if ((cN == cN))
545+@Callable(cf)
546+func setManager (cN) = {
547+ let cO = ce(cf)
548+ if ((cO == cO))
542549 then {
543- let cO = fromBase58String(cM)
544- if ((cO == cO))
545- then [StringEntry(aC(), cM)]
550+ let cP = fromBase58String(cN)
551+ if ((cP == cP))
552+ then [StringEntry(aC(), cN)]
546553 else throw("Strict value is not equal to itself.")
547554 }
548555 else throw("Strict value is not equal to itself.")
550557
551558
552559
553-@Callable(ce)
560+@Callable(cf)
554561 func confirmManager () = {
555- let cP = cc()
556- let cQ = if (isDefined(cP))
562+ let cQ = cd()
563+ let cR = if (isDefined(cQ))
557564 then true
558565 else throw("No pending manager")
559- if ((cQ == cQ))
566+ if ((cR == cR))
560567 then {
561- let cR = if ((ce.callerPublicKey == value(cP)))
568+ let cS = if ((cf.callerPublicKey == value(cQ)))
562569 then true
563570 else throw("You are not pending manager")
564- if ((cR == cR))
565- then [StringEntry(aB(), toBase58String(value(cP))), DeleteEntry(aC())]
571+ if ((cS == cS))
572+ then [StringEntry(aB(), toBase58String(value(cQ))), DeleteEntry(aC())]
566573 else throw("Strict value is not equal to itself.")
567574 }
568575 else throw("Strict value is not equal to itself.")
569576 }
570577
571578
572-@Verifier(cS)
573-func cT () = {
574- let cU = {
575- let ca = bZ()
576- if ($isInstanceOf(ca, "ByteVector"))
579+@Verifier(cT)
580+func cU () = {
581+ let cV = {
582+ let cb = ca()
583+ if ($isInstanceOf(cb, "ByteVector"))
577584 then {
578- let cg = ca
579- cg
585+ let ch = cb
586+ ch
580587 }
581- else if ($isInstanceOf(ca, "Unit"))
582- then cS.senderPublicKey
588+ else if ($isInstanceOf(cb, "Unit"))
589+ then cT.senderPublicKey
583590 else throw("Match error")
584591 }
585- sigVerify(cS.bodyBytes, cS.proofs[0], cU)
592+ sigVerify(cT.bodyBytes, cT.proofs[0], cV)
586593 }
587594
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 = [if (!(if (bn)
208208 then bo
209209 else false))
210210 then true
211211 else throw("USDN claim is disabled")]
212212 if ((bp == bp))
213213 then if ((aZ == K))
214214 then $Tuple6([0, -(bl), bl, 0], bl, bd, bf, bj, [bl, bm])
215215 else if ((aZ == I))
216216 then $Tuple6([0, -(bl), 0, bm], bm, bc, bf, bj, [bl, bm])
217217 else throw(("unsupported assetId: " + aZ))
218218 else throw("Strict value is not equal to itself.")
219219 }
220220
221221
222222 func bq (K,be,br,bs) = {
223223 let bt = value(getInteger(as(K)))
224224 let bu = value(getInteger(au(K)))
225225 let bv = value(getInteger(am()))
226226 let bw = valueOrElse(getInteger(an()), 0)
227227 let bx = isDefined(getInteger(aq(0)))
228228 let by = if ((bw > 0))
229229 then {
230230 let bz = value(getInteger(ao((bw - 1))))
231231 let bA = value(getInteger(aq((bw - 1))))
232232 let bB = if ((height > bA))
233233 then {
234234 let bC = (bw + 1)
235- let bD = (height - ((height - bA) % bv))
236- let bE = ((bD + bv) - 1)
237- $Tuple3(bC, bD, bE)
235+ let bD = if ((height > (bA + bv)))
236+ then {
237+ let bE = ((height - bA) % bv)
238+ if ((bE == 0))
239+ then ((height - bv) + 1)
240+ else (height - bE)
241+ }
242+ else (bA + 1)
243+ let bF = ((bD + bv) - 1)
244+ $Tuple3(bC, bD, bF)
238245 }
239246 else $Tuple3(bw, bz, bA)
240247 let bC = bB._1
241248 let bD = bB._2
242- let bE = bB._3
243- $Tuple3(bC, bD, bE)
249+ let bF = bB._3
250+ $Tuple3(bC, bD, bF)
244251 }
245252 else if (bx)
246253 then {
247- let bF = value(getInteger(ao(0)))
248- let bG = value(getInteger(aq(0)))
249- let bH = if ((height > bG))
254+ let bG = value(getInteger(ao(0)))
255+ let bH = value(getInteger(aq(0)))
256+ let bI = if ((height > bH))
250257 then {
251258 let bC = (bw + 1)
252- let bD = (bG + 1)
253- let bE = ((bD + bv) - 1)
254- $Tuple3(bC, bD, bE)
259+ let bD = (bH + 1)
260+ let bF = ((bD + bv) - 1)
261+ $Tuple3(bC, bD, bF)
255262 }
256- else $Tuple3(bw, bF, bG)
257- let bC = bH._1
258- let bD = bH._2
259- let bE = bH._3
260- $Tuple3(bC, bD, bE)
263+ else $Tuple3(bw, bG, bH)
264+ let bC = bI._1
265+ let bD = bI._2
266+ let bF = bI._3
267+ $Tuple3(bC, bD, bF)
261268 }
262269 else $Tuple3(bw, valueOrElse(getInteger(ao(bw)), height), valueOrElse(getInteger(aq(bw)), ((height + bv) - 1)))
263270 let bC = by._1
264271 let bD = by._2
265- let bE = by._3
266- let bI = valueOrElse(getInteger(av(K, bC)), bt)
267- let bJ = valueOrElse(getInteger(aw(K, bC, be)), bu)
268- let bK = valueOrElse(getInteger(az(be)), 0)
269- let bL = min([(br + bK), bI, bJ])
270- let bM = value(getInteger(ar()))
271- let bN = e
272- let bO = {
273- let bP = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bN, K], nil)
274- if ($isInstanceOf(bP, "(Int, Int, Int)"))
275- then bP
272+ let bF = by._3
273+ let bJ = valueOrElse(getInteger(av(K, bC)), bt)
274+ let bK = valueOrElse(getInteger(aw(K, bC, be)), bu)
275+ let bL = valueOrElse(getInteger(az(be)), 0)
276+ let bM = min([(br + bL), bJ, bK])
277+ let bN = value(getInteger(ar()))
278+ let bO = e
279+ let bP = {
280+ let bQ = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bO, K], nil)
281+ if ($isInstanceOf(bQ, "(Int, Int, Int)"))
282+ then bQ
276283 else throw("Couldn't cast Any to (Int, Int, Int)")
277284 }
278- if ((bO == bO))
285+ if ((bP == bP))
279286 then {
280- let bQ = bO._3
281- let bR = bO._2
282- let bS = bO._1
283- let bT = value(getString(ay()))
284- let bU = {
285- let bP = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bT, bS], nil)
286- if ($isInstanceOf(bP, "(Int, Int)"))
287- then bP
287+ let bR = bP._3
288+ let bS = bP._2
289+ let bT = bP._1
290+ let bU = value(getString(ay()))
291+ let bV = {
292+ let bQ = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bU, bT], nil)
293+ if ($isInstanceOf(bQ, "(Int, Int)"))
294+ then bQ
288295 else throw("Couldn't cast Any to (Int, Int)")
289296 }
290- if ((bU == bU))
297+ if ((bV == bV))
291298 then {
292- let bV = bU._2
293- let bW = bU._1
294- let bX = fraction(bW, bN, e)
295- let bY = (bE - height)
296- $Tuple10(bL, bI, bJ, bs, bM, bX, bY, bC, bD, bE)
299+ let bW = bV._2
300+ let bX = bV._1
301+ let bY = fraction(bX, bO, e)
302+ let bZ = (bF - height)
303+ $Tuple10(bM, bJ, bK, bs, bN, bY, bZ, bC, bD, bF)
297304 }
298305 else throw("Strict value is not equal to itself.")
299306 }
300307 else throw("Strict value is not equal to itself.")
301308 }
302309
303310
304-func bZ () = {
305- let ca = getString(aB())
306- if ($isInstanceOf(ca, "String"))
311+func ca () = {
312+ let cb = getString(aB())
313+ if ($isInstanceOf(cb, "String"))
307314 then {
308- let cb = ca
309- fromBase58String(cb)
315+ let cc = cb
316+ fromBase58String(cc)
310317 }
311- else if ($isInstanceOf(ca, "Unit"))
318+ else if ($isInstanceOf(cb, "Unit"))
312319 then unit
313320 else throw("Match error")
314321 }
315322
316323
317-func cc () = {
318- let ca = getString(aC())
319- if ($isInstanceOf(ca, "String"))
324+func cd () = {
325+ let cb = getString(aC())
326+ if ($isInstanceOf(cb, "String"))
320327 then {
321- let cb = ca
322- fromBase58String(cb)
328+ let cc = cb
329+ fromBase58String(cc)
323330 }
324- else if ($isInstanceOf(ca, "Unit"))
331+ else if ($isInstanceOf(cb, "Unit"))
325332 then unit
326333 else throw("Match error")
327334 }
328335
329336
330-func cd (ce) = {
331- let cf = throw("Permission denied")
332- let ca = bZ()
333- if ($isInstanceOf(ca, "ByteVector"))
337+func ce (cf) = {
338+ let cg = throw("Permission denied")
339+ let cb = ca()
340+ if ($isInstanceOf(cb, "ByteVector"))
334341 then {
335- let cg = ca
336- if ((ce.callerPublicKey == cg))
342+ let ch = cb
343+ if ((cf.callerPublicKey == ch))
337344 then true
338- else cf
345+ else cg
339346 }
340- else if ($isInstanceOf(ca, "Unit"))
341- then if ((ce.caller == this))
347+ else if ($isInstanceOf(cb, "Unit"))
348+ then if ((cf.caller == this))
342349 then true
343- else cf
350+ else cg
344351 else throw("Match error")
345352 }
346353
347354
348-@Callable(ce)
355+@Callable(cf)
349356 func constructor (D,E,F,G,k,K,M) = {
350357 let H = ((100 * 1000) * 1000)
351- let ch = (D + E)
358+ let ci = (D + E)
352359 if (isDefined(getString(ad())))
353360 then throw("already initialized")
354- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(ce.caller)))
361+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cf.caller)))
355362 then throw("not authorized")
356- else if ((size(ce.payments) != 1))
363+ else if ((size(cf.payments) != 1))
357364 then throw("exactly 1 payment must be attached")
358- else if ((ch >= F))
365+ else if ((ci >= F))
359366 then throw("claimStart must be greater than idoEnd")
360367 else {
361- let ci = value(ce.payments[0])
362- let bc = value(ci.assetId)
363- let cj = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
368+ let cj = value(cf.payments[0])
369+ let bc = value(cj.assetId)
370+ let ck = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
364371 let I = toBase58String(bc)
365- let J = pow(10, 0, cj.decimals, 0, 0, DOWN)
372+ let J = pow(10, 0, ck.decimals, 0, 0, DOWN)
366373 let bd = fromBase58String(K)
367- let ck = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
368- let L = pow(10, 0, ck.decimals, 0, 0, DOWN)
369- let cl = aG()
370- let cm = [0, 0, 0, 0]
371-[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, ci.amount)), aN(ag(), cl, cm, F)]
374+ let cl = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
375+ let L = pow(10, 0, cl.decimals, 0, 0, DOWN)
376+ let cm = aG()
377+ let cn = [0, 0, 0, 0]
378+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cj.amount)), aN(ag(), cm, cn, F)]
372379 }
373380 }
374381
375382
376383
377-@Callable(ce)
384+@Callable(cf)
378385 func invest () = {
379386 let ba = aD()
380387 let D = parseIntValue(ba[r])
381388 let E = parseIntValue(ba[s])
382- let ch = (D + E)
389+ let ci = (D + E)
383390 let F = parseIntValue(ba[t])
384391 let G = parseIntValue(ba[u])
385392 let k = parseIntValue(ba[v])
386393 let H = parseIntValue(ba[w])
387394 let I = ba[x]
388395 let bc = fromBase58String(I)
389396 let J = parseIntValue(ba[y])
390397 let K = ba[z]
391398 let bd = fromBase58String(K)
392399 let L = parseIntValue(ba[A])
393- let cn = parseIntValue(ba[B])
394- let af = toString(ce.caller)
400+ let co = parseIntValue(ba[B])
401+ let af = toString(cf.caller)
395402 if ((D > height))
396403 then throw("ido has not been started yet")
397- else if ((height > ch))
404+ else if ((height > ci))
398405 then throw("ido has been already ended")
399- else if ((size(ce.payments) != 1))
406+ else if ((size(cf.payments) != 1))
400407 then throw("exactly 1 payment is expected")
401408 else {
402- let ci = value(ce.payments[0])
403- let co = value(ci.assetId)
404- let cp = ci.amount
405- if ((co != bd))
406- then throw((("invalid payment asset id: " + toBase58String(co)) + " is expected"))
409+ let cj = value(cf.payments[0])
410+ let cp = value(cj.assetId)
411+ let cq = cj.amount
412+ if ((cp != bd))
413+ then throw((("invalid payment asset id: " + toBase58String(cp)) + " is expected"))
407414 else {
408- let cq = aH(af)
409- let cl = aG()
410- let cr = (parseIntValue(cl[P]) + cp)
411- let cs = (cr * 100)
412- if ((cs > assetBalance(this, bc)))
415+ let cr = aH(af)
416+ let cm = aG()
417+ let cs = (parseIntValue(cm[P]) + cq)
418+ let ct = (cs * 100)
419+ if ((ct > assetBalance(this, bc)))
413420 then throw("IDO asset has been - sold consider to use smaller payment")
414421 else {
415- let cm = [cp, cp, 0, 0]
416-[aN(ae(af), cq, cm, F), aN(ag(), cl, cm, F), aV(af, cp, 0, ce.transactionId)]
422+ let cn = [cq, cq, 0, 0]
423+[aN(ae(af), cr, cn, F), aN(ag(), cm, cn, F), aV(af, cq, 0, cf.transactionId)]
417424 }
418425 }
419426 }
420427 }
421428
422429
423430
424-@Callable(ce)
431+@Callable(cf)
425432 func claim (aZ,be) = {
426- let ct = toString(ce.caller)
427- if ((be != ct))
433+ let cu = toString(cf.caller)
434+ if ((be != cu))
428435 then throw("not authorized")
429436 else {
430437 let ba = aD()
431438 let K = ba[z]
432- let cu = aY(aZ, ce.caller, ce.transactionId)
433- let cm = cu._1
434- let br = cu._2
435- let cv = cu._3
436- let bf = cu._4
437- let bj = cu._5
438- let cw = cm[aL]
439- let cx = cm[aM]
440- let cy = if ((aZ == K))
439+ let cv = aY(aZ, cf.caller, cf.transactionId)
440+ let cn = cv._1
441+ let br = cv._2
442+ let cw = cv._3
443+ let bf = cv._4
444+ let bj = cv._5
445+ let cx = cn[aL]
446+ let cy = cn[aM]
447+ let cz = if ((aZ == K))
441448 then {
442- let cz = bq(K, be, br, cm[aL])
443- let bL = cz._1
444- let bI = cz._2
445- let bJ = cz._3
446- let bs = cz._4
447- let bM = cz._5
448- let bX = cz._6
449- let bY = cz._7
450- let bC = cz._8
451- let bD = cz._9
452- let bE = cz._10
453- let bp = [if ((bL > 0))
449+ let cA = bq(K, be, br, cn[aL])
450+ let bM = cA._1
451+ let bJ = cA._2
452+ let bK = cA._3
453+ let bs = cA._4
454+ let bN = cA._5
455+ let bY = cA._6
456+ let bZ = cA._7
457+ let bC = cA._8
458+ let bD = cA._9
459+ let bF = cA._10
460+ let bp = [if ((bM > 0))
454461 then true
455- else f(makeString(["nothing to claim", toString(bL), toString(bI), toString(bJ), toString(bs), toString(bM), toString(bX), toString(bY), toString(bC), toString(bD), toString(bE)], c)), if ((bJ > 0))
462+ else f(makeString(["nothing to claim", toString(bM), toString(bJ), toString(bK), toString(bs), toString(bN), toString(bY), toString(bZ), toString(bC), toString(bD), toString(bF)], c)), if ((bK > 0))
456463 then true
457- else f("unavailable to claim because user period allowance reached"), if ((bI > 0))
464+ else f("unavailable to claim because user period allowance reached"), if ((bJ > 0))
458465 then true
459- else f("unavailable to claim because total period allowance reached"), if ((bM > bX))
466+ else f("unavailable to claim because total period allowance reached"), if ((bN > bY))
460467 then true
461468 else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
462469 if ((bp == bp))
463470 then {
464- let bK = valueOrElse(getInteger(az(be)), 0)
465- let cA = (bI - bL)
466- let cB = (bJ - bL)
467- let cy = if ((bK >= bL))
468- then [ScriptTransfer(ce.caller, bL, cv), IntegerEntry(az(be), (bK - bL))]
471+ let bL = valueOrElse(getInteger(az(be)), 0)
472+ let cB = (bJ - bM)
473+ let cC = (bK - bM)
474+ let cz = if ((bL >= bM))
475+ then [ScriptTransfer(cf.caller, bM, cw), IntegerEntry(az(be), (bL - bM))]
469476 else {
470- let cC = ((bK + br) - bL)
471-[ScriptTransfer(ce.caller, bL, cv), aN(ae(be), bf, cm, bj), aN(ag(), aG(), cm, bj), IntegerEntry(az(be), cC)]
477+ let cD = ((bL + br) - bM)
478+[ScriptTransfer(cf.caller, bM, cw), aN(ae(be), bf, cn, bj), aN(ag(), aG(), cn, bj), IntegerEntry(az(be), cD)]
472479 }
473- $Tuple2(([IntegerEntry(an(), bC), IntegerEntry(ao(bC), bD), IntegerEntry(aq(bC), bE), IntegerEntry(av(K, bC), cA), IntegerEntry(aw(K, bC, be), cB), aX(be, bL, cx, ce.transactionId)] ++ cy), unit)
480+ $Tuple2(([IntegerEntry(an(), bC), IntegerEntry(ao(bC), bD), IntegerEntry(aq(bC), bF), IntegerEntry(av(K, bC), cB), IntegerEntry(aw(K, bC, be), cC), aX(be, bM, cy, cf.transactionId)] ++ cz), unit)
474481 }
475482 else throw("Strict value is not equal to itself.")
476483 }
477- else $Tuple2([ScriptTransfer(ce.caller, br, cv), aN(ae(be), bf, cm, bj), aN(ag(), aG(), cm, bj), aX(be, cw, cx, ce.transactionId)], unit)
478- cy
484+ else $Tuple2([ScriptTransfer(cf.caller, br, cw), aN(ae(be), bf, cn, bj), aN(ag(), aG(), cn, bj), aX(be, cx, cy, cf.transactionId)], unit)
485+ cz
479486 }
480487 }
481488
482489
483490
484-@Callable(ce)
491+@Callable(cf)
485492 func claimREADONLY (aZ,be) = {
486- let cu = aY(aZ, addressFromStringValue(be), fromBase58String(""))
487- let cm = cu._1
488- let br = cu._2
489- let cv = cu._3
490- let bf = cu._4
491- let bj = cu._5
492- let cD = cu._6
493- let cE = cD[0]
494- let cF = cD[1]
495- $Tuple2(nil, makeString(["%s%d%d", be, toString(cE), toString(cF)], c))
493+ let cv = aY(aZ, addressFromStringValue(be), fromBase58String(""))
494+ let cn = cv._1
495+ let br = cv._2
496+ let cw = cv._3
497+ let bf = cv._4
498+ let bj = cv._5
499+ let cE = cv._6
500+ let cF = cE[0]
501+ let cG = cE[1]
502+ $Tuple2(nil, makeString(["%s%d%d", be, toString(cF), toString(cG)], c))
496503 }
497504
498505
499506
500-@Callable(ce)
507+@Callable(cf)
501508 func claimV2READONLY (aZ,be) = {
502- let cu = aY(aZ, addressFromStringValue(be), fromBase58String(""))
503- let cm = cu._1
504- let br = cu._2
505- let cv = cu._3
506- let bf = cu._4
507- let bj = cu._5
508- let cD = cu._6
509- let cE = cD[0]
510- let cF = cD[1]
509+ let cv = aY(aZ, addressFromStringValue(be), fromBase58String(""))
510+ let cn = cv._1
511+ let br = cv._2
512+ let cw = cv._3
513+ let bf = cv._4
514+ let bj = cv._5
515+ let cE = cv._6
516+ let cF = cE[0]
517+ let cG = cE[1]
511518 let ba = aD()
512519 let K = ba[z]
513- let cG = bq(K, be, br, cm[aL])
514- let bL = cG._1
515- let bI = cG._2
516- let bJ = cG._3
517- let bs = cG._4
518- let bM = cG._5
519- let bX = cG._6
520- let bY = cG._7
521- let bC = cG._8
522- let bD = cG._9
523- let bE = cG._10
524- let cH = value(getInteger(aq(bC)))
525- let cI = if ((height > cH))
520+ let cH = bq(K, be, br, cn[aL])
521+ let bM = cH._1
522+ let bJ = cH._2
523+ let bK = cH._3
524+ let bs = cH._4
525+ let bN = cH._5
526+ let bY = cH._6
527+ let bZ = cH._7
528+ let bC = cH._8
529+ let bD = cH._9
530+ let bF = cH._10
531+ let cI = value(getInteger(aq(bC)))
532+ let cJ = if ((height > cI))
526533 then {
527- let cJ = value(getInteger(am()))
528- let cK = value(getInteger(au(K)))
529- let cL = value(getInteger(as(K)))
530- makeString(["%d%d%d%d%d%d", toString(cF), toString(cK), toString(cL), toString(bM), toString(bX), toString(cJ)], c)
534+ let cK = value(getInteger(am()))
535+ let cL = value(getInteger(au(K)))
536+ let cM = value(getInteger(as(K)))
537+ makeString(["%d%d%d%d%d%d", toString(cG), toString(cL), toString(cM), toString(bN), toString(bY), toString(cK)], c)
531538 }
532- else makeString(["%d%d%d%d%d%d", toString(cF), toString(bL), toString(bI), toString(bM), toString(bX), toString(bY)], c)
533- $Tuple2(nil, cI)
539+ else makeString(["%d%d%d%d%d%d", toString(cG), toString(bM), toString(bJ), toString(bN), toString(bY), toString(bZ)], c)
540+ $Tuple2(nil, cJ)
534541 }
535542
536543
537544
538-@Callable(ce)
539-func setManager (cM) = {
540- let cN = cd(ce)
541- if ((cN == cN))
545+@Callable(cf)
546+func setManager (cN) = {
547+ let cO = ce(cf)
548+ if ((cO == cO))
542549 then {
543- let cO = fromBase58String(cM)
544- if ((cO == cO))
545- then [StringEntry(aC(), cM)]
550+ let cP = fromBase58String(cN)
551+ if ((cP == cP))
552+ then [StringEntry(aC(), cN)]
546553 else throw("Strict value is not equal to itself.")
547554 }
548555 else throw("Strict value is not equal to itself.")
549556 }
550557
551558
552559
553-@Callable(ce)
560+@Callable(cf)
554561 func confirmManager () = {
555- let cP = cc()
556- let cQ = if (isDefined(cP))
562+ let cQ = cd()
563+ let cR = if (isDefined(cQ))
557564 then true
558565 else throw("No pending manager")
559- if ((cQ == cQ))
566+ if ((cR == cR))
560567 then {
561- let cR = if ((ce.callerPublicKey == value(cP)))
568+ let cS = if ((cf.callerPublicKey == value(cQ)))
562569 then true
563570 else throw("You are not pending manager")
564- if ((cR == cR))
565- then [StringEntry(aB(), toBase58String(value(cP))), DeleteEntry(aC())]
571+ if ((cS == cS))
572+ then [StringEntry(aB(), toBase58String(value(cQ))), DeleteEntry(aC())]
566573 else throw("Strict value is not equal to itself.")
567574 }
568575 else throw("Strict value is not equal to itself.")
569576 }
570577
571578
572-@Verifier(cS)
573-func cT () = {
574- let cU = {
575- let ca = bZ()
576- if ($isInstanceOf(ca, "ByteVector"))
579+@Verifier(cT)
580+func cU () = {
581+ let cV = {
582+ let cb = ca()
583+ if ($isInstanceOf(cb, "ByteVector"))
577584 then {
578- let cg = ca
579- cg
585+ let ch = cb
586+ ch
580587 }
581- else if ($isInstanceOf(ca, "Unit"))
582- then cS.senderPublicKey
588+ else if ($isInstanceOf(cb, "Unit"))
589+ then cT.senderPublicKey
583590 else throw("Match error")
584591 }
585- sigVerify(cS.bodyBytes, cS.proofs[0], cU)
592+ sigVerify(cT.bodyBytes, cT.proofs[0], cV)
586593 }
587594

github/deemru/w8io/873ac7e 
161.29 ms