tx · AcK5HJWswsTpWYHMq5d46Cig46RDbqmbFnH4UBdGB4UH

3MwMNZ5PmZeVN8sDprmFuYbjJVeJVxMa46f:  -0.00900000 Waves

2022.06.24 01:39 [2109661] smart account 3MwMNZ5PmZeVN8sDprmFuYbjJVeJVxMa46f > SELF 0.00000000 Waves

{ "type": 13, "id": "AcK5HJWswsTpWYHMq5d46Cig46RDbqmbFnH4UBdGB4UH", "fee": 900000, "feeAssetId": null, "timestamp": 1656023943874, "version": 2, "chainId": 84, "sender": "3MwMNZ5PmZeVN8sDprmFuYbjJVeJVxMa46f", "senderPublicKey": "CpLxySPGoDGRVBSTXHBZr9PxDduQz4JU6GK9jSAdpXse", "proofs": [ "2N2vdiEUDbMPvQ4dZJZvhGH5stLSYC6PTThSw4pZVUxBsexyYK6u7Hf2p7RsRJZKTzcSXWZxJf5iEuoqwSxSpZ3G" ], "script": "base64:AAIFAAAAAAAAABQIAhIDCgEBEgQKAgEEEgMKAQQSAAAAAA0AAAAABG5hbWUCAAAACVpldGEgVEVBTQAAAAALc3Rha2VkUG93ZXIAAAAAAAAAAAoBAAAABmdldFN0cgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAABAAAABWNoZWNrAAAAAQAAAANwYmsEAAAABnBia19zdAkAAlgAAAABBQAAAANwYmsEAAAABnBvaW50cwkBAAAAEUBleHRyTmF0aXZlKDEwNTgpAAAAAQIAAAAGcG9pbnRzCQEAAAAIY29udGFpbnMAAAACBQAAAAZwb2ludHMFAAAABnBia19zdAAAAAAMc2hhcmVUb2tlbklkCQEAAAAGZ2V0U3RyAAAAAQIAAAAOU0hBUkVfQVNTRVRfSUQBAAAAD2dldFNoYXJlQXNzZXRJZAAAAAAJAAJZAAAAAQUAAAAMc2hhcmVUb2tlbklkAAAAAAhidWxsQmFuawEAAAAaAVSXsBX9bJDwiVFbKADxdptL+2W9cM7tGtsBAAAACGdldEVnZ0lkAAAAAAEAAAAgyCt7L16SGrt6l9NcZj9jbQBeAqbitMxcUEJpfpq5mScBAAAADXRyeUdldEludGVnZXIAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAEAAAAPa2V5U3Rha2VkQW1vdW50AAAAAQAAAAdhZGRyZXNzCQABLAAAAAIJAAQlAAAAAQUAAAAHYWRkcmVzcwIAAAAMX2Zhcm1fc3Rha2VkAQAAABRrZXlMYXN0Q2hlY2tJbnRlcmVzdAAAAAEAAAAHYWRkcmVzcwkAASwAAAACCQAEJQAAAAEFAAAAB2FkZHJlc3MCAAAAE19sYXN0Q2hlY2tfaW50ZXJlc3QBAAAADWtleUVnZ0NsYWltZWQAAAABAAAAB2FkZHJlc3MJAAEsAAAAAgkABCUAAAABBQAAAAdhZGRyZXNzAgAAAAhfY2xhaW1lZAEAAAASY2xhaW1TdGFraW5nUmVzdWx0AAAAAQAAAAdhZGRyZXNzBAAAAA9jdXJyZW50SW50ZXJlc3QFAAAABmhlaWdodAQAAAARbGFzdENoZWNrSW50ZXJlc3QJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAAFGtleUxhc3RDaGVja0ludGVyZXN0AAAAAQUAAAAHYWRkcmVzcwQAAAAMc3Rha2VkQW1vdW50CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAAA9rZXlTdGFrZWRBbW91bnQAAAABBQAAAAdhZGRyZXNzBAAAAAZyZXdhcmQDCQAAZgAAAAIFAAAAEWxhc3RDaGVja0ludGVyZXN0AAAAAAAAAAAACQAAaAAAAAIJAABoAAAAAgkAAGUAAAACBQAAAA9jdXJyZW50SW50ZXJlc3QFAAAAEWxhc3RDaGVja0ludGVyZXN0BQAAAAxzdGFrZWRBbW91bnQFAAAAC3N0YWtlZFBvd2VyAAAAAAAAAAAABAAAAAh0cmFuc2ZlcgMJAABmAAAAAgUAAAAGcmV3YXJkAAAAAAAAAAAACQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAB2FkZHJlc3MFAAAABnJld2FyZAkBAAAACGdldEVnZ0lkAAAAAAUAAAADbmlsBQAAAANuaWwJAAROAAAAAgUAAAAIdHJhbnNmZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABRrZXlMYXN0Q2hlY2tJbnRlcmVzdAAAAAEFAAAAB2FkZHJlc3MFAAAAD2N1cnJlbnRJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADWtleUVnZ0NsYWltZWQAAAABBQAAAAdhZGRyZXNzCQAAZAAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAADWtleUVnZ0NsYWltZWQAAAABBQAAAAdhZGRyZXNzBQAAAAZyZXdhcmQFAAAAA25pbAAAAAQAAAABaQEAAAAKaXNzdWVUb2tlbgAAAAEAAAAGYW1vdW50AwkBAAAABWNoZWNrAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AwkBAAAAAiE9AAAAAgUAAAAMc2hh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", "height": 2109661, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CfvePCJxRBZt8WiXiTx83E6vBFyQSoMj8yigJa2JaWY2 Next: 9bZcZVVfKBo6cmyveBfVFu7iDNdMvDwd6QMSe4SRtRrt Diff:
OldNewDifferences
6464 @Callable(i)
6565 func issueToken (amount) = if (check(i.callerPublicKey))
6666 then if ((shareTokenId != ""))
67- then [Reissue(fromBase58String(shareTokenId), amount, true)]
67+ then [Reissue(fromBase58String(shareTokenId), amount, true), ScriptTransfer(i.caller, amount, getShareAssetId())]
6868 else {
6969 let shareToken = Issue(name, (("Team token for the " + name) + " collective farm"), amount, 8, true)
7070 [shareToken, StringEntry("SHARE_ASSET_ID", toBase58String(calculateAssetId(shareToken)))]
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let name = "Zeta TEAM"
55
66 let stakedPower = 10
77
88 func getStr (key) = match getString(this, key) {
99 case b: String =>
1010 b
1111 case _ =>
1212 ""
1313 }
1414
1515
1616 func check (pbk) = {
1717 let pbk_st = toBase58String(pbk)
1818 let points = getStringValue("points")
1919 contains(points, pbk_st)
2020 }
2121
2222
2323 let shareTokenId = getStr("SHARE_ASSET_ID")
2424
2525 func getShareAssetId () = fromBase58String(shareTokenId)
2626
2727
2828 let bullBank = base58'3N3k8kYqD1uZA9G5LxEPirYd2Ftpswpn9mC'
2929
3030 func getEggId () = base58'EUNzgdPinhbvxEwRDxakAU7EB9QHupsUXYB8TTXdjnSS'
3131
3232
3333 func tryGetInteger (key) = match getInteger(this, key) {
3434 case b: Int =>
3535 b
3636 case _ =>
3737 0
3838 }
3939
4040
4141 func keyStakedAmount (address) = (toString(address) + "_farm_staked")
4242
4343
4444 func keyLastCheckInterest (address) = (toString(address) + "_lastCheck_interest")
4545
4646
4747 func keyEggClaimed (address) = (toString(address) + "_claimed")
4848
4949
5050 func claimStakingResult (address) = {
5151 let currentInterest = height
5252 let lastCheckInterest = tryGetInteger(keyLastCheckInterest(address))
5353 let stakedAmount = tryGetInteger(keyStakedAmount(address))
5454 let reward = if ((lastCheckInterest > 0))
5555 then (((currentInterest - lastCheckInterest) * stakedAmount) * stakedPower)
5656 else 0
5757 let transfer = if ((reward > 0))
5858 then [ScriptTransfer(address, reward, getEggId())]
5959 else nil
6060 (transfer ++ [IntegerEntry(keyLastCheckInterest(address), currentInterest), IntegerEntry(keyEggClaimed(address), (tryGetInteger(keyEggClaimed(address)) + reward))])
6161 }
6262
6363
6464 @Callable(i)
6565 func issueToken (amount) = if (check(i.callerPublicKey))
6666 then if ((shareTokenId != ""))
67- then [Reissue(fromBase58String(shareTokenId), amount, true)]
67+ then [Reissue(fromBase58String(shareTokenId), amount, true), ScriptTransfer(i.caller, amount, getShareAssetId())]
6868 else {
6969 let shareToken = Issue(name, (("Team token for the " + name) + " collective farm"), amount, 8, true)
7070 [shareToken, StringEntry("SHARE_ASSET_ID", toBase58String(calculateAssetId(shareToken)))]
7171 }
7272 else throw("Private Farm. Access prohibited!")
7373
7474
7575
7676 @Callable(i)
7777 func withdrawFarmTokens (amount,compound) = if ((size(i.payments) > 0))
7878 then throw("Please don't add payments")
7979 else if (compound)
8080 then throw("No compound, please!")
8181 else {
8282 let addressStr = toString(i.caller)
8383 let stakedAmount = tryGetInteger(keyStakedAmount(i.caller))
8484 let wdAmount = if ((amount == -1))
8585 then stakedAmount
8686 else amount
8787 if ((wdAmount > stakedAmount))
8888 then throw("you don't have tokens available")
8989 else (claimStakingResult(i.caller) ++ [IntegerEntry(keyStakedAmount(i.caller), (stakedAmount - wdAmount)), ScriptTransfer(i.caller, wdAmount, getShareAssetId())])
9090 }
9191
9292
9393
9494 @Callable(i)
9595 func stakeFarmTokens (compound) = {
9696 let shareTokenIdBytes = getShareAssetId()
9797 if ((size(i.payments) > 1))
9898 then throw("To many payments added")
9999 else if ((i.payments[0].assetId != shareTokenIdBytes))
100100 then throw("Wrong assetId")
101101 else if (compound)
102102 then throw("No compound, please!")
103103 else {
104104 let amount = i.payments[0].amount
105105 let addressStr = toString(i.caller)
106106 if ((i.payments[0].assetId != shareTokenIdBytes))
107107 then throw("wrong asset attached")
108108 else (claimStakingResult(i.caller) ++ [IntegerEntry(keyStakedAmount(i.caller), (tryGetInteger(keyStakedAmount(i.caller)) + amount))])
109109 }
110110 }
111111
112112
113113
114114 @Callable(i)
115115 func claimReward () = if ((size(i.payments) > 0))
116116 then throw("Please don't add payments")
117117 else claimStakingResult(i.caller)
118118
119119
120120 @Verifier(tx)
121121 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
122122

github/deemru/w8io/873ac7e 
37.65 ms