tx · 249zk6hPajqGoYiQbEsDaQaUu7P3iqTLugUMD9CeqYqb

3MwK6nw9HMwuKbXxu6J1rfecvePPd3JyAje:  -0.02700000 Waves

2022.11.30 15:11 [2339818] smart account 3MwK6nw9HMwuKbXxu6J1rfecvePPd3JyAje > SELF 0.00000000 Waves

{ "type": 13, "id": "249zk6hPajqGoYiQbEsDaQaUu7P3iqTLugUMD9CeqYqb", "fee": 2700000, "feeAssetId": null, "timestamp": 1669810269349, "version": 1, "sender": "3MwK6nw9HMwuKbXxu6J1rfecvePPd3JyAje", "senderPublicKey": "8JB75GXEKqxmpXc6KVtT9UNqJ3BBSUZDodYD4DU7CUUB", "proofs": [ "cZ8uqtRENNQQ7KncRm4dE6GDgKyKzbkQdm8sFtK917gCWrYnGxBWTz1ZQdrteACv8agjhxJW71oj71cUtzBDAQf" ], "script": "base64:AAIFAAAAAAAAD10IAhIJCgcBAQEBAQgBEgASBAoCCAgSBAoCCAgSBAoCCAgSAwoBCBIAIg9nZXRTdHJpbmdPckZhaWwiA2tleSIDU0VQIghCVUZTQ0FMRSIGc2NhbGU4Igh0aHJvd0VyciIDbXNnIh1jb252ZXJ0UHJpY2VBc3NldEludG9JZG9Bc3NldCIQcHJpY2VBc3NldEFtb3VudCIOcHJpY2VBc3NldE1VTFQiBXByaWNlIglwcmljZU1VTFQiDGlkb0Fzc2V0TVVMVCIPYlByaWNlQXNzZXRNVUxUIg1iSWRvQXNzZXRNVUxUIg5iUHJpY2VBc3NldEJVRiIPYkFtb3VudEFzc2V0QlVGIg5JZHhDZmdJZG9TdGFydCIRSWR4Q2ZnSWRvRHVyYXRpb24iEElkeENmZ0NsYWltU3RhcnQiE0lkeENmZ0NsYWltRHVyYXRpb24iC0lkeENmZ1ByaWNlIg9JZHhDZmdQcmljZU11bHQiEElkeENmZ0lkb0Fzc2V0SWQiEklkeENmZ0lkb0Fzc2V0TXVsdCISSWR4Q2ZnUHJpY2VBc3NldElkIhRJZHhDZmdQcmljZUFzc2V0TXVsdCIVSWR4Q2ZnTWluSW52ZXN0QW1vdW50Ig1mcm9tYXRDb25maWdTIghpZG9TdGFydCILaWRvRHVyYXRpb24iCmNsYWltU3RhcnQiDWNsYWltRHVyYXRpb24iCXByaWNlTXVsdCIMaWRvQXNzZXRJZDU4IgxpZG9Bc3NldE11bHQiDnByaWNlQXNzZXRJZDU4Ig5wcmljZUFzc2V0TXVsdCIPbWluSW52ZXN0QW1vdW50IhN0b3RhbElkb0Fzc2V0VG9TZWxsIgxmcm9tYXRDb25maWciEUlkeEludlRvdGFsQW1vdW50IhVJZHhJbnZSZW1haW5pbmdBbW91bnQiHUlkeEludkNsYWltZWRQcmljZUFzc2V0QW1vdW50IhtJZHhJbnZDbGFpbWVkSWRvQXNzZXRBbW91bnQiF0lkeEludkxhc3RDbGFpbWVkSGVpZ2h0Ig9mb3JtYXRJbnZlc3RvclMiC3RvdGFsQW1vdW50Ig9yZW1haW5pbmdBbW91bnQiF2NsYWltZWRQcmljZUFzc2V0QW1vdW50IhVjbGFpbWVkSWRvQXNzZXRBbW91bnQiEWxhc3RDbGFpbWVkSGVpZ2h0Ig5mb3JtYXRJbnZlc3RvciITZm9ybWF0SGlzdG9yeVJlY29yZCIOaWRvQXNzZXRBbW91bnQiCWtleUNvbmZpZyILa2V5SW52ZXN0b3IiC3VzZXJBZGRyZXNzIglrZXlUb3RhbHMiGWtleU9wZXJhdGlvbkhpc3RvcnlSZWNvcmQiBHR5cGUiBnR4SWQ1OCIUa2V5VVNETkNsYWltRGlzYWJsZWQiFWtleVVTRE5DbGFpbUVuZEhlaWdodCIPa2V5UGVyaW9kTGVuZ3RoIhBrZXlDdXJyZW50UGVyaW9kIhRrZXlQZXJpb2RTdGFydEhlaWdodCIJcGVyaW9kTnVtIhJrZXlQZXJpb2RFbmRIZWlnaHQiH2tleVVzZHRQcmljZUFzc2V0QWxsb3dhYmxlUmF0aW8iF2tleVRvdGFsUGVyaW9kQWxsb3dhbmNlIgdhc3NldElkIhZrZXlVc2VyUGVyaW9kQWxsb3dhbmNlIh5rZXlQZXJpb2RUb3RhbEF2YWlsYWJsZVRvQ2xhaW0iHWtleVBlcmlvZFVzZXJBdmFpbGFibGVUb0NsYWltIhtrZXlVc2R0UHJpY2VBc3NldFN0YWJsZVBvb2wiDmtleVVzZHRBc3NldElkIhRrZXlQcmljZUFzc2V0QmFsYW5jZSIHYWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiD3JlYWRDb25maWdBcnJheSIjcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0QnlDdXN0b21LZXkiCWN1c3RvbUtleSIYcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0IhpyZWFkSW52ZXN0b3JBcnJheU9yRGVmYXVsdCIXcmVhZEludmVzdG9yQXJyYXlPckZhaWwiFUlkeERpZmZUb3RhbEluY3JlbWVudCIkSWR4RGlmZlJlbWFpbmluZ1ByaWNlQW1vdW50SW5jcmVtZW50IiJJZHhEaWZmQ2xhaW1lZFByaWNlQW1vdW50SW5jcmVtZW50IiVJZHhEaWZmQ2xhaW1lZElkb0Fzc2V0QW1vdW50SW5jcmVtZW50IgtUb3RhbHNFbnRyeSIJb3JpZ0FycmF5Ig1pbmNyZW1lbnREaWZmIhRuZXdMYXN0Q2xhaW1lZEhlaWdodCIRcHJpY2VBc3NldEJhbGFuY2UiDm5ld1RvdGFsQW1vdW50IhJuZXdSZW1haW5pbmdBbW91bnQiCGNmZ0FycmF5IhJwcmljZUFzc2V0RGVjaW1hbHMiI3ByaWNlQXNzZXRCYWxhbmNlUHJpY2VBc3NldERlY2ltYWxzIhpuZXdDbGFpbWVkUHJpY2VBc3NldEFtb3VudCIYbmV3Q2xhaW1lZElkb0Fzc2V0QW1vdW50IgdlbnRyaWVzIhduZXdMb2dpY1JlbWFpbmluZ0Ftb3VudCIbSW52ZXN0T3BlcmF0aW9uSGlzdG9yeUVudHJ5IgR0eElkIhpDbGFpbU9wZXJhdGlvbkhpc3RvcnlFbnRyeSINaW50ZXJuYWxDbGFpbSIQY2xhaW1lZEFzc2V0SWQ1OCIIY2xhaW1FbmQiCmlkb0Fzc2V0SWQiDHByaWNlQXNzZXRJZCINdXNlckFkZHJlc3M1OCIPb3JpZ0ludmVzdEFycmF5IhFpbnZlc3RUb3RhbEFtb3VudCIaaW52ZXN0TGFzdENsYWltZWRIZWlnaHRUTVAiF2ludmVzdExhc3RDbGFpbWVkSGVpZ2h0IhRuZXdDbGFpbVBlcmlvZEhlaWdodCIOY2xhaW1pbmdCbG9ja3MiGGNsYWltaW5nUHJpY2VBc3NldEFtb3VudCIWY2xhaW1pbmdJZG9Bc3NldEFtb3VudCIGaXNVU0ROIhNpc1VTRE5DbGFpbURpc2FibGVkIgZjaGVja3MiD2ludGVybmFsQ2xhaW1WMiIJb3V0QW1vdW50Ihl0b3RhbFVzZXJBdmFpbGFibGVUb0NsYWltIh50b3RhbFBlcmlvZFByaWNlQXNzZXRBbGxvd2FuY2UiHXVzZXJQZXJpb2RQcmljZUFzc2V0QWxsb3dhbmNlIgxwZXJpb2RMZW5ndGgiDWN1cnJlbnRQZXJpb2QiG3plcm9QZXJpb2RFbmRIZWlnaElzRGVmaW5lZCINJHQwMTI1OTQxNDQ2NCIVbGFzdFBlcmlvZFN0YXJ0SGVpZ2h0IhNsYXN0UGVyaW9kRW5kSGVpZ2h0Ig0kdDAxMjg1NDEzNTU5IhR1cGRhdGVkQ3VycmVudFBlcmlvZCILcGVyaW9kU3RhcnQiF2Jsb2Nrc1RvTGFzdFBlcmlvZFN0YXJ0IglwZXJpb2RFbmQiFXplcm9QZXJpb2RTdGFydEhlaWdodCITemVyb1BlcmlvZEVuZEhlaWdodCINJHQwMTM4MTQxNDE5NiIbcGVyaW9kVG90YWxBdmFpbGFibGVUb0NsYWltIhpwZXJpb2RVc2VyQXZhaWxhYmxlVG9DbGFpbSIZcGVyaW9kTWluQXZhaWxhYmxlVG9DbGFpbSIcdXNkdFByaWNlQXNzZXRBbGxvd2FibGVSYXRpbyIbcHV0T25lVGtuVjJQcmljZUFzc2V0QW1vdW50Ig0kdDAxNTIxOTE1NDcyIgFAIgVib251cyIJZmVlQW1vdW50IghscEFtb3VudCILdXNkdEFzc2V0SWQiDSR0MDE1NTM0MTU3NTIiFGdldE9uZVRrblYyRmVlQW1vdW50Igp1c2R0QW1vdW50IhpjdXJyZW50VXNkdFByaWNlQXNzZXRSYXRpbyITZW5kUGVyaW9kQmxvY2tzTGVmdCIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCIHJG1hdGNoMCIBcyIdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQiC211c3RNYW5hZ2VyIgFpIgJwZCICcGsiBmlkb0VuZCIDcG10IgxpZG9Bc3NldEluZm8iDnByaWNlQXNzZXRJbmZvIg9vcmlnVG90YWxzQXJyYXkiCnRvdGFsc0RpZmYiDm1pbkl2ZXN0QW1vdW50IgpwbXRBc3NldElkIglwbXRBbW91bnQiEW9yaWdJbnZlc3RvckFycmF5IhNuZXdQcmljZVRvdGFsQW1vdW50IhZyZXF1aXJlZElkb0Fzc2V0QW1vdW50Ig9jYWxsZXJBZGRyZXNzNTgiEGNsYWltUmVzdWx0VHVwbGUiCm91dEFzc2V0SWQiGmNsYWltZWRQcmljZUFtb3VudEZyb21EaWZmIh1jbGFpbWVkSWRvQXNzZXRBbW91bnRGcm9tRGlmZiINJHQwMjE2NjEyMjEwNSIidXBkYXRlZFBlcmlvZFRvdGFsQXZhaWxhYmxlVG9DbGFpbSIhdXBkYXRlZFBlcmlvZFVzZXJBdmFpbGFibGVUb0NsYWltIhh1cGRhdGVkUHJpY2VBc3NldEJhbGFuY2UiHHByaWNlQXNzZXRCYWxhbmNlSWRvRGVjaW1hbHMiFWF2YWlsYWJsZVRvQ2xhaW1BcnJheSIbYXZhaWxh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", "chainId": 84, "height": 2339818, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6oMJyRJo7UsamLpt6rpiKxJnr69ecHkmka2zy44q453x Next: 6SWYDCccc9xoSNsEnhk9VzCL77LcF3M4mxoxRMFrmyxw Diff:
OldNewDifferences
166166 let aW = fraction(aR, e, pow(10, 0, aV, 0, 0, DOWN))
167167 let aX = ((X + aP[aL]) - aR)
168168 let aY = ((Y + aP[aM]) + aW)
169- if ((0 > aT))
170- then f(makeString(["invalid math", toString(W), toString(aP[aK]), toString(aT), toString(aP[aJ])], " "))
169+ let aZ = if ((0 > aT))
170+ then {
171+ let ba = (aS - aX)
172+ StringEntry(b, aa(aS, ba, aX, aY, aQ))
173+ }
171174 else StringEntry(b, aa(aS, aT, aX, aY, aQ))
175+ aZ
172176 }
173177
174178
175-func aZ (af,i,ac,ba) = StringEntry(ah("invest", af, toBase58String(ba)), ab(i, ac))
179+func bb (af,i,ac,bc) = StringEntry(ah("invest", af, toBase58String(bc)), ab(i, ac))
176180
177181
178-func bb (af,i,ac,ba) = StringEntry(ah("claim", af, toBase58String(ba)), ab(i, ac))
182+func bd (af,i,ac,bc) = StringEntry(ah("claim", af, toBase58String(bc)), ab(i, ac))
179183
180184
181-func bc (bd,af,ba) = {
185+func be (bf,af,bc) = {
182186 let aU = aD()
183187 let F = parseIntValue(aU[t])
184188 let G = parseIntValue(aU[u])
185- let be = (F + G)
189+ let bg = (F + G)
186190 let k = parseIntValue(aU[v])
187191 let H = parseIntValue(aU[w])
188192 let I = aU[x]
189- let bf = fromBase58String(I)
193+ let bh = fromBase58String(I)
190194 let J = parseIntValue(aU[y])
191195 let K = aU[z]
192- let bg = fromBase58String(K)
196+ let bi = fromBase58String(K)
193197 let L = parseIntValue(aU[A])
194- let bh = toString(af)
195- let bi = aI(bh)
196- let bj = parseIntValue(bi[P])
197- let bk = parseIntValue(bi[T])
198- let bl = if ((F >= bk))
198+ let bj = toString(af)
199+ let bk = aI(bj)
200+ let bl = parseIntValue(bk[P])
201+ let bm = parseIntValue(bk[T])
202+ let bn = if ((F >= bm))
199203 then F
200- else bk
201- let bm = if ((height > be))
202- then be
204+ else bm
205+ let bo = if ((height > bg))
206+ then bg
203207 else if ((F > height))
204208 then F
205209 else height
206- let bn = (bm - bl)
207- let bo = fraction(bj, bn, G)
208- let bp = h(bo, L, k, H, J)
209- let bq = (bd == K)
210- let br = valueOrElse(getBoolean(ak()), false)
211- let bs = [if (!(if (bq)
212- then br
210+ let bp = (bo - bn)
211+ let bq = fraction(bl, bp, G)
212+ let br = h(bq, L, k, H, J)
213+ let bs = (bf == K)
214+ let bt = valueOrElse(getBoolean(ak()), false)
215+ let bu = [if (!(if (bs)
216+ then bt
213217 else false))
214218 then true
215219 else throw("USDN claim is disabled")]
216- if ((bs == bs))
217- then if ((bd == K))
218- then $Tuple6([0, -(bo), bo, 0], bo, bg, bi, bm, [bo, bp])
219- else if ((bd == I))
220- then $Tuple6([0, -(bo), 0, bp], bp, bf, bi, bm, [bo, bp])
221- else throw(("unsupported assetId: " + bd))
220+ if ((bu == bu))
221+ then if ((bf == K))
222+ then $Tuple6([0, -(bq), bq, 0], bq, bi, bk, bo, [bq, br])
223+ else if ((bf == I))
224+ then $Tuple6([0, -(bq), 0, br], br, bh, bk, bo, [bq, br])
225+ else throw(("unsupported assetId: " + bf))
222226 else throw("Strict value is not equal to itself.")
223227 }
224228
225229
226-func bt (K,bh,bu,bv) = {
227- let bw = value(getInteger(as(K)))
228- let bx = value(getInteger(au(K)))
229- let by = value(getInteger(am()))
230- let bz = valueOrElse(getInteger(an()), 0)
231- let bA = isDefined(getInteger(aq(0)))
232- let bB = if ((bz > 0))
230+func bv (K,bj,bw,bx) = {
231+ let by = value(getInteger(as(K)))
232+ let bz = value(getInteger(au(K)))
233+ let bA = value(getInteger(am()))
234+ let bB = valueOrElse(getInteger(an()), 0)
235+ let bC = isDefined(getInteger(aq(0)))
236+ let bD = if ((bB > 0))
233237 then {
234- let bC = value(getInteger(ao(bz)))
235- let bD = value(getInteger(aq(bz)))
236- let bE = if ((height > bD))
238+ let bE = value(getInteger(ao(bB)))
239+ let bF = value(getInteger(aq(bB)))
240+ let bG = if ((height > bF))
237241 then {
238- let bF = (bz + 1)
239- let bG = if ((height > (bD + by)))
242+ let bH = (bB + 1)
243+ let bI = if ((height > (bF + bA)))
240244 then {
241- let bH = ((height - bD) % by)
242- if ((bH == 0))
243- then ((height - by) + 1)
244- else (height - bH)
245+ let bJ = ((height - bF) % bA)
246+ if ((bJ == 0))
247+ then ((height - bA) + 1)
248+ else (height - bJ)
245249 }
246- else (bD + 1)
247- let bI = ((bG + by) - 1)
248- $Tuple3(bF, bG, bI)
250+ else (bF + 1)
251+ let bK = ((bI + bA) - 1)
252+ $Tuple3(bH, bI, bK)
249253 }
250- else $Tuple3(bz, bC, bD)
251- let bF = bE._1
252- let bG = bE._2
253- let bI = bE._3
254- $Tuple3(bF, bG, bI)
254+ else $Tuple3(bB, bE, bF)
255+ let bH = bG._1
256+ let bI = bG._2
257+ let bK = bG._3
258+ $Tuple3(bH, bI, bK)
255259 }
256- else if (bA)
260+ else if (bC)
257261 then {
258- let bJ = value(getInteger(ao(0)))
259- let bK = value(getInteger(aq(0)))
260- let bL = if ((height > bK))
262+ let bL = value(getInteger(ao(0)))
263+ let bM = value(getInteger(aq(0)))
264+ let bN = if ((height > bM))
261265 then {
262- let bF = (bz + 1)
263- let bG = (bK + 1)
264- let bI = ((bG + by) - 1)
265- $Tuple3(bF, bG, bI)
266+ let bH = (bB + 1)
267+ let bI = (bM + 1)
268+ let bK = ((bI + bA) - 1)
269+ $Tuple3(bH, bI, bK)
266270 }
267- else $Tuple3(bz, bJ, bK)
268- let bF = bL._1
269- let bG = bL._2
270- let bI = bL._3
271- $Tuple3(bF, bG, bI)
271+ else $Tuple3(bB, bL, bM)
272+ let bH = bN._1
273+ let bI = bN._2
274+ let bK = bN._3
275+ $Tuple3(bH, bI, bK)
272276 }
273- else $Tuple3(bz, valueOrElse(getInteger(ao(bz)), height), valueOrElse(getInteger(aq(bz)), ((height + by) - 1)))
274- let bF = bB._1
275- let bG = bB._2
276- let bI = bB._3
277- let bM = valueOrElse(getInteger(av(K, bF)), bw)
278- let bN = valueOrElse(getInteger(aw(K, bF, bh)), bx)
279- let aR = valueOrElse(getInteger(az(bh)), 0)
280- let bO = min([(bu + aR), bM, bN])
281- let bP = value(getInteger(ar()))
282- let bQ = e
283- let bR = {
284- let bS = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bQ, K], nil)
285- if ($isInstanceOf(bS, "(Int, Int, Int)"))
286- then bS
277+ else $Tuple3(bB, valueOrElse(getInteger(ao(bB)), height), valueOrElse(getInteger(aq(bB)), ((height + bA) - 1)))
278+ let bH = bD._1
279+ let bI = bD._2
280+ let bK = bD._3
281+ let bO = valueOrElse(getInteger(av(K, bH)), by)
282+ let bP = valueOrElse(getInteger(aw(K, bH, bj)), bz)
283+ let aR = valueOrElse(getInteger(az(bj)), 0)
284+ let bQ = min([(bw + aR), bO, bP])
285+ let bR = value(getInteger(ar()))
286+ let bS = e
287+ let bT = {
288+ let bU = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bS, K], nil)
289+ if ($isInstanceOf(bU, "(Int, Int, Int)"))
290+ then bU
287291 else throw("Couldn't cast Any to (Int, Int, Int)")
288292 }
289- if ((bR == bR))
293+ if ((bT == bT))
290294 then {
291- let bT = bR._3
292- let bU = bR._2
293- let bV = bR._1
294- let bW = value(getString(ay()))
295- let bX = {
296- let bS = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bW, bV], nil)
297- if ($isInstanceOf(bS, "(Int, Int)"))
298- then bS
295+ let bV = bT._3
296+ let bW = bT._2
297+ let bX = bT._1
298+ let bY = value(getString(ay()))
299+ let bZ = {
300+ let bU = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bY, bX], nil)
301+ if ($isInstanceOf(bU, "(Int, Int)"))
302+ then bU
299303 else throw("Couldn't cast Any to (Int, Int)")
300304 }
301- if ((bX == bX))
305+ if ((bZ == bZ))
302306 then {
303- let bY = bX._2
304- let bZ = bX._1
305- let ca = fraction(bQ, e, bZ)
306- let cb = (bI - height)
307- $Tuple10(bO, bM, bN, bv, bP, ca, cb, bF, bG, bI)
307+ let ca = bZ._2
308+ let cb = bZ._1
309+ let cc = fraction(bS, e, cb)
310+ let cd = (bK - height)
311+ $Tuple10(bQ, bO, bP, bx, bR, cc, cd, bH, bI, bK)
308312 }
309313 else throw("Strict value is not equal to itself.")
310314 }
312316 }
313317
314318
315-func cc () = {
316- let cd = getString(aB())
317- if ($isInstanceOf(cd, "String"))
319+func ce () = {
320+ let cf = getString(aB())
321+ if ($isInstanceOf(cf, "String"))
318322 then {
319- let ce = cd
320- fromBase58String(ce)
323+ let cg = cf
324+ fromBase58String(cg)
321325 }
322- else if ($isInstanceOf(cd, "Unit"))
326+ else if ($isInstanceOf(cf, "Unit"))
323327 then unit
324328 else throw("Match error")
325329 }
326330
327331
328-func cf () = {
329- let cd = getString(aC())
330- if ($isInstanceOf(cd, "String"))
332+func ch () = {
333+ let cf = getString(aC())
334+ if ($isInstanceOf(cf, "String"))
331335 then {
332- let ce = cd
333- fromBase58String(ce)
336+ let cg = cf
337+ fromBase58String(cg)
334338 }
335- else if ($isInstanceOf(cd, "Unit"))
339+ else if ($isInstanceOf(cf, "Unit"))
336340 then unit
337341 else throw("Match error")
338342 }
339343
340344
341-func cg (ch) = {
342- let ci = throw("Permission denied")
343- let cd = cc()
344- if ($isInstanceOf(cd, "ByteVector"))
345+func ci (cj) = {
346+ let ck = throw("Permission denied")
347+ let cf = ce()
348+ if ($isInstanceOf(cf, "ByteVector"))
345349 then {
346- let cj = cd
347- if ((ch.callerPublicKey == cj))
350+ let cl = cf
351+ if ((cj.callerPublicKey == cl))
348352 then true
349- else ci
353+ else ck
350354 }
351- else if ($isInstanceOf(cd, "Unit"))
352- then if ((ch.caller == this))
355+ else if ($isInstanceOf(cf, "Unit"))
356+ then if ((cj.caller == this))
353357 then true
354- else ci
358+ else ck
355359 else throw("Match error")
356360 }
357361
358362
359-@Callable(ch)
363+@Callable(cj)
360364 func constructor (D,E,F,G,k,K,M) = {
361365 let H = ((100 * 1000) * 1000)
362- let ck = (D + E)
366+ let cm = (D + E)
363367 if (isDefined(getString(ad())))
364368 then throw("already initialized")
365- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(ch.caller)))
369+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cj.caller)))
366370 then throw("not authorized")
367- else if ((size(ch.payments) != 1))
371+ else if ((size(cj.payments) != 1))
368372 then throw("exactly 1 payment must be attached")
369- else if ((ck >= F))
373+ else if ((cm >= F))
370374 then throw("claimStart must be greater than idoEnd")
371375 else {
372- let cl = value(ch.payments[0])
373- let bf = value(cl.assetId)
374- let cm = valueOrErrorMessage(assetInfo(bf), "fail to load ido asset info")
375- let I = toBase58String(bf)
376- let J = pow(10, 0, cm.decimals, 0, 0, DOWN)
377- let bg = fromBase58String(K)
378- let cn = valueOrErrorMessage(assetInfo(bg), "fail to load price asset info")
379- let L = pow(10, 0, cn.decimals, 0, 0, DOWN)
380- let co = aG()
381- let cp = [0, 0, 0, 0]
382-[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cl.amount)), aN(ag(), co, cp, F, 0)]
376+ let cn = value(cj.payments[0])
377+ let bh = value(cn.assetId)
378+ let co = valueOrErrorMessage(assetInfo(bh), "fail to load ido asset info")
379+ let I = toBase58String(bh)
380+ let J = pow(10, 0, co.decimals, 0, 0, DOWN)
381+ let bi = fromBase58String(K)
382+ let cp = valueOrErrorMessage(assetInfo(bi), "fail to load price asset info")
383+ let L = pow(10, 0, cp.decimals, 0, 0, DOWN)
384+ let cq = aG()
385+ let cr = [0, 0, 0, 0]
386+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cn.amount)), aN(ag(), cq, cr, F, 0)]
383387 }
384388 }
385389
386390
387391
388-@Callable(ch)
392+@Callable(cj)
389393 func invest () = {
390394 let aU = aD()
391395 let D = parseIntValue(aU[r])
392396 let E = parseIntValue(aU[s])
393- let ck = (D + E)
397+ let cm = (D + E)
394398 let F = parseIntValue(aU[t])
395399 let G = parseIntValue(aU[u])
396400 let k = parseIntValue(aU[v])
397401 let H = parseIntValue(aU[w])
398402 let I = aU[x]
399- let bf = fromBase58String(I)
403+ let bh = fromBase58String(I)
400404 let J = parseIntValue(aU[y])
401405 let K = aU[z]
402- let bg = fromBase58String(K)
406+ let bi = fromBase58String(K)
403407 let L = parseIntValue(aU[A])
404- let cq = parseIntValue(aU[B])
405- let af = toString(ch.caller)
408+ let cs = parseIntValue(aU[B])
409+ let af = toString(cj.caller)
406410 if ((D > height))
407411 then throw("ido has not been started yet")
408- else if ((height > ck))
412+ else if ((height > cm))
409413 then throw("ido has been already ended")
410- else if ((size(ch.payments) != 1))
414+ else if ((size(cj.payments) != 1))
411415 then throw("exactly 1 payment is expected")
412416 else {
413- let cl = value(ch.payments[0])
414- let cr = value(cl.assetId)
415- let cs = cl.amount
416- if ((cr != bg))
417- then throw((("invalid payment asset id: " + toBase58String(cr)) + " is expected"))
417+ let cn = value(cj.payments[0])
418+ let ct = value(cn.assetId)
419+ let cu = cn.amount
420+ if ((ct != bi))
421+ then throw((("invalid payment asset id: " + toBase58String(ct)) + " is expected"))
418422 else {
419- let ct = aH(af)
420- let co = aG()
421- let cu = (parseIntValue(co[P]) + cs)
422- let cv = (cu * 100)
423- if ((cv > assetBalance(this, bf)))
423+ let cv = aH(af)
424+ let cq = aG()
425+ let cw = (parseIntValue(cq[P]) + cu)
426+ let cx = (cw * 100)
427+ if ((cx > assetBalance(this, bh)))
424428 then throw("IDO asset has been - sold consider to use smaller payment")
425429 else {
426- let cp = [cs, cs, 0, 0]
427-[aN(ae(af), ct, cp, F, 0), aN(ag(), co, cp, F, 0), aZ(af, cs, 0, ch.transactionId)]
430+ let cr = [cu, cu, 0, 0]
431+[aN(ae(af), cv, cr, F, 0), aN(ag(), cq, cr, F, 0), bb(af, cu, 0, cj.transactionId)]
428432 }
429433 }
430434 }
432436
433437
434438
435-@Callable(ch)
436-func claim (bd,bh) = {
437- let cw = toString(ch.caller)
438- if ((bh != cw))
439+@Callable(cj)
440+func claim (bf,bj) = {
441+ let cy = toString(cj.caller)
442+ if ((bj != cy))
439443 then throw("not authorized")
440444 else {
441445 let aU = aD()
442446 let K = aU[z]
443- let cx = bc(bd, ch.caller, ch.transactionId)
444- let cp = cx._1
445- let bu = cx._2
446- let cy = cx._3
447- let bi = cx._4
448- let bm = cx._5
449- let cz = cp[aL]
450- let cA = cp[aM]
451- let aR = valueOrElse(getInteger(az(bh)), 0)
447+ let cz = be(bf, cj.caller, cj.transactionId)
448+ let cr = cz._1
449+ let bw = cz._2
450+ let cA = cz._3
451+ let bk = cz._4
452+ let bo = cz._5
453+ let cB = cr[aL]
454+ let cC = cr[aM]
455+ let aR = valueOrElse(getInteger(az(bj)), 0)
452456 let aV = value(assetInfo(fromBase58String(K))).decimals
453- let cB = if ((bd == K))
457+ let aZ = if ((bf == K))
454458 then {
455- let cC = bt(K, bh, bu, cp[aL])
456- let bO = cC._1
457- let bM = cC._2
458- let bN = cC._3
459- let bv = cC._4
460- let bP = cC._5
461- let ca = cC._6
462- let cb = cC._7
463- let bF = cC._8
464- let bG = cC._9
465- let bI = cC._10
466- let bs = [if ((bN > 0))
459+ let cD = bv(K, bj, bw, cr[aL])
460+ let bQ = cD._1
461+ let bO = cD._2
462+ let bP = cD._3
463+ let bx = cD._4
464+ let bR = cD._5
465+ let cc = cD._6
466+ let cd = cD._7
467+ let bH = cD._8
468+ let bI = cD._9
469+ let bK = cD._10
470+ let bu = [if ((bP > 0))
467471 then true
468- else f("unavailable to claim because user period allowance reached"), if ((bM > 0))
472+ else f("unavailable to claim because user period allowance reached"), if ((bO > 0))
469473 then true
470- else f("unavailable to claim because total period allowance reached"), if ((bO > 0))
474+ else f("unavailable to claim because total period allowance reached"), if ((bQ > 0))
471475 then true
472- else f("nothing to claim"), if ((bP > ca))
476+ else f("nothing to claim"), if ((bR > cc))
473477 then true
474478 else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
475- if ((bs == bs))
479+ if ((bu == bu))
476480 then {
477- let cD = (bM - bO)
478- let cE = (bN - bO)
479- let cB = if ((aR >= bO))
480- then [ScriptTransfer(ch.caller, bO, cy), IntegerEntry(az(bh), (aR - bO))]
481+ let cE = (bO - bQ)
482+ let cF = (bP - bQ)
483+ let aZ = if ((aR >= bQ))
484+ then [ScriptTransfer(cj.caller, bQ, cA), IntegerEntry(az(bj), (aR - bQ))]
481485 else {
482- let cF = ((aR + bu) - bO)
483-[ScriptTransfer(ch.caller, bO, cy), aN(ae(bh), bi, cp, bm, 0), aN(ag(), aG(), cp, bm, 0), IntegerEntry(az(bh), cF)]
486+ let cG = ((aR + bw) - bQ)
487+[ScriptTransfer(cj.caller, bQ, cA), aN(ae(bj), bk, cr, bo, 0), aN(ag(), aG(), cr, bo, 0), IntegerEntry(az(bj), cG)]
484488 }
485- $Tuple2(([IntegerEntry(an(), bF), IntegerEntry(ao(bF), bG), IntegerEntry(aq(bF), bI), IntegerEntry(av(K, bF), cD), IntegerEntry(aw(K, bF, bh), cE), bb(bh, bO, cA, ch.transactionId)] ++ cB), unit)
489+ $Tuple2(([IntegerEntry(an(), bH), IntegerEntry(ao(bH), bI), IntegerEntry(aq(bH), bK), IntegerEntry(av(K, bH), cE), IntegerEntry(aw(K, bH, bj), cF), bd(bj, bQ, cC, cj.transactionId)] ++ aZ), unit)
486490 }
487491 else throw("Strict value is not equal to itself.")
488492 }
489493 else {
490- let cG = fraction(aR, e, pow(10, 0, aV, 0, 0, DOWN))
491- $Tuple2([ScriptTransfer(ch.caller, (bu + cG), cy), IntegerEntry(az(bh), 0), aN(ae(bh), bi, cp, bm, aR), aN(ag(), aG(), cp, bm, aR), bb(bh, cz, (cA + cG), ch.transactionId)], unit)
494+ let cH = fraction(aR, e, pow(10, 0, aV, 0, 0, DOWN))
495+ $Tuple2([ScriptTransfer(cj.caller, (bw + cH), cA), IntegerEntry(az(bj), 0), aN(ae(bj), bk, cr, bo, aR), aN(ag(), aG(), cr, bo, aR), bd(bj, cB, (cC + cH), cj.transactionId)], unit)
492496 }
493- cB
497+ aZ
494498 }
495499 }
496500
497501
498502
499-@Callable(ch)
500-func claimREADONLY (bd,bh) = {
501- let cx = bc(bd, addressFromStringValue(bh), fromBase58String(""))
502- let cp = cx._1
503- let bu = cx._2
504- let cy = cx._3
505- let bi = cx._4
506- let bm = cx._5
507- let cH = cx._6
508- let cI = cH[0]
509- let cJ = cH[1]
510- $Tuple2(nil, makeString(["%s%d%d", bh, toString(cI), toString(cJ)], c))
503+@Callable(cj)
504+func claimREADONLY (bf,bj) = {
505+ let cz = be(bf, addressFromStringValue(bj), fromBase58String(""))
506+ let cr = cz._1
507+ let bw = cz._2
508+ let cA = cz._3
509+ let bk = cz._4
510+ let bo = cz._5
511+ let cI = cz._6
512+ let cJ = cI[0]
513+ let cK = cI[1]
514+ $Tuple2(nil, makeString(["%s%d%d", bj, toString(cJ), toString(cK)], c))
511515 }
512516
513517
514518
515-@Callable(ch)
516-func claimV2READONLY (bd,bh) = {
517- let cx = bc(bd, addressFromStringValue(bh), fromBase58String(""))
518- let cp = cx._1
519- let bu = cx._2
520- let cy = cx._3
521- let bi = cx._4
522- let bm = cx._5
523- let cH = cx._6
524- let cI = cH[0]
525- let cJ = cH[1]
519+@Callable(cj)
520+func claimV2READONLY (bf,bj) = {
521+ let cz = be(bf, addressFromStringValue(bj), fromBase58String(""))
522+ let cr = cz._1
523+ let bw = cz._2
524+ let cA = cz._3
525+ let bk = cz._4
526+ let bo = cz._5
527+ let cI = cz._6
528+ let cJ = cI[0]
529+ let cK = cI[1]
526530 let aU = aD()
527531 let K = aU[z]
528- let aR = valueOrElse(getInteger(az(bh)), 0)
529- let cG = (aR * 100)
530- let cK = (cJ + cG)
531- let cL = bt(K, bh, bu, cp[aL])
532- let bO = cL._1
533- let bM = cL._2
534- let bN = cL._3
535- let bv = cL._4
536- let bP = cL._5
537- let ca = cL._6
538- let cb = cL._7
539- let bF = cL._8
540- let bG = cL._9
541- let bI = cL._10
542- let cM = valueOrElse(getInteger(aq(bF)), 0)
543- let cN = (parseIntValue(aI(bh)[R]) - aR)
544- let cO = if ((height > cM))
532+ let aR = valueOrElse(getInteger(az(bj)), 0)
533+ let cH = (aR * 100)
534+ let cL = (cK + cH)
535+ let cM = bv(K, bj, bw, cr[aL])
536+ let bQ = cM._1
537+ let bO = cM._2
538+ let bP = cM._3
539+ let bx = cM._4
540+ let bR = cM._5
541+ let cc = cM._6
542+ let cd = cM._7
543+ let bH = cM._8
544+ let bI = cM._9
545+ let bK = cM._10
546+ let cN = valueOrElse(getInteger(aq(bH)), 0)
547+ let cO = (parseIntValue(aI(bj)[R]) - aR)
548+ let cP = if ((height > cN))
545549 then {
546- let cP = value(getInteger(am()))
547- let cQ = value(getInteger(au(K)))
548- let cR = value(getInteger(as(K)))
549- makeString(["%d%d%d%d%d%d", toString(cK), toString(cQ), toString(cR), toString(bP), toString(ca), toString(cP), toString(cN)], c)
550+ let cQ = value(getInteger(am()))
551+ let cR = value(getInteger(au(K)))
552+ let cS = value(getInteger(as(K)))
553+ makeString(["%d%d%d%d%d%d", toString(cL), toString(cR), toString(cS), toString(bR), toString(cc), toString(cQ), toString(cO)], c)
550554 }
551- else makeString(["%d%d%d%d%d%d", toString(cK), toString(bO), toString(bM), toString(bP), toString(ca), toString(cb), toString(cN)], c)
552- $Tuple2(nil, cO)
555+ else makeString(["%d%d%d%d%d%d", toString(cL), toString(bQ), toString(bO), toString(bR), toString(cc), toString(cd), toString(cO)], c)
556+ $Tuple2(nil, cP)
553557 }
554558
555559
556560
557-@Callable(ch)
558-func setManager (cS) = {
559- let cT = cg(ch)
560- if ((cT == cT))
561+@Callable(cj)
562+func setManager (cT) = {
563+ let cU = ci(cj)
564+ if ((cU == cU))
561565 then {
562- let cU = fromBase58String(cS)
563- if ((cU == cU))
564- then [StringEntry(aC(), cS)]
566+ let cV = fromBase58String(cT)
567+ if ((cV == cV))
568+ then [StringEntry(aC(), cT)]
565569 else throw("Strict value is not equal to itself.")
566570 }
567571 else throw("Strict value is not equal to itself.")
569573
570574
571575
572-@Callable(ch)
576+@Callable(cj)
573577 func confirmManager () = {
574- let cV = cf()
575- let cW = if (isDefined(cV))
578+ let cW = ch()
579+ let cX = if (isDefined(cW))
576580 then true
577581 else throw("No pending manager")
578- if ((cW == cW))
582+ if ((cX == cX))
579583 then {
580- let cX = if ((ch.callerPublicKey == value(cV)))
584+ let cY = if ((cj.callerPublicKey == value(cW)))
581585 then true
582586 else throw("You are not pending manager")
583- if ((cX == cX))
584- then [StringEntry(aB(), toBase58String(value(cV))), DeleteEntry(aC())]
587+ if ((cY == cY))
588+ then [StringEntry(aB(), toBase58String(value(cW))), DeleteEntry(aC())]
585589 else throw("Strict value is not equal to itself.")
586590 }
587591 else throw("Strict value is not equal to itself.")
588592 }
589593
590594
591-@Verifier(cY)
592-func cZ () = {
593- let da = {
594- let cd = cc()
595- if ($isInstanceOf(cd, "ByteVector"))
595+@Verifier(cZ)
596+func da () = {
597+ let db = {
598+ let cf = ce()
599+ if ($isInstanceOf(cf, "ByteVector"))
596600 then {
597- let cj = cd
598- cj
601+ let cl = cf
602+ cl
599603 }
600- else if ($isInstanceOf(cd, "Unit"))
601- then cY.senderPublicKey
604+ else if ($isInstanceOf(cf, "Unit"))
605+ then cZ.senderPublicKey
602606 else throw("Match error")
603607 }
604- sigVerify(cY.bodyBytes, cY.proofs[0], da)
608+ sigVerify(cZ.bodyBytes, cZ.proofs[0], db)
605609 }
606610
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrErrorMessage(getString(b), (("mandatory this." + b) + " is not defined"))
55
66
77 let c = "__"
88
99 let d = toBigInt(1000000000000000000)
1010
1111 let e = 100000000
1212
1313 func f (g) = throw(makeString(["ido.ride:", g], " "))
1414
1515
1616 func h (i,j,k,l,m) = {
1717 let n = toBigInt(j)
1818 let o = toBigInt(m)
1919 let p = fraction(toBigInt(i), d, n)
2020 let q = fraction(p, toBigInt(l), toBigInt(k))
2121 toInt(fraction(q, toBigInt(m), d))
2222 }
2323
2424
2525 let r = 1
2626
2727 let s = 2
2828
2929 let t = 3
3030
3131 let u = 4
3232
3333 let v = 5
3434
3535 let w = 6
3636
3737 let x = 7
3838
3939 let y = 8
4040
4141 let z = 9
4242
4343 let A = 10
4444
4545 let B = 11
4646
4747 func C (D,E,F,G,k,H,I,J,K,L,M,N) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", D, E, F, G, k, H, I, J, K, L, M, N], c)
4848
4949
5050 func O (D,E,F,G,k,H,I,J,K,L,M,N) = C(toString(D), toString(E), toString(F), toString(G), toString(k), toString(H), I, toString(J), K, toString(L), toString(M), toString(N))
5151
5252
5353 let P = 1
5454
5555 let Q = 2
5656
5757 let R = 3
5858
5959 let S = 4
6060
6161 let T = 5
6262
6363 func U (V,W,X,Y,Z) = makeString(["%d%d%d%d%d", V, W, X, Y, Z], c)
6464
6565
6666 func aa (V,W,X,Y,Z) = U(toString(V), toString(W), toString(X), toString(Y), toString(Z))
6767
6868
6969 func ab (i,ac) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(i), toString(ac)], c)
7070
7171
7272 func ad () = "%s__config"
7373
7474
7575 func ae (af) = ("%s__" + af)
7676
7777
7878 func ag () = "%s__totals"
7979
8080
8181 func ah (ai,af,aj) = makeString(["%s%s%s%s__history", ai, af, aj], c)
8282
8383
8484 func ak () = "%s__usdnClaimDisabled"
8585
8686
8787 func al () = "%s__usdnClaimEndHeight"
8888
8989
9090 func am () = makeString(["%s", "periodLength"], c)
9191
9292
9393 func an () = makeString(["%s", "currentPeriod"], c)
9494
9595
9696 func ao (ap) = makeString(["%s%s", "periodStartHeight", toString(ap)], c)
9797
9898
9999 func aq (ap) = makeString(["%s%s", "periodEndHeight", toString(ap)], c)
100100
101101
102102 func ar () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
103103
104104
105105 func as (at) = makeString(["%s%s", "totalPeriodAllowance", at], c)
106106
107107
108108 func au (at) = makeString(["%s%s", "userPeriodAllowance", at], c)
109109
110110
111111 func av (at,ap) = makeString(["%s%s%s", "periodTotalAvailableToClaim", at, toString(ap)], c)
112112
113113
114114 func aw (at,ap,af) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", at, toString(ap), af], c)
115115
116116
117117 func ax () = makeString(["%s", "usdtPriceAssetStablePool"], c)
118118
119119
120120 func ay () = makeString(["%s", "usdtAssetId"], c)
121121
122122
123123 func az (aA) = makeString(["%s%s", "priceAssetBalance", aA], c)
124124
125125
126126 func aB () = "%s__managerPublicKey"
127127
128128
129129 func aC () = "%s__pendingManagerPublicKey"
130130
131131
132132 func aD () = split(a(ad()), c)
133133
134134
135135 func aE (aF) = split(valueOrElse(getString(aF), U("0", "0", "0", "0", "0")), c)
136136
137137
138138 func aG () = aE(ag())
139139
140140
141141 func aH (af) = aE(ae(af))
142142
143143
144144 func aI (af) = split(a(ae(af)), c)
145145
146146
147147 let aJ = 0
148148
149149 let aK = 1
150150
151151 let aL = 2
152152
153153 let aM = 3
154154
155155 func aN (b,aO,aP,aQ,aR) = {
156156 let V = parseIntValue(aO[P])
157157 let W = parseIntValue(aO[Q])
158158 let X = parseIntValue(aO[R])
159159 let Y = parseIntValue(aO[S])
160160 let Z = parseIntValue(aO[T])
161161 let aS = (V + aP[aJ])
162162 let aT = (W + aP[aK])
163163 let aU = aD()
164164 let K = aU[z]
165165 let aV = value(assetInfo(fromBase58String(K))).decimals
166166 let aW = fraction(aR, e, pow(10, 0, aV, 0, 0, DOWN))
167167 let aX = ((X + aP[aL]) - aR)
168168 let aY = ((Y + aP[aM]) + aW)
169- if ((0 > aT))
170- then f(makeString(["invalid math", toString(W), toString(aP[aK]), toString(aT), toString(aP[aJ])], " "))
169+ let aZ = if ((0 > aT))
170+ then {
171+ let ba = (aS - aX)
172+ StringEntry(b, aa(aS, ba, aX, aY, aQ))
173+ }
171174 else StringEntry(b, aa(aS, aT, aX, aY, aQ))
175+ aZ
172176 }
173177
174178
175-func aZ (af,i,ac,ba) = StringEntry(ah("invest", af, toBase58String(ba)), ab(i, ac))
179+func bb (af,i,ac,bc) = StringEntry(ah("invest", af, toBase58String(bc)), ab(i, ac))
176180
177181
178-func bb (af,i,ac,ba) = StringEntry(ah("claim", af, toBase58String(ba)), ab(i, ac))
182+func bd (af,i,ac,bc) = StringEntry(ah("claim", af, toBase58String(bc)), ab(i, ac))
179183
180184
181-func bc (bd,af,ba) = {
185+func be (bf,af,bc) = {
182186 let aU = aD()
183187 let F = parseIntValue(aU[t])
184188 let G = parseIntValue(aU[u])
185- let be = (F + G)
189+ let bg = (F + G)
186190 let k = parseIntValue(aU[v])
187191 let H = parseIntValue(aU[w])
188192 let I = aU[x]
189- let bf = fromBase58String(I)
193+ let bh = fromBase58String(I)
190194 let J = parseIntValue(aU[y])
191195 let K = aU[z]
192- let bg = fromBase58String(K)
196+ let bi = fromBase58String(K)
193197 let L = parseIntValue(aU[A])
194- let bh = toString(af)
195- let bi = aI(bh)
196- let bj = parseIntValue(bi[P])
197- let bk = parseIntValue(bi[T])
198- let bl = if ((F >= bk))
198+ let bj = toString(af)
199+ let bk = aI(bj)
200+ let bl = parseIntValue(bk[P])
201+ let bm = parseIntValue(bk[T])
202+ let bn = if ((F >= bm))
199203 then F
200- else bk
201- let bm = if ((height > be))
202- then be
204+ else bm
205+ let bo = if ((height > bg))
206+ then bg
203207 else if ((F > height))
204208 then F
205209 else height
206- let bn = (bm - bl)
207- let bo = fraction(bj, bn, G)
208- let bp = h(bo, L, k, H, J)
209- let bq = (bd == K)
210- let br = valueOrElse(getBoolean(ak()), false)
211- let bs = [if (!(if (bq)
212- then br
210+ let bp = (bo - bn)
211+ let bq = fraction(bl, bp, G)
212+ let br = h(bq, L, k, H, J)
213+ let bs = (bf == K)
214+ let bt = valueOrElse(getBoolean(ak()), false)
215+ let bu = [if (!(if (bs)
216+ then bt
213217 else false))
214218 then true
215219 else throw("USDN claim is disabled")]
216- if ((bs == bs))
217- then if ((bd == K))
218- then $Tuple6([0, -(bo), bo, 0], bo, bg, bi, bm, [bo, bp])
219- else if ((bd == I))
220- then $Tuple6([0, -(bo), 0, bp], bp, bf, bi, bm, [bo, bp])
221- else throw(("unsupported assetId: " + bd))
220+ if ((bu == bu))
221+ then if ((bf == K))
222+ then $Tuple6([0, -(bq), bq, 0], bq, bi, bk, bo, [bq, br])
223+ else if ((bf == I))
224+ then $Tuple6([0, -(bq), 0, br], br, bh, bk, bo, [bq, br])
225+ else throw(("unsupported assetId: " + bf))
222226 else throw("Strict value is not equal to itself.")
223227 }
224228
225229
226-func bt (K,bh,bu,bv) = {
227- let bw = value(getInteger(as(K)))
228- let bx = value(getInteger(au(K)))
229- let by = value(getInteger(am()))
230- let bz = valueOrElse(getInteger(an()), 0)
231- let bA = isDefined(getInteger(aq(0)))
232- let bB = if ((bz > 0))
230+func bv (K,bj,bw,bx) = {
231+ let by = value(getInteger(as(K)))
232+ let bz = value(getInteger(au(K)))
233+ let bA = value(getInteger(am()))
234+ let bB = valueOrElse(getInteger(an()), 0)
235+ let bC = isDefined(getInteger(aq(0)))
236+ let bD = if ((bB > 0))
233237 then {
234- let bC = value(getInteger(ao(bz)))
235- let bD = value(getInteger(aq(bz)))
236- let bE = if ((height > bD))
238+ let bE = value(getInteger(ao(bB)))
239+ let bF = value(getInteger(aq(bB)))
240+ let bG = if ((height > bF))
237241 then {
238- let bF = (bz + 1)
239- let bG = if ((height > (bD + by)))
242+ let bH = (bB + 1)
243+ let bI = if ((height > (bF + bA)))
240244 then {
241- let bH = ((height - bD) % by)
242- if ((bH == 0))
243- then ((height - by) + 1)
244- else (height - bH)
245+ let bJ = ((height - bF) % bA)
246+ if ((bJ == 0))
247+ then ((height - bA) + 1)
248+ else (height - bJ)
245249 }
246- else (bD + 1)
247- let bI = ((bG + by) - 1)
248- $Tuple3(bF, bG, bI)
250+ else (bF + 1)
251+ let bK = ((bI + bA) - 1)
252+ $Tuple3(bH, bI, bK)
249253 }
250- else $Tuple3(bz, bC, bD)
251- let bF = bE._1
252- let bG = bE._2
253- let bI = bE._3
254- $Tuple3(bF, bG, bI)
254+ else $Tuple3(bB, bE, bF)
255+ let bH = bG._1
256+ let bI = bG._2
257+ let bK = bG._3
258+ $Tuple3(bH, bI, bK)
255259 }
256- else if (bA)
260+ else if (bC)
257261 then {
258- let bJ = value(getInteger(ao(0)))
259- let bK = value(getInteger(aq(0)))
260- let bL = if ((height > bK))
262+ let bL = value(getInteger(ao(0)))
263+ let bM = value(getInteger(aq(0)))
264+ let bN = if ((height > bM))
261265 then {
262- let bF = (bz + 1)
263- let bG = (bK + 1)
264- let bI = ((bG + by) - 1)
265- $Tuple3(bF, bG, bI)
266+ let bH = (bB + 1)
267+ let bI = (bM + 1)
268+ let bK = ((bI + bA) - 1)
269+ $Tuple3(bH, bI, bK)
266270 }
267- else $Tuple3(bz, bJ, bK)
268- let bF = bL._1
269- let bG = bL._2
270- let bI = bL._3
271- $Tuple3(bF, bG, bI)
271+ else $Tuple3(bB, bL, bM)
272+ let bH = bN._1
273+ let bI = bN._2
274+ let bK = bN._3
275+ $Tuple3(bH, bI, bK)
272276 }
273- else $Tuple3(bz, valueOrElse(getInteger(ao(bz)), height), valueOrElse(getInteger(aq(bz)), ((height + by) - 1)))
274- let bF = bB._1
275- let bG = bB._2
276- let bI = bB._3
277- let bM = valueOrElse(getInteger(av(K, bF)), bw)
278- let bN = valueOrElse(getInteger(aw(K, bF, bh)), bx)
279- let aR = valueOrElse(getInteger(az(bh)), 0)
280- let bO = min([(bu + aR), bM, bN])
281- let bP = value(getInteger(ar()))
282- let bQ = e
283- let bR = {
284- let bS = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bQ, K], nil)
285- if ($isInstanceOf(bS, "(Int, Int, Int)"))
286- then bS
277+ else $Tuple3(bB, valueOrElse(getInteger(ao(bB)), height), valueOrElse(getInteger(aq(bB)), ((height + bA) - 1)))
278+ let bH = bD._1
279+ let bI = bD._2
280+ let bK = bD._3
281+ let bO = valueOrElse(getInteger(av(K, bH)), by)
282+ let bP = valueOrElse(getInteger(aw(K, bH, bj)), bz)
283+ let aR = valueOrElse(getInteger(az(bj)), 0)
284+ let bQ = min([(bw + aR), bO, bP])
285+ let bR = value(getInteger(ar()))
286+ let bS = e
287+ let bT = {
288+ let bU = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bS, K], nil)
289+ if ($isInstanceOf(bU, "(Int, Int, Int)"))
290+ then bU
287291 else throw("Couldn't cast Any to (Int, Int, Int)")
288292 }
289- if ((bR == bR))
293+ if ((bT == bT))
290294 then {
291- let bT = bR._3
292- let bU = bR._2
293- let bV = bR._1
294- let bW = value(getString(ay()))
295- let bX = {
296- let bS = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bW, bV], nil)
297- if ($isInstanceOf(bS, "(Int, Int)"))
298- then bS
295+ let bV = bT._3
296+ let bW = bT._2
297+ let bX = bT._1
298+ let bY = value(getString(ay()))
299+ let bZ = {
300+ let bU = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bY, bX], nil)
301+ if ($isInstanceOf(bU, "(Int, Int)"))
302+ then bU
299303 else throw("Couldn't cast Any to (Int, Int)")
300304 }
301- if ((bX == bX))
305+ if ((bZ == bZ))
302306 then {
303- let bY = bX._2
304- let bZ = bX._1
305- let ca = fraction(bQ, e, bZ)
306- let cb = (bI - height)
307- $Tuple10(bO, bM, bN, bv, bP, ca, cb, bF, bG, bI)
307+ let ca = bZ._2
308+ let cb = bZ._1
309+ let cc = fraction(bS, e, cb)
310+ let cd = (bK - height)
311+ $Tuple10(bQ, bO, bP, bx, bR, cc, cd, bH, bI, bK)
308312 }
309313 else throw("Strict value is not equal to itself.")
310314 }
311315 else throw("Strict value is not equal to itself.")
312316 }
313317
314318
315-func cc () = {
316- let cd = getString(aB())
317- if ($isInstanceOf(cd, "String"))
319+func ce () = {
320+ let cf = getString(aB())
321+ if ($isInstanceOf(cf, "String"))
318322 then {
319- let ce = cd
320- fromBase58String(ce)
323+ let cg = cf
324+ fromBase58String(cg)
321325 }
322- else if ($isInstanceOf(cd, "Unit"))
326+ else if ($isInstanceOf(cf, "Unit"))
323327 then unit
324328 else throw("Match error")
325329 }
326330
327331
328-func cf () = {
329- let cd = getString(aC())
330- if ($isInstanceOf(cd, "String"))
332+func ch () = {
333+ let cf = getString(aC())
334+ if ($isInstanceOf(cf, "String"))
331335 then {
332- let ce = cd
333- fromBase58String(ce)
336+ let cg = cf
337+ fromBase58String(cg)
334338 }
335- else if ($isInstanceOf(cd, "Unit"))
339+ else if ($isInstanceOf(cf, "Unit"))
336340 then unit
337341 else throw("Match error")
338342 }
339343
340344
341-func cg (ch) = {
342- let ci = throw("Permission denied")
343- let cd = cc()
344- if ($isInstanceOf(cd, "ByteVector"))
345+func ci (cj) = {
346+ let ck = throw("Permission denied")
347+ let cf = ce()
348+ if ($isInstanceOf(cf, "ByteVector"))
345349 then {
346- let cj = cd
347- if ((ch.callerPublicKey == cj))
350+ let cl = cf
351+ if ((cj.callerPublicKey == cl))
348352 then true
349- else ci
353+ else ck
350354 }
351- else if ($isInstanceOf(cd, "Unit"))
352- then if ((ch.caller == this))
355+ else if ($isInstanceOf(cf, "Unit"))
356+ then if ((cj.caller == this))
353357 then true
354- else ci
358+ else ck
355359 else throw("Match error")
356360 }
357361
358362
359-@Callable(ch)
363+@Callable(cj)
360364 func constructor (D,E,F,G,k,K,M) = {
361365 let H = ((100 * 1000) * 1000)
362- let ck = (D + E)
366+ let cm = (D + E)
363367 if (isDefined(getString(ad())))
364368 then throw("already initialized")
365- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(ch.caller)))
369+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cj.caller)))
366370 then throw("not authorized")
367- else if ((size(ch.payments) != 1))
371+ else if ((size(cj.payments) != 1))
368372 then throw("exactly 1 payment must be attached")
369- else if ((ck >= F))
373+ else if ((cm >= F))
370374 then throw("claimStart must be greater than idoEnd")
371375 else {
372- let cl = value(ch.payments[0])
373- let bf = value(cl.assetId)
374- let cm = valueOrErrorMessage(assetInfo(bf), "fail to load ido asset info")
375- let I = toBase58String(bf)
376- let J = pow(10, 0, cm.decimals, 0, 0, DOWN)
377- let bg = fromBase58String(K)
378- let cn = valueOrErrorMessage(assetInfo(bg), "fail to load price asset info")
379- let L = pow(10, 0, cn.decimals, 0, 0, DOWN)
380- let co = aG()
381- let cp = [0, 0, 0, 0]
382-[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cl.amount)), aN(ag(), co, cp, F, 0)]
376+ let cn = value(cj.payments[0])
377+ let bh = value(cn.assetId)
378+ let co = valueOrErrorMessage(assetInfo(bh), "fail to load ido asset info")
379+ let I = toBase58String(bh)
380+ let J = pow(10, 0, co.decimals, 0, 0, DOWN)
381+ let bi = fromBase58String(K)
382+ let cp = valueOrErrorMessage(assetInfo(bi), "fail to load price asset info")
383+ let L = pow(10, 0, cp.decimals, 0, 0, DOWN)
384+ let cq = aG()
385+ let cr = [0, 0, 0, 0]
386+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cn.amount)), aN(ag(), cq, cr, F, 0)]
383387 }
384388 }
385389
386390
387391
388-@Callable(ch)
392+@Callable(cj)
389393 func invest () = {
390394 let aU = aD()
391395 let D = parseIntValue(aU[r])
392396 let E = parseIntValue(aU[s])
393- let ck = (D + E)
397+ let cm = (D + E)
394398 let F = parseIntValue(aU[t])
395399 let G = parseIntValue(aU[u])
396400 let k = parseIntValue(aU[v])
397401 let H = parseIntValue(aU[w])
398402 let I = aU[x]
399- let bf = fromBase58String(I)
403+ let bh = fromBase58String(I)
400404 let J = parseIntValue(aU[y])
401405 let K = aU[z]
402- let bg = fromBase58String(K)
406+ let bi = fromBase58String(K)
403407 let L = parseIntValue(aU[A])
404- let cq = parseIntValue(aU[B])
405- let af = toString(ch.caller)
408+ let cs = parseIntValue(aU[B])
409+ let af = toString(cj.caller)
406410 if ((D > height))
407411 then throw("ido has not been started yet")
408- else if ((height > ck))
412+ else if ((height > cm))
409413 then throw("ido has been already ended")
410- else if ((size(ch.payments) != 1))
414+ else if ((size(cj.payments) != 1))
411415 then throw("exactly 1 payment is expected")
412416 else {
413- let cl = value(ch.payments[0])
414- let cr = value(cl.assetId)
415- let cs = cl.amount
416- if ((cr != bg))
417- then throw((("invalid payment asset id: " + toBase58String(cr)) + " is expected"))
417+ let cn = value(cj.payments[0])
418+ let ct = value(cn.assetId)
419+ let cu = cn.amount
420+ if ((ct != bi))
421+ then throw((("invalid payment asset id: " + toBase58String(ct)) + " is expected"))
418422 else {
419- let ct = aH(af)
420- let co = aG()
421- let cu = (parseIntValue(co[P]) + cs)
422- let cv = (cu * 100)
423- if ((cv > assetBalance(this, bf)))
423+ let cv = aH(af)
424+ let cq = aG()
425+ let cw = (parseIntValue(cq[P]) + cu)
426+ let cx = (cw * 100)
427+ if ((cx > assetBalance(this, bh)))
424428 then throw("IDO asset has been - sold consider to use smaller payment")
425429 else {
426- let cp = [cs, cs, 0, 0]
427-[aN(ae(af), ct, cp, F, 0), aN(ag(), co, cp, F, 0), aZ(af, cs, 0, ch.transactionId)]
430+ let cr = [cu, cu, 0, 0]
431+[aN(ae(af), cv, cr, F, 0), aN(ag(), cq, cr, F, 0), bb(af, cu, 0, cj.transactionId)]
428432 }
429433 }
430434 }
431435 }
432436
433437
434438
435-@Callable(ch)
436-func claim (bd,bh) = {
437- let cw = toString(ch.caller)
438- if ((bh != cw))
439+@Callable(cj)
440+func claim (bf,bj) = {
441+ let cy = toString(cj.caller)
442+ if ((bj != cy))
439443 then throw("not authorized")
440444 else {
441445 let aU = aD()
442446 let K = aU[z]
443- let cx = bc(bd, ch.caller, ch.transactionId)
444- let cp = cx._1
445- let bu = cx._2
446- let cy = cx._3
447- let bi = cx._4
448- let bm = cx._5
449- let cz = cp[aL]
450- let cA = cp[aM]
451- let aR = valueOrElse(getInteger(az(bh)), 0)
447+ let cz = be(bf, cj.caller, cj.transactionId)
448+ let cr = cz._1
449+ let bw = cz._2
450+ let cA = cz._3
451+ let bk = cz._4
452+ let bo = cz._5
453+ let cB = cr[aL]
454+ let cC = cr[aM]
455+ let aR = valueOrElse(getInteger(az(bj)), 0)
452456 let aV = value(assetInfo(fromBase58String(K))).decimals
453- let cB = if ((bd == K))
457+ let aZ = if ((bf == K))
454458 then {
455- let cC = bt(K, bh, bu, cp[aL])
456- let bO = cC._1
457- let bM = cC._2
458- let bN = cC._3
459- let bv = cC._4
460- let bP = cC._5
461- let ca = cC._6
462- let cb = cC._7
463- let bF = cC._8
464- let bG = cC._9
465- let bI = cC._10
466- let bs = [if ((bN > 0))
459+ let cD = bv(K, bj, bw, cr[aL])
460+ let bQ = cD._1
461+ let bO = cD._2
462+ let bP = cD._3
463+ let bx = cD._4
464+ let bR = cD._5
465+ let cc = cD._6
466+ let cd = cD._7
467+ let bH = cD._8
468+ let bI = cD._9
469+ let bK = cD._10
470+ let bu = [if ((bP > 0))
467471 then true
468- else f("unavailable to claim because user period allowance reached"), if ((bM > 0))
472+ else f("unavailable to claim because user period allowance reached"), if ((bO > 0))
469473 then true
470- else f("unavailable to claim because total period allowance reached"), if ((bO > 0))
474+ else f("unavailable to claim because total period allowance reached"), if ((bQ > 0))
471475 then true
472- else f("nothing to claim"), if ((bP > ca))
476+ else f("nothing to claim"), if ((bR > cc))
473477 then true
474478 else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
475- if ((bs == bs))
479+ if ((bu == bu))
476480 then {
477- let cD = (bM - bO)
478- let cE = (bN - bO)
479- let cB = if ((aR >= bO))
480- then [ScriptTransfer(ch.caller, bO, cy), IntegerEntry(az(bh), (aR - bO))]
481+ let cE = (bO - bQ)
482+ let cF = (bP - bQ)
483+ let aZ = if ((aR >= bQ))
484+ then [ScriptTransfer(cj.caller, bQ, cA), IntegerEntry(az(bj), (aR - bQ))]
481485 else {
482- let cF = ((aR + bu) - bO)
483-[ScriptTransfer(ch.caller, bO, cy), aN(ae(bh), bi, cp, bm, 0), aN(ag(), aG(), cp, bm, 0), IntegerEntry(az(bh), cF)]
486+ let cG = ((aR + bw) - bQ)
487+[ScriptTransfer(cj.caller, bQ, cA), aN(ae(bj), bk, cr, bo, 0), aN(ag(), aG(), cr, bo, 0), IntegerEntry(az(bj), cG)]
484488 }
485- $Tuple2(([IntegerEntry(an(), bF), IntegerEntry(ao(bF), bG), IntegerEntry(aq(bF), bI), IntegerEntry(av(K, bF), cD), IntegerEntry(aw(K, bF, bh), cE), bb(bh, bO, cA, ch.transactionId)] ++ cB), unit)
489+ $Tuple2(([IntegerEntry(an(), bH), IntegerEntry(ao(bH), bI), IntegerEntry(aq(bH), bK), IntegerEntry(av(K, bH), cE), IntegerEntry(aw(K, bH, bj), cF), bd(bj, bQ, cC, cj.transactionId)] ++ aZ), unit)
486490 }
487491 else throw("Strict value is not equal to itself.")
488492 }
489493 else {
490- let cG = fraction(aR, e, pow(10, 0, aV, 0, 0, DOWN))
491- $Tuple2([ScriptTransfer(ch.caller, (bu + cG), cy), IntegerEntry(az(bh), 0), aN(ae(bh), bi, cp, bm, aR), aN(ag(), aG(), cp, bm, aR), bb(bh, cz, (cA + cG), ch.transactionId)], unit)
494+ let cH = fraction(aR, e, pow(10, 0, aV, 0, 0, DOWN))
495+ $Tuple2([ScriptTransfer(cj.caller, (bw + cH), cA), IntegerEntry(az(bj), 0), aN(ae(bj), bk, cr, bo, aR), aN(ag(), aG(), cr, bo, aR), bd(bj, cB, (cC + cH), cj.transactionId)], unit)
492496 }
493- cB
497+ aZ
494498 }
495499 }
496500
497501
498502
499-@Callable(ch)
500-func claimREADONLY (bd,bh) = {
501- let cx = bc(bd, addressFromStringValue(bh), fromBase58String(""))
502- let cp = cx._1
503- let bu = cx._2
504- let cy = cx._3
505- let bi = cx._4
506- let bm = cx._5
507- let cH = cx._6
508- let cI = cH[0]
509- let cJ = cH[1]
510- $Tuple2(nil, makeString(["%s%d%d", bh, toString(cI), toString(cJ)], c))
503+@Callable(cj)
504+func claimREADONLY (bf,bj) = {
505+ let cz = be(bf, addressFromStringValue(bj), fromBase58String(""))
506+ let cr = cz._1
507+ let bw = cz._2
508+ let cA = cz._3
509+ let bk = cz._4
510+ let bo = cz._5
511+ let cI = cz._6
512+ let cJ = cI[0]
513+ let cK = cI[1]
514+ $Tuple2(nil, makeString(["%s%d%d", bj, toString(cJ), toString(cK)], c))
511515 }
512516
513517
514518
515-@Callable(ch)
516-func claimV2READONLY (bd,bh) = {
517- let cx = bc(bd, addressFromStringValue(bh), fromBase58String(""))
518- let cp = cx._1
519- let bu = cx._2
520- let cy = cx._3
521- let bi = cx._4
522- let bm = cx._5
523- let cH = cx._6
524- let cI = cH[0]
525- let cJ = cH[1]
519+@Callable(cj)
520+func claimV2READONLY (bf,bj) = {
521+ let cz = be(bf, addressFromStringValue(bj), fromBase58String(""))
522+ let cr = cz._1
523+ let bw = cz._2
524+ let cA = cz._3
525+ let bk = cz._4
526+ let bo = cz._5
527+ let cI = cz._6
528+ let cJ = cI[0]
529+ let cK = cI[1]
526530 let aU = aD()
527531 let K = aU[z]
528- let aR = valueOrElse(getInteger(az(bh)), 0)
529- let cG = (aR * 100)
530- let cK = (cJ + cG)
531- let cL = bt(K, bh, bu, cp[aL])
532- let bO = cL._1
533- let bM = cL._2
534- let bN = cL._3
535- let bv = cL._4
536- let bP = cL._5
537- let ca = cL._6
538- let cb = cL._7
539- let bF = cL._8
540- let bG = cL._9
541- let bI = cL._10
542- let cM = valueOrElse(getInteger(aq(bF)), 0)
543- let cN = (parseIntValue(aI(bh)[R]) - aR)
544- let cO = if ((height > cM))
532+ let aR = valueOrElse(getInteger(az(bj)), 0)
533+ let cH = (aR * 100)
534+ let cL = (cK + cH)
535+ let cM = bv(K, bj, bw, cr[aL])
536+ let bQ = cM._1
537+ let bO = cM._2
538+ let bP = cM._3
539+ let bx = cM._4
540+ let bR = cM._5
541+ let cc = cM._6
542+ let cd = cM._7
543+ let bH = cM._8
544+ let bI = cM._9
545+ let bK = cM._10
546+ let cN = valueOrElse(getInteger(aq(bH)), 0)
547+ let cO = (parseIntValue(aI(bj)[R]) - aR)
548+ let cP = if ((height > cN))
545549 then {
546- let cP = value(getInteger(am()))
547- let cQ = value(getInteger(au(K)))
548- let cR = value(getInteger(as(K)))
549- makeString(["%d%d%d%d%d%d", toString(cK), toString(cQ), toString(cR), toString(bP), toString(ca), toString(cP), toString(cN)], c)
550+ let cQ = value(getInteger(am()))
551+ let cR = value(getInteger(au(K)))
552+ let cS = value(getInteger(as(K)))
553+ makeString(["%d%d%d%d%d%d", toString(cL), toString(cR), toString(cS), toString(bR), toString(cc), toString(cQ), toString(cO)], c)
550554 }
551- else makeString(["%d%d%d%d%d%d", toString(cK), toString(bO), toString(bM), toString(bP), toString(ca), toString(cb), toString(cN)], c)
552- $Tuple2(nil, cO)
555+ else makeString(["%d%d%d%d%d%d", toString(cL), toString(bQ), toString(bO), toString(bR), toString(cc), toString(cd), toString(cO)], c)
556+ $Tuple2(nil, cP)
553557 }
554558
555559
556560
557-@Callable(ch)
558-func setManager (cS) = {
559- let cT = cg(ch)
560- if ((cT == cT))
561+@Callable(cj)
562+func setManager (cT) = {
563+ let cU = ci(cj)
564+ if ((cU == cU))
561565 then {
562- let cU = fromBase58String(cS)
563- if ((cU == cU))
564- then [StringEntry(aC(), cS)]
566+ let cV = fromBase58String(cT)
567+ if ((cV == cV))
568+ then [StringEntry(aC(), cT)]
565569 else throw("Strict value is not equal to itself.")
566570 }
567571 else throw("Strict value is not equal to itself.")
568572 }
569573
570574
571575
572-@Callable(ch)
576+@Callable(cj)
573577 func confirmManager () = {
574- let cV = cf()
575- let cW = if (isDefined(cV))
578+ let cW = ch()
579+ let cX = if (isDefined(cW))
576580 then true
577581 else throw("No pending manager")
578- if ((cW == cW))
582+ if ((cX == cX))
579583 then {
580- let cX = if ((ch.callerPublicKey == value(cV)))
584+ let cY = if ((cj.callerPublicKey == value(cW)))
581585 then true
582586 else throw("You are not pending manager")
583- if ((cX == cX))
584- then [StringEntry(aB(), toBase58String(value(cV))), DeleteEntry(aC())]
587+ if ((cY == cY))
588+ then [StringEntry(aB(), toBase58String(value(cW))), DeleteEntry(aC())]
585589 else throw("Strict value is not equal to itself.")
586590 }
587591 else throw("Strict value is not equal to itself.")
588592 }
589593
590594
591-@Verifier(cY)
592-func cZ () = {
593- let da = {
594- let cd = cc()
595- if ($isInstanceOf(cd, "ByteVector"))
595+@Verifier(cZ)
596+func da () = {
597+ let db = {
598+ let cf = ce()
599+ if ($isInstanceOf(cf, "ByteVector"))
596600 then {
597- let cj = cd
598- cj
601+ let cl = cf
602+ cl
599603 }
600- else if ($isInstanceOf(cd, "Unit"))
601- then cY.senderPublicKey
604+ else if ($isInstanceOf(cf, "Unit"))
605+ then cZ.senderPublicKey
602606 else throw("Match error")
603607 }
604- sigVerify(cY.bodyBytes, cY.proofs[0], da)
608+ sigVerify(cZ.bodyBytes, cZ.proofs[0], db)
605609 }
606610

github/deemru/w8io/169f3d6 
170.06 ms