tx · Ca3Dp34rhj3g6sQqibTtpQawbwg65rDJVdDrhceJn4KT

3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u:  -0.01440000 Waves

2020.12.29 22:42 [1330423] smart account 3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u > SELF 0.00000000 Waves

{ "type": 13, "id": "Ca3Dp34rhj3g6sQqibTtpQawbwg65rDJVdDrhceJn4KT", "fee": 1440000, "feeAssetId": null, "timestamp": 1609270981941, "version": 2, "chainId": 84, "sender": "3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u", "senderPublicKey": "FFDorDp8bC9dyUK2w8hYPWPVEcbbk9zYkpHn3gcq9svn", "proofs": [ "5J1PGNX7TdXM4ZWGY83oXVrY66P86VXLFtFoJPLZE5NYH5S9AQa8Vrw5AFxwJATMC8ZQCDeKW6dS5PokSYLM7VWz" ], "script": "base64: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AAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAATX1N0YWtlZFRyYW5zYWN0aW9ucwQAAAANQWRkcmVzc0hlaWdodAkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAADF9Qcml6ZUhlaWdodAQAAAAVVXNlclN0YWtlVHJhbnNhY3Rpb25zBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAGFVzZXJTdGFrZVRyYW5zYWN0aW9uc0tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAABkAAAAAgUAAAAVVXNlclN0YWtlVHJhbnNhY3Rpb25zAAAAAAAAAAABBAAAABhjdXJyZW50QW1vdW50U3Rha2VkVG9rZW4EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAASVXNlclN0YWtlZFRva2VuS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFG5ld0Ftb3VudFN0YWtlZFRva2VuCQAAZAAAAAIFAAAAGGN1cnJlbnRBbW91bnRTdGFrZWRUb2tlbggFAAAAA3BtdAAAAAZhbW91bnQEAAAAGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQAD6wAAAAIFAAAABHRoaXMFAAAAC1N0YWtlZFRva2VuBAAAAAxTdGFrZUJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAMU3Rha2VCYWxhbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAElN0YWtlQmFsYW5jZUFtb3VudAkAAGQAAAACBQAAAAxTdGFrZUJhbGFuY2UIBQAAAANwbXQAAAAGYW1vdW50BAAAAAtQcml6ZUFtb3VudAkAAGUAAAACBQAAABpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQUAAAAMU3Rha2VCYWxhbmNlBAAAABhjdXJyZW50QW1vdW50R292ZXJuVG9rZW4EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAASVXNlckdvdmVyblRva2VuS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFUhlaWdodFRyYW5zYWN0RnVuZEJveAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAtQcml6ZUhlaWdodAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABBQcml6ZUhlaWdodFZhbHVlAwMJAAAAAAAAAgUAAAAVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAAAAAAAAAACQEAAAACIT0AAAACBQAAAAtQcml6ZUFtb3VudAAAAAAAAAAAAAcFAAAABmhlaWdodAAAAAAAAAAAAAMJAABmAAAAAgAAAAAAAAAAAQUAAAAfR292ZXJuVG9rZW5TbWFydENvbnRyYWN0QmFsYW5jZQkAAAIAAAABAgAAAD5ObyBlbm91Z2ggR292ZXJuVG9rZW4gSW4gQ29udHJhY3QsIFBsZWFzZSBkZXBvc2l0IEdvdmVyblRva2VucwQAAAAGUmV3YXJkAwkAAAAAAAACBQAAAB9TdGFrZWRUb2tlblNtYXJ0Q29udHJhY3RCYWxhbmNlAAAAAAAAAAAAAAAAAAAAAAAKAwkAAGYAAAACBQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMAAAAAAAAAADIJAABoAAAAAgkAAGgAAAACAAAAAAAAAAAKBQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAABpAAAAAgUAAAAUbmV3QW1vdW50U3Rha2VkVG9rZW4FAAAAH1N0YWtlZFRva2VuU21hcnRDb250cmFjdEJhbGFuY2UJAABoAAAAAgAAAAAAAAAACgkAAGkAAAACBQAAABRuZXdBbW91bnRTdGFrZWRUb2tlbgUAAAAfU3Rha2VkVG9rZW5TbWFydENvbnRyYWN0QmFsYW5jZQQAAAAUbmV3QW1vdW50R292ZXJuVG9rZW4JAABkAAAAAgUAAAAYY3VycmVudEFtb3VudEdvdmVyblRva2VuAAAAAAAAAAAKCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlckdvdmVyblRva2VuS2V5BQAAABRuZXdBbW91bnRHb3Zlcm5Ub2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlclN0YWtlZFRva2VuS2V5BQAAABRuZXdBbW91bnRTdGFrZWRUb2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5BQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADFN0YWtlQmFsYW5jZQUAAAASU3Rha2VCYWxhbmNlQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAdGdW5kQm94BQAAAAtQcml6ZUFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALUHJpemVIZWlnaHQFAAAAEFByaXplSGVpZ2h0VmFsdWUFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABlJld2FyZAUAAAALR292ZXJuVG9rZW4FAAAAA25pbAkAAAIAAAABAgAAABtDYW4gZGVwb3NpdCBvbmx5IFN0YWtlVG9rZW4AAAABaQEAAAASRGVwb3NpdEdvdmVyblRva2VuAAAAAAQAAAALR292ZXJuVG9rZW4BAAAAIBKJZ/hXRGzhKnClqqGfZt9WOe3WY87qm3tHxlJnqDFeBAAAABVHb3Zlcm5Ub2tlbk1heERlcG9zaXQJAAJYAAAAAQUAAAALR292ZXJuVG9rZW4EAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAAAAAAAAgkBAAAAB2V4dHJhY3QAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAC0dvdmVyblRva2VuBwQAAAAKY3VycmVudEtleQkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAABXwkAAlgAAAABBQAAAAtHb3Zlcm5Ub2tlbgQAAAANY3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAApjdXJyZW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAGkN1cnJyZW50R292ZXJuVG9rZW5EZXBvc2l0CQAAZAAAAAIFAAAADWN1cnJlbnRBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50BAAAAA5Hb3Zlcm5Ub2tlbktleQIAAAAVR292ZXJuVG9rZW5NYXhEZXBvc2l0BAAAABpNYXhHb3Zlcm5Ub2tlbkRlcG9zaXRlcktleQIAAAAaTWF4R292ZXJuVG9rZW5EZXBvc2l0ZXJLZXkEAAAAFU1heEdvdmVyblRva2VuRGVwb3NpdAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAA5Hb3Zlcm5Ub2tlbktleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAwkAAGYAAAACBQAAABpDdXJycmVudEdvdmVyblRva2VuRGVwb3NpdAUAAAAVTWF4R292ZXJuVG9rZW5EZXBvc2l0CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAApjdXJyZW50S2V5BQAAABpDdXJycmVudEdvdmVyblRva2VuRGVwb3NpdAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAOR292ZXJuVG9rZW5LZXkFAAAAGkN1cnJyZW50R292ZXJuVG9rZW5EZXBvc2l0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABpNYXhHb3Zlcm5Ub2tlbkRlcG9zaXRlcktleQUAAAAKY3VycmVudEtleQUAAAADbmlsCQEAAAAIV3JpdGVTZXQAAAAB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", "height": 1330423, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: aSUfR8pZp4ttHdbAyLqQfZgouXHQj1PqqUzrp8Njhm7 Next: 9DJGnpqoMJQ8LkhzKi1cswsGLD7AQdLjsHM2MsqfeL4b Diff:
OldNewDifferences
6262 then (pmt.assetId == StakedToken)
6363 else false)
6464 then {
65- let UserStakedTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(StakedToken))
66- let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_Farm_") + toBase58String(GovernToken))
65+ let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
66+ let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
6767 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
6868 let AddressHeight = (toBase58String(i.caller.bytes) + "_PrizeHeight")
6969 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
108108 else 0
109109 if ((1 > GovernTokenSmartContractBalance))
110110 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
111- else if ((StakedTokenSmartContractBalance == 0))
112- then {
113- let newAmountGovernToken = (currentAmountGovernToken + 10)
114- ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmountGovernToken), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, 10, GovernToken)]))
115- }
116- else if ((NewUserStakeTransactions > 50))
117- then {
118- let Reward = ((10 * NewUserStakeTransactions) * (newAmountStakedToken / StakedTokenSmartContractBalance))
119- let newAmountGovernToken = (currentAmountGovernToken + Reward)
120- ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, Reward), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
121- }
122- else {
123- let Reward = (10 * (newAmountStakedToken / StakedTokenSmartContractBalance))
124- let newAmountGovernToken = (currentAmountGovernToken + Reward)
125- ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, Reward), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
126- }
111+ else {
112+ let Reward = if ((StakedTokenSmartContractBalance == 0))
113+ then 10
114+ else if ((NewUserStakeTransactions > 50))
115+ then ((10 * NewUserStakeTransactions) * (newAmountStakedToken / StakedTokenSmartContractBalance))
116+ else (10 * (newAmountStakedToken / StakedTokenSmartContractBalance))
117+ let newAmountGovernToken = (currentAmountGovernToken + 10)
118+ 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)]))
119+ }
127120 }
128121 else throw("Can deposit only StakeToken")
129122 }
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 StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
5757 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
5858 let GovernTokenSmartContractBalance = assetBalance(this, GovernToken)
5959 let StakedTokenSmartContractBalance = assetBalance(this, StakedToken)
6060 let pmt = extract(i.payment)
6161 if (if ((pmt.amount > 0))
6262 then (pmt.assetId == StakedToken)
6363 else false)
6464 then {
65- let UserStakedTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(StakedToken))
66- let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_Farm_") + toBase58String(GovernToken))
65+ let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
66+ let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
6767 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
6868 let AddressHeight = (toBase58String(i.caller.bytes) + "_PrizeHeight")
6969 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
7070 case a: Int =>
7171 a
7272 case _ =>
7373 0
7474 }
7575 let NewUserStakeTransactions = (UserStakeTransactions + 1)
7676 let currentAmountStakedToken = match getInteger(this, UserStakedTokenKey) {
7777 case a: Int =>
7878 a
7979 case _ =>
8080 0
8181 }
8282 let newAmountStakedToken = (currentAmountStakedToken + pmt.amount)
8383 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
8484 let StakeBalance = match getInteger(this, "StakeBalance") {
8585 case a: Int =>
8686 a
8787 case _ =>
8888 0
8989 }
9090 let StakeBalanceAmount = (StakeBalance + pmt.amount)
9191 let PrizeAmount = (ContractWalletStakeBalance - StakeBalance)
9292 let currentAmountGovernToken = match getInteger(this, UserGovernTokenKey) {
9393 case a: Int =>
9494 a
9595 case _ =>
9696 0
9797 }
9898 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
9999 case a: Int =>
100100 a
101101 case _ =>
102102 0
103103 }
104104 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
105105 then (PrizeAmount != 0)
106106 else false)
107107 then height
108108 else 0
109109 if ((1 > GovernTokenSmartContractBalance))
110110 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
111- else if ((StakedTokenSmartContractBalance == 0))
112- then {
113- let newAmountGovernToken = (currentAmountGovernToken + 10)
114- ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmountGovernToken), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, 10, GovernToken)]))
115- }
116- else if ((NewUserStakeTransactions > 50))
117- then {
118- let Reward = ((10 * NewUserStakeTransactions) * (newAmountStakedToken / StakedTokenSmartContractBalance))
119- let newAmountGovernToken = (currentAmountGovernToken + Reward)
120- ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, Reward), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
121- }
122- else {
123- let Reward = (10 * (newAmountStakedToken / StakedTokenSmartContractBalance))
124- let newAmountGovernToken = (currentAmountGovernToken + Reward)
125- ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, Reward), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("FundBox", PrizeAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
126- }
111+ else {
112+ let Reward = if ((StakedTokenSmartContractBalance == 0))
113+ then 10
114+ else if ((NewUserStakeTransactions > 50))
115+ then ((10 * NewUserStakeTransactions) * (newAmountStakedToken / StakedTokenSmartContractBalance))
116+ else (10 * (newAmountStakedToken / StakedTokenSmartContractBalance))
117+ let newAmountGovernToken = (currentAmountGovernToken + 10)
118+ 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)]))
119+ }
127120 }
128121 else throw("Can deposit only StakeToken")
129122 }
130123
131124
132125
133126 @Callable(i)
134127 func DepositGovernToken () = {
135128 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
136129 let GovernTokenMaxDeposit = toBase58String(GovernToken)
137130 let pmt = extract(i.payment)
138131 if (if (isDefined(pmt.assetId))
139132 then (extract(pmt.assetId) == GovernToken)
140133 else false)
141134 then {
142135 let currentKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
143136 let currentAmount = match getInteger(this, currentKey) {
144137 case a: Int =>
145138 a
146139 case _ =>
147140 0
148141 }
149142 let CurrrentGovernTokenDeposit = (currentAmount + pmt.amount)
150143 let GovernTokenKey = "GovernTokenMaxDeposit"
151144 let MaxGovernTokenDepositerKey = "MaxGovernTokenDepositerKey"
152145 let MaxGovernTokenDeposit = match getInteger(this, GovernTokenKey) {
153146 case a: Int =>
154147 a
155148 case _ =>
156149 0
157150 }
158151 if ((CurrrentGovernTokenDeposit > MaxGovernTokenDeposit))
159152 then WriteSet([DataEntry(currentKey, CurrrentGovernTokenDeposit), DataEntry(GovernTokenKey, CurrrentGovernTokenDeposit), DataEntry(MaxGovernTokenDepositerKey, currentKey)])
160153 else WriteSet([DataEntry(currentKey, CurrrentGovernTokenDeposit)])
161154 }
162155 else throw("Can deposit only Govern Token")
163156 }
164157
165158
166159
167160 @Callable(i)
168161 func WithdrawStakedFunds (amount) = {
169162 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
170163 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
171164 let UserStakedTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(StakedToken))
172165 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
173166 let currentKey = toBase58String(i.caller.bytes)
174167 let currentAmount = match getInteger(this, UserStakedTokenKey) {
175168 case a: Int =>
176169 a
177170 case _ =>
178171 0
179172 }
180173 let newAmount = (currentAmount - amount)
181174 let StakeBalance = match getInteger(this, "StakeBalance") {
182175 case a: Int =>
183176 a
184177 case _ =>
185178 0
186179 }
187180 let StakeBalanceAmount = (StakeBalance - amount)
188181 if ((0 > amount))
189182 then throw("Can't withdraw negative amount")
190183 else if ((0 > newAmount))
191184 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString(currentAmount)))
192185 else {
193186 let GovernTokenAmount = assetBalance(this, GovernToken)
194187 if ((1 > GovernTokenAmount))
195188 then throw("No enough GovernToken In Contract")
196189 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, 1), DataEntry(UserStakedTokenKey, newAmount), DataEntry("StakeBalance", StakeBalanceAmount)]), TransferSet([ScriptTransfer(i.caller, 1, GovernToken), ScriptTransfer(i.caller, amount, StakedToken)]))
197190 }
198191 }
199192
200193
201194
202195 @Callable(i)
203196 func HarvestGovernToiken (amount) = {
204197 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
205198 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_Farm_") + toBase58String(GovernToken))
206199 let currentKey = toBase58String(i.caller.bytes)
207200 let currentAmount = match getInteger(this, UserGovernTokenKey) {
208201 case a: Int =>
209202 a
210203 case _ =>
211204 0
212205 }
213206 let newAmount = (currentAmount - amount)
214207 if ((0 > amount))
215208 then throw("Can't withdraw negative amount")
216209 else if ((0 > newAmount))
217210 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString(currentAmount)))
218211 else {
219212 let GovernTokenAmount = assetBalance(this, GovernToken)
220213 ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
221214 }
222215 }
223216
224217
225218
226219 @Callable(i)
227220 func delayprize () = {
228221 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
229222 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
230223 let UserWalletSGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
231224 let ActualDelay = match getInteger(this, "Delay") {
232225 case a: Int =>
233226 a
234227 case _ =>
235228 0
236229 }
237230 let ActualDelayCost = match getInteger(this, "DelayCost") {
238231 case a: Int =>
239232 a
240233 case _ =>
241234 10
242235 }
243236 let pmt = extract(i.payment)
244237 if (if (isDefined(pmt.assetId))
245238 then (extract(pmt.assetId) == GovernToken)
246239 else false)
247240 then {
248241 let UserGovernTokenAmount = pmt.amount
249242 let NewDelayCost = if ((ActualDelayCost == 0))
250243 then 10
251244 else (2 * ActualDelayCost)
252245 if ((UserGovernTokenAmount >= NewDelayCost))
253246 then {
254247 let NewDelay = (ActualDelay + 10)
255248 WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost)])
256249 }
257250 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(NewDelayCost)) + "TROIKAs"))
258251 }
259252 else throw("Can Use only Govern Token to Delay Reward")
260253 }
261254
262255
263256
264257 @Callable(i)
265258 func ClaimPrize () = {
266259 let StakedToken = base58'GECLRH2fx2Xxix5gmrGV92AMt1A9LPohRpqwqRE16mwr'
267260 let GovernToken = base58'2FMrxDLdQhauSY7d1uDUyKP1MpxkM7BeWA2UMnk3cG3P'
268261 let UserStakedTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(StakedToken))
269262 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
270263 let GovernTokenAmount = assetBalance(this, GovernToken)
271264 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
272265 let StakeBalance = match getInteger(this, "StakeBalance") {
273266 case a: Int =>
274267 a
275268 case _ =>
276269 0
277270 }
278271 let PrizeAmount = (ContractWalletStakeBalance - StakeBalance)
279272 let UserGovernTokenAmount = match getInteger(this, UserGovernTokenKey) {
280273 case a: Int =>
281274 a
282275 case _ =>
283276 0
284277 }
285278 let UserStakedTokenAmount = match getInteger(this, UserStakedTokenKey) {
286279 case a: Int =>
287280 a
288281 case _ =>
289282 0
290283 }
291284 let ActualDelay = match getInteger(this, "Delay") {
292285 case a: Int =>
293286 a
294287 case _ =>
295288 0
296289 }
297290 let GovernTokenKey = "GovernTokenMaxDeposit"
298291 let MaxGovernTokenDepositerKey = "MaxGovernTokenDepositerKey"
299292 let PrizeWinner = getStringValue(this, MaxGovernTokenDepositerKey)
300293 let PrizeHeight = match getInteger(this, "PrizeHeight") {
301294 case a: Int =>
302295 a
303296 case _ =>
304297 0
305298 }
306299 let MaxGovernTokenDeposit = match getInteger(this, GovernTokenKey) {
307300 case a: Int =>
308301 a
309302 case _ =>
310303 0
311304 }
312305 if (if ((PrizeAmount == 0))
313306 then true
314307 else (100 > GovernTokenAmount))
315308 then throw("No prize to Claim or No enough Govern Token en Contract")
316309 else if ((UserGovernTokenKey != PrizeWinner))
317310 then throw("You are not the winner hence cannot claim the reward ")
318311 else if ((1 > UserStakedTokenAmount))
319312 then throw(("You have to Stake StakedToken to claim reward
320313 Your Balance of Staked Tokens is: " + toString(UserStakedTokenAmount)))
321314 else if (if (if ((UserGovernTokenAmount >= 100))
322315 then (height >= (PrizeHeight + ActualDelay))
323316 else false)
324317 then (height > 0)
325318 else false)
326319 then if ((UserGovernTokenAmount >= MaxGovernTokenDeposit))
327320 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)]))
328321 else throw((("You should deposit at least " + toString(MaxGovernTokenDeposit)) + " to be able to claim reward"))
329322 else throw(((((((("You have to deposit 100 GovernToken to claim Reward
330323 Your Balance is: " + toString(UserGovernTokenAmount)) + "
331324 Deposit done at: ") + toString(PrizeHeight)) + " And wait:") + toString((PrizeHeight + 10))) + "And Height is:") + toString(height)))
332325 }
333326
334327

github/deemru/w8io/873ac7e 
54.54 ms