tx · HjCEzxL7XsoB2wR7QZnrG72GRmkbDk5sAGf6QBGH9JDR

3PHTv84n3fsjezBLR7z8vREsTEmcKZMqDo5:  -0.01000000 Waves

2021.09.23 16:20 [2780653] smart account 3PHTv84n3fsjezBLR7z8vREsTEmcKZMqDo5 > SELF 0.00000000 Waves

{ "type": 13, "id": "HjCEzxL7XsoB2wR7QZnrG72GRmkbDk5sAGf6QBGH9JDR", "fee": 1000000, "feeAssetId": null, "timestamp": 1632403206355, "version": 2, "chainId": 87, "sender": "3PHTv84n3fsjezBLR7z8vREsTEmcKZMqDo5", "senderPublicKey": "EC9UhJJEgRxepi6qkuUC6Mr8WMCwWmbmnsvh1Vp4Ry6f", "proofs": [ "4rhUD8qioMh2dCBLCHn2T2j188et7a15hiyvWn9igp7vfn2vVu2rQm9RU6hTzRsnTdQ2YX1y5QH9Mkxu8bbxozYS" ], "script": "base64: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", "height": 2780653, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: DyE1NJXzcUm9Fut83c5ELZyacsm7oCmQwTfrDfCNjnyr Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let upVote = "upvote"
5+
6+let adminAddress1 = base58'3P2XCb2HwmaEG1zBunzjNq6XNQWmm5Me2sJ'
7+
8+let adminAddress2 = base58'3NAqtCScgFynCuRLUoXm2BHTdu8suatCe7b'
9+
10+let adminAddress3 = base58'3Mucpi1K4FMVrZKnYEgjxQf5DkkBX7QrHoJ'
11+
12+let dyzId = base58'dACACFaoLaRMNGocg5aas4Md9aFP8jdAbLJvF5rqqrV'
13+
14+func getStakePoolKey () = "stake_pool"
15+
16+
17+func getStakePool () = match getInteger(this, getStakePoolKey()) {
18+ case a: Int =>
19+ a
20+ case _ =>
21+ 0
22+}
23+
24+
25+func getVoteAmountKey (id,type) = if ((type == "upvote"))
26+ then (((id + "_") + type) + "_amount")
27+ else throw("Invalid vote type")
28+
29+
30+func getStakerKey (staker) = (staker + "_stake")
31+
32+
33+func getCurrentStake (staker) = match getInteger(this, getStakerKey(staker)) {
34+ case a: Int =>
35+ a
36+ case _ =>
37+ 0
38+}
39+
40+
41+func getProfileKey (id) = (id + "_entrepreneurProfile")
42+
43+
44+func getStatusKey (id) = (id + "_status")
45+
46+
47+func getVoteKey (id,type) = if ((type == "upvote"))
48+ then (id + "_upvote")
49+ else throw("Invalid vote type")
50+
51+
52+func profileExist (id) = match getString(this, getProfileKey(id)) {
53+ case a: String =>
54+ true
55+ case _ =>
56+ false
57+}
58+
59+
60+func getVoteStatus (voteId) = match getString(this, getStatusKey(voteId)) {
61+ case a: String =>
62+ a
63+ case _ =>
64+ false
65+}
66+
67+
68+func getVoterAmountKey (id,voteId) = (((id + "_") + voteId) + "_amount")
69+
70+
71+func getVoteAmountCount (voteId,vote) = match getInteger(this, getVoteAmountKey(voteId, vote)) {
72+ case a: Int =>
73+ a
74+ case _ =>
75+ 0
76+}
77+
78+
79+func getLastClaimHeight (pubKey) = match getInteger(this, ("last_claim_" + pubKey)) {
80+ case a: Int =>
81+ a
82+ case _ =>
83+ 0
84+}
85+
86+
87+func getVoteCount (voteId,vote) = match getInteger(this, getVoteKey(voteId, vote)) {
88+ case a: Int =>
89+ a
90+ case _ =>
91+ throw("Not a valid vote ID")
92+}
93+
94+
95+func getVoterKey (address,voteId) = ((((address + "_") + voteId) + "_") + "vote")
96+
97+
98+func getVoter (address,voteId) = match getString(this, getVoterKey(address, voteId)) {
99+ case a: String =>
100+ a
101+ case _ =>
102+ ""
103+}
104+
105+
106+func canVote (address,voteId) = {
107+ let voter = getVoter(address, voteId)
108+ if ((voter == ""))
109+ then true
110+ else false
111+ }
112+
113+
114+func getClaimedTotal () = match getInteger(this, "claimed_total") {
115+ case a: Int =>
116+ a
117+ case _ =>
118+ 0
119+}
120+
121+
122+func getClaimedByStaker (address) = match getInteger(this, ("claimed_total_" + address)) {
123+ case a: Int =>
124+ a
125+ case _ =>
126+ 0
127+}
128+
129+
130+@Callable(i)
131+func addEntrepreneurProfile (name,avatar,bio,gender,location) = if (if (if ((i.caller.bytes == adminAddress1))
132+ then true
133+ else (i.caller.bytes == adminAddress2))
134+ then true
135+ else (i.caller.bytes == adminAddress3))
136+ then {
137+ let transactionId = toBase58String(i.transactionId)
138+ WriteSet([DataEntry(getProfileKey(transactionId), ((((((((name + "_") + avatar) + "_") + bio) + "_") + gender) + "_") + location)), DataEntry(getVoteKey(transactionId, "upvote"), 0), DataEntry(getVoteAmountKey(transactionId, "upvote"), 0), DataEntry(getStatusKey(transactionId), "open")])
139+ }
140+ else throw("Only Dyzrupt Admin can call this dApp function")
141+
142+
143+
144+@Callable(i)
145+func vote (voteId,vote) = {
146+ let pmt = extract(i.payment)
147+ let voter = toBase58String(i.caller.bytes)
148+ if ((pmt.amount == 0))
149+ then throw("You cannot vote without paying voting fee")
150+ else if ((pmt.assetId != dyzId))
151+ then throw("You can only vote with DYZRUPT token")
152+ else if (canVote(toBase58String(i.caller.bytes), voteId))
153+ then if (profileExist(voteId))
154+ then if ((getVoteStatus(voteId) == "open"))
155+ then if ((vote == upVote))
156+ then {
157+ let voteCount = getVoteCount(voteId, vote)
158+ let voteAmountCount = getVoteAmountCount(voteId, vote)
159+ let newVoteCount = (voteCount + 1)
160+ let newVoteAmountCount = (voteAmountCount + pmt.amount)
161+ 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)]))
162+ }
163+ else throw("Not a valid vote value")
164+ else throw("This profile is not open for voting")
165+ else throw("Invalid Profile")
166+ else throw("You can't vote twice")
167+ }
168+
169+
170+
171+@Callable(i)
172+func openVote (voteId) = if (if (if ((i.caller.bytes == adminAddress1))
173+ then true
174+ else (i.caller.bytes == adminAddress2))
175+ then true
176+ else (i.caller.bytes == adminAddress3))
177+ then if (profileExist(voteId))
178+ then WriteSet([DataEntry(getStatusKey(voteId), "open")])
179+ else throw("Invalid ID")
180+ else throw("Only Dyzrupt Admin can call this dApp function")
181+
182+
183+
184+@Callable(i)
185+func closeVote (voteId) = if (if (if ((i.caller.bytes == adminAddress1))
186+ then true
187+ else (i.caller.bytes == adminAddress2))
188+ then true
189+ else (i.caller.bytes == adminAddress3))
190+ then if (profileExist(voteId))
191+ then WriteSet([DataEntry(getStatusKey(voteId), "closed")])
192+ else throw("Invalid ID")
193+ else throw("Only Dyzrupt Admin can call this dApp function")
194+
195+
196+
197+@Callable(i)
198+func withdraw (voteId) = {
199+ let voter = toBase58String(i.caller.bytes)
200+ if ((getVoter(voter, voteId) != ""))
201+ then if ((getVoteStatus(voteId) == "closed"))
202+ then {
203+ let currentKey = getVoterAmountKey(voter, voteId)
204+ let currentAmount = match getInteger(this, currentKey) {
205+ case a: Int =>
206+ a
207+ case _ =>
208+ throw("You didn't vote for this entrepreneur")
209+ }
210+ if ((currentAmount == 0))
211+ then throw("Seems you have previously withdrawn.")
212+ else ScriptResult(WriteSet([DataEntry(currentKey, 0)]), TransferSet([ScriptTransfer(i.caller, currentAmount, dyzId)]))
213+ }
214+ else throw("Can't withdraw vote amount while voting is still open.")
215+ else throw("You didn't vote for this entrepreneur")
216+ }
217+
218+
219+
220+@Callable(i)
221+func stake () = {
222+ let staker = toBase58String(i.caller.bytes)
223+ let pmt = extract(i.payment)
224+ if ((pmt.amount == 0))
225+ then throw("Stake amount too low")
226+ else if ((pmt.assetId != dyzId))
227+ then throw("You can only stake with DYZRUPT token")
228+ else {
229+ let currentStake = getCurrentStake(staker)
230+ let stakePercent = (10 / 100)
231+ let stakeableAmount = fraction(pmt.amount, 5, 100)
232+ let amountToStake = (pmt.amount - stakeableAmount)
233+ let newStakedAmount = (currentStake + amountToStake)
234+ let stakePool = getStakePool()
235+ let newStakePool = (stakePool + stakeableAmount)
236+ ScriptResult(WriteSet([DataEntry(getStakerKey(staker), newStakedAmount), DataEntry(getStakePoolKey(), newStakePool)]), TransferSet(nil))
237+ }
238+ }
239+
240+
241+
242+@Callable(i)
243+func unstake (amount) = {
244+ let staker = toBase58String(i.caller.bytes)
245+ let currentStake = getCurrentStake(staker)
246+ if ((currentStake == 0))
247+ then throw("You don't have any stakes")
248+ else if ((amount > currentStake))
249+ then throw("You can't withdraw an amount higher than you staked")
250+ else {
251+ let unstakeableAmount = fraction(amount, 10, 100)
252+ let amountToUnstake = (amount - unstakeableAmount)
253+ let newUnstakedAmount = (currentStake - amount)
254+ let stakePool = getStakePool()
255+ let newStakePool = (stakePool + unstakeableAmount)
256+ ScriptResult(WriteSet([DataEntry(getStakerKey(staker), newUnstakedAmount), DataEntry(getStakePoolKey(), newStakePool)]), TransferSet([ScriptTransfer(i.caller, amountToUnstake, dyzId)]))
257+ }
258+ }
259+
260+
261+
262+@Callable(i)
263+func claimDailyStakeReward (reward) = {
264+ let staker = toBase58String(i.caller.bytes)
265+ let currentStake = getCurrentStake(staker)
266+ let stakePool = getStakePool()
267+ let currentHeight = height
268+ let lastClaimHeight = getLastClaimHeight(staker)
269+ let claimedTotalSoFar = getClaimedTotal()
270+ let claimedByStaker = getClaimedByStaker(staker)
271+ if ((currentStake == 0))
272+ then throw("You don't have any stakes")
273+ else if ((stakePool == 0))
274+ then throw("Nothing in Stake pool at this time. Try again later")
275+ else if ((reward > stakePool))
276+ then throw("No rewards at this time")
277+ else if (((lastClaimHeight + 1440) > currentHeight))
278+ then throw("You can only claim once a day")
279+ else {
280+ let newStakePool = (stakePool - reward)
281+ let newStakeAmount = (currentStake - reward)
282+ 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)]))
283+ }
284+ }
285+
286+

github/deemru/w8io/0e76f2f 
31.30 ms