tx · nkXGuAQ71J84iCu1Y1WzGpJV5G9gQiH9uD3FrZcaHSb

3MyytsRPxYr48we6CPWAQ1z4x6cmEbHWtFq:  -0.01400000 Waves

2021.04.03 13:28 [1466144] smart account 3MyytsRPxYr48we6CPWAQ1z4x6cmEbHWtFq > SELF 0.00000000 Waves

{ "type": 13, "id": "nkXGuAQ71J84iCu1Y1WzGpJV5G9gQiH9uD3FrZcaHSb", "fee": 1400000, "feeAssetId": null, "timestamp": 1617445778796, "version": 2, "chainId": 84, "sender": "3MyytsRPxYr48we6CPWAQ1z4x6cmEbHWtFq", "senderPublicKey": "551T51u5CXgqTybnycyVjFjM9tKkqVEenm7ZrxxC7gLe", "proofs": [ "2s68sM5c4vDYQ9GUtnFdkWvpxqbeqZEihrkmRk6p7FvsCEWdk8HHPdSikxEdnytNcvTHN3zGaNkao5UqzoxPDVqM" ], "script": "base64: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a2VhYmxlQW1vdW50BAAAAA9uZXdTdGFrZWRBbW91bnQJAABkAAAAAgUAAAAMY3VycmVudFN0YWtlBQAAAA1hbW91bnRUb1N0YWtlBAAAAAlzdGFrZVBvb2wJAQAAAAxnZXRTdGFrZVBvb2wAAAAABAAAAAxuZXdTdGFrZVBvb2wJAABkAAAAAgUAAAAJc3Rha2VQb29sBQAAAA9zdGFrZWFibGVBbW91bnQEAAAAFm5ld1RvdGFsRHp5U3Rha2VBbW91bnQJAABkAAAAAgkBAAAAFmdldFRvdGFsRHp5U3Rha2VBbW91bnQAAAAABQAAAA1hbW91bnRUb1N0YWtlCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADGdldFN0YWtlcktleQAAAAEFAAAABnN0YWtlcgUAAAAPbmV3U3Rha2VkQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0VG90YWxEenlTdGFrZUtleQAAAAAFAAAAFm5ld1RvdGFsRHp5U3Rha2VBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRTdGFrZVBvb2xLZXkAAAAABQAAAAxuZXdTdGFrZVBvb2wFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsAAAAAWkBAAAAB3Vuc3Rha2UAAAABAAAABmFtb3VudAQAAAAGc3Rha2VyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADGN1cnJlbnRTdGFrZQkBAAAAD2dldEN1cnJlbnRTdGFrZQAAAAEFAAAABnN0YWtlcgMJAAAAAAAAAgUAAAAMY3VycmVudFN0YWtlAAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBkb24ndCBoYXZlIGFueSBzdGFrZXMDCQAAZgAAAAIFAAAABmFtb3VudAUAAAAMY3VycmVudFN0YWtlCQAAAgAAAAECAAAAM1lvdSBjYW4ndCB3aXRoZHJhdyBhbiBhbW91bnQgaGlnaGVyIHRoYW4geW91IHN0YWtlZAQAAAARdW5zdGFrZWFibGVBbW91bnQJAABrAAAAAwUAAAAGYW1vdW50AAAAAAAAAAAKAAAAAAAAAABkBAAAAA9hbW91bnRUb1Vuc3Rha2UJAABlAAAAAgUAAAAGYW1vdW50BQAAABF1bnN0YWtlYWJsZUFtb3VudAQAAAARbmV3VW5zdGFrZWRBbW91bnQJAABlAAAAAgUAAAAMY3VycmVudFN0YWtlBQAAAAZhbW91bnQEAAAACXN0YWtlUG9vbAkBAAAADGdldFN0YWtlUG9vbAAAAAAEAAAADG5ld1N0YWtlUG9vbAkAAGQAAAACBQAAAAlzdGFrZVBvb2wFAAAAEXVuc3Rha2VhYmxlQW1vdW50BAAAABZuZXdUb3RhbER6eVN0YWtlQW1vdW50CQAAZQAAAAIJAQAAABZnZXRUb3RhbER6eVN0YWtlQW1vdW50AAAAAAUAAAAGYW1vdW50CQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADGdldFN0YWtlcktleQAAAAEFAAAABnN0YWtlcgUAAAARbmV3VW5zdGFrZWRBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABNnZXRUb3RhbER6eVN0YWtlS2V5AAAAAAUAAAAWbmV3VG90YWxEenlTdGFrZUFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dldFN0YWtlUG9vbEtleQAAAAAFAAAADG5ld1N0YWtlUG9vbAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAPYW1vdW50VG9VbnN0YWtlBQAAAAVkeXpJZAUAAAADbmlsAAAAAWkBAAAAFWNsYWltRGFpbHlTdGFrZVJld2FyZAAAAAAEAAAABnN0YWtlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAxjdXJyZW50U3Rha2UJAQAAAA9nZXRDdXJyZW50U3Rha2UAAAABBQAAAAZzdGFrZXIEAAAACXN0YWtlUG9vbAkBAAAADGdldFN0YWtlUG9vbAAAAAAEAAAADWN1cnJlbnRIZWlnaHQFAAAABmhlaWdodAQAAAAPbGFzdENsYWltSGVpZ2h0CQEAAAASZ2V0TGFzdENsYWltSGVpZ2h0AAAAAQUAAAAGc3Rha2VyBAAAABFjbGFpbWVkVG90YWxTb0ZhcgkBAAAAD2dldENsYWltZWRUb3RhbAAAAAAEAAAAD2NsYWltZWRCeVN0YWtlcgkBAAAAEmdldENsYWltZWRCeVN0YWtlcgAAAAEFAAAABnN0YWtlcgQAAAAGcmV3YXJkCQAAawAAAAMFAAAADGN1cnJlbnRTdGFrZQUAAAAJc3Rha2VQb29sCQEAAAAWZ2V0VG90YWxEenlTdGFrZUFtb3VudAAAAAADCQAAAAAAAAIFAAAADGN1cnJlbnRTdGFrZQAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgZG9uJ3QgaGF2ZSBhbnkgc3Rha2VzAwkAAAAAAAACBQAAAAlzdGFrZVBvb2wAAAAAAAAAAAAJAAACAAAAAQIAAAAzTm90aGluZyBpbiBTdGFrZSBwb29sIGF0IHRoaXMgdGltZS4gVHJ5IGFnYWluIGxhdGVyAwkAAGYAAAACBQAAAAZyZXdhcmQFAAAACXN0YWtlUG9vbAkAAAIAAAABAgAAABdObyByZXdhcmRzIGF0IHRoaXMgdGltZQMJAABmAAAAAgkAAGQAAAACBQAAAA9sYXN0Q2xhaW1IZWlnaHQAAAAAAAAABaAFAAAADWN1cnJlbnRIZWlnaHQJAAACAAAAAQIAAAAdWW91IGNhbiBvbmx5IGNsYWltIG9uY2UgYSBkYXkEAAAADG5ld1N0YWtlUG9vbAkAAGUAAAACBQAAAAlzdGFrZVBvb2wFAAAABnJld2FyZAQAAAAObmV3U3Rha2VBbW91bnQFAAAADGN1cnJlbnRTdGFrZQkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAOY2xhaW1lZF90b3RhbF8FAAAABnN0YWtlcgkAAGQAAAACBQAAAA9jbGFpbWVkQnlTdGFrZXIFAAAABnJld2FyZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAANY2xhaW1lZF90b3RhbAkAAGQAAAACBQAAABFjbGFpbWVkVG90YWxTb0ZhcgUAAAAGcmV3YXJkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAC2xhc3RfY2xhaW1fBQAAAAZzdGFrZXIFAAAADWN1cnJlbnRIZWlnaHQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAAxnZXRTdGFrZXJLZXkAAAABBQAAAAZzdGFrZXIFAAAADm5ld1N0YWtlQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2V0U3Rha2VQb29sS2V5AAAAAAUAAAAMbmV3U3Rha2VQb29sBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAZyZXdhcmQFAAAABWR5eklkBQAAAANuaWwAAAAAgUoohg==", "height": 1466144, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9uFXRAmFHikCn8eypUNTaXe6zR3TCH2RLyC3hE4aXGRC Next: HVe5EouT3QXva4oFyJYHM67LewHejh6cmsyzUy5kVBP3 Diff:
OldNewDifferences
2727 else throw("Invalid vote type")
2828
2929
30-func getTotalDzyStakeKey () = "total_staked_amount"
30+func getTotalDzyStakeKey () = "total_staked_amoun"
3131
3232
3333 func getTotalDzyStakeAmount () = match getInteger(this, getTotalDzyStakeKey()) {
3434 case a: Int =>
3535 a
3636 case _ =>
37- 0
37+ 56429415253623
3838 }
3939
4040
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let upVote = "upvote"
55
66 let adminAddress1 = base58'3MyofeFJ29LLoVcHYtYgkLP7EUuYYGKBB4P'
77
88 let adminAddress2 = base58'3NAqtCScgFynCuRLUoXm2BHTdu8suatCe7b'
99
1010 let adminAddress3 = base58'3Mucpi1K4FMVrZKnYEgjxQf5DkkBX7QrHoJ'
1111
1212 let dyzId = base58'2TLkgUERqF1y21ShjiFVVTVYtP1BL8wvc6BGLZvt4fND'
1313
1414 func getStakePoolKey () = "stake_pool"
1515
1616
1717 func getStakePool () = match getInteger(this, getStakePoolKey()) {
1818 case a: Int =>
1919 a
2020 case _ =>
2121 0
2222 }
2323
2424
2525 func getVoteAmountKey (id,type) = if ((type == "upvote"))
2626 then (((id + "_") + type) + "_amount")
2727 else throw("Invalid vote type")
2828
2929
30-func getTotalDzyStakeKey () = "total_staked_amount"
30+func getTotalDzyStakeKey () = "total_staked_amoun"
3131
3232
3333 func getTotalDzyStakeAmount () = match getInteger(this, getTotalDzyStakeKey()) {
3434 case a: Int =>
3535 a
3636 case _ =>
37- 0
37+ 56429415253623
3838 }
3939
4040
4141 func getStakerKey (staker) = (staker + "_stake")
4242
4343
4444 func getCurrentStake (staker) = match getInteger(this, getStakerKey(staker)) {
4545 case a: Int =>
4646 a
4747 case _ =>
4848 0
4949 }
5050
5151
5252 func getProfileKey (id) = (id + "_entrepreneurProfile")
5353
5454
5555 func getStatusKey (id) = (id + "_status")
5656
5757
5858 func getVoteKey (id,type) = if ((type == "upvote"))
5959 then (id + "_upvote")
6060 else throw("Invalid vote type")
6161
6262
6363 func profileExist (id) = match getString(this, getProfileKey(id)) {
6464 case a: String =>
6565 true
6666 case _ =>
6767 false
6868 }
6969
7070
7171 func getVoteStatus (voteId) = match getString(this, getStatusKey(voteId)) {
7272 case a: String =>
7373 a
7474 case _ =>
7575 false
7676 }
7777
7878
7979 func getVoterAmountKey (id,voteId) = (((id + "_") + voteId) + "_amount")
8080
8181
8282 func getVoteAmountCount (voteId,vote) = match getInteger(this, getVoteAmountKey(voteId, vote)) {
8383 case a: Int =>
8484 a
8585 case _ =>
8686 0
8787 }
8888
8989
9090 func getLastClaimHeight (pubKey) = match getInteger(this, ("last_claim_" + pubKey)) {
9191 case a: Int =>
9292 a
9393 case _ =>
9494 0
9595 }
9696
9797
9898 func getVoteCount (voteId,vote) = match getInteger(this, getVoteKey(voteId, vote)) {
9999 case a: Int =>
100100 a
101101 case _ =>
102102 throw("Not a valid vote ID")
103103 }
104104
105105
106106 func getVoterKey (address,voteId) = ((((address + "_") + voteId) + "_") + "vote")
107107
108108
109109 func getVoter (address,voteId) = match getString(this, getVoterKey(address, voteId)) {
110110 case a: String =>
111111 a
112112 case _ =>
113113 ""
114114 }
115115
116116
117117 func canVote (address,voteId) = {
118118 let voter = getVoter(address, voteId)
119119 if ((voter == ""))
120120 then true
121121 else false
122122 }
123123
124124
125125 func getClaimedTotal () = match getInteger(this, "claimed_total") {
126126 case a: Int =>
127127 a
128128 case _ =>
129129 0
130130 }
131131
132132
133133 func getClaimedByStaker (address) = match getInteger(this, ("claimed_total_" + address)) {
134134 case a: Int =>
135135 a
136136 case _ =>
137137 0
138138 }
139139
140140
141141 @Callable(i)
142142 func addEntrepreneurProfile (name,avatar,bio,gender,location) = if (if (if ((i.caller.bytes == adminAddress1))
143143 then true
144144 else (i.caller.bytes == adminAddress2))
145145 then true
146146 else (i.caller.bytes == adminAddress3))
147147 then {
148148 let transactionId = toBase58String(i.transactionId)
149149 WriteSet([DataEntry(getProfileKey(transactionId), ((((((((name + "_") + avatar) + "_") + bio) + "_") + gender) + "_") + location)), DataEntry(getVoteKey(transactionId, "upvote"), 0), DataEntry(getVoteAmountKey(transactionId, "upvote"), 0), DataEntry(getStatusKey(transactionId), "open")])
150150 }
151151 else throw("Only Dyzrupt Admin can call this dApp function")
152152
153153
154154
155155 @Callable(i)
156156 func vote (voteId,vote) = {
157157 let pmt = extract(i.payment)
158158 let voter = toBase58String(i.caller.bytes)
159159 if ((pmt.amount == 0))
160160 then throw("You cannot vote without paying voting fee")
161161 else if ((pmt.assetId != dyzId))
162162 then throw("You can only vote with DYZRUPT token")
163163 else if (canVote(toBase58String(i.caller.bytes), voteId))
164164 then if (profileExist(voteId))
165165 then if ((getVoteStatus(voteId) == "open"))
166166 then if ((vote == upVote))
167167 then {
168168 let voteCount = getVoteCount(voteId, vote)
169169 let voteAmountCount = getVoteAmountCount(voteId, vote)
170170 let newVoteCount = (voteCount + 1)
171171 let newVoteAmountCount = (voteAmountCount + pmt.amount)
172172 ScriptResult(WriteSet([DataEntry(getVoteKey(voteId, vote), newVoteCount), DataEntry(getVoterKey(voter, voteId), voteId), DataEntry(getVoterAmountKey(voter, voteId), pmt.amount), DataEntry(getVoteAmountKey(voteId, vote), newVoteAmountCount)]), TransferSet([ScriptTransfer(this, pmt.amount, dyzId)]))
173173 }
174174 else throw("Not a valid vote value")
175175 else throw("This profile is not open for voting")
176176 else throw("Invalid Profile")
177177 else throw("You can't vote twice")
178178 }
179179
180180
181181
182182 @Callable(i)
183183 func openVote (voteId) = if (if (if ((i.caller.bytes == adminAddress1))
184184 then true
185185 else (i.caller.bytes == adminAddress2))
186186 then true
187187 else (i.caller.bytes == adminAddress3))
188188 then if (profileExist(voteId))
189189 then WriteSet([DataEntry(getStatusKey(voteId), "open")])
190190 else throw("Invalid ID")
191191 else throw("Only Dyzrupt Admin can call this dApp function")
192192
193193
194194
195195 @Callable(i)
196196 func closeVote (voteId) = if (if (if ((i.caller.bytes == adminAddress1))
197197 then true
198198 else (i.caller.bytes == adminAddress2))
199199 then true
200200 else (i.caller.bytes == adminAddress3))
201201 then if (profileExist(voteId))
202202 then WriteSet([DataEntry(getStatusKey(voteId), "closed")])
203203 else throw("Invalid ID")
204204 else throw("Only Dyzrupt Admin can call this dApp function")
205205
206206
207207
208208 @Callable(i)
209209 func withdraw (voteId) = {
210210 let voter = toBase58String(i.caller.bytes)
211211 if ((getVoter(voter, voteId) != ""))
212212 then if ((getVoteStatus(voteId) == "closed"))
213213 then {
214214 let currentKey = getVoterAmountKey(voter, voteId)
215215 let currentAmount = match getInteger(this, currentKey) {
216216 case a: Int =>
217217 a
218218 case _ =>
219219 throw("You didn't vote for this entrepreneur")
220220 }
221221 if ((currentAmount == 0))
222222 then throw("Seems you have previously withdrawn.")
223223 else ScriptResult(WriteSet([DataEntry(currentKey, 0)]), TransferSet([ScriptTransfer(i.caller, currentAmount, dyzId)]))
224224 }
225225 else throw("Can't withdraw vote amount while voting is still open.")
226226 else throw("You didn't vote for this entrepreneur")
227227 }
228228
229229
230230
231231 @Callable(i)
232232 func stake () = {
233233 let staker = toBase58String(i.caller.bytes)
234234 let pmt = extract(i.payment)
235235 if ((pmt.amount == 0))
236236 then throw("Stake amount too low")
237237 else if ((pmt.assetId != dyzId))
238238 then throw("You can only stake with DYZRUPT token")
239239 else {
240240 let currentStake = getCurrentStake(staker)
241241 let stakeableAmount = fraction(pmt.amount, 5, 100)
242242 let amountToStake = (pmt.amount - stakeableAmount)
243243 let newStakedAmount = (currentStake + amountToStake)
244244 let stakePool = getStakePool()
245245 let newStakePool = (stakePool + stakeableAmount)
246246 let newTotalDzyStakeAmount = (getTotalDzyStakeAmount() + amountToStake)
247247 ScriptResult(WriteSet([DataEntry(getStakerKey(staker), newStakedAmount), DataEntry(getTotalDzyStakeKey(), newTotalDzyStakeAmount), DataEntry(getStakePoolKey(), newStakePool)]), TransferSet(nil))
248248 }
249249 }
250250
251251
252252
253253 @Callable(i)
254254 func unstake (amount) = {
255255 let staker = toBase58String(i.caller.bytes)
256256 let currentStake = getCurrentStake(staker)
257257 if ((currentStake == 0))
258258 then throw("You don't have any stakes")
259259 else if ((amount > currentStake))
260260 then throw("You can't withdraw an amount higher than you staked")
261261 else {
262262 let unstakeableAmount = fraction(amount, 10, 100)
263263 let amountToUnstake = (amount - unstakeableAmount)
264264 let newUnstakedAmount = (currentStake - amount)
265265 let stakePool = getStakePool()
266266 let newStakePool = (stakePool + unstakeableAmount)
267267 let newTotalDzyStakeAmount = (getTotalDzyStakeAmount() - amount)
268268 ScriptResult(WriteSet([DataEntry(getStakerKey(staker), newUnstakedAmount), DataEntry(getTotalDzyStakeKey(), newTotalDzyStakeAmount), DataEntry(getStakePoolKey(), newStakePool)]), TransferSet([ScriptTransfer(i.caller, amountToUnstake, dyzId)]))
269269 }
270270 }
271271
272272
273273
274274 @Callable(i)
275275 func claimDailyStakeReward () = {
276276 let staker = toBase58String(i.caller.bytes)
277277 let currentStake = getCurrentStake(staker)
278278 let stakePool = getStakePool()
279279 let currentHeight = height
280280 let lastClaimHeight = getLastClaimHeight(staker)
281281 let claimedTotalSoFar = getClaimedTotal()
282282 let claimedByStaker = getClaimedByStaker(staker)
283283 let reward = fraction(currentStake, stakePool, getTotalDzyStakeAmount())
284284 if ((currentStake == 0))
285285 then throw("You don't have any stakes")
286286 else if ((stakePool == 0))
287287 then throw("Nothing in Stake pool at this time. Try again later")
288288 else if ((reward > stakePool))
289289 then throw("No rewards at this time")
290290 else if (((lastClaimHeight + 1440) > currentHeight))
291291 then throw("You can only claim once a day")
292292 else {
293293 let newStakePool = (stakePool - reward)
294294 let newStakeAmount = currentStake
295295 ScriptResult(WriteSet([DataEntry(("claimed_total_" + staker), (claimedByStaker + reward)), DataEntry("claimed_total", (claimedTotalSoFar + reward)), DataEntry(("last_claim_" + staker), currentHeight), DataEntry(getStakerKey(staker), newStakeAmount), DataEntry(getStakePoolKey(), newStakePool)]), TransferSet([ScriptTransfer(i.caller, reward, dyzId)]))
296296 }
297297 }
298298
299299

github/deemru/w8io/169f3d6 
62.92 ms