tx · 888psQnvP4zQVcRzT8zjsXFPAbFNsivAr1mXCRwp4amT

3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK:  -0.01000000 Waves

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

{ "type": 13, "id": "888psQnvP4zQVcRzT8zjsXFPAbFNsivAr1mXCRwp4amT", "fee": 1000000, "feeAssetId": null, "timestamp": 1631618147332, "version": 2, "chainId": 84, "sender": "3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK", "senderPublicKey": "AHY8zupoYc6HPJ5fh1gQiGE9bNZSeifFbcQQ89okxVug", "proofs": [ "5q3Hv2dVw8H2UAsufJXNKxYiHCqnWk5Sn6cZDjTuRoMZmfBX2zDzMmaHuqtH4v2n7xmdoKzz8NGRHExKnsUzRZna" ], "script": "base64:AAIDAAAAAAAAB8MIARIAEgASABIDCgEBEgASAwoBARIAEgASAwoBCBoHCgJhMRIBaRoQCgJhMhIKY3VycmVudEtleRoRCgJhMxILR292ZXJuVG9rZW4aEgoCYTQSDERldkJveEFtb3VudBoNCgJhNRIHJG1hdGNoMBoHCgJhNhIBYRoRCgJhNxILU3Rha2VkVG9rZW4aEgoCYTgSDG1pblB1c2hCbG9jaxoTCgJhORINbWluU3Rha2VCbG9jaxoUCgJiMRIORGVsYXlBZnRlclB1c2gaDgoCYjISCFdhaXRUaW1lGgwKAmIzEgZtaW5yZWYaFAoCYjQSDkZpcnN0UHVzaFRpbWVyGh0KAmI1Ehd1c2VyV2FsbGV0R292ZXJuQmFsYW5jZRoJCgJiNhIDcG10Gg4KAmI3EghVc2VyUHVzaBoaCgJiOBIUVXNlckxhc3RQdXNoT2xkVmFsdWUaEQoCYjkSC1VzZXJSZWZzTnVtGhYKAmMxEhBVc2VyUmVmc051bVZhbHVlGhYKAmMyEhBIaWdoZXN0UHVzaFZhbHVlGhcKAmMzEhFVc2VyTGFzdFB1c2hCbG9jaxoYCgJjNBISVXNlckxhc3RTdGFrZUJsb2NrGg8KAmM1EglVc2VyU3Rha2UaIAoCYzYSGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlGhIKAmM3EgxTdGFrZUJhbGFuY2UaEQoCYzgSC1ByaXplQW1vdW50GhsKAmM5EhVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gaFgoCZDESEFByaXplSGVpZ2h0VmFsdWUaEQoCZDISC0FjdHVhbERlbGF5GhgKAmQzEhJIaWdoZXN0UHVzaEFkZHJlc3MaHAoCZDQSFlVzZXJMYXN0UHVzaEJsb2NrVmFsdWUaHQoCZDUSF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlGhQKAmQ2Eg5Vc2VyU3Rha2VWYWx1ZRoTCgJkNxINRGV2Qm94QmFsYW5jZRoTCgJkOBINVXNlclB1c2h2YWx1ZRoOCgJkORIITmV3RGVsYXkaHQoCZTESF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlGhkKAmUyEhNQcml6ZUhlaWdodFZhbHVlTmV3GgkKAmUzEgN0eHQaJQoCZTQSH0dvdmVyblRva2VuU21hcnRDb250cmFjdEJhbGFuY2UaDQoCZTUSB1VzZXJBUFkaGAoCZTYSElVzZXJTdGFrZWRUb2tlbktleRoYCgJlNxISVXNlckdvdmVyblRva2VuS2V5Gh4KAmU4EhhVc2VyU3Rha2VUcmFuc2FjdGlvbnNLZXkaEwoCZTkSDUFkZHJlc3NIZWlnaHQaFgoCZjESEFVzZXJXZWVrRWFybmluZ3MaGwoCZjISFVVzZXJTdGFrZVRyYW5zYWN0aW9ucxoSCgJmMxIMTWF4RGVwb3NpdGVyGhUKAmY0Eg9NYXhEZXBvc2l0QmxvY2saEAoCZjUSCk1heERlcG9zaXQaFwoCZjYSEU1heERlcG9zaXRlclZhbHVlGhUKAmY3Eg9NYXhEZXBvc2l0VmFsdWUaGgoCZjgSFE1heERlcG9zaXRCbG9ja1ZhbHVlGhMKAmY5Eg1Vc2VyUHVzaFZhbHVlGiAKAmcxEhpVc2VyTGFzdFN0YWtlQmxvY2tOZXdWYWx1ZRoeCgJnMhIYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zGh4KAmczEhhjdXJyZW50QW1vdW50U3Rha2VkVG9rZW4aGgoCZzQSFG5ld0Ftb3VudFN0YWtlZFRva2VuGhgKAmc1EhJTdGFrZUJhbGFuY2VBbW91bnQaGwoCZzYSFVVzZXJXZWVrRWFybmluZ3NWYWx1ZRoeCgJnNxIYY3VycmVudEFtb3VudEdvdmVyblRva2VuGgwKAmc4EgZSZXdhcmQaEgoCZzkSDFVzZXJBUFlWYWx1ZRoaCgJoMRIUbmV3QW1vdW50R292ZXJuVG9rZW4aDAoCaDISBmFtb3VudBoTCgJoMxINY3VycmVudEFtb3VudBoPCgJoNBIJbmV3QW1vdW50Gh4KAmg1EhhMYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2saFQoCaDYSD0JpZ1N0YWtlclJld2FyZBoYCgJoNxISTGltaVdpdGhkcmF3UmV3YXJkGhsKAmg4EhVVc2VyR292ZXJuVG9rZW5BbW91bnQaIwoCaDkSHUxhc3RCaWdTdGFrZXJSZXdhcmRCbG9ja1ZhbHVlGh8KAmkxEhlCaWdTdGFrZXJSZXdhcmRUb3RhbFZhbHVlGhgKAmkyEhJCaWdTdGFrZXJSZXdhcmRUYXgaDwoCaTMSCURlbGF5RGF5cxoeCgJpNBIYVXNlcldh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", "height": 1702624, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7HBmDRgBTjYgbkyjGAKkSKVQe22YX3wEU6ohjEjthBPQ Next: CrEDcPdALoDYvSdie1ByGgAVc5b16Q5QoV6BzLyBnsDu Diff:
OldNewDifferences
203203 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
204204 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
205205 let AddressHeight = (toBase58String(i.caller.bytes) + "_PrizeHeight")
206+ let UserWeekEarnings = (toBase58String(i.caller.bytes) + "_WeekEarning")
206207 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
207208 case a: Int =>
208209 a
263264 }
264265 let StakeBalanceAmount = (StakeBalance + pmt.amount)
265266 let PrizeAmount = match getInteger(this, "FundBox") {
267+ case a: Int =>
268+ a
269+ case _ =>
270+ 0
271+ }
272+ let UserWeekEarningsValue = match getInteger(this, UserWeekEarnings) {
266273 case a: Int =>
267274 a
268275 case _ =>
333340 then ((100 * Reward) / currentAmountGovernToken)
334341 else 0
335342 let newAmountGovernToken = (currentAmountGovernToken + Reward)
336- 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)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
343+ 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)]))
337344 }
338345 }
339346 else throw("Can deposit only StakeToken")
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")
206+ let UserWeekEarnings = (toBase58String(i.caller.bytes) + "_WeekEarning")
206207 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
207208 case a: Int =>
208209 a
209210 case _ =>
210211 0
211212 }
212213 let MaxDepositer = getStringValue(this, "MaxDepositer")
213214 let MaxDepositBlock = match getInteger(this, "MaxDepositBlock") {
214215 case a: Int =>
215216 a
216217 case _ =>
217218 0
218219 }
219220 let MaxDeposit = match getInteger(this, "MaxDeposit") {
220221 case a: Int =>
221222 a
222223 case _ =>
223224 0
224225 }
225226 let MaxDepositerValue = if ((pmt.amount > MaxDeposit))
226227 then toBase58String(i.caller.bytes)
227228 else MaxDepositer
228229 let MaxDepositValue = if ((pmt.amount > MaxDeposit))
229230 then pmt.amount
230231 else MaxDeposit
231232 let MaxDepositBlockValue = if ((pmt.amount > MaxDeposit))
232233 then height
233234 else MaxDepositBlock
234235 let UserPushValue = match getInteger(this, UserPush) {
235236 case a: Int =>
236237 a
237238 case _ =>
238239 0
239240 }
240241 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
241242 case a: Int =>
242243 a
243244 case _ =>
244245 0
245246 }
246247 let UserLastStakeBlockNewValue = if ((UserLastStakeBlockValue == 0))
247248 then height
248249 else UserLastStakeBlockValue
249250 let NewUserStakeTransactions = (UserStakeTransactions + 1)
250251 let currentAmountStakedToken = match getInteger(this, UserStakedTokenKey) {
251252 case a: Int =>
252253 a
253254 case _ =>
254255 0
255256 }
256257 let newAmountStakedToken = (currentAmountStakedToken + pmt.amount)
257258 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
258259 let StakeBalance = match getInteger(this, "StakeBalance") {
259260 case a: Int =>
260261 a
261262 case _ =>
262263 0
263264 }
264265 let StakeBalanceAmount = (StakeBalance + pmt.amount)
265266 let PrizeAmount = match getInteger(this, "FundBox") {
267+ case a: Int =>
268+ a
269+ case _ =>
270+ 0
271+ }
272+ let UserWeekEarningsValue = match getInteger(this, UserWeekEarnings) {
266273 case a: Int =>
267274 a
268275 case _ =>
269276 0
270277 }
271278 let currentAmountGovernToken = match getInteger(this, UserGovernTokenKey) {
272279 case a: Int =>
273280 a
274281 case _ =>
275282 0
276283 }
277284 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
278285 case a: Int =>
279286 a
280287 case _ =>
281288 0
282289 }
283290 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
284291 then (PrizeAmount == 0)
285292 else false)
286293 then 0
287294 else if (if ((HeightTransactFundBox == 0))
288295 then (PrizeAmount != 0)
289296 else false)
290297 then height
291298 else if (if ((HeightTransactFundBox != 0))
292299 then (PrizeAmount != 0)
293300 else false)
294301 then HeightTransactFundBox
295302 else 0
296303 let ActualDelay = match getInteger(this, "Delay") {
297304 case a: Int =>
298305 a
299306 case _ =>
300307 0
301308 }
302309 let HighestPushValue = match getInteger(this, "HighestPush") {
303310 case a: Int =>
304311 a
305312 case _ =>
306313 0
307314 }
308315 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
309316 case a: Int =>
310317 a
311318 case _ =>
312319 0
313320 }
314321 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
315322 then (HighestPushValue > 0)
316323 else false)
317324 then ""
318325 else HighestPushAddress
319326 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
320327 then (HighestPushValue > 0)
321328 else false)
322329 then height
323330 else PrizeHeightValue
324331 if ((100000000 > GovernTokenSmartContractBalance))
325332 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
326333 else {
327334 let Reward = if ((StakeBalance == 0))
328335 then 10000
329336 else if ((NewUserStakeTransactions > 10))
330337 then ((10000 * NewUserStakeTransactions) * (1 + (newAmountStakedToken / StakeBalance)))
331338 else (10000 * (1 + (newAmountStakedToken / StakeBalance)))
332339 let UserAPYValue = if ((currentAmountGovernToken > 0))
333340 then ((100 * Reward) / currentAmountGovernToken)
334341 else 0
335342 let newAmountGovernToken = (currentAmountGovernToken + Reward)
336- 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)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
343+ 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)]))
337344 }
338345 }
339346 else throw("Can deposit only StakeToken")
340347 }
341348
342349
343350
344351 @Callable(i)
345352 func WithdrawStakedFunds (amount) = {
346353 let WaitTime = (1 * 1)
347354 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
348355 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
349356 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
350357 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
351358 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
352359 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
353360 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
354361 case a: Int =>
355362 a
356363 case _ =>
357364 0
358365 }
359366 let StakeBalance = match getInteger(this, "StakeBalance") {
360367 case a: Int =>
361368 a
362369 case _ =>
363370 0
364371 }
365372 let PrizeAmount = match getInteger(this, "FundBox") {
366373 case a: Int =>
367374 a
368375 case _ =>
369376 0
370377 }
371378 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
372379 case a: Int =>
373380 a
374381 case _ =>
375382 0
376383 }
377384 let ActualDelay = match getInteger(this, "Delay") {
378385 case a: Int =>
379386 a
380387 case _ =>
381388 0
382389 }
383390 let HighestPushValue = match getInteger(this, "HighestPush") {
384391 case a: Int =>
385392 a
386393 case _ =>
387394 0
388395 }
389396 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
390397 then (PrizeAmount == 0)
391398 else false)
392399 then 0
393400 else if (if ((HeightTransactFundBox == 0))
394401 then (PrizeAmount != 0)
395402 else false)
396403 then height
397404 else if (if ((HeightTransactFundBox != 0))
398405 then (PrizeAmount != 0)
399406 else false)
400407 then HeightTransactFundBox
401408 else 0
402409 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
403410 case a: Int =>
404411 a
405412 case _ =>
406413 0
407414 }
408415 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
409416 then (HighestPushValue > 0)
410417 else false)
411418 then ""
412419 else HighestPushAddress
413420 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
414421 then (HighestPushValue > 0)
415422 else false)
416423 then height
417424 else PrizeHeightValue
418425 let currentKey = toBase58String(i.caller.bytes)
419426 let currentAmount = match getInteger(this, UserStakedTokenKey) {
420427 case a: Int =>
421428 a
422429 case _ =>
423430 0
424431 }
425432 let newAmount = (currentAmount - amount)
426433 let StakeBalanceAmount = (StakeBalance - amount)
427434 let UserLastStakeBlockNewValue = if ((StakeBalanceAmount == 0))
428435 then 0
429436 else UserLastStakeBlockValue
430437 if ((0 > amount))
431438 then throw("Can't withdraw negative amount")
432439 else if ((0 > newAmount))
433440 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
434441 else if ((100000000 > assetBalance(this, GovernToken)))
435442 then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, GovernToken) / 100000000))))
436443 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)]))
437444 }
438445
439446
440447
441448 @Callable(i)
442449 func WithdrawBigStakeReward () = {
443450 let WaitTime = (1 * 1)
444451 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
445452 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
446453 let LastBigStakerRewardBlock = (toBase58String(i.caller.bytes) + "LastBigStakerRewardBlock")
447454 let BigStakerReward = (toBase58String(i.caller.bytes) + "_BigStaker")
448455 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
449456 let LimiWithdrawReward = 1
450457 let UserGovernTokenAmount = match getInteger(this, UserGovernTokenKey) {
451458 case a: Int =>
452459 a
453460 case _ =>
454461 0
455462 }
456463 let LastBigStakerRewardBlockValue = match getInteger(this, LastBigStakerRewardBlock) {
457464 case a: Int =>
458465 a
459466 case _ =>
460467 0
461468 }
462469 let BigStakerRewardTotalValue = match getInteger(this, "BigStakerRewardTotal") {
463470 case a: Int =>
464471 a
465472 case _ =>
466473 0
467474 }
468475 let PrizeAmount = match getInteger(this, "FundBox") {
469476 case a: Int =>
470477 a
471478 case _ =>
472479 0
473480 }
474481 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
475482 case a: Int =>
476483 a
477484 case _ =>
478485 0
479486 }
480487 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
481488 then (PrizeAmount == 0)
482489 else false)
483490 then 0
484491 else if (if ((HeightTransactFundBox == 0))
485492 then (PrizeAmount != 0)
486493 else false)
487494 then height
488495 else if (if ((HeightTransactFundBox != 0))
489496 then (PrizeAmount != 0)
490497 else false)
491498 then HeightTransactFundBox
492499 else 0
493500 let ActualDelay = match getInteger(this, "Delay") {
494501 case a: Int =>
495502 a
496503 case _ =>
497504 0
498505 }
499506 let HighestPushValue = match getInteger(this, "HighestPush") {
500507 case a: Int =>
501508 a
502509 case _ =>
503510 0
504511 }
505512 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
506513 case a: Int =>
507514 a
508515 case _ =>
509516 0
510517 }
511518 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
512519 then (HighestPushValue > 0)
513520 else false)
514521 then ""
515522 else HighestPushAddress
516523 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
517524 then (HighestPushValue > 0)
518525 else false)
519526 then height
520527 else PrizeHeightValue
521528 let currentKey = toBase58String(i.caller.bytes)
522529 let amount = match getInteger(this, BigStakerReward) {
523530 case a: Int =>
524531 a
525532 case _ =>
526533 0
527534 }
528535 let StakeBalanceAmount = (BigStakerRewardTotalValue - amount)
529536 let BigStakerRewardTax = if ((0 > ((UserGovernTokenAmount / 1000) * (1000 - ((1000 * (height - LastBigStakerRewardBlockValue)) / (LimiWithdrawReward * 1440))))))
530537 then 100000000
531538 else ((UserGovernTokenAmount / 1000) * (1000 - ((1000 * (height - LastBigStakerRewardBlockValue)) / (LimiWithdrawReward * 1440))))
532539 if ((0 > amount))
533540 then throw("Can't withdraw negative amount ")
534541 else if (if (((1000 * 100000000) > UserGovernTokenAmount))
535542 then (1 > amount)
536543 else false)
537544 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))))
538545 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)]))
539546 }
540547
541548
542549
543550 @Callable(i)
544551 func HarvestGovernToiken (amount) = {
545552 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
546553 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
547554 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
548555 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
549556 let StakeBalance = match getInteger(this, "StakeBalance") {
550557 case a: Int =>
551558 a
552559 case _ =>
553560 0
554561 }
555562 let PrizeAmount = match getInteger(this, "FundBox") {
556563 case a: Int =>
557564 a
558565 case _ =>
559566 0
560567 }
561568 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
562569 case a: Int =>
563570 a
564571 case _ =>
565572 0
566573 }
567574 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
568575 then (PrizeAmount == 0)
569576 else false)
570577 then 0
571578 else if (if ((HeightTransactFundBox == 0))
572579 then (PrizeAmount != 0)
573580 else false)
574581 then height
575582 else if (if ((HeightTransactFundBox != 0))
576583 then (PrizeAmount != 0)
577584 else false)
578585 then HeightTransactFundBox
579586 else 0
580587 let currentKey = toBase58String(i.caller.bytes)
581588 let currentAmount = match getInteger(this, UserGovernTokenKey) {
582589 case a: Int =>
583590 a
584591 case _ =>
585592 0
586593 }
587594 let newAmount = (currentAmount - amount)
588595 if ((0 > amount))
589596 then throw("Can't withdraw negative amount")
590597 else if ((0 > newAmount))
591598 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
592599 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
593600 }
594601
595602
596603
597604 @Callable(i)
598605 func delayprize () = {
599606 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
600607 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
601608 let DelayDays = (1 * 1)
602609 let WaitTime = (1 * 1)
603610 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
604611 let UserWalletSGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
605612 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
606613 let StakeBalance = match getInteger(this, "StakeBalance") {
607614 case a: Int =>
608615 a
609616 case _ =>
610617 0
611618 }
612619 let PrizeAmount = match getInteger(this, "FundBox") {
613620 case a: Int =>
614621 a
615622 case _ =>
616623 0
617624 }
618625 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
619626 case a: Int =>
620627 a
621628 case _ =>
622629 0
623630 }
624631 let ActualDelay = match getInteger(this, "Delay") {
625632 case a: Int =>
626633 a
627634 case _ =>
628635 0
629636 }
630637 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
631638 then (PrizeAmount == 0)
632639 else false)
633640 then 0
634641 else if (if ((HeightTransactFundBox == 0))
635642 then (PrizeAmount != 0)
636643 else false)
637644 then height
638645 else if (if ((HeightTransactFundBox != 0))
639646 then (PrizeAmount != 0)
640647 else false)
641648 then HeightTransactFundBox
642649 else 0
643650 let HighestPushValue = match getInteger(this, "HighestPush") {
644651 case a: Int =>
645652 a
646653 case _ =>
647654 0
648655 }
649656 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
650657 case a: Int =>
651658 a
652659 case _ =>
653660 0
654661 }
655662 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
656663 then (HighestPushValue > 0)
657664 else false)
658665 then ""
659666 else HighestPushAddress
660667 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
661668 then (HighestPushValue > 0)
662669 else false)
663670 then height
664671 else PrizeHeightValue
665672 let ActualDelayCost = match getInteger(this, "DelayCost") {
666673 case a: Int =>
667674 a
668675 case _ =>
669676 10
670677 }
671678 let pmt = extract(i.payment)
672679 let DevBoxBalance = match getInteger(this, "DevBox") {
673680 case a: Int =>
674681 a
675682 case _ =>
676683 0
677684 }
678685 if (if (isDefined(pmt.assetId))
679686 then (extract(pmt.assetId) == GovernToken)
680687 else false)
681688 then if ((PrizeAmount > 0))
682689 then {
683690 let UserGovernTokenAmount = pmt.amount
684691 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
685692 let NewDelayCost = if ((ActualDelayCost == 0))
686693 then 1000000000
687694 else (2 * ActualDelayCost)
688695 if ((UserGovernTokenAmount >= NewDelayCost))
689696 then {
690697 let NewDelay = (ActualDelay + DelayDays)
691698 WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost), DataEntry("PrizeHeight", PrizeHeightValueNew), DataEntry("DevBox", DevBoxAmount), DataEntry("HighestPushAddress", HighestPushAddressValue)])
692699 }
693700 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(NewDelayCost)) + "TROIKAs"))
694701 }
695702 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
696703 else throw("Can Use only Troika Token to Delay Reward")
697704 }
698705
699706
700707
701708 @Callable(i)
702709 func ClaimPrize () = {
703710 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
704711 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
705712 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
706713 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
707714 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
708715 let minStakeBlock = 7
709716 let minref = 0
710717 let ContractGovTokenBalance = assetBalance(this, GovernToken)
711718 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
712719 let StakeBalance = match getInteger(this, "StakeBalance") {
713720 case a: Int =>
714721 a
715722 case _ =>
716723 0
717724 }
718725 let PrizeAmount = match getInteger(this, "FundBox") {
719726 case a: Int =>
720727 a
721728 case _ =>
722729 0
723730 }
724731 let UserPushValue = match getInteger(this, UserPush) {
725732 case a: Int =>
726733 a
727734 case _ =>
728735 0
729736 }
730737 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
731738 case a: Int =>
732739 a
733740 case _ =>
734741 0
735742 }
736743 let UserStakedTokenAmount = match getInteger(this, UserStakedTokenKey) {
737744 case a: Int =>
738745 a
739746 case _ =>
740747 0
741748 }
742749 let ActualDelay = match getInteger(this, "Delay") {
743750 case a: Int =>
744751 a
745752 case _ =>
746753 0
747754 }
748755 let PrizeWinner = getStringValue(this, "HighestPushAddress")
749756 let PrizeHeight = match getInteger(this, "PrizeHeight") {
750757 case a: Int =>
751758 a
752759 case _ =>
753760 0
754761 }
755762 let HighestPushValue = match getInteger(this, "HighestPush") {
756763 case a: Int =>
757764 a
758765 case _ =>
759766 0
760767 }
761768 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
762769 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
763770 case a: Int =>
764771 a
765772 case _ =>
766773 0
767774 }
768775 if (if ((PrizeAmount == 0))
769776 then true
770777 else (10000000000 > ContractGovTokenBalance))
771778 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
772779 else if ((toBase58String(i.caller.bytes) != PrizeWinner))
773780 then throw("You are not the winner hence cannot claim the reward ")
774781 else if (if ((100000000 > UserStakedTokenAmount))
775782 then (minStakeBlock > UserLastStakeBlockValue)
776783 else false)
777784 then throw("You have to Stake ASIMI Token to claim reward ")
778785 else if (if ((height > (PrizeHeight + ActualDelay)))
779786 then (UserPushValue >= HighestPushValue)
780787 else false)
781788 then if ((UserRefsNumValue >= minref))
782789 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)]))
783790 else throw("You have to have 10 referrals already staking for a minimum of 10 days to Claim the prize")
784791 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
785792 }
786793
787794
788795
789796 @Callable(i)
790797 func Addmentor (Mentor) = {
791798 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
792799 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
793800 let UserMentorAddress = (toBase58String(i.caller.bytes) + "_Mentor")
794801 if ((Mentor != ""))
795802 then WriteSet([DataEntry(UserMentorAddress, Mentor)])
796803 else throw("Mentor's Address cannot be empty")
797804 }
798805
799806

github/deemru/w8io/873ac7e 
125.10 ms