tx · HX2qcsRGvSQgnaxXsFFtksiF2352Mj4QzarSYFrTa4XA

3MsU428UzSefm85q7jvBsRV66Du7E72xEkL:  -0.01000000 Waves

2022.06.10 10:59 [2090021] smart account 3MsU428UzSefm85q7jvBsRV66Du7E72xEkL > SELF 0.00000000 Waves

{ "type": 13, "id": "HX2qcsRGvSQgnaxXsFFtksiF2352Mj4QzarSYFrTa4XA", "fee": 1000000, "feeAssetId": null, "timestamp": 1654848021166, "version": 2, "chainId": 84, "sender": "3MsU428UzSefm85q7jvBsRV66Du7E72xEkL", "senderPublicKey": "58FFoU7LCj1DKboVntQXuE3KQDpf92NouXncN5b4vY8U", "proofs": [ "AsPqetPFPoDZ6g7NdZNzVXtCq6Bg8wneerZtG2xrGpaUNQDihAxDmUTw5gnyerrL4yXT4f4WuqTnYX7QXy74wPa" ], "script": "base64:AAIFAAAAAAAAAAsIAhIAEgMKAQESAAAAAAgAAAAACkRJU0NMQUlNRVICAAAAGnB1enpsZSBzdGFraW5nIHNjLiB0eXZtIDopAAAAAAVzY2FsZQAAAAAABfXhAAAAAAAIcHV6emxlSWQBAAAAIC03E4HTJDddn+FvdtPRD5PvLCz03YmtXEpW6HzJAXIbAAAAAAxlYXJuZWRBc3NldHMJAARMAAAAAgEAAAAgrZ1IFoWReWfvw0p6hpnR3VDpBUk85P5AREeM4YPEwvQFAAAAA25pbAAAAAASZWFybmVkQXNzZXRzQW1vdW50CQABkAAAAAEFAAAADGVhcm5lZEFzc2V0cwEAAAANdHJ5R2V0SW50ZWdlcgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAAAQAAAB1jYWxjdWxhdGVDdXJyZW50QXNzZXRJbnRlcmVzdAAAAAIAAAAHYXNzZXRJZAAAAAphc3NldElkU3RyBAAAAAt0b3RhbFN0YWtlZAkBAAAADXRyeUdldEludGVnZXIAAAABAgAAABNnbG9iYWxfcHV6emxlU3Rha2VkBAAAABV0b2tlbkJhbGFuY2VMYXN0Q2hlY2sJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAAEWdsb2JhbF9sYXN0Q2hlY2tfBQAAAAphc3NldElkU3RyAgAAAAlfZWFybmluZ3MEAAAAFGN1cnJlbnRUb2tlbkVhcm5pbmdzCQABlgAAAAEJAARMAAAAAgUAAAAVdG9rZW5CYWxhbmNlTGFzdENoZWNrCQAETAAAAAIJAAPwAAAAAgUAAAAEdGhpcwUAAAAHYXNzZXRJZAUAAAADbmlsBAAAAAtuZXdFYXJuaW5ncwkAAGUAAAACBQAAABRjdXJyZW50VG9rZW5FYXJuaW5ncwUAAAAVdG9rZW5CYWxhbmNlTGFzdENoZWNrBAAAAAtuZXdJbnRlcmVzdAMJAAAAAAAAAgUAAAALdG90YWxTdGFrZWQAAAAAAAAAAAAAAAAAAAAAAAAJAABrAAAAAwUAAAALbmV3RWFybmluZ3MFAAAABXNjYWxlBQAAAAt0b3RhbFN0YWtlZAQAAAARbGFzdENoZWNrSW50ZXJlc3QJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAAEWdsb2JhbF9sYXN0Q2hlY2tfBQAAAAphc3NldElkU3RyAgAAAAlfaW50ZXJlc3QJAABkAAAAAgUAAAARbGFzdENoZWNrSW50ZXJlc3QFAAAAC25ld0ludGVyZXN0AQAAAAtjbGFpbVJlc3VsdAAAAAEAAAAHYWRkcmVzcwQAAAAKYWRkcmVzc1N0cgkABCUAAAABBQAAAAdhZGRyZXNzBAAAAAxwdXp6bGVBbW91bnQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACBQAAAAphZGRyZXNzU3RyAgAAAA1fcHV6emxlU3Rha2VkCgEAAAAHaGFuZGxlcgAAAAIAAAAFYWNjdW0AAAAHYXNzZXRJZAQAAAAKYXNzZXRJZFN0cgkAAlgAAAABBQAAAAdhc3NldElkBAAAABRjdXJyZW50VG9rZW5JbnRlcmVzdAkBAAAAHWNhbGN1bGF0ZUN1cnJlbnRBc3NldEludGVyZXN0AAAAAgUAAAAHYXNzZXRJZAUAAAAKYXNzZXRJZFN0cgQAAAAUY3VycmVudFRva2VuRWFybmluZ3MJAAGWAAAAAQkABEwAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABFnbG9iYWxfbGFzdENoZWNrXwUAAAAKYXNzZXRJZFN0cgIAAAAJX2Vhcm5pbmdzCQAETAAAAAIJAAPwAAAAAgUAAAAEdGhpcwUAAAAHYXNzZXRJZAUAAAADbmlsBAAAAAxyZXdhcmRBbW91bnQJAABrAAAAAwUAAAAMcHV6emxlQW1vdW50CQAAZQAAAAIFAAAAFGN1cnJlbnRUb2tlbkludGVyZXN0CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACmFkZHJlc3NTdHICAAAAC19sYXN0Q2hlY2tfBQAAAAphc3NldElkU3RyAgAAAAlfaW50ZXJlc3QFAAAABXNjYWxlAwkAAAAAAAACBQAAAAxyZXdhcmRBbW91bnQAAAAAAAAAAAAFAAAA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", "height": 2090021, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6eC7XpinLjD7ZWisd4M5TyHy41mSk9PgvHEUDHHc5UMq Next: none Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let DISCLAIMER = "testing PUZZLE staking smart contract with rewards in multiple assets"
4+let DISCLAIMER = "puzzle staking sc. tyvm :)"
55
66 let scale = 100000000
77
9494
9595
9696 @Callable(i)
97-func unstake (puzzleAmount) = {
97+func unstake (amount) = {
9898 let addressStr = toString(i.caller)
9999 let puzzleAvailable = tryGetInteger((addressStr + "_puzzleStaked"))
100- if ((puzzleAmount > puzzleAvailable))
100+ if ((amount > puzzleAvailable))
101101 then throw("you don't have PUZZLE available")
102- else (claimResult(i.caller) ++ [IntegerEntry((addressStr + "_puzzleStaked"), (puzzleAvailable - puzzleAmount)), IntegerEntry("global_puzzleStaked", (tryGetInteger("global_puzzleStaked") - puzzleAmount))])
102+ else (claimResult(i.caller) ++ [IntegerEntry((addressStr + "_puzzleStaked"), (puzzleAvailable - amount)), IntegerEntry("global_puzzleStaked", (tryGetInteger("global_puzzleStaked") - amount))])
103103 }
104104
105105
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let DISCLAIMER = "testing PUZZLE staking smart contract with rewards in multiple assets"
4+let DISCLAIMER = "puzzle staking sc. tyvm :)"
55
66 let scale = 100000000
77
88 let puzzleId = base58'43W4FcqA1rEpSmUGHoGiXvpSLfhadws9LS5j3SJsKxxS'
99
1010 let earnedAssets = [base58'CgidgEMbCKXXErgJXVyZCFRaK8SBNA73Jg8mNXALtVKh']
1111
1212 let earnedAssetsAmount = size(earnedAssets)
1313
1414 func tryGetInteger (key) = match getInteger(this, key) {
1515 case b: Int =>
1616 b
1717 case _ =>
1818 0
1919 }
2020
2121
2222 func calculateCurrentAssetInterest (assetId,assetIdStr) = {
2323 let totalStaked = tryGetInteger("global_puzzleStaked")
2424 let tokenBalanceLastCheck = tryGetInteger((("global_lastCheck_" + assetIdStr) + "_earnings"))
2525 let currentTokenEarnings = max([tokenBalanceLastCheck, assetBalance(this, assetId)])
2626 let newEarnings = (currentTokenEarnings - tokenBalanceLastCheck)
2727 let newInterest = if ((totalStaked == 0))
2828 then 0
2929 else fraction(newEarnings, scale, totalStaked)
3030 let lastCheckInterest = tryGetInteger((("global_lastCheck_" + assetIdStr) + "_interest"))
3131 (lastCheckInterest + newInterest)
3232 }
3333
3434
3535 func claimResult (address) = {
3636 let addressStr = toString(address)
3737 let puzzleAmount = tryGetInteger((addressStr + "_puzzleStaked"))
3838 func handler (accum,assetId) = {
3939 let assetIdStr = toBase58String(assetId)
4040 let currentTokenInterest = calculateCurrentAssetInterest(assetId, assetIdStr)
4141 let currentTokenEarnings = max([tryGetInteger((("global_lastCheck_" + assetIdStr) + "_earnings")), assetBalance(this, assetId)])
4242 let rewardAmount = fraction(puzzleAmount, (currentTokenInterest - tryGetInteger((((addressStr + "_lastCheck_") + assetIdStr) + "_interest"))), scale)
4343 if ((rewardAmount == 0))
4444 then accum
4545 else (accum ++ [IntegerEntry((("global_lastCheck_" + assetIdStr) + "_earnings"), (currentTokenEarnings - rewardAmount)), IntegerEntry((("global_lastCheck_" + assetIdStr) + "_interest"), currentTokenInterest), IntegerEntry((((addressStr + "_lastCheck_") + assetIdStr) + "_interest"), currentTokenInterest), ScriptTransfer(address, rewardAmount, assetId)])
4646 }
4747
4848 let $l = earnedAssets
4949 let $s = size($l)
5050 let $acc0 = nil
5151 func $f0_1 ($a,$i) = if (($i >= $s))
5252 then $a
5353 else handler($a, $l[$i])
5454
5555 func $f0_2 ($a,$i) = if (($i >= $s))
5656 then $a
5757 else throw("List size exceeds 17")
5858
5959 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17)
6060 }
6161
6262
6363 @Callable(i)
6464 func stake () = {
6565 let addressStr = toString(i.caller)
6666 let pmt = i.payments[0]
6767 if ((value(pmt.assetId) != puzzleId))
6868 then throw("wrong asset attached")
6969 else {
7070 func handler (accum,assetId) = {
7171 let assetIdStr = toBase58String(assetId)
7272 let currentTokenInterest = calculateCurrentAssetInterest(assetId, assetIdStr)
7373 (accum ++ [IntegerEntry((("global_lastCheck_" + assetIdStr) + "_earnings"), assetBalance(this, assetId)), IntegerEntry((("global_lastCheck_" + assetIdStr) + "_interest"), currentTokenInterest), IntegerEntry((((addressStr + "_lastCheck_") + assetIdStr) + "_interest"), currentTokenInterest)])
7474 }
7575
7676 let li = {
7777 let $l = earnedAssets
7878 let $s = size($l)
7979 let $acc0 = nil
8080 func $f0_1 ($a,$i) = if (($i >= $s))
8181 then $a
8282 else handler($a, $l[$i])
8383
8484 func $f0_2 ($a,$i) = if (($i >= $s))
8585 then $a
8686 else throw("List size exceeds 17")
8787
8888 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17)
8989 }
9090 (li ++ [IntegerEntry((addressStr + "_puzzleStaked"), (tryGetInteger((addressStr + "_puzzleStaked")) + pmt.amount)), IntegerEntry("global_puzzleStaked", (tryGetInteger("global_puzzleStaked") + pmt.amount))])
9191 }
9292 }
9393
9494
9595
9696 @Callable(i)
97-func unstake (puzzleAmount) = {
97+func unstake (amount) = {
9898 let addressStr = toString(i.caller)
9999 let puzzleAvailable = tryGetInteger((addressStr + "_puzzleStaked"))
100- if ((puzzleAmount > puzzleAvailable))
100+ if ((amount > puzzleAvailable))
101101 then throw("you don't have PUZZLE available")
102- else (claimResult(i.caller) ++ [IntegerEntry((addressStr + "_puzzleStaked"), (puzzleAvailable - puzzleAmount)), IntegerEntry("global_puzzleStaked", (tryGetInteger("global_puzzleStaked") - puzzleAmount))])
102+ else (claimResult(i.caller) ++ [IntegerEntry((addressStr + "_puzzleStaked"), (puzzleAvailable - amount)), IntegerEntry("global_puzzleStaked", (tryGetInteger("global_puzzleStaked") - amount))])
103103 }
104104
105105
106106
107107 @Callable(i)
108108 func claim () = claimResult(i.caller)
109109
110110
111111 @Verifier(tx)
112112 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
113113

github/deemru/w8io/873ac7e 
34.14 ms