tx · 33dAvJZVcoxnidKAWaEHBkubVBaEdxr65qPFt2tpZBpd

3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u:  -0.01440000 Waves

2020.12.31 17:13 [1332988] smart account 3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u > SELF 0.00000000 Waves

{ "type": 13, "id": "33dAvJZVcoxnidKAWaEHBkubVBaEdxr65qPFt2tpZBpd", "fee": 1440000, "feeAssetId": null, "timestamp": 1609424024893, "version": 2, "chainId": 84, "sender": "3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u", "senderPublicKey": "FFDorDp8bC9dyUK2w8hYPWPVEcbbk9zYkpHn3gcq9svn", "proofs": [ "4t6dQJX43ayqwKfhPD5YmA631Ugj8Lu7TQM8wyPZUSayFCCgQ5wE64QtZtf6sjhTVjhiipcH5C4xo6umhHdiXm5p" ], "script": "base64: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AANwbXQAAAAHYXNzZXRJZAUAAAALU3Rha2VkVG9rZW4HBAAAABJVc2VyU3Rha2VkVG9rZW5LZXkJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAhfU3Rha2luZwQAAAASVXNlckdvdmVyblRva2VuS2V5CQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAJX0Vhcm5pbmdzBAAAABhVc2VyU3Rha2VUcmFuc2FjdGlvbnNLZXkJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAABNfU3Rha2VkVHJhbnNhY3Rpb25zBAAAAA1BZGRyZXNzSGVpZ2h0CQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAMX1ByaXplSGVpZ2h0BAAAABVVc2VyU3Rha2VUcmFuc2FjdGlvbnMEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAAGQAAAACBQAAABVVc2VyU3Rha2VUcmFuc2FjdGlvbnMAAAAAAAAAAAEEAAAAGGN1cnJlbnRBbW91bnRTdGFrZWRUb2tlbgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABJVc2VyU3Rha2VkVG9rZW5LZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAUbmV3QW1vdW50U3Rha2VkVG9rZW4JAABkAAAAAgUAAAAYY3VycmVudEFtb3VudFN0YWtlZFRva2VuCAUAAAADcG10AAAABmFtb3VudAQAAAAaQ29udHJhY3RXYWxsZXRTdGFrZUJhbGFuY2UJAAPrAAAAAgUAAAAEdGhpcwUAAAALU3Rha2VkVG9rZW4EAAAADFN0YWtlQmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAxTdGFrZUJhbGFuY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAASU3Rha2VCYWxhbmNlQW1vdW50CQAAZAAAAAIFAAAADFN0YWtlQmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAC1ByaXplQW1vdW50CQAAZQAAAAIFAAAAGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlBQAAAAxTdGFrZUJhbGFuY2UEAAAAGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABJVc2VyR292ZXJuVG9rZW5LZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAC1ByaXplSGVpZ2h0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEFByaXplSGVpZ2h0VmFsdWUDAwkAAAAAAAACBQAAABVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAAAAAAAAAAJAQAAAAIhPQAAAAIFAAAAC1ByaXplQW1vdW50AAAAAAAAAAAABwUAAAAGaGVpZ2h0AwMJAQAAAAIhPQAAAAIFAAAAFUhlaWdodFRyYW5zYWN0RnVuZEJveAAAAAAAAAAAAAkAAAAAAAACBQAAAAtQcml6ZUFtb3VudAAAAAAAAAAAAAcAAAAAAAAAAAAFAAAAFUhlaWdodFRyYW5zYWN0RnVuZEJveAMJAABmAAAAAgAAAAAAAAAAAQUAAAAfR292ZXJuVG9rZW5TbWFydENvbnRyYWN0QmFsYW5jZQkAAAIAAAABAgAAAD5ObyBlbm91Z2ggR292ZXJuVG9rZW4gSW4gQ29udHJhY3QsIFBsZWFzZSBkZXBvc2l0IEdvdmVyblRva2VucwQAAAAGUmV3YXJkAwkAAAAAAAACBQAAAB9TdGFrZWRUb2tlblNtYXJ0Q29udHJhY3RCYWxhbmNlAAAAAAAAAAAAAAAAAAAAAAAKAwkAAGYAAAACBQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMAAAAAAAAAADIJAABoAAAAAgkAAGgAAAACAAAAAAAAAAAKBQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAABpAAAAAgUAAAAUbmV3QW1vdW50U3Rha2VkVG9rZW4FAAAAH1N0YWtlZFRva2VuU21hcnRDb250cmFjdEJhbGFuY2UJAABoAAAAAgAAAAAAAAAACgkAAGkAAAACBQAAABRuZXdBbW91bnRTdGFrZWRUb2tlbgUAAAAfU3Rha2VkVG9rZW5TbWFydENvbnRyYWN0QmFsYW5jZQQAAAAUbmV3QW1vdW50R292ZXJuVG9rZW4JAABkAAAAAgUAAAAYY3VycmVudEFtb3VudEdvdmVyblRva2VuBQAAAAZSZXdhcmQJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABJVc2VyR292ZXJuVG9rZW5LZXkFAAAAFG5ld0Ftb3VudEdvdmVyblRva2VuCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABJVc2VyU3Rha2VkVG9rZW5LZXkFAAAAFG5ld0Ftb3VudFN0YWtlZFRva2VuCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABhVc2VyU3Rha2VUcmFuc2FjdGlvbnNLZXkFAAAAGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAMU3Rha2VCYWxhbmNlBQAAABJTdGFrZUJhbGFuY2VBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAB0Z1bmRCb3gFAAAAC1ByaXplQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAtQcml6ZUhlaWdodAUAAAAQUHJpemVIZWlnaHRWYWx1ZQUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMI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ABpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkAA+sAAAACBQAAAAR0aGlzBQAAAAtTdGFrZWRUb2tlbgQAAAAMU3Rha2VCYWxhbmNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAADFN0YWtlQmFsYW5jZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAtQcml6ZUFtb3VudAkAAGUAAAACBQAAABpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQUAAAAMU3Rha2VCYWxhbmNlBAAAABVVc2VyR292ZXJuVG9rZW5BbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAASVXNlckdvdmVyblRva2VuS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFVVzZXJTdGFrZWRUb2tlbkFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABJVc2VyU3Rha2VkVG9rZW5LZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAALQWN0dWFsRGVsYXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAFRGVsYXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAOR292ZXJuVG9rZW5LZXkCAAAAFUdvdmVyblRva2VuTWF4RGVwb3NpdAQAAAAaTWF4R292ZXJuVG9rZW5EZXBvc2l0ZXJLZXkCAAAAGk1heEdvdmVyblRva2VuRGVwb3NpdGVyS2V5BAAAAAtQcml6ZVdpbm5lcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAaTWF4R292ZXJuVG9rZW5EZXBvc2l0ZXJLZXkEAAAAC1ByaXplSGVpZ2h0BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAC1ByaXplSGVpZ2h0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFU1heEdvdmVyblRva2VuRGVwb3NpdAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAA5Hb3Zlcm5Ub2tlbktleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAwMJAAAAAAAAAgUAAAALUHJpemVBbW91bnQAAAAAAAAAAAAGCQAAZgAAAAIAAAAAAAAAAGQFAAAAEUdvdmVyblRva2VuQW1vdW50CQAAAgAAAAECAAAAN05vIHByaXplIHRvIENsYWltIG9yIE5vIGVub3VnaCBHb3Zlcm4gVG9rZW4gZW4gQ29udHJhY3QDCQEAAAACIT0AAAACBQAAABJVc2VyR292ZXJuVG9rZW5LZXkFAAAAC1ByaXplV2lubmVyCQAAAgAAAAECAAAANllvdSBhcmUgbm90IHRoZSB3aW5uZXIgaGVuY2UgY2Fubm90IGNsYWltIHRoZSByZXdhcmQgIAMJAABmAAAAAgAAAAAAAAAAAQUAAAAVVXNlclN0YWtlZFRva2VuQW1vdW50CQAAAgAAAAEJAAEsAAAAAgIAAABSWW91IGhhdmUgdG8gU3Rha2UgU3Rha2VkVG9rZW4gdG8gY2xhaW0gcmV3YXJkIAogWW91ciBCYWxhbmNlIG9mIFN0YWtlZCBUb2tlbnMgaXM6IAkAAaQAAAABBQAAABVVc2VyU3Rha2VkVG9rZW5BbW91bnQDAwMJAABnAAAAAgUAAAAVVXNlckdvdmVyblRva2VuQW1vdW50AAAAAAAAAABkCQAAZwAAAAIFAAAABmhlaWdodAkAAGQAAAACBQAAAAtQcml6ZUhlaWdodAUAAAALQWN0dWFsRGVsYXkHCQAAZgAAAAIFAAAABmhlaWdodAAAAAAAAAAAAAcDCQAAZwAAAAIFAAAAFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAUAAAAVTWF4R292ZXJuVG9rZW5EZXBvc2l0CQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAALUHJpemVXaW5uZXIFAAAAC1ByaXplQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAdGdW5kQm94AAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA5Hb3Zlcm5Ub2tlbktleQAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlckdvdmVyblRva2VuS2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABpNYXhHb3Zlcm5Ub2tlbkRlcG9zaXRlcktleQIAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAtQcml6ZUhlaWdodAAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAFRGVsYXkAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAACURlbGF5Q29zdAAAAAAAAAAAAAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAALUHJpemVBbW91bnQFAAAAC1N0YWtlZFRva2VuCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAZAUAAAALR292ZXJuVG9rZW4FAAAAA25pbAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAcWW91IHNob3VsZCBkZXBvc2l0IGF0IGxlYXN0IAkAAaQAAAABBQAAABVNYXhHb3Zlcm5Ub2tlbkRlcG9zaXQCAAAAGyB0byBiZSBhYmxlIHRvIGNsYWltIHJld2FyZAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAR1lvdSBoYXZlIHRvIGRlcG9zaXQgMTAwIEdvdmVyblRva2VuIHRvIGNsYWltIFJld2FyZCAKIFlvdXIgQmFsYW5jZSBpczogCQABpAAAAAEFAAAAFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAIAAAATCiBEZXBvc2l0IGRvbmUgYXQ6IAkAAaQAAAABBQAAAAtQcml6ZUhlaWdodAIAAAALICBBbmQgd2FpdDoJAAGkAAAAAQkAAGQAAAACBQAAAAtQcml6ZUhlaWdodAAAAAAAAAAACgIAAAAOQW5kIEhlaWdodCBpczoJAAGkAAAAAQUAAAAGaGVpZ2h0AAAAAEWsRgE=", "height": 1332988, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HSZSjCp2CeQwvZGTf63HWRgbz29mi2TWximLeYdSzHZT Next: 6UZiMdtUZUiKY1SHVZxsGvFqAqJZNXXx84RMzZf8JMBh Diff:
OldNewDifferences
7474 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
7575 then (PrizeAmount != 0)
7676 else false)
77- then WriteSet([DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
78- else WriteSet([DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
77+ then height
78+ else if (if ((HeightTransactFundBox != 0))
79+ then (PrizeAmount == 0)
80+ else false)
81+ then 0
82+ else HeightTransactFundBox
7983 if (if ((pmt.amount > 0))
8084 then (pmt.assetId == GovernToken)
8185 else false)
96100 }
97101 let CurrrentGovernTokenDeposit = pmt.amount
98102 if ((CurrrentGovernTokenDeposit > MaxGovernTokenDeposit))
99- then WriteSet([DataEntry(currentKey, CurrrentGovernTokenDeposit), DataEntry(GovernTokenKey, CurrrentGovernTokenDeposit), DataEntry(MaxGovernTokenDepositerKey, currentKey)])
103+ then WriteSet([DataEntry(currentKey, CurrrentGovernTokenDeposit), DataEntry(GovernTokenKey, CurrrentGovernTokenDeposit), DataEntry(MaxGovernTokenDepositerKey, currentKey), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
100104 else throw((("You have to deposit more than " + toString(MaxGovernTokenDeposit)) + " Troika"))
101105 }
102106 else throw("Can deposit only StakeToken")
158162 then (PrizeAmount != 0)
159163 else false)
160164 then height
161- else 0
165+ else if (if ((HeightTransactFundBox != 0))
166+ then (PrizeAmount == 0)
167+ else false)
168+ then 0
169+ else HeightTransactFundBox
162170 if ((1 > GovernTokenSmartContractBalance))
163171 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
164172 else {
200208 then (PrizeAmount != 0)
201209 else false)
202210 then height
203- else 0
211+ else if (if ((HeightTransactFundBox != 0))
212+ then (PrizeAmount == 0)
213+ else false)
214+ then 0
215+ else HeightTransactFundBox
204216 let currentKey = toBase58String(i.caller.bytes)
205217 let currentAmount = match getInteger(this, UserStakedTokenKey) {
206218 case a: Int =>
247259 then (PrizeAmount != 0)
248260 else false)
249261 then height
250- else 0
251- let TimeTest = if (if ((HeightTransactFundBox == 0))
252- then (PrizeAmount != 0)
253- else false)
254- then lastBlock.timestamp
255- else 0
262+ else if (if ((HeightTransactFundBox != 0))
263+ then (PrizeAmount == 0)
264+ else false)
265+ then 0
266+ else HeightTransactFundBox
256267 let currentKey = toBase58String(i.caller.bytes)
257268 let currentAmount = match getInteger(this, UserGovernTokenKey) {
258269 case a: Int =>
267278 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString(currentAmount)))
268279 else {
269280 let GovernTokenAmount = assetBalance(this, GovernToken)
270- ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry("TimeTest", TimeTest)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
281+ ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
271282 }
272283 }
273284
296307 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
297308 then (PrizeAmount != 0)
298309 else false)
299- then WriteSet([DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
300- else WriteSet([DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
310+ then height
311+ else if (if ((HeightTransactFundBox != 0))
312+ then (PrizeAmount == 0)
313+ else false)
314+ then 0
315+ else HeightTransactFundBox
301316 let ActualDelay = match getInteger(this, "Delay") {
302317 case a: Int =>
303318 a
322337 if ((UserGovernTokenAmount >= NewDelayCost))
323338 then {
324339 let NewDelay = (ActualDelay + 10)
325- WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost)])
340+ WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
326341 }
327342 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(NewDelayCost)) + "TROIKAs"))
328343 }
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), DataEntry("DelayCost", 0), DataEntry("Delay", 0)])
5050 }
5151
5252
5353
5454 @Callable(i)
5555 func PushReward () = {
5656 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
5757 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
5858 let pmt = extract(i.payment)
5959 let currentKey = (toBase58String(i.caller.bytes) + "_Push")
6060 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
6161 let StakeBalance = match getInteger(this, "StakeBalance") {
6262 case a: Int =>
6363 a
6464 case _ =>
6565 0
6666 }
6767 let PrizeAmount = (ContractWalletStakeBalance - StakeBalance)
6868 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
6969 case a: Int =>
7070 a
7171 case _ =>
7272 0
7373 }
7474 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
7575 then (PrizeAmount != 0)
7676 else false)
77- then WriteSet([DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
78- else WriteSet([DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
77+ then height
78+ else if (if ((HeightTransactFundBox != 0))
79+ then (PrizeAmount == 0)
80+ else false)
81+ then 0
82+ else HeightTransactFundBox
7983 if (if ((pmt.amount > 0))
8084 then (pmt.assetId == GovernToken)
8185 else false)
8286 then {
8387 let GovernTokenKey = "GovernTokenMaxDeposit"
8488 let MaxGovernTokenDepositerKey = "MaxGovernTokenDepositerKey"
8589 let MaxGovernTokenDeposit = match getInteger(this, GovernTokenKey) {
8690 case a: Int =>
8791 a
8892 case _ =>
8993 0
9094 }
9195 let currentAmount = match getInteger(this, currentKey) {
9296 case a: Int =>
9397 a
9498 case _ =>
9599 0
96100 }
97101 let CurrrentGovernTokenDeposit = pmt.amount
98102 if ((CurrrentGovernTokenDeposit > MaxGovernTokenDeposit))
99- then WriteSet([DataEntry(currentKey, CurrrentGovernTokenDeposit), DataEntry(GovernTokenKey, CurrrentGovernTokenDeposit), DataEntry(MaxGovernTokenDepositerKey, currentKey)])
103+ then WriteSet([DataEntry(currentKey, CurrrentGovernTokenDeposit), DataEntry(GovernTokenKey, CurrrentGovernTokenDeposit), DataEntry(MaxGovernTokenDepositerKey, currentKey), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
100104 else throw((("You have to deposit more than " + toString(MaxGovernTokenDeposit)) + " Troika"))
101105 }
102106 else throw("Can deposit only StakeToken")
103107 }
104108
105109
106110
107111 @Callable(i)
108112 func Stake () = {
109113 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
110114 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
111115 let GovernTokenSmartContractBalance = assetBalance(this, GovernToken)
112116 let StakedTokenSmartContractBalance = assetBalance(this, StakedToken)
113117 let pmt = extract(i.payment)
114118 if (if ((pmt.amount > 0))
115119 then (pmt.assetId == StakedToken)
116120 else false)
117121 then {
118122 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
119123 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
120124 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
121125 let AddressHeight = (toBase58String(i.caller.bytes) + "_PrizeHeight")
122126 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
123127 case a: Int =>
124128 a
125129 case _ =>
126130 0
127131 }
128132 let NewUserStakeTransactions = (UserStakeTransactions + 1)
129133 let currentAmountStakedToken = match getInteger(this, UserStakedTokenKey) {
130134 case a: Int =>
131135 a
132136 case _ =>
133137 0
134138 }
135139 let newAmountStakedToken = (currentAmountStakedToken + pmt.amount)
136140 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
137141 let StakeBalance = match getInteger(this, "StakeBalance") {
138142 case a: Int =>
139143 a
140144 case _ =>
141145 0
142146 }
143147 let StakeBalanceAmount = (StakeBalance + pmt.amount)
144148 let PrizeAmount = (ContractWalletStakeBalance - StakeBalance)
145149 let currentAmountGovernToken = match getInteger(this, UserGovernTokenKey) {
146150 case a: Int =>
147151 a
148152 case _ =>
149153 0
150154 }
151155 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
152156 case a: Int =>
153157 a
154158 case _ =>
155159 0
156160 }
157161 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
158162 then (PrizeAmount != 0)
159163 else false)
160164 then height
161- else 0
165+ else if (if ((HeightTransactFundBox != 0))
166+ then (PrizeAmount == 0)
167+ else false)
168+ then 0
169+ else HeightTransactFundBox
162170 if ((1 > GovernTokenSmartContractBalance))
163171 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
164172 else {
165173 let Reward = if ((StakedTokenSmartContractBalance == 0))
166174 then 10
167175 else if ((NewUserStakeTransactions > 50))
168176 then ((10 * NewUserStakeTransactions) * (newAmountStakedToken / StakedTokenSmartContractBalance))
169177 else (10 * (newAmountStakedToken / StakedTokenSmartContractBalance))
170178 let newAmountGovernToken = (currentAmountGovernToken + Reward)
171179 ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmountGovernToken), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
172180 }
173181 }
174182 else throw("Can deposit only StakeToken")
175183 }
176184
177185
178186
179187 @Callable(i)
180188 func WithdrawStakedFunds (amount) = {
181189 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
182190 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
183191 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
184192 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
185193 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
186194 let StakeBalance = match getInteger(this, "StakeBalance") {
187195 case a: Int =>
188196 a
189197 case _ =>
190198 0
191199 }
192200 let PrizeAmount = (ContractWalletStakeBalance - StakeBalance)
193201 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
194202 case a: Int =>
195203 a
196204 case _ =>
197205 0
198206 }
199207 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
200208 then (PrizeAmount != 0)
201209 else false)
202210 then height
203- else 0
211+ else if (if ((HeightTransactFundBox != 0))
212+ then (PrizeAmount == 0)
213+ else false)
214+ then 0
215+ else HeightTransactFundBox
204216 let currentKey = toBase58String(i.caller.bytes)
205217 let currentAmount = match getInteger(this, UserStakedTokenKey) {
206218 case a: Int =>
207219 a
208220 case _ =>
209221 0
210222 }
211223 let newAmount = (currentAmount - amount)
212224 let StakeBalanceAmount = (StakeBalance - amount)
213225 if ((0 > amount))
214226 then throw("Can't withdraw negative amount")
215227 else if ((0 > newAmount))
216228 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString(currentAmount)))
217229 else {
218230 let GovernTokenAmount = assetBalance(this, GovernToken)
219231 if ((1 > GovernTokenAmount))
220232 then throw("No enough GovernToken In Contract")
221233 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, 1), DataEntry(UserStakedTokenKey, newAmount), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, 1, GovernToken), ScriptTransfer(i.caller, amount, StakedToken)]))
222234 }
223235 }
224236
225237
226238
227239 @Callable(i)
228240 func HarvestGovernToiken (amount) = {
229241 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
230242 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
231243 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
232244 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
233245 let StakeBalance = match getInteger(this, "StakeBalance") {
234246 case a: Int =>
235247 a
236248 case _ =>
237249 0
238250 }
239251 let PrizeAmount = (ContractWalletStakeBalance - StakeBalance)
240252 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
241253 case a: Int =>
242254 a
243255 case _ =>
244256 0
245257 }
246258 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
247259 then (PrizeAmount != 0)
248260 else false)
249261 then height
250- else 0
251- let TimeTest = if (if ((HeightTransactFundBox == 0))
252- then (PrizeAmount != 0)
253- else false)
254- then lastBlock.timestamp
255- else 0
262+ else if (if ((HeightTransactFundBox != 0))
263+ then (PrizeAmount == 0)
264+ else false)
265+ then 0
266+ else HeightTransactFundBox
256267 let currentKey = toBase58String(i.caller.bytes)
257268 let currentAmount = match getInteger(this, UserGovernTokenKey) {
258269 case a: Int =>
259270 a
260271 case _ =>
261272 0
262273 }
263274 let newAmount = (currentAmount - amount)
264275 if ((0 > amount))
265276 then throw("Can't withdraw negative amount")
266277 else if ((0 > newAmount))
267278 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString(currentAmount)))
268279 else {
269280 let GovernTokenAmount = assetBalance(this, GovernToken)
270- ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry("TimeTest", TimeTest)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
281+ ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
271282 }
272283 }
273284
274285
275286
276287 @Callable(i)
277288 func delayprize () = {
278289 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
279290 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
280291 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
281292 let UserWalletSGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
282293 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
283294 let StakeBalance = match getInteger(this, "StakeBalance") {
284295 case a: Int =>
285296 a
286297 case _ =>
287298 0
288299 }
289300 let PrizeAmount = (ContractWalletStakeBalance - StakeBalance)
290301 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
291302 case a: Int =>
292303 a
293304 case _ =>
294305 0
295306 }
296307 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
297308 then (PrizeAmount != 0)
298309 else false)
299- then WriteSet([DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
300- else WriteSet([DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
310+ then height
311+ else if (if ((HeightTransactFundBox != 0))
312+ then (PrizeAmount == 0)
313+ else false)
314+ then 0
315+ else HeightTransactFundBox
301316 let ActualDelay = match getInteger(this, "Delay") {
302317 case a: Int =>
303318 a
304319 case _ =>
305320 0
306321 }
307322 let ActualDelayCost = match getInteger(this, "DelayCost") {
308323 case a: Int =>
309324 a
310325 case _ =>
311326 10
312327 }
313328 let pmt = extract(i.payment)
314329 if (if (isDefined(pmt.assetId))
315330 then (extract(pmt.assetId) == GovernToken)
316331 else false)
317332 then {
318333 let UserGovernTokenAmount = pmt.amount
319334 let NewDelayCost = if ((ActualDelayCost == 0))
320335 then 10
321336 else (2 * ActualDelayCost)
322337 if ((UserGovernTokenAmount >= NewDelayCost))
323338 then {
324339 let NewDelay = (ActualDelay + 10)
325- WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost)])
340+ WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", height)])
326341 }
327342 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(NewDelayCost)) + "TROIKAs"))
328343 }
329344 else throw("Can Use only Govern Token to Delay Reward")
330345 }
331346
332347
333348
334349 @Callable(i)
335350 func ClaimPrize () = {
336351 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
337352 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
338353 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
339354 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Push")
340355 let GovernTokenAmount = assetBalance(this, GovernToken)
341356 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
342357 let StakeBalance = match getInteger(this, "StakeBalance") {
343358 case a: Int =>
344359 a
345360 case _ =>
346361 0
347362 }
348363 let PrizeAmount = (ContractWalletStakeBalance - StakeBalance)
349364 let UserGovernTokenAmount = match getInteger(this, UserGovernTokenKey) {
350365 case a: Int =>
351366 a
352367 case _ =>
353368 0
354369 }
355370 let UserStakedTokenAmount = match getInteger(this, UserStakedTokenKey) {
356371 case a: Int =>
357372 a
358373 case _ =>
359374 0
360375 }
361376 let ActualDelay = match getInteger(this, "Delay") {
362377 case a: Int =>
363378 a
364379 case _ =>
365380 0
366381 }
367382 let GovernTokenKey = "GovernTokenMaxDeposit"
368383 let MaxGovernTokenDepositerKey = "MaxGovernTokenDepositerKey"
369384 let PrizeWinner = getStringValue(this, MaxGovernTokenDepositerKey)
370385 let PrizeHeight = match getInteger(this, "PrizeHeight") {
371386 case a: Int =>
372387 a
373388 case _ =>
374389 0
375390 }
376391 let MaxGovernTokenDeposit = match getInteger(this, GovernTokenKey) {
377392 case a: Int =>
378393 a
379394 case _ =>
380395 0
381396 }
382397 if (if ((PrizeAmount == 0))
383398 then true
384399 else (100 > GovernTokenAmount))
385400 then throw("No prize to Claim or No enough Govern Token en Contract")
386401 else if ((UserGovernTokenKey != PrizeWinner))
387402 then throw("You are not the winner hence cannot claim the reward ")
388403 else if ((1 > UserStakedTokenAmount))
389404 then throw(("You have to Stake StakedToken to claim reward
390405 Your Balance of Staked Tokens is: " + toString(UserStakedTokenAmount)))
391406 else if (if (if ((UserGovernTokenAmount >= 100))
392407 then (height >= (PrizeHeight + ActualDelay))
393408 else false)
394409 then (height > 0)
395410 else false)
396411 then if ((UserGovernTokenAmount >= MaxGovernTokenDeposit))
397412 then ScriptResult(WriteSet([DataEntry(PrizeWinner, PrizeAmount), DataEntry("FundBox", 0), DataEntry(GovernTokenKey, 0), DataEntry(UserGovernTokenKey, 0), DataEntry(MaxGovernTokenDepositerKey, ""), DataEntry("PrizeHeight", 0), DataEntry("Delay", 0), DataEntry("DelayCost", 0)]), TransferSet([ScriptTransfer(i.caller, PrizeAmount, StakedToken), ScriptTransfer(i.caller, 100, GovernToken)]))
398413 else throw((("You should deposit at least " + toString(MaxGovernTokenDeposit)) + " to be able to claim reward"))
399414 else throw(((((((("You have to deposit 100 GovernToken to claim Reward
400415 Your Balance is: " + toString(UserGovernTokenAmount)) + "
401416 Deposit done at: ") + toString(PrizeHeight)) + " And wait:") + toString((PrizeHeight + 10))) + "And Height is:") + toString(height)))
402417 }
403418
404419

github/deemru/w8io/873ac7e 
53.60 ms