tx · CyHvLYoPxhHyxWrbNuhqSq12PW5Zhf6gd1xD3A6DeXkS

3PPR5G5x2HBG6hqQg2mvK9fRTsGJQi8UAD1:  -0.01000000 Waves

2021.12.29 16:27 [2920658] smart account 3PPR5G5x2HBG6hqQg2mvK9fRTsGJQi8UAD1 > SELF 0.00000000 Waves

{ "type": 13, "id": "CyHvLYoPxhHyxWrbNuhqSq12PW5Zhf6gd1xD3A6DeXkS", "fee": 1000000, "feeAssetId": null, "timestamp": 1640784544368, "version": 2, "chainId": 87, "sender": "3PPR5G5x2HBG6hqQg2mvK9fRTsGJQi8UAD1", "senderPublicKey": "EejcMPEyGdwcrp48aVtXVQ5Jn1qwc5u5SaMUMTpXAwS6", "proofs": [ "cGEhy84Qqwdi9RkoetFZzFWLeUboF7nnoGH9EHhUxusGna4CQsA2RHnCWXeBfgXzTqPQCQN9dLH81WWRWzCBjXw" ], "script": "base64:AAIFAAAAAAAAAAcIAhIDCgEIAAAABQAAAAAJc3RhcnRUaW1lAAAAAX3jksMQAAAAAAh5ZWFySW5NcwAAAAAHV7EsAAAAAAAFdXNlcjEJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVf8QQF4+R7wzWIYFQdQ0GBqvJvqkzxPuZoAAAAABXVzZXIyCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXjBf4RHndTKDDzzBlYAD2t4N7I2GltJY6AAAAAANzdW0AAAAACno1ggAAAAABAAAAAWkBAAAABWNsYWltAAAAAQAAAAdhc3NldElkAwMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAFdXNlcjEJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAFdXNlcjIHCQAAAgAAAAECAAAADk5vdCBhdXRob3JpemVkBAAAAAp0aW1lUGFzc2VkCQAAZQAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAAlzdGFydFRpbWUEAAAACnJld2FyZFBhcnQJAABrAAAAAwUAAAAKdGltZVBhc3NlZAUAAAADc3VtBQAAAAh5ZWFySW5NcwQAAAANcmV3YXJkQ2xhaW1lZAQAAAAHJG1hdGNoMAkABB8AAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhjbGFpbWVkXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAAAV8FAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABdAUAAAAHJG1hdGNoMAUAAAABdAAAAAAAAAAAAAQAAAAFdG9QYXkJAABlAAAAAgUAAAAKcmV3YXJkUGFydAUAAAANcmV3YXJkQ2xhaW1lZAMJAABnAAAAAgAAAAAAAAAAAAUAAAAFdG9QYXkJAAACAAAAAQIAAAAQTm90aGluZyB0byBjbGFpbQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIY2xhaW1lZF8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAAFfBQAAAAdhc3NldElkCQAAZAAAAAIFAAAADXJld2FyZENsYWltZWQFAAAABXRvUGF5CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAFdG9QYXkJAAJZAAAAAQUAAAAHYXNzZXRJZAUAAAADbmlsAAAAAOCifgw=", "height": 2920658, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let startTime = 1640200586000
5+
6+let yearInMs = 31536000000
7+
8+let user1 = Address(base58'3PQvgtGQTrm3LsVbFPSjpFLPiBS65TPTjiy')
9+
10+let user2 = Address(base58'3PEhe3Z2uV5WG6mRu3dVz3EH76eNc4gPC8R')
11+
12+let sum = 45000000000
13+
14+@Callable(i)
15+func claim (assetId) = if (if ((i.caller != user1))
16+ then (i.caller != user2)
17+ else false)
18+ then throw("Not authorized")
19+ else {
20+ let timePassed = (lastBlock.timestamp - startTime)
21+ let rewardPart = fraction(timePassed, sum, yearInMs)
22+ let rewardClaimed = match getInteger(((("claimed_" + toString(i.caller)) + "_") + assetId)) {
23+ case t: Int =>
24+ t
25+ case _ =>
26+ 0
27+ }
28+ let toPay = (rewardPart - rewardClaimed)
29+ if ((0 >= toPay))
30+ then throw("Nothing to claim")
31+ else [IntegerEntry(((("claimed_" + toString(i.caller)) + "_") + assetId), (rewardClaimed + toPay)), ScriptTransfer(i.caller, toPay, fromBase58String(assetId))]
32+ }
33+
34+

github/deemru/w8io/3ef1775 
24.93 ms