tx · 7ftLy1XJiYguEBjKBMUvyR4fbeFfunkU4NBETjJijLjA

3NCVWoqgP5evS1BbN2RYeDofxSSfc83UPrm:  -0.14000000 Waves

2021.10.27 09:47 [1764358] smart account 3NCVWoqgP5evS1BbN2RYeDofxSSfc83UPrm > SELF 0.00000000 Waves

{ "type": 13, "id": "7ftLy1XJiYguEBjKBMUvyR4fbeFfunkU4NBETjJijLjA", "fee": 14000000, "feeAssetId": null, "timestamp": 1635317261653, "version": 2, "chainId": 84, "sender": "3NCVWoqgP5evS1BbN2RYeDofxSSfc83UPrm", "senderPublicKey": "Ebjd61Ze5xP5ZS519XxDrSmiRo4s1e2BEaxbYCXzrSs2", "proofs": [ "34zDFSNq88a23NRUTgnHLvbTuBVzLg9TXPTRkyRobjhKujPuHAiJK8J1PERzZRmq4mXM8KoS8oWrhcmBTs5WBsEg", "3N1fTd5tvyEmoRTqux7H1oHC9rcXShUvntJ1GLKVALmRUP8NLaTftPEwAtUwxgutkT4bhdtwVndgvLkw7r2u9vtm" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAACQAAAAAYa2V5VXNlckVOTk9DbGFpbWVkQW1vdW50AgAAABRfRU5OT19jbGFpbWVkX2Ftb3VudAAAAAAca2V5VXNlckVOTk9MYXN0Q2xhaW1lZEFtb3VudAIAAAAZX0VOTk9fbGFzdF9jbGFpbWVkX2Ftb3VudAAAAAAERU5OTwEAAAAgFbvcV9OA6rL+53m/DeV6nxGYIu+IXr9brrnP32tIN3AAAAAADGFkbWluUHViS2V5MQEAAAAgyg3e38zNZmeR7b3G7ndqHjeF61ryEdpyi+/FpwhalREAAAAADGFkbWluUHViS2V5MgEAAAAgyg3e38zNZmeR7b3G7ndqHjeF61ryEdpyi+/FpwhalREAAAAADGFkbWluUHViS2V5MwEAAAAgyg3e38zNZmeR7b3G7ndqHjeF61ryEdpyi+/FpwhalREAAAAACXNoYXJlRGF0YQEAAAAgW0PkM1DAtWhdk96onqOjXkZ/zYsUGYYG4p+U0apV6FkBAAAADmdldENhbGxlclNoYXJlAAAAAQAAAAZjYWxsZXIEAAAAC2NhbGxlclNoYXJlCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAACXNoYXJlRGF0YQkAASwAAAACAgAAAAZzaGFyZV8JAAQlAAAAAQUAAAAGY2FsbGVyBAAAABFjYWxsZXJTaGFyZUFtb3VudAQAAAAHJG1hdGNoMAUAAAALY2FsbGVyU2hhcmUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAFc2hhcmUFAAAAByRtYXRjaDAFAAAABXNoYXJlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAVzaGFyZQUAAAAHJG1hdGNoMAkAAAIAAAABAgAAADJPbmx5IGdvdmVybmFuY2UgcXVhbGlmaWVycyBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uLgkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgUAAAARY2FsbGVyU2hhcmVBbW91bnQBAAAAEGdldENsYWltZWRBbW91bnQAAAABAAAABmNhbGxlcgQAAAAPY2FsbGVyV2l0aGRyYXduCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAZjYWxsZXIFAAAAGGtleVVzZXJFTk5PQ2xhaW1lZEFtb3VudAQAAAAVY2FsbGVyV2l0aGRyYXduQW1vdW50BAAAAAckbWF0Y2gwBQAAAA9jYWxsZXJXaXRoZHJhd24DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAFc2hhcmUFAAAAByRtYXRjaDAFAAAABXNoYXJlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAVzaGFyZQUAAAAHJG1hdGNoMAAAAAAAAAAAAAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgUAAAAVY2FsbGVyV2l0aGRyYXduQW1vdW50AAAAAQAAAAFpAQAAAAljbGFpbUVOTk8AAAAABAAAAAl1c2VyU2hhcmUJAQAAAA5nZXRDYWxsZXJTaGFyZQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABBnZXRDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAtjbGFpbUFtb3VudAkAAGUAAAACBQAAAAl1c2VyU2hhcmUFAAAAEXVzZXJDbGFpbWVkQW1vdW50AwkAAGcAAAACAAAAAAAAAAAABQAAAAtjbGFpbUFtb3VudAkAAAIAAAABAgAAACJDbGFpbSBhbW91bnQgbXVzdCBiZSBiaWdnZXIgdGhhbiAwBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAUAAAAERU5OTwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlckVOTk9DbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlckVOTk9MYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4BAAAABJhZG1pblB1YktleTFTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAMYWRtaW5QdWJLZXkxAAAAAAAAAAABAAAAAAAAAAAABAAAABJhZG1pblB1YktleTJTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAMYWRtaW5QdWJLZXkyAAAAAAAAAAABAAAAAAAAAAAABAAAABJhZG1pblB1YktleTNTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAAMYWRtaW5QdWJLZXkzAAAAAAAAAAABAAAAAAAAAAAACQAAZwAAAAIJAABkAAAAAgkAAGQAAAACBQAAABJhZG1pblB1YktleTFTaWduZWQFAAAAEmFkbWluUHViS2V5MlNpZ25lZAUAAAASYWRtaW5QdWJLZXkzU2lnbmVkAAAAAAAAAAACTHstxg==", "height": 1764358, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 79K9UXbeL9Lck6YHpoHEnHs8eUpaZCRmSMavgU2UfRTB Next: CwF5ERhJnbb2cWGH1CqrsVq8S3wiDbUrfqG14oh1xoVF Diff:
OldNewDifferences
4848 let userShare = getCallerShare(i.caller)
4949 let userClaimedAmount = getClaimedAmount(i.caller)
5050 let claimAmount = (userShare - userClaimedAmount)
51- let userClaimedAmountNew = (userClaimedAmount + claimAmount)
51+ if ((0 >= claimAmount))
52+ then throw("Claim amount must be bigger than 0")
53+ else {
54+ let userClaimedAmountNew = (userClaimedAmount + claimAmount)
5255 [ScriptTransfer(i.caller, claimAmount, ENNO), IntegerEntry((toString(i.caller) + keyUserENNOClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserENNOLastClaimedAmount), claimAmount)]
56+ }
5357 }
5458
5559
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let keyUserENNOClaimedAmount = "_ENNO_claimed_amount"
55
66 let keyUserENNOLastClaimedAmount = "_ENNO_last_claimed_amount"
77
88 let ENNO = base58'2Tqhz5PWbkijnzYpdLxLDFfVDw5ALQWm2rmxQ79ooMRZ'
99
1010 let adminPubKey1 = base58'Ebjd61Ze5xP5ZS519XxDrSmiRo4s1e2BEaxbYCXzrSs2'
1111
1212 let adminPubKey2 = base58'Ebjd61Ze5xP5ZS519XxDrSmiRo4s1e2BEaxbYCXzrSs2'
1313
1414 let adminPubKey3 = base58'Ebjd61Ze5xP5ZS519XxDrSmiRo4s1e2BEaxbYCXzrSs2'
1515
1616 let shareData = base58'79G9MRTWPsir5gThDeuicpBuQxx8UFNqVaDUYcRfWtPA'
1717
1818 func getCallerShare (caller) = {
1919 let callerShare = getInteger(addressFromPublicKey(shareData), ("share_" + toString(caller)))
2020 let callerShareAmount = match callerShare {
2121 case share: Int =>
2222 share
2323 case share: Unit =>
2424 throw("Only governance qualifiers can call this function.")
2525 case _ =>
2626 throw("Match error")
2727 }
2828 callerShareAmount
2929 }
3030
3131
3232 func getClaimedAmount (caller) = {
3333 let callerWithdrawn = getInteger(this, (toString(caller) + keyUserENNOClaimedAmount))
3434 let callerWithdrawnAmount = match callerWithdrawn {
3535 case share: Int =>
3636 share
3737 case share: Unit =>
3838 0
3939 case _ =>
4040 throw("Match error")
4141 }
4242 callerWithdrawnAmount
4343 }
4444
4545
4646 @Callable(i)
4747 func claimENNO () = {
4848 let userShare = getCallerShare(i.caller)
4949 let userClaimedAmount = getClaimedAmount(i.caller)
5050 let claimAmount = (userShare - userClaimedAmount)
51- let userClaimedAmountNew = (userClaimedAmount + claimAmount)
51+ if ((0 >= claimAmount))
52+ then throw("Claim amount must be bigger than 0")
53+ else {
54+ let userClaimedAmountNew = (userClaimedAmount + claimAmount)
5255 [ScriptTransfer(i.caller, claimAmount, ENNO), IntegerEntry((toString(i.caller) + keyUserENNOClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserENNOLastClaimedAmount), claimAmount)]
56+ }
5357 }
5458
5559
5660 @Verifier(tx)
5761 func verify () = match tx {
5862 case _ =>
5963 let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
6064 then 1
6165 else 0
6266 let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
6367 then 1
6468 else 0
6569 let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
6670 then 1
6771 else 0
6872 (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
6973 }
7074

github/deemru/w8io/873ac7e 
291.25 ms