tx · EkJHuvHszWDZxN4TJ6DMjt3NUARoYpNzgLnJ7oFWkDJB

3N9eLqWNqb7jeF383m9qsXEBqpp8qfQmfbx:  -0.05000000 Waves

2022.06.07 02:22 [2085151] smart account 3N9eLqWNqb7jeF383m9qsXEBqpp8qfQmfbx > SELF 0.00000000 Waves

{ "type": 13, "id": "EkJHuvHszWDZxN4TJ6DMjt3NUARoYpNzgLnJ7oFWkDJB", "fee": 5000000, "feeAssetId": null, "timestamp": 1654557816095, "version": 2, "chainId": 84, "sender": "3N9eLqWNqb7jeF383m9qsXEBqpp8qfQmfbx", "senderPublicKey": "5cWdpE4X7mfNkLmxJ389ws6qGZof4fwydqMcqPexhJ7w", "proofs": [ "3yx9R32icRtPnuRcc9YNNzo11RCWqK47ePXyXGpJqeYA1BhfT173yonH9sGw5RAvqgGxFDvCjFw9v1TBWQ1ceU9w" ], "script": "base64:AAIFAAAAAAAAAEoIAhIHCgUICAgBARIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAkSAwoBCBIFCgMBCAESAwoBCAAAACMAAAAADGxvY2tpbmdTdG9yZQUAAAAEdGhpcwAAAAAMc3Rha2luZ1N0b3JlAgAAAAhfUmVzZXJ2ZQAAAAARbWluaW11bUxvY2tBbW91bnQCAAAADl9NaW5Mb2NrQW1vdW50AAAAABFtYXhpbXVtTG9ja0Ftb3VudAIAAAAOX01heExvY2tBbW91bnQAAAAACWFzc2V0TGlzdAUAAAADbmlsAAAAABF1bmxvY2tFbGlnaWJpbGl0eQIAAAAcX0VsaWdpYmxlX3RvX3VubG9ja19hdF9ibG9jawAAAAAMbG9ja2VkQW1vdW50AgAAAA5fQW1vdW50X2xvY2tlZAAAAAALbG9ja2VkQXNzZXQCAAAADV9Bc3NldF9sb2NrZWQAAAAABHVzZXICAAAABV9Vc2VyAAAAAApBUFlfQW1vdW50AgAAAAtfQVBZX2Ftb3VudAAAAAARdG90YWxMb2NrZWRBTW91bnQCAAAAFF9Ub3RhbF9Mb2NrZWRfQW1vdW50AAAAAA1sb2NraW5nUGVyaW9kAgAAAAxfRGF5c19sb2NrZWQAAAAACmVudHJ5SW5kZXgCAAAADF9FbnRyeV9JbmRleAAAAAAOYWxyZWFkeUNsYWltZWQCAAAAEF9BbHJlYWR5X0NsYWltZWQAAAAABWFkbWluAgAAAAZhZG1pbl8AAAAAC0Jsb2NrUGVyRGF5AAAAAAAAAAWgAAAAABR0aGlydHlEYXlzTG9ja1BlcmlvZAAAAAAAAAAAHgAAAAATc2l4dHlEYXlzTG9ja1BlcmlvZAAAAAAAAAAAPAAAAAAUbmluZXR5RGF5c0xvY2tQZXJpb2QAAAAAAAAAAFoBAAAABGdldEkAAAABAAAAA2tleQkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkBAAAABGdldFMAAAABAAAAA2tleQkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkBAAAABWdldElWAAAAAQAAAANrZXkJAQAAAAV2YWx1ZQAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AQAAAAVnZXRTVgAAAAEAAAADa2V5CQEAAAAFdmFsdWUAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQEAAAAHdGhyb3dJZgAAAAIAAAAJY29uZGl0aW9uAAAABWVycm9yAwUAAAAJY29uZGl0aW9uCQAAAgAAAAEFAAAABWVycm9yBgEAAAAOdGhyb3dPclJldHVybkkAAAACAAAAA3ZhbAAAAAVlcnJvcgQAAAAHJG1hdGNoMAUAAAADdmFsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA3ZhbAUAAAAHJG1hdGNoMAUAAAADdmFsCQAAAgAAAAEFAAAABWVycm9yAQAAAA50aHJvd09yUmV0dXJuUwAAAAIAAAADdmFsAAAABWVycm9yBAAAAAckbWF0Y2gwBQAAAAN2YWwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAADdmFsBQAAAAckbWF0Y2gwBQAAAAN2YWwJAAACAAAAAQUAAAAFZXJyb3IBAAAACHdyaXRlSW50AAAAAgAAAANrZXkAAAAFdmFsdWUDCQAAZgAAAAIAAAAAAAAAAAAFAAAABXZhbHVlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAF3dyaXRpbmcgbmVnYXRpdmUgdmFsdWUgCQABpAAAAAEFAAAABXZhbHVlAgAAAAkgZm9yIGtleSAFAAAAA2tleQkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAA2tleQUAAAAFdmFsdWUBAAAACHdyaXRlU3RyAAAAAgAAAANrZXkAAAAFdmFsdWUDCQAAAAAAAAICAAAAASAFAAAABXZhbHVlCQAAAgAAAAEJAAEsAAAAAgIAAAAYd3JpdGluZyBhbiBlbXB0eSBzdHJpbmcgBQAAAAV2YWx1ZQkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAADa2V5BQAAAAV2YWx1ZQEAAAAMZGF5c1RvQmxvY2tzAAAAAQAAAARkYXlzAwMDCQEAAAACIT0AAAACBQAAAARkYXlzBQAAABR0aGlydHlEYXlzTG9ja1BlcmlvZAYJAQAAAAIhPQAAAAIFAAAABGRheXMFAAAAE3NpeHR5RGF5c0xvY2tQZXJpb2QGCQEAAAACIT0AAAACBQAAAARkYXlzBQAAABRuaW5ldHlEYXlzTG9ja1BlcmlvZAkAAAIAAAABAgAAABNpbnZhbGlkIExvY2sgUGVyaW9kCQAAZAAAAAIJAABoAAAAAgkAAGQAAAACBQAAAARkYXlzAAAAAAAAAAABBQAAAAtCbG9ja1BlckRheQUAAAAGaGVpZ2h0AQAAAAxibG9ja3NUb0RheXMAAAABAAAACmJsb2Nrc0xlZnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAACmJsb2Nrc0xlZnQAAAAAAAAAAAAEAAAACm11bHRpcGxpZXIJAABsAAAABgAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHQ0VJTElORwQAAAAIZGF5c2xlZnQJAABrAAAAAwUAAAAKYmxvY2tzTGVmdAUAAAAKbXVsdGlwbGllcgUAAAALQmxvY2tQZXJEYXkFAAAACGRheXNsZWZ0AQAAABB3cml0ZUNvbnN0U3RyaW5nAAAAAgAAAANrZXkAAAAFdmFsdWUDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQEAAAAEZ2V0UwAAAAEFAAAAA2tleQkBAAAACHdyaXRlU3RyAAAAAgUAAAADa2V5BQAAAAV2YWx1ZQkAAAIAAAABCQABLAAAAAICAAAAFWFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUAAAADa2V5AQAAABF3cml0ZUNvbnN0SW50ZWdlcgAAAAIAAAADa2V5AAAABXZhbHVlAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkBAAAABGdldFMAAAABBQAAAANrZXkJAQAAAAh3cml0ZUludAAAAAIFAAAAA2tleQUAAAAFdmFsdWUJAAACAAAAAQkAASwAAAACAgAAABVhbHJlYWR5IGluaXRpYWxpemVkOiAFAAAAA2tleQEAAAAJYWRtaW5Pbmx5AAAAAQAAAAFpBAAAAAxpbnB1dEFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAKb3RoZXJBZG1pbgkAASwAAAACBQAAAAVhZG1pbgUAAAAMaW5wdXRBZGRyZXNzBAAAAAckbWF0Y2gwCQEAAAAEZ2V0UwAAAAEFAAAABWFkbWluAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDADCQEAAAACIT0AAAACBQAAAAxpbnB1dEFkZHJlc3MJAQAAAARnZXRTAAAAAQUAAAAFYWRtaW4JAAACAAAAAQIAAAAMdW5hdXRob3JpemVkBgQAAAAHJG1hdGNoMQkBAAAABGdldFMAAAABBQAAAApvdGhlckFkbWluAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRjaDEDCQEAAAACIT0AAAACBQAAAAxpbnB1dEFkZHJlc3MJAQAAAARnZXRTAAAAAQUAAAAKb3RoZXJBZG1pbgkAAAIAAAABAgAAAAx1bmF1dGhvcml6ZWQGCQAAAgAAAAECAAAAC3VuYXV0aG9yaXpkAQAAABB3cml0ZUNvbmZpZ1ZhbHVlAAAAAgAAAANrZXkAAAAEZGF0YQQAAAAHJG1hdGNoMAUAAAAEZGF0YQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAARkYXRhBQAAAAckbWF0Y2gwCQEAAAAQd3JpdGVDb25zdFN0cmluZwAAAAIFAAAAA2tleQUAAAAEZGF0YQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAARkYXRhBQAAAAckbWF0Y2gwCQEAAAARd3JpdGVDb25zdEludGVnZXIAAAACBQAAAANrZXkFAAAABGRhdGEJAAACAAAAAQIAAAAXdW5zdXBwb3J0ZWQgY29uZmlnIHR5cGUBAAAAE2luY3JlbWVudEVudHJ5SW5kZXgAAAABAAAAA2tleQQAAAAGdUluZGV4CQEAAAAEZ2V0SQAAAAEFAAAAA2tleQMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAZ1SW5kZXgJAABkAAAAAgkBAAAABXZhbHVlAAAAAQUAAAAGdUluZGV4AAAAAAAAAAABAAAAAAAAAAAAAAAADQAAAAFpAQAAAAhhZGRBc3NldAAAAAUAAAALQXNzZXRUaWNrZXIAAAAHQXNzZXRJRAAAAAxBc3NldFJlc2VydmUAAAAWQXNzZXRNaW5pbXVtTG9ja0Ftb3VudAAAABZBc3NldE1heGltdW1Mb2NrQW1vdW50BAAAAAVjaGVjawkBAAAACWFkbWluT25seQAAAAEFAAAAAWkDCQAAAAAAAAIFAAAABWNoZWNrBQAAAAVjaGVjawQAAAANYVN0YWtpbmdTdG9yZQkAASwAAAACBQAAAAtBc3NldFRpY2tlcgUAAAAMc3Rha2luZ1N0b3JlBAAAABJhTWluaW11bUxvY2tBbW91bnQJAAEsAAAAAgUAAAALQXNzZXRUaWNrZXIFAAAAEW1pbmltdW1Mb2NrQW1vdW50BAAAABJhTWF4aW11bUxvY2tBbW91bnQJAAEsAAAAAgUAAAALQXNzZXRUaWNrZXIFAAAAEW1heGltdW1Mb2NrQW1vdW50BAAAAAtjaGVja01pbk1heAMJAABmAAAAAgUAAAAWQXNzZXRNYXhpbXVtTG9ja0Ftb3VudAUAAAAWQXNzZXRNaW5pbXVtTG9ja0Ftb3VudAkABEwAAAACCQEAAAARd3JpdGVDb25zdEludGVnZXIAAAACBQAAABJhTWluaW11bUxvY2tBbW91bnQFAAAAFkFzc2V0TWluaW11bUxvY2tBbW91bnQJAARMAAAAAgkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgUAAAASYU1heGltdW1Mb2NrQW1vdW50BQAAABZBc3NldE1heGltdW1Mb2NrQW1vdW50BQAAAANuaWwJAARMAAAAAgkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgUAAAASYU1pbmltdW1Mb2NrQW1vdW50BQAAABZBc3NldE1heGltdW1Mb2NrQW1vdW50CQAETAAAAAIJAQAAABF3cml0ZUNvbnN0SW50ZWdlcgAAAAIFAAAAEmFNYXhpbXVtTG9ja0Ftb3VudAUAAAAWQXNzZXRNaW5pbXVtTG9ja0Ftb3VudAUAAAADbmlsCQAETgAAAAIJAARMAAAAAgkBAAAAEHdyaXRlQ29uc3RTdHJpbmcAAAACBQAAAAtBc3NldFRpY2tlcgUAAAAHQXNzZXRJRAkABEwAAAACCQEAAAAQd3JpdGVDb25zdFN0cmluZwAAAAIFAAAADWFTdGFraW5nU3RvcmUFAAAADEFzc2V0UmVzZXJ2ZQUAAAADbmlsBQAAAAtjaGVja01pbk1heAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAALZGVsZXRlQXNzZXQAAAABAAAAC0Fzc2V0VGlja2Vy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AgkAASwAAAACBQAAAAZ1c2VySWQFAAAADnVFbnRyeVRvU3RyaW5nBQAAAAxsb2NrZWRBbW91bnQEAAAABHVBUFkJAAEsAAAAAgkAASwAAAACBQAAAAZ1c2VySWQFAAAADnVFbnRyeVRvU3RyaW5nBQAAAApBUFlfQW1vdW50BAAAABJ1VW5sb2NrRWxpZ2liaWxpdHkJAAEsAAAAAgkAASwAAAACBQAAAAZ1c2VySWQFAAAADnVFbnRyeVRvU3RyaW5nBQAAABF1bmxvY2tFbGlnaWJpbGl0eQQAAAAPdUFscmVhZHlDbGFpbWVkCQABLAAAAAIJAAEsAAAAAgUAAAAGdXNlcklkBQAAAA51RW50cnlUb1N0cmluZwUAAAAOYWxyZWFkeUNsYWltZWQJAARMAAAAAgkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgUAAAALdUVudHJ5SW5kZXgFAAAAD3VJbmNyRW50cnlJbmRleAkABEwAAAACCQEAAAAQd3JpdGVDb25zdFN0cmluZwAAAAIFAAAAB3VVc2VySWQFAAAABnVzZXJJZAkABEwAAAACCQEAAAAQd3JpdGVDb25zdFN0cmluZwAAAAIFAAAABnVBc3NldAUAAAAFYXNzZXQJAARMAAAAAgkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgUAAAAOdUxvY2tpbmdQZXJpb2QFAAAACmxvY2tQZXJpb2QJAARMAAAAAgkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgUAAAANdUxvY2tlZEFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CQAETAAAAAIJAQAAABF3cml0ZUNvbnN0SW50ZWdlcgAAAAIFAAAADHVUb3RhbExvY2tlZAUAAAAJdVN1bVRvdGFsCQAETAAAAAIJAQAAABF3cml0ZUNvbnN0SW50ZWdlcgAAAAIFAAAAEnVVbmxvY2tFbGlnaWJpbGl0eQkBAAAADGRheXNUb0Jsb2NrcwAAAAEFAAAACkxvY2tQZXJpb2QJAARMAAAAAgkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgUAAAAEdUFQWQUAAAADQVBZCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAA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", "height": 2085151, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3A3xmSGGShVPZ2Pdht9eg7fUMa2HM5D9SjSReDGh4GJW Next: Bd839ZcCHih436jKW1vDbcxV6gEGFQZd2ng3EUv5hgCz Diff:
OldNewDifferences
315315
316316
317317 @Callable(R)
318-func getDaysLeftToClaim (ay) = {
318+func _getDaysLeftToClaim (ay) = {
319319 let az = Q(R)
320320 if ((az == az))
321321 then {
337337
338338 @Callable(R)
339339 func Lock (aF,ab,aG) = {
340- let aA = y((1 != size(R.payments)), "attach amount you want to lock")
341- if ((aA == aA))
340+ let aH = Q(R)
341+ if ((aH == aH))
342342 then {
343- let aH = toBase58String(value(R.payments[0].assetId))
344- let aI = y((v(ab) != aH), "asset not supported")
345- if ((aI == aI))
343+ let aA = y((1 != size(R.payments)), "attach amount you want to lock")
344+ if ((aA == aA))
346345 then {
347- let aJ = aF
348- let aK = toBase58String(R.caller.bytes)
349- let aL = R.payments[0].amount
350- let aM = B(t((ab + c)), "internal error: minimum stacking amount not specified")
351- let aN = B(t((ab + d)), "internal error: maximum staking amount not specified")
352- let aO = y(if ((aM > aL))
353- then true
354- else (aL > aN), "staking amount is out of range")
355- if ((aO == aO))
346+ let aI = toBase58String(value(R.payments[0].assetId))
347+ let aJ = y((v(ab) != aI), "asset not supported")
348+ if ((aJ == aJ))
356349 then {
357- let aP = (aK + k)
358- let aQ = if (!(isDefined(t(aP))))
359- then 0
360- else (aL + value(t(aP)))
361- let aR = y((aQ > aN), "you have maxed out your quota")
362- if ((aR == aR))
350+ let aK = aF
351+ let aL = toBase58String(R.caller.bytes)
352+ let aM = R.payments[0].amount
353+ let aN = B(t((ab + c)), "internal error: minimum stacking amount not specified")
354+ let aO = B(t((ab + d)), "internal error: maximum staking amount not specified")
355+ let aP = y(if ((aN > aM))
356+ then true
357+ else (aM > aO), "staking amount is out of range")
358+ if ((aP == aP))
363359 then {
364- let aB = ((aK + ab) + m)
365- let aS = Z(aB)
366- let aT = ((("_" + ab) + "_") + toString(aS))
367- let aU = ((aK + aT) + i)
368- let aV = ((aK + aT) + h)
369- let aW = ((aK + aT) + l)
370- let aX = ((aK + aT) + g)
371- let aY = ((aK + aT) + j)
372- let aC = ((aK + aT) + f)
373- let aZ = ((aK + aT) + n)
374-[P(aB, aS), O(aU, aK), O(aV, aH), P(aW, aJ), P(aX, R.payments[0].amount), P(aP, aQ), P(aC, I(aF)), P(aY, aG), BooleanEntry(aZ, false)]
360+ let aQ = (aL + k)
361+ let aR = if (!(isDefined(t(aQ))))
362+ then 0
363+ else (aM + value(t(aQ)))
364+ let aS = y((aR > aO), "you have maxed out your quota")
365+ if ((aS == aS))
366+ then {
367+ let aB = ((aL + ab) + m)
368+ let aT = Z(aB)
369+ let aU = ((("_" + ab) + "_") + toString(aT))
370+ let aV = ((aL + aU) + i)
371+ let aW = ((aL + aU) + h)
372+ let aX = ((aL + aU) + l)
373+ let aY = ((aL + aU) + g)
374+ let aZ = ((aL + aU) + j)
375+ let aC = ((aL + aU) + f)
376+ let ba = ((aL + aU) + n)
377+[P(aB, aT), O(aV, aL), O(aW, aI), P(aX, aK), P(aY, R.payments[0].amount), P(aQ, aR), P(aC, I(aF)), P(aZ, aG), BooleanEntry(ba, false)]
378+ }
379+ else throw("Strict value is not equal to itself.")
375380 }
376381 else throw("Strict value is not equal to itself.")
377382 }
386391
387392 @Callable(R)
388393 func Claim (ab) = {
389- let aK = toString(R.caller)
390- let aB = ((("_" + ab) + "_") + toString(B(t(((aK + ab) + m)), "no entry found for user")))
391- let ba = ((aK + aB) + n)
392- let az = y((valueOrErrorMessage(getBoolean(ba), "cannot ascertain claimability") == true), (("user + " + aK) + " already claimed"))
394+ let aL = toString(R.caller)
395+ let aB = ((("_" + ab) + "_") + toString(B(t(((aL + ab) + m)), "no entry found for user")))
396+ let bb = ((aL + aB) + n)
397+ let az = y((valueOrErrorMessage(getBoolean(bb), "cannot ascertain claimability") == true), (("user + " + aL) + " already claimed"))
393398 if ((az == az))
394399 then {
395- let aV = x(((aK + aB) + h))
396- let aX = w(((aK + aB) + g))
397- let bb = addressFromStringValue(E(v((ab + b)), "internal error: no reserve found"))
398- let bc = w(((aK + aB) + j))
399- let bd = w(((aK + aB) + f))
400- let L = if ((0 >= (bd - height)))
400+ let aW = x(((aL + aB) + h))
401+ let aY = w(((aL + aB) + g))
402+ let bc = addressFromStringValue(E(v((ab + b)), "internal error: no reserve found"))
403+ let bd = w(((aL + aB) + j))
404+ let be = w(((aL + aB) + f))
405+ let L = if ((0 >= (be - height)))
401406 then 0
402- else (bd - height)
403- let be = K(L)
404- let aA = y((bd > height), (toString(be) + "/1000 days left to claim"))
407+ else (be - height)
408+ let bf = K(L)
409+ let aA = y((be > height), (toString(bf) + "/1000 days left to claim"))
405410 if ((aA == aA))
406411 then {
407- let bf = invoke(bb, "transferInterest", [aK, bc, toBytes(aV)], nil)
408- if ((bf == bf))
409- then [ScriptTransfer(addressFromStringValue(aK), aX, toBytes(aV)), BooleanEntry(ba, true)]
412+ let bg = invoke(bc, "transferInterest", [aL, bd, toBytes(aW)], nil)
413+ if ((bg == bg))
414+ then [ScriptTransfer(addressFromStringValue(aL), aY, toBytes(aW)), BooleanEntry(bb, true)]
410415 else throw("Strict value is not equal to itself.")
411416 }
412417 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = this
55
66 let b = "_Reserve"
77
88 let c = "_MinLockAmount"
99
1010 let d = "_MaxLockAmount"
1111
1212 let e = nil
1313
1414 let f = "_Eligible_to_unlock_at_block"
1515
1616 let g = "_Amount_locked"
1717
1818 let h = "_Asset_locked"
1919
2020 let i = "_User"
2121
2222 let j = "_APY_amount"
2323
2424 let k = "_Total_Locked_Amount"
2525
2626 let l = "_Days_locked"
2727
2828 let m = "_Entry_Index"
2929
3030 let n = "_Already_Claimed"
3131
3232 let o = "admin_"
3333
3434 let p = 1440
3535
3636 let q = 30
3737
3838 let r = 60
3939
4040 let s = 90
4141
4242 func t (u) = getInteger(this, u)
4343
4444
4545 func v (u) = getString(this, u)
4646
4747
4848 func w (u) = value(getInteger(this, u))
4949
5050
5151 func x (u) = value(getString(this, u))
5252
5353
5454 func y (z,A) = if (z)
5555 then throw(A)
5656 else true
5757
5858
5959 func B (C,A) = {
6060 let D = C
6161 if ($isInstanceOf(D, "Int"))
6262 then {
6363 let C = D
6464 C
6565 }
6666 else throw(A)
6767 }
6868
6969
7070 func E (C,A) = {
7171 let D = C
7272 if ($isInstanceOf(D, "String"))
7373 then {
7474 let C = D
7575 C
7676 }
7777 else throw(A)
7878 }
7979
8080
8181 func F (u,G) = if ((0 > G))
8282 then throw(((("writing negative value " + toString(G)) + " for key ") + u))
8383 else IntegerEntry(u, G)
8484
8585
8686 func H (u,G) = if ((" " == G))
8787 then throw(("writing an empty string " + G))
8888 else StringEntry(u, G)
8989
9090
9191 func I (J) = if (if (if ((J != q))
9292 then true
9393 else (J != r))
9494 then true
9595 else (J != s))
9696 then throw("invalid Lock Period")
9797 else (((J + 1) * p) + height)
9898
9999
100100 func K (L) = if ((0 >= L))
101101 then 0
102102 else {
103103 let M = pow(10, 0, 3, 0, 0, CEILING)
104104 let N = fraction(L, M, p)
105105 N
106106 }
107107
108108
109109 func O (u,G) = if (!(isDefined(v(u))))
110110 then H(u, G)
111111 else throw(("already initialized: " + u))
112112
113113
114114 func P (u,G) = if (!(isDefined(v(u))))
115115 then F(u, G)
116116 else throw(("already initialized: " + u))
117117
118118
119119 func Q (R) = {
120120 let S = toBase58String(R.caller.bytes)
121121 let T = (o + S)
122122 let D = v(o)
123123 if ($isInstanceOf(D, "String"))
124124 then {
125125 let U = D
126126 if ((S != v(o)))
127127 then throw("unauthorized")
128128 else true
129129 }
130130 else {
131131 let V = v(T)
132132 if ($isInstanceOf(V, "String"))
133133 then {
134134 let W = V
135135 if ((S != v(T)))
136136 then throw("unauthorized")
137137 else true
138138 }
139139 else throw("unauthorizd")
140140 }
141141 }
142142
143143
144144 func X (u,Y) = {
145145 let D = Y
146146 if ($isInstanceOf(D, "String"))
147147 then {
148148 let Y = D
149149 O(u, Y)
150150 }
151151 else if ($isInstanceOf(D, "Int"))
152152 then {
153153 let Y = D
154154 P(u, Y)
155155 }
156156 else throw("unsupported config type")
157157 }
158158
159159
160160 func Z (u) = {
161161 let aa = t(u)
162162 if (isDefined(aa))
163163 then (value(aa) + 1)
164164 else 0
165165 }
166166
167167
168168 @Callable(R)
169169 func addAsset (ab,ac,ad,ae,af) = {
170170 let ag = Q(R)
171171 if ((ag == ag))
172172 then {
173173 let ah = (ab + b)
174174 let ai = (ab + c)
175175 let aj = (ab + d)
176176 let ak = if ((af > ae))
177177 then [P(ai, ae), P(aj, af)]
178178 else [P(ai, af), P(aj, ae)]
179179 ([O(ab, ac), O(ah, ad)] ++ ak)
180180 }
181181 else throw("Strict value is not equal to itself.")
182182 }
183183
184184
185185
186186 @Callable(R)
187187 func deleteAsset (ab) = {
188188 let ag = Q(R)
189189 if ((ag == ag))
190190 then {
191191 let al = E(v(ab), (("asset with ticker " + ab) + " not found"))
192192 if ((al == al))
193193 then [DeleteEntry(ab), DeleteEntry((ab + c)), DeleteEntry((ab + d)), DeleteEntry((ab + b))]
194194 else throw("Strict value is not equal to itself.")
195195 }
196196 else throw("Strict value is not equal to itself.")
197197 }
198198
199199
200200
201201 @Callable(R)
202202 func _getAssetIdByTicker (ab) = {
203203 let ag = Q(R)
204204 if ((ag == ag))
205205 then {
206206 let U = E(v(ab), "asset not found")
207207 $Tuple2(nil, U)
208208 }
209209 else throw("Strict value is not equal to itself.")
210210 }
211211
212212
213213
214214 @Callable(R)
215215 func init (am) = {
216216 let an = valueOrErrorMessage(addressFromString(am), "invalid address")
217217 [O(o, toString(an))]
218218 }
219219
220220
221221
222222 @Callable(R)
223223 func _deleteEntry (u) = {
224224 let ag = Q(R)
225225 if ((ag == ag))
226226 then [DeleteEntry(u)]
227227 else throw("Strict value is not equal to itself.")
228228 }
229229
230230
231231
232232 @Callable(R)
233233 func addAdmin (am) = {
234234 let ag = Q(R)
235235 if ((ag == ag))
236236 then {
237237 let an = valueOrErrorMessage(addressFromString(am), "invalid address")
238238 let ao = (o + toString(an))
239239 [O(ao, am)]
240240 }
241241 else throw("Strict value is not equal to itself.")
242242 }
243243
244244
245245
246246 @Callable(R)
247247 func changeMainAdmin (ap) = {
248248 let aq = Q(R)
249249 if ((aq == aq))
250250 then {
251251 let an = valueOrErrorMessage(addressFromString(ap), "invalid address")
252252 let ar = DeleteEntry(o)
253253 if ((ar == ar))
254254 then [O(o, toString(an))]
255255 else throw("Strict value is not equal to itself.")
256256 }
257257 else throw("Strict value is not equal to itself.")
258258 }
259259
260260
261261
262262 @Callable(R)
263263 func updateOtherAdminAddress (ap) = {
264264 let aq = Q(R)
265265 if ((aq == aq))
266266 then {
267267 let an = valueOrErrorMessage(addressFromString(ap), "invalid address")
268268 let as = toString(R.caller)
269269 let T = (o + as)
270270 let at = E(v(T), "no previous address found")
271271 if ((at == at))
272272 then {
273273 let au = DeleteEntry(T)
274274 if ((au == au))
275275 then [O(T, toString(an))]
276276 else throw("Strict value is not equal to itself.")
277277 }
278278 else throw("Strict value is not equal to itself.")
279279 }
280280 else throw("Strict value is not equal to itself.")
281281 }
282282
283283
284284
285285 @Callable(R)
286286 func removeOtherAdmin (av) = {
287287 let aq = Q(R)
288288 if ((aq == aq))
289289 then {
290290 let an = valueOrErrorMessage(addressFromString(av), "invalid address")
291291 let aw = (o + toString(an))
292292 let ax = DeleteEntry(aw)
293293 if ((ax == ax))
294294 then nil
295295 else throw("Strict value is not equal to itself.")
296296 }
297297 else throw("Strict value is not equal to itself.")
298298 }
299299
300300
301301
302302 @Callable(R)
303303 func updateConfigValue (u,Y) = {
304304 let aq = Q(R)
305305 if ((aq == aq))
306306 then {
307307 let ar = DeleteEntry(u)
308308 if ((ar == ar))
309309 then [X(u, Y)]
310310 else throw("Strict value is not equal to itself.")
311311 }
312312 else throw("Strict value is not equal to itself.")
313313 }
314314
315315
316316
317317 @Callable(R)
318-func getDaysLeftToClaim (ay) = {
318+func _getDaysLeftToClaim (ay) = {
319319 let az = Q(R)
320320 if ((az == az))
321321 then {
322322 let aA = valueOrErrorMessage(addressFromString(ay), "invalid address")
323323 if ((aA == aA))
324324 then {
325325 let aB = ("_" + toString(B(t((ay + m)), ("no entry found for " + ay))))
326326 let aC = ((ay + aB) + f)
327327 let aD = B(t(aC), "internal error")
328328 let aE = I((height - aD))
329329 $Tuple2(nil, aE)
330330 }
331331 else throw("Strict value is not equal to itself.")
332332 }
333333 else throw("Strict value is not equal to itself.")
334334 }
335335
336336
337337
338338 @Callable(R)
339339 func Lock (aF,ab,aG) = {
340- let aA = y((1 != size(R.payments)), "attach amount you want to lock")
341- if ((aA == aA))
340+ let aH = Q(R)
341+ if ((aH == aH))
342342 then {
343- let aH = toBase58String(value(R.payments[0].assetId))
344- let aI = y((v(ab) != aH), "asset not supported")
345- if ((aI == aI))
343+ let aA = y((1 != size(R.payments)), "attach amount you want to lock")
344+ if ((aA == aA))
346345 then {
347- let aJ = aF
348- let aK = toBase58String(R.caller.bytes)
349- let aL = R.payments[0].amount
350- let aM = B(t((ab + c)), "internal error: minimum stacking amount not specified")
351- let aN = B(t((ab + d)), "internal error: maximum staking amount not specified")
352- let aO = y(if ((aM > aL))
353- then true
354- else (aL > aN), "staking amount is out of range")
355- if ((aO == aO))
346+ let aI = toBase58String(value(R.payments[0].assetId))
347+ let aJ = y((v(ab) != aI), "asset not supported")
348+ if ((aJ == aJ))
356349 then {
357- let aP = (aK + k)
358- let aQ = if (!(isDefined(t(aP))))
359- then 0
360- else (aL + value(t(aP)))
361- let aR = y((aQ > aN), "you have maxed out your quota")
362- if ((aR == aR))
350+ let aK = aF
351+ let aL = toBase58String(R.caller.bytes)
352+ let aM = R.payments[0].amount
353+ let aN = B(t((ab + c)), "internal error: minimum stacking amount not specified")
354+ let aO = B(t((ab + d)), "internal error: maximum staking amount not specified")
355+ let aP = y(if ((aN > aM))
356+ then true
357+ else (aM > aO), "staking amount is out of range")
358+ if ((aP == aP))
363359 then {
364- let aB = ((aK + ab) + m)
365- let aS = Z(aB)
366- let aT = ((("_" + ab) + "_") + toString(aS))
367- let aU = ((aK + aT) + i)
368- let aV = ((aK + aT) + h)
369- let aW = ((aK + aT) + l)
370- let aX = ((aK + aT) + g)
371- let aY = ((aK + aT) + j)
372- let aC = ((aK + aT) + f)
373- let aZ = ((aK + aT) + n)
374-[P(aB, aS), O(aU, aK), O(aV, aH), P(aW, aJ), P(aX, R.payments[0].amount), P(aP, aQ), P(aC, I(aF)), P(aY, aG), BooleanEntry(aZ, false)]
360+ let aQ = (aL + k)
361+ let aR = if (!(isDefined(t(aQ))))
362+ then 0
363+ else (aM + value(t(aQ)))
364+ let aS = y((aR > aO), "you have maxed out your quota")
365+ if ((aS == aS))
366+ then {
367+ let aB = ((aL + ab) + m)
368+ let aT = Z(aB)
369+ let aU = ((("_" + ab) + "_") + toString(aT))
370+ let aV = ((aL + aU) + i)
371+ let aW = ((aL + aU) + h)
372+ let aX = ((aL + aU) + l)
373+ let aY = ((aL + aU) + g)
374+ let aZ = ((aL + aU) + j)
375+ let aC = ((aL + aU) + f)
376+ let ba = ((aL + aU) + n)
377+[P(aB, aT), O(aV, aL), O(aW, aI), P(aX, aK), P(aY, R.payments[0].amount), P(aQ, aR), P(aC, I(aF)), P(aZ, aG), BooleanEntry(ba, false)]
378+ }
379+ else throw("Strict value is not equal to itself.")
375380 }
376381 else throw("Strict value is not equal to itself.")
377382 }
378383 else throw("Strict value is not equal to itself.")
379384 }
380385 else throw("Strict value is not equal to itself.")
381386 }
382387 else throw("Strict value is not equal to itself.")
383388 }
384389
385390
386391
387392 @Callable(R)
388393 func Claim (ab) = {
389- let aK = toString(R.caller)
390- let aB = ((("_" + ab) + "_") + toString(B(t(((aK + ab) + m)), "no entry found for user")))
391- let ba = ((aK + aB) + n)
392- let az = y((valueOrErrorMessage(getBoolean(ba), "cannot ascertain claimability") == true), (("user + " + aK) + " already claimed"))
394+ let aL = toString(R.caller)
395+ let aB = ((("_" + ab) + "_") + toString(B(t(((aL + ab) + m)), "no entry found for user")))
396+ let bb = ((aL + aB) + n)
397+ let az = y((valueOrErrorMessage(getBoolean(bb), "cannot ascertain claimability") == true), (("user + " + aL) + " already claimed"))
393398 if ((az == az))
394399 then {
395- let aV = x(((aK + aB) + h))
396- let aX = w(((aK + aB) + g))
397- let bb = addressFromStringValue(E(v((ab + b)), "internal error: no reserve found"))
398- let bc = w(((aK + aB) + j))
399- let bd = w(((aK + aB) + f))
400- let L = if ((0 >= (bd - height)))
400+ let aW = x(((aL + aB) + h))
401+ let aY = w(((aL + aB) + g))
402+ let bc = addressFromStringValue(E(v((ab + b)), "internal error: no reserve found"))
403+ let bd = w(((aL + aB) + j))
404+ let be = w(((aL + aB) + f))
405+ let L = if ((0 >= (be - height)))
401406 then 0
402- else (bd - height)
403- let be = K(L)
404- let aA = y((bd > height), (toString(be) + "/1000 days left to claim"))
407+ else (be - height)
408+ let bf = K(L)
409+ let aA = y((be > height), (toString(bf) + "/1000 days left to claim"))
405410 if ((aA == aA))
406411 then {
407- let bf = invoke(bb, "transferInterest", [aK, bc, toBytes(aV)], nil)
408- if ((bf == bf))
409- then [ScriptTransfer(addressFromStringValue(aK), aX, toBytes(aV)), BooleanEntry(ba, true)]
412+ let bg = invoke(bc, "transferInterest", [aL, bd, toBytes(aW)], nil)
413+ if ((bg == bg))
414+ then [ScriptTransfer(addressFromStringValue(aL), aY, toBytes(aW)), BooleanEntry(bb, true)]
410415 else throw("Strict value is not equal to itself.")
411416 }
412417 else throw("Strict value is not equal to itself.")
413418 }
414419 else throw("Strict value is not equal to itself.")
415420 }
416421
417422

github/deemru/w8io/169f3d6 
68.92 ms