2021.09.17 18:39 [2772149] smart account 3P7ypNo2PxCZbo2eud2tUoX6hh9pzThxCqx > SELF 0.00000000 Waves

{ "type": 13, "id": "AWvj9Vpsa9DFhcZFCMnCMG4Zm6j6zNionBNCVabNJD5f", "fee": 1400000, "feeAssetId": null, "timestamp": 1631893186809, "version": 2, "chainId": 87, "sender": "3P7ypNo2PxCZbo2eud2tUoX6hh9pzThxCqx", "senderPublicKey": "9Zc31UftNA9xxP2ie4vXKQazLyrTgYXsMBmoPTKBxcoC", "proofs": [ "5WJDqMxRqqCyQzHAyoM8jbnZ2W66wa5shppEymVXxCna9E7uRBSTtVSACG97TeHS7JfGqgLWCdnU1DdvUUYvKkhp" ], "script": "base64:AAIFAAAAAAAAC/4IAhIECgIIARIDCgEEEgASABIAEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAgSAwoBCBIFCgMIAQESABoOCgJhMRIIbUFjY1BLZXkaDgoCYTISCG1BY2NBZGRyGhAKAmEzEgpmZWVQZXJjZW50GhMKAmE0Eg1vbGRFZ2dBc3NldElkGhgKAmE1EhJzd2FwRWdnRGFwcEFkZHJlc3MaFQoCYTYSD2tUb3RhbExpcXVpZGl0eRoSCgJhNxIMa0luaXRpYWxpemVkGhkKAmE4EhNrTGlxdWlkaXR5VGhyZXNob2xkGhcKAmE5EhFrRmFybVBhcnRpY2lwYW50cxoXCgJiMRIRa1RvdGFsU2hhcmVUb2tlbnMaEwoCYjISDWtTaGFyZUFzc2V0SWQaEgoCYjMSDGtGYXJtaW5nRGFwcBoWCgJiNBIQa01hcmtldFByb3h5RGFwcBoNCgJiNRIHa0xvY2tlZBoZCgJiNhITa1RvdGFsRmFybWluZ1Jld2FyZBoWCgJiNxIQa0Nlb0NvbGxlY3RlZEZlZRodCgJiOBIXa0Nlb0NvbGxlY3RlZEZlZU92ZXJhbGwaDgoCYjkSCGtUb0Rpc3RyGhUKAmMxEg9rVW5zdGFrZWRSZXdhcmQaGAoCYzISEmtMb2NrZWRJbnZlc3RtZW50cxoMCgJjMxIGZ2V0SW50GgkKAmM0EgNrZXkaDQoCYzUSByRtYXRjaDAaBwoCYzYSAWIaDAoCYzcSBmdldFN0choNCgJjOBIHZ2V0Qm9vbBoNCgJjORIHZ2V0U3RyQRoHCgJkMRIBYRoHCgJkMhIBaxoYCgJkMxISZ2V0TWFya2V0UHJveHlBZGRyGg4KAmQ0EghnZXRFZ2dJZBoVCgJkNRIPZ2V0U2hhcmVBc3NldElkGgcKAmQ2EgFpGgoKAmQ3EgRuYW1lGhYKAmQ4EhBtaW5pbXVtVGhyZXNob2xkGhEKAmQ5EgtzaGFyZVRva2VucxoQCgJlMRIKc2hhcmVUb2tlbhoHCgJlMhIBcxoQCgJlMxIKZWdnQXNzZXRJZBoUCgJlNBIOdG90YWxMaXF1aWRpdHkaFgoCZTUSEHRvdGFsU2hhcmVUb2tlbnMaHAoCZTYSFmN1cnJlbnRMaXF1aWRpdHlBbW91bnQaFwoCZTcSEXNoYXJlVG9rZW5zVG9HaXZlGhMKAmU4Eg1zaGFyZVRva2Vuc0lkGg0KAmU5EgdyZWlzc3VlGhYKAmYxEhBmYXJtUGFydGljaXBhbnRzGhMKAmYyEg1rUGFydGljaXBhdGVkGhkKAmYzEhNhbHJlYWR5UGFydGljaXBhdGVkGhkKAmY0EhNuZXdGYXJtUGFydGljaXBhbnRzGgkKAmY1EgNpZHMaEQoCZjYSC2Zhcm1pbmdEYXBwGhEKAmY3EgtjbGFpbVJld2FyZBoLCgJmOBIFYWNjdW0aCwoCZjkSBW5mdElkGgwKAmcxEgZpbnZSZXMaCQoCZzISA2ludBoMCgJnMxIGbmZ0SWRzGhAKAmc0Egpmb2xkUmVzdWx0GhMKAmc1Eg0kbGlzdDU3NDY1Nzc4GhMKAmc2Eg0kc2l6ZTU3NDY1Nzc4GhMKAmc3Eg0kYWNjMDU3NDY1Nzc4GhMKAmc4Eg0kYWNjMTU3NDY1Nzc4GhMKAmc5Eg0kYWNjMjU3NDY1Nzc4GhMKAmgxEg0kYWNjMzU3NDY1Nzc4GhMKAmgyEg0kYWNjNDU3NDY1Nzc4GhMKAmgzEg0kYWNjNTU3NDY1Nzc4GhMKAmg0Eg0kYWNjNjU3NDY1Nzc4GhMKAmg1Eg0kYWNjNzU3NDY1Nzc4GhMKAmg2Eg0kYWNjODU3NDY1Nzc4GhMKAmg3Eg0kYWNjOTU3NDY1Nzc4GhQKAmg4Eg4kYWNjMTA1NzQ2NTc3OBoUCgJoORIOJGFjYzExNTc0NjU3NzgaEwoCaTESDWNsYWltZWRSZXdhcmQaFAoCaTISDmZhcm1DZW9GZWVTaXplGg0KAmkzEgd0b0Rpc3RyGhgKAmk0EhJ0b3RhbEZhcm1pbmdSZXdhcmQaEwoCaTUSDWN1cnJlbnRDZW9GZWUaEwoCaTYSDWNlb0ZlZU92ZXJhbGwaDQoCaTcSB2FkZHJlc3MaHAoCaTgSFmN1cnJlbnRDZW9Db2xsZWN0ZWRGZWUaDwoCaTkSCWF1Y3Rpb25JZBoOCgJqMRIIZnVuY3Rpb24aDQoCajISB2Fzc2V0SWQaGAoCajMSEmZhcm1pbmdEYXBwQWRkcmVzcxoTCgJqNBINdXN0YWtlZFJld2FyZBoXCgJqNRIRdW5zdGFrZWRSZXdhcmROb3caFwoCajYSEW5ld1Vuc3Rha2VkUmV3YXJkGgoKAmo3EgR0eElkGggKAmo4EgJ0eBoPCgJqORIJa1JldmVydGVkGhAKAmsxEgp0eFJldmVydGVkGhAKAmsyEgptaW5CYWxhbmNlGhcKAmszEhFjdXJyZW50RWdnQmFsYW5jZRoPCgJrNBIJYWRkcmVzc2VzGh0KAms1Ehd0b3RhbFJld2FyZFRvRGlzdHJpYnV0ZRoSCgJrNhIMYWRkcmVzc1BhaXJzGhQKAms3Eg5wcm9jZXNzQWRkcmVzcxoRCgJrOBILYWRkcmVzc1BhaXIaEgoCazkSDGFkZHJlc3NQYXJ0cxoQCgJsMRIKYWRkcmVzc1N0choVCgJsMhIPdXNlclNoYXJlVG9rZW5zGhEKAmwzEgtrQWRkckVhcm5lZBoVCgJsNBIPYWRkclRvdGFsRWFybmVkGhMKAmw1Eg11c2VyUmV3YXJkTm93GgkKAmw2EgNyZXMaDAoCbDcSBnJlc3VsdBoVCgJsOBIPJGxpc3QxMDUwNzEwNTU0GhUKAmw5Eg8kc2l6ZTEwNTA3MTA1NTQaFQoCbTESDyRhY2MwMTA1MDcxMDU1NBoVCgJtMhIPJGFjYzExMDUwNzEwNTU0GhUKAm0zEg8kYWNjMjEwNTA3MTA1NTQaFQoCbTQSDyRhY2MzMTA1MDcxMDU1NBoVCgJtNRIPJGFjYzQxMDUwNzEwNTU0GhUKAm02Eg8kYWNjNTEwNTA3MTA1NTQaFQoCbTcSDyRhY2M2MTA1MDcxMDU1NBoVCgJtOBIPJGFjYzcxMDUwNzEwNTU0GhUKAm05Eg8kYWNjODEwNTA3MTA1NTQaFQoCbjESDyRhY2M5MTA1MDcxMDU1NBoWCgJuMhIQJGFjYzEwMTA1MDcxMDU1NBoWCgJuMxIQJGFjYzExMTA1MDcxMDU1NBoWCgJuNBIQJGFjYzEyMTA1MDcxMDU1NBoWCgJuNRIQJGFjYzEzMTA1MDcxMDU1NBoWCgJuNhIQJGFjYzE0MTA1MDcxMDU1NBoWCgJuNxIQJGFjYzE1MTA1MDcxMDU1NBoWCgJuOBIQJGFjYzE2MTA1MDcxMDU1NBoWCgJuORIQJGFjYzE3MTA1MDcxMDU1NBoWCgJvMRIQJGFjYzE4MTA1MDcxMDU1NBoWCgJvMhIQJGFjYzE5MTA1MDcxMDU1NBoWCgJvMxIQJGFjYzIwMTA1MDcxMDU1NBoWCgJvNBIQJGFjYzIxMTA1MDcxMDU1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BQAAAAJsOQAAAAAAAAAACQUAAAACbjEEAAAAAm4yCQEAAAACazcAAAACBQAAAAJuMQkAAZEAAAACBQAAAAJsOAAAAAAAAAAACQMJAAAAAAAAAgUAAAACbDkAAAAAAAAAAAoFAAAAAm4yBAAAAAJuMwkBAAAAAms3AAAAAgUAAAACbjIJAAGRAAAAAgUAAAACbDgAAAAAAAAAAAoDCQAAAAAAAAIFAAAAAmw5AAAAAAAAAAALBQAAAAJuMwQAAAACbjQJAQAAAAJrNwAAAAIFAAAAAm4zCQABkQAAAAIFAAAAAmw4AAAAAAAAAAALAwkAAAAAAAACBQAAAAJsOQAAAAAAAAAADAUAAAACbjQEAAAAAm41CQEAAAACazcAAAACBQAAAAJuNAkAAZEAAAACBQAAAAJsOAAAAAAAAAAADAMJAAAAAAAAAgUAAAACbDkAAAAAAAAAAA0FAAAAAm41BAAAAAJuNgkBAAAAAms3AAAAAgUAAAACbjUJAAGRAAAAAgUAAAACbDgAAAAAAAAAAA0DCQAAAAAAAAIFAAAAAmw5AAAAAAAAAAAOBQAAAAJuNgQAAAACbjcJAQAAAAJrNwAAAAIFAAAAAm42CQABkQAAAAIFAAAAAmw4AAAAAAAAAAAOAwkAAAAAAAACBQAAAAJsOQAAAAAAAAAADwUAAAACbjcEAAAAAm44CQEAAAACazcAAAACBQAAAAJuNwkAAZEAAAACBQAAAAJsOAAAAAAAAAAADwMJAAAAAAAAAgUAAAACbDkAAAAAAAAAABAFAAAAAm44BAAAAAJuOQkBAAAAAms3AAAAAgUAAAACbjgJAAGRAAAAAgUAAAACbDgAAAAAAAAAABADCQAAAAAAAAIFAAAAAmw5AAAAAAAAAAARBQAAAAJuOQQAAAACbzEJAQAAAAJrNwAAAAIFAAAAAm45CQABkQAAAAIFAAAAAmw4AAAAAAAAAAARAwkAAAAAAAACBQAAAAJsOQAAAAAAAAAAEgUAAAACbzEEAAAAAm8yCQEAAAACazcAAAACBQAAAAJvMQkAAZEAAAACBQAAAAJsOAAAAAAAAAAAEgMJAAAAAAAAAgUAAAACbDkAAAAAAAAAABMFAAAAAm8yBAAAAAJvMwkBAAAAAms3AAAAAgUAAAACbzIJAAGRAAAAAgUAAAACbDgAAAAAAAAAABMDCQAAAAAA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", "height": 2772149, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4CY3xFVYmvn8PEyyyBMPDnqHxMXU8cqhirUi5hSXzTey Next: none Diff:
OldNewDifferences
561561 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
562562 case dt: DataTransaction =>
563563 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
564- case ss: SetScriptTransaction =>
564+ case ss: IssueTransaction =>
565565 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
566566 case _ =>
567567 false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let mAccPKey = base58'23NWm7kUDQqbTVkirjd5JXWRZaWVoS4ZesmRNHicBa3T'
55
66 let mAccAddr = addressFromPublicKey(mAccPKey)
77
88 let feePercent = getIntegerValue(mAccAddr, (("f_" + toString(this)) + "_fee"))
99
1010 let oldEggAssetId = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
1111
1212 let swapEggDappAddress = addressFromStringValue("3PJQUUiJdvz9etUKED9ju7o7VrcNMtnkXBU")
1313
1414 let kTotalLiquidity = "total_liquidity"
1515
1616 let kInitialized = "INITIALIZED"
1717
1818 let kLiquidityThreshold = "LIQUIDITY_THRESHOLD"
1919
2020 let kFarmParticipants = "farm_participants"
2121
2222 let kTotalShareTokens = "total_share_tokens"
2323
2424 let kShareAssetId = "SHARE_ASSET_ID"
2525
2626 let kFarmingDapp = "FARMING_DAPP"
2727
2828 let kMarketProxyDapp = "MARKETPLACE_PROXY_DAPP"
2929
3030 let kLocked = "LOCKED"
3131
3232 let kTotalFarmingReward = "total_farming_reward"
3333
3434 let kCeoCollectedFee = "ceo_collected_fee"
3535
3636 let kCeoCollectedFeeOverall = "ceo_fee_overall"
3737
3838 let kToDistr = "to_distribute"
3939
4040 let kUnstakedReward = "unstaked_reward"
4141
4242 let kLockedInvestments = "locked_investments"
4343
4444 func getInt (key) = match getInteger(this, key) {
4545 case b: Int =>
4646 b
4747 case _ =>
4848 0
4949 }
5050
5151
5252 func getStr (key) = match getString(this, key) {
5353 case b: String =>
5454 b
5555 case _ =>
5656 ""
5757 }
5858
5959
6060 func getBool (key) = match getBoolean(this, key) {
6161 case b: Boolean =>
6262 b
6363 case _ =>
6464 unit
6565 }
6666
6767
6868 func getStrA (a,k) = match getString(a, k) {
6969 case b: String =>
7070 b
7171 case _ =>
7272 ""
7373 }
7474
7575
7676 func getMarketProxyAddr () = getStrA(mAccAddr, kMarketProxyDapp)
7777
7878
7979 func getEggId () = fromBase58String(getStringValue(mAccAddr, "EGG_ASSET_ID"))
8080
8181
8282 func getShareAssetId () = fromBase58String(getStr(kShareAssetId))
8383
8484
8585 @Callable(i)
8686 func initCollectiveFarm (name,minimumThreshold) = if ((i.callerPublicKey != mAccPKey))
8787 then throw("_1")
8888 else if ((getBool(kInitialized) != unit))
8989 then throw("_2")
9090 else if (if ((i.payments[0].amount != (10 * 1000000)))
9191 then true
9292 else (i.payments[0].assetId != getEggId()))
9393 then throw("_20")
9494 else {
9595 let shareTokens = 10000000
9696 let shareToken = Issue(name, (("Share token for the \"" + name) + "\" collective farm"), shareTokens, 8, true)
9797 [StringEntry(kShareAssetId, toBase58String(calculateAssetId(shareToken))), BooleanEntry(kInitialized, true), IntegerEntry(kTotalLiquidity, 10), IntegerEntry(kTotalShareTokens, shareTokens), shareToken, ScriptTransfer(i.caller, shareTokens, calculateAssetId(shareToken)), BooleanEntry(kLocked, false), IntegerEntry(kLiquidityThreshold, minimumThreshold)]
9898 }
9999
100100
101101
102102 @Callable(i)
103103 func setLock (s) = if ((i.callerPublicKey != mAccPKey))
104104 then throw("_21")
105105 else [BooleanEntry(kLocked, s)]
106106
107107
108108
109109 @Callable(i)
110110 func lockInvestments () = if ((i.caller != this))
111111 then throw("You cannot lock this contract")
112112 else [BooleanEntry(kLockedInvestments, true)]
113113
114114
115115
116116 @Callable(i)
117117 func unlockInvestments () = if ((i.caller != this))
118118 then throw("You cannot lock this contract")
119119 else [BooleanEntry(kLockedInvestments, false)]
120120
121121
122122
123123 @Callable(i)
124124 func provideLiquidity () = {
125125 let eggAssetId = getEggId()
126126 if ((getBool(kLockedInvestments) == true))
127127 then throw("Contract is locked for investments by it's CEO. Please invest in another collective farm.")
128128 else if ((getBool(kLocked) == true))
129129 then throw("_22")
130130 else if ((i.payments[0].assetId != eggAssetId))
131131 then throw("_4")
132132 else if ((1000000 > i.payments[0].amount))
133133 then throw("Min amount to invest is 0.01 EGG")
134134 else {
135135 let totalLiquidity = getInt(kTotalLiquidity)
136136 let totalShareTokens = getInt(kTotalShareTokens)
137137 let currentLiquidityAmount = i.payments[0].amount
138138 let shareTokensToGive = currentLiquidityAmount
139139 let shareTokensId = fromBase58String(getStr(kShareAssetId))
140140 let reissue = Reissue(getShareAssetId(), shareTokensToGive, true)
141141 let farmParticipants = getInt(kFarmParticipants)
142142 let kParticipated = (("account_" + toString(i.caller)) + "_participated")
143143 let alreadyParticipated = getBool(kParticipated)
144144 let newFarmParticipants = if ((alreadyParticipated == unit))
145145 then (farmParticipants + 1)
146146 else farmParticipants
147147 [reissue, ScriptTransfer(i.caller, shareTokensToGive, shareTokensId), IntegerEntry(kTotalShareTokens, (totalShareTokens + shareTokensToGive)), IntegerEntry(kTotalLiquidity, (totalLiquidity + (value(i.payments[0].amount) / 1000000))), IntegerEntry(kFarmParticipants, newFarmParticipants), BooleanEntry(kParticipated, true)]
148148 }
149149 }
150150
151151
152152
153153 @Callable(i)
154154 func claimFarmingRewardProxy (ids) = if ((i.callerPublicKey != mAccPKey))
155155 then throw("_23")
156156 else {
157157 let farmingDapp = addressFromStringValue(getStrA(mAccAddr, kFarmingDapp))
158158 func claimReward (accum,nftId) = {
159159 let invRes = invoke(farmingDapp, "claimReward", [nftId], nil)
160160 if ((invRes == invRes))
161161 then match invRes {
162162 case int: Int =>
163163 (accum + int)
164164 case _ =>
165165 throw("_5")
166166 }
167167 else throw("Strict value is not equal to itself.")
168168 }
169169
170170 let nftIds = split(ids, ";")
171171 let foldResult = {
172172 let $list57465778 = nftIds
173173 let $size57465778 = size($list57465778)
174174 let $acc057465778 = 0
175175 if (($size57465778 == 0))
176176 then $acc057465778
177177 else {
178178 let $acc157465778 = claimReward($acc057465778, $list57465778[0])
179179 if (($size57465778 == 1))
180180 then $acc157465778
181181 else {
182182 let $acc257465778 = claimReward($acc157465778, $list57465778[1])
183183 if (($size57465778 == 2))
184184 then $acc257465778
185185 else {
186186 let $acc357465778 = claimReward($acc257465778, $list57465778[2])
187187 if (($size57465778 == 3))
188188 then $acc357465778
189189 else {
190190 let $acc457465778 = claimReward($acc357465778, $list57465778[3])
191191 if (($size57465778 == 4))
192192 then $acc457465778
193193 else {
194194 let $acc557465778 = claimReward($acc457465778, $list57465778[4])
195195 if (($size57465778 == 5))
196196 then $acc557465778
197197 else {
198198 let $acc657465778 = claimReward($acc557465778, $list57465778[5])
199199 if (($size57465778 == 6))
200200 then $acc657465778
201201 else {
202202 let $acc757465778 = claimReward($acc657465778, $list57465778[6])
203203 if (($size57465778 == 7))
204204 then $acc757465778
205205 else {
206206 let $acc857465778 = claimReward($acc757465778, $list57465778[7])
207207 if (($size57465778 == 8))
208208 then $acc857465778
209209 else {
210210 let $acc957465778 = claimReward($acc857465778, $list57465778[8])
211211 if (($size57465778 == 9))
212212 then $acc957465778
213213 else {
214214 let $acc1057465778 = claimReward($acc957465778, $list57465778[9])
215215 if (($size57465778 == 10))
216216 then $acc1057465778
217217 else {
218218 let $acc1157465778 = claimReward($acc1057465778, $list57465778[10])
219219 throw("List size exceed 10")
220220 }
221221 }
222222 }
223223 }
224224 }
225225 }
226226 }
227227 }
228228 }
229229 }
230230 }
231231 }
232232 let claimedReward = match foldResult {
233233 case int: Int =>
234234 int
235235 case _ =>
236236 throw("_6")
237237 }
238238 let farmCeoFeeSize = fraction(claimedReward, feePercent, 100)
239239 let toDistr = getInt(kToDistr)
240240 let totalFarmingReward = getInt(kTotalFarmingReward)
241241 let currentCeoFee = getInt(kCeoCollectedFee)
242242 let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
243243 [IntegerEntry(kTotalFarmingReward, ((totalFarmingReward + claimedReward) - farmCeoFeeSize)), IntegerEntry(kToDistr, ((toDistr + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
244244 }
245245
246246
247247
248248 @Callable(i)
249249 func claimCeoFee (address) = if ((getBool(kLocked) == true))
250250 then throw("_22")
251251 else if ((i.caller == this))
252252 then {
253253 let currentCeoCollectedFee = getInt(kCeoCollectedFee)
254254 [ScriptTransfer(addressFromStringValue(address), currentCeoCollectedFee, getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
255255 }
256256 else throw("_8")
257257
258258
259259
260260 @Callable(i)
261261 func startLiquidation (auctionId) = throw("_7")
262262
263263
264264
265265 @Callable(i)
266266 func voteForLiquidation (auctionId) = throw("_7")
267267
268268
269269
270270 @Callable(i)
271271 func callUnstakeProxy (function,assetId) = if ((getBool(kLocked) == true))
272272 then throw("Contract is locked now")
273273 else if (if ((function != "unstakeNFT"))
274274 then (function != "unstakeJackpot")
275275 else false)
276276 then throw("Bad function name")
277277 else if ((i.caller != this))
278278 then throw("Can be called only by the account")
279279 else {
280280 let farmingDappAddress = addressFromStringValue(getStrA(mAccAddr, "FARMING_DAPP"))
281281 let ustakedReward = invoke(farmingDappAddress, function, [assetId], nil)
282282 if ((ustakedReward == ustakedReward))
283283 then {
284284 let unstakedRewardNow = getInt(kUnstakedReward)
285285 let newUnstakedReward = match ustakedReward {
286286 case int: Int =>
287287 (unstakedRewardNow + int)
288288 case _ =>
289289 throw("Error during unstaking")
290290 }
291291 let currentCeoFee = getInt(kCeoCollectedFee)
292292 let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
293293 let farmCeoFeeSize = fraction(unstakedRewardNow, feePercent, 100)
294294 [IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize)), IntegerEntry(kUnstakedReward, newUnstakedReward)]
295295 }
296296 else throw("Strict value is not equal to itself.")
297297 }
298298
299299
300300
301301 @Callable(i)
302302 func revertTransfer (txId) = if ((getBool(kLocked) == true))
303303 then throw("Contract is locked now")
304304 else if ((i.caller != this))
305305 then throw("Can be called only by the account")
306306 else {
307307 let tx = value(transferTransactionById(fromBase58String(txId)))
308308 let kReverted = ("tx_revert_" + txId)
309309 let txReverted = getBool(kReverted)
310310 let unstakedRewardNow = getInt(kUnstakedReward)
311311 let toDistr = getInt(kToDistr)
312312 let minBalance = (unstakedRewardNow + toDistr)
313313 let currentEggBalance = assetBalance(this, getEggId())
314314 if ((txReverted == true))
315315 then throw("Tx already reverted")
316316 else if ((tx.recipient != this))
317317 then throw("Tx recipient is another account")
318318 else if (if ((tx.assetId != getEggId()))
319319 then (tx.assetId != getShareAssetId())
320320 else false)
321321 then throw("Transaction is not with EGG or share tokens")
322322 else if ((minBalance > (currentEggBalance - tx.amount)))
323323 then throw("Revert makes balance too low")
324324 else [ScriptTransfer(tx.sender, tx.amount, tx.assetId), BooleanEntry(kReverted, true)]
325325 }
326326
327327
328328
329329 @Callable(i)
330330 func distributeRewards (addresses,totalShareTokens,totalRewardToDistribute) = if ((i.caller != mAccAddr))
331331 then throw("Method can be called only by master account")
332332 else {
333333 let addressPairs = split(addresses, ";")
334334 func processAddress (accum,addressPair) = {
335335 let addressParts = split(addressPair, "=")
336336 let addressStr = addressParts[0]
337337 let address = addressFromStringValue(addressStr)
338338 let userShareTokens = parseIntValue(addressParts[1])
339339 let kAddrEarned = (("address_" + addressStr) + "_total_earned")
340340 let addrTotalEarned = getInt(kAddrEarned)
341341 let userRewardNow = fraction(totalRewardToDistribute, userShareTokens, totalShareTokens)
342342 let res = [IntegerEntry(kAddrEarned, (addrTotalEarned + userRewardNow)), IntegerEntry(((("address_" + addressStr) + "_reward_") + toString(lastBlock.timestamp)), userRewardNow), ScriptTransfer(address, userRewardNow, getEggId())]
343343 $Tuple2((accum._1 + userRewardNow), (accum._2 ++ res))
344344 }
345345
346346 let result = {
347347 let $list1050710554 = addressPairs
348348 let $size1050710554 = size($list1050710554)
349349 let $acc01050710554 = $Tuple2(0, nil)
350350 if (($size1050710554 == 0))
351351 then $acc01050710554
352352 else {
353353 let $acc11050710554 = processAddress($acc01050710554, $list1050710554[0])
354354 if (($size1050710554 == 1))
355355 then $acc11050710554
356356 else {
357357 let $acc21050710554 = processAddress($acc11050710554, $list1050710554[1])
358358 if (($size1050710554 == 2))
359359 then $acc21050710554
360360 else {
361361 let $acc31050710554 = processAddress($acc21050710554, $list1050710554[2])
362362 if (($size1050710554 == 3))
363363 then $acc31050710554
364364 else {
365365 let $acc41050710554 = processAddress($acc31050710554, $list1050710554[3])
366366 if (($size1050710554 == 4))
367367 then $acc41050710554
368368 else {
369369 let $acc51050710554 = processAddress($acc41050710554, $list1050710554[4])
370370 if (($size1050710554 == 5))
371371 then $acc51050710554
372372 else {
373373 let $acc61050710554 = processAddress($acc51050710554, $list1050710554[5])
374374 if (($size1050710554 == 6))
375375 then $acc61050710554
376376 else {
377377 let $acc71050710554 = processAddress($acc61050710554, $list1050710554[6])
378378 if (($size1050710554 == 7))
379379 then $acc71050710554
380380 else {
381381 let $acc81050710554 = processAddress($acc71050710554, $list1050710554[7])
382382 if (($size1050710554 == 8))
383383 then $acc81050710554
384384 else {
385385 let $acc91050710554 = processAddress($acc81050710554, $list1050710554[8])
386386 if (($size1050710554 == 9))
387387 then $acc91050710554
388388 else {
389389 let $acc101050710554 = processAddress($acc91050710554, $list1050710554[9])
390390 if (($size1050710554 == 10))
391391 then $acc101050710554
392392 else {
393393 let $acc111050710554 = processAddress($acc101050710554, $list1050710554[10])
394394 if (($size1050710554 == 11))
395395 then $acc111050710554
396396 else {
397397 let $acc121050710554 = processAddress($acc111050710554, $list1050710554[11])
398398 if (($size1050710554 == 12))
399399 then $acc121050710554
400400 else {
401401 let $acc131050710554 = processAddress($acc121050710554, $list1050710554[12])
402402 if (($size1050710554 == 13))
403403 then $acc131050710554
404404 else {
405405 let $acc141050710554 = processAddress($acc131050710554, $list1050710554[13])
406406 if (($size1050710554 == 14))
407407 then $acc141050710554
408408 else {
409409 let $acc151050710554 = processAddress($acc141050710554, $list1050710554[14])
410410 if (($size1050710554 == 15))
411411 then $acc151050710554
412412 else {
413413 let $acc161050710554 = processAddress($acc151050710554, $list1050710554[15])
414414 if (($size1050710554 == 16))
415415 then $acc161050710554
416416 else {
417417 let $acc171050710554 = processAddress($acc161050710554, $list1050710554[16])
418418 if (($size1050710554 == 17))
419419 then $acc171050710554
420420 else {
421421 let $acc181050710554 = processAddress($acc171050710554, $list1050710554[17])
422422 if (($size1050710554 == 18))
423423 then $acc181050710554
424424 else {
425425 let $acc191050710554 = processAddress($acc181050710554, $list1050710554[18])
426426 if (($size1050710554 == 19))
427427 then $acc191050710554
428428 else {
429429 let $acc201050710554 = processAddress($acc191050710554, $list1050710554[19])
430430 if (($size1050710554 == 20))
431431 then $acc201050710554
432432 else {
433433 let $acc211050710554 = processAddress($acc201050710554, $list1050710554[20])
434434 throw("List size exceed 20")
435435 }
436436 }
437437 }
438438 }
439439 }
440440 }
441441 }
442442 }
443443 }
444444 }
445445 }
446446 }
447447 }
448448 }
449449 }
450450 }
451451 }
452452 }
453453 }
454454 }
455455 }
456456 }
457457 let toDistr = getInt(kToDistr)
458458 (result._2 ++ [IntegerEntry(kToDistr, (toDistr - result._1)), IntegerEntry(kUnstakedReward, 0)])
459459 }
460460
461461
462462
463463 @Callable(i)
464464 func swapEgg () = if ((i.caller != mAccAddr))
465465 then throw("Method can be called by master account only")
466466 else {
467467 let oldEggBalance = assetBalance(this, oldEggAssetId)
468468 let swapTx = invoke(swapEggDappAddress, "swapEgg", nil, [AttachedPayment(oldEggAssetId, oldEggBalance)])
469469 if ((swapTx == swapTx))
470470 then [BooleanEntry("swapped_egg", true), IntegerEntry("swapped_egg_amount", oldEggBalance)]
471471 else throw("Strict value is not equal to itself.")
472472 }
473473
474474
475475 @Verifier(tx)
476476 func verify () = {
477477 let checkStarted = (getInt(kTotalLiquidity) >= getInt(kLiquidityThreshold))
478478 func totalEggSpending (accum,payment) = if ((payment.assetId == getEggId()))
479479 then (accum + payment.amount)
480480 else accum
481481
482482 match tx {
483483 case inv: InvokeScriptTransaction =>
484484 let unstakedRewardNow = getInt(kUnstakedReward)
485485 let toDistr = getInt(kToDistr)
486486 let minBalance = (unstakedRewardNow + toDistr)
487487 if (if ((inv.function == "unstakeNFT"))
488488 then true
489489 else (inv.function == "unstakeJackpot"))
490490 then throw("You cannot call these functions directly")
491491 else if ((sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) == false))
492492 then throw("_100")
493493 else if ((checkStarted == false))
494494 then throw("_14")
495495 else if ((getBool(kLocked) == true))
496496 then throw("_22")
497497 else if (if ((inv.fee > 900000))
498498 then true
499499 else (inv.feeAssetId != unit))
500500 then throw("_15")
501501 else if ((inv.function == "claimReward"))
502502 then throw("_16")
503503 else if ((size(inv.payments) > 2))
504504 then throw("_17")
505505 else if ((minBalance > ((assetBalance(this, getEggId()) - {
506506 let $list1229312335 = inv.payments
507507 let $size1229312335 = size($list1229312335)
508508 let $acc01229312335 = 0
509509 if (($size1229312335 == 0))
510510 then $acc01229312335
511511 else {
512512 let $acc11229312335 = totalEggSpending($acc01229312335, $list1229312335[0])
513513 if (($size1229312335 == 1))
514514 then $acc11229312335
515515 else {
516516 let $acc21229312335 = totalEggSpending($acc11229312335, $list1229312335[1])
517517 if (($size1229312335 == 2))
518518 then $acc21229312335
519519 else {
520520 let $acc31229312335 = totalEggSpending($acc21229312335, $list1229312335[2])
521521 if (($size1229312335 == 3))
522522 then $acc31229312335
523523 else {
524524 let $acc41229312335 = totalEggSpending($acc31229312335, $list1229312335[3])
525525 throw("List size exceed 3")
526526 }
527527 }
528528 }
529529 }
530530 }) * 1000000)))
531531 then throw(("Your minimal balance should be = " + toString(minBalance)))
532532 else if (if ((addressFromRecipient(inv.dApp) == this))
533533 then (inv.function == "callUnstakeProxy")
534534 else false)
535535 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
536536 else if (if ((addressFromRecipient(inv.dApp) == this))
537537 then (inv.function == "revertTransfer")
538538 else false)
539539 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
540540 else if (if ((addressFromRecipient(inv.dApp) == this))
541541 then (inv.function == "claimCeoFee")
542542 else false)
543543 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
544544 else if (if ((addressFromRecipient(inv.dApp) == this))
545545 then if ((inv.function == "lockInvestments"))
546546 then true
547547 else (inv.function == "unlockInvestments")
548548 else false)
549549 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
550550 else if (if ((addressFromRecipient(inv.dApp) == addressFromStringValue(getMarketProxyAddr())))
551551 then (inv.function == "callMarketplaceProxy")
552552 else false)
553553 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
554554 else {
555555 let allowedContracts = getStrA(mAccAddr, "allowed_contracts")
556556 let allowedContractsList = split(allowedContracts, ";")
557557 let dappToCall = toString(addressFromRecipient(inv.dApp))
558558 (indexOf(allowedContractsList, dappToCall) != unit)
559559 }
560560 case mt: MassTransferTransaction =>
561561 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
562562 case dt: DataTransaction =>
563563 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
564- case ss: SetScriptTransaction =>
564+ case ss: IssueTransaction =>
565565 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
566566 case _ =>
567567 false
568568 }
569569 }
570570

github/deemru/w8io/786bc32 
82.16 ms