tx · 9NQf9DkpPRwNSsDHXMNB8faQx1EqMtECWZoKHNPAnWDC

3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK:  -0.01000000 Waves

2021.09.26 12:42 [1719750] smart account 3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK > SELF 0.00000000 Waves

{ "type": 13, "id": "9NQf9DkpPRwNSsDHXMNB8faQx1EqMtECWZoKHNPAnWDC", "fee": 1000000, "feeAssetId": null, "timestamp": 1632649376450, "version": 2, "chainId": 84, "sender": "3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK", "senderPublicKey": "AHY8zupoYc6HPJ5fh1gQiGE9bNZSeifFbcQQ89okxVug", "proofs": [ "4dT48bsg9GoPZcrCCNvoTRFY5fUm7TgFX7uBjYYrz5ALeyh78QDRJ1XCHNwYta68UGwq1PLEs4ZWU3CurAWX8nkV" ], "script": "base64:AAIDAAAAAAAAB8UIARIAEgASABIAEgMKAQESABIDCgEBEgASABIDCgEIGgcKAmExEgFpGhAKAmEyEgpjdXJyZW50S2V5GhEKAmEzEgtHb3Zlcm5Ub2tlbhoSCgJhNBIMRGV2Qm94QW1vdW50Gg0KAmE1EgckbWF0Y2gwGgcKAmE2EgFhGhEKAmE3EgtTdGFrZWRUb2tlbhogCgJhOBIaQ29udHJhY3RXYWxsZXRTdGFrZUJhbGFuY2UaEgoCYTkSDE1heERlcG9zaXRlchoYCgJiMRISVXNlckdvdmVyblRva2VuS2V5GhIKAmIyEgxTdGFrZUJhbGFuY2UaEQoCYjMSC1ByaXplQW1vdW50GhsKAmI0EhVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gaFgoCYjUSEFByaXplSGVpZ2h0VmFsdWUaDwoCYjYSCW5ld0Ftb3VudBoSCgJiNxIMbWluUHVzaEJsb2NrGhMKAmI4Eg1taW5TdGFrZUJsb2NrGhQKAmI5Eg5EZWxheUFmdGVyUHVzaBoOCgJjMRIIV2FpdFRpbWUaDAoCYzISBm1pbnJlZhoUCgJjMxIORmlyc3RQdXNoVGltZXIaHQoCYzQSF3VzZXJXYWxsZXRHb3Zlcm5CYWxhbmNlGgkKAmM1EgNwbXQaDgoCYzYSCFVzZXJQdXNoGhoKAmM3EhRVc2VyTGFzdFB1c2hPbGRWYWx1ZRoRCgJjOBILVXNlclJlZnNOdW0aFgoCYzkSEFVzZXJSZWZzTnVtVmFsdWUaFgoCZDESEEhpZ2hlc3RQdXNoVmFsdWUaFwoCZDISEVVzZXJMYXN0UHVzaEJsb2NrGhgKAmQzEhJVc2VyTGFzdFN0YWtlQmxvY2saDwoCZDQSCVVzZXJTdGFrZRoRCgJkNRILQWN0dWFsRGVsYXkaGAoCZDYSEkhpZ2hlc3RQdXNoQWRkcmVzcxocCgJkNxIWVXNlckxhc3RQdXNoQmxvY2tWYWx1ZRodCgJkOBIXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUaFAoCZDkSDlVzZXJTdGFrZVZhbHVlGhMKAmUxEg1EZXZCb3hCYWxhbmNlGhMKAmUyEg1Vc2VyUHVzaHZhbHVlGg4KAmUzEghOZXdEZWxheRodCgJlNBIXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUaGQoCZTUSE1ByaXplSGVpZ2h0VmFsdWVOZXcaCQoCZTYSA3R4dBolCgJlNxIfR292ZXJuVG9rZW5TbWFydENvbnRyYWN0QmFsYW5jZRoNCgJlOBIHVXNlckFQWRoYCgJlORISVXNlclN0YWtlZFRva2VuS2V5Gh4KAmYxEhhVc2VyU3Rha2VUcmFuc2FjdGlvbnNLZXkaEwoCZjISDUFkZHJlc3NIZWlnaHQaFgoCZjMSEFVzZXJXZWVrRWFybmluZ3MaGwoCZjQSFVVzZXJTdGFrZVRyYW5zYWN0aW9ucxoVCgJmNRIPTWF4RGVwb3NpdEJsb2NrGhAKAmY2EgpNYXhEZXBvc2l0GhcKAmY3EhFNYXhEZXBvc2l0ZXJWYWx1ZRoVCgJmOBIPTWF4RGVwb3NpdFZhbHVlGhoKAmY5EhRNYXhEZXBvc2l0QmxvY2tWYWx1ZRoTCgJnMRINVXNlclB1c2hWYWx1ZRogCgJnMhIaVXNlckxhc3RTdGFrZUJsb2NrTmV3VmFsdWUaHgoCZzMSGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucxoeCgJnNBIYY3VycmVudEFtb3VudFN0YWtlZFRva2VuGhoKAmc1EhRuZXdBbW91bnRTdGFrZWRUb2tlbhoYCgJnNhISU3Rha2VCYWxhbmNlQW1vdW50GhsKAmc3EhVVc2VyV2Vla0Vhcm5pbmdzVmFsdWUaHgoCZzgSGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbhoMCgJnORIGUmV3YXJkGhIKAmgxEgxVc2VyQVBZVmFsdWUaGgoCaDISFG5ld0Ftb3VudEdvdmVyblRva2VuGgwKAmgzEgZhbW91bnQaEwoCaDQSDWN1cnJlbnRBbW91bnQaHgoCaDUSGExhc3RCaWdTdGFrZXJSZXdhcmRCbG9jaxoVCgJoNhIPQmlnU3Rha2VyUmV3YXJkGhgKAmg3EhJMaW1pV2l0aGRyYXdSZXdhcmQaGwoCaDgSFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudBojCgJoORIdTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrVmFsdWUaHwoCaTESGUJpZ1N0YWtlclJld2FyZFRvdGFsVmFsdWUaGAoCaTISEkJpZ1N0YWtlclJld2FyZFRheBoPCgJpMxIJRGVsYXlEYXlzGh4KAmk0EhhVc2Vy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", "height": 1719750, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CrEDcPdALoDYvSdie1ByGgAVc5b16Q5QoV6BzLyBnsDu Next: 9UU1Nd6mNcU2TAoHAhsp2dpn471oKQ4nS27R4Hw27xyC Diff:
OldNewDifferences
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.")
23+ }
24+
25+
26+
27+@Callable(i)
28+func WithdrawWeeklyEarning () = {
29+ let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
30+ let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
31+ let ContractWalletStakeBalance = assetBalance(this, StakedToken)
32+ let MaxDepositer = getStringValue(this, "MaxDepositer")
33+ let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_WeekEarning")
34+ let StakeBalance = match getInteger(this, "StakeBalance") {
35+ case a: Int =>
36+ a
37+ case _ =>
38+ 0
39+ }
40+ let PrizeAmount = match getInteger(this, "FundBox") {
41+ case a: Int =>
42+ a
43+ case _ =>
44+ 0
45+ }
46+ let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
47+ case a: Int =>
48+ a
49+ case _ =>
50+ 0
51+ }
52+ let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
53+ then (PrizeAmount == 0)
54+ else false)
55+ then 0
56+ else if (if ((HeightTransactFundBox == 0))
57+ then (PrizeAmount != 0)
58+ else false)
59+ then height
60+ else if (if ((HeightTransactFundBox != 0))
61+ then (PrizeAmount != 0)
62+ else false)
63+ then HeightTransactFundBox
64+ else 0
65+ let currentKey = toBase58String(i.caller.bytes)
66+ let newAmount = match getInteger(this, UserGovernTokenKey) {
67+ case a: Int =>
68+ a
69+ case _ =>
70+ 0
71+ }
72+ if ((0 > newAmount))
73+ then throw("Can't withdraw negative amount")
74+ else if ((0 > newAmount))
75+ then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((newAmount / 100000000))))
76+ else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, newAmount, GovernToken)]))
2377 }
2478
2579
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.")
23+ }
24+
25+
26+
27+@Callable(i)
28+func WithdrawWeeklyEarning () = {
29+ let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
30+ let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
31+ let ContractWalletStakeBalance = assetBalance(this, StakedToken)
32+ let MaxDepositer = getStringValue(this, "MaxDepositer")
33+ let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_WeekEarning")
34+ let StakeBalance = match getInteger(this, "StakeBalance") {
35+ case a: Int =>
36+ a
37+ case _ =>
38+ 0
39+ }
40+ let PrizeAmount = match getInteger(this, "FundBox") {
41+ case a: Int =>
42+ a
43+ case _ =>
44+ 0
45+ }
46+ let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
47+ case a: Int =>
48+ a
49+ case _ =>
50+ 0
51+ }
52+ let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
53+ then (PrizeAmount == 0)
54+ else false)
55+ then 0
56+ else if (if ((HeightTransactFundBox == 0))
57+ then (PrizeAmount != 0)
58+ else false)
59+ then height
60+ else if (if ((HeightTransactFundBox != 0))
61+ then (PrizeAmount != 0)
62+ else false)
63+ then HeightTransactFundBox
64+ else 0
65+ let currentKey = toBase58String(i.caller.bytes)
66+ let newAmount = match getInteger(this, UserGovernTokenKey) {
67+ case a: Int =>
68+ a
69+ case _ =>
70+ 0
71+ }
72+ if ((0 > newAmount))
73+ then throw("Can't withdraw negative amount")
74+ else if ((0 > newAmount))
75+ then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((newAmount / 100000000))))
76+ else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, newAmount, GovernToken)]))
2377 }
2478
2579
2680
2781 @Callable(i)
2882 func PushReward () = {
2983 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
3084 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
3185 let minPushBlock = 10
3286 let minStakeBlock = (7 * 1440)
3387 let DelayAfterPush = 1
3488 let WaitTime = (1 * 1)
3589 let minref = 0
3690 let FirstPushTimer = 1
3791 let userWalletGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
3892 let pmt = extract(i.payment)
3993 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
4094 let UserLastPushOldValue = match getInteger(this, UserPush) {
4195 case a: Int =>
4296 a
4397 case _ =>
4498 0
4599 }
46100 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
47101 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
48102 case a: Int =>
49103 a
50104 case _ =>
51105 0
52106 }
53107 let HighestPushValue = match getInteger(this, "HighestPush") {
54108 case a: Int =>
55109 a
56110 case _ =>
57111 0
58112 }
59113 if ((userWalletGovernBalance > pmt.amount))
60114 then if (if (((pmt.amount + UserLastPushOldValue) > HighestPushValue))
61115 then (pmt.assetId == GovernToken)
62116 else false)
63117 then {
64118 let UserLastPushBlock = (toBase58String(i.caller.bytes) + "_UserLastPushBlock")
65119 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
66120 let UserStake = (toBase58String(i.caller.bytes) + "_Staking")
67121 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
68122 let StakeBalance = match getInteger(this, "StakeBalance") {
69123 case a: Int =>
70124 a
71125 case _ =>
72126 0
73127 }
74128 let PrizeAmount = match getInteger(this, "FundBox") {
75129 case a: Int =>
76130 a
77131 case _ =>
78132 0
79133 }
80134 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
81135 case a: Int =>
82136 a
83137 case _ =>
84138 0
85139 }
86140 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
87141 then (PrizeAmount == 0)
88142 else false)
89143 then 0
90144 else if (if ((HeightTransactFundBox == 0))
91145 then (PrizeAmount != 0)
92146 else false)
93147 then height
94148 else if (if ((HeightTransactFundBox != 0))
95149 then (PrizeAmount != 0)
96150 else false)
97151 then HeightTransactFundBox
98152 else 0
99153 let ActualDelay = match getInteger(this, "Delay") {
100154 case a: Int =>
101155 a
102156 case _ =>
103157 0
104158 }
105159 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
106160 case a: Int =>
107161 a
108162 case _ =>
109163 0
110164 }
111165 let UserLastPushBlockValue = match getInteger(this, UserLastPushBlock) {
112166 case a: Int =>
113167 a
114168 case _ =>
115169 0
116170 }
117171 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
118172 case a: Int =>
119173 a
120174 case _ =>
121175 0
122176 }
123177 let UserStakeValue = match getInteger(this, UserStake) {
124178 case a: Int =>
125179 a
126180 case _ =>
127181 0
128182 }
129183 let DevBoxBalance = match getInteger(this, "DevBox") {
130184 case a: Int =>
131185 a
132186 case _ =>
133187 0
134188 }
135189 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
136190 let UserPushvalue = (pmt.amount + UserLastPushOldValue)
137191 let NewDelay = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
138192 then (HighestPushValue > 0)
139193 else false)
140194 then FirstPushTimer
141195 else (ActualDelay + DelayAfterPush)
142196 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + NewDelay) + WaitTime)))
143197 then (HighestPushValue > 0)
144198 else false)
145199 then ""
146200 else HighestPushAddress
147201 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + NewDelay) + WaitTime)))
148202 then (HighestPushValue > 0)
149203 else false)
150204 then height
151205 else PrizeHeightValue
152206 if (if ((UserPushvalue > 0))
153207 then ((height - UserLastStakeBlockValue) > minStakeBlock)
154208 else false)
155209 then if (((height - UserLastPushBlockValue) > minPushBlock))
156210 then if ((UserStakeValue > 0))
157211 then if ((UserPushvalue > HighestPushValue))
158212 then if ((PrizeAmount > 0))
159213 then if (if (if (if (((PrizeHeightValueNew + NewDelay) >= height))
160214 then true
161215 else (height >= ((PrizeHeightValueNew + NewDelay) + WaitTime)))
162216 then (HighestPushValue > 0)
163217 else false)
164218 then true
165219 else (HighestPushValue == 0))
166220 then if ((UserRefsNumValue >= minref))
167221 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)])
168222 else throw((("You have to have " + toString(minref)) + " referrals already staking for a minimum of 10 days, to push"))
169223 else {
170224 let txt = if ((HighestPushValue > 0))
171225 then "You cannot Push after rewarding Prize and before One day has passed after award"
172226 else "Unexpected error"
173227 throw(txt)
174228 }
175229 else throw("You cannot push before the reward is unlocked, no reward has been detected yet")
176230 else throw("Your push in troikan token, should be Higher than last Highest Push")
177231 else throw("To be able to participate in Pushing for the reward you need to Stake ASIMIs in the dApp")
178232 else throw("You have to wait 10min before you can make a new Push")
179233 else throw(("Your Push dot not comply one of the following conditions: " + "1. Positive Value for Push in Troikan Toke
180234 2. Must Staked ASIMI Token for a minimum of week "))
181235 }
182236 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"))
183237 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 !")
184238 }
185239
186240
187241
188242 @Callable(i)
189243 func Stake () = {
190244 let WaitTime = (1 * 1)
191245 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
192246 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
193247 let pmt = extract(i.payment)
194248 if (if ((pmt.amount > 0))
195249 then (pmt.assetId == StakedToken)
196250 else false)
197251 then {
198252 let GovernTokenSmartContractBalance = assetBalance(this, GovernToken)
199253 let UserAPY = (toBase58String(i.caller.bytes) + "_APY")
200254 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
201255 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
202256 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
203257 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
204258 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
205259 let AddressHeight = (toBase58String(i.caller.bytes) + "_PrizeHeight")
206260 let UserWeekEarnings = (toBase58String(i.caller.bytes) + "_WeekEarning")
207261 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
208262 case a: Int =>
209263 a
210264 case _ =>
211265 0
212266 }
213267 let MaxDepositer = getStringValue(this, "MaxDepositer")
214268 let MaxDepositBlock = match getInteger(this, "MaxDepositBlock") {
215269 case a: Int =>
216270 a
217271 case _ =>
218272 0
219273 }
220274 let MaxDeposit = match getInteger(this, "MaxDeposit") {
221275 case a: Int =>
222276 a
223277 case _ =>
224278 0
225279 }
226280 let MaxDepositerValue = if ((pmt.amount > MaxDeposit))
227281 then toBase58String(i.caller.bytes)
228282 else MaxDepositer
229283 let MaxDepositValue = if ((pmt.amount > MaxDeposit))
230284 then pmt.amount
231285 else MaxDeposit
232286 let MaxDepositBlockValue = if ((pmt.amount > MaxDeposit))
233287 then height
234288 else MaxDepositBlock
235289 let UserPushValue = match getInteger(this, UserPush) {
236290 case a: Int =>
237291 a
238292 case _ =>
239293 0
240294 }
241295 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
242296 case a: Int =>
243297 a
244298 case _ =>
245299 0
246300 }
247301 let UserLastStakeBlockNewValue = if ((UserLastStakeBlockValue == 0))
248302 then height
249303 else UserLastStakeBlockValue
250304 let NewUserStakeTransactions = (UserStakeTransactions + 1)
251305 let currentAmountStakedToken = match getInteger(this, UserStakedTokenKey) {
252306 case a: Int =>
253307 a
254308 case _ =>
255309 0
256310 }
257311 let newAmountStakedToken = (currentAmountStakedToken + pmt.amount)
258312 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
259313 let StakeBalance = match getInteger(this, "StakeBalance") {
260314 case a: Int =>
261315 a
262316 case _ =>
263317 0
264318 }
265319 let StakeBalanceAmount = (StakeBalance + pmt.amount)
266320 let PrizeAmount = match getInteger(this, "FundBox") {
267321 case a: Int =>
268322 a
269323 case _ =>
270324 0
271325 }
272326 let UserWeekEarningsValue = match getInteger(this, UserWeekEarnings) {
273327 case a: Int =>
274328 a
275329 case _ =>
276330 0
277331 }
278332 let currentAmountGovernToken = match getInteger(this, UserGovernTokenKey) {
279333 case a: Int =>
280334 a
281335 case _ =>
282336 0
283337 }
284338 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
285339 case a: Int =>
286340 a
287341 case _ =>
288342 0
289343 }
290344 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
291345 then (PrizeAmount == 0)
292346 else false)
293347 then 0
294348 else if (if ((HeightTransactFundBox == 0))
295349 then (PrizeAmount != 0)
296350 else false)
297351 then height
298352 else if (if ((HeightTransactFundBox != 0))
299353 then (PrizeAmount != 0)
300354 else false)
301355 then HeightTransactFundBox
302356 else 0
303357 let ActualDelay = match getInteger(this, "Delay") {
304358 case a: Int =>
305359 a
306360 case _ =>
307361 0
308362 }
309363 let HighestPushValue = match getInteger(this, "HighestPush") {
310364 case a: Int =>
311365 a
312366 case _ =>
313367 0
314368 }
315369 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
316370 case a: Int =>
317371 a
318372 case _ =>
319373 0
320374 }
321375 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
322376 then (HighestPushValue > 0)
323377 else false)
324378 then ""
325379 else HighestPushAddress
326380 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
327381 then (HighestPushValue > 0)
328382 else false)
329383 then height
330384 else PrizeHeightValue
331385 if ((100000000 > GovernTokenSmartContractBalance))
332386 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
333387 else {
334388 let Reward = if ((StakeBalance == 0))
335389 then 10000
336390 else if ((NewUserStakeTransactions > 10))
337391 then ((10000 * NewUserStakeTransactions) * (1 + (newAmountStakedToken / StakeBalance)))
338392 else (10000 * (1 + (newAmountStakedToken / StakeBalance)))
339393 let UserAPYValue = if ((currentAmountGovernToken > 0))
340394 then ((100 * Reward) / currentAmountGovernToken)
341395 else 0
342396 let newAmountGovernToken = (currentAmountGovernToken + Reward)
343397 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)]))
344398 }
345399 }
346400 else throw("Can deposit only StakeToken")
347401 }
348402
349403
350404
351405 @Callable(i)
352406 func WithdrawStakedFunds (amount) = {
353407 let WaitTime = (1 * 1)
354408 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
355409 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
356410 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
357411 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
358412 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
359413 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
360414 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
361415 case a: Int =>
362416 a
363417 case _ =>
364418 0
365419 }
366420 let StakeBalance = match getInteger(this, "StakeBalance") {
367421 case a: Int =>
368422 a
369423 case _ =>
370424 0
371425 }
372426 let PrizeAmount = match getInteger(this, "FundBox") {
373427 case a: Int =>
374428 a
375429 case _ =>
376430 0
377431 }
378432 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
379433 case a: Int =>
380434 a
381435 case _ =>
382436 0
383437 }
384438 let ActualDelay = match getInteger(this, "Delay") {
385439 case a: Int =>
386440 a
387441 case _ =>
388442 0
389443 }
390444 let HighestPushValue = match getInteger(this, "HighestPush") {
391445 case a: Int =>
392446 a
393447 case _ =>
394448 0
395449 }
396450 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
397451 then (PrizeAmount == 0)
398452 else false)
399453 then 0
400454 else if (if ((HeightTransactFundBox == 0))
401455 then (PrizeAmount != 0)
402456 else false)
403457 then height
404458 else if (if ((HeightTransactFundBox != 0))
405459 then (PrizeAmount != 0)
406460 else false)
407461 then HeightTransactFundBox
408462 else 0
409463 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
410464 case a: Int =>
411465 a
412466 case _ =>
413467 0
414468 }
415469 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
416470 then (HighestPushValue > 0)
417471 else false)
418472 then ""
419473 else HighestPushAddress
420474 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
421475 then (HighestPushValue > 0)
422476 else false)
423477 then height
424478 else PrizeHeightValue
425479 let currentKey = toBase58String(i.caller.bytes)
426480 let currentAmount = match getInteger(this, UserStakedTokenKey) {
427481 case a: Int =>
428482 a
429483 case _ =>
430484 0
431485 }
432486 let newAmount = (currentAmount - amount)
433487 let StakeBalanceAmount = (StakeBalance - amount)
434488 let UserLastStakeBlockNewValue = if ((StakeBalanceAmount == 0))
435489 then 0
436490 else UserLastStakeBlockValue
437491 if ((0 > amount))
438492 then throw("Can't withdraw negative amount")
439493 else if ((0 > newAmount))
440494 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
441495 else if ((100000000 > assetBalance(this, GovernToken)))
442496 then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, GovernToken) / 100000000))))
443497 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)]))
444498 }
445499
446500
447501
448502 @Callable(i)
449503 func WithdrawBigStakeReward () = {
450504 let WaitTime = (1 * 1)
451505 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
452506 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
453507 let LastBigStakerRewardBlock = (toBase58String(i.caller.bytes) + "_LastBigStakerRewardBlock")
454508 let BigStakerReward = (toBase58String(i.caller.bytes) + "_BigStaker")
455509 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
456510 let LimiWithdrawReward = 1
457511 let UserGovernTokenAmount = match getInteger(this, UserGovernTokenKey) {
458512 case a: Int =>
459513 a
460514 case _ =>
461515 0
462516 }
463517 let LastBigStakerRewardBlockValue = match getInteger(this, LastBigStakerRewardBlock) {
464518 case a: Int =>
465519 a
466520 case _ =>
467521 0
468522 }
469523 let BigStakerRewardTotalValue = match getInteger(this, "BigStakerRewardTotal") {
470524 case a: Int =>
471525 a
472526 case _ =>
473527 0
474528 }
475529 let PrizeAmount = match getInteger(this, "FundBox") {
476530 case a: Int =>
477531 a
478532 case _ =>
479533 0
480534 }
481535 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
482536 case a: Int =>
483537 a
484538 case _ =>
485539 0
486540 }
487541 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
488542 then (PrizeAmount == 0)
489543 else false)
490544 then 0
491545 else if (if ((HeightTransactFundBox == 0))
492546 then (PrizeAmount != 0)
493547 else false)
494548 then height
495549 else if (if ((HeightTransactFundBox != 0))
496550 then (PrizeAmount != 0)
497551 else false)
498552 then HeightTransactFundBox
499553 else 0
500554 let ActualDelay = match getInteger(this, "Delay") {
501555 case a: Int =>
502556 a
503557 case _ =>
504558 0
505559 }
506560 let HighestPushValue = match getInteger(this, "HighestPush") {
507561 case a: Int =>
508562 a
509563 case _ =>
510564 0
511565 }
512566 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
513567 case a: Int =>
514568 a
515569 case _ =>
516570 0
517571 }
518572 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
519573 then (HighestPushValue > 0)
520574 else false)
521575 then ""
522576 else HighestPushAddress
523577 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
524578 then (HighestPushValue > 0)
525579 else false)
526580 then height
527581 else PrizeHeightValue
528582 let currentKey = toBase58String(i.caller.bytes)
529583 let amount = match getInteger(this, BigStakerReward) {
530584 case a: Int =>
531585 a
532586 case _ =>
533587 0
534588 }
535589 let StakeBalanceAmount = (BigStakerRewardTotalValue - amount)
536590 let BigStakerRewardTax = if ((0 > ((UserGovernTokenAmount / 1000) * (1000 - ((1000 * (height - LastBigStakerRewardBlockValue)) / (LimiWithdrawReward * 1440))))))
537591 then (1000 * 100000000)
538592 else ((UserGovernTokenAmount / 1000) * (1000 - ((1000 * (height - LastBigStakerRewardBlockValue)) / (LimiWithdrawReward * 1440))))
539593 if ((0 > amount))
540594 then throw("Can't withdraw negative amount ")
541595 else if (if (((1000 * 100000000) > UserGovernTokenAmount))
542596 then (1 > amount)
543597 else false)
544598 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))))
545599 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)]))
546600 }
547601
548602
549603
550604 @Callable(i)
551605 func HarvestGovernToiken (amount) = {
552606 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
553607 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
554608 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
555609 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
556610 let StakeBalance = match getInteger(this, "StakeBalance") {
557611 case a: Int =>
558612 a
559613 case _ =>
560614 0
561615 }
562616 let PrizeAmount = match getInteger(this, "FundBox") {
563617 case a: Int =>
564618 a
565619 case _ =>
566620 0
567621 }
568622 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
569623 case a: Int =>
570624 a
571625 case _ =>
572626 0
573627 }
574628 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
575629 then (PrizeAmount == 0)
576630 else false)
577631 then 0
578632 else if (if ((HeightTransactFundBox == 0))
579633 then (PrizeAmount != 0)
580634 else false)
581635 then height
582636 else if (if ((HeightTransactFundBox != 0))
583637 then (PrizeAmount != 0)
584638 else false)
585639 then HeightTransactFundBox
586640 else 0
587641 let currentKey = toBase58String(i.caller.bytes)
588642 let currentAmount = match getInteger(this, UserGovernTokenKey) {
589643 case a: Int =>
590644 a
591645 case _ =>
592646 0
593647 }
594648 let newAmount = (currentAmount - amount)
595649 if ((0 > amount))
596650 then throw("Can't withdraw negative amount")
597651 else if ((0 > newAmount))
598652 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
599653 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
600654 }
601655
602656
603657
604658 @Callable(i)
605659 func delayprize () = {
606660 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
607661 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
608662 let DelayDays = (1 * 1)
609663 let WaitTime = (1 * 1)
610664 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
611665 let UserWalletSGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
612666 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
613667 let StakeBalance = match getInteger(this, "StakeBalance") {
614668 case a: Int =>
615669 a
616670 case _ =>
617671 0
618672 }
619673 let PrizeAmount = match getInteger(this, "FundBox") {
620674 case a: Int =>
621675 a
622676 case _ =>
623677 0
624678 }
625679 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
626680 case a: Int =>
627681 a
628682 case _ =>
629683 0
630684 }
631685 let ActualDelay = match getInteger(this, "Delay") {
632686 case a: Int =>
633687 a
634688 case _ =>
635689 0
636690 }
637691 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
638692 then (PrizeAmount == 0)
639693 else false)
640694 then 0
641695 else if (if ((HeightTransactFundBox == 0))
642696 then (PrizeAmount != 0)
643697 else false)
644698 then height
645699 else if (if ((HeightTransactFundBox != 0))
646700 then (PrizeAmount != 0)
647701 else false)
648702 then HeightTransactFundBox
649703 else 0
650704 let HighestPushValue = match getInteger(this, "HighestPush") {
651705 case a: Int =>
652706 a
653707 case _ =>
654708 0
655709 }
656710 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
657711 case a: Int =>
658712 a
659713 case _ =>
660714 0
661715 }
662716 let HighestPushAddressValue = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
663717 then (HighestPushValue > 0)
664718 else false)
665719 then ""
666720 else HighestPushAddress
667721 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + ActualDelay) + WaitTime)))
668722 then (HighestPushValue > 0)
669723 else false)
670724 then height
671725 else PrizeHeightValue
672726 let ActualDelayCost = match getInteger(this, "DelayCost") {
673727 case a: Int =>
674728 a
675729 case _ =>
676730 10
677731 }
678732 let pmt = extract(i.payment)
679733 let DevBoxBalance = match getInteger(this, "DevBox") {
680734 case a: Int =>
681735 a
682736 case _ =>
683737 0
684738 }
685739 if (if (isDefined(pmt.assetId))
686740 then (extract(pmt.assetId) == GovernToken)
687741 else false)
688742 then if ((PrizeAmount > 0))
689743 then {
690744 let UserGovernTokenAmount = pmt.amount
691745 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
692746 let NewDelayCost = if ((ActualDelayCost == 0))
693747 then 1000000000
694748 else (2 * ActualDelayCost)
695749 if ((UserGovernTokenAmount >= NewDelayCost))
696750 then {
697751 let NewDelay = (ActualDelay + DelayDays)
698752 WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost), DataEntry("PrizeHeight", PrizeHeightValueNew), DataEntry("DevBox", DevBoxAmount), DataEntry("HighestPushAddress", HighestPushAddressValue)])
699753 }
700754 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(NewDelayCost)) + "TROIKAs"))
701755 }
702756 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
703757 else throw("Can Use only Troika Token to Delay Reward")
704758 }
705759
706760
707761
708762 @Callable(i)
709763 func ClaimPrize () = {
710764 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
711765 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
712766 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
713767 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
714768 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
715769 let minStakeBlock = 7
716770 let minref = 0
717771 let ContractGovTokenBalance = assetBalance(this, GovernToken)
718772 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
719773 let StakeBalance = match getInteger(this, "StakeBalance") {
720774 case a: Int =>
721775 a
722776 case _ =>
723777 0
724778 }
725779 let PrizeAmount = match getInteger(this, "FundBox") {
726780 case a: Int =>
727781 a
728782 case _ =>
729783 0
730784 }
731785 let UserPushValue = match getInteger(this, UserPush) {
732786 case a: Int =>
733787 a
734788 case _ =>
735789 0
736790 }
737791 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
738792 case a: Int =>
739793 a
740794 case _ =>
741795 0
742796 }
743797 let UserStakedTokenAmount = match getInteger(this, UserStakedTokenKey) {
744798 case a: Int =>
745799 a
746800 case _ =>
747801 0
748802 }
749803 let ActualDelay = match getInteger(this, "Delay") {
750804 case a: Int =>
751805 a
752806 case _ =>
753807 0
754808 }
755809 let PrizeWinner = getStringValue(this, "HighestPushAddress")
756810 let PrizeHeight = match getInteger(this, "PrizeHeight") {
757811 case a: Int =>
758812 a
759813 case _ =>
760814 0
761815 }
762816 let HighestPushValue = match getInteger(this, "HighestPush") {
763817 case a: Int =>
764818 a
765819 case _ =>
766820 0
767821 }
768822 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
769823 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
770824 case a: Int =>
771825 a
772826 case _ =>
773827 0
774828 }
775829 if (if ((PrizeAmount == 0))
776830 then true
777831 else (10000000000 > ContractGovTokenBalance))
778832 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
779833 else if ((toBase58String(i.caller.bytes) != PrizeWinner))
780834 then throw("You are not the winner hence cannot claim the reward ")
781835 else if (if ((100000000 > UserStakedTokenAmount))
782836 then (minStakeBlock > UserLastStakeBlockValue)
783837 else false)
784838 then throw("You have to Stake ASIMI Token to claim reward ")
785839 else if (if ((height > (PrizeHeight + ActualDelay)))
786840 then (UserPushValue >= HighestPushValue)
787841 else false)
788842 then if ((UserRefsNumValue >= minref))
789843 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)]))
790844 else throw("You have to have 10 referrals already staking for a minimum of 10 days to Claim the prize")
791845 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
792846 }
793847
794848
795849
796850 @Callable(i)
797851 func Addmentor (Mentor) = {
798852 let StakedToken = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
799853 let GovernToken = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
800854 let UserMentorAddress = (toBase58String(i.caller.bytes) + "_Mentor")
801855 if ((Mentor != ""))
802856 then WriteSet([DataEntry(UserMentorAddress, Mentor)])
803857 else throw("Mentor's Address cannot be empty")
804858 }
805859
806860

github/deemru/w8io/169f3d6 
84.97 ms