tx · DstErzo7hWsPT2amPyfWnfRe5jy2SnNpHbc3Yd8oxn8F

3MyytsRPxYr48we6CPWAQ1z4x6cmEbHWtFq:  -0.01400000 Waves

2021.04.01 19:34 [1463626] smart account 3MyytsRPxYr48we6CPWAQ1z4x6cmEbHWtFq > SELF 0.00000000 Waves

{ "type": 13, "id": "DstErzo7hWsPT2amPyfWnfRe5jy2SnNpHbc3Yd8oxn8F", "fee": 1400000, "feeAssetId": null, "timestamp": 1617294930415, "version": 2, "chainId": 84, "sender": "3MyytsRPxYr48we6CPWAQ1z4x6cmEbHWtFq", "senderPublicKey": "551T51u5CXgqTybnycyVjFjM9tKkqVEenm7ZrxxC7gLe", "proofs": [ "f8SQEdFBoyHFzTWq4hKZgnSezLxoxTk2FiBrtTBEDdPzpqmLvebfSoP4TcnZUtGHgUCichce1MaPxZbSugq1aJm" ], "script": "base64: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bW91bnQJAABkAAAAAgUAAAAMY3VycmVudFN0YWtlBQAAAA1hbW91bnRUb1N0YWtlBAAAAAlzdGFrZVBvb2wJAQAAAAxnZXRTdGFrZVBvb2wAAAAABAAAAAxuZXdTdGFrZVBvb2wJAABkAAAAAgUAAAAJc3Rha2VQb29sBQAAAA9zdGFrZWFibGVBbW91bnQJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAMZ2V0U3Rha2VyS2V5AAAAAQUAAAAGc3Rha2VyBQAAAA9uZXdTdGFrZWRBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRTdGFrZVBvb2xLZXkAAAAABQAAAAxuZXdTdGFrZVBvb2wFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsAAAAAWkBAAAAB3Vuc3Rha2UAAAABAAAABmFtb3VudAQAAAAGc3Rha2VyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADGN1cnJlbnRTdGFrZQkBAAAAD2dldEN1cnJlbnRTdGFrZQAAAAEFAAAABnN0YWtlcgMJAAAAAAAAAgUAAAAMY3VycmVudFN0YWtlAAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBkb24ndCBoYXZlIGFueSBzdGFrZXMDCQAAZgAAAAIFAAAABmFtb3VudAUAAAAMY3VycmVudFN0YWtlCQAAAgAAAAECAAAAM1lvdSBjYW4ndCB3aXRoZHJhdyBhbiBhbW91bnQgaGlnaGVyIHRoYW4geW91IHN0YWtlZAQAAAARdW5zdGFrZWFibGVBbW91bnQJAABrAAAAAwUAAAAGYW1vdW50AAAAAAAAAAAKAAAAAAAAAABkBAAAAA9hbW91bnRUb1Vuc3Rha2UJAABlAAAAAgUAAAAGYW1vdW50BQAAABF1bnN0YWtlYWJsZUFtb3VudAQAAAARbmV3VW5zdGFrZWRBbW91bnQJAABlAAAAAgUAAAAMY3VycmVudFN0YWtlBQAAAAZhbW91bnQEAAAACXN0YWtlUG9vbAkBAAAADGdldFN0YWtlUG9vbAAAAAAEAAAADG5ld1N0YWtlUG9vbAkAAGQAAAACBQAAAAlzdGFrZVBvb2wFAAAAEXVuc3Rha2VhYmxlQW1vdW50CQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADGdldFN0YWtlcktleQAAAAEFAAAABnN0YWtlcgUAAAARbmV3VW5zdGFrZWRBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRTdGFrZVBvb2xLZXkAAAAABQAAAAxuZXdTdGFrZVBvb2wFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAD2Ftb3VudFRvVW5zdGFrZQUAAAAFZHl6SWQFAAAAA25pbAAAAAFpAQAAABVjbGFpbURhaWx5U3Rha2VSZXdhcmQAAAABAAAABnJld2FyZAQAAAAGc3Rha2VyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADGN1cnJlbnRTdGFrZQkBAAAAD2dldEN1cnJlbnRTdGFrZQAAAAEFAAAABnN0YWtlcgQAAAAJc3Rha2VQb29sCQEAAAAMZ2V0U3Rha2VQb29sAAAAAAQAAAANY3VycmVudEhlaWdodAUAAAAGaGVpZ2h0BAAAAA9sYXN0Q2xhaW1IZWlnaHQJAQAAABJnZXRMYXN0Q2xhaW1IZWlnaHQAAAABBQAAAAZzdGFrZXIEAAAAEWNsYWltZWRUb3RhbFNvRmFyCQEAAAAPZ2V0Q2xhaW1lZFRvdGFsAAAAAAQAAAAPY2xhaW1lZEJ5U3Rha2VyCQEAAAASZ2V0Q2xhaW1lZEJ5U3Rha2VyAAAAAQUAAAAGc3Rha2VyAwkAAAAAAAACBQAAAAxjdXJyZW50U3Rha2UAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGRvbid0IGhhdmUgYW55IHN0YWtlcwMJAAAAAAAAAgUAAAAJc3Rha2VQb29sAAAAAAAAAAAACQAAAgAAAAECAAAAM05vdGhpbmcgaW4gU3Rha2UgcG9vbCBhdCB0aGlzIHRpbWUuIFRyeSBhZ2FpbiBsYXRlcgMJAABmAAAAAgUAAAAGcmV3YXJkBQAAAAlzdGFrZVBvb2wJAAACAAAAAQIAAAAXTm8gcmV3YXJkcyBhdCB0aGlzIHRpbWUDCQAAZgAAAAIJAABkAAAAAgUAAAAPbGFzdENsYWltSGVpZ2h0AAAAAAAAAAWgBQAAAA1jdXJyZW50SGVpZ2h0CQAAAgAAAAEJAAGkAAAAAQkBAAAAEGdldEN1cnJlbnRTdGFrZTEAAAAABAAAAAxuZXdTdGFrZVBvb2wJAABlAAAAAgUAAAAJc3Rha2VQb29sBQAAAAZyZXdhcmQEAAAADm5ld1N0YWtlQW1vdW50BQAAAAxjdXJyZW50U3Rha2UJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAADmNsYWltZWRfdG90YWxfBQAAAAZzdGFrZXIJAABkAAAAAgUAAAAPY2xhaW1lZEJ5U3Rha2VyBQAAAAZyZXdhcmQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADWNsYWltZWRfdG90YWwJAABkAAAAAgUAAAARY2xhaW1lZFRvdGFsU29GYXIFAAAABnJld2FyZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAAtsYXN0X2NsYWltXwUAAAAGc3Rha2VyBQAAAA1jdXJyZW50SGVpZ2h0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAMZ2V0U3Rha2VyS2V5AAAAAQUAAAAGc3Rha2VyBQAAAA5uZXdTdGFrZUFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dldFN0YWtlUG9vbEtleQAAAAAFAAAADG5ld1N0YWtlUG9vbAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGcmV3YXJkBQAAAAVkeXpJZAUAAAADbmlsAAAAAIJ2Tk4=", "height": 1463626, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EBDzAgWRr5pAfdHPpAxy25C2BXNm3oWH1nYaMmDogrEp Next: 5Dg8wXaUWSSPG4FTTnj3QNqvHpM3zKX28Wt6qrrsobxQ Diff:
OldNewDifferences
120120
121121
122122 func getClaimedByStaker (address) = match getInteger(this, ("claimed_total_" + address)) {
123+ case a: Int =>
124+ a
125+ case _ =>
126+ 0
127+}
128+
129+
130+func getStakerKey1 () = "_stake"
131+
132+
133+func getCurrentStake1 () = match getInteger(this, getStakerKey1()) {
123134 case a: Int =>
124135 a
125136 case _ =>
274285 else if ((reward > stakePool))
275286 then throw("No rewards at this time")
276287 else if (((lastClaimHeight + 1440) > currentHeight))
277- then throw("You can only claim once a day")
288+ then throw(toString(getCurrentStake1()))
278289 else {
279290 let newStakePool = (stakePool - reward)
280291 let newStakeAmount = currentStake
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
3030 func getStakerKey (staker) = (staker + "_stake")
3131
3232
3333 func getCurrentStake (staker) = match getInteger(this, getStakerKey(staker)) {
3434 case a: Int =>
3535 a
3636 case _ =>
3737 0
3838 }
3939
4040
4141 func getProfileKey (id) = (id + "_entrepreneurProfile")
4242
4343
4444 func getStatusKey (id) = (id + "_status")
4545
4646
4747 func getVoteKey (id,type) = if ((type == "upvote"))
4848 then (id + "_upvote")
4949 else throw("Invalid vote type")
5050
5151
5252 func profileExist (id) = match getString(this, getProfileKey(id)) {
5353 case a: String =>
5454 true
5555 case _ =>
5656 false
5757 }
5858
5959
6060 func getVoteStatus (voteId) = match getString(this, getStatusKey(voteId)) {
6161 case a: String =>
6262 a
6363 case _ =>
6464 false
6565 }
6666
6767
6868 func getVoterAmountKey (id,voteId) = (((id + "_") + voteId) + "_amount")
6969
7070
7171 func getVoteAmountCount (voteId,vote) = match getInteger(this, getVoteAmountKey(voteId, vote)) {
7272 case a: Int =>
7373 a
7474 case _ =>
7575 0
7676 }
7777
7878
7979 func getLastClaimHeight (pubKey) = match getInteger(this, ("last_claim_" + pubKey)) {
8080 case a: Int =>
8181 a
8282 case _ =>
8383 0
8484 }
8585
8686
8787 func getVoteCount (voteId,vote) = match getInteger(this, getVoteKey(voteId, vote)) {
8888 case a: Int =>
8989 a
9090 case _ =>
9191 throw("Not a valid vote ID")
9292 }
9393
9494
9595 func getVoterKey (address,voteId) = ((((address + "_") + voteId) + "_") + "vote")
9696
9797
9898 func getVoter (address,voteId) = match getString(this, getVoterKey(address, voteId)) {
9999 case a: String =>
100100 a
101101 case _ =>
102102 ""
103103 }
104104
105105
106106 func canVote (address,voteId) = {
107107 let voter = getVoter(address, voteId)
108108 if ((voter == ""))
109109 then true
110110 else false
111111 }
112112
113113
114114 func getClaimedTotal () = match getInteger(this, "claimed_total") {
115115 case a: Int =>
116116 a
117117 case _ =>
118118 0
119119 }
120120
121121
122122 func getClaimedByStaker (address) = match getInteger(this, ("claimed_total_" + address)) {
123+ case a: Int =>
124+ a
125+ case _ =>
126+ 0
127+}
128+
129+
130+func getStakerKey1 () = "_stake"
131+
132+
133+func getCurrentStake1 () = match getInteger(this, getStakerKey1()) {
123134 case a: Int =>
124135 a
125136 case _ =>
126137 0
127138 }
128139
129140
130141 @Callable(i)
131142 func addEntrepreneurProfile (name,avatar,bio,gender,location) = if (if (if ((i.caller.bytes == adminAddress1))
132143 then true
133144 else (i.caller.bytes == adminAddress2))
134145 then true
135146 else (i.caller.bytes == adminAddress3))
136147 then {
137148 let transactionId = toBase58String(i.transactionId)
138149 WriteSet([DataEntry(getProfileKey(transactionId), ((((((((name + "_") + avatar) + "_") + bio) + "_") + gender) + "_") + location)), DataEntry(getVoteKey(transactionId, "upvote"), 0), DataEntry(getVoteAmountKey(transactionId, "upvote"), 0), DataEntry(getStatusKey(transactionId), "open")])
139150 }
140151 else throw("Only Dyzrupt Admin can call this dApp function")
141152
142153
143154
144155 @Callable(i)
145156 func vote (voteId,vote) = {
146157 let pmt = extract(i.payment)
147158 let voter = toBase58String(i.caller.bytes)
148159 if ((pmt.amount == 0))
149160 then throw("You cannot vote without paying voting fee")
150161 else if ((pmt.assetId != dyzId))
151162 then throw("You can only vote with DYZRUPT token")
152163 else if (canVote(toBase58String(i.caller.bytes), voteId))
153164 then if (profileExist(voteId))
154165 then if ((getVoteStatus(voteId) == "open"))
155166 then if ((vote == upVote))
156167 then {
157168 let voteCount = getVoteCount(voteId, vote)
158169 let voteAmountCount = getVoteAmountCount(voteId, vote)
159170 let newVoteCount = (voteCount + 1)
160171 let newVoteAmountCount = (voteAmountCount + pmt.amount)
161172 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)]))
162173 }
163174 else throw("Not a valid vote value")
164175 else throw("This profile is not open for voting")
165176 else throw("Invalid Profile")
166177 else throw("You can't vote twice")
167178 }
168179
169180
170181
171182 @Callable(i)
172183 func openVote (voteId) = if (if (if ((i.caller.bytes == adminAddress1))
173184 then true
174185 else (i.caller.bytes == adminAddress2))
175186 then true
176187 else (i.caller.bytes == adminAddress3))
177188 then if (profileExist(voteId))
178189 then WriteSet([DataEntry(getStatusKey(voteId), "open")])
179190 else throw("Invalid ID")
180191 else throw("Only Dyzrupt Admin can call this dApp function")
181192
182193
183194
184195 @Callable(i)
185196 func closeVote (voteId) = if (if (if ((i.caller.bytes == adminAddress1))
186197 then true
187198 else (i.caller.bytes == adminAddress2))
188199 then true
189200 else (i.caller.bytes == adminAddress3))
190201 then if (profileExist(voteId))
191202 then WriteSet([DataEntry(getStatusKey(voteId), "closed")])
192203 else throw("Invalid ID")
193204 else throw("Only Dyzrupt Admin can call this dApp function")
194205
195206
196207
197208 @Callable(i)
198209 func withdraw (voteId) = {
199210 let voter = toBase58String(i.caller.bytes)
200211 if ((getVoter(voter, voteId) != ""))
201212 then if ((getVoteStatus(voteId) == "closed"))
202213 then {
203214 let currentKey = getVoterAmountKey(voter, voteId)
204215 let currentAmount = match getInteger(this, currentKey) {
205216 case a: Int =>
206217 a
207218 case _ =>
208219 throw("You didn't vote for this entrepreneur")
209220 }
210221 if ((currentAmount == 0))
211222 then throw("Seems you have previously withdrawn.")
212223 else ScriptResult(WriteSet([DataEntry(currentKey, 0)]), TransferSet([ScriptTransfer(i.caller, currentAmount, dyzId)]))
213224 }
214225 else throw("Can't withdraw vote amount while voting is still open.")
215226 else throw("You didn't vote for this entrepreneur")
216227 }
217228
218229
219230
220231 @Callable(i)
221232 func stake () = {
222233 let staker = toBase58String(i.caller.bytes)
223234 let pmt = extract(i.payment)
224235 if ((pmt.amount == 0))
225236 then throw("Stake amount too low")
226237 else if ((pmt.assetId != dyzId))
227238 then throw("You can only stake with DYZRUPT token")
228239 else {
229240 let currentStake = getCurrentStake(staker)
230241 let stakeableAmount = fraction(pmt.amount, 5, 100)
231242 let amountToStake = (pmt.amount - stakeableAmount)
232243 let newStakedAmount = (currentStake + amountToStake)
233244 let stakePool = getStakePool()
234245 let newStakePool = (stakePool + stakeableAmount)
235246 ScriptResult(WriteSet([DataEntry(getStakerKey(staker), newStakedAmount), DataEntry(getStakePoolKey(), newStakePool)]), TransferSet(nil))
236247 }
237248 }
238249
239250
240251
241252 @Callable(i)
242253 func unstake (amount) = {
243254 let staker = toBase58String(i.caller.bytes)
244255 let currentStake = getCurrentStake(staker)
245256 if ((currentStake == 0))
246257 then throw("You don't have any stakes")
247258 else if ((amount > currentStake))
248259 then throw("You can't withdraw an amount higher than you staked")
249260 else {
250261 let unstakeableAmount = fraction(amount, 10, 100)
251262 let amountToUnstake = (amount - unstakeableAmount)
252263 let newUnstakedAmount = (currentStake - amount)
253264 let stakePool = getStakePool()
254265 let newStakePool = (stakePool + unstakeableAmount)
255266 ScriptResult(WriteSet([DataEntry(getStakerKey(staker), newUnstakedAmount), DataEntry(getStakePoolKey(), newStakePool)]), TransferSet([ScriptTransfer(i.caller, amountToUnstake, dyzId)]))
256267 }
257268 }
258269
259270
260271
261272 @Callable(i)
262273 func claimDailyStakeReward (reward) = {
263274 let staker = toBase58String(i.caller.bytes)
264275 let currentStake = getCurrentStake(staker)
265276 let stakePool = getStakePool()
266277 let currentHeight = height
267278 let lastClaimHeight = getLastClaimHeight(staker)
268279 let claimedTotalSoFar = getClaimedTotal()
269280 let claimedByStaker = getClaimedByStaker(staker)
270281 if ((currentStake == 0))
271282 then throw("You don't have any stakes")
272283 else if ((stakePool == 0))
273284 then throw("Nothing in Stake pool at this time. Try again later")
274285 else if ((reward > stakePool))
275286 then throw("No rewards at this time")
276287 else if (((lastClaimHeight + 1440) > currentHeight))
277- then throw("You can only claim once a day")
288+ then throw(toString(getCurrentStake1()))
278289 else {
279290 let newStakePool = (stakePool - reward)
280291 let newStakeAmount = currentStake
281292 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)]))
282293 }
283294 }
284295
285296

github/deemru/w8io/3ef1775 
49.79 ms