tx · DsucG4TWZ7dYEc4iAS8cpBDgEVXpitxqqXkvi3dXgun8 3N88cyFPyd518AoTfbNvbPJTkEF12kGgGnX: -0.01000000 Waves 2021.12.06 09:07 [1822021] smart account 3N88cyFPyd518AoTfbNvbPJTkEF12kGgGnX > SELF 0.00000000 Waves
{ "type": 13, "id": "DsucG4TWZ7dYEc4iAS8cpBDgEVXpitxqqXkvi3dXgun8", "fee": 1000000, "feeAssetId": null, "timestamp": 1638770853596, "version": 1, "sender": "3N88cyFPyd518AoTfbNvbPJTkEF12kGgGnX", "senderPublicKey": "F1iraHvLza5gYutq8W3z1BChdgxUEYajVABUbzM6Fy62", "proofs": [ "5HNZdiAvBjWSzvtCtFtTKNEYGCxh9hMvHifycM3rNn9nnerZtMBtvmivomeufbXgL4tFw3EoWKPRQxTLnyg5oDPC" ], "script": "base64:AAIFAAAAAAAADvkIAhIAEgASAwoBARIAEgASBgoEGBEBARIAEgAaEgoCYTESDGFkbWluUHViS2V5MRoSCgJhMhIMYWRtaW5QdWJLZXkyGhIKAmEzEgxhZG1pblB1YktleTMaGgoCYTQSFGFkbWluUHViS2V5U3RhcnRTdG9wGhcKAmE1EhFhZG1pblB1YktleVdhbGxldBoPCgJhNhIJa2V5QWN0aXZlGg4KAmE3EghrZXlDYXVzZRoVCgJhOBIPa2V5TGFzdEludGVyZXN0GhkKAmE5EhNrZXlVc2VyTGFzdEludGVyZXN0GhcKAmIxEhFrZXlVc2VyU1dPUExvY2tlZBoaCgJiMhIUa2V5VXNlckdldEJhY2tIZWlnaHQaGAoCYjMSEmtleVRvdGFsU1dPUExvY2tlZBoYCgJiNBISa1VzZXJUb3RhbFZvdGVTV09QGh0KAmI1EhdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudBoeCgJiNhIYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50Gh4KAmI3EhhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQaIgoCYjgSHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQaEQoCYjkSC2tleVZvdGVOYW1lGhMKAmMxEg1rZXlPcHRpb25OYW1lGhoKAmMyEhRrZXlWb3RpbmdTdGFydEhlaWdodBoVCgJjMxIPa2V5Vm90ZUR1cmF0aW9uGiIKAmM0EhxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50GiMKAmM1Eh1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cxobCgJjNhIVa2V5SGVpZ2h0UG9vbEZyYWN0aW9uGiMKAmM3Eh1rZXlUb3RhbFJld2FyZFBlckJsb2NrQ3VycmVudBokCgJjOBIea2V5VG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzGhsKAmM5EhVrZXlSZXdhcmRVcGRhdGVIZWlnaHQaKgoCZDESJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodBobCgJkMhIVa2V5Tm9Wb3RpbmdGb3JOZXdQb29sGhwKAmQzEhZrZXlZZXNWb3RpbmdGb3JOZXdQb29sGiEKAmQ0EhtrZXlBbW91bnRPZlZvdGluZ0Zvck5ld1Bvb2waIQoCZDUSG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbBolCgJkNhIfa2V5SGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbBoVCgJkNxIPYWN0aXZlVm90ZUZpcnN0GhYKAmQ4EhBhY3RpdmVWb3RlU2Vjb25kGhUKAmQ5Eg9hY3RpdmVWb3RlVGhpcmQaEwoCZTESDWtleVRlbXBDdXJTdW0aDgoCZTISCGlzQWN0aXZlGhgKAmUzEhJmYXJtaW5nU1dPUEFkZHJlc3MaGAoCZTQSEnZvdGluZ0xpdGVDb250cmFjdBoWCgJlNRIQdm90aW5nRm9yTmV3UG9vbBoPCgJlNhIJa2V5U1dPUGlkGgoKAmU3EgRTV09QGhAKAmU4EgpzY2FsZVZhbHVlGhQKAmU5Eg50b3RhbFZvdGVTaGFyZRoSCgJmMRIMa1N0YXJ0SGVpZ2h0GhEKAmYyEgtrQmFzZVBlcmlvZBoTCgJmMxINa1BlcmlvZExlbmd0aBoVCgJmNBIPa1VzZXJUb3RhbFN0cnVjGhAKAmY1EgpiYXNlUGVyaW9kGhEKAmY2EgtzdGFydEhlaWdodBoSCgJmNxIMcGVyaW9kTGVuZ3RoGhUKAmY4Eg9maXJzdEFjdGl2ZVZvdGUaFgoCZjkSEHNlY29uZEFjdGl2ZVZvdGUaFQoCZzESD3RoaXJkQWN0aXZlVm90ZRoWCgJnMhIQY3VyclZvdGluZ1BlcmlvZBoNCgJnMxIHc3VzcGVuZBoLCgJnNBIFY2F1c2UaGAoCZzUSEnRocm93Tm90RW5vdWdoU1dPUBoZCgJnNhITZ2V0TGFzdEludGVyZXN0SW5mbxoSCgJnNxIMbGFzdEludGVyZXN0GhcKAmc4EhFnZXRVc2VyU1dPUExvY2tlZBoKCgJnORIEdXNlchoeCgJoMRIYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50GhwKAmgyEhZnZXRVc2VyVG90YWxWb3RlQW1vdW50GhkKAmgzEhNnZXRVc2VySW50ZXJlc3RJbmZvGhQKAmg0Eg51c2VyU1dPUEFtb3VudBoWCgJoNRIQdXNlckxhc3RJbnRlcmVzdBobCgJoNhIVdXNlckxhc3RJbnRlcmVzdFZhbHVlGg0KAmg3EgckbWF0Y2gwGiYKAmg4EiBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbBoKCgJoORIEcG9vbBoMCgJpMRIGdm90aW5nGhQKAmkyEg5oZWlnaHRPZlZvdGluZxoUCgJpMxIOc3RhdHVzT2ZWb3RpbmcaEwoCaTQSDWN1cnJlbnRIZWlnaHQaJgoCaTUSIGdldFVzZXJUb3RhbFZvdGVGb3JOZXdQb29sQW1vdW50GhIKAmk2EgxsaXN0T2ZWb3RpbmcaGAoCaTcSEmdldFRvdGFsU1dPUExvY2tlZBoVCgJpOBIPZ2V0VXNlclZvdGVJbmZvGhEKAmk5EgskdDA1OTkzNjU0NBoKCgJqMRIEZGF0YRoUCgJqMhIOdVBvb2xUb3RhbFNXT1AaFwoCajMSEXVzZXJUb3RhbFZvdGVTV09QGhEKAmo0Egt1c2VyVW52b3RlZBoXCgJqNRIRdXNlclVudm90ZWRQZXJpb2QaFwoCajYSEXVzZXJVbnZvdGVkQWN0dWFsGh0KAmo3EhdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudBoaCgJqOBIUZ2V0Vm90aW5nU3RhcnRIZWlnaHQaDgoCajkSCHZvdGVOYW1lGhkKAmsxEhNnZXRQb29sVXBkYXRlSGVpZ2h0Gh4KAmsyEhhpc0RlZmluZVBvb2xVcGRhdGVIZWlnaHQaFgoCazMSEGdldEN1clBvb2xXZWlnaHQaFwoCazQSEWdldFByZXZQb29sV2VpZ2h0GhkKAms1EhNnZXRWb3RlT3B0aW9uQW1vdW50GgwKAms2EgZvcHRpb24aGgoCazcSFHVzZXJWb3RlT3B0aW9uQW1vdW50GgoKAms4EgR1dm9hGhUKAms5Eg9nZXRWb3RlRHVyYXRpb24aHgoCbDESGGdldFRvdGFsVm90ZU9wdGlvbkFtb3VudBobCgJsMhIVdG90YWxWb3RlT3B0aW9uQW1vdW50GgoKAmwzEgR0dm9hGhoKAmw0EhRnZXRVc2VyR2V0QmFja0Ftb3VudBoXCgJsNRIRZ2V0QmFja1NXT1BIZWlnaHQaCQoCbDYSA2tleRoPCgJsNxIJY2xhaW1DYWxjGgwKAmw4EgZjYWxsZXIaEQoCbDkSCyR0MDg5NDg5MDI4GhQKAm0xEg51c2VyU1dPUExvY2tlZBoRCgJtMhILY2xhaW1BbW91bnQaFQoCbTMSD3VzZXJOZXdJbnRlcmVzdBoRCgJtNBILJHQwOTI5MzkzNjgaDwoCbTUSCXBtdEFtb3VudBoQCgJtNhIKcG10QXNzZXRJZBoVCgJtNxIPdG90YWxTV09QTG9ja2VkGhEKAm04EgtpbnRlcmVzdE5ldxoRCgJtORILJHQwOTgwNjk4ODEaEgoCbjESDCR0MDk5OTcxMDA3ORoXCgJuMhIRdXNlclNXT1BMb2NrZWROZXcaGAoCbjMSEnRvdGFsU1dPUExvY2tlZE5ldxoXCgJuNBIRdXNlckNsYWltZWRBbW91bnQaGgoCbjUSFHVzZXJDbGFpbWVkQW1vdW50TmV3GhQKAm42Eg53aXRoZHJhd0Ftb3VudBoTCgJuNxINJHQwMTEyMjkxMTI4NBoTCgJuOBINJHQwMTEyODkxMTM3OBoUCgJuORIOdXNlclZvdGVBbW91bnQaFgoCbzESEHVzZXJVbnZvdGVBbW91bnQaHgoCbzISGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbBoYCgJvMxISYXZhaWxhYmxlVG9VbnN0YWtlGhcKAm80EhF1c2VyU1dPUGFtb3VudE5ldxoTCgJvNRINJHQwMTI3NTgxMjgxMxoTCgJvNhINJHQwMTM1OTIxMzY0NxoSCgJvNxIMY3VycmVudFBvb2xzGhQKAm84Eg5jdXJyZW50UmV3YXJkcxoYCgJvORIScmV3YXJkVXBkYXRlSGVpZ2h0GhAKAnAxEgpwYWdpbmF0aW9uGhEKAnAyEgthbW91bnRQb29scxodCgJwMxIXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQaCQoCcDQSA3N1bRofCgJwNRIZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeRoRCgJwNhILYWNjdW11bGF0ZWQaHAoCcDcSFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQaEAoCcDgSCnBvb2xSZXdhcmQaHgoCcDkSGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeRoPCgJxMRIJcG9vbEluZGV4GhcKAnEyEhFjaGFuZ2VIZWlnaHRFbnRyeRoQCgJxMxIKcG9vbEhlaWdodBoSCgJxNBIMZ2V0U3VtUmV3YXJkGhAKAnE1EgpjdXJUZW1wU3VtGhcKAnE2EhFjdXJUZW1wU3VtRnJvbUtleRosCgJxNxImcmV3YXJkVXBk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", "chainId": 84, "height": 1822021, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = base58'DXDY2itiEcYBtGkVLnkpHtDFyWQUkoLJz79uJ7ECbMrA' | |
5 | + | ||
6 | + | let b = base58'E6Wa1SGoktYcjHjsKrvjMiqJY3SWmGKcD8Q5L8kxSPS7' | |
7 | + | ||
8 | + | let c = base58'AZmWJtuy4GeVrMmJH4hfFBRApe1StvhJSk4jcbT6bArQ' | |
9 | + | ||
10 | + | let d = base58'EtVkT6ed8GtbUiVVEqdmEqsp2J4qbb3rre2HFgxeVYdg' | |
11 | + | ||
12 | + | let e = base58'GTY8yEJ2S4heRompxyvbJoBN1Td5BM5Pp4JgVbj9tmCw' | |
13 | + | ||
14 | + | let f = "active" | |
15 | + | ||
16 | + | let g = "shutdown_cause" | |
17 | + | ||
18 | + | let h = "last_interest" | |
19 | + | ||
20 | + | let i = "_last_interest" | |
21 | + | ||
22 | + | let j = "_SWOP_amount" | |
23 | + | ||
24 | + | let k = "_getBackHeight" | |
25 | + | ||
26 | + | let l = "total_SWOP_amount" | |
27 | + | ||
28 | + | let m = "_user_total_SWOP_vote" | |
29 | + | ||
30 | + | let n = "_SWOP_option_amount" | |
31 | + | ||
32 | + | let o = "total_SWOP_option_amount" | |
33 | + | ||
34 | + | let p = "_SWOP_claimed_amount" | |
35 | + | ||
36 | + | let q = "_SWOP_last_claimed_amount" | |
37 | + | ||
38 | + | let r = "vote_name" | |
39 | + | ||
40 | + | let s = "_option_name" | |
41 | + | ||
42 | + | let t = "_startHeight" | |
43 | + | ||
44 | + | let u = "_vote_duration" | |
45 | + | ||
46 | + | let v = "_current_pool_fraction_reward" | |
47 | + | ||
48 | + | let w = "_previous_pool_fraction_reward" | |
49 | + | ||
50 | + | let x = "_pool_reward_update_height" | |
51 | + | ||
52 | + | let y = "total_reward_per_block_current" | |
53 | + | ||
54 | + | let z = "total_reward_per_block_previous" | |
55 | + | ||
56 | + | let A = "reward_update_height" | |
57 | + | ||
58 | + | let B = "reward_update_height_first_pagination" | |
59 | + | ||
60 | + | let C = "_vote_no" | |
61 | + | ||
62 | + | let D = "_vote_yes" | |
63 | + | ||
64 | + | let E = "max_amount_voting" | |
65 | + | ||
66 | + | let F = "_status" | |
67 | + | ||
68 | + | let G = "_finish_height" | |
69 | + | ||
70 | + | let H = "voting_active_cell_1" | |
71 | + | ||
72 | + | let I = "voting_active_cell_2" | |
73 | + | ||
74 | + | let J = "voting_active_cell_3" | |
75 | + | ||
76 | + | let K = "sum_reward_current" | |
77 | + | ||
78 | + | let L = valueOrElse(getBoolean(this, f), true) | |
79 | + | ||
80 | + | let M = Address(base58'3P73HDkPqG15nLXevjCbmXtazHYTZbpPoPw') | |
81 | + | ||
82 | + | let N = Address(base58'3PQZWxShKGRgBN1qoJw6B4s9YWS9FneZTPg') | |
83 | + | ||
84 | + | let O = Address(base58'3PHgHf5C4WvHJucSHrjoVnMFsP1EhWffVLt') | |
85 | + | ||
86 | + | let P = "SWOP_id" | |
87 | + | ||
88 | + | let Q = fromBase58String("Ccgesc9iWMSg1f8CqFP5nZwgF6xsGirReDhpvNp1JAWW") | |
89 | + | ||
90 | + | let R = 100000000 | |
91 | + | ||
92 | + | let S = 10000000000 | |
93 | + | ||
94 | + | let T = "start_height" | |
95 | + | ||
96 | + | let U = "base_period" | |
97 | + | ||
98 | + | let V = "period_length" | |
99 | + | ||
100 | + | let W = "_user_total_struc" | |
101 | + | ||
102 | + | let X = valueOrErrorMessage(getInteger(N, U), "Empty kBasePeriod at voting contract") | |
103 | + | ||
104 | + | let Y = valueOrErrorMessage(getInteger(N, T), "Empty kStartHeight at voting contract") | |
105 | + | ||
106 | + | let Z = valueOrErrorMessage(getInteger(N, V), "Empty kPeriodLength at voting contract") | |
107 | + | ||
108 | + | let aa = valueOrElse(getString(O, H), "") | |
109 | + | ||
110 | + | let ab = valueOrElse(getString(O, I), "") | |
111 | + | ||
112 | + | let ac = valueOrElse(getString(O, J), "") | |
113 | + | ||
114 | + | let ad = (X + ((height - Y) / Z)) | |
115 | + | ||
116 | + | func ae (af) = [BooleanEntry(f, false), StringEntry(g, af)] | |
117 | + | ||
118 | + | ||
119 | + | func ag () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount") | |
120 | + | ||
121 | + | ||
122 | + | func ah () = { | |
123 | + | let ai = valueOrElse(getInteger(this, h), 0) | |
124 | + | ai | |
125 | + | } | |
126 | + | ||
127 | + | ||
128 | + | func aj (ak) = valueOrElse(getInteger(this, (toString(ak) + j)), 0) | |
129 | + | ||
130 | + | ||
131 | + | func al (ak) = valueOrElse(getInteger(this, (toString(ak) + p)), 0) | |
132 | + | ||
133 | + | ||
134 | + | func am (ak) = valueOrElse(getInteger(N, (toString(ak) + m)), 0) | |
135 | + | ||
136 | + | ||
137 | + | func an (ak,ai) = { | |
138 | + | let ao = aj(ak) | |
139 | + | let ap = getInteger(this, (toString(ak) + i)) | |
140 | + | let aq = { | |
141 | + | let ar = ap | |
142 | + | if ($isInstanceOf(ar, "Int")) | |
143 | + | then { | |
144 | + | let ap = ar | |
145 | + | ap | |
146 | + | } | |
147 | + | else ai | |
148 | + | } | |
149 | + | $Tuple2(aq, ao) | |
150 | + | } | |
151 | + | ||
152 | + | ||
153 | + | func as (at,ak) = { | |
154 | + | let au = valueOrElse(getInteger(O, at), -1) | |
155 | + | let av = valueOrElse(getInteger(O, (toString(au) + G)), 0) | |
156 | + | let aw = valueOrElse(getBoolean(O, (toString(au) + F)), true) | |
157 | + | let ax = height | |
158 | + | if ((0 > au)) | |
159 | + | then 0 | |
160 | + | else if (!(aw)) | |
161 | + | then 0 | |
162 | + | else if ((av > ax)) | |
163 | + | then (valueOrElse(getInteger(O, (((toString(ak) + "_") + toString(au)) + D)), 0) + valueOrElse(getInteger(O, (((toString(ak) + "_") + toString(au)) + C)), 0)) | |
164 | + | else 0 | |
165 | + | } | |
166 | + | ||
167 | + | ||
168 | + | func ay (ak) = { | |
169 | + | let az = [as(aa, ak), as(ab, ak), as(ac, ak)] | |
170 | + | max(az) | |
171 | + | } | |
172 | + | ||
173 | + | ||
174 | + | func aA () = valueOrElse(getInteger(this, l), 0) | |
175 | + | ||
176 | + | ||
177 | + | func aB (ak) = { | |
178 | + | let aC = if (isDefined(getString(N, (toString(ak) + W)))) | |
179 | + | then { | |
180 | + | let aD = split(valueOrErrorMessage(getString(N, (toString(ak) + W)), "Empty kUserTotalStruc"), "_") | |
181 | + | $Tuple3(parseIntValue(aD[0]), parseIntValue(aD[1]), parseIntValue(aD[2])) | |
182 | + | } | |
183 | + | else { | |
184 | + | let aE = valueOrElse(getInteger(N, (toString(ak) + m)), 0) | |
185 | + | $Tuple3(aE, 0, ad) | |
186 | + | } | |
187 | + | let aF = aC._1 | |
188 | + | let aG = aC._2 | |
189 | + | let aH = aC._3 | |
190 | + | let aI = if ((aH == ad)) | |
191 | + | then aG | |
192 | + | else 0 | |
193 | + | $Tuple2(aF, aI) | |
194 | + | } | |
195 | + | ||
196 | + | ||
197 | + | func aJ (ak) = valueOrElse(getInteger(this, (toString(ak) + n)), 0) | |
198 | + | ||
199 | + | ||
200 | + | func aK (aL) = valueOrElse(getInteger(this, (aL + t)), 0) | |
201 | + | ||
202 | + | ||
203 | + | func aM (at) = valueOrElse(getInteger(this, (at + x)), 0) | |
204 | + | ||
205 | + | ||
206 | + | func aN (at) = isDefined(getInteger(this, (at + x))) | |
207 | + | ||
208 | + | ||
209 | + | func aO (at) = valueOrElse(getInteger(this, (at + v)), 0) | |
210 | + | ||
211 | + | ||
212 | + | func aP (at) = valueOrElse(getInteger(this, (at + w)), 0) | |
213 | + | ||
214 | + | ||
215 | + | func aQ (ak,aL,aR) = { | |
216 | + | let aS = getInteger(this, (((aL + aR) + toString(ak)) + n)) | |
217 | + | let aT = { | |
218 | + | let ar = aS | |
219 | + | if ($isInstanceOf(ar, "Int")) | |
220 | + | then { | |
221 | + | let aT = ar | |
222 | + | aT | |
223 | + | } | |
224 | + | else if ($isInstanceOf(ar, "Unit")) | |
225 | + | then { | |
226 | + | let aT = ar | |
227 | + | 0 | |
228 | + | } | |
229 | + | else throw("Match error") | |
230 | + | } | |
231 | + | valueOrErrorMessage(aT, (((("No data on the key: " + aL) + aR) + toString(ak)) + n)) | |
232 | + | } | |
233 | + | ||
234 | + | ||
235 | + | func aU (aL) = valueOrErrorMessage(getInteger(this, (aL + u)), (("No data on the key: " + aL) + u)) | |
236 | + | ||
237 | + | ||
238 | + | func aV (aL,aR) = { | |
239 | + | let aW = getInteger(this, ((aL + aR) + o)) | |
240 | + | let aX = { | |
241 | + | let ar = aW | |
242 | + | if ($isInstanceOf(ar, "Int")) | |
243 | + | then { | |
244 | + | let aX = ar | |
245 | + | aX | |
246 | + | } | |
247 | + | else if ($isInstanceOf(ar, "Unit")) | |
248 | + | then { | |
249 | + | let aX = ar | |
250 | + | 0 | |
251 | + | } | |
252 | + | else throw("Match error") | |
253 | + | } | |
254 | + | aX | |
255 | + | } | |
256 | + | ||
257 | + | ||
258 | + | func aY (aL,aR,ak,aZ) = { | |
259 | + | let ba = ((((((aL + "_") + aR) + "_") + toString(ak)) + "_") + toString(aZ)) | |
260 | + | valueOrErrorMessage(getInteger(this, ba), ("No data on the key: " + ba)) | |
261 | + | } | |
262 | + | ||
263 | + | ||
264 | + | func bb (bc) = { | |
265 | + | let ai = ah() | |
266 | + | let bd = an(bc, ai) | |
267 | + | let ap = bd._1 | |
268 | + | let be = bd._2 | |
269 | + | let bf = fraction(be, (ai - ap), R) | |
270 | + | let bg = ai | |
271 | + | $Tuple2(bg, bf) | |
272 | + | } | |
273 | + | ||
274 | + | ||
275 | + | @Callable(bh) | |
276 | + | func airDrop () = if (!(L)) | |
277 | + | then throw("DApp is inactive at this moment") | |
278 | + | else { | |
279 | + | let bi = $Tuple2(bh.payments[0].amount, bh.payments[0].assetId) | |
280 | + | let bj = bi._1 | |
281 | + | let bk = bi._2 | |
282 | + | if ((bk != Q)) | |
283 | + | then throw("Incorrect pmtAssetId") | |
284 | + | else { | |
285 | + | let bl = aA() | |
286 | + | let ai = ah() | |
287 | + | let bm = (ai + fraction(bj, R, bl)) | |
288 | + | [IntegerEntry(h, bm)] | |
289 | + | } | |
290 | + | } | |
291 | + | ||
292 | + | ||
293 | + | ||
294 | + | @Callable(bh) | |
295 | + | func lockSWOP () = if (!(L)) | |
296 | + | then throw("DApp is inactive at this moment") | |
297 | + | else { | |
298 | + | let bn = $Tuple2(bh.payments[0].amount, bh.payments[0].assetId) | |
299 | + | let bj = bn._1 | |
300 | + | let bk = bn._2 | |
301 | + | if ((bk != Q)) | |
302 | + | then throw("Incorrect pmtAssetId") | |
303 | + | else { | |
304 | + | let ai = ah() | |
305 | + | let bo = an(bh.caller, ai) | |
306 | + | let ap = bo._1 | |
307 | + | let be = bo._2 | |
308 | + | let bf = fraction(be, (ai - ap), R) | |
309 | + | let bp = ((be + bj) + bf) | |
310 | + | let bg = ai | |
311 | + | let bl = aA() | |
312 | + | let bq = ((bl + bj) + bf) | |
313 | + | let br = al(bh.caller) | |
314 | + | let bs = (br + bf) | |
315 | + | [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + j), bp), IntegerEntry(l, bq), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)] | |
316 | + | } | |
317 | + | } | |
318 | + | ||
319 | + | ||
320 | + | ||
321 | + | @Callable(bh) | |
322 | + | func withdrawSWOP (bt) = if (!(L)) | |
323 | + | then throw("DApp is inactive at this moment") | |
324 | + | else if ((0 >= bt)) | |
325 | + | then throw("withdrawAmount <= 0") | |
326 | + | else { | |
327 | + | let bl = aA() | |
328 | + | let be = aj(bh.caller) | |
329 | + | let bu = bb(bh.caller) | |
330 | + | let bg = bu._1 | |
331 | + | let bf = bu._2 | |
332 | + | let bv = $Tuple2(0, 0) | |
333 | + | let bw = bv._1 | |
334 | + | let bx = bv._2 | |
335 | + | let by = ay(bh.caller) | |
336 | + | if (if (if ((0 > bx)) | |
337 | + | then true | |
338 | + | else (0 > bw)) | |
339 | + | then true | |
340 | + | else (0 > by)) | |
341 | + | then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0") | |
342 | + | else { | |
343 | + | let bz = (be - max([by, (bw + bx)])) | |
344 | + | if ((bt > bz)) | |
345 | + | then throw("withdrawAmount > availableToUnstake") | |
346 | + | else { | |
347 | + | let bq = ((bl + bf) - bt) | |
348 | + | let bA = ((be + bf) - bt) | |
349 | + | let br = al(bh.caller) | |
350 | + | let bs = (br + bf) | |
351 | + | [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + j), bA), IntegerEntry(l, bq), ScriptTransfer(bh.caller, bt, Q), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)] | |
352 | + | } | |
353 | + | } | |
354 | + | } | |
355 | + | ||
356 | + | ||
357 | + | ||
358 | + | @Callable(bh) | |
359 | + | func claimAndWithdrawSWOP () = if (!(L)) | |
360 | + | then throw("DApp is inactive at this moment") | |
361 | + | else { | |
362 | + | let ai = ah() | |
363 | + | let bB = bb(bh.caller) | |
364 | + | let bg = bB._1 | |
365 | + | let bf = bB._2 | |
366 | + | let br = al(bh.caller) | |
367 | + | let bs = (br + bf) | |
368 | + | if ((bf == 0)) | |
369 | + | then throw("You have 0 available SWOP") | |
370 | + | else [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf), ScriptTransfer(bh.caller, bf, Q)] | |
371 | + | } | |
372 | + | ||
373 | + | ||
374 | + | ||
375 | + | @Callable(bh) | |
376 | + | func claimAndStakeSWOP () = if (!(L)) | |
377 | + | then throw("DApp is inactive at this moment") | |
378 | + | else { | |
379 | + | let bl = aA() | |
380 | + | let be = aj(bh.caller) | |
381 | + | let ai = ah() | |
382 | + | let bC = bb(bh.caller) | |
383 | + | let bg = bC._1 | |
384 | + | let bf = bC._2 | |
385 | + | let bp = (be + bf) | |
386 | + | let bq = (bl + bf) | |
387 | + | let br = al(bh.caller) | |
388 | + | let bs = (br + bf) | |
389 | + | if ((bf == 0)) | |
390 | + | then throw("You have 0 available SWOP") | |
391 | + | else [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry(l, bq), IntegerEntry((toString(bh.caller) + j), bp), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)] | |
392 | + | } | |
393 | + | ||
394 | + | ||
395 | + | ||
396 | + | @Callable(bh) | |
397 | + | func updateWeights (bD,bE,bF,bG) = if (!(L)) | |
398 | + | then throw("DApp is inactive at this moment") | |
399 | + | else { | |
400 | + | let bH = 10 | |
401 | + | let bI = valueOrElse(getInteger(this, A), 0) | |
402 | + | if (!(containsElement([a, b, c, d, e], bh.callerPublicKey))) | |
403 | + | then throw("Only admin can call this function") | |
404 | + | else if ((size(bD) > bH)) | |
405 | + | then throw(("Max amount of pool is " + toString(bH))) | |
406 | + | else if ((bI >= bF)) | |
407 | + | then throw("rewardUpdateHeight <= totalRewardUpdateHeight") | |
408 | + | else if ((height >= bF)) | |
409 | + | then throw("height >= rewardUpdateHeight") | |
410 | + | else if ((0 >= bF)) | |
411 | + | then throw("0 >= rewardUpdateHeight ") | |
412 | + | else { | |
413 | + | func bJ (bK,bL) = (bK + bL) | |
414 | + | ||
415 | + | func bM (bN,at) = { | |
416 | + | let bO = aM(at) | |
417 | + | if (if (!(aN(at))) | |
418 | + | then true | |
419 | + | else if ((bF != bO)) | |
420 | + | then (bO == bI) | |
421 | + | else false) | |
422 | + | then { | |
423 | + | let bP = aO(at) | |
424 | + | IntegerEntry((at + w), bP) :: bN | |
425 | + | } | |
426 | + | else { | |
427 | + | let bP = aP(at) | |
428 | + | IntegerEntry((at + w), bP) :: bN | |
429 | + | } | |
430 | + | } | |
431 | + | ||
432 | + | func bQ (bN,at) = { | |
433 | + | let bR = value(indexOf(bD, at)) | |
434 | + | let bP = bE[bR] | |
435 | + | if ((0 > bP)) | |
436 | + | then throw("PoolReward < 0") | |
437 | + | else IntegerEntry((at + v), bP) :: bN | |
438 | + | } | |
439 | + | ||
440 | + | func bS (bN,at) = { | |
441 | + | let bT = bF | |
442 | + | IntegerEntry((at + x), bT) :: bN | |
443 | + | } | |
444 | + | ||
445 | + | func bU (bV,bG) = if ((bG == 0)) | |
446 | + | then if ((bV > S)) | |
447 | + | then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bG)) + " ") + toString(bV))) | |
448 | + | else $Tuple2([IntegerEntry(K, bV)], [IntegerEntry(B, bF)]) | |
449 | + | else if ((bG == 1)) | |
450 | + | then { | |
451 | + | let bW = valueOrElse(getInteger(this, K), 0) | |
452 | + | let bX = valueOrElse(getInteger(this, B), 0) | |
453 | + | if (((bV + bW) > S)) | |
454 | + | then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bG)) + " ") + toString((bV + bW)))) | |
455 | + | else if ((bX != bF)) | |
456 | + | then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry") | |
457 | + | else $Tuple2([IntegerEntry(K, (bV + bW))], nil) | |
458 | + | } | |
459 | + | else if ((bG == 2)) | |
460 | + | then { | |
461 | + | let bY = (valueOrElse(getInteger(this, K), 0) + bV) | |
462 | + | let bX = valueOrElse(getInteger(this, B), 0) | |
463 | + | if ((bY != S)) | |
464 | + | then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare") | |
465 | + | else if ((bX != bF)) | |
466 | + | then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry") | |
467 | + | else $Tuple2([IntegerEntry(K, bY)], nil) | |
468 | + | } | |
469 | + | else throw("Incorrect pagination") | |
470 | + | ||
471 | + | let bZ = { | |
472 | + | let ca = bD | |
473 | + | let cb = size(ca) | |
474 | + | let cc = nil | |
475 | + | func cd (ce,cf) = if ((cf >= cb)) | |
476 | + | then ce | |
477 | + | else bM(ce, ca[cf]) | |
478 | + | ||
479 | + | func cg (ce,cf) = if ((cf >= cb)) | |
480 | + | then ce | |
481 | + | else throw("List size exceeds 10") | |
482 | + | ||
483 | + | cg(cd(cd(cd(cd(cd(cd(cd(cd(cd(cd(cc, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
484 | + | } | |
485 | + | let ch = { | |
486 | + | let ca = bD | |
487 | + | let cb = size(ca) | |
488 | + | let cc = nil | |
489 | + | func cd (ce,cf) = if ((cf >= cb)) | |
490 | + | then ce | |
491 | + | else bQ(ce, ca[cf]) | |
492 | + | ||
493 | + | func cg (ce,cf) = if ((cf >= cb)) | |
494 | + | then ce | |
495 | + | else throw("List size exceeds 10") | |
496 | + | ||
497 | + | cg(cd(cd(cd(cd(cd(cd(cd(cd(cd(cd(cc, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
498 | + | } | |
499 | + | let ci = { | |
500 | + | let ca = bD | |
501 | + | let cb = size(ca) | |
502 | + | let cc = nil | |
503 | + | func cd (ce,cf) = if ((cf >= cb)) | |
504 | + | then ce | |
505 | + | else bS(ce, ca[cf]) | |
506 | + | ||
507 | + | func cg (ce,cf) = if ((cf >= cb)) | |
508 | + | then ce | |
509 | + | else throw("List size exceeds 10") | |
510 | + | ||
511 | + | cg(cd(cd(cd(cd(cd(cd(cd(cd(cd(cd(cc, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
512 | + | } | |
513 | + | let cj = { | |
514 | + | let ca = bE | |
515 | + | let cb = size(ca) | |
516 | + | let cc = 0 | |
517 | + | func cd (ce,cf) = if ((cf >= cb)) | |
518 | + | then ce | |
519 | + | else bJ(ce, ca[cf]) | |
520 | + | ||
521 | + | func cg (ce,cf) = if ((cf >= cb)) | |
522 | + | then ce | |
523 | + | else throw("List size exceeds 10") | |
524 | + | ||
525 | + | cg(cd(cd(cd(cd(cd(cd(cd(cd(cd(cd(cc, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
526 | + | } | |
527 | + | let ck = bU(cj, bG) | |
528 | + | let cl = ck._1 | |
529 | + | let bX = ck._2 | |
530 | + | let cm = if ((bG == 2)) | |
531 | + | then [IntegerEntry(A, bF)] | |
532 | + | else nil | |
533 | + | if ((height > bF)) | |
534 | + | then throw("rewardUpdateHeight < height") | |
535 | + | else (((((bZ ++ ch) ++ ci) ++ cl) ++ cm) ++ bX) | |
536 | + | } | |
537 | + | } | |
538 | + | ||
539 | + | ||
540 | + | ||
541 | + | @Callable(bh) | |
542 | + | func shutdown () = if (!(L)) | |
543 | + | then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified"))) | |
544 | + | else if (!(containsElement([a, b, c, d], bh.callerPublicKey))) | |
545 | + | then throw("Only admin can call this function") | |
546 | + | else ae("Paused by admin") | |
547 | + | ||
548 | + | ||
549 | + | ||
550 | + | @Callable(bh) | |
551 | + | func activate () = if (L) | |
552 | + | then throw("DApp is already active") | |
553 | + | else if (!(containsElement([a, b, c, d], bh.callerPublicKey))) | |
554 | + | then throw("Only admin can call this function") | |
555 | + | else [BooleanEntry(f, true), DeleteEntry(g)] | |
556 | + | ||
557 | + |
github/deemru/w8io/169f3d6 42.13 ms ◑