tx · CrEDcPdALoDYvSdie1ByGgAVc5b16Q5QoV6BzLyBnsDu

3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK:  -0.01000000 Waves

2021.09.14 14:51 [1702664] smart account 3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK > SELF 0.00000000 Waves

{ "type": 13, "id": "CrEDcPdALoDYvSdie1ByGgAVc5b16Q5QoV6BzLyBnsDu", "fee": 1000000, "feeAssetId": null, "timestamp": 1631620349040, "version": 2, "chainId": 84, "sender": "3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK", "senderPublicKey": "AHY8zupoYc6HPJ5fh1gQiGE9bNZSeifFbcQQ89okxVug", "proofs": [ "4yigxkbUeigQ4yR6Duhrh1ziezJx8wVSLDjrpj2WKLvuLpcxM2xhjiGh6vWV4CWt3xz5WUyVkfwbGg1ScvWQtd8N" ], "script": "base64:AAIDAAAAAAAAB8MIARIAEgASABIDCgEBEgASAwoBARIAEgASAwoBCBoHCgJhMRIBaRoQCgJhMhIKY3VycmVudEtleRoRCgJhMxILR292ZXJuVG9rZW4aEgoCYTQSDERldkJveEFtb3VudBoNCgJhNRIHJG1hdGNoMBoHCgJhNhIBYRoRCgJhNxILU3Rha2VkVG9rZW4aEgoCYTgSDG1pblB1c2hCbG9jaxoTCgJhORINbWluU3Rha2VCbG9jaxoUCgJiMRIORGVsYXlBZnRlclB1c2gaDgoCYjISCFdhaXRUaW1lGgwKAmIzEgZtaW5yZWYaFAoCYjQSDkZpcnN0UHVzaFRpbWVyGh0KAmI1Ehd1c2VyV2FsbGV0R292ZXJuQmFsYW5jZRoJCgJiNhIDcG10Gg4KAmI3EghVc2VyUHVzaBoaCgJiOBIUVXNlckxhc3RQdXNoT2xkVmFsdWUaEQoCYjkSC1VzZXJSZWZzTnVtGhYKAmMxEhBVc2VyUmVmc051bVZhbHVlGhYKAmMyEhBIaWdoZXN0UHVzaFZhbHVlGhcKAmMzEhFVc2VyTGFzdFB1c2hCbG9jaxoYCgJjNBISVXNlckxhc3RTdGFrZUJsb2NrGg8KAmM1EglVc2VyU3Rha2UaIAoCYzYSGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlGhIKAmM3EgxTdGFrZUJhbGFuY2UaEQoCYzgSC1ByaXplQW1vdW50GhsKAmM5EhVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gaFgoCZDESEFByaXplSGVpZ2h0VmFsdWUaEQoCZDISC0FjdHVhbERlbGF5GhgKAmQzEhJIaWdoZXN0UHVzaEFkZHJlc3MaHAoCZDQSFlVzZXJMYXN0UHVzaEJsb2NrVmFsdWUaHQoCZDUSF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlGhQKAmQ2Eg5Vc2VyU3Rha2VWYWx1ZRoTCgJkNxINRGV2Qm94QmFsYW5jZRoTCgJkOBINVXNlclB1c2h2YWx1ZRoOCgJkORIITmV3RGVsYXkaHQoCZTESF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlGhkKAmUyEhNQcml6ZUhlaWdodFZhbHVlTmV3GgkKAmUzEgN0eHQaJQoCZTQSH0dvdmVyblRva2VuU21hcnRDb250cmFjdEJhbGFuY2UaDQoCZTUSB1VzZXJBUFkaGAoCZTYSElVzZXJTdGFrZWRUb2tlbktleRoYCgJlNxISVXNlckdvdmVyblRva2VuS2V5Gh4KAmU4EhhVc2VyU3Rha2VUcmFuc2FjdGlvbnNLZXkaEwoCZTkSDUFkZHJlc3NIZWlnaHQaFgoCZjESEFVzZXJXZWVrRWFybmluZ3MaGwoCZjISFVVzZXJTdGFrZVRyYW5zYWN0aW9ucxoSCgJmMxIMTWF4RGVwb3NpdGVyGhUKAmY0Eg9NYXhEZXBvc2l0QmxvY2saEAoCZjUSCk1heERlcG9zaXQaFwoCZjYSEU1heERlcG9zaXRlclZhbHVlGhUKAmY3Eg9NYXhEZXBvc2l0VmFsdWUaGgoCZjgSFE1heERlcG9zaXRCbG9ja1ZhbHVlGhMKAmY5Eg1Vc2VyUHVzaFZhbHVlGiAKAmcxEhpVc2VyTGFzdFN0YWtlQmxvY2tOZXdWYWx1ZRoeCgJnMhIYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zGh4KAmczEhhjdXJyZW50QW1vdW50U3Rha2VkVG9rZW4aGgoCZzQSFG5ld0Ftb3VudFN0YWtlZFRva2VuGhgKAmc1EhJTdGFrZUJhbGFuY2VBbW91bnQaGwoCZzYSFVVzZXJXZWVrRWFybmluZ3NWYWx1ZRoeCgJnNxIYY3VycmVudEFtb3VudEdvdmVyblRva2VuGgwKAmc4EgZSZXdhcmQaEgoCZzkSDFVzZXJBUFlWYWx1ZRoaCgJoMRIUbmV3QW1vdW50R292ZXJuVG9rZW4aDAoCaDISBmFtb3VudBoTCgJoMxINY3VycmVudEFtb3VudBoPCgJoNBIJbmV3QW1vdW50Gh4KAmg1EhhMYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2saFQoCaDYSD0JpZ1N0YWtlclJld2FyZBoYCgJoNxISTGltaVdpdGhkcmF3UmV3YXJkGhsKAmg4EhVVc2VyR292ZXJuVG9rZW5BbW91bnQaIwoCaDkSHUxhc3RCaWdTdGFrZXJSZXdhcmRCbG9ja1ZhbHVlGh8KAmkxEhlCaWdTdGFrZXJSZXdhcmRUb3RhbFZhbHVlGhgKAmkyEhJCaWdTdGFrZXJSZXdhcmRUYXgaDwoCaTMSCURlbGF5RGF5cxoeCgJpNBIYVXNlcldh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", "height": 1702664, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 888psQnvP4zQVcRzT8zjsXFPAbFNsivAr1mXCRwp4amT Next: 9NQf9DkpPRwNSsDHXMNB8faQx1EqMtECWZoKHNPAnWDC Diff:
OldNewDifferences
450450 let WaitTime = (1 * 1)
451451 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
452452 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
453- let LastBigStakerRewardBlock = (toBase58String(i.caller.bytes) + "LastBigStakerRewardBlock")
453+ let LastBigStakerRewardBlock = (toBase58String(i.caller.bytes) + "_LastBigStakerRewardBlock")
454454 let BigStakerReward = (toBase58String(i.caller.bytes) + "_BigStaker")
455455 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
456456 let LimiWithdrawReward = 1
534534 }
535535 let StakeBalanceAmount = (BigStakerRewardTotalValue - amount)
536536 let BigStakerRewardTax = if ((0 > ((UserGovernTokenAmount / 1000) * (1000 - ((1000 * (height - LastBigStakerRewardBlockValue)) / (LimiWithdrawReward * 1440))))))
537- then 100000000
537+ then (1000 * 100000000)
538538 else ((UserGovernTokenAmount / 1000) * (1000 - ((1000 * (height - LastBigStakerRewardBlockValue)) / (LimiWithdrawReward * 1440))))
539539 if ((0 > amount))
540540 then throw("Can't withdraw negative amount ")
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'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
1010 if ((currentKey == "3Mu3nwxzGzeQBGxCKLyJcSDKmRiCea9FQSJ"))
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), DataEntry("Delay", 0), DataEntry("FundBox", 0), DataEntry("BigStakerRewardTotal", 0), DataEntry("PrizeHeight", height)]), 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'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
3030 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
3131 let minPushBlock = 10
3232 let minStakeBlock = (7 * 1440)
3333 let DelayAfterPush = 1
3434 let WaitTime = (1 * 1)
3535 let minref = 0
3636 let FirstPushTimer = 1
3737 let userWalletGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
3838 let pmt = extract(i.payment)
3939 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
4040 let UserLastPushOldValue = match getInteger(this, UserPush) {
4141 case a: Int =>
4242 a
4343 case _ =>
4444 0
4545 }
4646 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
4747 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
4848 case a: Int =>
4949 a
5050 case _ =>
5151 0
5252 }
5353 let HighestPushValue = match getInteger(this, "HighestPush") {
5454 case a: Int =>
5555 a
5656 case _ =>
5757 0
5858 }
5959 if ((userWalletGovernBalance > pmt.amount))
6060 then if (if (((pmt.amount + UserLastPushOldValue) > HighestPushValue))
6161 then (pmt.assetId == GovernToken)
6262 else false)
6363 then {
6464 let UserLastPushBlock = (toBase58String(i.caller.bytes) + "_UserLastPushBlock")
6565 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
6666 let UserStake = (toBase58String(i.caller.bytes) + "_Staking")
6767 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
6868 let StakeBalance = match getInteger(this, "StakeBalance") {
6969 case a: Int =>
7070 a
7171 case _ =>
7272 0
7373 }
7474 let PrizeAmount = match getInteger(this, "FundBox") {
7575 case a: Int =>
7676 a
7777 case _ =>
7878 0
7979 }
8080 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
8181 case a: Int =>
8282 a
8383 case _ =>
8484 0
8585 }
8686 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
8787 then (PrizeAmount == 0)
8888 else false)
8989 then 0
9090 else if (if ((HeightTransactFundBox == 0))
9191 then (PrizeAmount != 0)
9292 else false)
9393 then height
9494 else if (if ((HeightTransactFundBox != 0))
9595 then (PrizeAmount != 0)
9696 else false)
9797 then HeightTransactFundBox
9898 else 0
9999 let ActualDelay = match getInteger(this, "Delay") {
100100 case a: Int =>
101101 a
102102 case _ =>
103103 0
104104 }
105105 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
106106 case a: Int =>
107107 a
108108 case _ =>
109109 0
110110 }
111111 let UserLastPushBlockValue = match getInteger(this, UserLastPushBlock) {
112112 case a: Int =>
113113 a
114114 case _ =>
115115 0
116116 }
117117 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
118118 case a: Int =>
119119 a
120120 case _ =>
121121 0
122122 }
123123 let UserStakeValue = match getInteger(this, UserStake) {
124124 case a: Int =>
125125 a
126126 case _ =>
127127 0
128128 }
129129 let DevBoxBalance = match getInteger(this, "DevBox") {
130130 case a: Int =>
131131 a
132132 case _ =>
133133 0
134134 }
135135 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
136136 let UserPushvalue = (pmt.amount + UserLastPushOldValue)
137137 let NewDelay = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
138138 then (HighestPushValue > 0)
139139 else false)
140140 then FirstPushTimer
141141 else (ActualDelay + DelayAfterPush)
142142 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + NewDelay) + WaitTime)))
143143 then (HighestPushValue > 0)
144144 else false)
145145 then ""
146146 else HighestPushAddress
147147 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + NewDelay) + WaitTime)))
148148 then (HighestPushValue > 0)
149149 else false)
150150 then height
151151 else PrizeHeightValue
152152 if (if ((UserPushvalue > 0))
153153 then ((height - UserLastStakeBlockValue) > minStakeBlock)
154154 else false)
155155 then if (((height - UserLastPushBlockValue) > minPushBlock))
156156 then if ((UserStakeValue > 0))
157157 then if ((UserPushvalue > HighestPushValue))
158158 then if ((PrizeAmount > 0))
159159 then if (if (if (if (((PrizeHeightValueNew + NewDelay) >= height))
160160 then true
161161 else (height >= ((PrizeHeightValueNew + NewDelay) + WaitTime)))
162162 then (HighestPushValue > 0)
163163 else false)
164164 then true
165165 else (HighestPushValue == 0))
166166 then if ((UserRefsNumValue >= minref))
167167 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)])
168168 else throw((("You have to have " + toString(minref)) + " referrals already staking for a minimum of 10 days, to push"))
169169 else {
170170 let txt = if ((HighestPushValue > 0))
171171 then "You cannot Push after rewarding Prize and before One day has passed after award"
172172 else "Unexpected error"
173173 throw(txt)
174174 }
175175 else throw("You cannot push before the reward is unlocked, no reward has been detected yet")
176176 else throw("Your push in troikan token, should be Higher than last Highest Push")
177177 else throw("To be able to participate in Pushing for the reward you need to Stake ASIMIs in the dApp")
178178 else throw("You have to wait 10min before you can make a new Push")
179179 else throw(("Your Push dot not comply one of the following conditions: " + "1. Positive Value for Push in Troikan Toke
180180 2. Must Staked ASIMI Token for a minimum of week "))
181181 }
182182 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"))
183183 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 !")
184184 }
185185
186186
187187
188188 @Callable(i)
189189 func Stake () = {
190190 let WaitTime = (1 * 1)
191191 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
192192 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
193193 let pmt = extract(i.payment)
194194 if (if ((pmt.amount > 0))
195195 then (pmt.assetId == StakedToken)
196196 else false)
197197 then {
198198 let GovernTokenSmartContractBalance = assetBalance(this, GovernToken)
199199 let UserAPY = (toBase58String(i.caller.bytes) + "_APY")
200200 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
201201 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
202202 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
203203 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
204204 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
205205 let AddressHeight = (toBase58String(i.caller.bytes) + "_PrizeHeight")
206206 let UserWeekEarnings = (toBase58String(i.caller.bytes) + "_WeekEarning")
207207 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
208208 case a: Int =>
209209 a
210210 case _ =>
211211 0
212212 }
213213 let MaxDepositer = getStringValue(this, "MaxDepositer")
214214 let MaxDepositBlock = match getInteger(this, "MaxDepositBlock") {
215215 case a: Int =>
216216 a
217217 case _ =>
218218 0
219219 }
220220 let MaxDeposit = match getInteger(this, "MaxDeposit") {
221221 case a: Int =>
222222 a
223223 case _ =>
224224 0
225225 }
226226 let MaxDepositerValue = if ((pmt.amount > MaxDeposit))
227227 then toBase58String(i.caller.bytes)
228228 else MaxDepositer
229229 let MaxDepositValue = if ((pmt.amount > MaxDeposit))
230230 then pmt.amount
231231 else MaxDeposit
232232 let MaxDepositBlockValue = if ((pmt.amount > MaxDeposit))
233233 then height
234234 else MaxDepositBlock
235235 let UserPushValue = match getInteger(this, UserPush) {
236236 case a: Int =>
237237 a
238238 case _ =>
239239 0
240240 }
241241 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
242242 case a: Int =>
243243 a
244244 case _ =>
245245 0
246246 }
247247 let UserLastStakeBlockNewValue = if ((UserLastStakeBlockValue == 0))
248248 then height
249249 else UserLastStakeBlockValue
250250 let NewUserStakeTransactions = (UserStakeTransactions + 1)
251251 let currentAmountStakedToken = match getInteger(this, UserStakedTokenKey) {
252252 case a: Int =>
253253 a
254254 case _ =>
255255 0
256256 }
257257 let newAmountStakedToken = (currentAmountStakedToken + pmt.amount)
258258 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
259259 let StakeBalance = match getInteger(this, "StakeBalance") {
260260 case a: Int =>
261261 a
262262 case _ =>
263263 0
264264 }
265265 let StakeBalanceAmount = (StakeBalance + pmt.amount)
266266 let PrizeAmount = match getInteger(this, "FundBox") {
267267 case a: Int =>
268268 a
269269 case _ =>
270270 0
271271 }
272272 let UserWeekEarningsValue = match getInteger(this, UserWeekEarnings) {
273273 case a: Int =>
274274 a
275275 case _ =>
276276 0
277277 }
278278 let currentAmountGovernToken = match getInteger(this, UserGovernTokenKey) {
279279 case a: Int =>
280280 a
281281 case _ =>
282282 0
283283 }
284284 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
285285 case a: Int =>
286286 a
287287 case _ =>
288288 0
289289 }
290290 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
291291 then (PrizeAmount == 0)
292292 else false)
293293 then 0
294294 else if (if ((HeightTransactFundBox == 0))
295295 then (PrizeAmount != 0)
296296 else false)
297297 then height
298298 else if (if ((HeightTransactFundBox != 0))
299299 then (PrizeAmount != 0)
300300 else false)
301301 then HeightTransactFundBox
302302 else 0
303303 let ActualDelay = match getInteger(this, "Delay") {
304304 case a: Int =>
305305 a
306306 case _ =>
307307 0
308308 }
309309 let HighestPushValue = match getInteger(this, "HighestPush") {
310310 case a: Int =>
311311 a
312312 case _ =>
313313 0
314314 }
315315 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
316316 case a: Int =>
317317 a
318318 case _ =>
319319 0
320320 }
321321 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
322322 then (HighestPushValue > 0)
323323 else false)
324324 then ""
325325 else HighestPushAddress
326326 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
327327 then (HighestPushValue > 0)
328328 else false)
329329 then height
330330 else PrizeHeightValue
331331 if ((100000000 > GovernTokenSmartContractBalance))
332332 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
333333 else {
334334 let Reward = if ((StakeBalance == 0))
335335 then 10000
336336 else if ((NewUserStakeTransactions > 10))
337337 then ((10000 * NewUserStakeTransactions) * (1 + (newAmountStakedToken / StakeBalance)))
338338 else (10000 * (1 + (newAmountStakedToken / StakeBalance)))
339339 let UserAPYValue = if ((currentAmountGovernToken > 0))
340340 then ((100 * Reward) / currentAmountGovernToken)
341341 else 0
342342 let newAmountGovernToken = (currentAmountGovernToken + Reward)
343343 ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmountGovernToken), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("PrizeHeight", PrizeHeightValueNew), DataEntry(UserAPY, UserAPYValue), DataEntry(UserLastStakeBlock, UserLastStakeBlockNewValue), DataEntry(UserPush, UserPushValue), DataEntry("MaxDepositer", MaxDepositerValue), DataEntry("MaxDeposit", MaxDepositValue), DataEntry("MaxDepositBlock", MaxDepositBlockValue), DataEntry("HighestPushAddress", HighestPushAddressValue), DataEntry(UserWeekEarnings, UserWeekEarningsValue)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
344344 }
345345 }
346346 else throw("Can deposit only StakeToken")
347347 }
348348
349349
350350
351351 @Callable(i)
352352 func WithdrawStakedFunds (amount) = {
353353 let WaitTime = (1 * 1)
354354 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
355355 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
356356 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
357357 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
358358 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
359359 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
360360 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
361361 case a: Int =>
362362 a
363363 case _ =>
364364 0
365365 }
366366 let StakeBalance = match getInteger(this, "StakeBalance") {
367367 case a: Int =>
368368 a
369369 case _ =>
370370 0
371371 }
372372 let PrizeAmount = match getInteger(this, "FundBox") {
373373 case a: Int =>
374374 a
375375 case _ =>
376376 0
377377 }
378378 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
379379 case a: Int =>
380380 a
381381 case _ =>
382382 0
383383 }
384384 let ActualDelay = match getInteger(this, "Delay") {
385385 case a: Int =>
386386 a
387387 case _ =>
388388 0
389389 }
390390 let HighestPushValue = match getInteger(this, "HighestPush") {
391391 case a: Int =>
392392 a
393393 case _ =>
394394 0
395395 }
396396 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
397397 then (PrizeAmount == 0)
398398 else false)
399399 then 0
400400 else if (if ((HeightTransactFundBox == 0))
401401 then (PrizeAmount != 0)
402402 else false)
403403 then height
404404 else if (if ((HeightTransactFundBox != 0))
405405 then (PrizeAmount != 0)
406406 else false)
407407 then HeightTransactFundBox
408408 else 0
409409 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
410410 case a: Int =>
411411 a
412412 case _ =>
413413 0
414414 }
415415 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
416416 then (HighestPushValue > 0)
417417 else false)
418418 then ""
419419 else HighestPushAddress
420420 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
421421 then (HighestPushValue > 0)
422422 else false)
423423 then height
424424 else PrizeHeightValue
425425 let currentKey = toBase58String(i.caller.bytes)
426426 let currentAmount = match getInteger(this, UserStakedTokenKey) {
427427 case a: Int =>
428428 a
429429 case _ =>
430430 0
431431 }
432432 let newAmount = (currentAmount - amount)
433433 let StakeBalanceAmount = (StakeBalance - amount)
434434 let UserLastStakeBlockNewValue = if ((StakeBalanceAmount == 0))
435435 then 0
436436 else UserLastStakeBlockValue
437437 if ((0 > amount))
438438 then throw("Can't withdraw negative amount")
439439 else if ((0 > newAmount))
440440 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
441441 else if ((100000000 > assetBalance(this, GovernToken)))
442442 then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, GovernToken) / 100000000))))
443443 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, 100000000), DataEntry(UserStakedTokenKey, newAmount), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("PrizeHeight", PrizeHeightValueNew), DataEntry(UserLastStakeBlock, UserLastStakeBlockNewValue), DataEntry("HighestPushAddress", HighestPushAddressValue)]), TransferSet([ScriptTransfer(i.caller, 100000000, GovernToken), ScriptTransfer(i.caller, amount, StakedToken)]))
444444 }
445445
446446
447447
448448 @Callable(i)
449449 func WithdrawBigStakeReward () = {
450450 let WaitTime = (1 * 1)
451451 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
452452 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
453- let LastBigStakerRewardBlock = (toBase58String(i.caller.bytes) + "LastBigStakerRewardBlock")
453+ let LastBigStakerRewardBlock = (toBase58String(i.caller.bytes) + "_LastBigStakerRewardBlock")
454454 let BigStakerReward = (toBase58String(i.caller.bytes) + "_BigStaker")
455455 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
456456 let LimiWithdrawReward = 1
457457 let UserGovernTokenAmount = match getInteger(this, UserGovernTokenKey) {
458458 case a: Int =>
459459 a
460460 case _ =>
461461 0
462462 }
463463 let LastBigStakerRewardBlockValue = match getInteger(this, LastBigStakerRewardBlock) {
464464 case a: Int =>
465465 a
466466 case _ =>
467467 0
468468 }
469469 let BigStakerRewardTotalValue = match getInteger(this, "BigStakerRewardTotal") {
470470 case a: Int =>
471471 a
472472 case _ =>
473473 0
474474 }
475475 let PrizeAmount = match getInteger(this, "FundBox") {
476476 case a: Int =>
477477 a
478478 case _ =>
479479 0
480480 }
481481 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
482482 case a: Int =>
483483 a
484484 case _ =>
485485 0
486486 }
487487 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
488488 then (PrizeAmount == 0)
489489 else false)
490490 then 0
491491 else if (if ((HeightTransactFundBox == 0))
492492 then (PrizeAmount != 0)
493493 else false)
494494 then height
495495 else if (if ((HeightTransactFundBox != 0))
496496 then (PrizeAmount != 0)
497497 else false)
498498 then HeightTransactFundBox
499499 else 0
500500 let ActualDelay = match getInteger(this, "Delay") {
501501 case a: Int =>
502502 a
503503 case _ =>
504504 0
505505 }
506506 let HighestPushValue = match getInteger(this, "HighestPush") {
507507 case a: Int =>
508508 a
509509 case _ =>
510510 0
511511 }
512512 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
513513 case a: Int =>
514514 a
515515 case _ =>
516516 0
517517 }
518518 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
519519 then (HighestPushValue > 0)
520520 else false)
521521 then ""
522522 else HighestPushAddress
523523 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
524524 then (HighestPushValue > 0)
525525 else false)
526526 then height
527527 else PrizeHeightValue
528528 let currentKey = toBase58String(i.caller.bytes)
529529 let amount = match getInteger(this, BigStakerReward) {
530530 case a: Int =>
531531 a
532532 case _ =>
533533 0
534534 }
535535 let StakeBalanceAmount = (BigStakerRewardTotalValue - amount)
536536 let BigStakerRewardTax = if ((0 > ((UserGovernTokenAmount / 1000) * (1000 - ((1000 * (height - LastBigStakerRewardBlockValue)) / (LimiWithdrawReward * 1440))))))
537- then 100000000
537+ then (1000 * 100000000)
538538 else ((UserGovernTokenAmount / 1000) * (1000 - ((1000 * (height - LastBigStakerRewardBlockValue)) / (LimiWithdrawReward * 1440))))
539539 if ((0 > amount))
540540 then throw("Can't withdraw negative amount ")
541541 else if (if (((1000 * 100000000) > UserGovernTokenAmount))
542542 then (1 > amount)
543543 else false)
544544 then throw(("No ASIMI reward available, or Not enough Earned Troikan Tokens to do transaction, you need at least 1000 Troikans, you have: " + toString((UserGovernTokenAmount / 100000000))))
545545 else ScriptResult(WriteSet([DataEntry(BigStakerReward, 0), DataEntry("BigStakerRewardTotal", StakeBalanceAmount), DataEntry(UserGovernTokenKey, (UserGovernTokenAmount - BigStakerRewardTax)), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(LastBigStakerRewardBlock, height), DataEntry("HighestPushAddress", HighestPushAddressValue)]), TransferSet([ScriptTransfer(i.caller, amount, StakedToken)]))
546546 }
547547
548548
549549
550550 @Callable(i)
551551 func HarvestGovernToiken (amount) = {
552552 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
553553 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
554554 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
555555 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
556556 let StakeBalance = match getInteger(this, "StakeBalance") {
557557 case a: Int =>
558558 a
559559 case _ =>
560560 0
561561 }
562562 let PrizeAmount = match getInteger(this, "FundBox") {
563563 case a: Int =>
564564 a
565565 case _ =>
566566 0
567567 }
568568 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
569569 case a: Int =>
570570 a
571571 case _ =>
572572 0
573573 }
574574 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
575575 then (PrizeAmount == 0)
576576 else false)
577577 then 0
578578 else if (if ((HeightTransactFundBox == 0))
579579 then (PrizeAmount != 0)
580580 else false)
581581 then height
582582 else if (if ((HeightTransactFundBox != 0))
583583 then (PrizeAmount != 0)
584584 else false)
585585 then HeightTransactFundBox
586586 else 0
587587 let currentKey = toBase58String(i.caller.bytes)
588588 let currentAmount = match getInteger(this, UserGovernTokenKey) {
589589 case a: Int =>
590590 a
591591 case _ =>
592592 0
593593 }
594594 let newAmount = (currentAmount - amount)
595595 if ((0 > amount))
596596 then throw("Can't withdraw negative amount")
597597 else if ((0 > newAmount))
598598 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
599599 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
600600 }
601601
602602
603603
604604 @Callable(i)
605605 func delayprize () = {
606606 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
607607 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
608608 let DelayDays = (1 * 1)
609609 let WaitTime = (1 * 1)
610610 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
611611 let UserWalletSGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
612612 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
613613 let StakeBalance = match getInteger(this, "StakeBalance") {
614614 case a: Int =>
615615 a
616616 case _ =>
617617 0
618618 }
619619 let PrizeAmount = match getInteger(this, "FundBox") {
620620 case a: Int =>
621621 a
622622 case _ =>
623623 0
624624 }
625625 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
626626 case a: Int =>
627627 a
628628 case _ =>
629629 0
630630 }
631631 let ActualDelay = match getInteger(this, "Delay") {
632632 case a: Int =>
633633 a
634634 case _ =>
635635 0
636636 }
637637 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
638638 then (PrizeAmount == 0)
639639 else false)
640640 then 0
641641 else if (if ((HeightTransactFundBox == 0))
642642 then (PrizeAmount != 0)
643643 else false)
644644 then height
645645 else if (if ((HeightTransactFundBox != 0))
646646 then (PrizeAmount != 0)
647647 else false)
648648 then HeightTransactFundBox
649649 else 0
650650 let HighestPushValue = match getInteger(this, "HighestPush") {
651651 case a: Int =>
652652 a
653653 case _ =>
654654 0
655655 }
656656 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
657657 case a: Int =>
658658 a
659659 case _ =>
660660 0
661661 }
662662 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
663663 then (HighestPushValue > 0)
664664 else false)
665665 then ""
666666 else HighestPushAddress
667667 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
668668 then (HighestPushValue > 0)
669669 else false)
670670 then height
671671 else PrizeHeightValue
672672 let ActualDelayCost = match getInteger(this, "DelayCost") {
673673 case a: Int =>
674674 a
675675 case _ =>
676676 10
677677 }
678678 let pmt = extract(i.payment)
679679 let DevBoxBalance = match getInteger(this, "DevBox") {
680680 case a: Int =>
681681 a
682682 case _ =>
683683 0
684684 }
685685 if (if (isDefined(pmt.assetId))
686686 then (extract(pmt.assetId) == GovernToken)
687687 else false)
688688 then if ((PrizeAmount > 0))
689689 then {
690690 let UserGovernTokenAmount = pmt.amount
691691 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
692692 let NewDelayCost = if ((ActualDelayCost == 0))
693693 then 1000000000
694694 else (2 * ActualDelayCost)
695695 if ((UserGovernTokenAmount >= NewDelayCost))
696696 then {
697697 let NewDelay = (ActualDelay + DelayDays)
698698 WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost), DataEntry("PrizeHeight", PrizeHeightValueNew), DataEntry("DevBox", DevBoxAmount), DataEntry("HighestPushAddress", HighestPushAddressValue)])
699699 }
700700 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(NewDelayCost)) + "TROIKAs"))
701701 }
702702 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
703703 else throw("Can Use only Troika Token to Delay Reward")
704704 }
705705
706706
707707
708708 @Callable(i)
709709 func ClaimPrize () = {
710710 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
711711 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
712712 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
713713 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
714714 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
715715 let minStakeBlock = 7
716716 let minref = 0
717717 let ContractGovTokenBalance = assetBalance(this, GovernToken)
718718 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
719719 let StakeBalance = match getInteger(this, "StakeBalance") {
720720 case a: Int =>
721721 a
722722 case _ =>
723723 0
724724 }
725725 let PrizeAmount = match getInteger(this, "FundBox") {
726726 case a: Int =>
727727 a
728728 case _ =>
729729 0
730730 }
731731 let UserPushValue = match getInteger(this, UserPush) {
732732 case a: Int =>
733733 a
734734 case _ =>
735735 0
736736 }
737737 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
738738 case a: Int =>
739739 a
740740 case _ =>
741741 0
742742 }
743743 let UserStakedTokenAmount = match getInteger(this, UserStakedTokenKey) {
744744 case a: Int =>
745745 a
746746 case _ =>
747747 0
748748 }
749749 let ActualDelay = match getInteger(this, "Delay") {
750750 case a: Int =>
751751 a
752752 case _ =>
753753 0
754754 }
755755 let PrizeWinner = getStringValue(this, "HighestPushAddress")
756756 let PrizeHeight = match getInteger(this, "PrizeHeight") {
757757 case a: Int =>
758758 a
759759 case _ =>
760760 0
761761 }
762762 let HighestPushValue = match getInteger(this, "HighestPush") {
763763 case a: Int =>
764764 a
765765 case _ =>
766766 0
767767 }
768768 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
769769 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
770770 case a: Int =>
771771 a
772772 case _ =>
773773 0
774774 }
775775 if (if ((PrizeAmount == 0))
776776 then true
777777 else (10000000000 > ContractGovTokenBalance))
778778 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
779779 else if ((toBase58String(i.caller.bytes) != PrizeWinner))
780780 then throw("You are not the winner hence cannot claim the reward ")
781781 else if (if ((100000000 > UserStakedTokenAmount))
782782 then (minStakeBlock > UserLastStakeBlockValue)
783783 else false)
784784 then throw("You have to Stake ASIMI Token to claim reward ")
785785 else if (if ((height > (PrizeHeight + ActualDelay)))
786786 then (UserPushValue >= HighestPushValue)
787787 else false)
788788 then if ((UserRefsNumValue >= minref))
789789 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)]))
790790 else throw("You have to have 10 referrals already staking for a minimum of 10 days to Claim the prize")
791791 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
792792 }
793793
794794
795795
796796 @Callable(i)
797797 func Addmentor (Mentor) = {
798798 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
799799 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
800800 let UserMentorAddress = (toBase58String(i.caller.bytes) + "_Mentor")
801801 if ((Mentor != ""))
802802 then WriteSet([DataEntry(UserMentorAddress, Mentor)])
803803 else throw("Mentor's Address cannot be empty")
804804 }
805805
806806

github/deemru/w8io/3ef1775 
97.95 ms