tx · AHZpKCsqBKjjo7nnyDgbnL2h5fuqe55uecwnohsiXi9k

3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u:  -0.01440000 Waves

2020.12.26 23:15 [1326146] smart account 3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u > SELF 0.00000000 Waves

{ "type": 13, "id": "AHZpKCsqBKjjo7nnyDgbnL2h5fuqe55uecwnohsiXi9k", "fee": 1440000, "feeAssetId": null, "timestamp": 1609013738938, "version": 2, "chainId": 84, "sender": "3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u", "senderPublicKey": "FFDorDp8bC9dyUK2w8hYPWPVEcbbk9zYkpHn3gcq9svn", "proofs": [ "16UvprVMZV5duK4qry6Z2ri3pfkAPfaq19i57HLb4Pw84y6iXo5MUS45wSvwq8LZM5WCJfcXzBzNxgLCqr6gQrr" ], "script": "base64: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Z2ggR292ZXJuVG9rZW4gSW4gQ29udHJhY3QsIFBsZWFzZSBkZXBvc2l0IEdvdmVyblRva2VucwMJAAAAAAAAAgUAAAAfU3Rha2VkVG9rZW5TbWFydENvbnRyYWN0QmFsYW5jZQAAAAAAAAAAAAQAAAAUbmV3QW1vdW50R292ZXJuVG9rZW4JAABkAAAAAgUAAAAYY3VycmVudEFtb3VudEdvdmVyblRva2VuAAAAAAAAAAAKCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlckdvdmVyblRva2VuS2V5BQAAABRuZXdBbW91bnRHb3Zlcm5Ub2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlclN0YWtlZFRva2VuS2V5BQAAABRuZXdBbW91bnRTdGFrZWRUb2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5BQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADUFkZHJlc3NIZWlnaHQFAAAABmhlaWdodAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAACgUAAAALR292ZXJuVG9rZW4FAAAAA25pbAMJAABmAAAAAgUAAAAYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zAAAAAAAAAAAyBAAAAAZSZXdhcmQJAABoAAAAAgkAAGgAAAACAAAAAAAAAAAKBQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAABpAAAAAgUAAAAUbmV3QW1vdW50U3Rha2VkVG9rZW4FAAAAH1N0YWtlZFRva2VuU21hcnRDb250cmFjdEJhbGFuY2UEAAAAFG5ld0Ftb3VudEdvdmVyblRva2VuCQAAZAAAAAIFAAAAGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgUAAAAGUmV3YXJkCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlckdvdmVyblRva2VuS2V5BQAAAAZSZXdhcmQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAElVzZXJTdGFrZWRUb2tlbktleQUAAAAUbmV3QW1vdW50U3Rha2VkVG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAGFVzZXJTdGFrZVRyYW5zYWN0aW9uc0tleQUAAAAYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA1BZGRyZXNzSGVpZ2h0BQAAAAZoZWlnaHQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABlJld2FyZAUAAAALR292ZXJuVG9rZW4FAAAAA25pbAQAAAAGUmV3YXJkCQAAaAAAAAIAAAAAAAAAAAoJAABpAAAAAgUAAAAUbmV3QW1vdW50U3Rha2VkVG9rZW4FAAAAH1N0YWtlZFRva2VuU21hcnRDb250cmFjdEJhbGFuY2UEAAAAFG5ld0Ftb3VudEdvdmVyblRva2VuCQAAZAAAAAIFAAAAGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgUAAAAGUmV3YXJkCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlckdvdmVyblRva2VuS2V5BQAAAAZSZXdhcmQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAElVzZXJTdGFrZWRUb2tlbktleQUAAAAUbmV3QW1vdW50U3Rha2VkVG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAGFVzZXJTdGFrZVRyYW5zYWN0aW9uc0tleQUAAAAYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA1BZGRyZXNzSGVpZ2h0BQAAAAZoZWlnaHQFAAAAA25p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", "height": 1326146, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 41qCn2pHGNSFKoDTcVjcY3Zz2KEfbuWA5UXGd4QmDuru Next: 4FWeCDxUUU5St8Uq3rgfTAiuK6mqvugtW5dKnAHGsrC2 Diff:
OldNewDifferences
249249 then throw(("You have to Stake StakedToken to claim reward
250250 Your Balance of Staked Tokens is: " + toString(UserStakedTokenAmount)))
251251 else if (if ((UserGovernTokenAmount >= 100))
252- then (height >= (PrizeHeight + ((5 * height) / 60)))
252+ then (height >= (PrizeHeight + ((15 * height) / 60)))
253253 else false)
254254 then if ((UserGovernTokenAmount >= MaxGovernTokenDeposit))
255255 then ScriptResult(WriteSet([DataEntry(PrizeWinner, PrizeAmount), DataEntry(FundBoxStakedToken, 0), DataEntry(GovernTokenKey, 0), DataEntry(UserGovernTokenKey, 0), DataEntry(MaxGovernTokenDepositerKey, "")]), TransferSet([ScriptTransfer(i.caller, PrizeAmount, StakedToken), ScriptTransfer(i.caller, 100, GovernToken)]))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func ReadPoolData () = {
88 let GovernTokenKey = "GovernTokenMaxDeposit"
99 let MaxGovernTokenDepositerKey = "MaxGovernTokenDepositerKey"
1010 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
1111 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
1212 let UserStakedTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(StakedToken))
1313 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
1414 let Winner = getStringValue(this, MaxGovernTokenDepositerKey)
1515 let MaxGovernTokenDeposit = match getInteger(this, GovernTokenKey) {
1616 case a: Int =>
1717 a
1818 case _ =>
1919 0
2020 }
2121 let ReadUserGovernTokenKey = getStringValue(this, UserGovernTokenKey)
2222 let UserGovernTokenBalance = match getInteger(this, UserGovernTokenKey) {
2323 case a: Int =>
2424 a
2525 case _ =>
2626 0
2727 }
2828 let ReadUserStakedTokenKey = getStringValue(this, UserStakedTokenKey)
2929 let UserStakedTokenBalance = match getInteger(this, UserStakedTokenKey) {
3030 case a: Int =>
3131 a
3232 case _ =>
3333 0
3434 }
3535 throw(((((((("Winner is.....: " + Winner) + " Balance is: ") + toString(MaxGovernTokenDeposit)) + "
3636 Staked Token in your Balance is.....: ") + toString(UserStakedTokenBalance)) + "
3737 Govern Token in your Balance is.....: ") + toString(UserGovernTokenBalance)))
3838 }
3939
4040
4141
4242 @Callable(i)
4343 func ResetAccount () = {
4444 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
4545 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
4646 let UserStakedTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(StakedToken))
4747 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
4848 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
4949 WriteSet([DataEntry(UserGovernTokenKey, 0), DataEntry(UserStakedTokenKey, 0), DataEntry(UserStakeTransactionsKey, 0)])
5050 }
5151
5252
5353
5454 @Callable(i)
5555 func Stake () = {
5656 let FundBoxAddress58 = "3MsH5Hr1qQYUnwq4HTpiaGpXQi6cGPUsa5n"
5757 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
5858 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
5959 let GovernTokenSmartContractBalance = assetBalance(this, GovernToken)
6060 let StakedTokenSmartContractBalance = assetBalance(this, StakedToken)
6161 let pmt = extract(i.payment)
6262 if (if ((pmt.amount > 0))
6363 then (pmt.assetId == StakedToken)
6464 else false)
6565 then {
6666 let UserStakedTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(StakedToken))
6767 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
6868 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
6969 let AddressHeight = (toBase58String(i.caller.bytes) + "_PrizeHeight")
7070 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
7171 case a: Int =>
7272 a
7373 case _ =>
7474 0
7575 }
7676 let NewUserStakeTransactions = (UserStakeTransactions + 1)
7777 let currentAmountStakedToken = match getInteger(this, UserStakedTokenKey) {
7878 case a: Int =>
7979 a
8080 case _ =>
8181 0
8282 }
8383 let newAmountStakedToken = (currentAmountStakedToken + pmt.amount)
8484 let currentAmountGovernToken = match getInteger(this, UserGovernTokenKey) {
8585 case a: Int =>
8686 a
8787 case _ =>
8888 0
8989 }
9090 if ((1 > GovernTokenSmartContractBalance))
9191 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
9292 else if ((StakedTokenSmartContractBalance == 0))
9393 then {
9494 let newAmountGovernToken = (currentAmountGovernToken + 10)
9595 ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmountGovernToken), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry(AddressHeight, height)]), TransferSet([ScriptTransfer(i.caller, 10, GovernToken)]))
9696 }
9797 else if ((NewUserStakeTransactions > 50))
9898 then {
9999 let Reward = ((10 * NewUserStakeTransactions) * (newAmountStakedToken / StakedTokenSmartContractBalance))
100100 let newAmountGovernToken = (currentAmountGovernToken + Reward)
101101 ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, Reward), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry(AddressHeight, height)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
102102 }
103103 else {
104104 let Reward = (10 * (newAmountStakedToken / StakedTokenSmartContractBalance))
105105 let newAmountGovernToken = (currentAmountGovernToken + Reward)
106106 ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, Reward), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry(AddressHeight, height)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
107107 }
108108 }
109109 else throw("Can deposit only StakeToken")
110110 }
111111
112112
113113
114114 @Callable(i)
115115 func DepositGovernToken () = {
116116 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
117117 let GovernTokenMaxDeposit = toBase58String(GovernToken)
118118 let pmt = extract(i.payment)
119119 if (if (isDefined(pmt.assetId))
120120 then (extract(pmt.assetId) == GovernToken)
121121 else false)
122122 then {
123123 let currentKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
124124 let currentAmount = match getInteger(this, currentKey) {
125125 case a: Int =>
126126 a
127127 case _ =>
128128 0
129129 }
130130 let CurrrentGovernTokenDeposit = (currentAmount + pmt.amount)
131131 let GovernTokenKey = "GovernTokenMaxDeposit"
132132 let MaxGovernTokenDepositerKey = "MaxGovernTokenDepositerKey"
133133 let MaxGovernTokenDeposit = match getInteger(this, GovernTokenKey) {
134134 case a: Int =>
135135 a
136136 case _ =>
137137 0
138138 }
139139 if ((CurrrentGovernTokenDeposit > MaxGovernTokenDeposit))
140140 then WriteSet([DataEntry(currentKey, CurrrentGovernTokenDeposit), DataEntry(GovernTokenKey, CurrrentGovernTokenDeposit), DataEntry(MaxGovernTokenDepositerKey, currentKey)])
141141 else WriteSet([DataEntry(currentKey, CurrrentGovernTokenDeposit)])
142142 }
143143 else throw("Can deposit only Govern Token")
144144 }
145145
146146
147147
148148 @Callable(i)
149149 func WithdrawStakedFunds (amount) = {
150150 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
151151 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
152152 let UserStakedTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(StakedToken))
153153 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
154154 let currentKey = toBase58String(i.caller.bytes)
155155 let currentAmount = match getInteger(this, UserStakedTokenKey) {
156156 case a: Int =>
157157 a
158158 case _ =>
159159 0
160160 }
161161 let newAmount = (currentAmount - amount)
162162 if ((0 > amount))
163163 then throw("Can't withdraw negative amount")
164164 else if ((0 > newAmount))
165165 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString(currentAmount)))
166166 else {
167167 let GovernTokenAmount = assetBalance(this, GovernToken)
168168 if ((1 > GovernTokenAmount))
169169 then throw("No enough GovernToken In Contract")
170170 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, 1), DataEntry(UserStakedTokenKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, 1, GovernToken), ScriptTransfer(i.caller, amount, StakedToken)]))
171171 }
172172 }
173173
174174
175175
176176 @Callable(i)
177177 func HarvestGovernToiken (amount) = {
178178 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
179179 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
180180 let currentKey = toBase58String(i.caller.bytes)
181181 let currentAmount = match getInteger(this, UserGovernTokenKey) {
182182 case a: Int =>
183183 a
184184 case _ =>
185185 0
186186 }
187187 let newAmount = (currentAmount - amount)
188188 if ((0 > amount))
189189 then throw("Can't withdraw negative amount")
190190 else if ((0 > newAmount))
191191 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString(currentAmount)))
192192 else {
193193 let GovernTokenAmount = assetBalance(this, GovernToken)
194194 ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
195195 }
196196 }
197197
198198
199199
200200 @Callable(i)
201201 func ClaimPrize () = {
202202 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
203203 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
204204 let FundBoxAddress58 = base58'3MsH5Hr1qQYUnwq4HTpiaGpXQi6cGPUsa5n'
205205 let UserStakedTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(StakedToken))
206206 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
207207 let FundBoxStakedToken = ((toBase58String(FundBoxAddress58) + "_") + toBase58String(StakedToken))
208208 let GovernTokenAmount = assetBalance(this, GovernToken)
209209 let UserGovernTokenAmount = match getInteger(this, UserGovernTokenKey) {
210210 case a: Int =>
211211 a
212212 case _ =>
213213 0
214214 }
215215 let UserStakedTokenAmount = match getInteger(this, UserStakedTokenKey) {
216216 case a: Int =>
217217 a
218218 case _ =>
219219 0
220220 }
221221 let PrizeAmount = match getInteger(this, FundBoxStakedToken) {
222222 case a: Int =>
223223 a
224224 case _ =>
225225 0
226226 }
227227 let GovernTokenKey = "GovernTokenMaxDeposit"
228228 let MaxGovernTokenDepositerKey = "MaxGovernTokenDepositerKey"
229229 let PrizeWinner = getStringValue(this, MaxGovernTokenDepositerKey)
230230 let PrizeHeight = match getInteger(this, GovernTokenKey) {
231231 case a: Int =>
232232 a
233233 case _ =>
234234 height
235235 }
236236 let MaxGovernTokenDeposit = match getInteger(this, GovernTokenKey) {
237237 case a: Int =>
238238 a
239239 case _ =>
240240 0
241241 }
242242 if (if ((PrizeAmount == 0))
243243 then true
244244 else (100 > GovernTokenAmount))
245245 then throw("No prize to Claim or No enough Govern Token en Contract")
246246 else if ((UserGovernTokenKey != PrizeWinner))
247247 then throw("You are not the winner hence cannot claim the reward ")
248248 else if ((1 > UserStakedTokenAmount))
249249 then throw(("You have to Stake StakedToken to claim reward
250250 Your Balance of Staked Tokens is: " + toString(UserStakedTokenAmount)))
251251 else if (if ((UserGovernTokenAmount >= 100))
252- then (height >= (PrizeHeight + ((5 * height) / 60)))
252+ then (height >= (PrizeHeight + ((15 * height) / 60)))
253253 else false)
254254 then if ((UserGovernTokenAmount >= MaxGovernTokenDeposit))
255255 then ScriptResult(WriteSet([DataEntry(PrizeWinner, PrizeAmount), DataEntry(FundBoxStakedToken, 0), DataEntry(GovernTokenKey, 0), DataEntry(UserGovernTokenKey, 0), DataEntry(MaxGovernTokenDepositerKey, "")]), TransferSet([ScriptTransfer(i.caller, PrizeAmount, StakedToken), ScriptTransfer(i.caller, 100, GovernToken)]))
256256 else throw((("You should deposit at least " + toString(MaxGovernTokenDeposit)) + " to be able to claim reward"))
257257 else throw(((((("You have to deposit 100 GovernToken to claim Reward
258258 Your Balance is: " + toString(UserGovernTokenAmount)) + "
259259 Deposit done at: ") + toString(PrizeHeight)) + " And wait:") + toString((height / 60))))
260260 }
261261
262262

github/deemru/w8io/169f3d6 
187.17 ms