tx · 8DsMsYYj9ZoEGcdykZH5NwbgvcANa6LcspaU62oh65dK

3NC9wWawxuFG6a3sZdfckGwoMeVhLFjZFwH:  -0.01400000 Waves

2021.03.30 18:34 [1460689] smart account 3NC9wWawxuFG6a3sZdfckGwoMeVhLFjZFwH > SELF 0.00000000 Waves

{ "type": 13, "id": "8DsMsYYj9ZoEGcdykZH5NwbgvcANa6LcspaU62oh65dK", "fee": 1400000, "feeAssetId": null, "timestamp": 1617118473433, "version": 1, "sender": "3NC9wWawxuFG6a3sZdfckGwoMeVhLFjZFwH", "senderPublicKey": "HoEvP2nFKMAsffQ9PUyAm6auWisyHgusY9HxDeMASrzZ", "proofs": [ "5rVxKqVAscP8nk978S5NCkReNBE5W3yqnCXCHkz9Lrww1QuictuDxcA3iD3N2S91wuMtBgVmEMJ1Cr6GGzwbyv6H" ], "script": "base64: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Y2tzCQAETAAAAAIFAAAAFHRvcHVwTWF4TmVnYXRpdmVQYXJ0CQAETAAAAAIFAAAAE3RvcHVwTWFuYWdlckFkZHJlc3MJAARMAAAAAgUAAAATc3VibWl0TGltaXRzQmFzZU1heAkABEwAAAACBQAAABVzdWJtaXRMaW1pdHNCYXNlUmVzZXQJAARMAAAAAgUAAAAUc3VibWl0TGltaXRzU2hhcmVNYXgJAARMAAAAAgUAAAAWc3VibWl0TGltaXRzU2hhcmVSZXNldAkABEwAAAACBQAAAAxhZG1pbkFkZHJlc3MFAAAAA25pbAUAAAADU0VQAQAAAAxkYXRhQXNzZXRDZmcAAAANAAAADXNoYXJlQXNzZXRTdHIAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIAAAAWZGVjaW1hbHNNdWx0Qm90aEFzc2V0cwAAABFkZWNpbWFsc011bHRQcmljZQAAABBnZXREZWxheUluQmxvY2tzAAAAFXRvcHVwSW50ZXJ2YWxJbkJsb2NrcwAAABR0b3B1cE1heE5lZ2F0aXZlUGFydAAAABN0b3B1cE1hbmFnZXJBZGRyZXNzAAAAE3N1Ym1pdExpbWl0c0Jhc2VNYXgAAAAVc3VibWl0TGltaXRzQmFzZVJlc2V0AAAAFHN1Ym1pdExpbWl0c1NoYXJlTWF4AAAAFnN1Ym1pdExpbWl0c1NoYXJlUmVzZXQAAAAMYWRtaW5BZGRyZXNzCQAEuQAAAAIJAARMAAAAAgIAAAAYJXMlZCVkJWQlZCVkJWQlcyVkJWQlZCVkCQAETAAAAAIFAAAADXNoYXJlQXNzZXRTdHIJAARMAAAAAgUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIJAARMAAAAAgkAAaQAAAABBQAAABZkZWNpbWFsc011bHRCb3RoQXNzZXRzCQAETAAAAAIJAAGkAAAAAQUAAAARZGVjaW1hbHNNdWx0UHJpY2UJAARMAAAAAgkAAaQAAAABBQAAABBnZXREZWxheUluQmxvY2tzCQAETAAAAAIJAAGkAAAAAQUAAAAVdG9wdXBJbnRlcnZhbEluQmxvY2tzCQAETAAAAAIJAAGkAAAAAQUAAAAUdG9wdXBNYXhOZWdhdGl2ZVBhcnQJAARMAAAAAgUAAAATdG9wdXBNYW5hZ2VyQWRkcmVzcwkABEwA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AAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAABHYyMTUAAAAAAAAAAAAEAAAABHYyMTcJAQAAAANmMjYAAAABBQAAAAR2MjE0BAAAAAR2MjE4CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAABHYyMTcAAAAAAAAAAAAEAAAABHYyMTkJAQAAAARmMTU4AAAABAUAAAAEdjIxNAUAAAAEdjIwOAUAAAAEdjIxMQUAAAAEdjIxMwkABR8AAAANCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UFAAAABHYyMTgJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABFkZWNpbWFsc011bHRQcmljZQUAAAAEdjIxMwkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEGJhc2VBc3NldEJhbGFuY2UIBQAAAAR2MjE5AAAAAl8yCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAACLTEIBQAAAAR2MjE5AAAAAl8zCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATYmFzZUFzc2V0QmFsYW5jZVdDTwgFAAAABHYyMTkAAAACXzQJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAA1zaGFyZUVtaXNzaW9uCAUAAAAEdjIxOQAAAAJfNQkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGWN1cnJJdGVyVG90YWxJbkJhc2VBbW91bnQIBQAAAAR2MjE5AAAAAl82CQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaY3Vyckl0ZXJUb3RhbEluU2hhcmVBbW91bnQIBQAAAAR2MjE5AAAAAl83CQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAYdG90YWxMb2NrZWRPdXRCYXNlQW1vdW50CAUAAAAEdjIxOQAAAAJfOAkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGXRvdGFsTG9ja2VkT3V0U2hhcmVBbW91bnQIBQAAAAR2MjE5AAAAAl85CQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAWZGVjaW1hbHNNdWx0Qm90aEFzc2V0cwUAAAAEdjIxMgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACHByaWNlQVRIBQAAAAR2MjE2CQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAARcHJpY2VSZWNhbGN1bGF0ZWQIBQAAAAR2MjE5AAAAAl8xAAAACgAAAAFpAQAAABJhZG1pblJlZ2lzdGVyQXNzZXQAAAAOAAAADGJhc2VBc3NldFN0cgAAAA5zaGFyZUFzc2V0TmFtZQAAAA9zaGFyZUFzc2V0RGVzY3IAAAAQZ2V0RGVsYXlpbkJsb2NrcwAAABZzaHV0ZG93bk1hbmFnZXJBZGRyZXNzAAAACnN0YXJ0UHJpY2UAAAAVdG9wdXBJbnRlcnZhbEluQmxvY2tzAAAAFHRvcHVwTWF4TmVnYXRpdmVQYXJ0AAAAE3RvcHVwTWFuYWdlckFkZHJlc3MAAAATc3VibWl0TGltaXRzQmFzZU1heAAAABVzdWJtaXRMaW1pdHNCYXNlUmVzZXQAAAAUc3VibWl0TGltaXRzU2hhcmVNYXgAAAAWc3VibWl0TGltaXRzU2hhcmVSZXNldAAAAAxhZG1pbkFkZHJlc3MEAAAABHYyMjAJAAJZAAAAAQUAAAAMYmFzZUFzc2V0U3RyBAAAAAR2MjIxCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAR2MjIwAAAACGRlY2ltYWxzBAAAAAR2MjIyCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAFAAAABHYyMjEAAAAAAAAAAAAAAAAAAAAAAAAFAAAABERPV04EAAAABHYyMjMJAABoAAAAAgkAAGgAAAACAAAAAAAAAABkAAAAAAAAAAPoAAAAAAAAAAPoBAAAAAR2MjI0CQAAawAAAAMFAAAAFHRvcHVwTWF4TmVnYXRpdmVQYXJ0AAAAAAAAAABkBQAAAAR2MjIyBAAAAAR2MjI1CQAD8AAAAAIFAAAABHRoaXMFAAAABHYyMjADCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAScGVybWlzc2lvbnMgZGVuaWVkAwkAAAAAAAACBQAAAAR2MjI1AAAAAAAAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHRoaXMCAAAAIiBtdXN0IGhhdmUgYW55IGluaXRpYWwgYmFsYW5jZSBvZiAFAAAADGJhc2VBc3NldFN0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", "chainId": 84, "height": 1460689, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 875SoMuHxnMqy7ggeMyp6koSoZruGEvWkGysjeAnJB9Y Next: G5Qyv2LyaLoREj5jhgjrwcsPA1PSV5FzcohYFG3hxCCD Diff:
OldNewDifferences
109109 let v76 = 12
110110
111111 let v77 = 13
112+
113+func dataAssetCfgAllStrings (shareAssetStr,internalBaseAssetStr,decimalsMultBothAssets,decimalsMultPrice,getDelayInBlocks,topupIntervalInBlocks,topupMaxNegativePart,topupManagerAddress,submitLimitsBaseMax,submitLimitsBaseReset,submitLimitsShareMax,submitLimitsShareReset,adminAddress) = makeString(["%s%d%d%d%d%d%d%s%d%d%d%d", shareAssetStr, internalBaseAssetStr, decimalsMultBothAssets, decimalsMultPrice, getDelayInBlocks, topupIntervalInBlocks, topupMaxNegativePart, topupManagerAddress, submitLimitsBaseMax, submitLimitsBaseReset, submitLimitsShareMax, submitLimitsShareReset, adminAddress], SEP)
114+
112115
113116 func dataAssetCfg (shareAssetStr,internalBaseAssetStr,decimalsMultBothAssets,decimalsMultPrice,getDelayInBlocks,topupIntervalInBlocks,topupMaxNegativePart,topupManagerAddress,submitLimitsBaseMax,submitLimitsBaseReset,submitLimitsShareMax,submitLimitsShareReset,adminAddress) = makeString(["%s%d%d%d%d%d%d%s%d%d%d%d", shareAssetStr, internalBaseAssetStr, toString(decimalsMultBothAssets), toString(decimalsMultPrice), toString(getDelayInBlocks), toString(topupIntervalInBlocks), toString(topupMaxNegativePart), topupManagerAddress, toString(submitLimitsBaseMax), toString(submitLimitsBaseReset), toString(submitLimitsShareMax), toString(submitLimitsShareReset), adminAddress], SEP)
114117
321324 }
322325
323326
324-func f207 (v208) = {
325- let v209 = fromBase58String(v208)
326- let v210 = f132(v208)
327- let v211 = v210[v65]
328- let v212 = fromBase58String(v211)
329- let v213 = parseIntValue(v210[v67])
330- let v214 = parseIntValue(v210[v68])
331- let v215 = v210[v66]
332- let v216 = f28(v215)
333- let v217 = valueOrElse(getInteger(this, v216), 0)
334- let v218 = f26(v215)
335- let v219 = valueOrElse(getInteger(this, v218), 0)
336- let v220 = f158(v215, v209, v212, v214)
337- $Tuple13(IntegerEntry("price", v220._1), IntegerEntry("decimalsMultPrice", v214), IntegerEntry("baseAssetBalance", v220._2), IntegerEntry("-1", v220._3), IntegerEntry("baseAssetBalanceWCO", v220._4), IntegerEntry("shareEmission", v220._5), IntegerEntry("currIterTotalInBaseAmount", v220._6), IntegerEntry("currIterTotalInShareAmount", v220._7), IntegerEntry("totalLockedOutBaseAmount", v220._8), IntegerEntry("totalLockedOutShareAmount", v220._9), IntegerEntry("decimalsMultBothAssets", v213), IntegerEntry("priceATH", v217), IntegerEntry("priceLast", v219))
327+func privateCurrentSysParamsREST (v207) = {
328+ let v208 = fromBase58String(v207)
329+ let v209 = f132(v207)
330+ let v210 = v209[v65]
331+ let v211 = fromBase58String(v210)
332+ let v212 = parseIntValue(v209[v67])
333+ let v213 = parseIntValue(v209[v68])
334+ let v214 = v209[v66]
335+ let v215 = f28(v214)
336+ let v216 = valueOrElse(getInteger(this, v215), 0)
337+ let v217 = f26(v214)
338+ let v218 = valueOrElse(getInteger(this, v217), 0)
339+ let v219 = f158(v214, v208, v211, v213)
340+ $Tuple13(IntegerEntry("price", v218), IntegerEntry("decimalsMultPrice", v213), IntegerEntry("baseAssetBalance", v219._2), IntegerEntry("-1", v219._3), IntegerEntry("baseAssetBalanceWCO", v219._4), IntegerEntry("shareEmission", v219._5), IntegerEntry("currIterTotalInBaseAmount", v219._6), IntegerEntry("currIterTotalInShareAmount", v219._7), IntegerEntry("totalLockedOutBaseAmount", v219._8), IntegerEntry("totalLockedOutShareAmount", v219._9), IntegerEntry("decimalsMultBothAssets", v212), IntegerEntry("priceATH", v216), IntegerEntry("priceRecalculated", v219._1))
338341 }
339342
340343
341344 @Callable(i)
342345 func adminRegisterAsset (baseAssetStr,shareAssetName,shareAssetDescr,getDelayinBlocks,shutdownManagerAddress,startPrice,topupIntervalInBlocks,topupMaxNegativePart,topupManagerAddress,submitLimitsBaseMax,submitLimitsBaseReset,submitLimitsShareMax,submitLimitsShareReset,adminAddress) = {
343- let v221 = fromBase58String(baseAssetStr)
344- let v222 = value(assetInfo(v221)).decimals
345- let v223 = pow(10, 0, v222, 0, 0, DOWN)
346- let v224 = ((100 * 1000) * 1000)
347- let v225 = fraction(topupMaxNegativePart, 100, v223)
348- let v226 = assetBalance(this, v221)
346+ let v220 = fromBase58String(baseAssetStr)
347+ let v221 = value(assetInfo(v220)).decimals
348+ let v222 = pow(10, 0, v221, 0, 0, DOWN)
349+ let v223 = ((100 * 1000) * 1000)
350+ let v224 = fraction(topupMaxNegativePart, 100, v222)
351+ let v225 = assetBalance(this, v220)
349352 if ((i.caller != this))
350353 then throw("permissions denied")
351- else if ((v226 == 0))
354+ else if ((v225 == 0))
352355 then throw(((toString(this) + " must have any initial balance of ") + baseAssetStr))
353356 else if (isDefined(getString(this, f23(baseAssetStr))))
354357 then throw((baseAssetStr + " has been already registered"))
358361 then throw("invalid topupManagerAddress")
359362 else if ((0 > getDelayinBlocks))
360363 then throw(("invalid getDelayinBlocks=" + toString(getDelayinBlocks)))
361- else if (if ((0 >= v225))
364+ else if (if ((0 >= v224))
362365 then true
363- else (v225 >= 99))
366+ else (v224 >= 99))
364367 then throw("invalid topupMaxNegativePart parameter")
365368 else {
366- let v227 = f19(v226, startPrice, v224)
367- let v228 = Issue(shareAssetName, shareAssetDescr, v227, v222, true)
368- let v229 = calculateAssetId(v228)
369- let v230 = toBase58String(v229)
370- let v231 = valueOrElse(getInteger(this, f25()), 0)
371- let v232 = toString(v231)
372-[StringEntry(f23(baseAssetStr), dataAssetCfg(v230, v232, v223, v224, getDelayinBlocks, topupIntervalInBlocks, topupMaxNegativePart, topupManagerAddress, submitLimitsBaseMax, submitLimitsBaseReset, submitLimitsShareMax, submitLimitsShareReset, adminAddress)), StringEntry(f41(v231), baseAssetStr), StringEntry(f43(baseAssetStr), v232), StringEntry(f45(v230), baseAssetStr), StringEntry(f47(baseAssetStr), v230), BooleanEntry(f49(v232), false), StringEntry(f51(v232), shutdownManagerAddress), IntegerEntry(f25(), (v231 + 1)), IntegerEntry(f26(v232), startPrice), IntegerEntry(f33(v232, height, lastBlock.timestamp), startPrice), IntegerEntry(f53(v232), 0), f136(f63(v232), submitLimitsBaseMax, submitLimitsShareMax), v228, ScriptTransfer(addressFromStringValue(topupManagerAddress), v227, v229)]
369+ let v226 = f19(v225, startPrice, v223)
370+ let v227 = Issue(shareAssetName, shareAssetDescr, v226, v221, true)
371+ let v228 = calculateAssetId(v227)
372+ let v229 = toBase58String(v228)
373+ let v230 = valueOrElse(getInteger(this, f25()), 0)
374+ let v231 = toString(v230)
375+[StringEntry(f23(baseAssetStr), dataAssetCfg(v229, v231, v222, v223, getDelayinBlocks, topupIntervalInBlocks, topupMaxNegativePart, topupManagerAddress, submitLimitsBaseMax, submitLimitsBaseReset, submitLimitsShareMax, submitLimitsShareReset, adminAddress)), StringEntry(f41(v230), baseAssetStr), StringEntry(f43(baseAssetStr), v231), StringEntry(f45(v229), baseAssetStr), StringEntry(f47(baseAssetStr), v229), BooleanEntry(f49(v231), false), StringEntry(f51(v231), shutdownManagerAddress), IntegerEntry(f25(), (v230 + 1)), IntegerEntry(f26(v231), startPrice), IntegerEntry(f33(v231, height, lastBlock.timestamp), startPrice), IntegerEntry(f53(v231), 0), f136(f63(v231), submitLimitsBaseMax, submitLimitsShareMax), v227, ScriptTransfer(addressFromStringValue(topupManagerAddress), v226, v228)]
373376 }
374377 }
375378
376379
377380
378381 @Callable(i)
379-func adminUpdateCfg (v233,v234,v235) = {
380- let v236 = f132(v233)
381- nil
382+func adminUpdateCfg (v232,v233,v234) = {
383+ let v235 = f132(v232)
384+ let v236 = v235[v77]
385+ if ((toString(i.caller) != v236))
386+ then throw("permissioned denied")
387+ else {
388+ func UpdateOrKeep (idx) = if ((idx == v233))
389+ then v234
390+ else v235[idx]
391+
392+ let v237 = dataAssetCfgAllStrings(UpdateOrKeep(v65), UpdateOrKeep(v66), UpdateOrKeep(v67), UpdateOrKeep(v68), UpdateOrKeep(v69), UpdateOrKeep(v70), UpdateOrKeep(v71), UpdateOrKeep(v72), UpdateOrKeep(v73), UpdateOrKeep(v74), UpdateOrKeep(v75), UpdateOrKeep(v76), UpdateOrKeep(v77))
393+[StringEntry(f23(v232), v237)]
394+ }
382395 }
383396
384397
385398
386399 @Callable(i)
387-func shutdownSubmits (v231) = {
388- let v237 = toString(v231)
389- let v238 = f0(f41(v231))
390- let v239 = f0(f51(v237))
391- if ((1 > size(v238)))
392- then throw("invalid v231")
393- else if ((toString(i.caller) != v239))
400+func shutdownSubmits (v230) = {
401+ let v238 = toString(v230)
402+ let v239 = f0(f41(v230))
403+ let v240 = f0(f51(v238))
404+ if ((1 > size(v239)))
405+ then throw("invalid v230")
406+ else if ((toString(i.caller) != v240))
394407 then throw("access denied")
395- else [BooleanEntry(f49(toString(v231)), true)]
408+ else [BooleanEntry(f49(toString(v230)), true)]
396409 }
397410
398411
400413 @Callable(i)
401414 func submitPut () = {
402415 let pmt = value(i.payments[0])
403- let v240 = pmt.amount
404- let v241 = value(pmt.assetId)
405- let v242 = toBase58String(v241)
406- f163("P", i, v240, v241, v242)
416+ let v241 = pmt.amount
417+ let v242 = value(pmt.assetId)
418+ let v243 = toBase58String(v242)
419+ f163("P", i, v241, v242, v243)
407420 }
408421
409422
411424 @Callable(i)
412425 func submitGet () = {
413426 let pmt = value(i.payments[0])
414- let v243 = pmt.amount
415- let v244 = value(pmt.assetId)
416- let v230 = toBase58String(v244)
417- let v245 = f0(f45(v230))
418- f163("G", i, v243, v244, v245)
427+ let v244 = pmt.amount
428+ let v245 = value(pmt.assetId)
429+ let v229 = toBase58String(v245)
430+ let v246 = f0(f45(v229))
431+ f163("G", i, v244, v245, v246)
419432 }
420433
421434
422435
423436 @Callable(i)
424-func executePut (v246,v247,v248) = f186("P", v246, v247, v248)
437+func executePut (v247,v248,v249) = f186("P", v247, v248, v249)
425438
426439
427440
428441 @Callable(i)
429-func executeGet (v249,v250,v251) = f186("G", v249, v250, v251)
442+func executeGet (v250,v251,v252) = f186("G", v250, v251, v252)
430443
431444
432445
433446 @Callable(i)
434-func operationsMutex (v252) = {
435- let v253 = f132(v252)
436- let v254 = v253[v72]
437- let v232 = v253[v66]
438- if ((toString(i.caller) != v254))
439- then f13(v254)
440- else [f139(v232, height)]
447+func operationsMutex (v253) = {
448+ let v254 = f132(v253)
449+ let v255 = v254[v72]
450+ let v231 = v254[v66]
451+ if ((toString(i.caller) != v255))
452+ then f13(v255)
453+ else [f139(v231, height)]
441454 }
442455
443456
444457
445458 @Callable(i)
446-func topUpBalance (v255,v256) = {
447- let v221 = fromBase58String(v255)
448- let v257 = f132(v255)
449- let v229 = fromBase58String(v257[v65])
450- let v258 = parseIntValue(v257[v68])
451- let v259 = parseIntValue(v257[v67])
452- let v260 = parseIntValue(v257[v70])
453- let v261 = parseIntValue(v257[v71])
454- let v232 = v257[v66]
455- let v262 = v257[v72]
456- let v263 = parseIntValue(v257[v73])
457- let v264 = parseIntValue(v257[v75])
458- let v265 = f53(v232)
459- let v266 = f2(v265)
460- let v267 = (v266 + 1)
461- let v268 = if ((v256 > 0))
459+func topUpBalance (v256,v257) = {
460+ let v220 = fromBase58String(v256)
461+ let v258 = f132(v256)
462+ let v228 = fromBase58String(v258[v65])
463+ let v259 = parseIntValue(v258[v68])
464+ let v260 = parseIntValue(v258[v67])
465+ let v261 = parseIntValue(v258[v70])
466+ let v262 = parseIntValue(v258[v71])
467+ let v231 = v258[v66]
468+ let v263 = v258[v72]
469+ let v264 = parseIntValue(v258[v73])
470+ let v265 = parseIntValue(v258[v75])
471+ let v266 = f53(v231)
472+ let v267 = f2(v266)
473+ let v268 = (v267 + 1)
474+ let v269 = if ((v257 > 0))
462475 then {
463476 let pmt = value(i.payments[0])
464- let v269 = value(pmt.assetId)
465- if ((v221 != v269))
466- then throw("attached payment's asset id is NOT matched passed v255")
477+ let v270 = value(pmt.assetId)
478+ if ((v220 != v270))
479+ then throw("attached payment's asset id is NOT matched passed v256")
467480 else if ((size(i.payments) > 1))
468481 then throw("only one payment can be attached")
469- else if ((pmt.amount != v256))
470- then throw("attached payment.amount is NOT matched passed v256 argument")
482+ else if ((pmt.amount != v257))
483+ then throw("attached payment.amount is NOT matched passed v257 argument")
471484 else true
472485 }
473- else if ((0 > v256))
486+ else if ((0 > v257))
474487 then {
475- let v270 = assetBalance(this, v221)
476- let v271 = fraction(v261, v270, v259)
477- if ((-(v256) > v271))
478- then throw(("topup negative v256 couldn't be greater than " + toString(v271)))
488+ let v271 = assetBalance(this, v220)
489+ let v272 = fraction(v262, v271, v260)
490+ if ((-(v257) > v272))
491+ then throw(("topup negative v257 couldn't be greater than " + toString(v272)))
479492 else true
480493 }
481- else throw("zero v256 is not allowed")
482- let v272 = f55(v232, toString(i.caller))
483- let v273 = valueOrElse(getInteger(this, v272), 0)
484- if ((toString(i.caller) != v262))
485- then f13(v262)
486- else if (!(v268))
494+ else throw("zero v257 is not allowed")
495+ let v273 = f55(v231, toString(i.caller))
496+ let v274 = valueOrElse(getInteger(this, v273), 0)
497+ if ((toString(i.caller) != v263))
498+ then f13(v263)
499+ else if (!(v269))
487500 then throw("validation failed")
488- else if ((v260 > (height - v273)))
489- then throw((("1 topup per " + toString(v260)) + " blocks from the same address is allowed"))
501+ else if ((v261 > (height - v274)))
502+ then throw((("1 topup per " + toString(v261)) + " blocks from the same address is allowed"))
490503 else {
491- let v274 = f142(v232, v221, v256, v229, v258)._1
492- let v275 = f94("topup", "", v232, v274, v258, 0, v221, v229)
493- let v276 = v275._1
494- let v277 = f28(v232)
495- let v278 = valueOrElse(getInteger(this, v277), 0)
496- (((((([IntegerEntry(f26(v232), v274), IntegerEntry(f33(v232, height, lastBlock.timestamp), v274), IntegerEntry(f30(v232, v267), v274), IntegerEntry(v265, v267), IntegerEntry(v277, if ((v274 > v278))
497- then v274
498- else v278), IntegerEntry(v272, height)] :+ TotalLockedStringEntry("DECREMENT", f36(v232), v276)) :+ f139(v232, 0)) :+ f136(f63(v232), v263, v264)) :+ Burn(v229, v276[v78])) :+ Reissue(v229, -(v276[v81]), true)) ++ (if ((0 > v256))
499- then [ScriptTransfer(i.caller, -(v256), v221)]
504+ let v275 = f142(v231, v220, v257, v228, v259)._1
505+ let v276 = f94("topup", "", v231, v275, v259, 0, v220, v228)
506+ let v277 = v276._1
507+ let v278 = f28(v231)
508+ let v279 = valueOrElse(getInteger(this, v278), 0)
509+ (((((([IntegerEntry(f26(v231), v275), IntegerEntry(f33(v231, height, lastBlock.timestamp), v275), IntegerEntry(f30(v231, v268), v275), IntegerEntry(v266, v268), IntegerEntry(v278, if ((v275 > v279))
510+ then v275
511+ else v279), IntegerEntry(v273, height)] :+ TotalLockedStringEntry("DECREMENT", f36(v231), v277)) :+ f139(v231, 0)) :+ f136(f63(v231), v264, v265)) :+ Burn(v228, v277[v78])) :+ Reissue(v228, -(v277[v81]), true)) ++ (if ((0 > v257))
512+ then [ScriptTransfer(i.caller, -(v257), v220)]
500513 else nil))
501514 }
502515 }
504517
505518
506519 @Callable(i)
507-func currentSysParamsREST (v279) = {
508- let v280 = f207(v279)
509- let v281 = v280._1.value
510- let v224 = v280._2.value
511- let v226 = v280._3.value
512- let v282 = v280._4.value
513- let v283 = v280._5.value
514- let v284 = v280._6.value
515- let v285 = v280._7.value
516- let v286 = v280._8.value
517- let v287 = v280._9.value
518- let v288 = v280._10.value
519- let v223 = v280._11.value
520- let v289 = v280._12.value
521- let v290 = v280._13.value
522- let v291 = makeString(["startCurrentSysParamsREST", toString(v281), toString(v224), toString(v226), toString(v282), toString(v283), toString(v284), toString(v285), toString(v286), toString(v287), toString(v288), toString(v223), toString(v289), toString(v290), "endCurrentSysParamsREST"], SEP)
523- throw(v291)
520+func currentSysParamsREST (v280) = {
521+ let v281 = privateCurrentSysParamsREST(v280)
522+ let v282 = v281._1.value
523+ let v223 = v281._2.value
524+ let v225 = v281._3.value
525+ let v283 = v281._4.value
526+ let v284 = v281._5.value
527+ let v285 = v281._6.value
528+ let v286 = v281._7.value
529+ let v287 = v281._8.value
530+ let v288 = v281._9.value
531+ let v289 = v281._10.value
532+ let v222 = v281._11.value
533+ let v290 = v281._12.value
534+ let v291 = v281._13.value
535+ let v292 = makeString(["startCurrentSysParamsREST", toString(v282), toString(v223), toString(v225), toString(v283), toString(v284), toString(v285), toString(v286), toString(v287), toString(v288), toString(v289), toString(v222), toString(v290), toString(v291), "endCurrentSysParamsREST"], SEP)
536+ throw(v292)
524537 }
525538
526539
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let SEP = "__"
55
66 func f0 (key) = valueOrErrorMessage(getString(this, key), ("No data for this.key=" + key))
77
88
99 func f1 (key) = valueOrErrorMessage(getBoolean(this, key), ("No data for this.key=" + key))
1010
1111
1212 func f2 (key) = valueOrErrorMessage(getInteger(this, key), ("No data for this.key=" + key))
1313
1414
1515 func f3 (msg,v4,v5,v6,v7) = throw(((((((((msg + ": baseAsset=") + v4) + " userAddress=") + v5) + " submitTxId=") + v6) + " operation=") + v7))
1616
1717
1818 func f8 (v9,v10,v11,v12) = throw((((((((("submit operation limits have been reached: " + " remainingBaseVal=") + toString(v9)) + " remainingShareVal=") + toString(v10)) + " newRemainingBaseVal=") + toString(v11)) + " newRemainingShareVal=") + toString(v12)))
1919
2020
2121 func f13 (v14) = throw((("opertion denied: only topUpManager=" + v14) + " can send such transactions"))
2222
2323
2424 func f15 (v16,v17,v18) = fraction(v16, v17, v18)
2525
2626
2727 func f19 (v20,v21,v22) = fraction(v20, v22, v21)
2828
2929
3030 func f23 (v24) = ("%s%s%s__config__asset__" + v24)
3131
3232
3333 func f25 () = "%s__nextInternalAssetId"
3434
3535
3636 func f26 (v27) = ("%s%s%d__price__last__" + v27)
3737
3838
3939 func f28 (v29) = ("%s%s%d__price__ath__" + v29)
4040
4141
4242 func f30 (v31,v32) = makeString(["%s%s%d%d__price__byTopUpIdx", v31, toString(v32)], SEP)
4343
4444
4545 func f33 (v34,h,v35) = makeString(["%s%s%d%d%d__price__history", v34, toString(h), toString(v35)], SEP)
4646
4747
4848 func f36 (v37) = ("%s%s%d__total__locked__" + v37)
4949
5050
5151 func f38 (v39,v40) = makeString(["%s%s%d%s__total__locked", v39, v40], SEP)
5252
5353
5454 func f41 (v42) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(v42))
5555
5656
5757 func f43 (v44) = ("%s%s%s__mappings__baseAsset2internalId__" + v44)
5858
5959
6060 func f45 (v46) = ("%s%s%s__mappings__share2baseAssetId__" + v46)
6161
6262
6363 func f47 (v48) = ("%s%s%s__mappings__baseAsset2shareId__" + v48)
6464
6565
6666 func f49 (v50) = ("%s%s%d__shutdown__submit__" + v50)
6767
6868
6969 func f51 (v52) = ("%s%s%d__shutdown__manager__" + v52)
7070
7171
7272 func f53 (v54) = ("%s%s%d__topup__currentIdx__" + v54)
7373
7474
7575 func f55 (v56,v57) = makeString(["%s%s%s%d%s__topup__last__height", v56, v57], SEP)
7676
7777
7878 func f58 (v59) = ("%s%s%d__topup__mutex__" + v59)
7979
8080
8181 func f60 (v61,v62) = makeString(["%s%s%d%d__topup__history", v61, toString(v62)], SEP)
8282
8383
8484 func f63 (v64) = ("%s%s%d__limits__remaining__" + v64)
8585
8686
8787 let v65 = 1
8888
8989 let v66 = 2
9090
9191 let v67 = 3
9292
9393 let v68 = 4
9494
9595 let v69 = 5
9696
9797 let v70 = 6
9898
9999 let v71 = 7
100100
101101 let v72 = 8
102102
103103 let v73 = 9
104104
105105 let v74 = 10
106106
107107 let v75 = 11
108108
109109 let v76 = 12
110110
111111 let v77 = 13
112+
113+func dataAssetCfgAllStrings (shareAssetStr,internalBaseAssetStr,decimalsMultBothAssets,decimalsMultPrice,getDelayInBlocks,topupIntervalInBlocks,topupMaxNegativePart,topupManagerAddress,submitLimitsBaseMax,submitLimitsBaseReset,submitLimitsShareMax,submitLimitsShareReset,adminAddress) = makeString(["%s%d%d%d%d%d%d%s%d%d%d%d", shareAssetStr, internalBaseAssetStr, decimalsMultBothAssets, decimalsMultPrice, getDelayInBlocks, topupIntervalInBlocks, topupMaxNegativePart, topupManagerAddress, submitLimitsBaseMax, submitLimitsBaseReset, submitLimitsShareMax, submitLimitsShareReset, adminAddress], SEP)
114+
112115
113116 func dataAssetCfg (shareAssetStr,internalBaseAssetStr,decimalsMultBothAssets,decimalsMultPrice,getDelayInBlocks,topupIntervalInBlocks,topupMaxNegativePart,topupManagerAddress,submitLimitsBaseMax,submitLimitsBaseReset,submitLimitsShareMax,submitLimitsShareReset,adminAddress) = makeString(["%s%d%d%d%d%d%d%s%d%d%d%d", shareAssetStr, internalBaseAssetStr, toString(decimalsMultBothAssets), toString(decimalsMultPrice), toString(getDelayInBlocks), toString(topupIntervalInBlocks), toString(topupMaxNegativePart), topupManagerAddress, toString(submitLimitsBaseMax), toString(submitLimitsBaseReset), toString(submitLimitsShareMax), toString(submitLimitsShareReset), adminAddress], SEP)
114117
115118
116119 let v78 = 1
117120
118121 let v79 = 2
119122
120123 let v80 = 3
121124
122125 let v81 = 4
123126
124127 func f82 (v83,v84,v85,v86) = makeString(["%d%d%d%d", toString(v83), toString(v84), toString(v85), toString(v86)], SEP)
125128
126129
127130 func f87 (v88,v89,v90,v91) = [-1, v88, v89, v90, v91]
128131
129132
130133 func f92 (key) = {
131134 let v93 = split(valueOrElse(getString(this, key), f82(0, 0, 0, 0)), SEP)
132135 f87(parseIntValue(v93[v78]), parseIntValue(v93[v79]), parseIntValue(v93[v80]), parseIntValue(v93[v81]))
133136 }
134137
135138
136139 func f94 (v95,v96,v97,v98,v99,v100,v101,v102) = {
137140 let t = (v95 + v96)
138141 if ((t == "submitP"))
139142 then {
140143 let v103 = f87(0, 0, v100, 0)
141144 let v104 = v103
142145 $Tuple4(v103, v104, 0, fromBase58String(""))
143146 }
144147 else if ((t == "submitG"))
145148 then {
146149 let v105 = f87(v100, 0, 0, 0)
147150 let v106 = v105
148151 $Tuple4(v105, v106, 0, fromBase58String(""))
149152 }
150153 else if ((t == "executeP"))
151154 then {
152155 let v107 = f19(v100, v98, v99)
153156 let v108 = f87(0, 0, 0, v107)
154157 let v109 = f87(0, 0, v100, 0)
155158 $Tuple4(v108, v109, v107, v102)
156159 }
157160 else if ((t == "executeG"))
158161 then {
159162 let v110 = f15(v100, v98, v99)
160163 let v111 = f87(0, v110, 0, 0)
161164 let v112 = f87(v100, 0, 0, 0)
162165 $Tuple4(v111, v112, v110, v101)
163166 }
164167 else if ((t == "topup"))
165168 then {
166169 let v113 = f92(f36(v97))
167170 let v114 = v113[v80]
168171 let v115 = v113[v78]
169172 let v116 = f87(v115, (-1 * f15(v115, v98, v99)), v114, (-1 * f19(v114, v98, v99)))
170173 $Tuple4(v116, nil, 0, fromBase58String(""))
171174 }
172175 else throw(("Unsupported Type " + t))
173176 }
174177
175178
176179 func TotalLockedStringEntry (action,key,diff) = {
177180 func f117 (a,b) = if ((action == "INCREMENT"))
178181 then (a + b)
179182 else if ((action == "DECREMENT"))
180183 then (a - b)
181184 else throw(("Unsupported action " + action))
182185
183186 let v118 = f92(key)
184187 StringEntry(key, f82(f117(v118[v78], diff[v78]), f117(v118[v79], diff[v79]), f117(v118[v80], diff[v80]), f117(v118[v81], diff[v81])))
185188 }
186189
187190
188191 func f119 (v120,v121,v122,txId) = makeString(["%s%d%s%s", v120, v121, v122, txId], SEP)
189192
190193
191194 let v123 = 1
192195
193196 let v124 = 2
194197
195198 let v125 = 3
196199
197200 let v126 = 4
198201
199202 let v127 = 5
200203
201204 let v128 = 6
202205
203206 let v129 = 7
204207
205208 let v130 = 8
206209
207210 let v131 = 9
208211
209212 func privateDataOperationAllStrings (status,inAssetAmount,price,outAssetAmount,startHeight,startTimestamp,endHeight,endTimestamp,lock) = makeString(["%s%d%d%d%d%d%d%d%d", status, inAssetAmount, price, outAssetAmount, startHeight, startTimestamp, endHeight, endTimestamp, lock], SEP)
210213
211214
212215 func dataOperation (status,inAssetAmount,price,outAssetAmount,startHeight,startTimestamp,endHeight,endTimestamp,topupUnlockIdx) = privateDataOperationAllStrings(status, toString(inAssetAmount), toString(price), toString(outAssetAmount), toString(startHeight), toString(startTimestamp), toString(endHeight), toString(endTimestamp), toString(topupUnlockIdx))
213216
214217
215218 func dataOperationExecutionUpdate (currOperArray,newStatus,newPrice,newOutAmount) = privateDataOperationAllStrings(newStatus, currOperArray[v124], toString(newPrice), toString(newOutAmount), currOperArray[v127], currOperArray[v128], toString(height), toString(lastBlock.timestamp), currOperArray[v131])
216219
217220
218221 func f132 (v133) = {
219222 let key = f23(v133)
220223 split(f0(key), SEP)
221224 }
222225
223226
224227 let v134 = 1
225228
226229 let v135 = 2
227230
228231 func f136 (key,v137,v138) = StringEntry(key, makeString(["%d%d", toString(v137), toString(v138)], SEP))
229232
230233
231234 func f139 (v140,v141) = IntegerEntry(f58(v140), v141)
232235
233236
234237 func f142 (v143,v144,v145,v146,v147) = {
235238 let v148 = f92(f36(v143))
236239 let v149 = v148[v79]
237240 let v150 = v148[v80]
238241 let v151 = assetBalance(this, v144)
239242 let v152 = (((v151 + v145) - v150) - v149)
240243 let v153 = v148[v81]
241244 let v154 = v148[v78]
242245 let v155 = value(assetInfo(v146)).quantity
243246 if ((0 > v152))
244247 then throw(((("v152 < 0: v151=" + toString(v151)) + " v152=") + toString(v152)))
245248 else {
246249 let v156 = f2(f26(v143))
247250 let v157 = if ((v155 == 0))
248251 then v156
249252 else fraction(v152, v147, v155)
250253 $Tuple9(v157, v151, -1, v152, v155, v150, v154, v149, v153)
251254 }
252255 }
253256
254257
255258 func f158 (v159,v160,v161,v162) = f142(v159, v160, 0, v161, v162)
256259
257260
258261 func f163 (v164,i,v165,v166,v167) = {
259262 let v168 = toBase58String(v166)
260263 let v169 = toString(i.caller)
261264 let v170 = fromBase58String(v167)
262265 let v171 = f132(v167)
263266 let v172 = v171[v65]
264267 let v173 = fromBase58String(v172)
265268 let v174 = parseIntValue(v171[v67])
266269 let v175 = v171[v66]
267270 let v176 = f63(v175)
268271 let v177 = split(f0(v176), SEP)
269272 let v178 = parseIntValue(v177[v134])
270273 let v179 = parseIntValue(v177[v135])
271274 let v180 = valueOrElse(getBoolean(this, f49(v175)), false)
272275 if (v180)
273276 then throw("submit operation is blocked")
274277 else {
275278 let v181 = valueOrElse(getInteger(this, f58(v175)), 0)
276279 if (((v181 + 60) > height))
277280 then throw("submit operations are blocked by topup manager")
278281 else {
279282 let v182 = f94("submit", v164, v175, 0, 0, v165, v170, v173)
280283 let v183 = (v178 - v182._2[v80])
281284 let v184 = (v179 - v182._2[v78])
282285 if (if ((0 > v183))
283286 then true
284287 else (0 > v184))
285288 then f8(v178, v179, v183, v184)
286289 else {
287290 let v185 = f2(f53(v175))
288291 ((([StringEntry(f119(v164, v175, v169, toBase58String(i.transactionId)), dataOperation("PENDING", v165, 0, 0, height, lastBlock.timestamp, 0, 0, (v185 + 1)))] :+ TotalLockedStringEntry("INCREMENT", f36(v175), v182._1)) :+ TotalLockedStringEntry("INCREMENT", f38(v175, v169), v182._2)) :+ f136(v176, v183, v184))
289292 }
290293 }
291294 }
292295 }
293296
294297
295298 func f186 (v187,v188,v189,v190) = {
296299 let v191 = addressFromStringValue(v189)
297300 let v192 = f132(v188)
298301 let v193 = fromBase58String(v192[v65])
299302 let v194 = v192[v66]
300303 let v195 = parseIntValue(v192[v68])
301304 let v196 = fromBase58String(v188)
302305 let v197 = f119(v187, v194, v189, v190)
303306 let v198 = split(f0(v197), SEP)
304307 let v199 = v198[v123]
305308 let v200 = parseIntValue(v198[v124])
306309 let v201 = parseIntValue(v198[v131])
307310 let v202 = f2(f53(v194))
308311 let v203 = f2(f30(v194, v201))
309312 if ((v199 != "PENDING"))
310313 then f3("Status is not PENDING", v188, v189, v190, v187)
311314 else if ((v201 > v202))
312315 then f3(((("OperLock[" + toString(v201)) + "] > ") + toString(v202)), v188, v189, v190, v187)
313316 else {
314317 let v204 = f94("execute", v187, v194, v203, v195, v200, v196, v193)
315318 let v205 = v204._3
316319 let v206 = if ((v204._4 == v196))
317320 then [ScriptTransfer(v191, v205, v196)]
318321 else [ScriptTransfer(v191, v205, v193)]
319322 (((v206 :+ StringEntry(v197, dataOperationExecutionUpdate(v198, "FINISHED", v203, v205))) :+ TotalLockedStringEntry("DECREMENT", f36(v194), v204._1)) :+ TotalLockedStringEntry("DECREMENT", f38(v194, v189), v204._2))
320323 }
321324 }
322325
323326
324-func f207 (v208) = {
325- let v209 = fromBase58String(v208)
326- let v210 = f132(v208)
327- let v211 = v210[v65]
328- let v212 = fromBase58String(v211)
329- let v213 = parseIntValue(v210[v67])
330- let v214 = parseIntValue(v210[v68])
331- let v215 = v210[v66]
332- let v216 = f28(v215)
333- let v217 = valueOrElse(getInteger(this, v216), 0)
334- let v218 = f26(v215)
335- let v219 = valueOrElse(getInteger(this, v218), 0)
336- let v220 = f158(v215, v209, v212, v214)
337- $Tuple13(IntegerEntry("price", v220._1), IntegerEntry("decimalsMultPrice", v214), IntegerEntry("baseAssetBalance", v220._2), IntegerEntry("-1", v220._3), IntegerEntry("baseAssetBalanceWCO", v220._4), IntegerEntry("shareEmission", v220._5), IntegerEntry("currIterTotalInBaseAmount", v220._6), IntegerEntry("currIterTotalInShareAmount", v220._7), IntegerEntry("totalLockedOutBaseAmount", v220._8), IntegerEntry("totalLockedOutShareAmount", v220._9), IntegerEntry("decimalsMultBothAssets", v213), IntegerEntry("priceATH", v217), IntegerEntry("priceLast", v219))
327+func privateCurrentSysParamsREST (v207) = {
328+ let v208 = fromBase58String(v207)
329+ let v209 = f132(v207)
330+ let v210 = v209[v65]
331+ let v211 = fromBase58String(v210)
332+ let v212 = parseIntValue(v209[v67])
333+ let v213 = parseIntValue(v209[v68])
334+ let v214 = v209[v66]
335+ let v215 = f28(v214)
336+ let v216 = valueOrElse(getInteger(this, v215), 0)
337+ let v217 = f26(v214)
338+ let v218 = valueOrElse(getInteger(this, v217), 0)
339+ let v219 = f158(v214, v208, v211, v213)
340+ $Tuple13(IntegerEntry("price", v218), IntegerEntry("decimalsMultPrice", v213), IntegerEntry("baseAssetBalance", v219._2), IntegerEntry("-1", v219._3), IntegerEntry("baseAssetBalanceWCO", v219._4), IntegerEntry("shareEmission", v219._5), IntegerEntry("currIterTotalInBaseAmount", v219._6), IntegerEntry("currIterTotalInShareAmount", v219._7), IntegerEntry("totalLockedOutBaseAmount", v219._8), IntegerEntry("totalLockedOutShareAmount", v219._9), IntegerEntry("decimalsMultBothAssets", v212), IntegerEntry("priceATH", v216), IntegerEntry("priceRecalculated", v219._1))
338341 }
339342
340343
341344 @Callable(i)
342345 func adminRegisterAsset (baseAssetStr,shareAssetName,shareAssetDescr,getDelayinBlocks,shutdownManagerAddress,startPrice,topupIntervalInBlocks,topupMaxNegativePart,topupManagerAddress,submitLimitsBaseMax,submitLimitsBaseReset,submitLimitsShareMax,submitLimitsShareReset,adminAddress) = {
343- let v221 = fromBase58String(baseAssetStr)
344- let v222 = value(assetInfo(v221)).decimals
345- let v223 = pow(10, 0, v222, 0, 0, DOWN)
346- let v224 = ((100 * 1000) * 1000)
347- let v225 = fraction(topupMaxNegativePart, 100, v223)
348- let v226 = assetBalance(this, v221)
346+ let v220 = fromBase58String(baseAssetStr)
347+ let v221 = value(assetInfo(v220)).decimals
348+ let v222 = pow(10, 0, v221, 0, 0, DOWN)
349+ let v223 = ((100 * 1000) * 1000)
350+ let v224 = fraction(topupMaxNegativePart, 100, v222)
351+ let v225 = assetBalance(this, v220)
349352 if ((i.caller != this))
350353 then throw("permissions denied")
351- else if ((v226 == 0))
354+ else if ((v225 == 0))
352355 then throw(((toString(this) + " must have any initial balance of ") + baseAssetStr))
353356 else if (isDefined(getString(this, f23(baseAssetStr))))
354357 then throw((baseAssetStr + " has been already registered"))
355358 else if ((toString(addressFromStringValue(shutdownManagerAddress)) != shutdownManagerAddress))
356359 then throw("invalid shutdownManagerAddress")
357360 else if ((toString(addressFromStringValue(topupManagerAddress)) != topupManagerAddress))
358361 then throw("invalid topupManagerAddress")
359362 else if ((0 > getDelayinBlocks))
360363 then throw(("invalid getDelayinBlocks=" + toString(getDelayinBlocks)))
361- else if (if ((0 >= v225))
364+ else if (if ((0 >= v224))
362365 then true
363- else (v225 >= 99))
366+ else (v224 >= 99))
364367 then throw("invalid topupMaxNegativePart parameter")
365368 else {
366- let v227 = f19(v226, startPrice, v224)
367- let v228 = Issue(shareAssetName, shareAssetDescr, v227, v222, true)
368- let v229 = calculateAssetId(v228)
369- let v230 = toBase58String(v229)
370- let v231 = valueOrElse(getInteger(this, f25()), 0)
371- let v232 = toString(v231)
372-[StringEntry(f23(baseAssetStr), dataAssetCfg(v230, v232, v223, v224, getDelayinBlocks, topupIntervalInBlocks, topupMaxNegativePart, topupManagerAddress, submitLimitsBaseMax, submitLimitsBaseReset, submitLimitsShareMax, submitLimitsShareReset, adminAddress)), StringEntry(f41(v231), baseAssetStr), StringEntry(f43(baseAssetStr), v232), StringEntry(f45(v230), baseAssetStr), StringEntry(f47(baseAssetStr), v230), BooleanEntry(f49(v232), false), StringEntry(f51(v232), shutdownManagerAddress), IntegerEntry(f25(), (v231 + 1)), IntegerEntry(f26(v232), startPrice), IntegerEntry(f33(v232, height, lastBlock.timestamp), startPrice), IntegerEntry(f53(v232), 0), f136(f63(v232), submitLimitsBaseMax, submitLimitsShareMax), v228, ScriptTransfer(addressFromStringValue(topupManagerAddress), v227, v229)]
369+ let v226 = f19(v225, startPrice, v223)
370+ let v227 = Issue(shareAssetName, shareAssetDescr, v226, v221, true)
371+ let v228 = calculateAssetId(v227)
372+ let v229 = toBase58String(v228)
373+ let v230 = valueOrElse(getInteger(this, f25()), 0)
374+ let v231 = toString(v230)
375+[StringEntry(f23(baseAssetStr), dataAssetCfg(v229, v231, v222, v223, getDelayinBlocks, topupIntervalInBlocks, topupMaxNegativePart, topupManagerAddress, submitLimitsBaseMax, submitLimitsBaseReset, submitLimitsShareMax, submitLimitsShareReset, adminAddress)), StringEntry(f41(v230), baseAssetStr), StringEntry(f43(baseAssetStr), v231), StringEntry(f45(v229), baseAssetStr), StringEntry(f47(baseAssetStr), v229), BooleanEntry(f49(v231), false), StringEntry(f51(v231), shutdownManagerAddress), IntegerEntry(f25(), (v230 + 1)), IntegerEntry(f26(v231), startPrice), IntegerEntry(f33(v231, height, lastBlock.timestamp), startPrice), IntegerEntry(f53(v231), 0), f136(f63(v231), submitLimitsBaseMax, submitLimitsShareMax), v227, ScriptTransfer(addressFromStringValue(topupManagerAddress), v226, v228)]
373376 }
374377 }
375378
376379
377380
378381 @Callable(i)
379-func adminUpdateCfg (v233,v234,v235) = {
380- let v236 = f132(v233)
381- nil
382+func adminUpdateCfg (v232,v233,v234) = {
383+ let v235 = f132(v232)
384+ let v236 = v235[v77]
385+ if ((toString(i.caller) != v236))
386+ then throw("permissioned denied")
387+ else {
388+ func UpdateOrKeep (idx) = if ((idx == v233))
389+ then v234
390+ else v235[idx]
391+
392+ let v237 = dataAssetCfgAllStrings(UpdateOrKeep(v65), UpdateOrKeep(v66), UpdateOrKeep(v67), UpdateOrKeep(v68), UpdateOrKeep(v69), UpdateOrKeep(v70), UpdateOrKeep(v71), UpdateOrKeep(v72), UpdateOrKeep(v73), UpdateOrKeep(v74), UpdateOrKeep(v75), UpdateOrKeep(v76), UpdateOrKeep(v77))
393+[StringEntry(f23(v232), v237)]
394+ }
382395 }
383396
384397
385398
386399 @Callable(i)
387-func shutdownSubmits (v231) = {
388- let v237 = toString(v231)
389- let v238 = f0(f41(v231))
390- let v239 = f0(f51(v237))
391- if ((1 > size(v238)))
392- then throw("invalid v231")
393- else if ((toString(i.caller) != v239))
400+func shutdownSubmits (v230) = {
401+ let v238 = toString(v230)
402+ let v239 = f0(f41(v230))
403+ let v240 = f0(f51(v238))
404+ if ((1 > size(v239)))
405+ then throw("invalid v230")
406+ else if ((toString(i.caller) != v240))
394407 then throw("access denied")
395- else [BooleanEntry(f49(toString(v231)), true)]
408+ else [BooleanEntry(f49(toString(v230)), true)]
396409 }
397410
398411
399412
400413 @Callable(i)
401414 func submitPut () = {
402415 let pmt = value(i.payments[0])
403- let v240 = pmt.amount
404- let v241 = value(pmt.assetId)
405- let v242 = toBase58String(v241)
406- f163("P", i, v240, v241, v242)
416+ let v241 = pmt.amount
417+ let v242 = value(pmt.assetId)
418+ let v243 = toBase58String(v242)
419+ f163("P", i, v241, v242, v243)
407420 }
408421
409422
410423
411424 @Callable(i)
412425 func submitGet () = {
413426 let pmt = value(i.payments[0])
414- let v243 = pmt.amount
415- let v244 = value(pmt.assetId)
416- let v230 = toBase58String(v244)
417- let v245 = f0(f45(v230))
418- f163("G", i, v243, v244, v245)
427+ let v244 = pmt.amount
428+ let v245 = value(pmt.assetId)
429+ let v229 = toBase58String(v245)
430+ let v246 = f0(f45(v229))
431+ f163("G", i, v244, v245, v246)
419432 }
420433
421434
422435
423436 @Callable(i)
424-func executePut (v246,v247,v248) = f186("P", v246, v247, v248)
437+func executePut (v247,v248,v249) = f186("P", v247, v248, v249)
425438
426439
427440
428441 @Callable(i)
429-func executeGet (v249,v250,v251) = f186("G", v249, v250, v251)
442+func executeGet (v250,v251,v252) = f186("G", v250, v251, v252)
430443
431444
432445
433446 @Callable(i)
434-func operationsMutex (v252) = {
435- let v253 = f132(v252)
436- let v254 = v253[v72]
437- let v232 = v253[v66]
438- if ((toString(i.caller) != v254))
439- then f13(v254)
440- else [f139(v232, height)]
447+func operationsMutex (v253) = {
448+ let v254 = f132(v253)
449+ let v255 = v254[v72]
450+ let v231 = v254[v66]
451+ if ((toString(i.caller) != v255))
452+ then f13(v255)
453+ else [f139(v231, height)]
441454 }
442455
443456
444457
445458 @Callable(i)
446-func topUpBalance (v255,v256) = {
447- let v221 = fromBase58String(v255)
448- let v257 = f132(v255)
449- let v229 = fromBase58String(v257[v65])
450- let v258 = parseIntValue(v257[v68])
451- let v259 = parseIntValue(v257[v67])
452- let v260 = parseIntValue(v257[v70])
453- let v261 = parseIntValue(v257[v71])
454- let v232 = v257[v66]
455- let v262 = v257[v72]
456- let v263 = parseIntValue(v257[v73])
457- let v264 = parseIntValue(v257[v75])
458- let v265 = f53(v232)
459- let v266 = f2(v265)
460- let v267 = (v266 + 1)
461- let v268 = if ((v256 > 0))
459+func topUpBalance (v256,v257) = {
460+ let v220 = fromBase58String(v256)
461+ let v258 = f132(v256)
462+ let v228 = fromBase58String(v258[v65])
463+ let v259 = parseIntValue(v258[v68])
464+ let v260 = parseIntValue(v258[v67])
465+ let v261 = parseIntValue(v258[v70])
466+ let v262 = parseIntValue(v258[v71])
467+ let v231 = v258[v66]
468+ let v263 = v258[v72]
469+ let v264 = parseIntValue(v258[v73])
470+ let v265 = parseIntValue(v258[v75])
471+ let v266 = f53(v231)
472+ let v267 = f2(v266)
473+ let v268 = (v267 + 1)
474+ let v269 = if ((v257 > 0))
462475 then {
463476 let pmt = value(i.payments[0])
464- let v269 = value(pmt.assetId)
465- if ((v221 != v269))
466- then throw("attached payment's asset id is NOT matched passed v255")
477+ let v270 = value(pmt.assetId)
478+ if ((v220 != v270))
479+ then throw("attached payment's asset id is NOT matched passed v256")
467480 else if ((size(i.payments) > 1))
468481 then throw("only one payment can be attached")
469- else if ((pmt.amount != v256))
470- then throw("attached payment.amount is NOT matched passed v256 argument")
482+ else if ((pmt.amount != v257))
483+ then throw("attached payment.amount is NOT matched passed v257 argument")
471484 else true
472485 }
473- else if ((0 > v256))
486+ else if ((0 > v257))
474487 then {
475- let v270 = assetBalance(this, v221)
476- let v271 = fraction(v261, v270, v259)
477- if ((-(v256) > v271))
478- then throw(("topup negative v256 couldn't be greater than " + toString(v271)))
488+ let v271 = assetBalance(this, v220)
489+ let v272 = fraction(v262, v271, v260)
490+ if ((-(v257) > v272))
491+ then throw(("topup negative v257 couldn't be greater than " + toString(v272)))
479492 else true
480493 }
481- else throw("zero v256 is not allowed")
482- let v272 = f55(v232, toString(i.caller))
483- let v273 = valueOrElse(getInteger(this, v272), 0)
484- if ((toString(i.caller) != v262))
485- then f13(v262)
486- else if (!(v268))
494+ else throw("zero v257 is not allowed")
495+ let v273 = f55(v231, toString(i.caller))
496+ let v274 = valueOrElse(getInteger(this, v273), 0)
497+ if ((toString(i.caller) != v263))
498+ then f13(v263)
499+ else if (!(v269))
487500 then throw("validation failed")
488- else if ((v260 > (height - v273)))
489- then throw((("1 topup per " + toString(v260)) + " blocks from the same address is allowed"))
501+ else if ((v261 > (height - v274)))
502+ then throw((("1 topup per " + toString(v261)) + " blocks from the same address is allowed"))
490503 else {
491- let v274 = f142(v232, v221, v256, v229, v258)._1
492- let v275 = f94("topup", "", v232, v274, v258, 0, v221, v229)
493- let v276 = v275._1
494- let v277 = f28(v232)
495- let v278 = valueOrElse(getInteger(this, v277), 0)
496- (((((([IntegerEntry(f26(v232), v274), IntegerEntry(f33(v232, height, lastBlock.timestamp), v274), IntegerEntry(f30(v232, v267), v274), IntegerEntry(v265, v267), IntegerEntry(v277, if ((v274 > v278))
497- then v274
498- else v278), IntegerEntry(v272, height)] :+ TotalLockedStringEntry("DECREMENT", f36(v232), v276)) :+ f139(v232, 0)) :+ f136(f63(v232), v263, v264)) :+ Burn(v229, v276[v78])) :+ Reissue(v229, -(v276[v81]), true)) ++ (if ((0 > v256))
499- then [ScriptTransfer(i.caller, -(v256), v221)]
504+ let v275 = f142(v231, v220, v257, v228, v259)._1
505+ let v276 = f94("topup", "", v231, v275, v259, 0, v220, v228)
506+ let v277 = v276._1
507+ let v278 = f28(v231)
508+ let v279 = valueOrElse(getInteger(this, v278), 0)
509+ (((((([IntegerEntry(f26(v231), v275), IntegerEntry(f33(v231, height, lastBlock.timestamp), v275), IntegerEntry(f30(v231, v268), v275), IntegerEntry(v266, v268), IntegerEntry(v278, if ((v275 > v279))
510+ then v275
511+ else v279), IntegerEntry(v273, height)] :+ TotalLockedStringEntry("DECREMENT", f36(v231), v277)) :+ f139(v231, 0)) :+ f136(f63(v231), v264, v265)) :+ Burn(v228, v277[v78])) :+ Reissue(v228, -(v277[v81]), true)) ++ (if ((0 > v257))
512+ then [ScriptTransfer(i.caller, -(v257), v220)]
500513 else nil))
501514 }
502515 }
503516
504517
505518
506519 @Callable(i)
507-func currentSysParamsREST (v279) = {
508- let v280 = f207(v279)
509- let v281 = v280._1.value
510- let v224 = v280._2.value
511- let v226 = v280._3.value
512- let v282 = v280._4.value
513- let v283 = v280._5.value
514- let v284 = v280._6.value
515- let v285 = v280._7.value
516- let v286 = v280._8.value
517- let v287 = v280._9.value
518- let v288 = v280._10.value
519- let v223 = v280._11.value
520- let v289 = v280._12.value
521- let v290 = v280._13.value
522- let v291 = makeString(["startCurrentSysParamsREST", toString(v281), toString(v224), toString(v226), toString(v282), toString(v283), toString(v284), toString(v285), toString(v286), toString(v287), toString(v288), toString(v223), toString(v289), toString(v290), "endCurrentSysParamsREST"], SEP)
523- throw(v291)
520+func currentSysParamsREST (v280) = {
521+ let v281 = privateCurrentSysParamsREST(v280)
522+ let v282 = v281._1.value
523+ let v223 = v281._2.value
524+ let v225 = v281._3.value
525+ let v283 = v281._4.value
526+ let v284 = v281._5.value
527+ let v285 = v281._6.value
528+ let v286 = v281._7.value
529+ let v287 = v281._8.value
530+ let v288 = v281._9.value
531+ let v289 = v281._10.value
532+ let v222 = v281._11.value
533+ let v290 = v281._12.value
534+ let v291 = v281._13.value
535+ let v292 = makeString(["startCurrentSysParamsREST", toString(v282), toString(v223), toString(v225), toString(v283), toString(v284), toString(v285), toString(v286), toString(v287), toString(v288), toString(v289), toString(v222), toString(v290), toString(v291), "endCurrentSysParamsREST"], SEP)
536+ throw(v292)
524537 }
525538
526539

github/deemru/w8io/873ac7e 
232.47 ms