2021.08.01 09:47 [2703727] smart account 3PMf35RXPcJWV7uSmaTMHk8PbEaJyBfsaYE > SELF 0.00000000 Waves

{ "type": 13, "id": "G3ksDPjJtPSmS2dEy14mYvS5NeHmsX7jEpHFN9A2f3Mt", "fee": 1000000, "feeAssetId": null, "timestamp": 1627800537264, "version": 2, "chainId": 87, "sender": "3PMf35RXPcJWV7uSmaTMHk8PbEaJyBfsaYE", "senderPublicKey": "FFDorDp8bC9dyUK2w8hYPWPVEcbbk9zYkpHn3gcq9svn", "proofs": [ "1KdgqN7QitWuZmUYVuq1hxcirZ4wWWcf9phqtvF8ux8T2pkQvB3HoCxpmFC2S5Cjib3mD8zsqxPtqYwMaRPLCNZ" ], "script": "base64:AAIDAAAAAAAABtAIARIAEgASABIDCgEBEgASAwoBARIAEgASAwoBCBoHCgJhMRIBaRoQCgJhMhIKY3VycmVudEtleRoRCgJhMxILR292ZXJuVG9rZW4aEgoCYTQSDERldkJveEFtb3VudBoNCgJhNRIHJG1hdGNoMBoHCgJhNhIBYRoRCgJhNxILU3Rha2VkVG9rZW4aEgoCYTgSDG1pblB1c2hCbG9jaxoTCgJhORINbWluU3Rha2VCbG9jaxoUCgJiMRIORGVsYXlBZnRlclB1c2gaDgoCYjISCFdhaXRUaW1lGgwKAmIzEgZtaW5yZWYaHQoCYjQSF3VzZXJXYWxsZXRHb3Zlcm5CYWxhbmNlGgkKAmI1EgNwbXQaDgoCYjYSCFVzZXJQdXNoGhoKAmI3EhRVc2VyTGFzdFB1c2hPbGRWYWx1ZRoRCgJiOBILVXNlclJlZnNOdW0aFgoCYjkSEFVzZXJSZWZzTnVtVmFsdWUaFgoCYzESEEhpZ2hlc3RQdXNoVmFsdWUaFwoCYzISEVVzZXJMYXN0UHVzaEJsb2NrGhgKAmMzEhJVc2VyTGFzdFN0YWtlQmxvY2saDwoCYzQSCVVzZXJTdGFrZRogCgJjNRIaQ29udHJhY3RXYWxsZXRTdGFrZUJhbGFuY2UaEgoCYzYSDFN0YWtlQmFsYW5jZRoRCgJjNxILUHJpemVBbW91bnQaGwoCYzgSFUhlaWdodFRyYW5zYWN0RnVuZEJveBoWCgJjORIQUHJpemVIZWlnaHRWYWx1ZRoRCgJkMRILQWN0dWFsRGVsYXkaGAoCZDISEkhpZ2hlc3RQdXNoQWRkcmVzcxocCgJkMxIWVXNlckxhc3RQdXNoQmxvY2tWYWx1ZRodCgJkNBIXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUaFAoCZDUSDlVzZXJTdGFrZVZhbHVlGhMKAmQ2Eg1EZXZCb3hCYWxhbmNlGhMKAmQ3Eg1Vc2VyUHVzaHZhbHVlGg4KAmQ4EghOZXdEZWxheRoZCgJkORITUHJpemVIZWlnaHRWYWx1ZU5ldxoJCgJlMRIDdHh0GiUKAmUyEh9Hb3Zlcm5Ub2tlblNtYXJ0Q29udHJhY3RCYWxhbmNlGg0KAmUzEgdVc2VyQVBZGhgKAmU0EhJVc2VyU3Rha2VkVG9rZW5LZXkaGAoCZTUSElVzZXJHb3Zlcm5Ub2tlbktleRoeCgJlNhIYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5GhMKAmU3Eg1BZGRyZXNzSGVpZ2h0GhsKAmU4EhVVc2VyU3Rha2VUcmFuc2FjdGlvbnMaEwoCZTkSDVVzZXJQdXNoVmFsdWUaIAoCZjESGlVzZXJMYXN0U3Rha2VCbG9ja05ld1ZhbHVlGh4KAmYyEhhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMaHgoCZjMSGGN1cnJlbnRBbW91bnRTdGFrZWRUb2tlbhoaCgJmNBIUbmV3QW1vdW50U3Rha2VkVG9rZW4aGAoCZjUSElN0YWtlQmFsYW5jZUFtb3VudBoeCgJmNhIYY3VycmVudEFtb3VudEdvdmVyblRva2VuGgwKAmY3EgZSZXdhcmQaEgoCZjgSDFVzZXJBUFlWYWx1ZRoaCgJmORIUbmV3QW1vdW50R292ZXJuVG9rZW4aDAoCZzESBmFtb3VudBoTCgJnMhINY3VycmVudEFtb3VudBoPCgJnMxIJbmV3QW1vdW50Gh4KAmc0EhhMYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2saFQoCZzUSD0JpZ1N0YWtlclJld2FyZBoYCgJnNhISTGltaVdpdGhkcmF3UmV3YXJkGhsKAmc3EhVVc2VyR292ZXJuVG9rZW5BbW91bnQaIwoCZzgSHUxhc3RCaWdTdGFrZXJSZXdhcmRCbG9ja1ZhbHVlGh8KAmc5EhlCaWdTdGFrZXJSZXdhcmRUb3RhbFZhbHVlGhgKAmgxEhJCaWdTdGFrZXJSZXdhcmRUYXgaDwoCaDISCURlbGF5RGF5cxoeCgJoMxIYVXNlcldhbGxldFNHb3Zlcm5CYWxhbmNlGhUKAmg0Eg9BY3R1YWxEZWxheUNvc3QaEgoCaDUSDE5ld0RlbGF5Q29zdBodCgJoNhIXQ29udHJhY3RHb3ZUb2tlbkJhbGFuY2UaGwoCaDcSFVVzZXJTdGFrZWRUb2tlbkFtb3VudBoRCgJoOBILUHJpemVXaW5uZXIaEQoCaDkSC1ByaXplSGVpZ2h0GgwKAmkxEgZNZW50b3IaFwoCaTISEVVzZXJNZW50b3JBZGRyZXNzAAAAAAAAAAkAAAACYTEBAAAAC0RldldpdGhkcmF3AAAAAAQAAAACYTIJAAJY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", "height": 2703727, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9jSAy38onziwFfgFWD2qWsdx2s3CCjhPQxkfPmCzjBds Next: BwCFFrbgcCVHtFeSXBE7JdTXnRLwX7Az4rgpsfm5uWZi Diff:
OldNewDifferences
159159 else (HighestPushValue == 0))
160160 then if ((UserRefsNumValue >= minref))
161161 then WriteSet([DataEntry(UserPush, UserPushvalue), DataEntry("HighestPushAddress", toBase58String(i.caller.bytes)), DataEntry("HighestPush", UserPushvalue), DataEntry(UserLastPushBlock, height), DataEntry("PrizeHeight", PrizeHeightValueNew), DataEntry("Delay", NewDelay), DataEntry("DevBox", DevBoxAmount)])
162- else throw("You have to have 10 referrals already staking for a minimum of 10 days, to push")
162+ else throw("You have to have 01 referrals already staking for a minimum of 10 days, to push")
163163 else {
164164 let txt = if ((HighestPushValue > 0))
165165 then "You cannot Push after rewarding Prize and before One day has passed after award"
642642 else false)
643643 then if ((UserRefsNumValue >= minref))
644644 then ScriptResult(WriteSet([DataEntry(PrizeWinner, PrizeAmount), DataEntry("FundBox", 0), DataEntry("HighestPush", 0), DataEntry(UserPush, 0), DataEntry("HighestPushAddress", ""), DataEntry("PrizeHeight", 0), DataEntry("Delay", 0), DataEntry("DelayCost", 0), DataEntry("LastWinner", PrizeWinner), DataEntry("LastPrize", PrizeAmount)]), TransferSet([ScriptTransfer(i.caller, PrizeAmount, StakedToken), ScriptTransfer(i.caller, 1000000000, GovernToken)]))
645- else throw("You have to have 10 referrals already staking for a minimum of 10 days to Claim the prize")
645+ else throw("You have to have 01 referrals already staking for a minimum of 10 days to Claim the prize")
646646 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
647647 }
648648
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func DevWithdraw () = {
88 let currentKey = toBase58String(i.caller.bytes)
99 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
1010 if ((currentKey == "3P74buHt98BnojFcaREJZtb98KDyUmZGemJ"))
1111 then {
1212 let DevBoxAmount = match getInteger(this, "DevBox") {
1313 case a: Int =>
1414 a
1515 case _ =>
1616 0
1717 }
1818 if ((0 > DevBoxAmount))
1919 then throw("Not enough balance")
2020 else ScriptResult(WriteSet([DataEntry("DevBox", 0)]), TransferSet([ScriptTransfer(i.caller, DevBoxAmount, GovernToken)]))
2121 }
2222 else throw("You cannot withdraw as your are not the Dev.")
2323 }
2424
2525
2626
2727 @Callable(i)
2828 func PushReward () = {
2929 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
3030 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
3131 let minPushBlock = 10
3232 let minStakeBlock = (7 * 1440)
3333 let DelayAfterPush = 60
3434 let WaitTime = 1440
3535 let minref = 1
3636 let userWalletGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
3737 let pmt = extract(i.payment)
3838 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
3939 let UserLastPushOldValue = match getInteger(this, UserPush) {
4040 case a: Int =>
4141 a
4242 case _ =>
4343 0
4444 }
4545 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
4646 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
4747 case a: Int =>
4848 a
4949 case _ =>
5050 0
5151 }
5252 let HighestPushValue = match getInteger(this, "HighestPush") {
5353 case a: Int =>
5454 a
5555 case _ =>
5656 0
5757 }
5858 if ((userWalletGovernBalance > pmt.amount))
5959 then if (if (((pmt.amount + UserLastPushOldValue) > HighestPushValue))
6060 then (pmt.assetId == GovernToken)
6161 else false)
6262 then {
6363 let UserLastPushBlock = (toBase58String(i.caller.bytes) + "_UserLastPushBlock")
6464 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
6565 let UserStake = (toBase58String(i.caller.bytes) + "_Staking")
6666 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
6767 let StakeBalance = match getInteger(this, "StakeBalance") {
6868 case a: Int =>
6969 a
7070 case _ =>
7171 0
7272 }
7373 let PrizeAmount = match getInteger(this, "FundBox") {
7474 case a: Int =>
7575 a
7676 case _ =>
7777 0
7878 }
7979 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
8080 case a: Int =>
8181 a
8282 case _ =>
8383 0
8484 }
8585 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
8686 then (PrizeAmount == 0)
8787 else false)
8888 then 0
8989 else if (if ((HeightTransactFundBox == 0))
9090 then (PrizeAmount != 0)
9191 else false)
9292 then height
9393 else if (if ((HeightTransactFundBox != 0))
9494 then (PrizeAmount != 0)
9595 else false)
9696 then HeightTransactFundBox
9797 else 0
9898 let ActualDelay = match getInteger(this, "Delay") {
9999 case a: Int =>
100100 a
101101 case _ =>
102102 0
103103 }
104104 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
105105 case a: Int =>
106106 a
107107 case _ =>
108108 0
109109 }
110110 let UserLastPushBlockValue = match getInteger(this, UserLastPushBlock) {
111111 case a: Int =>
112112 a
113113 case _ =>
114114 0
115115 }
116116 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
117117 case a: Int =>
118118 a
119119 case _ =>
120120 0
121121 }
122122 let UserStakeValue = match getInteger(this, UserStake) {
123123 case a: Int =>
124124 a
125125 case _ =>
126126 0
127127 }
128128 let DevBoxBalance = match getInteger(this, "DevBox") {
129129 case a: Int =>
130130 a
131131 case _ =>
132132 0
133133 }
134134 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
135135 let UserPushvalue = (pmt.amount + UserLastPushOldValue)
136136 let NewDelay = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
137137 then (HighestPushValue > 0)
138138 else false)
139139 then 0
140140 else (ActualDelay + DelayAfterPush)
141141 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + NewDelay) + WaitTime)))
142142 then (HighestPushValue > 0)
143143 else false)
144144 then height
145145 else PrizeHeightValue
146146 if (if ((UserPushvalue > 0))
147147 then ((height - UserLastStakeBlockValue) > minStakeBlock)
148148 else false)
149149 then if (((height - UserLastPushBlockValue) > minPushBlock))
150150 then if ((UserStakeValue > 0))
151151 then if ((UserPushvalue > HighestPushValue))
152152 then if ((PrizeAmount > 0))
153153 then if (if (if (if (((PrizeHeightValueNew + NewDelay) > height))
154154 then true
155155 else (height > ((PrizeHeightValueNew + NewDelay) + WaitTime)))
156156 then (HighestPushValue > 0)
157157 else false)
158158 then true
159159 else (HighestPushValue == 0))
160160 then if ((UserRefsNumValue >= minref))
161161 then WriteSet([DataEntry(UserPush, UserPushvalue), DataEntry("HighestPushAddress", toBase58String(i.caller.bytes)), DataEntry("HighestPush", UserPushvalue), DataEntry(UserLastPushBlock, height), DataEntry("PrizeHeight", PrizeHeightValueNew), DataEntry("Delay", NewDelay), DataEntry("DevBox", DevBoxAmount)])
162- else throw("You have to have 10 referrals already staking for a minimum of 10 days, to push")
162+ else throw("You have to have 01 referrals already staking for a minimum of 10 days, to push")
163163 else {
164164 let txt = if ((HighestPushValue > 0))
165165 then "You cannot Push after rewarding Prize and before One day has passed after award"
166166 else "Unexpected error"
167167 throw(txt)
168168 }
169169 else throw("You cannot push before the reward is unlocked, no reward has been detected yet")
170170 else throw("Your push in troikan token, should be Higher than last Highest Push")
171171 else throw("To be able to participate in Pushing for the reward you need to Stake ASIMIs in the dApp")
172172 else throw("You have to wait 10min before you can make a new Push")
173173 else throw(("Your Push dot not comply one of the following conditions: " + "1. Positive Value for Push in Troikan Toke
174174 2. Must Staked ASIMI Token for a minimum of week "))
175175 }
176176 else throw((("Can deposit only positive amounts of Troikan Token, or Check your Wallet balance in Troika, you should have more than " + toString(HighestPushValue)) + " to push"))
177177 else throw("You do not have enough Troikan Tokens in your Wallet Balance, Please Harvest if you have earned Troikan wallet or transfer to your wallet necessary Troikan amount !")
178178 }
179179
180180
181181
182182 @Callable(i)
183183 func Stake () = {
184184 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
185185 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
186186 let pmt = extract(i.payment)
187187 if (if ((pmt.amount > 0))
188188 then (pmt.assetId == StakedToken)
189189 else false)
190190 then {
191191 let GovernTokenSmartContractBalance = assetBalance(this, GovernToken)
192192 let UserAPY = (toBase58String(i.caller.bytes) + "_APY")
193193 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
194194 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
195195 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
196196 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
197197 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
198198 let AddressHeight = (toBase58String(i.caller.bytes) + "_PrizeHeight")
199199 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
200200 case a: Int =>
201201 a
202202 case _ =>
203203 0
204204 }
205205 let UserPushValue = match getInteger(this, UserPush) {
206206 case a: Int =>
207207 a
208208 case _ =>
209209 0
210210 }
211211 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
212212 case a: Int =>
213213 a
214214 case _ =>
215215 0
216216 }
217217 let UserLastStakeBlockNewValue = if ((UserLastStakeBlockValue == 0))
218218 then height
219219 else UserLastStakeBlockValue
220220 let NewUserStakeTransactions = (UserStakeTransactions + 1)
221221 let currentAmountStakedToken = match getInteger(this, UserStakedTokenKey) {
222222 case a: Int =>
223223 a
224224 case _ =>
225225 0
226226 }
227227 let newAmountStakedToken = (currentAmountStakedToken + pmt.amount)
228228 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
229229 let StakeBalance = match getInteger(this, "StakeBalance") {
230230 case a: Int =>
231231 a
232232 case _ =>
233233 0
234234 }
235235 let StakeBalanceAmount = (StakeBalance + pmt.amount)
236236 let PrizeAmount = match getInteger(this, "FundBox") {
237237 case a: Int =>
238238 a
239239 case _ =>
240240 0
241241 }
242242 let currentAmountGovernToken = match getInteger(this, UserGovernTokenKey) {
243243 case a: Int =>
244244 a
245245 case _ =>
246246 0
247247 }
248248 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
249249 case a: Int =>
250250 a
251251 case _ =>
252252 0
253253 }
254254 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
255255 then (PrizeAmount == 0)
256256 else false)
257257 then 0
258258 else if (if ((HeightTransactFundBox == 0))
259259 then (PrizeAmount != 0)
260260 else false)
261261 then height
262262 else if (if ((HeightTransactFundBox != 0))
263263 then (PrizeAmount != 0)
264264 else false)
265265 then HeightTransactFundBox
266266 else 0
267267 if ((100000000 > GovernTokenSmartContractBalance))
268268 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
269269 else {
270270 let Reward = if ((StakeBalance == 0))
271271 then 10000
272272 else if ((NewUserStakeTransactions > 10))
273273 then ((10000 * NewUserStakeTransactions) * (1 + (newAmountStakedToken / StakeBalance)))
274274 else (10000 * (1 + (newAmountStakedToken / StakeBalance)))
275275 let UserAPYValue = if ((currentAmountGovernToken > 0))
276276 then ((100 * Reward) / currentAmountGovernToken)
277277 else 0
278278 let newAmountGovernToken = (currentAmountGovernToken + Reward)
279279 ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmountGovernToken), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(UserAPY, UserAPYValue), DataEntry(UserLastStakeBlock, UserLastStakeBlockNewValue), DataEntry(UserPush, UserPushValue)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
280280 }
281281 }
282282 else throw("Can deposit only StakeToken")
283283 }
284284
285285
286286
287287 @Callable(i)
288288 func WithdrawStakedFunds (amount) = {
289289 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
290290 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
291291 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
292292 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
293293 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
294294 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
295295 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
296296 case a: Int =>
297297 a
298298 case _ =>
299299 0
300300 }
301301 let StakeBalance = match getInteger(this, "StakeBalance") {
302302 case a: Int =>
303303 a
304304 case _ =>
305305 0
306306 }
307307 let PrizeAmount = match getInteger(this, "FundBox") {
308308 case a: Int =>
309309 a
310310 case _ =>
311311 0
312312 }
313313 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
314314 case a: Int =>
315315 a
316316 case _ =>
317317 0
318318 }
319319 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
320320 then (PrizeAmount == 0)
321321 else false)
322322 then 0
323323 else if (if ((HeightTransactFundBox == 0))
324324 then (PrizeAmount != 0)
325325 else false)
326326 then height
327327 else if (if ((HeightTransactFundBox != 0))
328328 then (PrizeAmount != 0)
329329 else false)
330330 then HeightTransactFundBox
331331 else 0
332332 let currentKey = toBase58String(i.caller.bytes)
333333 let currentAmount = match getInteger(this, UserStakedTokenKey) {
334334 case a: Int =>
335335 a
336336 case _ =>
337337 0
338338 }
339339 let newAmount = (currentAmount - amount)
340340 let StakeBalanceAmount = (StakeBalance - amount)
341341 let UserLastStakeBlockNewValue = if ((StakeBalanceAmount == 0))
342342 then 0
343343 else UserLastStakeBlockValue
344344 if ((0 > amount))
345345 then throw("Can't withdraw negative amount")
346346 else if ((0 > newAmount))
347347 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
348348 else if ((100000000 > assetBalance(this, GovernToken)))
349349 then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, GovernToken) / 100000000))))
350350 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, 100000000), DataEntry(UserStakedTokenKey, newAmount), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(UserLastStakeBlock, UserLastStakeBlockNewValue)]), TransferSet([ScriptTransfer(i.caller, 100000000, GovernToken), ScriptTransfer(i.caller, amount, StakedToken)]))
351351 }
352352
353353
354354
355355 @Callable(i)
356356 func WithdrawBigStakeReward () = {
357357 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
358358 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
359359 let LastBigStakerRewardBlock = (toBase58String(i.caller.bytes) + "LastBigStakerRewardBlock")
360360 let BigStakerReward = (toBase58String(i.caller.bytes) + "_BigStaker")
361361 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
362362 let LimiWithdrawReward = 10
363363 let UserGovernTokenAmount = match getInteger(this, UserGovernTokenKey) {
364364 case a: Int =>
365365 a
366366 case _ =>
367367 0
368368 }
369369 let LastBigStakerRewardBlockValue = match getInteger(this, LastBigStakerRewardBlock) {
370370 case a: Int =>
371371 a
372372 case _ =>
373373 0
374374 }
375375 let BigStakerRewardTotalValue = match getInteger(this, "BigStakerRewardTotal") {
376376 case a: Int =>
377377 a
378378 case _ =>
379379 0
380380 }
381381 let PrizeAmount = match getInteger(this, "FundBox") {
382382 case a: Int =>
383383 a
384384 case _ =>
385385 0
386386 }
387387 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
388388 case a: Int =>
389389 a
390390 case _ =>
391391 0
392392 }
393393 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
394394 then (PrizeAmount == 0)
395395 else false)
396396 then 0
397397 else if (if ((HeightTransactFundBox == 0))
398398 then (PrizeAmount != 0)
399399 else false)
400400 then height
401401 else if (if ((HeightTransactFundBox != 0))
402402 then (PrizeAmount != 0)
403403 else false)
404404 then HeightTransactFundBox
405405 else 0
406406 let currentKey = toBase58String(i.caller.bytes)
407407 let amount = match getInteger(this, BigStakerReward) {
408408 case a: Int =>
409409 a
410410 case _ =>
411411 0
412412 }
413413 let StakeBalanceAmount = (BigStakerRewardTotalValue - amount)
414414 let BigStakerRewardTax = if (((height - LastBigStakerRewardBlockValue) >= LimiWithdrawReward))
415415 then (1 * 100000000)
416416 else (((UserGovernTokenAmount / 100) * LimiWithdrawReward) / (height - LastBigStakerRewardBlockValue))
417417 if ((0 > amount))
418418 then throw("Can't withdraw negative amount ")
419419 else if (((1000 * 100000000) > UserGovernTokenAmount))
420420 then throw(("Not enough Earned Troikan Tokens to do transaction, you need at least 1000 Troikans, you have: " + toString((assetBalance(this, GovernToken) / 100000000))))
421421 else if ((BigStakerRewardTax > (1 * 100000000)))
422422 then throw(("Be careful it will cost you: " + toString((BigStakerRewardTax / 100000000))))
423423 else ScriptResult(WriteSet([DataEntry(BigStakerReward, 0), DataEntry("BigStakerRewardTotal", StakeBalanceAmount), DataEntry(UserGovernTokenKey, (UserGovernTokenAmount - BigStakerRewardTax)), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(LastBigStakerRewardBlock, height)]), TransferSet([ScriptTransfer(i.caller, amount, StakedToken)]))
424424 }
425425
426426
427427
428428 @Callable(i)
429429 func HarvestGovernToiken (amount) = {
430430 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
431431 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
432432 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
433433 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
434434 let StakeBalance = match getInteger(this, "StakeBalance") {
435435 case a: Int =>
436436 a
437437 case _ =>
438438 0
439439 }
440440 let PrizeAmount = match getInteger(this, "FundBox") {
441441 case a: Int =>
442442 a
443443 case _ =>
444444 0
445445 }
446446 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
447447 case a: Int =>
448448 a
449449 case _ =>
450450 0
451451 }
452452 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
453453 then (PrizeAmount == 0)
454454 else false)
455455 then 0
456456 else if (if ((HeightTransactFundBox == 0))
457457 then (PrizeAmount != 0)
458458 else false)
459459 then height
460460 else if (if ((HeightTransactFundBox != 0))
461461 then (PrizeAmount != 0)
462462 else false)
463463 then HeightTransactFundBox
464464 else 0
465465 let currentKey = toBase58String(i.caller.bytes)
466466 let currentAmount = match getInteger(this, UserGovernTokenKey) {
467467 case a: Int =>
468468 a
469469 case _ =>
470470 0
471471 }
472472 let newAmount = (currentAmount - amount)
473473 if ((0 > amount))
474474 then throw("Can't withdraw negative amount")
475475 else if ((0 > newAmount))
476476 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
477477 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
478478 }
479479
480480
481481
482482 @Callable(i)
483483 func delayprize () = {
484484 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
485485 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
486486 let DelayDays = (1 * 1440)
487487 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
488488 let UserWalletSGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
489489 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
490490 let StakeBalance = match getInteger(this, "StakeBalance") {
491491 case a: Int =>
492492 a
493493 case _ =>
494494 0
495495 }
496496 let PrizeAmount = match getInteger(this, "FundBox") {
497497 case a: Int =>
498498 a
499499 case _ =>
500500 0
501501 }
502502 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
503503 case a: Int =>
504504 a
505505 case _ =>
506506 0
507507 }
508508 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
509509 then (PrizeAmount == 0)
510510 else false)
511511 then 0
512512 else if (if ((HeightTransactFundBox == 0))
513513 then (PrizeAmount != 0)
514514 else false)
515515 then height
516516 else if (if ((HeightTransactFundBox != 0))
517517 then (PrizeAmount != 0)
518518 else false)
519519 then HeightTransactFundBox
520520 else 0
521521 let ActualDelay = match getInteger(this, "Delay") {
522522 case a: Int =>
523523 a
524524 case _ =>
525525 0
526526 }
527527 let ActualDelayCost = match getInteger(this, "DelayCost") {
528528 case a: Int =>
529529 a
530530 case _ =>
531531 10
532532 }
533533 let pmt = extract(i.payment)
534534 let DevBoxBalance = match getInteger(this, "DevBox") {
535535 case a: Int =>
536536 a
537537 case _ =>
538538 0
539539 }
540540 if (if (isDefined(pmt.assetId))
541541 then (extract(pmt.assetId) == GovernToken)
542542 else false)
543543 then if ((PrizeAmount > 0))
544544 then {
545545 let UserGovernTokenAmount = pmt.amount
546546 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
547547 let NewDelayCost = if ((ActualDelayCost == 0))
548548 then 1000000000
549549 else (2 * ActualDelayCost)
550550 if ((UserGovernTokenAmount >= NewDelayCost))
551551 then {
552552 let NewDelay = (ActualDelay + DelayDays)
553553 WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry("DevBox", DevBoxAmount)])
554554 }
555555 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(NewDelayCost)) + "TROIKAs"))
556556 }
557557 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
558558 else throw("Can Use only Troika Token to Delay Reward")
559559 }
560560
561561
562562
563563 @Callable(i)
564564 func ClaimPrize () = {
565565 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
566566 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
567567 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
568568 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
569569 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
570570 let minStakeBlock = 7
571571 let minref = 1
572572 let ContractGovTokenBalance = assetBalance(this, GovernToken)
573573 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
574574 let StakeBalance = match getInteger(this, "StakeBalance") {
575575 case a: Int =>
576576 a
577577 case _ =>
578578 0
579579 }
580580 let PrizeAmount = match getInteger(this, "FundBox") {
581581 case a: Int =>
582582 a
583583 case _ =>
584584 0
585585 }
586586 let UserPushValue = match getInteger(this, UserPush) {
587587 case a: Int =>
588588 a
589589 case _ =>
590590 0
591591 }
592592 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
593593 case a: Int =>
594594 a
595595 case _ =>
596596 0
597597 }
598598 let UserStakedTokenAmount = match getInteger(this, UserStakedTokenKey) {
599599 case a: Int =>
600600 a
601601 case _ =>
602602 0
603603 }
604604 let ActualDelay = match getInteger(this, "Delay") {
605605 case a: Int =>
606606 a
607607 case _ =>
608608 0
609609 }
610610 let PrizeWinner = getStringValue(this, "HighestPushAddress")
611611 let PrizeHeight = match getInteger(this, "PrizeHeight") {
612612 case a: Int =>
613613 a
614614 case _ =>
615615 0
616616 }
617617 let HighestPushValue = match getInteger(this, "HighestPush") {
618618 case a: Int =>
619619 a
620620 case _ =>
621621 0
622622 }
623623 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
624624 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
625625 case a: Int =>
626626 a
627627 case _ =>
628628 0
629629 }
630630 if (if ((PrizeAmount == 0))
631631 then true
632632 else (10000000000 > ContractGovTokenBalance))
633633 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
634634 else if ((toBase58String(i.caller.bytes) != PrizeWinner))
635635 then throw("You are not the winner hence cannot claim the reward ")
636636 else if (if ((100000000 > UserStakedTokenAmount))
637637 then (minStakeBlock > UserLastStakeBlockValue)
638638 else false)
639639 then throw("You have to Stake ASIMI Token to claim reward ")
640640 else if (if ((height > (PrizeHeight + ActualDelay)))
641641 then (UserPushValue >= HighestPushValue)
642642 else false)
643643 then if ((UserRefsNumValue >= minref))
644644 then ScriptResult(WriteSet([DataEntry(PrizeWinner, PrizeAmount), DataEntry("FundBox", 0), DataEntry("HighestPush", 0), DataEntry(UserPush, 0), DataEntry("HighestPushAddress", ""), DataEntry("PrizeHeight", 0), DataEntry("Delay", 0), DataEntry("DelayCost", 0), DataEntry("LastWinner", PrizeWinner), DataEntry("LastPrize", PrizeAmount)]), TransferSet([ScriptTransfer(i.caller, PrizeAmount, StakedToken), ScriptTransfer(i.caller, 1000000000, GovernToken)]))
645- else throw("You have to have 10 referrals already staking for a minimum of 10 days to Claim the prize")
645+ else throw("You have to have 01 referrals already staking for a minimum of 10 days to Claim the prize")
646646 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
647647 }
648648
649649
650650
651651 @Callable(i)
652652 func Addmentor (Mentor) = {
653653 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
654654 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
655655 let UserMentorAddress = (toBase58String(i.caller.bytes) + "_Mentor")
656656 if ((Mentor != ""))
657657 then WriteSet([DataEntry(UserMentorAddress, Mentor)])
658658 else throw("Mentor's Address cannot be empty")
659659 }
660660
661661

github/deemru/w8io/786bc32 
82.24 ms