tx · CcVbNLjxTbMkgh6zN2nBsYGqnXgdnUh6ayYyU1hATcAB

3N7hJu27qmD5Xtvi6DPkwYzQyvtYEH2WhuE:  -0.01400000 Waves

2021.10.01 17:21 [1727241] smart account 3N7hJu27qmD5Xtvi6DPkwYzQyvtYEH2WhuE > SELF 0.00000000 Waves

{ "type": 13, "id": "CcVbNLjxTbMkgh6zN2nBsYGqnXgdnUh6ayYyU1hATcAB", "fee": 1400000, "feeAssetId": null, "timestamp": 1633098147523, "version": 1, "sender": "3N7hJu27qmD5Xtvi6DPkwYzQyvtYEH2WhuE", "senderPublicKey": "HoK9nfY6HDBaSSrV6qGhf3m38Ym2fMP1YmwaTNM5uGAu", "proofs": [ "4XwF33ydDtfXDpviuQ2s1XSMyLpKMH94bfSUSD2eH6mdKUzcwDvkhmYCqXhWCG158cioteuDFn3XP42hdCxoC6AP" ], "script": "base64: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", "chainId": 84, "height": 1727241, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DExuaBMYy1R2xf8JMXKzD1Xi2iZTdNY5mGQvtr7aDFYg Next: FFkREyyGLMmrDdt7mhbU2vMXP3N1FdTnDBqJfrqca7Xo Diff:
OldNewDifferences
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let froeAssetId = base58'62yYzfZL17bnZ2aPCuDoT1mfwick4PMHNooyAewfq8Sp'
5-
6-let oneDay = 1440
7-
8-let daysVoteIsValid = (oneDay * 7)
9-
10-let daysVoteIsValidInBlocks = (daysVoteIsValid + height)
115
126 let baseUnit = 10000
137
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let froeAssetId = base58'62yYzfZL17bnZ2aPCuDoT1mfwick4PMHNooyAewfq8Sp'
5-
6-let oneDay = 1440
7-
8-let daysVoteIsValid = (oneDay * 7)
9-
10-let daysVoteIsValidInBlocks = (daysVoteIsValid + height)
115
126 let baseUnit = 10000
137
148 let totalVoters = match getInteger("Total_Voters") {
159 case vi: Int =>
1610 vi
1711 case _ =>
1812 0
1913 }
2014
2115 let grandTotal = if ((totalVoters != 0))
2216 then (totalVoters * baseUnit)
2317 else throw("Total Number of Voters is Undefined")
2418
2519 func calculateReward (percentage) = {
2620 let converteredPercentage = (percentage * baseUnit)
2721 let percentageReward = fraction(grandTotal, converteredPercentage, (100 * baseUnit))
2822 let reward = fraction(percentageReward, baseUnit, grandTotal)
2923 reward
3024 }
3125
3226
3327 @Callable(i)
3428 func Vote () = {
3529 let pmt = if ((size(i.payments) == 1))
3630 then i.payments[0]
3731 else throw("You need exactly one froe to make a vote")
3832 let AddressOfVoter = toBase58String(i.caller.bytes)
3933 let currentvalue = match getInteger(this, "Total_vote_amount") {
4034 case t: Int =>
4135 t
4236 case _ =>
4337 0
4438 }
4539 let checkVoter = match getInteger(this, ("Vote_Amount_For_" + AddressOfVoter)) {
4640 case c: Int =>
4741 c
4842 case _ =>
4943 unit
5044 }
5145 let votersIndex = match getInteger(this, "Voter_Index") {
5246 case a: Int =>
5347 a
5448 case _ =>
5549 0
5650 }
5751 let voteState = match getString(this, "Vote_State") {
5852 case v: String =>
5953 v
6054 case _ =>
6155 unit
6256 }
6357 if ((pmt.assetId != froeAssetId))
6458 then throw((("Incorrect asset attached, please attach " + toBase58String(froeAssetId)) + " only."))
6559 else if (if ((voteState != unit))
6660 then (voteState == "DISABLED")
6761 else false)
6862 then throw("Voting is currently disable")
6963 else if ((checkVoter != unit))
7064 then throw("You already Voted")
7165 else if ((10000 != pmt.amount))
7266 then throw("Exactly 1 Froe is need to make a vote")
7367 else [StringEntry("Voter", AddressOfVoter), IntegerEntry(("Vote_Amount_For_" + AddressOfVoter), pmt.amount), IntegerEntry("Voter_Index", (votersIndex + 1))]
7468 }
7569
7670
7771
7872 @Callable(i)
7973 func Withdraw () = {
8074 let checkWithDrawState = getStringValue(this, "Withdraw_State")
8175 let eligibleReward = getBooleanValue(this, "Vote_Successful")
8276 let AddressOfVoter = toBase58String(i.caller.bytes)
8377 let reward = if ((eligibleReward == true))
8478 then calculateReward(81)
8579 else 0
8680 let checkValidVote = match getInteger(this, ("Vote_Amount_For_" + AddressOfVoter)) {
8781 case val: Int =>
8882 val
8983 case _ =>
9084 0
9185 }
9286 let alreadyWithdrawn = match getString(this, "Marked_Withdrawn") {
9387 case t: String =>
9488 t
9589 case _ =>
9690 unit
9791 }
9892 if ((checkWithDrawState == "DISABLED"))
9993 then throw("Withdrawal Is currently disabled. A minimum of 30 Days is needed for eligible withdrawals")
10094 else if ((checkValidVote == 0))
10195 then throw("No Valid Vote Found")
10296 else if ((alreadyWithdrawn != unit))
10397 then throw("You already withdrew")
10498 else [ScriptTransfer(i.caller, (getIntegerValue(this, ("Vote_Amount_For_" + AddressOfVoter)) + reward), froeAssetId), IntegerEntry("Reward_Due_Voter", reward), StringEntry("Marked_Withdrawn", AddressOfVoter)]
10599 }
106100
107101
108102 @Verifier(tx)
109103 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
110104

github/deemru/w8io/169f3d6 
28.89 ms