tx · BwLoCeL3HZtsnNsAkmQyNQnAkWfzJuqDXu3a9AWVJK3s

3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK:  -0.01000000 Waves

2021.06.02 21:20 [1553090] smart account 3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK > SELF 0.00000000 Waves

{ "type": 13, "id": "BwLoCeL3HZtsnNsAkmQyNQnAkWfzJuqDXu3a9AWVJK3s", "fee": 1000000, "feeAssetId": null, "timestamp": 1622658065913, "version": 2, "chainId": 84, "sender": "3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK", "senderPublicKey": "AHY8zupoYc6HPJ5fh1gQiGE9bNZSeifFbcQQ89okxVug", "proofs": [ "4sjAqx8JZxpbqGRrhpKTj5rxRVCHBk3Ba2zjLVZYYwGh1BbBdsGzwuDwi7tAYX8GjkwRqPqw9hCeZYjYgbPMB5q9" ], "script": "base64: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AAACBQAAABBIaWdoZXN0UHVzaFZhbHVlAAAAAAAAAAAAAwkAAGcAAAACBQAAABBVc2VyUmVmc051bVZhbHVlBQAAAAZtaW5yZWYJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACFVzZXJQdXNoBQAAAA1Vc2VyUHVzaHZhbHVlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABJIaWdoZXN0UHVzaEFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALSGlnaGVzdFB1c2gFAAAADVVzZXJQdXNodmFsdWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEVVzZXJMYXN0UHVzaEJsb2NrBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAC1ByaXplSGVpZ2h0BQAAABNQcml6ZUhlaWdodFZhbHVlTmV3CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAVEZWxheQUAAAAITmV3RGVsYXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAABkRldkJveAUAAAAMRGV2Qm94QW1vdW50BQAAAANuaWwJAAACAAAAAQIAAABPWW91IGhhdmUgdG8gaGF2ZSAxMCByZWZlcnJhbHMgYWxyZWFkeSBzdGFraW5nIGZvciBhIG1pbmltdW0gb2YgMTAgZGF5cywgdG8gcHVzaAQAAAADdHh0AwkAAGYAAAACBQAAABBIaWdoZXN0UHVzaFZhbHVlAAAAAAAAAAAAAgAAAE9Zb3UgY2Fubm90IFB1c2ggYWZ0ZXIgcmV3YXJkaW5nIFByaXplIGFuZCBiZWZvcmUgT25lIGRheSBoYXMgcGFzc2VkIGFmdGVyIGF3YXJkAgAAABBVbmV4cGVjdGVkIGVycm9yCQAAAgAAAAEFAAAAA3R4dAkAAAIAAAABAgAAAE5Zb3UgY2Fubm90IHB1c2ggYmVmb3JlIHRoZSByZXdhcmQgaXMgdW5sb2NrZWQsIG5vIHJld2FyZCBoYXMgYmVlbiBkZXRlY3RlZCB5ZXQJAAACAAAAAQIAAABDWW91ciBwdXNoIGluIHRyb2lrYW4gdG9rZW4sIHNob3VsZCBiZSBIaWdoZXIgdGhhbiBsYXN0IEhpZ2hlc3QgUHVzaAkAAAIAAAABAgAAAFhUbyBiZSBhYmxlIHRvIHBhcnRpY2lwYXRlIGluIFB1c2hpbmcgZm9yIHRoZSByZXdhcmQgeW91IG5lZWQgdG8gU3Rha2UgQVNJTUlzIGluIHRoZSBkQXBwCQAAAgAAAAECAAAANVlvdSBoYXZlIHRvIHdhaXQgMTBtaW4gYmVmb3JlIHlvdSBjYW4gbWFrZSBhIG5ldyBQdXNoCQAAAgAAAAEJAAEsAAAAAgIAAAA6WW91ciBQdXNoIGRvdCBub3QgY29tcGx5IG9uZSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6IAIAAABdMS4gUG9zaXRpdmUgVmFsdWUgZm9yIFB1c2ggaW4gVHJvaWthbiBUb2tlCiAyLiBNdXN0IFN0YWtlZCBBU0lNSSBUb2tlbiBmb3IgYSBtaW5pbXVtIG9mIHdlZWsgCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAHZDYW4gZGVwb3NpdCBvbmx5IHBvc2l0aXZlIGFtb3VudHMgb2YgVHJvaWthbiBUb2tlbiwgb3IgQ2hlY2sgeW91ciBXYWxsZXQgYmFsYW5jZSBpbiBUcm9pa2EsIHlvdSBzaG91bGQgaGF2ZSBtb3JlIHRoYW4gCQABpAAAAAEFAAAAEEhpZ2hlc3RQdXNoVmFsdWUCAAAACCB0byBwdXNoCQAAAgAAAAECAAAApFlvdSBkbyBub3QgaGF2ZSBlbm91Z2ggVHJvaWthbiBUb2tlbnMgaW4geW91ciBXYWxsZXQgQmFsYW5jZSwgUGxlYXNlIEhhcnZlc3QgaWYgeW91IGhhdmUgZWFybmVkIFRyb2lrYW4gd2FsbGV0IG9yIHRyYW5zZmVyIHRvIHlvdXIgd2FsbGV0IG5lY2Vzc2FyeSBUcm9pa2FuIGFtb3VudCAhAAAAAWkBAAAABVN0YWtlAAAAAAQAAAALU3Rha2VkVG9rZW4BAAAAILXRKGG85gSnPN40vyincnte9/w4CJZnKBhuOOwELCGyBAAAAAtHb3Zlcm5Ub2tlbgEAAAAgEID4OLobvW7l4Eafs479e9fJOrvsYRoAST8NKMW+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AAxTdGFrZUJhbGFuY2UAAAAAAAAAAAAAAAAAAAAAJxADCQAAZgAAAAIFAAAAGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwAAAAAAAAAACgkAAGgAAAACCQAAaAAAAAIAAAAAAAAAJxAFAAAAGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAAGQAAAACAAAAAAAAAAABCQAAaQAAAAIFAAAAFG5ld0Ftb3VudFN0YWtlZFRva2VuBQAAAAxTdGFrZUJhbGFuY2UJAABoAAAAAgAAAAAAAAAnEAkAAGQAAAACAAAAAAAAAAABCQAAaQAAAAIFAAAAFG5ld0Ftb3VudFN0YWtlZFRva2VuBQAAAAxTdGFrZUJhbGFuY2UEAAAADFVzZXJBUFlWYWx1ZQMJAABmAAAAAgUAAAAYY3VycmVudEFtb3VudEdvdmVyblRva2VuAAAAAAAAAAAACQAAaQAAAAIJAABoAAAAAgAAAAAAAAAAZAUAAAAGUmV3YXJkBQAAABhjdXJyZW50QW1vdW50R292ZXJuVG9rZW4AAAAAAAAAAAAEAAAAFG5ld0Ftb3VudEdvdmVyblRva2VuCQAAZAAAAAIFAAAAGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgUAAAAGUmV3YXJkCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlckdvdmVyblRva2VuS2V5BQAAABRuZXdBbW91bnRHb3Zlcm5Ub2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlclN0YWtlZFRva2VuS2V5BQAAABRuZXdBbW91bnRTdGFrZWRUb2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5BQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADFN0YWtlQmFsYW5jZQUAAAASU3Rha2VCYWxhbmNlQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAtQcml6ZUhlaWdodAUAAAAQUHJpemVIZWlnaHRWYWx1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CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA9CaWdTdGFrZXJSZXdhcmQFAAAACW5ld0Ftb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAARQmlnU3Rha2Vyc0JhbGFuY2UFAAAAElN0YWtlQmFsYW5jZUFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlckdvdmVyblRva2VuS2V5CQAAZQAAAAIFAAAAFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAUAAAASQmlnU3Rha2VyUmV3YXJkVGF4CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAtQcml6ZUhlaWdodAUAAAAQUHJpemVIZWlnaHRWYWx1ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAYTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrBQAAAB1MYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2tWYWx1ZQUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGYW1vdW50BQAAAAtTdGFrZWRUb2tlbgUAAAADbmlsAAAAAWkBAAAAE0hhcnZlc3RHb3Zlcm5Ub2lrZW4AAAABAAAABmFtb3VudAQAAAALU3Rha2VkVG9rZW4BAAAAILXRKGG85gSnPN40vyincnte9/w4CJZnKBhuOOwELCGyBAAAAAtHb3Zlcm5Ub2tlbgEAAAAgEID4OLobvW7l4Eafs479e9fJOrvsYRoAST8NKMW+XbkEAAAAGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQAD6wAAAAIFAAAABHRoaXMFAAAAC1N0YWtlZFRva2VuBAAAABJVc2VyR292ZXJuVG9rZW5LZXkJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAlfRWFybmluZ3MEAAAADFN0YWtlQmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAxTdGFrZUJhbGFuY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUA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", "height": 1553090, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HXJqvXBJnzxF5Kgb4xUfoCCh64fez2YrPGyJgnB7Ae2u Next: GYJuZdyq3x2os5zNFp1hTUbjRFwsAnrn6KoSVBRnyz1J Diff:
OldNewDifferences
409409 let StakeBalanceAmount = (BigStakersBalance - amount)
410410 let BigStakerRewardTax = if (((LastBigStakerRewardBlockValue - height) == 2))
411411 then (1 * 100000000)
412- else (UserGovernTokenAmount / 4)
412+ else (10 * 100000000)
413413 if ((0 > amount))
414414 then throw("Can't withdraw negative amount")
415415 else if ((0 > newAmount))
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")
357357 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
358358 let UserGovernTokenAmount = match getInteger(this, UserGovernTokenKey) {
359359 case a: Int =>
360360 a
361361 case _ =>
362362 0
363363 }
364364 let LastBigStakerRewardBlockValue = match getInteger(this, LastBigStakerRewardBlock) {
365365 case a: Int =>
366366 a
367367 case _ =>
368368 0
369369 }
370370 let BigStakersBalance = match getInteger(this, "BigStakersBalance") {
371371 case a: Int =>
372372 a
373373 case _ =>
374374 0
375375 }
376376 let PrizeAmount = match getInteger(this, "FundBox") {
377377 case a: Int =>
378378 a
379379 case _ =>
380380 0
381381 }
382382 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
383383 case a: Int =>
384384 a
385385 case _ =>
386386 0
387387 }
388388 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
389389 then (PrizeAmount == 0)
390390 else false)
391391 then 0
392392 else if (if ((HeightTransactFundBox == 0))
393393 then (PrizeAmount != 0)
394394 else false)
395395 then height
396396 else if (if ((HeightTransactFundBox != 0))
397397 then (PrizeAmount != 0)
398398 else false)
399399 then HeightTransactFundBox
400400 else 0
401401 let currentKey = toBase58String(i.caller.bytes)
402402 let currentAmount = match getInteger(this, BigStakerReward) {
403403 case a: Int =>
404404 a
405405 case _ =>
406406 0
407407 }
408408 let newAmount = (currentAmount - amount)
409409 let StakeBalanceAmount = (BigStakersBalance - amount)
410410 let BigStakerRewardTax = if (((LastBigStakerRewardBlockValue - height) == 2))
411411 then (1 * 100000000)
412- else (UserGovernTokenAmount / 4)
412+ else (10 * 100000000)
413413 if ((0 > amount))
414414 then throw("Can't withdraw negative amount")
415415 else if ((0 > newAmount))
416416 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
417417 else if (((1 * 100000000) > UserGovernTokenAmount))
418418 then throw(("Not enough Earned Troikan Tokens to do transaction, you need at least 300 Troikans, you have: " + toString((assetBalance(this, GovernToken) / 100000000))))
419419 else ScriptResult(WriteSet([DataEntry(BigStakerReward, newAmount), DataEntry("BigStakersBalance", StakeBalanceAmount), DataEntry(UserGovernTokenKey, (UserGovernTokenAmount - BigStakerRewardTax)), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(LastBigStakerRewardBlock, LastBigStakerRewardBlockValue)]), TransferSet([ScriptTransfer(i.caller, amount, StakedToken)]))
420420 }
421421
422422
423423
424424 @Callable(i)
425425 func HarvestGovernToiken (amount) = {
426426 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
427427 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
428428 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
429429 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
430430 let StakeBalance = match getInteger(this, "StakeBalance") {
431431 case a: Int =>
432432 a
433433 case _ =>
434434 0
435435 }
436436 let PrizeAmount = match getInteger(this, "FundBox") {
437437 case a: Int =>
438438 a
439439 case _ =>
440440 0
441441 }
442442 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
443443 case a: Int =>
444444 a
445445 case _ =>
446446 0
447447 }
448448 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
449449 then (PrizeAmount == 0)
450450 else false)
451451 then 0
452452 else if (if ((HeightTransactFundBox == 0))
453453 then (PrizeAmount != 0)
454454 else false)
455455 then height
456456 else if (if ((HeightTransactFundBox != 0))
457457 then (PrizeAmount != 0)
458458 else false)
459459 then HeightTransactFundBox
460460 else 0
461461 let currentKey = toBase58String(i.caller.bytes)
462462 let currentAmount = match getInteger(this, UserGovernTokenKey) {
463463 case a: Int =>
464464 a
465465 case _ =>
466466 0
467467 }
468468 let newAmount = (currentAmount - amount)
469469 if ((0 > amount))
470470 then throw("Can't withdraw negative amount")
471471 else if ((0 > newAmount))
472472 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
473473 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
474474 }
475475
476476
477477
478478 @Callable(i)
479479 func delayprize () = {
480480 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
481481 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
482482 let DelayDays = (1 * 1)
483483 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
484484 let UserWalletSGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
485485 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
486486 let StakeBalance = match getInteger(this, "StakeBalance") {
487487 case a: Int =>
488488 a
489489 case _ =>
490490 0
491491 }
492492 let PrizeAmount = match getInteger(this, "FundBox") {
493493 case a: Int =>
494494 a
495495 case _ =>
496496 0
497497 }
498498 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
499499 case a: Int =>
500500 a
501501 case _ =>
502502 0
503503 }
504504 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
505505 then (PrizeAmount == 0)
506506 else false)
507507 then 0
508508 else if (if ((HeightTransactFundBox == 0))
509509 then (PrizeAmount != 0)
510510 else false)
511511 then height
512512 else if (if ((HeightTransactFundBox != 0))
513513 then (PrizeAmount != 0)
514514 else false)
515515 then HeightTransactFundBox
516516 else 0
517517 let ActualDelay = match getInteger(this, "Delay") {
518518 case a: Int =>
519519 a
520520 case _ =>
521521 0
522522 }
523523 let ActualDelayCost = match getInteger(this, "DelayCost") {
524524 case a: Int =>
525525 a
526526 case _ =>
527527 10
528528 }
529529 let pmt = extract(i.payment)
530530 let DevBoxBalance = match getInteger(this, "DevBox") {
531531 case a: Int =>
532532 a
533533 case _ =>
534534 0
535535 }
536536 if (if (isDefined(pmt.assetId))
537537 then (extract(pmt.assetId) == GovernToken)
538538 else false)
539539 then if ((PrizeAmount > 0))
540540 then {
541541 let UserGovernTokenAmount = pmt.amount
542542 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
543543 let NewDelayCost = if ((ActualDelayCost == 0))
544544 then 1000000000
545545 else (2 * ActualDelayCost)
546546 if ((UserGovernTokenAmount >= NewDelayCost))
547547 then {
548548 let NewDelay = (ActualDelay + DelayDays)
549549 WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry("DevBox", DevBoxAmount)])
550550 }
551551 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(NewDelayCost)) + "TROIKAs"))
552552 }
553553 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
554554 else throw("Can Use only Troika Token to Delay Reward")
555555 }
556556
557557
558558
559559 @Callable(i)
560560 func ClaimPrize () = {
561561 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
562562 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
563563 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
564564 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
565565 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
566566 let minStakeBlock = 7
567567 let minref = 0
568568 let ContractGovTokenBalance = assetBalance(this, GovernToken)
569569 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
570570 let StakeBalance = match getInteger(this, "StakeBalance") {
571571 case a: Int =>
572572 a
573573 case _ =>
574574 0
575575 }
576576 let PrizeAmount = match getInteger(this, "FundBox") {
577577 case a: Int =>
578578 a
579579 case _ =>
580580 0
581581 }
582582 let UserPushValue = match getInteger(this, UserPush) {
583583 case a: Int =>
584584 a
585585 case _ =>
586586 0
587587 }
588588 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
589589 case a: Int =>
590590 a
591591 case _ =>
592592 0
593593 }
594594 let UserStakedTokenAmount = match getInteger(this, UserStakedTokenKey) {
595595 case a: Int =>
596596 a
597597 case _ =>
598598 0
599599 }
600600 let ActualDelay = match getInteger(this, "Delay") {
601601 case a: Int =>
602602 a
603603 case _ =>
604604 0
605605 }
606606 let PrizeWinner = getStringValue(this, "HighestPushAddress")
607607 let PrizeHeight = match getInteger(this, "PrizeHeight") {
608608 case a: Int =>
609609 a
610610 case _ =>
611611 0
612612 }
613613 let HighestPushValue = match getInteger(this, "HighestPush") {
614614 case a: Int =>
615615 a
616616 case _ =>
617617 0
618618 }
619619 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
620620 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
621621 case a: Int =>
622622 a
623623 case _ =>
624624 0
625625 }
626626 if (if ((PrizeAmount == 0))
627627 then true
628628 else (10000000000 > ContractGovTokenBalance))
629629 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
630630 else if ((toBase58String(i.caller.bytes) != PrizeWinner))
631631 then throw("You are not the winner hence cannot claim the reward ")
632632 else if (if ((100000000 > UserStakedTokenAmount))
633633 then (minStakeBlock > UserLastStakeBlockValue)
634634 else false)
635635 then throw("You have to Stake ASIMI Token to claim reward ")
636636 else if (if ((height > (PrizeHeight + ActualDelay)))
637637 then (UserPushValue >= HighestPushValue)
638638 else false)
639639 then if ((UserRefsNumValue >= minref))
640640 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)]))
641641 else throw("You have to have 10 referrals already staking for a minimum of 10 days to Claim the prize")
642642 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
643643 }
644644
645645
646646
647647 @Callable(i)
648648 func Addmentor (Mentor) = {
649649 let StakedToken = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
650650 let GovernToken = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
651651 let UserMentorAddress = (toBase58String(i.caller.bytes) + "_Mentor")
652652 if ((Mentor != ""))
653653 then WriteSet([DataEntry(UserMentorAddress, Mentor)])
654654 else throw("Mentor's Address cannot be empty")
655655 }
656656
657657

github/deemru/w8io/873ac7e 
78.78 ms