tx · CGSXtvT6fsPZgg8n2LNr1qVeqNkJfYAt9hu8vAJwni75

3P45m68i8qZMFtsUvGHm5mZ9dxwoFuqDags:  -0.01400000 Waves

2021.09.16 00:43 [2769648] smart account 3P45m68i8qZMFtsUvGHm5mZ9dxwoFuqDags > SELF 0.00000000 Waves

{ "type": 13, "id": "CGSXtvT6fsPZgg8n2LNr1qVeqNkJfYAt9hu8vAJwni75", "fee": 1400000, "feeAssetId": null, "timestamp": 1631742264387, "version": 2, "chainId": 87, "sender": "3P45m68i8qZMFtsUvGHm5mZ9dxwoFuqDags", "senderPublicKey": "FVDFmQwA6nVZNRPwU7m2iyq5WRwnxXsRMdnUJQbBiwvT", "proofs": [ "2xTfaDo3bbMHtEsChrL4jk5dSjL6ihXGXA44Q4sGrxLQqdbHgmaPVE7bTbz4n36ngdkNHh8s4E1vE76B92jQg5R4" ], "script": "base64:AAIFAAAAAAAADoQIAhIECgIIARIDCgEEEgASABIAEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAgSAwoBCBIECgIIARIAEgMKAQgaDgoCYTESCG1BY2NQS2V5Gg4KAmEyEghtQWNjQWRkchoQCgJhMxIKZmVlUGVyY2VudBoTCgJhNBINb2xkRWdnQXNzZXRJZBoYCgJhNRISc3dhcEVnZ0RhcHBBZGRyZXNzGhUKAmE2Eg9rVG90YWxMaXF1aWRpdHkaEgoCYTcSDGtJbml0aWFsaXplZBoZCgJhOBITa0xpcXVpZGl0eVRocmVzaG9sZBoXCgJhORIRa0Zhcm1QYXJ0aWNpcGFudHMaFwoCYjESEWtUb3RhbFNoYXJlVG9rZW5zGhMKAmIyEg1rU2hhcmVBc3NldElkGhIKAmIzEgxrRmFybWluZ0RhcHAaFgoCYjQSEGtNYXJrZXRQcm94eURhcHAaDQoCYjUSB2tMb2NrZWQaGQoCYjYSE2tUb3RhbEZhcm1pbmdSZXdhcmQaFgoCYjcSEGtDZW9Db2xsZWN0ZWRGZWUaHQoCYjgSF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsGg4KAmI5EghrVG9EaXN0choVCgJjMRIPa1Vuc3Rha2VkUmV3YXJkGhgKAmMyEhJrTG9ja2VkSW52ZXN0bWVudHMaDAoCYzMSBmdldEludBoJCgJjNBIDa2V5Gg0KAmM1EgckbWF0Y2gwGgcKAmM2EgFiGgwKAmM3EgZnZXRTdHIaDQoCYzgSB2dldEJvb2waDQoCYzkSB2dldFN0ckEaBwoCZDESAWEaBwoCZDISAWsaGAoCZDMSEmdldE1hcmtldFByb3h5QWRkchoOCgJkNBIIZ2V0RWdnSWQaFQoCZDUSD2dldFNoYXJlQXNzZXRJZBoHCgJkNhIBaRoKCgJkNxIEbmFtZRoWCgJkOBIQbWluaW11bVRocmVzaG9sZBoRCgJkORILc2hhcmVUb2tlbnMaEAoCZTESCnNoYXJlVG9rZW4aBwoCZTISAXMaEAoCZTMSCmVnZ0Fzc2V0SWQaFAoCZTQSDnRvdGFsTGlxdWlkaXR5GhYKAmU1EhB0b3RhbFNoYXJlVG9rZW5zGhwKAmU2EhZjdXJyZW50TGlxdWlkaXR5QW1vdW50GhcKAmU3EhFzaGFyZVRva2Vuc1RvR2l2ZRoTCgJlOBINc2hhcmVUb2tlbnNJZBoNCgJlORIHcmVpc3N1ZRoWCgJmMRIQZmFybVBhcnRpY2lwYW50cxoTCgJmMhINa1BhcnRpY2lwYXRlZBoZCgJmMxITYWxyZWFkeVBhcnRpY2lwYXRlZBoZCgJmNBITbmV3RmFybVBhcnRpY2lwYW50cxoJCgJmNRIDaWRzGhEKAmY2EgtmYXJtaW5nRGFwcBoRCgJmNxILY2xhaW1SZXdhcmQaCwoCZjgSBWFjY3VtGgsKAmY5EgVuZnRJZBoMCgJnMRIGaW52UmVzGgkKAmcyEgNpbnQaDAoCZzMSBm5mdElkcxoQCgJnNBIKZm9sZFJlc3VsdBoTCgJnNRINJGxpc3Q1NzIwNTc1MhoTCgJnNhINJHNpemU1NzIwNTc1MhoTCgJnNxINJGFjYzA1NzIwNTc1MhoTCgJnOBINJGFjYzE1NzIwNTc1MhoTCgJnORINJGFjYzI1NzIwNTc1MhoTCgJoMRINJGFjYzM1NzIwNTc1MhoTCgJoMhINJGFjYzQ1NzIwNTc1MhoTCgJoMxINJGFjYzU1NzIwNTc1MhoTCgJoNBINJGFjYzY1NzIwNTc1MhoTCgJoNRINJGFjYzc1NzIwNTc1MhoTCgJoNhINJGFjYzg1NzIwNTc1MhoTCgJoNxINJGFjYzk1NzIwNTc1MhoUCgJoOBIOJGFjYzEwNTcyMDU3NTIaFAoCaDkSDiRhY2MxMTU3MjA1NzUyGhMKAmkxEg1jbGFpbWVkUmV3YXJkGhQKAmkyEg5mYXJtQ2VvRmVlU2l6ZRoNCgJpMxIHdG9EaXN0choYCgJpNBISdG90YWxGYXJtaW5nUmV3YXJkGhMKAmk1Eg1jdXJyZW50Q2VvRmVlGhMKAmk2Eg1jZW9GZWVPdmVyYWxsGg0KAmk3EgdhZGRyZXNzGhwKAmk4EhZjdXJyZW50Q2VvQ29sbGVjdGVkRmVlGg8KAmk5EglhdWN0aW9uSWQaDgoCajESCGZ1bmN0aW9uGg0KAmoyEgdhc3NldElkGhgKAmozEhJmYXJtaW5nRGFwcEFkZHJlc3MaEwoCajQSDXVzdGFrZWRSZXdhcmQaFwoCajUSEXVuc3Rha2VkUmV3YXJkTm93GhcKAmo2EhFuZXdVbnN0YWtlZFJld2FyZBoKCgJqNxIEdHhJZBoICgJqOBICdHgaDwoCajkSCWtSZXZlcnRlZBoQCgJrMRIKdHhSZXZlcnRlZBoQCgJrMhIKbWluQmFsYW5jZRoXCgJrMxIRY3VycmVudEVnZ0JhbGFuY2UaDwoCazQSCWFkZHJlc3NlcxoiCgJrNRIcdG90YWxTaGFyZVRva2Vuc1RvRGlzdHJpYnV0ZRoSCgJrNhIMYWRkcmVzc1BhaXJzGhQKAms3Eg5wcm9jZXNzQWRkcmVzcxoRCgJrOBILYWRkcmVzc1BhaXIaEgoCazkSDGFkZHJlc3NQYXJ0cxoQCgJsMRIKYWRkcmVzc1N0choTCgJsMhINZWdnbGV0c0Ftb3VudBoMCgJsMxIGY2hhbmdlGhEKAmw0EgtrQWRkckVhcm5lZBoVCgJsNRIPYWRkclRvdGFsRWFybmVkGhQKAmw2Eg50b3RhbFJld2FyZE5vdxoRCgJsNxILa0FkZHJDaGFuZ2UaEwoCbDgSDWVhcm5lZExhc3REYXkaCQoCbDkSA3JlcxoMCgJtMRIGcmVzdWx0GhUKAm0yEg8kbGlzdDEwNzE0MTA3NjEaFQoCbTMSDyRzaXplMTA3MTQxMDc2MRoVCgJtNBIPJGFjYzAxMDcxNDEwNzYxGhUKAm01Eg8kYWNjMTEwNzE0MTA3NjEaFQoCbTYSDyRhY2MyMTA3MTQxMDc2MRoVCgJtNxIPJGFjYzMxMDcxNDEwNzYxGhUKAm04Eg8kYWNjNDEwNzE0MTA3NjEaFQoCbTkSDyRhY2M1MTA3MTQxMDc2MRoVCgJuMRIPJGFjYzYxMDcxNDEwNzYxGhUKAm4yEg8kYWNjNzEwNzE0MTA3NjEaFQoCbjMSDyRhY2M4MTA3MTQxMDc2MRoVCgJuNBIPJGFjYzkxMDcxNDEwNzYxGhYKAm41EhAkYWNjMTAxMDcxNDEwNzYxGhYKAm42EhAkYWNjMTExMDcxNDEwNzYxGhYKAm43EhAkYWNjMTIxMDcxNDEwNzYxGhYKAm44EhAkYWNjMTMxMDcxNDEwNzYxGhYKAm45EhAkYWNjMTQxMDcxNDEwNzYxGhYKAm8xEhAkYWNjMTUxMDcxNDEwNzYxGhYKAm8yEhAkYWNjMTYxMDcxNDEwNzYxGhYKAm8zEhAkYWNjMTcxMDcxNDEwNzYxGhYKAm80EhAkYWNjMTgxMDcxNDEwNzYxGhYKAm81EhAkYWNjMTkxMDcxNDEwNzYxGhYKAm82EhAkYWNjMjAxMDcxNDEwNzYxGhYKAm83EhAkYWNjMjExMDcxNDEwNzYxGhMKAm84Eg1vbGRFZ2dCYWxhbmNlGgwKAm85EgZzd2FwVHgaEwoCcDESDWFkZHJlc3NWYWx1ZXMaEQoCcDISC2NoYW5nZVZhbHVlGhUKAnAzEg8kbGlzdDEyMDg3MTIxMzAaFQoCcDQSDyRzaXplMTIwODcxMjEzMBoVCgJwNRIPJGFjYzAxMjA4NzEyMTMwGhUKAnA2Eg8kYWNjMTEyMDg3MTIxMzAaFQoCcDcSDyRhY2MyMTIwODcxMjEzMBoVCgJwOBIPJGFjYzMxMjA4NzEyMTMwGhUKAnA5Eg8kYWNjNDEyMDg3MTIxMzAaFQoCcTESDyRhY2M1MTIwODcxMjEzMBoVCgJxMhIPJGFjYzYxMjA4NzEyMTMwGhUKAnEzEg8kYWNjNzEyMDg3MTIxMzAaFQoCcTQSDyRhY2M4MTIwODcxMjEzMBoVCgJxNRIPJGFjYzkxMjA4NzEyMTMwGhYKAnE2EhAkYWNjMTAxMjA4NzEyMTMwGhYKAnE3EhAkYWNjMTExMjA4NzEyMTMwGhYKAnE4EhAkYWNjMTIxMjA4NzEyMTMwGhYKAnE5EhAkYWNjMTMxMjA4NzEyMTMwGhYKAnIxEhAkYWNjMTQxMjA4NzEyMTMwGhYKAnIyEhAkYWNjMTUxMjA4NzEyMTMwGhYKAnIzEhAkYWNjMTYxMjA4NzEyMTMwGhYKAnI0EhAkYWNjMTcxMjA4NzEyMTMwGhYKAnI1EhAkYWNjMTgxMjA4NzEyMTMwGhYKAnI2EhAkYWNjMTkxMjA4NzEyMTMwGhYKAnI3EhAkYWNjMjAxMjA4NzEyMTMwGhYKAnI4EhAkYWNjMjExMjA4NzEyMTMwGgwKAnI5EgZ2ZXJpZnkaEgoCczESDGNoZWNrU3RhcnRlZBoWCgJzMhIQdG90YWxFZ2dTcGVuZGluZxoNCgJzMxIHcGF5bWVudBoJCgJzNBIDaW52GhUKAnM1Eg8kbGlzdDEzMzU0MTMzOTYaFQoCczYSDyRzaXplMTMzNTQxMzM5NhoVCgJzNxIPJGFjYzAxMzM1NDEzMzk2GhUKAnM4Eg8kYWNjMTEzMzU0MTMzOTYaFQoCczkSDyRhY2MyMTMzNTQxMzM5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AAAAAAAFBQAAAAJxMQQAAAACcTIJAQAAAAJrNwAAAAIFAAAAAnExCQABkQAAAAIFAAAAAnAzAAAAAAAAAAAFAwkAAAAAAAACBQAAAAJwNAAAAAAAAAAABgUAAAACcTIEAAAAAnEzCQEAAAACazcAAAACBQAAAAJxMgkAAZEAAAACBQAAAAJwMwAAAAAAAAAABgMJAAAAAAAAAgUAAAACcDQAAAAAAAAAAAcFAAAAAnEzBAAAAAJxNAkBAAAAAms3AAAAAgUAAAACcTMJAAGRAAAAAgUAAAACcDMAAAAAAAAAAAcDCQAAAAAAAAIFAAAAAnA0AAAAAAAAAAAIBQAAAAJxNAQAAAACcTUJAQAAAAJrNwAAAAIFAAAAAnE0CQABkQAAAAIFAAAAAnAzAAAAAAAAAAAIAwkAAAAAAAACBQAAAAJwNAAAAAAAAAAACQUAAAACcTUEAAAAAnE2CQEAAAACazcAAAACBQAAAAJxNQkAAZEAAAACBQAAAAJwMwAAAAAAAAAACQMJAAAAAAAAAgUAAAACcDQAAAAAAAAAAAoFAAAAAnE2BAAAAAJxNwkBAAAAAms3AAAAAgUAAAACcTYJAAGRAAAAAgUAAAACcDMAAAAAAAAAAAoDCQAAAAAAAAIFAAAAAnA0AAAAAAAAAAALBQAAAAJxNwQAAAACcTgJAQAAAAJrNwAAAAIFAAAAAnE3CQABkQAAAAIFAAAAAnAzAAAAAAAAAAALAwkAAAAAAAACBQAAAAJwNAAAAAAAAAAADAUAAAACcTgEAAAAAnE5CQEAAAACazcAAAACBQAAAAJxOAkAAZEAAAACBQAAAAJwMwAAAAAAAAAADAMJAAAAAAAAAgUAAAACcDQAAAAAAAAAAA0FAAAAAnE5BAAAAAJyMQkBAAAAAms3AAAAAgUAAAACcTkJAAGRAAAAAgUAAAACcDMAAAAAAAAAAA0DCQAAAAAAAAIFAAAAAnA0AAAAAAAAAAAOBQAAAAJyMQQAAAACcjIJAQAAAAJrNwAAAAIFAAAAAnIxCQABkQAAAAIFAAAAAnAzAAAAAAAAAAAOAwkAAAAAAAACBQAAAAJwNAAAAAAAAAAADwUAAAACcjIEAAAAAnIzCQEAAAACazcAAAACBQAAAAJyMgkAAZEAAAACBQAAAAJwMwAAAAAAAAAADwMJAAAAAAAAAgUAAAACcDQA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", "height": 2769648, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: VsQSieLegTi6mE9vqAvNt98dhch8bERqrHpKPdZZ3wM Next: Cp9BPk8VpoDaJfzwNENUcvSQ8EaLd4yq1ZgawqiXWSWa Diff:
OldNewDifferences
77
88 let c = getIntegerValue(b, (("f_" + toString(this)) + "_fee"))
99
10-let d = "total_liquidity"
10+let d = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
1111
12-let e = "INITIALIZED"
12+let e = addressFromStringValue("3PJQUUiJdvz9etUKED9ju7o7VrcNMtnkXBU")
1313
14-let f = "LIQUIDITY_THRESHOLD"
14+let f = "total_liquidity"
1515
16-let g = "farm_participants"
16+let g = "INITIALIZED"
1717
18-let h = "total_share_tokens"
18+let h = "LIQUIDITY_THRESHOLD"
1919
20-let i = "SHARE_ASSET_ID"
20+let i = "farm_participants"
2121
22-let j = "INCUBATOR_DAPP"
22+let j = "total_share_tokens"
2323
24-let k = "BREEDER_DAPP"
24+let k = "SHARE_ASSET_ID"
2525
2626 let l = "FARMING_DAPP"
2727
2828 let m = "MARKETPLACE_PROXY_DAPP"
2929
30-let n = "AUCTION_DAPP"
30+let n = "LOCKED"
3131
32-let o = "LOCKED"
32+let o = "total_farming_reward"
3333
34-let p = "total_farming_reward"
34+let p = "ceo_collected_fee"
3535
36-let q = "ceo_collected_fee"
36+let q = "ceo_fee_overall"
3737
38-let r = "ceo_fee_overall"
38+let r = "to_distribute"
3939
40-let s = "to_distribute"
40+let s = "unstaked_reward"
4141
42-let t = "unstaked_reward"
42+let t = "locked_investments"
4343
44-let u = "locked_investments"
45-
46-func v (w) = {
47- let x = getInteger(this, w)
48- if ($isInstanceOf(x, "Int"))
44+func u (v) = {
45+ let w = getInteger(this, v)
46+ if ($isInstanceOf(w, "Int"))
4947 then {
50- let y = x
51- y
48+ let x = w
49+ x
5250 }
5351 else 0
5452 }
5553
5654
57-func z (w) = {
58- let x = getString(this, w)
59- if ($isInstanceOf(x, "String"))
55+func y (v) = {
56+ let w = getString(this, v)
57+ if ($isInstanceOf(w, "String"))
6058 then {
61- let y = x
62- y
59+ let x = w
60+ x
6361 }
6462 else ""
6563 }
6664
6765
68-func A (w) = {
69- let x = getBoolean(this, w)
70- if ($isInstanceOf(x, "Boolean"))
66+func z (v) = {
67+ let w = getBoolean(this, v)
68+ if ($isInstanceOf(w, "Boolean"))
7169 then {
72- let y = x
73- y
70+ let x = w
71+ x
7472 }
7573 else unit
7674 }
7775
7876
79-func B (C,D) = {
80- let x = getString(C, D)
81- if ($isInstanceOf(x, "String"))
77+func A (B,C) = {
78+ let w = getString(B, C)
79+ if ($isInstanceOf(w, "String"))
8280 then {
83- let y = x
84- y
81+ let x = w
82+ x
8583 }
8684 else ""
8785 }
8886
8987
90-func E (F,w) = {
91- let x = getInteger(F, w)
92- if ($isInstanceOf(x, "Int"))
93- then {
94- let y = x
95- y
96- }
97- else 0
98- }
88+func D () = A(b, m)
9989
10090
101-func G () = B(b, m)
91+func E () = fromBase58String(getStringValue(b, "EGG_ASSET_ID"))
10292
10393
104-func H () = fromBase58String(getStringValue(b, "EGG_ASSET_ID"))
94+func F () = fromBase58String(y(k))
10595
10696
107-func I () = fromBase58String(z(i))
108-
109-
110-@Callable(J)
111-func initCollectiveFarm (K,L) = if ((J.callerPublicKey != a))
97+@Callable(G)
98+func initCollectiveFarm (H,I) = if ((G.callerPublicKey != a))
11299 then throw("_1")
113- else if ((A(e) != unit))
100+ else if ((z(g) != unit))
114101 then throw("_2")
115- else if (if ((J.payments[0].amount != 10))
102+ else if (if ((G.payments[0].amount != 10))
116103 then true
117- else (J.payments[0].assetId != H()))
104+ else (G.payments[0].assetId != E()))
118105 then throw("_20")
119106 else {
120- let M = 10000000
121- let N = Issue(K, (("Share token for the \"" + K) + "\" collective farm"), M, 8, true)
122-[StringEntry(i, toBase58String(calculateAssetId(N))), BooleanEntry(e, true), IntegerEntry(d, 10), IntegerEntry(h, M), N, ScriptTransfer(J.caller, M, calculateAssetId(N)), BooleanEntry(o, false), IntegerEntry(f, L)]
107+ let J = 10000000
108+ let K = Issue(H, (("Share token for the \"" + H) + "\" collective farm"), J, 8, true)
109+[StringEntry(k, toBase58String(calculateAssetId(K))), BooleanEntry(g, true), IntegerEntry(f, 10), IntegerEntry(j, J), K, ScriptTransfer(G.caller, J, calculateAssetId(K)), BooleanEntry(n, false), IntegerEntry(h, I)]
123110 }
124111
125112
126113
127-@Callable(J)
128-func setLock (O) = if ((J.callerPublicKey != a))
114+@Callable(G)
115+func setLock (L) = if ((G.callerPublicKey != a))
129116 then throw("_21")
130- else [BooleanEntry(o, O)]
117+ else [BooleanEntry(n, L)]
131118
132119
133120
134-@Callable(J)
135-func lockInvestments () = if ((J.caller != this))
121+@Callable(G)
122+func lockInvestments () = if ((G.caller != this))
136123 then throw("You cannot lock this contract")
137- else [BooleanEntry(u, true)]
124+ else [BooleanEntry(t, true)]
138125
139126
140127
141-@Callable(J)
142-func unlockInvestments () = if ((J.caller != this))
128+@Callable(G)
129+func unlockInvestments () = if ((G.caller != this))
143130 then throw("You cannot lock this contract")
144- else [BooleanEntry(u, false)]
131+ else [BooleanEntry(t, false)]
145132
146133
147134
148-@Callable(J)
135+@Callable(G)
149136 func provideLiquidity () = {
150- let P = H()
151- if ((A(u) == true))
137+ let M = E()
138+ if ((z(t) == true))
152139 then throw("Contract is locked for investments by it's CEO. Please invest in another collective farm.")
153- else if ((A(o) == true))
140+ else if ((z(n) == true))
154141 then throw("_22")
155- else if ((J.payments[0].assetId != P))
142+ else if ((G.payments[0].assetId != M))
156143 then throw("_4")
157- else {
158- let Q = v(d)
159- let R = v(h)
160- let S = J.payments[0].amount
161- let T = (S * 1000000)
162- let U = fromBase58String(z(i))
163- let V = Reissue(I(), T, true)
164- let W = v(g)
165- let X = (("account_" + toString(J.caller)) + "_participated")
166- let Y = A(X)
167- let Z = if ((Y == unit))
168- then (W + 1)
169- else W
170-[V, ScriptTransfer(J.caller, T, U), IntegerEntry(h, (R + T)), IntegerEntry(d, (Q + value(J.payments[0].amount))), IntegerEntry(g, Z), BooleanEntry(X, true)]
171- }
144+ else if ((1000000 > G.payments[0].amount))
145+ then throw("Min amount to invest is 0.01 EGG")
146+ else {
147+ let N = u(f)
148+ let O = u(j)
149+ let P = G.payments[0].amount
150+ let Q = P
151+ let R = fromBase58String(y(k))
152+ let S = Reissue(F(), Q, true)
153+ let T = u(i)
154+ let U = (("account_" + toString(G.caller)) + "_participated")
155+ let V = z(U)
156+ let W = if ((V == unit))
157+ then (T + 1)
158+ else T
159+[S, ScriptTransfer(G.caller, Q, R), IntegerEntry(j, (O + Q)), IntegerEntry(f, (N + value(G.payments[0].amount))), IntegerEntry(i, W), BooleanEntry(U, true)]
160+ }
172161 }
173162
174163
175164
176-@Callable(J)
177-func claimFarmingRewardProxy (aa) = if ((J.callerPublicKey != a))
165+@Callable(G)
166+func claimFarmingRewardProxy (X) = if ((G.callerPublicKey != a))
178167 then throw("_23")
179168 else {
180- let ab = addressFromStringValue(B(b, l))
181- func ac (ad,ae) = {
182- let af = invoke(ab, "claimReward", [ae], nil)
183- if ((af == af))
169+ let Y = addressFromStringValue(A(b, l))
170+ func Z (aa,ab) = {
171+ let ac = invoke(Y, "claimReward", [ab], nil)
172+ if ((ac == ac))
184173 then {
185- let x = af
186- if ($isInstanceOf(x, "Int"))
174+ let w = ac
175+ if ($isInstanceOf(w, "Int"))
187176 then {
188- let ag = x
189- (ad + ag)
177+ let ad = w
178+ (aa + ad)
190179 }
191180 else throw("_5")
192181 }
193182 else throw("Strict value is not equal to itself.")
194183 }
195184
196- let ah = split(aa, ";")
197- let ai = {
198- let aj = ah
199- let ak = size(aj)
200- let al = 0
201- if ((ak == 0))
202- then al
185+ let ae = split(X, ";")
186+ let af = {
187+ let ag = ae
188+ let ah = size(ag)
189+ let ai = 0
190+ if ((ah == 0))
191+ then ai
203192 else {
204- let am = ac(al, aj[0])
205- if ((ak == 1))
206- then am
193+ let aj = Z(ai, ag[0])
194+ if ((ah == 1))
195+ then aj
207196 else {
208- let an = ac(am, aj[1])
209- if ((ak == 2))
210- then an
197+ let ak = Z(aj, ag[1])
198+ if ((ah == 2))
199+ then ak
211200 else {
212- let ao = ac(an, aj[2])
213- if ((ak == 3))
214- then ao
201+ let al = Z(ak, ag[2])
202+ if ((ah == 3))
203+ then al
215204 else {
216- let ap = ac(ao, aj[3])
217- if ((ak == 4))
218- then ap
205+ let am = Z(al, ag[3])
206+ if ((ah == 4))
207+ then am
219208 else {
220- let aq = ac(ap, aj[4])
221- if ((ak == 5))
222- then aq
209+ let an = Z(am, ag[4])
210+ if ((ah == 5))
211+ then an
223212 else {
224- let ar = ac(aq, aj[5])
225- if ((ak == 6))
226- then ar
213+ let ao = Z(an, ag[5])
214+ if ((ah == 6))
215+ then ao
227216 else {
228- let as = ac(ar, aj[6])
229- if ((ak == 7))
230- then as
217+ let ap = Z(ao, ag[6])
218+ if ((ah == 7))
219+ then ap
231220 else {
232- let at = ac(as, aj[7])
233- if ((ak == 8))
234- then at
221+ let aq = Z(ap, ag[7])
222+ if ((ah == 8))
223+ then aq
235224 else {
236- let au = ac(at, aj[8])
237- if ((ak == 9))
238- then au
225+ let ar = Z(aq, ag[8])
226+ if ((ah == 9))
227+ then ar
239228 else {
240- let av = ac(au, aj[9])
241- if ((ak == 10))
242- then av
229+ let as = Z(ar, ag[9])
230+ if ((ah == 10))
231+ then as
243232 else {
244- let aw = ac(av, aj[10])
233+ let at = Z(as, ag[10])
245234 throw("List size exceed 10")
246235 }
247236 }
255244 }
256245 }
257246 }
258- let ax = {
259- let x = ai
260- if ($isInstanceOf(x, "Int"))
247+ let au = {
248+ let w = af
249+ if ($isInstanceOf(w, "Int"))
261250 then {
262- let ag = x
263- (ag * 1000000)
251+ let ad = w
252+ ad
264253 }
265254 else throw("_6")
266255 }
267- let ay = fraction(ax, c, 100)
268- let az = v(s)
269- let aA = v(p)
270- let aB = v(q)
271- let aC = v(r)
272-[IntegerEntry(p, ((aA + ax) - ay)), IntegerEntry(s, ((az + ax) - ay)), IntegerEntry(q, (aB + ay)), IntegerEntry(r, (aC + ay))]
256+ let av = fraction(au, c, 100)
257+ let aw = u(r)
258+ let ax = u(o)
259+ let ay = u(p)
260+ let az = u(q)
261+[IntegerEntry(o, ((ax + au) - av)), IntegerEntry(r, ((aw + au) - av)), IntegerEntry(p, (ay + av)), IntegerEntry(q, (az + av))]
273262 }
274263
275264
276265
277-@Callable(J)
278-func claimCeoFee (F) = if ((A(o) == true))
266+@Callable(G)
267+func claimCeoFee (aA) = if ((z(n) == true))
279268 then throw("_22")
280- else if ((J.caller == this))
269+ else if ((G.caller == this))
281270 then {
282- let aD = v(q)
283-[ScriptTransfer(addressFromStringValue(F), (aD / 1000000), H()), IntegerEntry(q, 0)]
271+ let aB = u(p)
272+[ScriptTransfer(addressFromStringValue(aA), aB, E()), IntegerEntry(p, 0)]
284273 }
285274 else throw("_8")
286275
287276
288277
289-@Callable(J)
290-func startLiquidation (aE) = throw("_7")
278+@Callable(G)
279+func startLiquidation (aC) = throw("_7")
291280
292281
293282
294-@Callable(J)
295-func voteForLiquidation (aE) = throw("_7")
283+@Callable(G)
284+func voteForLiquidation (aC) = throw("_7")
296285
297286
298287
299-@Callable(J)
300-func callUnstakeProxy (aF,aG) = if ((A(o) == true))
288+@Callable(G)
289+func callUnstakeProxy (aD,aE) = if ((z(n) == true))
301290 then throw("Contract is locked now")
302- else if (if ((aF != "unstakeNFT"))
303- then (aF != "unstakeJackpot")
291+ else if (if ((aD != "unstakeNFT"))
292+ then (aD != "unstakeJackpot")
304293 else false)
305294 then throw("Bad function name")
306- else if ((J.caller != this))
295+ else if ((G.caller != this))
307296 then throw("Can be called only by the account")
308297 else {
309- let aH = addressFromStringValue(B(b, "FARMING_DAPP"))
310- let aI = invoke(aH, aF, [aG], nil)
311- if ((aI == aI))
298+ let aF = addressFromStringValue(A(b, "FARMING_DAPP"))
299+ let aG = invoke(aF, aD, [aE], nil)
300+ if ((aG == aG))
312301 then {
313- let aJ = v(t)
314- let aK = {
315- let x = aI
316- if ($isInstanceOf(x, "Int"))
302+ let aH = u(s)
303+ let aI = {
304+ let w = aG
305+ if ($isInstanceOf(w, "Int"))
317306 then {
318- let ag = x
319- (aJ + (ag * 1000000))
307+ let ad = w
308+ (aH + ad)
320309 }
321310 else throw("Error during unstaking")
322311 }
323- let aB = v(q)
324- let aC = v(r)
325- let ay = fraction(aJ, c, 100)
326-[IntegerEntry(q, (aB + ay)), IntegerEntry(r, (aC + ay)), IntegerEntry(t, aK)]
312+ let ay = u(p)
313+ let az = u(q)
314+ let av = fraction(aH, c, 100)
315+[IntegerEntry(p, (ay + av)), IntegerEntry(q, (az + av)), IntegerEntry(s, aI)]
327316 }
328317 else throw("Strict value is not equal to itself.")
329318 }
330319
331320
332321
333-@Callable(J)
334-func revertTransfer (aL) = if ((A(o) == true))
322+@Callable(G)
323+func revertTransfer (aJ) = if ((z(n) == true))
335324 then throw("Contract is locked now")
336- else if ((J.caller != this))
325+ else if ((G.caller != this))
337326 then throw("Can be called only by the account")
338327 else {
339- let aM = value(transferTransactionById(fromBase58String(aL)))
340- let aN = ("tx_revert_" + aL)
341- let aO = A(aN)
342- let aJ = v(t)
343- let az = v(s)
344- let aP = (aJ + az)
345- let aQ = assetBalance(this, H())
346- if ((aO == true))
328+ let aK = value(transferTransactionById(fromBase58String(aJ)))
329+ let aL = ("tx_revert_" + aJ)
330+ let aM = z(aL)
331+ let aH = u(s)
332+ let aw = u(r)
333+ let aN = (aH + aw)
334+ let aO = assetBalance(this, E())
335+ if ((aM == true))
347336 then throw("Tx already reverted")
348- else if ((aM.recipient != this))
337+ else if ((aK.recipient != this))
349338 then throw("Tx recipient is another account")
350- else if ((aM.assetId != H()))
351- then throw("Transaction is not with EGG tokens")
352- else if ((aP > (aQ - aM.amount)))
339+ else if (if ((aK.assetId != E()))
340+ then (aK.assetId != F())
341+ else false)
342+ then throw("Transaction is not with EGG or share tokens")
343+ else if ((aN > (aO - aK.amount)))
353344 then throw("Revert makes balance too low")
354- else [ScriptTransfer(aM.sender, aM.amount, aM.assetId), BooleanEntry(aN, true)]
345+ else [ScriptTransfer(aK.sender, aK.amount, aK.assetId), BooleanEntry(aL, true)]
355346 }
356347
357348
358349
359-@Callable(J)
360-func distributeRewards (aR) = if ((J.caller != b))
350+@Callable(G)
351+func distributeRewards (aP,aQ) = if ((G.caller != b))
361352 then throw("Method can be called only by master account")
362353 else {
363- let aS = split(aR, ";")
364- func aT (ad,aU) = {
365- let aV = split(aU, "=")
366- let aW = aV[0]
367- let F = addressFromStringValue(aW)
368- let aX = parseIntValue(aV[1])
369- let aY = parseIntValue(aV[2])
370- let aZ = (("address_" + aW) + "_total_earned")
371- let ba = v(aZ)
372- let bb = ((aX * 1000000) + aY)
373- let bc = (("address_" + aW) + "_change")
374- let bd = (bb - v(bc))
375- let be = [IntegerEntry(bc, aY), IntegerEntry(aZ, (ba + bd)), IntegerEntry(((("address_" + aW) + "_reward_") + toString(lastBlock.timestamp)), bd)]
376- if ((aX > 0))
377- then $Tuple2((ad._1 + aX), ((ad._2 ++ be) ++ [ScriptTransfer(F, aX, H())]))
378- else $Tuple2(ad._1, (ad._2 ++ be))
354+ let aR = split(aP, ";")
355+ func aS (aa,aT) = {
356+ let aU = split(aT, "=")
357+ let aV = aU[0]
358+ let aA = addressFromStringValue(aV)
359+ let aW = parseIntValue(aU[1])
360+ let aX = parseIntValue(aU[2])
361+ let aY = (("address_" + aV) + "_total_earned")
362+ let aZ = u(aY)
363+ let ba = ((aW * 1000000) + aX)
364+ let bb = (("address_" + aV) + "_change")
365+ let bc = (ba - u(bb))
366+ let bd = [IntegerEntry(bb, aX), IntegerEntry(aY, (aZ + bc)), IntegerEntry(((("address_" + aV) + "_reward_") + toString(lastBlock.timestamp)), bc)]
367+ if ((aW > 0))
368+ then $Tuple2((aa._1 + aW), ((aa._2 ++ bd) ++ [ScriptTransfer(aA, aW, E())]))
369+ else $Tuple2(aa._1, (aa._2 ++ bd))
379370 }
380371
381- let bf = {
382- let bg = aS
383- let bh = size(bg)
384- let bi = $Tuple2(0, nil)
385- if ((bh == 0))
386- then bi
372+ let be = {
373+ let bf = aR
374+ let bg = size(bf)
375+ let bh = $Tuple2(0, nil)
376+ if ((bg == 0))
377+ then bh
387378 else {
388- let bj = aT(bi, bg[0])
389- if ((bh == 1))
390- then bj
379+ let bi = aS(bh, bf[0])
380+ if ((bg == 1))
381+ then bi
391382 else {
392- let bk = aT(bj, bg[1])
393- if ((bh == 2))
394- then bk
383+ let bj = aS(bi, bf[1])
384+ if ((bg == 2))
385+ then bj
395386 else {
396- let bl = aT(bk, bg[2])
397- if ((bh == 3))
398- then bl
387+ let bk = aS(bj, bf[2])
388+ if ((bg == 3))
389+ then bk
399390 else {
400- let bm = aT(bl, bg[3])
401- if ((bh == 4))
402- then bm
391+ let bl = aS(bk, bf[3])
392+ if ((bg == 4))
393+ then bl
403394 else {
404- let bn = aT(bm, bg[4])
405- if ((bh == 5))
406- then bn
395+ let bm = aS(bl, bf[4])
396+ if ((bg == 5))
397+ then bm
407398 else {
408- let bo = aT(bn, bg[5])
409- if ((bh == 6))
410- then bo
399+ let bn = aS(bm, bf[5])
400+ if ((bg == 6))
401+ then bn
411402 else {
412- let bp = aT(bo, bg[6])
413- if ((bh == 7))
414- then bp
403+ let bo = aS(bn, bf[6])
404+ if ((bg == 7))
405+ then bo
415406 else {
416- let bq = aT(bp, bg[7])
417- if ((bh == 8))
418- then bq
407+ let bp = aS(bo, bf[7])
408+ if ((bg == 8))
409+ then bp
419410 else {
420- let br = aT(bq, bg[8])
421- if ((bh == 9))
422- then br
411+ let bq = aS(bp, bf[8])
412+ if ((bg == 9))
413+ then bq
423414 else {
424- let bs = aT(br, bg[9])
425- if ((bh == 10))
426- then bs
415+ let br = aS(bq, bf[9])
416+ if ((bg == 10))
417+ then br
427418 else {
428- let bt = aT(bs, bg[10])
429- if ((bh == 11))
430- then bt
419+ let bs = aS(br, bf[10])
420+ if ((bg == 11))
421+ then bs
431422 else {
432- let bu = aT(bt, bg[11])
433- if ((bh == 12))
434- then bu
423+ let bt = aS(bs, bf[11])
424+ if ((bg == 12))
425+ then bt
435426 else {
436- let bv = aT(bu, bg[12])
437- if ((bh == 13))
438- then bv
427+ let bu = aS(bt, bf[12])
428+ if ((bg == 13))
429+ then bu
439430 else {
440- let bw = aT(bv, bg[13])
441- if ((bh == 14))
442- then bw
431+ let bv = aS(bu, bf[13])
432+ if ((bg == 14))
433+ then bv
443434 else {
444- let bx = aT(bw, bg[14])
445- if ((bh == 15))
446- then bx
435+ let bw = aS(bv, bf[14])
436+ if ((bg == 15))
437+ then bw
447438 else {
448- let by = aT(bx, bg[15])
449- if ((bh == 16))
450- then by
439+ let bx = aS(bw, bf[15])
440+ if ((bg == 16))
441+ then bx
451442 else {
452- let bz = aT(by, bg[16])
453- if ((bh == 17))
454- then bz
443+ let by = aS(bx, bf[16])
444+ if ((bg == 17))
445+ then by
455446 else {
456- let bA = aT(bz, bg[17])
457- if ((bh == 18))
458- then bA
447+ let bz = aS(by, bf[17])
448+ if ((bg == 18))
449+ then bz
459450 else {
460- let bB = aT(bA, bg[18])
461- if ((bh == 19))
462- then bB
451+ let bA = aS(bz, bf[18])
452+ if ((bg == 19))
453+ then bA
463454 else {
464- let bC = aT(bB, bg[19])
465- if ((bh == 20))
466- then bC
455+ let bB = aS(bA, bf[19])
456+ if ((bg == 20))
457+ then bB
467458 else {
468- let bD = aT(bC, bg[20])
459+ let bC = aS(bB, bf[20])
469460 throw("List size exceed 20")
470461 }
471462 }
489480 }
490481 }
491482 }
492- let az = v(s)
493- (bf._2 ++ [IntegerEntry(s, (az - (bf._1 * 1000000))), IntegerEntry(t, 0)])
483+ let aw = u(r)
484+ (be._2 ++ [IntegerEntry(r, (aw - (be._1 * 1000000))), IntegerEntry(s, 0)])
494485 }
495486
496487
497-@Verifier(aM)
498-func bE () = {
499- let bF = (v(d) >= v(f))
500- func bG (ad,bH) = if ((bH.assetId == H()))
501- then (ad + bH.amount)
502- else ad
503488
504- let x = aM
505- if ($isInstanceOf(x, "InvokeScriptTransaction"))
489+@Callable(G)
490+func swapEgg () = if ((G.caller != b))
491+ then throw("Method can be called by master account only")
492+ else {
493+ let bD = assetBalance(this, d)
494+ let bE = invoke(e, "swapEgg", nil, [AttachedPayment(d, bD)])
495+ if ((bE == bE))
496+ then [BooleanEntry("swapped_egg", true), IntegerEntry("swapped_egg_amount", bD)]
497+ else throw("Strict value is not equal to itself.")
498+ }
499+
500+
501+
502+@Callable(G)
503+func payChange (aP) = if ((G.caller != b))
504+ then throw("Method can be called only by main account")
505+ else {
506+ let bF = split(aP, ";")
507+ if ((size(bF) > 20))
508+ then throw("Can't send more than 20 transfers at once")
509+ else {
510+ func aS (aa,aV) = {
511+ let bb = (("address_" + aV) + "_change")
512+ let aY = (("address_" + aV) + "_total_earned")
513+ let bG = u(bb)
514+[IntegerEntry(bb, 0), IntegerEntry(aY, 0), ScriptTransfer(addressFromStringValue(aV), bG, E())]
515+ }
516+
517+ let be = {
518+ let bH = bF
519+ let bI = size(bH)
520+ let bJ = nil
521+ if ((bI == 0))
522+ then bJ
523+ else {
524+ let bK = aS(bJ, bH[0])
525+ if ((bI == 1))
526+ then bK
527+ else {
528+ let bL = aS(bK, bH[1])
529+ if ((bI == 2))
530+ then bL
531+ else {
532+ let bM = aS(bL, bH[2])
533+ if ((bI == 3))
534+ then bM
535+ else {
536+ let bN = aS(bM, bH[3])
537+ if ((bI == 4))
538+ then bN
539+ else {
540+ let bO = aS(bN, bH[4])
541+ if ((bI == 5))
542+ then bO
543+ else {
544+ let bP = aS(bO, bH[5])
545+ if ((bI == 6))
546+ then bP
547+ else {
548+ let bQ = aS(bP, bH[6])
549+ if ((bI == 7))
550+ then bQ
551+ else {
552+ let bR = aS(bQ, bH[7])
553+ if ((bI == 8))
554+ then bR
555+ else {
556+ let bS = aS(bR, bH[8])
557+ if ((bI == 9))
558+ then bS
559+ else {
560+ let bT = aS(bS, bH[9])
561+ if ((bI == 10))
562+ then bT
563+ else {
564+ let bU = aS(bT, bH[10])
565+ if ((bI == 11))
566+ then bU
567+ else {
568+ let bV = aS(bU, bH[11])
569+ if ((bI == 12))
570+ then bV
571+ else {
572+ let bW = aS(bV, bH[12])
573+ if ((bI == 13))
574+ then bW
575+ else {
576+ let bX = aS(bW, bH[13])
577+ if ((bI == 14))
578+ then bX
579+ else {
580+ let bY = aS(bX, bH[14])
581+ if ((bI == 15))
582+ then bY
583+ else {
584+ let bZ = aS(bY, bH[15])
585+ if ((bI == 16))
586+ then bZ
587+ else {
588+ let ca = aS(bZ, bH[16])
589+ if ((bI == 17))
590+ then ca
591+ else {
592+ let cb = aS(ca, bH[17])
593+ if ((bI == 18))
594+ then cb
595+ else {
596+ let cc = aS(cb, bH[18])
597+ if ((bI == 19))
598+ then cc
599+ else {
600+ let cd = aS(cc, bH[19])
601+ if ((bI == 20))
602+ then cd
603+ else {
604+ let ce = aS(cd, bH[20])
605+ throw("List size exceed 20")
606+ }
607+ }
608+ }
609+ }
610+ }
611+ }
612+ }
613+ }
614+ }
615+ }
616+ }
617+ }
618+ }
619+ }
620+ }
621+ }
622+ }
623+ }
624+ }
625+ }
626+ }
627+ }
628+ be
629+ }
630+ }
631+
632+
633+@Verifier(aK)
634+func cf () = {
635+ let cg = (u(f) >= u(h))
636+ func ch (aa,ci) = if ((ci.assetId == E()))
637+ then (aa + ci.amount)
638+ else aa
639+
640+ let w = aK
641+ if ($isInstanceOf(w, "InvokeScriptTransaction"))
506642 then {
507- let bI = x
508- let aJ = v(t)
509- let az = v(s)
510- let aP = (aJ + az)
511- if (if ((bI.function == "unstakeNFT"))
643+ let cj = w
644+ let aH = u(s)
645+ let aw = u(r)
646+ let aN = (aH + aw)
647+ if (if ((cj.function == "unstakeNFT"))
512648 then true
513- else (bI.function == "unstakeJackpot"))
649+ else (cj.function == "unstakeJackpot"))
514650 then throw("You cannot call these functions directly")
515- else if ((sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey) == false))
651+ else if ((sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey) == false))
516652 then throw("_100")
517- else if ((bF == false))
653+ else if ((cg == false))
518654 then throw("_14")
519- else if ((A(o) == true))
655+ else if ((z(n) == true))
520656 then throw("_22")
521- else if (if ((bI.fee > 900000))
657+ else if (if ((cj.fee > 900000))
522658 then true
523- else (bI.feeAssetId != unit))
659+ else (cj.feeAssetId != unit))
524660 then throw("_15")
525- else if ((bI.function == "claimReward"))
661+ else if ((cj.function == "claimReward"))
526662 then throw("_16")
527- else if ((size(bI.payments) > 2))
663+ else if ((size(cj.payments) > 2))
528664 then throw("_17")
529- else if ((aP > ((assetBalance(this, H()) - {
530- let bJ = bI.payments
531- let bK = size(bJ)
532- let bL = 0
533- if ((bK == 0))
534- then bL
665+ else if ((aN > ((assetBalance(this, E()) - {
666+ let ck = cj.payments
667+ let cl = size(ck)
668+ let cm = 0
669+ if ((cl == 0))
670+ then cm
535671 else {
536- let bM = bG(bL, bJ[0])
537- if ((bK == 1))
538- then bM
672+ let cn = ch(cm, ck[0])
673+ if ((cl == 1))
674+ then cn
539675 else {
540- let bN = bG(bM, bJ[1])
541- if ((bK == 2))
542- then bN
676+ let co = ch(cn, ck[1])
677+ if ((cl == 2))
678+ then co
543679 else {
544- let bO = bG(bN, bJ[2])
545- if ((bK == 3))
546- then bO
680+ let cp = ch(co, ck[2])
681+ if ((cl == 3))
682+ then cp
547683 else {
548- let bP = bG(bO, bJ[3])
684+ let cq = ch(cp, ck[3])
549685 throw("List size exceed 3")
550686 }
551687 }
552688 }
553689 }
554690 }) * 1000000)))
555- then throw(("Your minimal balance should be = " + toString(aP)))
556- else if (if ((addressFromRecipient(bI.dApp) == this))
557- then (bI.function == "callUnstakeProxy")
691+ then throw(("Your minimal balance should be = " + toString(aN)))
692+ else if (if ((addressFromRecipient(cj.dApp) == this))
693+ then (cj.function == "callUnstakeProxy")
558694 else false)
559- then sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
560- else if (if ((addressFromRecipient(bI.dApp) == this))
561- then (bI.function == "revertTransfer")
695+ then sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
696+ else if (if ((addressFromRecipient(cj.dApp) == this))
697+ then (cj.function == "revertTransfer")
562698 else false)
563- then sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
564- else if (if ((addressFromRecipient(bI.dApp) == this))
565- then (bI.function == "claimCeoFee")
699+ then sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
700+ else if (if ((addressFromRecipient(cj.dApp) == this))
701+ then (cj.function == "claimCeoFee")
566702 else false)
567- then sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
568- else if (if ((addressFromRecipient(bI.dApp) == this))
569- then if ((bI.function == "lockInvestments"))
703+ then sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
704+ else if (if ((addressFromRecipient(cj.dApp) == this))
705+ then if ((cj.function == "lockInvestments"))
570706 then true
571- else (bI.function == "unlockInvestments")
707+ else (cj.function == "unlockInvestments")
572708 else false)
573- then sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
574- else if (if ((addressFromRecipient(bI.dApp) == addressFromStringValue(G())))
575- then (bI.function == "callMarketplaceProxy")
709+ then sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
710+ else if (if ((addressFromRecipient(cj.dApp) == addressFromStringValue(D())))
711+ then (cj.function == "callMarketplaceProxy")
576712 else false)
577- then sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
713+ then sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
578714 else {
579- let bQ = B(b, "allowed_contracts")
580- let bR = split(bQ, ";")
581- let bS = toString(addressFromRecipient(bI.dApp))
582- (indexOf(bR, bS) != unit)
715+ let cr = A(b, "allowed_contracts")
716+ let cs = split(cr, ";")
717+ let ct = toString(addressFromRecipient(cj.dApp))
718+ (indexOf(cs, ct) != unit)
583719 }
584720 }
585- else if ($isInstanceOf(x, "SetScriptTransaction"))
721+ else if ($isInstanceOf(w, "SetScriptTransaction"))
586722 then {
587- let bT = x
588- sigVerify(aM.bodyBytes, aM.proofs[0], a)
723+ let cu = w
724+ sigVerify(aK.bodyBytes, aK.proofs[0], a)
589725 }
590726 else false
591727 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'23NWm7kUDQqbTVkirjd5JXWRZaWVoS4ZesmRNHicBa3T'
55
66 let b = addressFromPublicKey(a)
77
88 let c = getIntegerValue(b, (("f_" + toString(this)) + "_fee"))
99
10-let d = "total_liquidity"
10+let d = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
1111
12-let e = "INITIALIZED"
12+let e = addressFromStringValue("3PJQUUiJdvz9etUKED9ju7o7VrcNMtnkXBU")
1313
14-let f = "LIQUIDITY_THRESHOLD"
14+let f = "total_liquidity"
1515
16-let g = "farm_participants"
16+let g = "INITIALIZED"
1717
18-let h = "total_share_tokens"
18+let h = "LIQUIDITY_THRESHOLD"
1919
20-let i = "SHARE_ASSET_ID"
20+let i = "farm_participants"
2121
22-let j = "INCUBATOR_DAPP"
22+let j = "total_share_tokens"
2323
24-let k = "BREEDER_DAPP"
24+let k = "SHARE_ASSET_ID"
2525
2626 let l = "FARMING_DAPP"
2727
2828 let m = "MARKETPLACE_PROXY_DAPP"
2929
30-let n = "AUCTION_DAPP"
30+let n = "LOCKED"
3131
32-let o = "LOCKED"
32+let o = "total_farming_reward"
3333
34-let p = "total_farming_reward"
34+let p = "ceo_collected_fee"
3535
36-let q = "ceo_collected_fee"
36+let q = "ceo_fee_overall"
3737
38-let r = "ceo_fee_overall"
38+let r = "to_distribute"
3939
40-let s = "to_distribute"
40+let s = "unstaked_reward"
4141
42-let t = "unstaked_reward"
42+let t = "locked_investments"
4343
44-let u = "locked_investments"
45-
46-func v (w) = {
47- let x = getInteger(this, w)
48- if ($isInstanceOf(x, "Int"))
44+func u (v) = {
45+ let w = getInteger(this, v)
46+ if ($isInstanceOf(w, "Int"))
4947 then {
50- let y = x
51- y
48+ let x = w
49+ x
5250 }
5351 else 0
5452 }
5553
5654
57-func z (w) = {
58- let x = getString(this, w)
59- if ($isInstanceOf(x, "String"))
55+func y (v) = {
56+ let w = getString(this, v)
57+ if ($isInstanceOf(w, "String"))
6058 then {
61- let y = x
62- y
59+ let x = w
60+ x
6361 }
6462 else ""
6563 }
6664
6765
68-func A (w) = {
69- let x = getBoolean(this, w)
70- if ($isInstanceOf(x, "Boolean"))
66+func z (v) = {
67+ let w = getBoolean(this, v)
68+ if ($isInstanceOf(w, "Boolean"))
7169 then {
72- let y = x
73- y
70+ let x = w
71+ x
7472 }
7573 else unit
7674 }
7775
7876
79-func B (C,D) = {
80- let x = getString(C, D)
81- if ($isInstanceOf(x, "String"))
77+func A (B,C) = {
78+ let w = getString(B, C)
79+ if ($isInstanceOf(w, "String"))
8280 then {
83- let y = x
84- y
81+ let x = w
82+ x
8583 }
8684 else ""
8785 }
8886
8987
90-func E (F,w) = {
91- let x = getInteger(F, w)
92- if ($isInstanceOf(x, "Int"))
93- then {
94- let y = x
95- y
96- }
97- else 0
98- }
88+func D () = A(b, m)
9989
10090
101-func G () = B(b, m)
91+func E () = fromBase58String(getStringValue(b, "EGG_ASSET_ID"))
10292
10393
104-func H () = fromBase58String(getStringValue(b, "EGG_ASSET_ID"))
94+func F () = fromBase58String(y(k))
10595
10696
107-func I () = fromBase58String(z(i))
108-
109-
110-@Callable(J)
111-func initCollectiveFarm (K,L) = if ((J.callerPublicKey != a))
97+@Callable(G)
98+func initCollectiveFarm (H,I) = if ((G.callerPublicKey != a))
11299 then throw("_1")
113- else if ((A(e) != unit))
100+ else if ((z(g) != unit))
114101 then throw("_2")
115- else if (if ((J.payments[0].amount != 10))
102+ else if (if ((G.payments[0].amount != 10))
116103 then true
117- else (J.payments[0].assetId != H()))
104+ else (G.payments[0].assetId != E()))
118105 then throw("_20")
119106 else {
120- let M = 10000000
121- let N = Issue(K, (("Share token for the \"" + K) + "\" collective farm"), M, 8, true)
122-[StringEntry(i, toBase58String(calculateAssetId(N))), BooleanEntry(e, true), IntegerEntry(d, 10), IntegerEntry(h, M), N, ScriptTransfer(J.caller, M, calculateAssetId(N)), BooleanEntry(o, false), IntegerEntry(f, L)]
107+ let J = 10000000
108+ let K = Issue(H, (("Share token for the \"" + H) + "\" collective farm"), J, 8, true)
109+[StringEntry(k, toBase58String(calculateAssetId(K))), BooleanEntry(g, true), IntegerEntry(f, 10), IntegerEntry(j, J), K, ScriptTransfer(G.caller, J, calculateAssetId(K)), BooleanEntry(n, false), IntegerEntry(h, I)]
123110 }
124111
125112
126113
127-@Callable(J)
128-func setLock (O) = if ((J.callerPublicKey != a))
114+@Callable(G)
115+func setLock (L) = if ((G.callerPublicKey != a))
129116 then throw("_21")
130- else [BooleanEntry(o, O)]
117+ else [BooleanEntry(n, L)]
131118
132119
133120
134-@Callable(J)
135-func lockInvestments () = if ((J.caller != this))
121+@Callable(G)
122+func lockInvestments () = if ((G.caller != this))
136123 then throw("You cannot lock this contract")
137- else [BooleanEntry(u, true)]
124+ else [BooleanEntry(t, true)]
138125
139126
140127
141-@Callable(J)
142-func unlockInvestments () = if ((J.caller != this))
128+@Callable(G)
129+func unlockInvestments () = if ((G.caller != this))
143130 then throw("You cannot lock this contract")
144- else [BooleanEntry(u, false)]
131+ else [BooleanEntry(t, false)]
145132
146133
147134
148-@Callable(J)
135+@Callable(G)
149136 func provideLiquidity () = {
150- let P = H()
151- if ((A(u) == true))
137+ let M = E()
138+ if ((z(t) == true))
152139 then throw("Contract is locked for investments by it's CEO. Please invest in another collective farm.")
153- else if ((A(o) == true))
140+ else if ((z(n) == true))
154141 then throw("_22")
155- else if ((J.payments[0].assetId != P))
142+ else if ((G.payments[0].assetId != M))
156143 then throw("_4")
157- else {
158- let Q = v(d)
159- let R = v(h)
160- let S = J.payments[0].amount
161- let T = (S * 1000000)
162- let U = fromBase58String(z(i))
163- let V = Reissue(I(), T, true)
164- let W = v(g)
165- let X = (("account_" + toString(J.caller)) + "_participated")
166- let Y = A(X)
167- let Z = if ((Y == unit))
168- then (W + 1)
169- else W
170-[V, ScriptTransfer(J.caller, T, U), IntegerEntry(h, (R + T)), IntegerEntry(d, (Q + value(J.payments[0].amount))), IntegerEntry(g, Z), BooleanEntry(X, true)]
171- }
144+ else if ((1000000 > G.payments[0].amount))
145+ then throw("Min amount to invest is 0.01 EGG")
146+ else {
147+ let N = u(f)
148+ let O = u(j)
149+ let P = G.payments[0].amount
150+ let Q = P
151+ let R = fromBase58String(y(k))
152+ let S = Reissue(F(), Q, true)
153+ let T = u(i)
154+ let U = (("account_" + toString(G.caller)) + "_participated")
155+ let V = z(U)
156+ let W = if ((V == unit))
157+ then (T + 1)
158+ else T
159+[S, ScriptTransfer(G.caller, Q, R), IntegerEntry(j, (O + Q)), IntegerEntry(f, (N + value(G.payments[0].amount))), IntegerEntry(i, W), BooleanEntry(U, true)]
160+ }
172161 }
173162
174163
175164
176-@Callable(J)
177-func claimFarmingRewardProxy (aa) = if ((J.callerPublicKey != a))
165+@Callable(G)
166+func claimFarmingRewardProxy (X) = if ((G.callerPublicKey != a))
178167 then throw("_23")
179168 else {
180- let ab = addressFromStringValue(B(b, l))
181- func ac (ad,ae) = {
182- let af = invoke(ab, "claimReward", [ae], nil)
183- if ((af == af))
169+ let Y = addressFromStringValue(A(b, l))
170+ func Z (aa,ab) = {
171+ let ac = invoke(Y, "claimReward", [ab], nil)
172+ if ((ac == ac))
184173 then {
185- let x = af
186- if ($isInstanceOf(x, "Int"))
174+ let w = ac
175+ if ($isInstanceOf(w, "Int"))
187176 then {
188- let ag = x
189- (ad + ag)
177+ let ad = w
178+ (aa + ad)
190179 }
191180 else throw("_5")
192181 }
193182 else throw("Strict value is not equal to itself.")
194183 }
195184
196- let ah = split(aa, ";")
197- let ai = {
198- let aj = ah
199- let ak = size(aj)
200- let al = 0
201- if ((ak == 0))
202- then al
185+ let ae = split(X, ";")
186+ let af = {
187+ let ag = ae
188+ let ah = size(ag)
189+ let ai = 0
190+ if ((ah == 0))
191+ then ai
203192 else {
204- let am = ac(al, aj[0])
205- if ((ak == 1))
206- then am
193+ let aj = Z(ai, ag[0])
194+ if ((ah == 1))
195+ then aj
207196 else {
208- let an = ac(am, aj[1])
209- if ((ak == 2))
210- then an
197+ let ak = Z(aj, ag[1])
198+ if ((ah == 2))
199+ then ak
211200 else {
212- let ao = ac(an, aj[2])
213- if ((ak == 3))
214- then ao
201+ let al = Z(ak, ag[2])
202+ if ((ah == 3))
203+ then al
215204 else {
216- let ap = ac(ao, aj[3])
217- if ((ak == 4))
218- then ap
205+ let am = Z(al, ag[3])
206+ if ((ah == 4))
207+ then am
219208 else {
220- let aq = ac(ap, aj[4])
221- if ((ak == 5))
222- then aq
209+ let an = Z(am, ag[4])
210+ if ((ah == 5))
211+ then an
223212 else {
224- let ar = ac(aq, aj[5])
225- if ((ak == 6))
226- then ar
213+ let ao = Z(an, ag[5])
214+ if ((ah == 6))
215+ then ao
227216 else {
228- let as = ac(ar, aj[6])
229- if ((ak == 7))
230- then as
217+ let ap = Z(ao, ag[6])
218+ if ((ah == 7))
219+ then ap
231220 else {
232- let at = ac(as, aj[7])
233- if ((ak == 8))
234- then at
221+ let aq = Z(ap, ag[7])
222+ if ((ah == 8))
223+ then aq
235224 else {
236- let au = ac(at, aj[8])
237- if ((ak == 9))
238- then au
225+ let ar = Z(aq, ag[8])
226+ if ((ah == 9))
227+ then ar
239228 else {
240- let av = ac(au, aj[9])
241- if ((ak == 10))
242- then av
229+ let as = Z(ar, ag[9])
230+ if ((ah == 10))
231+ then as
243232 else {
244- let aw = ac(av, aj[10])
233+ let at = Z(as, ag[10])
245234 throw("List size exceed 10")
246235 }
247236 }
248237 }
249238 }
250239 }
251240 }
252241 }
253242 }
254243 }
255244 }
256245 }
257246 }
258- let ax = {
259- let x = ai
260- if ($isInstanceOf(x, "Int"))
247+ let au = {
248+ let w = af
249+ if ($isInstanceOf(w, "Int"))
261250 then {
262- let ag = x
263- (ag * 1000000)
251+ let ad = w
252+ ad
264253 }
265254 else throw("_6")
266255 }
267- let ay = fraction(ax, c, 100)
268- let az = v(s)
269- let aA = v(p)
270- let aB = v(q)
271- let aC = v(r)
272-[IntegerEntry(p, ((aA + ax) - ay)), IntegerEntry(s, ((az + ax) - ay)), IntegerEntry(q, (aB + ay)), IntegerEntry(r, (aC + ay))]
256+ let av = fraction(au, c, 100)
257+ let aw = u(r)
258+ let ax = u(o)
259+ let ay = u(p)
260+ let az = u(q)
261+[IntegerEntry(o, ((ax + au) - av)), IntegerEntry(r, ((aw + au) - av)), IntegerEntry(p, (ay + av)), IntegerEntry(q, (az + av))]
273262 }
274263
275264
276265
277-@Callable(J)
278-func claimCeoFee (F) = if ((A(o) == true))
266+@Callable(G)
267+func claimCeoFee (aA) = if ((z(n) == true))
279268 then throw("_22")
280- else if ((J.caller == this))
269+ else if ((G.caller == this))
281270 then {
282- let aD = v(q)
283-[ScriptTransfer(addressFromStringValue(F), (aD / 1000000), H()), IntegerEntry(q, 0)]
271+ let aB = u(p)
272+[ScriptTransfer(addressFromStringValue(aA), aB, E()), IntegerEntry(p, 0)]
284273 }
285274 else throw("_8")
286275
287276
288277
289-@Callable(J)
290-func startLiquidation (aE) = throw("_7")
278+@Callable(G)
279+func startLiquidation (aC) = throw("_7")
291280
292281
293282
294-@Callable(J)
295-func voteForLiquidation (aE) = throw("_7")
283+@Callable(G)
284+func voteForLiquidation (aC) = throw("_7")
296285
297286
298287
299-@Callable(J)
300-func callUnstakeProxy (aF,aG) = if ((A(o) == true))
288+@Callable(G)
289+func callUnstakeProxy (aD,aE) = if ((z(n) == true))
301290 then throw("Contract is locked now")
302- else if (if ((aF != "unstakeNFT"))
303- then (aF != "unstakeJackpot")
291+ else if (if ((aD != "unstakeNFT"))
292+ then (aD != "unstakeJackpot")
304293 else false)
305294 then throw("Bad function name")
306- else if ((J.caller != this))
295+ else if ((G.caller != this))
307296 then throw("Can be called only by the account")
308297 else {
309- let aH = addressFromStringValue(B(b, "FARMING_DAPP"))
310- let aI = invoke(aH, aF, [aG], nil)
311- if ((aI == aI))
298+ let aF = addressFromStringValue(A(b, "FARMING_DAPP"))
299+ let aG = invoke(aF, aD, [aE], nil)
300+ if ((aG == aG))
312301 then {
313- let aJ = v(t)
314- let aK = {
315- let x = aI
316- if ($isInstanceOf(x, "Int"))
302+ let aH = u(s)
303+ let aI = {
304+ let w = aG
305+ if ($isInstanceOf(w, "Int"))
317306 then {
318- let ag = x
319- (aJ + (ag * 1000000))
307+ let ad = w
308+ (aH + ad)
320309 }
321310 else throw("Error during unstaking")
322311 }
323- let aB = v(q)
324- let aC = v(r)
325- let ay = fraction(aJ, c, 100)
326-[IntegerEntry(q, (aB + ay)), IntegerEntry(r, (aC + ay)), IntegerEntry(t, aK)]
312+ let ay = u(p)
313+ let az = u(q)
314+ let av = fraction(aH, c, 100)
315+[IntegerEntry(p, (ay + av)), IntegerEntry(q, (az + av)), IntegerEntry(s, aI)]
327316 }
328317 else throw("Strict value is not equal to itself.")
329318 }
330319
331320
332321
333-@Callable(J)
334-func revertTransfer (aL) = if ((A(o) == true))
322+@Callable(G)
323+func revertTransfer (aJ) = if ((z(n) == true))
335324 then throw("Contract is locked now")
336- else if ((J.caller != this))
325+ else if ((G.caller != this))
337326 then throw("Can be called only by the account")
338327 else {
339- let aM = value(transferTransactionById(fromBase58String(aL)))
340- let aN = ("tx_revert_" + aL)
341- let aO = A(aN)
342- let aJ = v(t)
343- let az = v(s)
344- let aP = (aJ + az)
345- let aQ = assetBalance(this, H())
346- if ((aO == true))
328+ let aK = value(transferTransactionById(fromBase58String(aJ)))
329+ let aL = ("tx_revert_" + aJ)
330+ let aM = z(aL)
331+ let aH = u(s)
332+ let aw = u(r)
333+ let aN = (aH + aw)
334+ let aO = assetBalance(this, E())
335+ if ((aM == true))
347336 then throw("Tx already reverted")
348- else if ((aM.recipient != this))
337+ else if ((aK.recipient != this))
349338 then throw("Tx recipient is another account")
350- else if ((aM.assetId != H()))
351- then throw("Transaction is not with EGG tokens")
352- else if ((aP > (aQ - aM.amount)))
339+ else if (if ((aK.assetId != E()))
340+ then (aK.assetId != F())
341+ else false)
342+ then throw("Transaction is not with EGG or share tokens")
343+ else if ((aN > (aO - aK.amount)))
353344 then throw("Revert makes balance too low")
354- else [ScriptTransfer(aM.sender, aM.amount, aM.assetId), BooleanEntry(aN, true)]
345+ else [ScriptTransfer(aK.sender, aK.amount, aK.assetId), BooleanEntry(aL, true)]
355346 }
356347
357348
358349
359-@Callable(J)
360-func distributeRewards (aR) = if ((J.caller != b))
350+@Callable(G)
351+func distributeRewards (aP,aQ) = if ((G.caller != b))
361352 then throw("Method can be called only by master account")
362353 else {
363- let aS = split(aR, ";")
364- func aT (ad,aU) = {
365- let aV = split(aU, "=")
366- let aW = aV[0]
367- let F = addressFromStringValue(aW)
368- let aX = parseIntValue(aV[1])
369- let aY = parseIntValue(aV[2])
370- let aZ = (("address_" + aW) + "_total_earned")
371- let ba = v(aZ)
372- let bb = ((aX * 1000000) + aY)
373- let bc = (("address_" + aW) + "_change")
374- let bd = (bb - v(bc))
375- let be = [IntegerEntry(bc, aY), IntegerEntry(aZ, (ba + bd)), IntegerEntry(((("address_" + aW) + "_reward_") + toString(lastBlock.timestamp)), bd)]
376- if ((aX > 0))
377- then $Tuple2((ad._1 + aX), ((ad._2 ++ be) ++ [ScriptTransfer(F, aX, H())]))
378- else $Tuple2(ad._1, (ad._2 ++ be))
354+ let aR = split(aP, ";")
355+ func aS (aa,aT) = {
356+ let aU = split(aT, "=")
357+ let aV = aU[0]
358+ let aA = addressFromStringValue(aV)
359+ let aW = parseIntValue(aU[1])
360+ let aX = parseIntValue(aU[2])
361+ let aY = (("address_" + aV) + "_total_earned")
362+ let aZ = u(aY)
363+ let ba = ((aW * 1000000) + aX)
364+ let bb = (("address_" + aV) + "_change")
365+ let bc = (ba - u(bb))
366+ let bd = [IntegerEntry(bb, aX), IntegerEntry(aY, (aZ + bc)), IntegerEntry(((("address_" + aV) + "_reward_") + toString(lastBlock.timestamp)), bc)]
367+ if ((aW > 0))
368+ then $Tuple2((aa._1 + aW), ((aa._2 ++ bd) ++ [ScriptTransfer(aA, aW, E())]))
369+ else $Tuple2(aa._1, (aa._2 ++ bd))
379370 }
380371
381- let bf = {
382- let bg = aS
383- let bh = size(bg)
384- let bi = $Tuple2(0, nil)
385- if ((bh == 0))
386- then bi
372+ let be = {
373+ let bf = aR
374+ let bg = size(bf)
375+ let bh = $Tuple2(0, nil)
376+ if ((bg == 0))
377+ then bh
387378 else {
388- let bj = aT(bi, bg[0])
389- if ((bh == 1))
390- then bj
379+ let bi = aS(bh, bf[0])
380+ if ((bg == 1))
381+ then bi
391382 else {
392- let bk = aT(bj, bg[1])
393- if ((bh == 2))
394- then bk
383+ let bj = aS(bi, bf[1])
384+ if ((bg == 2))
385+ then bj
395386 else {
396- let bl = aT(bk, bg[2])
397- if ((bh == 3))
398- then bl
387+ let bk = aS(bj, bf[2])
388+ if ((bg == 3))
389+ then bk
399390 else {
400- let bm = aT(bl, bg[3])
401- if ((bh == 4))
402- then bm
391+ let bl = aS(bk, bf[3])
392+ if ((bg == 4))
393+ then bl
403394 else {
404- let bn = aT(bm, bg[4])
405- if ((bh == 5))
406- then bn
395+ let bm = aS(bl, bf[4])
396+ if ((bg == 5))
397+ then bm
407398 else {
408- let bo = aT(bn, bg[5])
409- if ((bh == 6))
410- then bo
399+ let bn = aS(bm, bf[5])
400+ if ((bg == 6))
401+ then bn
411402 else {
412- let bp = aT(bo, bg[6])
413- if ((bh == 7))
414- then bp
403+ let bo = aS(bn, bf[6])
404+ if ((bg == 7))
405+ then bo
415406 else {
416- let bq = aT(bp, bg[7])
417- if ((bh == 8))
418- then bq
407+ let bp = aS(bo, bf[7])
408+ if ((bg == 8))
409+ then bp
419410 else {
420- let br = aT(bq, bg[8])
421- if ((bh == 9))
422- then br
411+ let bq = aS(bp, bf[8])
412+ if ((bg == 9))
413+ then bq
423414 else {
424- let bs = aT(br, bg[9])
425- if ((bh == 10))
426- then bs
415+ let br = aS(bq, bf[9])
416+ if ((bg == 10))
417+ then br
427418 else {
428- let bt = aT(bs, bg[10])
429- if ((bh == 11))
430- then bt
419+ let bs = aS(br, bf[10])
420+ if ((bg == 11))
421+ then bs
431422 else {
432- let bu = aT(bt, bg[11])
433- if ((bh == 12))
434- then bu
423+ let bt = aS(bs, bf[11])
424+ if ((bg == 12))
425+ then bt
435426 else {
436- let bv = aT(bu, bg[12])
437- if ((bh == 13))
438- then bv
427+ let bu = aS(bt, bf[12])
428+ if ((bg == 13))
429+ then bu
439430 else {
440- let bw = aT(bv, bg[13])
441- if ((bh == 14))
442- then bw
431+ let bv = aS(bu, bf[13])
432+ if ((bg == 14))
433+ then bv
443434 else {
444- let bx = aT(bw, bg[14])
445- if ((bh == 15))
446- then bx
435+ let bw = aS(bv, bf[14])
436+ if ((bg == 15))
437+ then bw
447438 else {
448- let by = aT(bx, bg[15])
449- if ((bh == 16))
450- then by
439+ let bx = aS(bw, bf[15])
440+ if ((bg == 16))
441+ then bx
451442 else {
452- let bz = aT(by, bg[16])
453- if ((bh == 17))
454- then bz
443+ let by = aS(bx, bf[16])
444+ if ((bg == 17))
445+ then by
455446 else {
456- let bA = aT(bz, bg[17])
457- if ((bh == 18))
458- then bA
447+ let bz = aS(by, bf[17])
448+ if ((bg == 18))
449+ then bz
459450 else {
460- let bB = aT(bA, bg[18])
461- if ((bh == 19))
462- then bB
451+ let bA = aS(bz, bf[18])
452+ if ((bg == 19))
453+ then bA
463454 else {
464- let bC = aT(bB, bg[19])
465- if ((bh == 20))
466- then bC
455+ let bB = aS(bA, bf[19])
456+ if ((bg == 20))
457+ then bB
467458 else {
468- let bD = aT(bC, bg[20])
459+ let bC = aS(bB, bf[20])
469460 throw("List size exceed 20")
470461 }
471462 }
472463 }
473464 }
474465 }
475466 }
476467 }
477468 }
478469 }
479470 }
480471 }
481472 }
482473 }
483474 }
484475 }
485476 }
486477 }
487478 }
488479 }
489480 }
490481 }
491482 }
492- let az = v(s)
493- (bf._2 ++ [IntegerEntry(s, (az - (bf._1 * 1000000))), IntegerEntry(t, 0)])
483+ let aw = u(r)
484+ (be._2 ++ [IntegerEntry(r, (aw - (be._1 * 1000000))), IntegerEntry(s, 0)])
494485 }
495486
496487
497-@Verifier(aM)
498-func bE () = {
499- let bF = (v(d) >= v(f))
500- func bG (ad,bH) = if ((bH.assetId == H()))
501- then (ad + bH.amount)
502- else ad
503488
504- let x = aM
505- if ($isInstanceOf(x, "InvokeScriptTransaction"))
489+@Callable(G)
490+func swapEgg () = if ((G.caller != b))
491+ then throw("Method can be called by master account only")
492+ else {
493+ let bD = assetBalance(this, d)
494+ let bE = invoke(e, "swapEgg", nil, [AttachedPayment(d, bD)])
495+ if ((bE == bE))
496+ then [BooleanEntry("swapped_egg", true), IntegerEntry("swapped_egg_amount", bD)]
497+ else throw("Strict value is not equal to itself.")
498+ }
499+
500+
501+
502+@Callable(G)
503+func payChange (aP) = if ((G.caller != b))
504+ then throw("Method can be called only by main account")
505+ else {
506+ let bF = split(aP, ";")
507+ if ((size(bF) > 20))
508+ then throw("Can't send more than 20 transfers at once")
509+ else {
510+ func aS (aa,aV) = {
511+ let bb = (("address_" + aV) + "_change")
512+ let aY = (("address_" + aV) + "_total_earned")
513+ let bG = u(bb)
514+[IntegerEntry(bb, 0), IntegerEntry(aY, 0), ScriptTransfer(addressFromStringValue(aV), bG, E())]
515+ }
516+
517+ let be = {
518+ let bH = bF
519+ let bI = size(bH)
520+ let bJ = nil
521+ if ((bI == 0))
522+ then bJ
523+ else {
524+ let bK = aS(bJ, bH[0])
525+ if ((bI == 1))
526+ then bK
527+ else {
528+ let bL = aS(bK, bH[1])
529+ if ((bI == 2))
530+ then bL
531+ else {
532+ let bM = aS(bL, bH[2])
533+ if ((bI == 3))
534+ then bM
535+ else {
536+ let bN = aS(bM, bH[3])
537+ if ((bI == 4))
538+ then bN
539+ else {
540+ let bO = aS(bN, bH[4])
541+ if ((bI == 5))
542+ then bO
543+ else {
544+ let bP = aS(bO, bH[5])
545+ if ((bI == 6))
546+ then bP
547+ else {
548+ let bQ = aS(bP, bH[6])
549+ if ((bI == 7))
550+ then bQ
551+ else {
552+ let bR = aS(bQ, bH[7])
553+ if ((bI == 8))
554+ then bR
555+ else {
556+ let bS = aS(bR, bH[8])
557+ if ((bI == 9))
558+ then bS
559+ else {
560+ let bT = aS(bS, bH[9])
561+ if ((bI == 10))
562+ then bT
563+ else {
564+ let bU = aS(bT, bH[10])
565+ if ((bI == 11))
566+ then bU
567+ else {
568+ let bV = aS(bU, bH[11])
569+ if ((bI == 12))
570+ then bV
571+ else {
572+ let bW = aS(bV, bH[12])
573+ if ((bI == 13))
574+ then bW
575+ else {
576+ let bX = aS(bW, bH[13])
577+ if ((bI == 14))
578+ then bX
579+ else {
580+ let bY = aS(bX, bH[14])
581+ if ((bI == 15))
582+ then bY
583+ else {
584+ let bZ = aS(bY, bH[15])
585+ if ((bI == 16))
586+ then bZ
587+ else {
588+ let ca = aS(bZ, bH[16])
589+ if ((bI == 17))
590+ then ca
591+ else {
592+ let cb = aS(ca, bH[17])
593+ if ((bI == 18))
594+ then cb
595+ else {
596+ let cc = aS(cb, bH[18])
597+ if ((bI == 19))
598+ then cc
599+ else {
600+ let cd = aS(cc, bH[19])
601+ if ((bI == 20))
602+ then cd
603+ else {
604+ let ce = aS(cd, bH[20])
605+ throw("List size exceed 20")
606+ }
607+ }
608+ }
609+ }
610+ }
611+ }
612+ }
613+ }
614+ }
615+ }
616+ }
617+ }
618+ }
619+ }
620+ }
621+ }
622+ }
623+ }
624+ }
625+ }
626+ }
627+ }
628+ be
629+ }
630+ }
631+
632+
633+@Verifier(aK)
634+func cf () = {
635+ let cg = (u(f) >= u(h))
636+ func ch (aa,ci) = if ((ci.assetId == E()))
637+ then (aa + ci.amount)
638+ else aa
639+
640+ let w = aK
641+ if ($isInstanceOf(w, "InvokeScriptTransaction"))
506642 then {
507- let bI = x
508- let aJ = v(t)
509- let az = v(s)
510- let aP = (aJ + az)
511- if (if ((bI.function == "unstakeNFT"))
643+ let cj = w
644+ let aH = u(s)
645+ let aw = u(r)
646+ let aN = (aH + aw)
647+ if (if ((cj.function == "unstakeNFT"))
512648 then true
513- else (bI.function == "unstakeJackpot"))
649+ else (cj.function == "unstakeJackpot"))
514650 then throw("You cannot call these functions directly")
515- else if ((sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey) == false))
651+ else if ((sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey) == false))
516652 then throw("_100")
517- else if ((bF == false))
653+ else if ((cg == false))
518654 then throw("_14")
519- else if ((A(o) == true))
655+ else if ((z(n) == true))
520656 then throw("_22")
521- else if (if ((bI.fee > 900000))
657+ else if (if ((cj.fee > 900000))
522658 then true
523- else (bI.feeAssetId != unit))
659+ else (cj.feeAssetId != unit))
524660 then throw("_15")
525- else if ((bI.function == "claimReward"))
661+ else if ((cj.function == "claimReward"))
526662 then throw("_16")
527- else if ((size(bI.payments) > 2))
663+ else if ((size(cj.payments) > 2))
528664 then throw("_17")
529- else if ((aP > ((assetBalance(this, H()) - {
530- let bJ = bI.payments
531- let bK = size(bJ)
532- let bL = 0
533- if ((bK == 0))
534- then bL
665+ else if ((aN > ((assetBalance(this, E()) - {
666+ let ck = cj.payments
667+ let cl = size(ck)
668+ let cm = 0
669+ if ((cl == 0))
670+ then cm
535671 else {
536- let bM = bG(bL, bJ[0])
537- if ((bK == 1))
538- then bM
672+ let cn = ch(cm, ck[0])
673+ if ((cl == 1))
674+ then cn
539675 else {
540- let bN = bG(bM, bJ[1])
541- if ((bK == 2))
542- then bN
676+ let co = ch(cn, ck[1])
677+ if ((cl == 2))
678+ then co
543679 else {
544- let bO = bG(bN, bJ[2])
545- if ((bK == 3))
546- then bO
680+ let cp = ch(co, ck[2])
681+ if ((cl == 3))
682+ then cp
547683 else {
548- let bP = bG(bO, bJ[3])
684+ let cq = ch(cp, ck[3])
549685 throw("List size exceed 3")
550686 }
551687 }
552688 }
553689 }
554690 }) * 1000000)))
555- then throw(("Your minimal balance should be = " + toString(aP)))
556- else if (if ((addressFromRecipient(bI.dApp) == this))
557- then (bI.function == "callUnstakeProxy")
691+ then throw(("Your minimal balance should be = " + toString(aN)))
692+ else if (if ((addressFromRecipient(cj.dApp) == this))
693+ then (cj.function == "callUnstakeProxy")
558694 else false)
559- then sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
560- else if (if ((addressFromRecipient(bI.dApp) == this))
561- then (bI.function == "revertTransfer")
695+ then sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
696+ else if (if ((addressFromRecipient(cj.dApp) == this))
697+ then (cj.function == "revertTransfer")
562698 else false)
563- then sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
564- else if (if ((addressFromRecipient(bI.dApp) == this))
565- then (bI.function == "claimCeoFee")
699+ then sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
700+ else if (if ((addressFromRecipient(cj.dApp) == this))
701+ then (cj.function == "claimCeoFee")
566702 else false)
567- then sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
568- else if (if ((addressFromRecipient(bI.dApp) == this))
569- then if ((bI.function == "lockInvestments"))
703+ then sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
704+ else if (if ((addressFromRecipient(cj.dApp) == this))
705+ then if ((cj.function == "lockInvestments"))
570706 then true
571- else (bI.function == "unlockInvestments")
707+ else (cj.function == "unlockInvestments")
572708 else false)
573- then sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
574- else if (if ((addressFromRecipient(bI.dApp) == addressFromStringValue(G())))
575- then (bI.function == "callMarketplaceProxy")
709+ then sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
710+ else if (if ((addressFromRecipient(cj.dApp) == addressFromStringValue(D())))
711+ then (cj.function == "callMarketplaceProxy")
576712 else false)
577- then sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
713+ then sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
578714 else {
579- let bQ = B(b, "allowed_contracts")
580- let bR = split(bQ, ";")
581- let bS = toString(addressFromRecipient(bI.dApp))
582- (indexOf(bR, bS) != unit)
715+ let cr = A(b, "allowed_contracts")
716+ let cs = split(cr, ";")
717+ let ct = toString(addressFromRecipient(cj.dApp))
718+ (indexOf(cs, ct) != unit)
583719 }
584720 }
585- else if ($isInstanceOf(x, "SetScriptTransaction"))
721+ else if ($isInstanceOf(w, "SetScriptTransaction"))
586722 then {
587- let bT = x
588- sigVerify(aM.bodyBytes, aM.proofs[0], a)
723+ let cu = w
724+ sigVerify(aK.bodyBytes, aK.proofs[0], a)
589725 }
590726 else false
591727 }
592728

github/deemru/w8io/3ef1775 
403.24 ms