tx · CKg8vVyUFWY688RzgnFPwGTXGSSf2ag4Mjbc4YypY5vx

3PEZngxRNSDEJz2MiNUG3jAVBhhVFTNFQz2:  -0.01400000 Waves

2021.08.26 04:22 [2739535] smart account 3PEZngxRNSDEJz2MiNUG3jAVBhhVFTNFQz2 > SELF 0.00000000 Waves

{ "type": 13, "id": "CKg8vVyUFWY688RzgnFPwGTXGSSf2ag4Mjbc4YypY5vx", "fee": 1400000, "feeAssetId": null, "timestamp": 1629940930219, "version": 2, "chainId": 87, "sender": "3PEZngxRNSDEJz2MiNUG3jAVBhhVFTNFQz2", "senderPublicKey": "8HhthX4cRpH5QMaK46KDBbQZhK75SQZYUjJZzBwHkaTK", "proofs": [ "5tsuwaj1qc23h4pG95rBXrYodJ4L8aj9FFRTqRZqrKBaiMkB4sSsyu7J6YLgWtUsQKanb71XpeYdXdyCJ33eTJ9r" ], "script": "base64:AAIFAAAAAAAAACMIAhIECgIIARIDCgEEEgASAwoBCBIDCgEIEgMKAQgSAwoBCAAAABwAAAAACG1BY2NQS2V5AQAAACAPdyxqhMTuzSr4tQVOqHGEvRZUJOHbfXL741XctS4YEgAAAAAIbUFjY0FkZHIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAACG1BY2NQS2V5AAAAAApmZWVQZXJjZW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAhtQWNjQWRkcgkAASwAAAACCQABLAAAAAICAAAAAmZfCQAEJQAAAAEFAAAABHRoaXMCAAAABF9mZWUAAAAAD2tUb3RhbExpcXVpZGl0eQIAAAAPdG90YWxfbGlxdWlkaXR5AAAAAAxrSW5pdGlhbGl6ZWQCAAAAC0lOSVRJQUxJWkVEAAAAABNrTGlxdWlkaXR5VGhyZXNob2xkAgAAABNMSVFVSURJVFlfVEhSRVNIT0xEAAAAABFrRmFybVBhcnRpY2lwYW50cwIAAAARZmFybV9wYXJ0aWNpcGFudHMAAAAAEWtUb3RhbFNoYXJlVG9rZW5zAgAAABJ0b3RhbF9zaGFyZV90b2tlbnMAAAAADWtTaGFyZUFzc2V0SWQCAAAADlNIQVJFX0FTU0VUX0lEAAAAAA5rSW5jdWJhdG9yRGFwcAIAAAAOSU5DVUJBVE9SX0RBUFAAAAAADGtCcmVlZGVyRGFwcAIAAAAMQlJFRURFUl9EQVBQAAAAAAxrRmFybWluZ0RhcHACAAAADEZBUk1JTkdfREFQUAAAAAALa01hcmtldERhcHACAAAAEE1BUktFVFBMQUNFX0RBUFAAAAAAB2tMb2NrZWQCAAAABkxPQ0tFRAAAAAATa1RvdGFsRmFybWluZ1Jld2FyZAIAAAAUdG90YWxfZmFybWluZ19yZXdhcmQAAAAAEGtDZW9Db2xsZWN0ZWRGZWUCAAAAEWNlb19jb2xsZWN0ZWRfZmVlAAAAABdrQ2VvQ29sbGVjdGVkRmVlT3ZlcmFsbAIAAAAPY2VvX2ZlZV9vdmVyYWxsAAAAAAhrVG9EaXN0cgIAAAANdG9fZGlzdHJpYnV0ZQEAAAAGZ2V0SW50AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAD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dXJyZW50TGlxdWlkaXR5QW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQEAAAAEXNoYXJlVG9rZW5zVG9HaXZlCQAAaAAAAAIFAAAAFmN1cnJlbnRMaXF1aWRpdHlBbW91bnQAAAAAAAAPQkAEAAAADXNoYXJlVG9rZW5zSWQJAAJZAAAAAQkBAAAABmdldFN0cgAAAAEFAAAADWtTaGFyZUFzc2V0SWQEAAAAB3JlaXNzdWUJAQAAAAdSZWlzc3VlAAAAAwkBAAAAD2dldFNoYXJlQXNzZXRJZAAAAAAFAAAAEXNoYXJlVG9rZW5zVG9HaXZlBgQAAAAQZmFybVBhcnRpY2lwYW50cwkBAAAABmdldEludAAAAAEFAAAAEWtGYXJtUGFydGljaXBhbnRzBAAAAA1rUGFydGljaXBhdGVkCQABLAAAAAIJAAEsAAAAAgIAAAAIYWNjb3VudF8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAA1fcGFydGljaXBhdGVkBAAAABNhbHJlYWR5UGFydGljaXBhdGVkCQEAAAAHZ2V0Qm9vbAAAAAEFAAAADWtQYXJ0aWNpcGF0ZWQEAAAAE25ld0Zhcm1QYXJ0aWNpcGFudHMDCQAAAAAAAAIFAAAAE2FscmVhZHlQYXJ0aWNpcGF0ZWQFAAAABHVuaXQJAABkAAAAAgUAAAAQZmFybVBhcnRpY2lwYW50cwAAAAAAAAAAAQUAAAAQZmFybVBhcnRpY2lwYW50cwkABEwAAAACBQAAAAdyZWlzc3VlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAARc2hhcmVUb2tlbnNUb0dpdmUFAAAADXNoYXJlVG9rZW5zSWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtUb3RhbFNoYXJlVG9rZW5zCQAAZAAAAAIFAAAAEHRvdGFsU2hhcmVUb2tlbnMFAAAAEXNoYXJlVG9rZW5zVG9HaXZlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rVG90YWxMaXF1aWRpdHkJAABkAAAAAgUAAAAOdG90YWxMaXF1aWRpdHkJAQAAAAV2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MzA0ODQxNDg3MwkAAZEAAAACBQAAAA0kbGlzdDQ4NDE0ODczAAAAAAAAAAAeCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMzAEAAAADWNsYWltZWRSZXdhcmQEAAAAByRtYXRjaDAFAAAACmZvbGRSZXN1bHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADaW50BQAAAAckbWF0Y2gwBQAAAANpbnQJAAACAAAAAQIAAAACXzYEAAAADmZhcm1DZW9GZWVTaXplCQAAawAAAAMFAAAADWNsYWltZWRSZXdhcmQFAAAACmZlZVBlcmNlbnQAAAAAAAAAAGQEAAAAB3RvRGlzdHIJAQAAAAZnZXRJbnQAAAABBQAAAAhrVG9EaXN0cgQAAAASdG90YWxGYXJtaW5nUmV3YXJkCQEAAAAGZ2V0SW50AAAAAQUAAAATa1RvdGFsRmFybWluZ1Jld2FyZAQAAAANY3VycmVudENlb0ZlZQkBAAAABmdldEludAAAAAEFAAAAEGtDZW9Db2xsZWN0ZWRGZWUEAAAADWNlb0ZlZU92ZXJhbGwJAQAAAAZnZXRJbnQAAAABBQAAABdrQ2VvQ29sbGVjdGVkRmVlT3ZlcmFsbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAATa1RvdGFsRmFybWluZ1Jld2FyZAkAAGUAAAACCQAAZAAAAAIFAAAAEnRvdGFsRmFybWluZ1Jld2FyZAUAAAANY2xhaW1lZFJld2FyZAUAAAAOZmFybUNlb0ZlZVNpemUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtDZW9Db2xsZWN0ZWRGZWUJAABkAAAAAgUAAAANY3VycmVudENlb0ZlZQUAAAAOZmFybUNlb0ZlZVNpemUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACGtUb0Rpc3RyCQAAZQAAAAIJAABkAAAAAgUAAAAHdG9EaXN0cgUAAAANY2xhaW1lZFJld2FyZAUAAAAOZmFybUNlb0ZlZVNpemUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsCQAAZAAAAAIFAAAADWNlb0ZlZU92ZXJh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", "height": 2739535, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3nyJzdM2yV1nLFqpotsqTqsMWY1mJMbx4EHApJZrXQng Next: EtsYg1MyAKke6mmSejWDrZgBXXL4JaCzNf2dSfzVuvZd Diff:
OldNewDifferences
374374 match tx {
375375 case inv: InvokeScriptTransaction =>
376376 let toDistr = getInt(kToDistr)
377- if ((checkStarted == false))
378- then throw("_14")
379- else if ((getBool(kLocked) == true))
380- then throw("_22")
381- else if (if ((inv.fee > 900000))
382- then true
383- else (inv.feeAssetId != unit))
384- then throw("_15")
385- else if ((inv.function == "claimReward"))
386- then throw("_16")
387- else if ((size(inv.payments) > 2))
388- then throw("_17")
389- else if ((toDistr > (assetBalance(this, getEggId()) - {
390- let $list69346976 = inv.payments
391- let $size69346976 = size($list69346976)
392- let $acc069346976 = 0
393- if (($size69346976 == 0))
394- then $acc069346976
395- else {
396- let $acc169346976 = totalEggSpending($acc069346976, $list69346976[0])
397- if (($size69346976 == 1))
398- then $acc169346976
399- else {
400- let $acc269346976 = totalEggSpending($acc169346976, $list69346976[1])
401- if (($size69346976 == 2))
402- then $acc269346976
403- else {
404- let $acc369346976 = totalEggSpending($acc269346976, $list69346976[2])
405- if (($size69346976 == 3))
406- then $acc369346976
407- else {
408- let $acc469346976 = totalEggSpending($acc369346976, $list69346976[3])
409- throw("List size exceed 3")
410- }
411- }
412- }
413- }
414- })))
415- then throw(("_18=" + toString(toDistr)))
416- else if (if ((addressFromRecipient(inv.dApp) == this))
417- then (inv.function == "claimCeoFee")
418- else false)
419- then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
420- else {
421- let allowedContracts = getStrA(mAccAddr, "allowed_contracts")
422- let marketAddr = getMarketAddr()
423- let allowedContractsList = split(allowedContracts, ";")
424- let dappToCall = toString(addressFromRecipient(inv.dApp))
425- if ((dappToCall == marketAddr))
426- then throw("_19")
427- else if ((indexOf(allowedContractsList, dappToCall) != unit))
428- then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
429- else false
430- }
377+ if ((sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) == false))
378+ then throw("_100")
379+ else if ((checkStarted == false))
380+ then throw("_14")
381+ else if ((getBool(kLocked) == true))
382+ then throw("_22")
383+ else if (if ((inv.fee > 900000))
384+ then true
385+ else (inv.feeAssetId != unit))
386+ then throw("_15")
387+ else if ((inv.function == "claimReward"))
388+ then throw("_16")
389+ else if ((size(inv.payments) > 2))
390+ then throw("_17")
391+ else if ((toDistr > (assetBalance(this, getEggId()) - {
392+ let $list70387080 = inv.payments
393+ let $size70387080 = size($list70387080)
394+ let $acc070387080 = 0
395+ if (($size70387080 == 0))
396+ then $acc070387080
397+ else {
398+ let $acc170387080 = totalEggSpending($acc070387080, $list70387080[0])
399+ if (($size70387080 == 1))
400+ then $acc170387080
401+ else {
402+ let $acc270387080 = totalEggSpending($acc170387080, $list70387080[1])
403+ if (($size70387080 == 2))
404+ then $acc270387080
405+ else {
406+ let $acc370387080 = totalEggSpending($acc270387080, $list70387080[2])
407+ if (($size70387080 == 3))
408+ then $acc370387080
409+ else {
410+ let $acc470387080 = totalEggSpending($acc370387080, $list70387080[3])
411+ throw("List size exceed 3")
412+ }
413+ }
414+ }
415+ }
416+ })))
417+ then throw(("_18=" + toString(toDistr)))
418+ else if (if ((addressFromRecipient(inv.dApp) == this))
419+ then (inv.function == "claimCeoFee")
420+ else false)
421+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
422+ else {
423+ let allowedContracts = getStrA(mAccAddr, "allowed_contracts")
424+ let marketAddr = getMarketAddr()
425+ let allowedContractsList = split(allowedContracts, ";")
426+ let dappToCall = toString(addressFromRecipient(inv.dApp))
427+ if ((dappToCall == marketAddr))
428+ then throw("_19")
429+ else (indexOf(allowedContractsList, dappToCall) != unit)
430+ }
431431 case ss: SetScriptTransaction =>
432432 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
433433 case _ =>
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 kTotalLiquidity = "total_liquidity"
1111
1212 let kInitialized = "INITIALIZED"
1313
1414 let kLiquidityThreshold = "LIQUIDITY_THRESHOLD"
1515
1616 let kFarmParticipants = "farm_participants"
1717
1818 let kTotalShareTokens = "total_share_tokens"
1919
2020 let kShareAssetId = "SHARE_ASSET_ID"
2121
2222 let kIncubatorDapp = "INCUBATOR_DAPP"
2323
2424 let kBreederDapp = "BREEDER_DAPP"
2525
2626 let kFarmingDapp = "FARMING_DAPP"
2727
2828 let kMarketDapp = "MARKETPLACE_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 func getInt (key) = match getInteger(this, key) {
4141 case b: Int =>
4242 b
4343 case _ =>
4444 0
4545 }
4646
4747
4848 func getStr (key) = match getString(this, key) {
4949 case b: String =>
5050 b
5151 case _ =>
5252 ""
5353 }
5454
5555
5656 func getBool (key) = match getBoolean(this, key) {
5757 case b: Boolean =>
5858 b
5959 case _ =>
6060 unit
6161 }
6262
6363
6464 func getStrA (a,k) = match getString(a, k) {
6565 case b: String =>
6666 b
6767 case _ =>
6868 ""
6969 }
7070
7171
7272 func getIntA (address,key) = match getInteger(address, key) {
7373 case b: Int =>
7474 b
7575 case _ =>
7676 0
7777 }
7878
7979
8080 func getMarketAddr () = getStrA(mAccAddr, kMarketDapp)
8181
8282
8383 func getDuckIdByAuctionId (auctionId) = {
8484 let marketAddr = getMarketAddr()
8585 getStrA(addressFromStringValue(marketAddr), (("auction_" + auctionId) + "_assetId"))
8686 }
8787
8888
8989 func getBidAmount (auctionId,bidId) = {
9090 let marketAddr = getMarketAddr()
9191 getIntA(addressFromStringValue(marketAddr), (((("auction_" + auctionId) + "_bid_") + bidId) + "_amount"))
9292 }
9393
9494
9595 func getEggId () = fromBase58String(getStringValue(mAccAddr, "EGG_ASSET_ID"))
9696
9797
9898 func getShareAssetId () = fromBase58String(getStr(kShareAssetId))
9999
100100
101101 @Callable(i)
102102 func initCollectiveFarm (name,minimumThreshold) = if ((i.callerPublicKey != mAccPKey))
103103 then throw("_1")
104104 else if ((getBool(kInitialized) != unit))
105105 then throw("_2")
106106 else if (if ((i.payments[0].amount != 10))
107107 then true
108108 else (i.payments[0].assetId != getEggId()))
109109 then throw("_20")
110110 else {
111111 let shareTokens = 10000000
112112 let shareToken = Issue(name, (("Share token for the \"" + name) + "\" collective farm"), shareTokens, 8, true)
113113 [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)]
114114 }
115115
116116
117117
118118 @Callable(i)
119119 func setLock (s) = if ((i.callerPublicKey != mAccPKey))
120120 then throw("_21")
121121 else [BooleanEntry(kLocked, s)]
122122
123123
124124
125125 @Callable(i)
126126 func provideLiquidity () = {
127127 let eggAssetId = getEggId()
128128 if ((getBool(kLocked) == true))
129129 then throw("_22")
130130 else if ((i.payments[0].assetId != eggAssetId))
131131 then throw("_4")
132132 else {
133133 let totalLiquidity = getInt(kTotalLiquidity)
134134 let totalShareTokens = getInt(kTotalShareTokens)
135135 let currentLiquidityAmount = i.payments[0].amount
136136 let shareTokensToGive = (currentLiquidityAmount * 1000000)
137137 let shareTokensId = fromBase58String(getStr(kShareAssetId))
138138 let reissue = Reissue(getShareAssetId(), shareTokensToGive, true)
139139 let farmParticipants = getInt(kFarmParticipants)
140140 let kParticipated = (("account_" + toString(i.caller)) + "_participated")
141141 let alreadyParticipated = getBool(kParticipated)
142142 let newFarmParticipants = if ((alreadyParticipated == unit))
143143 then (farmParticipants + 1)
144144 else farmParticipants
145145 [reissue, ScriptTransfer(i.caller, shareTokensToGive, shareTokensId), IntegerEntry(kTotalShareTokens, (totalShareTokens + shareTokensToGive)), IntegerEntry(kTotalLiquidity, (totalLiquidity + value(i.payments[0].amount))), IntegerEntry(kFarmParticipants, newFarmParticipants), BooleanEntry(kParticipated, true)]
146146 }
147147 }
148148
149149
150150
151151 @Callable(i)
152152 func claimFarmingRewardProxy (ids) = if ((i.callerPublicKey != mAccPKey))
153153 then throw("_23")
154154 else {
155155 let farmingDapp = addressFromStringValue(getStrA(mAccAddr, kFarmingDapp))
156156 func claimReward (accum,nftId) = {
157157 let invRes = invoke(farmingDapp, "claimReward", [nftId], nil)
158158 if ((invRes == invRes))
159159 then match invRes {
160160 case int: Int =>
161161 (accum + int)
162162 case _ =>
163163 throw("_5")
164164 }
165165 else throw("Strict value is not equal to itself.")
166166 }
167167
168168 let nftIds = split(ids, ";")
169169 let foldResult = {
170170 let $list48414873 = nftIds
171171 let $size48414873 = size($list48414873)
172172 let $acc048414873 = 0
173173 if (($size48414873 == 0))
174174 then $acc048414873
175175 else {
176176 let $acc148414873 = claimReward($acc048414873, $list48414873[0])
177177 if (($size48414873 == 1))
178178 then $acc148414873
179179 else {
180180 let $acc248414873 = claimReward($acc148414873, $list48414873[1])
181181 if (($size48414873 == 2))
182182 then $acc248414873
183183 else {
184184 let $acc348414873 = claimReward($acc248414873, $list48414873[2])
185185 if (($size48414873 == 3))
186186 then $acc348414873
187187 else {
188188 let $acc448414873 = claimReward($acc348414873, $list48414873[3])
189189 if (($size48414873 == 4))
190190 then $acc448414873
191191 else {
192192 let $acc548414873 = claimReward($acc448414873, $list48414873[4])
193193 if (($size48414873 == 5))
194194 then $acc548414873
195195 else {
196196 let $acc648414873 = claimReward($acc548414873, $list48414873[5])
197197 if (($size48414873 == 6))
198198 then $acc648414873
199199 else {
200200 let $acc748414873 = claimReward($acc648414873, $list48414873[6])
201201 if (($size48414873 == 7))
202202 then $acc748414873
203203 else {
204204 let $acc848414873 = claimReward($acc748414873, $list48414873[7])
205205 if (($size48414873 == 8))
206206 then $acc848414873
207207 else {
208208 let $acc948414873 = claimReward($acc848414873, $list48414873[8])
209209 if (($size48414873 == 9))
210210 then $acc948414873
211211 else {
212212 let $acc1048414873 = claimReward($acc948414873, $list48414873[9])
213213 if (($size48414873 == 10))
214214 then $acc1048414873
215215 else {
216216 let $acc1148414873 = claimReward($acc1048414873, $list48414873[10])
217217 if (($size48414873 == 11))
218218 then $acc1148414873
219219 else {
220220 let $acc1248414873 = claimReward($acc1148414873, $list48414873[11])
221221 if (($size48414873 == 12))
222222 then $acc1248414873
223223 else {
224224 let $acc1348414873 = claimReward($acc1248414873, $list48414873[12])
225225 if (($size48414873 == 13))
226226 then $acc1348414873
227227 else {
228228 let $acc1448414873 = claimReward($acc1348414873, $list48414873[13])
229229 if (($size48414873 == 14))
230230 then $acc1448414873
231231 else {
232232 let $acc1548414873 = claimReward($acc1448414873, $list48414873[14])
233233 if (($size48414873 == 15))
234234 then $acc1548414873
235235 else {
236236 let $acc1648414873 = claimReward($acc1548414873, $list48414873[15])
237237 if (($size48414873 == 16))
238238 then $acc1648414873
239239 else {
240240 let $acc1748414873 = claimReward($acc1648414873, $list48414873[16])
241241 if (($size48414873 == 17))
242242 then $acc1748414873
243243 else {
244244 let $acc1848414873 = claimReward($acc1748414873, $list48414873[17])
245245 if (($size48414873 == 18))
246246 then $acc1848414873
247247 else {
248248 let $acc1948414873 = claimReward($acc1848414873, $list48414873[18])
249249 if (($size48414873 == 19))
250250 then $acc1948414873
251251 else {
252252 let $acc2048414873 = claimReward($acc1948414873, $list48414873[19])
253253 if (($size48414873 == 20))
254254 then $acc2048414873
255255 else {
256256 let $acc2148414873 = claimReward($acc2048414873, $list48414873[20])
257257 if (($size48414873 == 21))
258258 then $acc2148414873
259259 else {
260260 let $acc2248414873 = claimReward($acc2148414873, $list48414873[21])
261261 if (($size48414873 == 22))
262262 then $acc2248414873
263263 else {
264264 let $acc2348414873 = claimReward($acc2248414873, $list48414873[22])
265265 if (($size48414873 == 23))
266266 then $acc2348414873
267267 else {
268268 let $acc2448414873 = claimReward($acc2348414873, $list48414873[23])
269269 if (($size48414873 == 24))
270270 then $acc2448414873
271271 else {
272272 let $acc2548414873 = claimReward($acc2448414873, $list48414873[24])
273273 if (($size48414873 == 25))
274274 then $acc2548414873
275275 else {
276276 let $acc2648414873 = claimReward($acc2548414873, $list48414873[25])
277277 if (($size48414873 == 26))
278278 then $acc2648414873
279279 else {
280280 let $acc2748414873 = claimReward($acc2648414873, $list48414873[26])
281281 if (($size48414873 == 27))
282282 then $acc2748414873
283283 else {
284284 let $acc2848414873 = claimReward($acc2748414873, $list48414873[27])
285285 if (($size48414873 == 28))
286286 then $acc2848414873
287287 else {
288288 let $acc2948414873 = claimReward($acc2848414873, $list48414873[28])
289289 if (($size48414873 == 29))
290290 then $acc2948414873
291291 else {
292292 let $acc3048414873 = claimReward($acc2948414873, $list48414873[29])
293293 if (($size48414873 == 30))
294294 then $acc3048414873
295295 else {
296296 let $acc3148414873 = claimReward($acc3048414873, $list48414873[30])
297297 throw("List size exceed 30")
298298 }
299299 }
300300 }
301301 }
302302 }
303303 }
304304 }
305305 }
306306 }
307307 }
308308 }
309309 }
310310 }
311311 }
312312 }
313313 }
314314 }
315315 }
316316 }
317317 }
318318 }
319319 }
320320 }
321321 }
322322 }
323323 }
324324 }
325325 }
326326 }
327327 }
328328 }
329329 }
330330 let claimedReward = match foldResult {
331331 case int: Int =>
332332 int
333333 case _ =>
334334 throw("_6")
335335 }
336336 let farmCeoFeeSize = fraction(claimedReward, feePercent, 100)
337337 let toDistr = getInt(kToDistr)
338338 let totalFarmingReward = getInt(kTotalFarmingReward)
339339 let currentCeoFee = getInt(kCeoCollectedFee)
340340 let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
341341 [IntegerEntry(kTotalFarmingReward, ((totalFarmingReward + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kToDistr, ((toDistr + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
342342 }
343343
344344
345345
346346 @Callable(i)
347347 func claimCeoFee (address) = if ((getBool(kLocked) == true))
348348 then throw("_22")
349349 else if ((i.caller == this))
350350 then {
351351 let currentCeoCollectedFee = getInt(kCeoCollectedFee)
352352 [ScriptTransfer(addressFromStringValue(address), currentCeoCollectedFee, getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
353353 }
354354 else throw("_8")
355355
356356
357357
358358 @Callable(i)
359359 func startLiquidation (auctionId) = throw("_7")
360360
361361
362362
363363 @Callable(i)
364364 func voteForLiquidation (auctionId) = throw("_7")
365365
366366
367367 @Verifier(tx)
368368 func verify () = {
369369 let checkStarted = (getInt(kTotalLiquidity) >= getInt(kLiquidityThreshold))
370370 func totalEggSpending (accum,payment) = if ((payment.assetId == getEggId()))
371371 then (accum + payment.amount)
372372 else accum
373373
374374 match tx {
375375 case inv: InvokeScriptTransaction =>
376376 let toDistr = getInt(kToDistr)
377- if ((checkStarted == false))
378- then throw("_14")
379- else if ((getBool(kLocked) == true))
380- then throw("_22")
381- else if (if ((inv.fee > 900000))
382- then true
383- else (inv.feeAssetId != unit))
384- then throw("_15")
385- else if ((inv.function == "claimReward"))
386- then throw("_16")
387- else if ((size(inv.payments) > 2))
388- then throw("_17")
389- else if ((toDistr > (assetBalance(this, getEggId()) - {
390- let $list69346976 = inv.payments
391- let $size69346976 = size($list69346976)
392- let $acc069346976 = 0
393- if (($size69346976 == 0))
394- then $acc069346976
395- else {
396- let $acc169346976 = totalEggSpending($acc069346976, $list69346976[0])
397- if (($size69346976 == 1))
398- then $acc169346976
399- else {
400- let $acc269346976 = totalEggSpending($acc169346976, $list69346976[1])
401- if (($size69346976 == 2))
402- then $acc269346976
403- else {
404- let $acc369346976 = totalEggSpending($acc269346976, $list69346976[2])
405- if (($size69346976 == 3))
406- then $acc369346976
407- else {
408- let $acc469346976 = totalEggSpending($acc369346976, $list69346976[3])
409- throw("List size exceed 3")
410- }
411- }
412- }
413- }
414- })))
415- then throw(("_18=" + toString(toDistr)))
416- else if (if ((addressFromRecipient(inv.dApp) == this))
417- then (inv.function == "claimCeoFee")
418- else false)
419- then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
420- else {
421- let allowedContracts = getStrA(mAccAddr, "allowed_contracts")
422- let marketAddr = getMarketAddr()
423- let allowedContractsList = split(allowedContracts, ";")
424- let dappToCall = toString(addressFromRecipient(inv.dApp))
425- if ((dappToCall == marketAddr))
426- then throw("_19")
427- else if ((indexOf(allowedContractsList, dappToCall) != unit))
428- then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
429- else false
430- }
377+ if ((sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) == false))
378+ then throw("_100")
379+ else if ((checkStarted == false))
380+ then throw("_14")
381+ else if ((getBool(kLocked) == true))
382+ then throw("_22")
383+ else if (if ((inv.fee > 900000))
384+ then true
385+ else (inv.feeAssetId != unit))
386+ then throw("_15")
387+ else if ((inv.function == "claimReward"))
388+ then throw("_16")
389+ else if ((size(inv.payments) > 2))
390+ then throw("_17")
391+ else if ((toDistr > (assetBalance(this, getEggId()) - {
392+ let $list70387080 = inv.payments
393+ let $size70387080 = size($list70387080)
394+ let $acc070387080 = 0
395+ if (($size70387080 == 0))
396+ then $acc070387080
397+ else {
398+ let $acc170387080 = totalEggSpending($acc070387080, $list70387080[0])
399+ if (($size70387080 == 1))
400+ then $acc170387080
401+ else {
402+ let $acc270387080 = totalEggSpending($acc170387080, $list70387080[1])
403+ if (($size70387080 == 2))
404+ then $acc270387080
405+ else {
406+ let $acc370387080 = totalEggSpending($acc270387080, $list70387080[2])
407+ if (($size70387080 == 3))
408+ then $acc370387080
409+ else {
410+ let $acc470387080 = totalEggSpending($acc370387080, $list70387080[3])
411+ throw("List size exceed 3")
412+ }
413+ }
414+ }
415+ }
416+ })))
417+ then throw(("_18=" + toString(toDistr)))
418+ else if (if ((addressFromRecipient(inv.dApp) == this))
419+ then (inv.function == "claimCeoFee")
420+ else false)
421+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
422+ else {
423+ let allowedContracts = getStrA(mAccAddr, "allowed_contracts")
424+ let marketAddr = getMarketAddr()
425+ let allowedContractsList = split(allowedContracts, ";")
426+ let dappToCall = toString(addressFromRecipient(inv.dApp))
427+ if ((dappToCall == marketAddr))
428+ then throw("_19")
429+ else (indexOf(allowedContractsList, dappToCall) != unit)
430+ }
431431 case ss: SetScriptTransaction =>
432432 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
433433 case _ =>
434434 false
435435 }
436436 }
437437

github/deemru/w8io/6500d08 
116.46 ms