tx · CVBGaGSeZYTQyizRzVfrnjvQdmfvqtrE1mmNYTr6pBiz

3Mq52xokHu7f1rFPoqNi2DV9f9MYE65sWUg:  -0.00900000 Waves

2022.06.24 04:18 [2109815] smart account 3Mq52xokHu7f1rFPoqNi2DV9f9MYE65sWUg > SELF 0.00000000 Waves

{ "type": 13, "id": "CVBGaGSeZYTQyizRzVfrnjvQdmfvqtrE1mmNYTr6pBiz", "fee": 900000, "feeAssetId": null, "timestamp": 1656033589934, "version": 2, "chainId": 84, "sender": "3Mq52xokHu7f1rFPoqNi2DV9f9MYE65sWUg", "senderPublicKey": "Eijao3E296kNprNyPkgrJ1WQ6VGQNSeWypcFsd3NMSDs", "proofs": [ "4XWn9AXCP1ENfZoS2pENJGww6v76vY2PWGiUEeLtvHDFZjZh6FGNQHySwP2pje4Kn6Q7KPzdtBmzQ3FWp16AmL6g" ], "script": "base64:AAIFAAAAAAAAABQIAhIDCgEBEgQKAgEEEgMKAQQSAAAAAA4AAAAABG5hbWUCAAAACUJldGEgVEVBTQAAAAALc3Rha2VkUG93ZXIAAAAAAAAAAAEAAAAAB2RlY2ltYWwAAAAAAAX14QABAAAABmdldFN0cgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAABAAAABWNoZWNrAAAAAQAAAANwYmsEAAAABnBia19zdAkAAlgAAAABBQAAAANwYmsEAAAABnBvaW50cwkBAAAAEUBleHRyTmF0aXZlKDEwNTgpAAAAAQIAAAAGcG9pbnRzCQEAAAAIY29udGFpbnMAAAACBQAAAAZwb2ludHMFAAAABnBia19zdAAAAAAMc2hhcmVUb2tlbklkCQEAAAAGZ2V0U3RyAAAAAQIAAAAOU0hBUkVfQVNTRVRfSUQBAAAAD2dldFNoYXJlQXNzZXRJZAAAAAAJAAJZAAAAAQUAAAAMc2hhcmVUb2tlbklkAAAAAAhidWxsQmFuawEAAAAaAVSXsBX9bJDwiVFbKADxdptL+2W9cM7tGtsBAAAACGdldEVnZ0lkAAAAAAEAAAAgyCt7L16SGrt6l9NcZj9jbQBeAqbitMxcUEJpfpq5mScBAAAADXRyeUdldEludGVnZXIAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAEAAAAPa2V5U3Rha2VkQW1vdW50AAAAAQAAAAdhZGRyZXNzCQABLAAAAAIJAAQlAAAAAQUAAAAHYWRkcmVzcwIAAAAMX2Zhcm1fc3Rha2VkAQAAABRrZXlMYXN0Q2hlY2tJbnRlcmVzdAAAAAEAAAAHYWRkcmVzcwkAASwAAAACCQAEJQAAAAEFAAAAB2FkZHJlc3MCAAAAE19sYXN0Q2hlY2tfaW50ZXJlc3QBAAAADWtleUVnZ0NsYWltZWQAAAABAAAAB2FkZHJlc3MJAAEsAAAAAgkABCUAAAABBQAAAAdhZGRyZXNzAgAAAAhfY2xhaW1lZAEAAAASY2xhaW1TdGFraW5nUmVzdWx0AAAAAQAAAAdhZGRyZXNzBAAAAA9jdXJyZW50SW50ZXJlc3QFAAAABmhlaWdodAQAAAARbGFzdENoZWNrSW50ZXJlc3QJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAAFGtleUxhc3RDaGVja0ludGVyZXN0AAAAAQUAAAAHYWRkcmVzcwQAAAAMc3Rha2VkQW1vdW50CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAAA9rZXlTdGFrZWRBbW91bnQAAAABBQAAAAdhZGRyZXNzBAAAAAZyZXdhcmQDCQAAZgAAAAIFAAAAEWxhc3RDaGVja0ludGVyZXN0AAAAAAAAAAAACQAAaAAAAAIJAABrAAAAAwkAAGUAAAACBQAAAA9jdXJyZW50SW50ZXJlc3QFAAAAEWxhc3RDaGVja0ludGVyZXN0BQAAAAxzdGFrZWRBbW91bnQFAAAAB2RlY2ltYWwFAAAAC3N0YWtlZFBvd2VyAAAAAAAAAAAABAAAAAh0cmFuc2ZlcgMJAABmAAAAAgUAAAAGcmV3YXJkAAAAAAAAAAAACQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAB2FkZHJlc3MFAAAABnJld2FyZAkBAAAACGdldEVnZ0lkAAAAAAUAAAADbmlsBQAAAANuaWwJAAROAAAAAgUAAAAIdHJhbnNmZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABRrZXlMYXN0Q2hlY2tJbnRlcmVzdAAAAAEFAAAAB2FkZHJlc3MFAAAAD2N1cnJlbnRJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADWtleUVnZ0NsYWltZWQAAAABBQAAAAdhZGRyZXNzCQAAZAAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAADWtleUVnZ0NsYWltZWQAAAABBQAAAAdhZGRyZXNzBQAAAAZyZXdhcmQFAAAAA25pbAAAAAQAAAABaQEAAAAKaXNzdWVUb2tlbgAAAAEAAAAGYW1vdW50AwkBAAAABWNoZWNrAAAAAQgFAAAAAWkAAAAPY2Fs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", "height": 2109815, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Fi5GTKRZjhFbDkf3Y93fXQvPBBPzYaFdK8jGmm6Ho47G Next: 2hRYbSewHsCDQmDpBzki8CKMTnVExnGDQPn5YJDRQdfn Full:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let name = "Beta TEAM"
5+
6+let stakedPower = 1
7+
8+let decimal = 100000000
9+
10+func getStr (key) = match getString(this, key) {
11+ case b: String =>
12+ b
13+ case _ =>
14+ ""
15+}
16+
17+
18+func check (pbk) = {
19+ let pbk_st = toBase58String(pbk)
20+ let points = getStringValue("points")
21+ contains(points, pbk_st)
22+ }
23+
24+
25+let shareTokenId = getStr("SHARE_ASSET_ID")
26+
27+func getShareAssetId () = fromBase58String(shareTokenId)
28+
29+
30+let bullBank = base58'3N3k8kYqD1uZA9G5LxEPirYd2Ftpswpn9mC'
31+
32+func getEggId () = base58'EUNzgdPinhbvxEwRDxakAU7EB9QHupsUXYB8TTXdjnSS'
33+
34+
35+func tryGetInteger (key) = match getInteger(this, key) {
36+ case b: Int =>
37+ b
38+ case _ =>
39+ 0
40+}
41+
42+
43+func keyStakedAmount (address) = (toString(address) + "_farm_staked")
44+
45+
46+func keyLastCheckInterest (address) = (toString(address) + "_lastCheck_interest")
47+
48+
49+func keyEggClaimed (address) = (toString(address) + "_claimed")
50+
51+
52+func claimStakingResult (address) = {
53+ let currentInterest = height
54+ let lastCheckInterest = tryGetInteger(keyLastCheckInterest(address))
55+ let stakedAmount = tryGetInteger(keyStakedAmount(address))
56+ let reward = if ((lastCheckInterest > 0))
57+ then (fraction((currentInterest - lastCheckInterest), stakedAmount, decimal) * stakedPower)
58+ else 0
59+ let transfer = if ((reward > 0))
60+ then [ScriptTransfer(address, reward, getEggId())]
61+ else nil
62+ (transfer ++ [IntegerEntry(keyLastCheckInterest(address), currentInterest), IntegerEntry(keyEggClaimed(address), (tryGetInteger(keyEggClaimed(address)) + reward))])
63+ }
64+
65+
66+@Callable(i)
67+func issueToken (amount) = if (check(i.callerPublicKey))
68+ then if ((shareTokenId != ""))
69+ then [Reissue(fromBase58String(shareTokenId), amount, true), ScriptTransfer(i.caller, amount, getShareAssetId())]
70+ else {
71+ let shareToken = Issue(name, (("Team token for the " + name) + " collective farm"), amount, 8, true)
72+[shareToken, StringEntry("SHARE_ASSET_ID", toBase58String(calculateAssetId(shareToken)))]
73+ }
74+ else throw("Private Farm. Access prohibited!")
475
576
677
78+@Callable(i)
79+func withdrawFarmTokens (amount,compound) = if ((size(i.payments) > 0))
80+ then throw("Please don't add payments")
81+ else if (compound)
82+ then throw("No compound, please!")
83+ else {
84+ let addressStr = toString(i.caller)
85+ let stakedAmount = tryGetInteger(keyStakedAmount(i.caller))
86+ let wdAmount = if ((amount == -1))
87+ then stakedAmount
88+ else amount
89+ if ((wdAmount > stakedAmount))
90+ then throw("you don't have tokens available")
91+ else (claimStakingResult(i.caller) ++ [IntegerEntry(keyStakedAmount(i.caller), (stakedAmount - wdAmount)), ScriptTransfer(i.caller, wdAmount, getShareAssetId())])
92+ }
93+
94+
95+
96+@Callable(i)
97+func stakeFarmTokens (compound) = {
98+ let shareTokenIdBytes = getShareAssetId()
99+ if ((size(i.payments) > 1))
100+ then throw("To many payments added")
101+ else if ((i.payments[0].assetId != shareTokenIdBytes))
102+ then throw("Wrong assetId")
103+ else if (compound)
104+ then throw("No compound, please!")
105+ else {
106+ let amount = i.payments[0].amount
107+ let addressStr = toString(i.caller)
108+ if ((i.payments[0].assetId != shareTokenIdBytes))
109+ then throw("wrong asset attached")
110+ else (claimStakingResult(i.caller) ++ [IntegerEntry(keyStakedAmount(i.caller), (tryGetInteger(keyStakedAmount(i.caller)) + amount))])
111+ }
112+ }
113+
114+
115+
116+@Callable(i)
117+func claimReward () = if ((size(i.payments) > 0))
118+ then throw("Please don't add payments")
119+ else claimStakingResult(i.caller)
120+
121+
7122 @Verifier(tx)
8-func verify () = match tx {
9- case d: SetScriptTransaction =>
10- true
11- case d: DataTransaction =>
12- true
13- case t: TransferTransaction =>
14- true
15- case _ =>
16- false
17-}
123+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
18124

github/deemru/w8io/873ac7e 
20.80 ms