tx · HiKGDMqM2jCgVE11KggUc4sZBZsDVHhTP9XYsGm7atQA

3PCMnvCRwQbsjLaUFuguCEPmeskFpbr6dEG:  -0.01000000 Waves

2021.08.30 02:38 [2745216] smart account 3PCMnvCRwQbsjLaUFuguCEPmeskFpbr6dEG > SELF 0.00000000 Waves

{ "type": 13, "id": "HiKGDMqM2jCgVE11KggUc4sZBZsDVHhTP9XYsGm7atQA", "fee": 1000000, "feeAssetId": null, "timestamp": 1630280324770, "version": 2, "chainId": 87, "sender": "3PCMnvCRwQbsjLaUFuguCEPmeskFpbr6dEG", "senderPublicKey": "2pqWf3q3KPBc8VbjLWy4wu4BgK1P4b9uPE4gNm8f1bzT", "proofs": [ "3fs3hsfcPo9UCFeVBDrSq5sqLcfhv7aodDRPnDSEvX5DZBK2nWEnitR1ishMdhFtcVc9ka1EwM4itMrXVK4qWZKK" ], "script": "base64:AAIFAAAAAAAADiUIAhIECgIIARIDCgEEEgASAwoBCBIDCgEIEgMKAQgSAwoBCBIECgIICBIDCgEIEgMKAQESAwoBCBoOCgJhMRIIbUFjY1BLZXkaDgoCYTISCG1BY2NBZGRyGhAKAmEzEgpmZWVQZXJjZW50GhUKAmE0Eg9rVG90YWxMaXF1aWRpdHkaEgoCYTUSDGtJbml0aWFsaXplZBoZCgJhNhITa0xpcXVpZGl0eVRocmVzaG9sZBoXCgJhNxIRa0Zhcm1QYXJ0aWNpcGFudHMaFwoCYTgSEWtUb3RhbFNoYXJlVG9rZW5zGhMKAmE5Eg1rU2hhcmVBc3NldElkGhQKAmIxEg5rSW5jdWJhdG9yRGFwcBoSCgJiMhIMa0JyZWVkZXJEYXBwGhIKAmIzEgxrRmFybWluZ0RhcHAaFgoCYjQSEGtNYXJrZXRQcm94eURhcHAaEgoCYjUSDGtBdWN0aW9uRGFwcBoNCgJiNhIHa0xvY2tlZBoZCgJiNxITa1RvdGFsRmFybWluZ1Jld2FyZBoWCgJiOBIQa0Nlb0NvbGxlY3RlZEZlZRodCgJiORIXa0Nlb0NvbGxlY3RlZEZlZU92ZXJhbGwaDgoCYzESCGtUb0Rpc3RyGhUKAmMyEg9rVW5zdGFrZWRSZXdhcmQaDAoCYzMSBmdldEludBoJCgJjNBIDa2V5Gg0KAmM1EgckbWF0Y2gwGgcKAmM2EgFiGgwKAmM3EgZnZXRTdHIaDQoCYzgSB2dldEJvb2waDQoCYzkSB2dldFN0ckEaBwoCZDESAWEaBwoCZDISAWsaDQoCZDMSB2dldEludEEaDQoCZDQSB2FkZHJlc3MaGAoCZDUSEmdldE1hcmtldFByb3h5QWRkchoOCgJkNhIIZ2V0RWdnSWQaFQoCZDcSD2dldFNoYXJlQXNzZXRJZBoHCgJkOBIBaRoKCgJkORIEbmFtZRoWCgJlMRIQbWluaW11bVRocmVzaG9sZBoRCgJlMhILc2hhcmVUb2tlbnMaEAoCZTMSCnNoYXJlVG9rZW4aBwoCZTQSAXMaEAoCZTUSCmVnZ0Fzc2V0SWQaFAoCZTYSDnRvdGFsTGlxdWlkaXR5GhYKAmU3EhB0b3RhbFNoYXJlVG9rZW5zGhwKAmU4EhZjdXJyZW50TGlxdWlkaXR5QW1vdW50GhcKAmU5EhFzaGFyZVRva2Vuc1RvR2l2ZRoTCgJmMRINc2hhcmVUb2tlbnNJZBoNCgJmMhIHcmVpc3N1ZRoWCgJmMxIQZmFybVBhcnRpY2lwYW50cxoTCgJmNBINa1BhcnRpY2lwYXRlZBoZCgJmNRITYWxyZWFkeVBhcnRpY2lwYXRlZBoZCgJmNhITbmV3RmFybVBhcnRpY2lwYW50cxoJCgJmNxIDaWRzGhEKAmY4EgtmYXJtaW5nRGFwcBoRCgJmORILY2xhaW1SZXdhcmQaCwoCZzESBWFjY3VtGgsKAmcyEgVuZnRJZBoMCgJnMxIGaW52UmVzGgkKAmc0EgNpbnQaDAoCZzUSBm5mdElkcxoQCgJnNhIKZm9sZFJlc3VsdBoTCgJnNxINJGxpc3Q0NTcwNDYwMhoTCgJnOBINJHNpemU0NTcwNDYwMhoTCgJnORINJGFjYzA0NTcwNDYwMhoTCgJoMRINJGFjYzE0NTcwNDYwMhoTCgJoMhINJGFjYzI0NTcwNDYwMhoTCgJoMxINJGFjYzM0NTcwNDYwMhoTCgJoNBINJGFjYzQ0NTcwNDYwMhoTCgJoNRINJGFjYzU0NTcwNDYwMhoTCgJoNhINJGFjYzY0NTcwNDYwMhoTCgJoNxINJGFjYzc0NTcwNDYwMhoTCgJoOBINJGFjYzg0NTcwNDYwMhoTCgJoORINJGFjYzk0NTcwNDYwMhoUCgJpMRIOJGFjYzEwNDU3MDQ2MDIaFAoCaTISDiRhY2MxMTQ1NzA0NjAyGhQKAmkzEg4kYWNjMTI0NTcwNDYwMhoUCgJpNBIOJGFjYzEzNDU3MDQ2MDIaFAoCaTUSDiRhY2MxNDQ1NzA0NjAyGhQKAmk2Eg4kYWNjMTU0NTcwNDYwMhoUCgJpNxIOJGFjYzE2NDU3MDQ2MDIaFAoCaTgSDiRhY2MxNzQ1NzA0NjAyGhQKAmk5Eg4kYWNjMTg0NTcwNDYwMhoUCgJqMRIOJGFjYzE5NDU3MDQ2MDIaFAoCajISDiRhY2MyMDQ1NzA0NjAyGhQKAmozEg4kYWNjMjE0NTcwNDYwMhoUCgJqNBIOJGFjYzIyNDU3MDQ2MDIaFAoCajUSDiRhY2MyMzQ1NzA0NjAyGhQKAmo2Eg4kYWNjMjQ0NTcwNDYwMhoUCgJqNxIOJGFjYzI1NDU3MDQ2MDIaFAoCajgSDiRhY2MyNjQ1NzA0NjAyGhQKAmo5Eg4kYWNjMjc0NTcwNDYwMhoUCgJrMRIOJGFjYzI4NDU3MDQ2MDIaFAoCazISDiRhY2MyOTQ1NzA0NjAyGhQKAmszEg4kYWNjMzA0NTcwNDYwMhoUCgJrNBIOJGFjYzMxNDU3MDQ2MDIaEwoCazUSDWNsYWltZWRSZXdhcmQaFAoCazYSDmZhcm1DZW9GZWVTaXplGg0KAms3Egd0b0Rpc3RyGhgKAms4EhJ0b3RhbEZhcm1pbmdSZXdhcmQaEwoCazkSDWN1cnJlbnRDZW9GZWUaEwoCbDESDWNlb0ZlZU92ZXJhbGwaHAoCbDISFmN1cnJlbnRDZW9Db2xsZWN0ZWRGZWUaDwoCbDMSCWF1Y3Rpb25JZBoOCgJsNBIIZnVuY3Rpb24aDQoCbDUSB2Fzc2V0SWQaGAoCbDYSEmZhcm1pbmdEYXBwQWRkcmVzcxoTCgJsNxINdXN0YWtlZFJld2FyZBoXCgJsOBIRdW5zdGFrZWRSZXdhcmROb3caFwoCbDkSEW5ld1Vuc3Rha2VkUmV3YXJkGgoKAm0xEgR0eElkGggKAm0yEgJ0eBoPCgJtMxIJa1JldmVydGVkGhAKAm00Egp0eFJldmVydGVkGhAKAm01EgptaW5CYWxhbmNlGhcKAm02EhFjdXJyZW50RWdnQmFsYW5jZRoJCgJtNxIDdmFsGg8KAm04EglhZGRyZXNzZXMaEgoCbTkSDGFkZHJlc3NQYWlycxoUCgJuMRIOcHJvY2Vzc0FkZHJlc3MaEQoCbjISC2FkZHJlc3NQYWlyGhIKAm4zEgxhZGRyZXNzUGFydHMaEAoCbjQSCmFkZHJlc3NTdHIaEwoCbjUSDWVnZ2xldHNBbW91bnQaDAoCbjYSBmNoYW5nZRoRCgJuNxILa0FkZHJFYXJuZWQaFQoCbjgSD2FkZHJUb3RhbEVhcm5lZBoUCgJuORIOdG90YWxSZXdhcmROb3caCQoCbzESA3JlcxoMCgJvMhIGcmVzdWx0GhMKAm8zEg0kbGlzdDkyODE5MzI4GhMKAm80Eg0kc2l6ZTkyODE5MzI4GhMKAm81Eg0kYWNjMDkyODE5MzI4GhMKAm82Eg0kYWNjMTkyODE5MzI4GhMKAm83Eg0kYWNjMjkyODE5MzI4GhMKAm84Eg0kYWNjMzkyODE5MzI4GhMKAm85Eg0kYWNjNDkyODE5MzI4GhMKAnAxEg0kYWNjNTkyODE5MzI4GhMKAnAyEg0kYWNjNjkyODE5MzI4GhMKAnAzEg0kYWNjNzkyODE5MzI4GhMKAnA0Eg0kYWNjODkyODE5MzI4GhMKAnA1Eg0kYWNjOTkyODE5MzI4GhQKAnA2Eg4kYWNjMTA5MjgxOTMyOBoUCgJwNxIOJGFjYzExOTI4MTkzMjgaFAoCcDgSDiRhY2MxMjkyODE5MzI4GhQKAnA5Eg4kYWNjMTM5MjgxOTMyOBoUCgJxMRIOJGFjYzE0OTI4MTkzMjgaFAoCcTISDiRhY2MxNTkyODE5MzI4GhQKAnEzEg4kYWNjMTY5MjgxOTMyOBoUCgJxNBIOJGFjYzE3OTI4MTkzMjgaFAoCcTUSDiRhY2MxODkyODE5MzI4GhQKAnE2Eg4kYWNjMTk5MjgxOTMyOBoUCgJxNxIOJGFjYzIwOTI4MTkzMjgaFAoCcTgSDiRhY2MyMTkyODE5MzI4GhQKAnE5Eg4kYWNjMjI5MjgxOTMyOBoUCgJyMRIOJGFjYzIzOTI4MTkzMjgaFAoCcjISDiRhY2MyNDkyODE5MzI4GhQKAnIzEg4kYWNjMjU5MjgxOTMyOBoUCgJyNBIOJGFjYzI2OTI4MTkzMjgaFAoCcjUSDiRhY2MyNzkyODE5MzI4GhQKAnI2Eg4kYWNjMjg5MjgxOTMyOBoUCgJyNxIOJGFjYzI5OTI4MTkzMjgaFAoCcjgSDiRhY2MzMDkyODE5MzI4GhQKAnI5Eg4kYWNjMzE5MjgxOTMyOBoMCgJzMRIGdmVyaWZ5GhIKAnMyEgxjaGVja1N0YXJ0ZWQaFgoCczMSEHRvdGFsRWdnU3BlbmRpbmcaDQoCczQSB3BheW1lbnQaCQoCczUSA2ludhoVCgJzNhIPJGxpc3QxMDY1NzEwNjk5GhUKAnM3Eg8kc2l6ZTEwNjU3MTA2OTkaFQoCczgSDyRhY2MwMTA2NTcxMDY5ORoVCgJzORIPJGFjYzExMDY1NzEwNjk5GhUKAnQxEg8kYWNjMjEwNjU3MTA2OTkaFQoCdDISDyRhY2MzMTA2NTcxMDY5ORoVCgJ0MxIPJGFjYzQxMDY1NzEwNjk5GhYKAnQ0EhBhbGxvd2VkQ29udHJhY3RzGhoKAnQ1EhRhbGxvd2VkQ29udHJhY3Rz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BQAAAAJoOQQAAAACaTEJAQAAAAJmOQAAAAIFAAAAAmg5CQABkQAAAAIFAAAAAmc3AAAAAAAAAAAJAwkAAAAAAAACBQAAAAJnOAAAAAAAAAAACgUAAAACaTEEAAAAAmkyCQEAAAACZjkAAAACBQAAAAJpMQkAAZEAAAACBQAAAAJnNwAAAAAAAAAACgMJAAAAAAAAAgUAAAACZzgAAAAAAAAAAAsFAAAAAmkyBAAAAAJpMwkBAAAAAmY5AAAAAgUAAAACaTIJAAGRAAAAAgUAAAACZzcAAAAAAAAAAAsDCQAAAAAAAAIFAAAAAmc4AAAAAAAAAAAMBQAAAAJpMwQAAAACaTQJAQAAAAJmOQAAAAIFAAAAAmkzCQABkQAAAAIFAAAAAmc3AAAAAAAAAAAMAwkAAAAAAAACBQAAAAJnOAAAAAAAAAAADQUAAAACaTQEAAAAAmk1CQEAAAACZjkAAAACBQAAAAJpNAkAAZEAAAACBQAAAAJnNwAAAAAAAAAADQMJAAAAAAAAAgUAAAACZzgAAAAAAAAAAA4FAAAAAmk1BAAAAAJpNgkBAAAAAmY5AAAAAgUAAAACaTUJAAGRAAAAAgUAAAACZzcAAAAAAAAAAA4DCQAAAAAAAAIFAAAAAmc4AAAAAAAAAAAPBQAAAAJpNgQAAAACaTcJAQAAAAJmOQAAAAIFAAAAAmk2CQABkQAAAAIFAAAAAmc3AAAAAAAAAAAPAwkAAAAAAAACBQAAAAJnOAAAAAAAAAAAEAUAAAACaTcEAAAAAmk4CQEAAAACZjkAAAACBQAAAAJpNwkAAZEAAAACBQAAAAJnNwAAAAAAAAAAEAMJAAAAAAAAAgUAAAACZzgAAAAAAAAAABEFAAAAAmk4BAAAAAJpOQkBAAAAAmY5AAAAAgUAAAACaTgJAAGRAAAAAgUAAAACZzcAAAAAAAAAABEDCQAAAAAAAAIFAAAAAmc4AAAAAAAAAAASBQAAAAJpOQQAAAACajEJAQAAAAJmOQAAAAIFAAAAAmk5CQABkQAAAAIFAAAAAmc3AAAAAAAAAAASAwkAAAAAAAACBQAAAAJnOAAAAAAAAAAAEwUAAAACajEEAAAAAmoyCQEAAAACZjkAAAACBQAAAAJqMQkAAZEAAAACBQAAAAJnNwAAAAAAAAAAEwMJAAAAAAAAAgUAAAACZzgAAAAAAAAA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AAAAAgUAAAACcDMJAAGRAAAAAgUAAAACbzMAAAAAAAAAAAcDCQAAAAAAAAIFAAAAAm80AAAAAAAAAAAIBQAAAAJwNAQAAAACcDUJAQAAAAJuMQAAAAIFAAAAAnA0CQABkQAAAAIFAAAAAm8zAAAAAAAAAAAIAwkAAAAAAAACBQAAAAJvNAAAAAAAAAAACQUAAAACcDUEAAAAAnA2CQEAAAACbjEAAAACBQAAAAJwNQkAAZEAAAACBQAAAAJvMwAAAAAAAAAACQMJAAAAAAAAAgUAAAACbzQAAAAAAAAAAAoFAAAAAnA2BAAAAAJwNwkBAAAAAm4xAAAAAgUAAAACcDYJAAGRAAAAAgUAAAACbzMAAAAAAAAAAAoDCQAAAAAAAAIFAAAAAm80AAAAAAAAAAALBQAAAAJwNwQAAAACcDgJAQAAAAJuMQAAAAIFAAAAAnA3CQABkQAAAAIFAAAAAm8zAAAAAAAAAAALAwkAAAAAAAACBQAAAAJvNAAAAAAAAAAADAUAAAACcDgEAAAAAnA5CQEAAAACbjEAAAACBQAAAAJwOAkAAZEAAAACBQAAAAJvMwAAAAAAAAAADAMJAAAAAAAAAgUAAAACbzQAAAAAAAAAAA0FAAAAAnA5BAAAAAJxMQkBAAAAAm4xAAAAAgUAAAACcDkJAAGRAAAAAgUAAAACbzMAAAAAAAAAAA0DCQAAAAAAAAIFAAAAAm80AAAAAAAAAAAOBQAAAAJxMQQAAAACcTIJAQAAAAJuMQAAAAIFAAAAAnExCQABkQAAAAIFAAAAAm8zAAAAAAAAAAAOAwkAAAAAAAACBQAAAAJvNAAAAAAAAAAADwUAAAACcTIEAAAAAnEzCQEAAAACbjEAAAACBQAAAAJxMgkAAZEAAAACBQAAAAJvMwAAAAAAAAAADwMJAAAAAAAAAgUAAAACbzQAAAAAAAAAABAFAAAAAnEzBAAAAAJxNAkBAAAAAm4xAAAAAgUAAAACcTMJAAGRAAAAAgUAAAACbzMAAAAAAAAAABADCQAAAAAAAAIFAAAAAm80AAAAAAAAAAARBQAAAAJxNAQAAAACcTUJAQAAAAJuMQAAAAIFAAAAAnE0CQABkQAAAAIFAAAAAm8zAAAAAAAAAAARAwkAAAAAAAACBQAAAAJvNAAAAAAAAAAAEgUAAAACcTUEAAAAAnE2CQEAAAAC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", "height": 2745216, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: AAWcbt3qFdUoc8MveyfjNxXomdCfYaeWKkBoRZegYTLk Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let mAccPKey = base58'23NWm7kUDQqbTVkirjd5JXWRZaWVoS4ZesmRNHicBa3T'
5+
6+let mAccAddr = addressFromPublicKey(mAccPKey)
7+
8+let feePercent = getIntegerValue(mAccAddr, (("f_" + toString(this)) + "_fee"))
9+
10+let kTotalLiquidity = "total_liquidity"
11+
12+let kInitialized = "INITIALIZED"
13+
14+let kLiquidityThreshold = "LIQUIDITY_THRESHOLD"
15+
16+let kFarmParticipants = "farm_participants"
17+
18+let kTotalShareTokens = "total_share_tokens"
19+
20+let kShareAssetId = "SHARE_ASSET_ID"
21+
22+let kIncubatorDapp = "INCUBATOR_DAPP"
23+
24+let kBreederDapp = "BREEDER_DAPP"
25+
26+let kFarmingDapp = "FARMING_DAPP"
27+
28+let kMarketProxyDapp = "MARKETPLACE_PROXY_DAPP"
29+
30+let kAuctionDapp = "AUCTION_DAPP"
31+
32+let kLocked = "LOCKED"
33+
34+let kTotalFarmingReward = "total_farming_reward"
35+
36+let kCeoCollectedFee = "ceo_collected_fee"
37+
38+let kCeoCollectedFeeOverall = "ceo_fee_overall"
39+
40+let kToDistr = "to_distribute"
41+
42+let kUnstakedReward = "unstaked_reward"
43+
44+func getInt (key) = match getInteger(this, key) {
45+ case b: Int =>
46+ b
47+ case _ =>
48+ 0
49+}
50+
51+
52+func getStr (key) = match getString(this, key) {
53+ case b: String =>
54+ b
55+ case _ =>
56+ ""
57+}
58+
59+
60+func getBool (key) = match getBoolean(this, key) {
61+ case b: Boolean =>
62+ b
63+ case _ =>
64+ unit
65+}
66+
67+
68+func getStrA (a,k) = match getString(a, k) {
69+ case b: String =>
70+ b
71+ case _ =>
72+ ""
73+}
74+
75+
76+func getIntA (address,key) = match getInteger(address, key) {
77+ case b: Int =>
78+ b
79+ case _ =>
80+ 0
81+}
82+
83+
84+func getMarketProxyAddr () = getStrA(mAccAddr, kMarketProxyDapp)
85+
86+
87+func getEggId () = fromBase58String(getStringValue(mAccAddr, "EGG_ASSET_ID"))
88+
89+
90+func getShareAssetId () = fromBase58String(getStr(kShareAssetId))
91+
92+
93+@Callable(i)
94+func initCollectiveFarm (name,minimumThreshold) = if ((i.callerPublicKey != mAccPKey))
95+ then throw("_1")
96+ else if ((getBool(kInitialized) != unit))
97+ then throw("_2")
98+ else if (if ((i.payments[0].amount != 10))
99+ then true
100+ else (i.payments[0].assetId != getEggId()))
101+ then throw("_20")
102+ else {
103+ let shareTokens = 10000000
104+ let shareToken = Issue(name, (("Share token for the \"" + name) + "\" collective farm"), shareTokens, 8, true)
105+[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)]
106+ }
107+
108+
109+
110+@Callable(i)
111+func setLock (s) = if ((i.callerPublicKey != mAccPKey))
112+ then throw("_21")
113+ else [BooleanEntry(kLocked, s)]
114+
115+
116+
117+@Callable(i)
118+func provideLiquidity () = {
119+ let eggAssetId = getEggId()
120+ if ((getBool(kLocked) == true))
121+ then throw("_22")
122+ else if ((i.payments[0].assetId != eggAssetId))
123+ then throw("_4")
124+ else {
125+ let totalLiquidity = getInt(kTotalLiquidity)
126+ let totalShareTokens = getInt(kTotalShareTokens)
127+ let currentLiquidityAmount = i.payments[0].amount
128+ let shareTokensToGive = (currentLiquidityAmount * 1000000)
129+ let shareTokensId = fromBase58String(getStr(kShareAssetId))
130+ let reissue = Reissue(getShareAssetId(), shareTokensToGive, true)
131+ let farmParticipants = getInt(kFarmParticipants)
132+ let kParticipated = (("account_" + toString(i.caller)) + "_participated")
133+ let alreadyParticipated = getBool(kParticipated)
134+ let newFarmParticipants = if ((alreadyParticipated == unit))
135+ then (farmParticipants + 1)
136+ else farmParticipants
137+[reissue, ScriptTransfer(i.caller, shareTokensToGive, shareTokensId), IntegerEntry(kTotalShareTokens, (totalShareTokens + shareTokensToGive)), IntegerEntry(kTotalLiquidity, (totalLiquidity + value(i.payments[0].amount))), IntegerEntry(kFarmParticipants, newFarmParticipants), BooleanEntry(kParticipated, true)]
138+ }
139+ }
140+
141+
142+
143+@Callable(i)
144+func claimFarmingRewardProxy (ids) = if ((i.callerPublicKey != mAccPKey))
145+ then throw("_23")
146+ else {
147+ let farmingDapp = addressFromStringValue(getStrA(mAccAddr, kFarmingDapp))
148+ func claimReward (accum,nftId) = {
149+ let invRes = invoke(farmingDapp, "claimReward", [nftId], nil)
150+ if ((invRes == invRes))
151+ then match invRes {
152+ case int: Int =>
153+ (accum + int)
154+ case _ =>
155+ throw("_5")
156+ }
157+ else throw("Strict value is not equal to itself.")
158+ }
159+
160+ let nftIds = split(ids, ";")
161+ let foldResult = {
162+ let $list45704602 = nftIds
163+ let $size45704602 = size($list45704602)
164+ let $acc045704602 = 0
165+ if (($size45704602 == 0))
166+ then $acc045704602
167+ else {
168+ let $acc145704602 = claimReward($acc045704602, $list45704602[0])
169+ if (($size45704602 == 1))
170+ then $acc145704602
171+ else {
172+ let $acc245704602 = claimReward($acc145704602, $list45704602[1])
173+ if (($size45704602 == 2))
174+ then $acc245704602
175+ else {
176+ let $acc345704602 = claimReward($acc245704602, $list45704602[2])
177+ if (($size45704602 == 3))
178+ then $acc345704602
179+ else {
180+ let $acc445704602 = claimReward($acc345704602, $list45704602[3])
181+ if (($size45704602 == 4))
182+ then $acc445704602
183+ else {
184+ let $acc545704602 = claimReward($acc445704602, $list45704602[4])
185+ if (($size45704602 == 5))
186+ then $acc545704602
187+ else {
188+ let $acc645704602 = claimReward($acc545704602, $list45704602[5])
189+ if (($size45704602 == 6))
190+ then $acc645704602
191+ else {
192+ let $acc745704602 = claimReward($acc645704602, $list45704602[6])
193+ if (($size45704602 == 7))
194+ then $acc745704602
195+ else {
196+ let $acc845704602 = claimReward($acc745704602, $list45704602[7])
197+ if (($size45704602 == 8))
198+ then $acc845704602
199+ else {
200+ let $acc945704602 = claimReward($acc845704602, $list45704602[8])
201+ if (($size45704602 == 9))
202+ then $acc945704602
203+ else {
204+ let $acc1045704602 = claimReward($acc945704602, $list45704602[9])
205+ if (($size45704602 == 10))
206+ then $acc1045704602
207+ else {
208+ let $acc1145704602 = claimReward($acc1045704602, $list45704602[10])
209+ if (($size45704602 == 11))
210+ then $acc1145704602
211+ else {
212+ let $acc1245704602 = claimReward($acc1145704602, $list45704602[11])
213+ if (($size45704602 == 12))
214+ then $acc1245704602
215+ else {
216+ let $acc1345704602 = claimReward($acc1245704602, $list45704602[12])
217+ if (($size45704602 == 13))
218+ then $acc1345704602
219+ else {
220+ let $acc1445704602 = claimReward($acc1345704602, $list45704602[13])
221+ if (($size45704602 == 14))
222+ then $acc1445704602
223+ else {
224+ let $acc1545704602 = claimReward($acc1445704602, $list45704602[14])
225+ if (($size45704602 == 15))
226+ then $acc1545704602
227+ else {
228+ let $acc1645704602 = claimReward($acc1545704602, $list45704602[15])
229+ if (($size45704602 == 16))
230+ then $acc1645704602
231+ else {
232+ let $acc1745704602 = claimReward($acc1645704602, $list45704602[16])
233+ if (($size45704602 == 17))
234+ then $acc1745704602
235+ else {
236+ let $acc1845704602 = claimReward($acc1745704602, $list45704602[17])
237+ if (($size45704602 == 18))
238+ then $acc1845704602
239+ else {
240+ let $acc1945704602 = claimReward($acc1845704602, $list45704602[18])
241+ if (($size45704602 == 19))
242+ then $acc1945704602
243+ else {
244+ let $acc2045704602 = claimReward($acc1945704602, $list45704602[19])
245+ if (($size45704602 == 20))
246+ then $acc2045704602
247+ else {
248+ let $acc2145704602 = claimReward($acc2045704602, $list45704602[20])
249+ if (($size45704602 == 21))
250+ then $acc2145704602
251+ else {
252+ let $acc2245704602 = claimReward($acc2145704602, $list45704602[21])
253+ if (($size45704602 == 22))
254+ then $acc2245704602
255+ else {
256+ let $acc2345704602 = claimReward($acc2245704602, $list45704602[22])
257+ if (($size45704602 == 23))
258+ then $acc2345704602
259+ else {
260+ let $acc2445704602 = claimReward($acc2345704602, $list45704602[23])
261+ if (($size45704602 == 24))
262+ then $acc2445704602
263+ else {
264+ let $acc2545704602 = claimReward($acc2445704602, $list45704602[24])
265+ if (($size45704602 == 25))
266+ then $acc2545704602
267+ else {
268+ let $acc2645704602 = claimReward($acc2545704602, $list45704602[25])
269+ if (($size45704602 == 26))
270+ then $acc2645704602
271+ else {
272+ let $acc2745704602 = claimReward($acc2645704602, $list45704602[26])
273+ if (($size45704602 == 27))
274+ then $acc2745704602
275+ else {
276+ let $acc2845704602 = claimReward($acc2745704602, $list45704602[27])
277+ if (($size45704602 == 28))
278+ then $acc2845704602
279+ else {
280+ let $acc2945704602 = claimReward($acc2845704602, $list45704602[28])
281+ if (($size45704602 == 29))
282+ then $acc2945704602
283+ else {
284+ let $acc3045704602 = claimReward($acc2945704602, $list45704602[29])
285+ if (($size45704602 == 30))
286+ then $acc3045704602
287+ else {
288+ let $acc3145704602 = claimReward($acc3045704602, $list45704602[30])
289+ throw("List size exceed 30")
290+ }
291+ }
292+ }
293+ }
294+ }
295+ }
296+ }
297+ }
298+ }
299+ }
300+ }
301+ }
302+ }
303+ }
304+ }
305+ }
306+ }
307+ }
308+ }
309+ }
310+ }
311+ }
312+ }
313+ }
314+ }
315+ }
316+ }
317+ }
318+ }
319+ }
320+ }
321+ }
322+ let claimedReward = match foldResult {
323+ case int: Int =>
324+ int
325+ case _ =>
326+ throw("_6")
327+ }
328+ let farmCeoFeeSize = fraction((claimedReward * 1000000), feePercent, 100)
329+ let toDistr = getInt(kToDistr)
330+ let totalFarmingReward = getInt(kTotalFarmingReward)
331+ let currentCeoFee = getInt(kCeoCollectedFee)
332+ let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
333+[IntegerEntry(kTotalFarmingReward, ((totalFarmingReward + claimedReward) - farmCeoFeeSize)), IntegerEntry(kToDistr, ((toDistr + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
334+ }
335+
336+
337+
338+@Callable(i)
339+func claimCeoFee (address) = if ((getBool(kLocked) == true))
340+ then throw("_22")
341+ else if ((i.caller == this))
342+ then {
343+ let currentCeoCollectedFee = getInt(kCeoCollectedFee)
344+[ScriptTransfer(addressFromStringValue(address), (currentCeoCollectedFee / 1000000), getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
345+ }
346+ else throw("_8")
347+
348+
349+
350+@Callable(i)
351+func startLiquidation (auctionId) = throw("_7")
352+
353+
354+
355+@Callable(i)
356+func voteForLiquidation (auctionId) = throw("_7")
357+
358+
359+
360+@Callable(i)
361+func callUnstakeProxy (function,assetId) = if ((getBool(kLocked) == true))
362+ then throw("Contract is locked now")
363+ else if (if ((function != "unstakeNFT"))
364+ then (function != "unstakeJackpot")
365+ else false)
366+ then throw("Bad function name")
367+ else if ((i.caller != this))
368+ then throw("Can be called only by the account")
369+ else {
370+ let farmingDappAddress = addressFromStringValue(getStrA(mAccAddr, "FARMING_DAPP"))
371+ let ustakedReward = invoke(farmingDappAddress, function, [assetId], nil)
372+ if ((ustakedReward == ustakedReward))
373+ then {
374+ let unstakedRewardNow = getInt(kUnstakedReward)
375+ let newUnstakedReward = match ustakedReward {
376+ case int: Int =>
377+ (unstakedRewardNow + int)
378+ case _ =>
379+ throw("Error during unstaking")
380+ }
381+ let currentCeoFee = getInt(kCeoCollectedFee)
382+ let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
383+ let farmCeoFeeSize = fraction((unstakedRewardNow * 1000000), feePercent, 100)
384+[IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize)), IntegerEntry(kUnstakedReward, newUnstakedReward)]
385+ }
386+ else throw("Strict value is not equal to itself.")
387+ }
388+
389+
390+
391+@Callable(i)
392+func revertTransfer (txId) = if ((getBool(kLocked) == true))
393+ then throw("Contract is locked now")
394+ else if ((i.caller != this))
395+ then throw("Can be called only by the account")
396+ else {
397+ let tx = value(transferTransactionById(fromBase58String(txId)))
398+ let kReverted = ("tx_revert_" + txId)
399+ let txReverted = getBool(kReverted)
400+ let unstakedRewardNow = getInt(kUnstakedReward)
401+ let toDistr = getInt(kToDistr)
402+ let minBalance = (unstakedRewardNow + toDistr)
403+ let currentEggBalance = assetBalance(this, getEggId())
404+ if ((txReverted == true))
405+ then throw("Tx already reverted")
406+ else if ((tx.recipient != this))
407+ then throw("Tx recipient is another account")
408+ else if ((tx.assetId != getEggId()))
409+ then throw("Transaction is not with EGG tokens")
410+ else if ((minBalance > (currentEggBalance - tx.amount)))
411+ then throw("Revert makes balance too low")
412+ else [ScriptTransfer(tx.sender, tx.amount, tx.assetId), BooleanEntry(kReverted, true)]
413+ }
414+
415+
416+
417+@Callable(i)
418+func setUnstakedReward (val) = if ((i.caller != mAccAddr))
419+ then throw("Method can be called only by master account")
420+ else [IntegerEntry(kUnstakedReward, val)]
421+
422+
423+
424+@Callable(i)
425+func distributeRewards (addresses) = if ((i.caller != mAccAddr))
426+ then throw("Method can be called only by master account")
427+ else {
428+ let addressPairs = split(addresses, ";")
429+ func processAddress (accum,addressPair) = {
430+ let addressParts = split(addressPair, "=")
431+ let addressStr = addressParts[0]
432+ let address = addressFromStringValue(addressStr)
433+ let eggletsAmount = parseIntValue(addressParts[1])
434+ let change = parseIntValue(addressParts[2])
435+ let kAddrEarned = (("address_" + addressStr) + "_total_earned")
436+ let addrTotalEarned = getInt(kAddrEarned)
437+ let totalRewardNow = ((eggletsAmount * 1000000) + change)
438+ let res = [IntegerEntry((("address_" + addressStr) + "_change"), change), IntegerEntry(kAddrEarned, (addrTotalEarned + totalRewardNow))]
439+ if ((eggletsAmount > 0))
440+ then $Tuple2((accum._1 + eggletsAmount), ((accum._2 ++ res) ++ [ScriptTransfer(address, eggletsAmount, getEggId())]))
441+ else $Tuple2(accum._1, (accum._2 ++ res))
442+ }
443+
444+ let result = {
445+ let $list92819328 = addressPairs
446+ let $size92819328 = size($list92819328)
447+ let $acc092819328 = $Tuple2(0, nil)
448+ if (($size92819328 == 0))
449+ then $acc092819328
450+ else {
451+ let $acc192819328 = processAddress($acc092819328, $list92819328[0])
452+ if (($size92819328 == 1))
453+ then $acc192819328
454+ else {
455+ let $acc292819328 = processAddress($acc192819328, $list92819328[1])
456+ if (($size92819328 == 2))
457+ then $acc292819328
458+ else {
459+ let $acc392819328 = processAddress($acc292819328, $list92819328[2])
460+ if (($size92819328 == 3))
461+ then $acc392819328
462+ else {
463+ let $acc492819328 = processAddress($acc392819328, $list92819328[3])
464+ if (($size92819328 == 4))
465+ then $acc492819328
466+ else {
467+ let $acc592819328 = processAddress($acc492819328, $list92819328[4])
468+ if (($size92819328 == 5))
469+ then $acc592819328
470+ else {
471+ let $acc692819328 = processAddress($acc592819328, $list92819328[5])
472+ if (($size92819328 == 6))
473+ then $acc692819328
474+ else {
475+ let $acc792819328 = processAddress($acc692819328, $list92819328[6])
476+ if (($size92819328 == 7))
477+ then $acc792819328
478+ else {
479+ let $acc892819328 = processAddress($acc792819328, $list92819328[7])
480+ if (($size92819328 == 8))
481+ then $acc892819328
482+ else {
483+ let $acc992819328 = processAddress($acc892819328, $list92819328[8])
484+ if (($size92819328 == 9))
485+ then $acc992819328
486+ else {
487+ let $acc1092819328 = processAddress($acc992819328, $list92819328[9])
488+ if (($size92819328 == 10))
489+ then $acc1092819328
490+ else {
491+ let $acc1192819328 = processAddress($acc1092819328, $list92819328[10])
492+ if (($size92819328 == 11))
493+ then $acc1192819328
494+ else {
495+ let $acc1292819328 = processAddress($acc1192819328, $list92819328[11])
496+ if (($size92819328 == 12))
497+ then $acc1292819328
498+ else {
499+ let $acc1392819328 = processAddress($acc1292819328, $list92819328[12])
500+ if (($size92819328 == 13))
501+ then $acc1392819328
502+ else {
503+ let $acc1492819328 = processAddress($acc1392819328, $list92819328[13])
504+ if (($size92819328 == 14))
505+ then $acc1492819328
506+ else {
507+ let $acc1592819328 = processAddress($acc1492819328, $list92819328[14])
508+ if (($size92819328 == 15))
509+ then $acc1592819328
510+ else {
511+ let $acc1692819328 = processAddress($acc1592819328, $list92819328[15])
512+ if (($size92819328 == 16))
513+ then $acc1692819328
514+ else {
515+ let $acc1792819328 = processAddress($acc1692819328, $list92819328[16])
516+ if (($size92819328 == 17))
517+ then $acc1792819328
518+ else {
519+ let $acc1892819328 = processAddress($acc1792819328, $list92819328[17])
520+ if (($size92819328 == 18))
521+ then $acc1892819328
522+ else {
523+ let $acc1992819328 = processAddress($acc1892819328, $list92819328[18])
524+ if (($size92819328 == 19))
525+ then $acc1992819328
526+ else {
527+ let $acc2092819328 = processAddress($acc1992819328, $list92819328[19])
528+ if (($size92819328 == 20))
529+ then $acc2092819328
530+ else {
531+ let $acc2192819328 = processAddress($acc2092819328, $list92819328[20])
532+ if (($size92819328 == 21))
533+ then $acc2192819328
534+ else {
535+ let $acc2292819328 = processAddress($acc2192819328, $list92819328[21])
536+ if (($size92819328 == 22))
537+ then $acc2292819328
538+ else {
539+ let $acc2392819328 = processAddress($acc2292819328, $list92819328[22])
540+ if (($size92819328 == 23))
541+ then $acc2392819328
542+ else {
543+ let $acc2492819328 = processAddress($acc2392819328, $list92819328[23])
544+ if (($size92819328 == 24))
545+ then $acc2492819328
546+ else {
547+ let $acc2592819328 = processAddress($acc2492819328, $list92819328[24])
548+ if (($size92819328 == 25))
549+ then $acc2592819328
550+ else {
551+ let $acc2692819328 = processAddress($acc2592819328, $list92819328[25])
552+ if (($size92819328 == 26))
553+ then $acc2692819328
554+ else {
555+ let $acc2792819328 = processAddress($acc2692819328, $list92819328[26])
556+ if (($size92819328 == 27))
557+ then $acc2792819328
558+ else {
559+ let $acc2892819328 = processAddress($acc2792819328, $list92819328[27])
560+ if (($size92819328 == 28))
561+ then $acc2892819328
562+ else {
563+ let $acc2992819328 = processAddress($acc2892819328, $list92819328[28])
564+ if (($size92819328 == 29))
565+ then $acc2992819328
566+ else {
567+ let $acc3092819328 = processAddress($acc2992819328, $list92819328[29])
568+ if (($size92819328 == 30))
569+ then $acc3092819328
570+ else {
571+ let $acc3192819328 = processAddress($acc3092819328, $list92819328[30])
572+ throw("List size exceed 30")
573+ }
574+ }
575+ }
576+ }
577+ }
578+ }
579+ }
580+ }
581+ }
582+ }
583+ }
584+ }
585+ }
586+ }
587+ }
588+ }
589+ }
590+ }
591+ }
592+ }
593+ }
594+ }
595+ }
596+ }
597+ }
598+ }
599+ }
600+ }
601+ }
602+ }
603+ }
604+ }
605+ let toDistr = getInt(kToDistr)
606+ (result._2 ++ [IntegerEntry(kToDistr, (toDistr - result._1)), IntegerEntry(kUnstakedReward, 0)])
607+ }
608+
609+
610+@Verifier(tx)
611+func verify () = {
612+ let checkStarted = (getInt(kTotalLiquidity) >= getInt(kLiquidityThreshold))
613+ func totalEggSpending (accum,payment) = if ((payment.assetId == getEggId()))
614+ then (accum + payment.amount)
615+ else accum
616+
617+ match tx {
618+ case inv: InvokeScriptTransaction =>
619+ let unstakedRewardNow = getInt(kUnstakedReward)
620+ let toDistr = getInt(kToDistr)
621+ let minBalance = (unstakedRewardNow + toDistr)
622+ if (if ((inv.function == "unstakeNFT"))
623+ then true
624+ else (inv.function == "unstakeJackpot"))
625+ then throw("You cannot call these functions directly")
626+ else if ((sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) == false))
627+ then throw("_100")
628+ else if ((checkStarted == false))
629+ then throw("_14")
630+ else if ((getBool(kLocked) == true))
631+ then throw("_22")
632+ else if (if ((inv.fee > 900000))
633+ then true
634+ else (inv.feeAssetId != unit))
635+ then throw("_15")
636+ else if ((inv.function == "claimReward"))
637+ then throw("_16")
638+ else if ((size(inv.payments) > 2))
639+ then throw("_17")
640+ else if ((minBalance > (assetBalance(this, getEggId()) - {
641+ let $list1065710699 = inv.payments
642+ let $size1065710699 = size($list1065710699)
643+ let $acc01065710699 = 0
644+ if (($size1065710699 == 0))
645+ then $acc01065710699
646+ else {
647+ let $acc11065710699 = totalEggSpending($acc01065710699, $list1065710699[0])
648+ if (($size1065710699 == 1))
649+ then $acc11065710699
650+ else {
651+ let $acc21065710699 = totalEggSpending($acc11065710699, $list1065710699[1])
652+ if (($size1065710699 == 2))
653+ then $acc21065710699
654+ else {
655+ let $acc31065710699 = totalEggSpending($acc21065710699, $list1065710699[2])
656+ if (($size1065710699 == 3))
657+ then $acc31065710699
658+ else {
659+ let $acc41065710699 = totalEggSpending($acc31065710699, $list1065710699[3])
660+ throw("List size exceed 3")
661+ }
662+ }
663+ }
664+ }
665+ })))
666+ then throw(("Your minimal balance should be = " + toString(minBalance)))
667+ else if (if ((addressFromRecipient(inv.dApp) == this))
668+ then (inv.function == "callUnstakeProxy")
669+ else false)
670+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
671+ else if (if ((addressFromRecipient(inv.dApp) == this))
672+ then (inv.function == "revertTransfer")
673+ else false)
674+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
675+ else if (if ((addressFromRecipient(inv.dApp) == this))
676+ then (inv.function == "claimCeoFee")
677+ else false)
678+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
679+ else if (if ((addressFromRecipient(inv.dApp) == addressFromStringValue(getMarketProxyAddr())))
680+ then (inv.function == "callMarketplaceProxy")
681+ else false)
682+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
683+ else {
684+ let allowedContracts = getStrA(mAccAddr, "allowed_contracts")
685+ let allowedContractsList = split(allowedContracts, ";")
686+ let dappToCall = toString(addressFromRecipient(inv.dApp))
687+ (indexOf(allowedContractsList, dappToCall) != unit)
688+ }
689+ case ss: SetScriptTransaction =>
690+ sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
691+ case _ =>
692+ false
693+ }
694+ }
695+

github/deemru/w8io/3ef1775 
71.34 ms