tx · BRYwU33ESXe6MyMdPKHz6dyiBZYQWeHBDx8pfxJeGMGA

3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK:  -0.01000000 Waves

2021.06.02 20:57 [1553065] smart account 3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK > SELF 0.00000000 Waves

{ "type": 13, "id": "BRYwU33ESXe6MyMdPKHz6dyiBZYQWeHBDx8pfxJeGMGA", "fee": 1000000, "feeAssetId": null, "timestamp": 1622656633509, "version": 2, "chainId": 84, "sender": "3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK", "senderPublicKey": "AHY8zupoYc6HPJ5fh1gQiGE9bNZSeifFbcQQ89okxVug", "proofs": [ "5HtMPcn9eKkTqdbrhRX7Dk2dhXZ8z9zFUuQYxjTpfpbw31WFuXzphrWoYh1Up1vPHWSt7zd7NgXRSRWXdfSALpfd" ], "script": "base64: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AAACBQAAABBIaWdoZXN0UHVzaFZhbHVlAAAAAAAAAAAAAwkAAGcAAAACBQAAABBVc2VyUmVmc051bVZhbHVlBQAAAAZtaW5yZWYJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACFVzZXJQdXNoBQAAAA1Vc2VyUHVzaHZhbHVlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABJIaWdoZXN0UHVzaEFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALSGlnaGVzdFB1c2gFAAAADVVzZXJQdXNodmFsdWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEVVzZXJMYXN0UHVzaEJsb2NrBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAC1ByaXplSGVpZ2h0BQAAABNQcml6ZUhlaWdodFZhbHVlTmV3CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAVEZWxheQUAAAAITmV3RGVsYXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAABkRldkJveAUAAAAMRGV2Qm94QW1vdW50BQAAAANuaWwJAAACAAAAAQIAAABPWW91IGhhdmUgdG8gaGF2ZSAxMCByZWZlcnJhbHMgYWxyZWFkeSBzdGFraW5nIGZvciBhIG1pbmltdW0gb2YgMTAgZGF5cywgdG8gcHVzaAQAAAADdHh0AwkAAGYAAAACBQAAABBIaWdoZXN0UHVzaFZhbHVlAAAAAAAAAAAAAgAAAE9Zb3UgY2Fubm90IFB1c2ggYWZ0ZXIgcmV3YXJkaW5nIFByaXplIGFuZCBiZWZvcmUgT25lIGRheSBoYXMgcGFzc2VkIGFmdGVyIGF3YXJkAgAAABBVbmV4cGVjdGVkIGVycm9yCQAAAgAAAAEFAAAAA3R4dAkAAAIAAAABAgAAAE5Zb3UgY2Fubm90IHB1c2ggYmVmb3JlIHRoZSByZXdhcmQgaXMgdW5sb2NrZWQsIG5vIHJld2FyZCBoYXMgYmVlbiBkZXRlY3RlZCB5ZXQJAAACAAAAAQIAAABDWW91ciBwdXNoIGluIHRyb2lrYW4gdG9rZW4sIHNob3VsZCBiZSBIaWdoZXIgdGhhbiBsYXN0IEhpZ2hlc3QgUHVzaAkAAAIAAAABAgAAAFhUbyBiZSBhYmxlIHRvIHBhcnRpY2lwYXRlIGluIFB1c2hpbmcgZm9yIHRoZSByZXdhcmQgeW91IG5lZWQgdG8gU3Rha2UgQVNJTUlzIGluIHRoZSBkQXBwCQAAAgAAAAECAAAANVlvdSBoYXZlIHRvIHdhaXQgMTBtaW4gYmVmb3JlIHlvdSBjYW4gbWFrZSBhIG5ldyBQdXNoCQAAAgAAAAEJAAEsAAAAAgIAAAA6WW91ciBQdXNoIGRvdCBub3QgY29tcGx5IG9uZSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6IAIAAABdMS4gUG9zaXRpdmUgVmFsdWUgZm9yIFB1c2ggaW4gVHJvaWthbiBUb2tlCiAyLiBNdXN0IFN0YWtlZCBBU0lNSSBUb2tlbiBmb3IgYSBtaW5pbXVtIG9mIHdlZWsgCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAHZDYW4gZGVwb3NpdCBvbmx5IHBvc2l0aXZlIGFtb3VudHMgb2YgVHJvaWthbiBUb2tlbiwgb3IgQ2hlY2sgeW91ciBXYWxsZXQgYmFsYW5jZSBpbiBUcm9pa2EsIHlvdSBzaG91bGQgaGF2ZSBtb3JlIHRoYW4gCQABpAAAAAEFAAAAEEhpZ2hlc3RQdXNoVmFsdWUCAAAACCB0byBwdXNoCQAAAgAAAAECAAAApFlvdSBkbyBub3QgaGF2ZSBlbm91Z2ggVHJvaWthbiBUb2tlbnMgaW4geW91ciBXYWxsZXQgQmFsYW5jZSwgUGxlYXNlIEhhcnZlc3QgaWYgeW91IGhhdmUgZWFybmVkIFRyb2lrYW4gd2FsbGV0IG9yIHRyYW5zZmVyIHRvIHlvdXIgd2FsbGV0IG5lY2Vzc2FyeSBUcm9pa2FuIGFtb3VudCAhAAAAAWkBAAAABVN0YWtlAAAAAAQAAAALU3Rha2VkVG9rZW4BAAAAILXRKGG85gSnPN40vyincnte9/w4CJZnKBhuOOwELCGyBAAAAAtHb3Zlcm5Ub2tlbgEAAAAgEID4OLobvW7l4Eafs479e9fJOrvsYRoAST8NKMW+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AAxTdGFrZUJhbGFuY2UAAAAAAAAAAAAAAAAAAAAAJxADCQAAZgAAAAIFAAAAGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwAAAAAAAAAACgkAAGgAAAACCQAAaAAAAAIAAAAAAAAAJxAFAAAAGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAAGQAAAACAAAAAAAAAAABCQAAaQAAAAIFAAAAFG5ld0Ftb3VudFN0YWtlZFRva2VuBQAAAAxTdGFrZUJhbGFuY2UJAABoAAAAAgAAAAAAAAAnEAkAAGQAAAACAAAAAAAAAAABCQAAaQAAAAIFAAAAFG5ld0Ftb3VudFN0YWtlZFRva2VuBQAAAAxTdGFrZUJhbGFuY2UEAAAADFVzZXJBUFlWYWx1ZQMJAABmAAAAAgUAAAAYY3VycmVudEFtb3VudEdvdmVyblRva2VuAAAAAAAAAAAACQAAaQAAAAIJAABoAAAAAgAAAAAAAAAAZAUAAAAGUmV3YXJkBQAAABhjdXJyZW50QW1vdW50R292ZXJuVG9rZW4AAAAAAAAAAAAEAAAAFG5ld0Ftb3VudEdvdmVyblRva2VuCQAAZAAAAAIFAAAAGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgUAAAAGUmV3YXJkCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlckdvdmVyblRva2VuS2V5BQAAABRuZXdBbW91bnRHb3Zlcm5Ub2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlclN0YWtlZFRva2VuS2V5BQAAABRuZXdBbW91bnRTdGFrZWRUb2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5BQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADFN0YWtlQmFsYW5jZQUAAAASU3Rha2VCYWxhbmNlQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAtQcml6ZUhlaWdodAUAAAAQUHJpemVIZWlnaHRWYWx1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", "height": 1553065, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GuYBQUPbZj6R3iedPC4v1hQcGY4vnKmBjqvazWgzfdog Next: HXJqvXBJnzxF5Kgb4xUfoCCh64fez2YrPGyJgnB7Ae2u Diff:
OldNewDifferences
354354 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
355355 let LastBigStakerRewardBlock = (toBase58String(i.caller.bytes) + "LastBigStakerRewardBlock")
356356 let BigStakerReward = (toBase58String(i.caller.bytes) + "_BigStaker")
357- let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
358- let ContractWalletStakeBalance = assetBalance(this, StakedToken)
357+ let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
358+ let UserGovernTokenAmount = match getInteger(this, UserGovernTokenKey) {
359+ case a: Int =>
360+ a
361+ case _ =>
362+ 0
363+ }
359364 let LastBigStakerRewardBlockValue = match getInteger(this, LastBigStakerRewardBlock) {
360365 case a: Int =>
361366 a
406411 then throw("Can't withdraw negative amount")
407412 else if ((0 > newAmount))
408413 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
409- else if ((100000000 > assetBalance(this, GovernToken)))
410- then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, GovernToken) / 100000000))))
411- else ScriptResult(WriteSet([DataEntry(BigStakerReward, newAmount), DataEntry("BigStakersBalance", StakeBalanceAmount), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(LastBigStakerRewardBlock, LastBigStakerRewardBlockValue)]), TransferSet([ScriptTransfer(i.caller, amount, StakedToken)]))
414+ else if (((1 * 100000000) > UserGovernTokenAmount))
415+ then throw(("Not enough Earned Troikan Tokens to do transaction, you need at least 300 Troikans, you have: " + toString((assetBalance(this, GovernToken) / 100000000))))
416+ else ScriptResult(WriteSet([DataEntry(BigStakerReward, newAmount), DataEntry("BigStakersBalance", StakeBalanceAmount), DataEntry(UserGovernTokenKey, (UserGovernTokenAmount - (1 * 100000000))), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(LastBigStakerRewardBlock, LastBigStakerRewardBlockValue)]), TransferSet([ScriptTransfer(i.caller, amount, StakedToken)]))
412417 }
413418
414419
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'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
1010 if ((currentKey == "3P74buHt98BnojFcaREJZtb98KDyUmZGemJ"))
1111 then {
1212 let DevBoxAmount = match getInteger(this, "DevBox") {
1313 case a: Int =>
1414 a
1515 case _ =>
1616 0
1717 }
1818 if ((0 > DevBoxAmount))
1919 then throw("Not enough balance")
2020 else ScriptResult(WriteSet([DataEntry("DevBox", 0)]), TransferSet([ScriptTransfer(i.caller, DevBoxAmount, GovernToken)]))
2121 }
2222 else throw("You cannot withdraw as your are not the Dev.")
2323 }
2424
2525
2626
2727 @Callable(i)
2828 func PushReward () = {
2929 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
3030 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
3131 let minPushBlock = 0
3232 let minStakeBlock = (1 * 1)
3333 let DelayAfterPush = 5
3434 let WaitTime = 5
3535 let minref = 0
3636 let userWalletGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
3737 let pmt = extract(i.payment)
3838 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
3939 let UserLastPushOldValue = match getInteger(this, UserPush) {
4040 case a: Int =>
4141 a
4242 case _ =>
4343 0
4444 }
4545 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
4646 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
4747 case a: Int =>
4848 a
4949 case _ =>
5050 0
5151 }
5252 let HighestPushValue = match getInteger(this, "HighestPush") {
5353 case a: Int =>
5454 a
5555 case _ =>
5656 0
5757 }
5858 if ((userWalletGovernBalance > pmt.amount))
5959 then if (if (((pmt.amount + UserLastPushOldValue) > HighestPushValue))
6060 then (pmt.assetId == GovernToken)
6161 else false)
6262 then {
6363 let UserLastPushBlock = (toBase58String(i.caller.bytes) + "_UserLastPushBlock")
6464 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
6565 let UserStake = (toBase58String(i.caller.bytes) + "_Staking")
6666 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
6767 let StakeBalance = match getInteger(this, "StakeBalance") {
6868 case a: Int =>
6969 a
7070 case _ =>
7171 0
7272 }
7373 let PrizeAmount = match getInteger(this, "FundBox") {
7474 case a: Int =>
7575 a
7676 case _ =>
7777 0
7878 }
7979 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
8080 case a: Int =>
8181 a
8282 case _ =>
8383 0
8484 }
8585 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
8686 then (PrizeAmount == 0)
8787 else false)
8888 then 0
8989 else if (if ((HeightTransactFundBox == 0))
9090 then (PrizeAmount != 0)
9191 else false)
9292 then height
9393 else if (if ((HeightTransactFundBox != 0))
9494 then (PrizeAmount != 0)
9595 else false)
9696 then HeightTransactFundBox
9797 else 0
9898 let ActualDelay = match getInteger(this, "Delay") {
9999 case a: Int =>
100100 a
101101 case _ =>
102102 0
103103 }
104104 let NewDelay = (ActualDelay + DelayAfterPush)
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 PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + NewDelay) + WaitTime)))
138138 then (HighestPushValue > 0)
139139 else false)
140140 then height
141141 else PrizeHeightValue
142142 if (if ((UserPushvalue > 0))
143143 then ((height - UserLastStakeBlockValue) > minStakeBlock)
144144 else false)
145145 then if (((height - UserLastPushBlockValue) > minPushBlock))
146146 then if ((UserStakeValue > 0))
147147 then if ((UserPushvalue > HighestPushValue))
148148 then if ((PrizeAmount > 0))
149149 then if (if (if (if (((PrizeHeightValueNew + NewDelay) > height))
150150 then true
151151 else (height > ((PrizeHeightValueNew + NewDelay) + WaitTime)))
152152 then (HighestPushValue > 0)
153153 else false)
154154 then true
155155 else (HighestPushValue == 0))
156156 then if ((UserRefsNumValue >= minref))
157157 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)])
158158 else throw("You have to have 10 referrals already staking for a minimum of 10 days, to push")
159159 else {
160160 let txt = if ((HighestPushValue > 0))
161161 then "You cannot Push after rewarding Prize and before One day has passed after award"
162162 else "Unexpected error"
163163 throw(txt)
164164 }
165165 else throw("You cannot push before the reward is unlocked, no reward has been detected yet")
166166 else throw("Your push in troikan token, should be Higher than last Highest Push")
167167 else throw("To be able to participate in Pushing for the reward you need to Stake ASIMIs in the dApp")
168168 else throw("You have to wait 10min before you can make a new Push")
169169 else throw(("Your Push dot not comply one of the following conditions: " + "1. Positive Value for Push in Troikan Toke
170170 2. Must Staked ASIMI Token for a minimum of week "))
171171 }
172172 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"))
173173 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 !")
174174 }
175175
176176
177177
178178 @Callable(i)
179179 func Stake () = {
180180 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
181181 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
182182 let pmt = extract(i.payment)
183183 if (if ((pmt.amount > 0))
184184 then (pmt.assetId == StakedToken)
185185 else false)
186186 then {
187187 let GovernTokenSmartContractBalance = assetBalance(this, GovernToken)
188188 let UserAPY = (toBase58String(i.caller.bytes) + "_APY")
189189 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
190190 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
191191 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
192192 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
193193 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
194194 let AddressHeight = (toBase58String(i.caller.bytes) + "_PrizeHeight")
195195 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
196196 case a: Int =>
197197 a
198198 case _ =>
199199 0
200200 }
201201 let UserPushValue = match getInteger(this, UserPush) {
202202 case a: Int =>
203203 a
204204 case _ =>
205205 0
206206 }
207207 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
208208 case a: Int =>
209209 a
210210 case _ =>
211211 0
212212 }
213213 let UserLastStakeBlockNewValue = if ((UserLastStakeBlockValue == 0))
214214 then height
215215 else UserLastStakeBlockValue
216216 let NewUserStakeTransactions = (UserStakeTransactions + 1)
217217 let currentAmountStakedToken = match getInteger(this, UserStakedTokenKey) {
218218 case a: Int =>
219219 a
220220 case _ =>
221221 0
222222 }
223223 let newAmountStakedToken = (currentAmountStakedToken + pmt.amount)
224224 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
225225 let StakeBalance = match getInteger(this, "StakeBalance") {
226226 case a: Int =>
227227 a
228228 case _ =>
229229 0
230230 }
231231 let StakeBalanceAmount = (StakeBalance + pmt.amount)
232232 let PrizeAmount = match getInteger(this, "FundBox") {
233233 case a: Int =>
234234 a
235235 case _ =>
236236 0
237237 }
238238 let currentAmountGovernToken = match getInteger(this, UserGovernTokenKey) {
239239 case a: Int =>
240240 a
241241 case _ =>
242242 0
243243 }
244244 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
245245 case a: Int =>
246246 a
247247 case _ =>
248248 0
249249 }
250250 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
251251 then (PrizeAmount == 0)
252252 else false)
253253 then 0
254254 else if (if ((HeightTransactFundBox == 0))
255255 then (PrizeAmount != 0)
256256 else false)
257257 then height
258258 else if (if ((HeightTransactFundBox != 0))
259259 then (PrizeAmount != 0)
260260 else false)
261261 then HeightTransactFundBox
262262 else 0
263263 if ((100000000 > GovernTokenSmartContractBalance))
264264 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
265265 else {
266266 let Reward = if ((StakeBalance == 0))
267267 then 10000
268268 else if ((NewUserStakeTransactions > 10))
269269 then ((10000 * NewUserStakeTransactions) * (1 + (newAmountStakedToken / StakeBalance)))
270270 else (10000 * (1 + (newAmountStakedToken / StakeBalance)))
271271 let UserAPYValue = if ((currentAmountGovernToken > 0))
272272 then ((100 * Reward) / currentAmountGovernToken)
273273 else 0
274274 let newAmountGovernToken = (currentAmountGovernToken + Reward)
275275 ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmountGovernToken), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(UserAPY, UserAPYValue), DataEntry(UserLastStakeBlock, UserLastStakeBlockNewValue), DataEntry(UserPush, UserPushValue)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
276276 }
277277 }
278278 else throw("Can deposit only StakeToken")
279279 }
280280
281281
282282
283283 @Callable(i)
284284 func WithdrawStakedFunds (amount) = {
285285 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
286286 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
287287 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
288288 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
289289 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
290290 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
291291 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
292292 case a: Int =>
293293 a
294294 case _ =>
295295 0
296296 }
297297 let StakeBalance = match getInteger(this, "StakeBalance") {
298298 case a: Int =>
299299 a
300300 case _ =>
301301 0
302302 }
303303 let PrizeAmount = match getInteger(this, "FundBox") {
304304 case a: Int =>
305305 a
306306 case _ =>
307307 0
308308 }
309309 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
310310 case a: Int =>
311311 a
312312 case _ =>
313313 0
314314 }
315315 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
316316 then (PrizeAmount == 0)
317317 else false)
318318 then 0
319319 else if (if ((HeightTransactFundBox == 0))
320320 then (PrizeAmount != 0)
321321 else false)
322322 then height
323323 else if (if ((HeightTransactFundBox != 0))
324324 then (PrizeAmount != 0)
325325 else false)
326326 then HeightTransactFundBox
327327 else 0
328328 let currentKey = toBase58String(i.caller.bytes)
329329 let currentAmount = match getInteger(this, UserStakedTokenKey) {
330330 case a: Int =>
331331 a
332332 case _ =>
333333 0
334334 }
335335 let newAmount = (currentAmount - amount)
336336 let StakeBalanceAmount = (StakeBalance - amount)
337337 let UserLastStakeBlockNewValue = if ((StakeBalanceAmount == 0))
338338 then 0
339339 else UserLastStakeBlockValue
340340 if ((0 > amount))
341341 then throw("Can't withdraw negative amount")
342342 else if ((0 > newAmount))
343343 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
344344 else if ((100000000 > assetBalance(this, GovernToken)))
345345 then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, GovernToken) / 100000000))))
346346 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, 100000000), DataEntry(UserStakedTokenKey, newAmount), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(UserLastStakeBlock, UserLastStakeBlockNewValue)]), TransferSet([ScriptTransfer(i.caller, 100000000, GovernToken), ScriptTransfer(i.caller, amount, StakedToken)]))
347347 }
348348
349349
350350
351351 @Callable(i)
352352 func WithdrawBigStakeReward (amount) = {
353353 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
354354 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
355355 let LastBigStakerRewardBlock = (toBase58String(i.caller.bytes) + "LastBigStakerRewardBlock")
356356 let BigStakerReward = (toBase58String(i.caller.bytes) + "_BigStaker")
357- let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
358- let ContractWalletStakeBalance = assetBalance(this, StakedToken)
357+ let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
358+ let UserGovernTokenAmount = match getInteger(this, UserGovernTokenKey) {
359+ case a: Int =>
360+ a
361+ case _ =>
362+ 0
363+ }
359364 let LastBigStakerRewardBlockValue = match getInteger(this, LastBigStakerRewardBlock) {
360365 case a: Int =>
361366 a
362367 case _ =>
363368 0
364369 }
365370 let BigStakersBalance = match getInteger(this, "BigStakersBalance") {
366371 case a: Int =>
367372 a
368373 case _ =>
369374 0
370375 }
371376 let PrizeAmount = match getInteger(this, "FundBox") {
372377 case a: Int =>
373378 a
374379 case _ =>
375380 0
376381 }
377382 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
378383 case a: Int =>
379384 a
380385 case _ =>
381386 0
382387 }
383388 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
384389 then (PrizeAmount == 0)
385390 else false)
386391 then 0
387392 else if (if ((HeightTransactFundBox == 0))
388393 then (PrizeAmount != 0)
389394 else false)
390395 then height
391396 else if (if ((HeightTransactFundBox != 0))
392397 then (PrizeAmount != 0)
393398 else false)
394399 then HeightTransactFundBox
395400 else 0
396401 let currentKey = toBase58String(i.caller.bytes)
397402 let currentAmount = match getInteger(this, BigStakerReward) {
398403 case a: Int =>
399404 a
400405 case _ =>
401406 0
402407 }
403408 let newAmount = (currentAmount - amount)
404409 let StakeBalanceAmount = (BigStakersBalance - amount)
405410 if ((0 > amount))
406411 then throw("Can't withdraw negative amount")
407412 else if ((0 > newAmount))
408413 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
409- else if ((100000000 > assetBalance(this, GovernToken)))
410- then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, GovernToken) / 100000000))))
411- else ScriptResult(WriteSet([DataEntry(BigStakerReward, newAmount), DataEntry("BigStakersBalance", StakeBalanceAmount), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(LastBigStakerRewardBlock, LastBigStakerRewardBlockValue)]), TransferSet([ScriptTransfer(i.caller, amount, StakedToken)]))
414+ else if (((1 * 100000000) > UserGovernTokenAmount))
415+ then throw(("Not enough Earned Troikan Tokens to do transaction, you need at least 300 Troikans, you have: " + toString((assetBalance(this, GovernToken) / 100000000))))
416+ else ScriptResult(WriteSet([DataEntry(BigStakerReward, newAmount), DataEntry("BigStakersBalance", StakeBalanceAmount), DataEntry(UserGovernTokenKey, (UserGovernTokenAmount - (1 * 100000000))), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(LastBigStakerRewardBlock, LastBigStakerRewardBlockValue)]), TransferSet([ScriptTransfer(i.caller, amount, StakedToken)]))
412417 }
413418
414419
415420
416421 @Callable(i)
417422 func HarvestGovernToiken (amount) = {
418423 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
419424 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
420425 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
421426 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
422427 let StakeBalance = match getInteger(this, "StakeBalance") {
423428 case a: Int =>
424429 a
425430 case _ =>
426431 0
427432 }
428433 let PrizeAmount = match getInteger(this, "FundBox") {
429434 case a: Int =>
430435 a
431436 case _ =>
432437 0
433438 }
434439 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
435440 case a: Int =>
436441 a
437442 case _ =>
438443 0
439444 }
440445 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
441446 then (PrizeAmount == 0)
442447 else false)
443448 then 0
444449 else if (if ((HeightTransactFundBox == 0))
445450 then (PrizeAmount != 0)
446451 else false)
447452 then height
448453 else if (if ((HeightTransactFundBox != 0))
449454 then (PrizeAmount != 0)
450455 else false)
451456 then HeightTransactFundBox
452457 else 0
453458 let currentKey = toBase58String(i.caller.bytes)
454459 let currentAmount = match getInteger(this, UserGovernTokenKey) {
455460 case a: Int =>
456461 a
457462 case _ =>
458463 0
459464 }
460465 let newAmount = (currentAmount - amount)
461466 if ((0 > amount))
462467 then throw("Can't withdraw negative amount")
463468 else if ((0 > newAmount))
464469 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
465470 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
466471 }
467472
468473
469474
470475 @Callable(i)
471476 func delayprize () = {
472477 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
473478 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
474479 let DelayDays = (1 * 1)
475480 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
476481 let UserWalletSGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
477482 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
478483 let StakeBalance = match getInteger(this, "StakeBalance") {
479484 case a: Int =>
480485 a
481486 case _ =>
482487 0
483488 }
484489 let PrizeAmount = match getInteger(this, "FundBox") {
485490 case a: Int =>
486491 a
487492 case _ =>
488493 0
489494 }
490495 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
491496 case a: Int =>
492497 a
493498 case _ =>
494499 0
495500 }
496501 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
497502 then (PrizeAmount == 0)
498503 else false)
499504 then 0
500505 else if (if ((HeightTransactFundBox == 0))
501506 then (PrizeAmount != 0)
502507 else false)
503508 then height
504509 else if (if ((HeightTransactFundBox != 0))
505510 then (PrizeAmount != 0)
506511 else false)
507512 then HeightTransactFundBox
508513 else 0
509514 let ActualDelay = match getInteger(this, "Delay") {
510515 case a: Int =>
511516 a
512517 case _ =>
513518 0
514519 }
515520 let ActualDelayCost = match getInteger(this, "DelayCost") {
516521 case a: Int =>
517522 a
518523 case _ =>
519524 10
520525 }
521526 let pmt = extract(i.payment)
522527 let DevBoxBalance = match getInteger(this, "DevBox") {
523528 case a: Int =>
524529 a
525530 case _ =>
526531 0
527532 }
528533 if (if (isDefined(pmt.assetId))
529534 then (extract(pmt.assetId) == GovernToken)
530535 else false)
531536 then if ((PrizeAmount > 0))
532537 then {
533538 let UserGovernTokenAmount = pmt.amount
534539 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
535540 let NewDelayCost = if ((ActualDelayCost == 0))
536541 then 1000000000
537542 else (2 * ActualDelayCost)
538543 if ((UserGovernTokenAmount >= NewDelayCost))
539544 then {
540545 let NewDelay = (ActualDelay + DelayDays)
541546 WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry("DevBox", DevBoxAmount)])
542547 }
543548 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(NewDelayCost)) + "TROIKAs"))
544549 }
545550 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
546551 else throw("Can Use only Troika Token to Delay Reward")
547552 }
548553
549554
550555
551556 @Callable(i)
552557 func ClaimPrize () = {
553558 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
554559 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
555560 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
556561 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
557562 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
558563 let minStakeBlock = 7
559564 let minref = 0
560565 let ContractGovTokenBalance = assetBalance(this, GovernToken)
561566 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
562567 let StakeBalance = match getInteger(this, "StakeBalance") {
563568 case a: Int =>
564569 a
565570 case _ =>
566571 0
567572 }
568573 let PrizeAmount = match getInteger(this, "FundBox") {
569574 case a: Int =>
570575 a
571576 case _ =>
572577 0
573578 }
574579 let UserPushValue = match getInteger(this, UserPush) {
575580 case a: Int =>
576581 a
577582 case _ =>
578583 0
579584 }
580585 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
581586 case a: Int =>
582587 a
583588 case _ =>
584589 0
585590 }
586591 let UserStakedTokenAmount = match getInteger(this, UserStakedTokenKey) {
587592 case a: Int =>
588593 a
589594 case _ =>
590595 0
591596 }
592597 let ActualDelay = match getInteger(this, "Delay") {
593598 case a: Int =>
594599 a
595600 case _ =>
596601 0
597602 }
598603 let PrizeWinner = getStringValue(this, "HighestPushAddress")
599604 let PrizeHeight = match getInteger(this, "PrizeHeight") {
600605 case a: Int =>
601606 a
602607 case _ =>
603608 0
604609 }
605610 let HighestPushValue = match getInteger(this, "HighestPush") {
606611 case a: Int =>
607612 a
608613 case _ =>
609614 0
610615 }
611616 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
612617 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
613618 case a: Int =>
614619 a
615620 case _ =>
616621 0
617622 }
618623 if (if ((PrizeAmount == 0))
619624 then true
620625 else (10000000000 > ContractGovTokenBalance))
621626 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
622627 else if ((toBase58String(i.caller.bytes) != PrizeWinner))
623628 then throw("You are not the winner hence cannot claim the reward ")
624629 else if (if ((100000000 > UserStakedTokenAmount))
625630 then (minStakeBlock > UserLastStakeBlockValue)
626631 else false)
627632 then throw("You have to Stake ASIMI Token to claim reward ")
628633 else if (if ((height > (PrizeHeight + ActualDelay)))
629634 then (UserPushValue >= HighestPushValue)
630635 else false)
631636 then if ((UserRefsNumValue >= minref))
632637 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)]))
633638 else throw("You have to have 10 referrals already staking for a minimum of 10 days to Claim the prize")
634639 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
635640 }
636641
637642
638643
639644 @Callable(i)
640645 func Addmentor (Mentor) = {
641646 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
642647 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
643648 let UserMentorAddress = (toBase58String(i.caller.bytes) + "_Mentor")
644649 if ((Mentor != ""))
645650 then WriteSet([DataEntry(UserMentorAddress, Mentor)])
646651 else throw("Mentor's Address cannot be empty")
647652 }
648653
649654

github/deemru/w8io/026f985 
74.75 ms