tx · 8rPAEKywrzqedvb4LCszpqC1qahccEVcoVAvgDyQKnBg

3P44XfDQSLFCiuWUT748gkjG4KnVqvV9Mtd:  -0.01000000 Waves

2021.08.29 18:11 [2744704] smart account 3P44XfDQSLFCiuWUT748gkjG4KnVqvV9Mtd > SELF 0.00000000 Waves

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

github/deemru/w8io/6500d08 
66.03 ms