tx · GJqTRqDGs9DQfNBcrtzhPtLqki27SFchngjygo3PtgbA

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02900000 Waves

2023.01.18 14:38 [2410320] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "GJqTRqDGs9DQfNBcrtzhPtLqki27SFchngjygo3PtgbA", "fee": 2900000, "feeAssetId": null, "timestamp": 1674041971836, "version": 1, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "5Xm1JaCqnFVSfXzAYyVREymxsvtXM1A4KPUbgFY9X8dLpApzgWNkLqtLazn5MeYtMaB3Le23CZhcrQ14WNvTdr5U" ], "script": "base64:AAIFAAAAAAAAEowIAhIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEIEgASAwoBGBIKCggICAgICAEICBIECgIIARIDCgEBEgMKAQESBAoCCAESBgoECAgICBIECgIICBIECgIICBIECgIICBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgiBlNDQUxFOCIFTVVMVDgiB1NDQUxFMTgiBk1VTFQxOCIOUE9PTFdFSUdIVE1VTFQiDkdXWHZpcnR1YWxQT09MIgxsYWJlbFBvb2xzTHAiDWRlZmF1bHRTcHJlYWQiEWRlY2ltYWxzTXVsdFByaWNlIgNTRVAiBUVNUFRZIgpQb29sQWN0aXZlIg9Qb29sUHV0RGlzYWJsZWQiE1Bvb2xNYXRjaGVyRGlzYWJsZWQiDFBvb2xTaHV0ZG93biISaWR4SW50ZXJuYWxBc3NldElkIg9pZHhSZXN1dEFjdGlvbnMiIGlkeElmQXNzZXRJZENhbGN1bGF0aW9uUGVyZm9ybWVkIg5pZHhQb29sQWRkcmVzcyINaWR4UG9vbFN0YXR1cyIQaWR4UG9vbExQQXNzZXRJZCINaWR4QW10QXNzZXRJZCIPaWR4UHJpY2VBc3NldElkIg5pZHhBbXRBc3NldERjbSIQaWR4UHJpY2VBc3NldERjbSIOaWR4SUFtdEFzc2V0SWQiEGlkeElQcmljZUFzc2V0SWQiDWlkeExQQXNzZXREY20iC2lkeFBvb2xUeXBlIhNwb29sTGFiZWxXeEVtaXNzaW9uIg92YWxpZFBvb2xMYWJlbHMiFmtleUFsbG93ZWRMcFNjcmlwdEhhc2giHGtleUFsbG93ZWRMcFN0YWJsZVNjcmlwdEhhc2giIWtleUFsbG93ZWRMcFN0YWJsZUFkZG9uU2NyaXB0SGFzaCIQa2V5RmFjdG9yeUNvbmZpZyIPa2V5THBUb2tlbnNMaXN0IhFrZXlQb29sU2NyaXB0SGFzaCINa2V5TWF0Y2hlclB1YiIYa2V5TGVnYWN5RmFjdG9yeUNvbnRyYWN0Ig5rZXlMZWdhY3lQb29scyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiD2tleUFkbWluUHViS2V5cyIWa2V5QXNzZXRzU3RvcmVDb250cmFjdCIZa2V5Vm90aW5nRW1pc3Npb25Db250cmFjdCIOa2V5UHJpY2VBc3NldHMiEGtleVByaWNlRGVjaW1hbHMiE2tleUFsbFBvb2xzU2h1dGRvd24iFmtleU5leHRJbnRlcm5hbEFzc2V0SWQiD2tleVBvb2xUb1dlaWdodCILcG9vbEFkZHJlc3MiFmtleVBvb2xUb1dlaWdodEhpc3RvcnkiA251bSIfa2V5TWFwcGluZ3NJbnRlcm5hbDJiYXNlQXNzZXRJZCIRaW50ZXJuYWxCYXNlQXNzZXQiH2tleU1hcHBpbmdzQmFzZUFzc2V0MmludGVybmFsSWQiDGJhc2VBc3NldFN0ciINa2V5UG9vbENvbmZpZyITYW1vdW50QXNzZXRJbnRlcm5hbCIScHJpY2VBc3NldEludGVybmFsIiFrZXlQb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiDmFzc2V0c0ludGVybmFsIgskdDAzNjMyMzY5NCIla2V5QWxsUG9vbHNPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIda2V5TWFwcGluZ0xwQXNzZXRUb1Bvb2xBc3NldHMiCmxwQXNzZXRTdHIiHWtleU1hcHBpbmdQb29sQXNzZXRzVG9McGFzc2V0IhhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHIiF2ludGVybmFsUHJpY2VBc3NldElkU3RyIg1rZXlQb29sU3ByZWFkIilrZXlNYXBwaW5nUG9vbENvbnRyYWN0QWRkcmVzc1RvUG9vbEFzc2V0cyITcG9vbENvbnRyYWN0QWRkcmVzcyIpa2V5TWFwcGluZ1Bvb2xBc3NldHNUb1Bvb2xDb250cmFjdEFkZHJlc3MiH2tleU1hcHBpbmdQb29sQ29udHJhY3RUb0xQQXNzZXQiKmtleU1hcHBpbmdQb29sTFBBc3NldFRvUG9vbENvbnRyYWN0QWRkcmVzcyINa2V5V3hFbWlzc2lvbiINYW1vdW50QXNzZXRJZCIMcHJpY2VBc3NldElkIghrZXlJbkZlZSIPa2V5SW5GZWVEZWZhdWx0IglrZXlPdXRGZWUiEGtleU91dEZlZURlZmF1bHQiD2dldFN0cmluZ09yRmFpbCIDa2V5IhBnZXRCb29sZWFuT3JGYWlsIgxnZXRJbnRPckZhaWwiGElkeEZhY3RvcnlDZmdTdGFraW5nRGFwcCIZSWR4RmFjdG9yeUNmZ0Jvb3N0aW5nRGFwcCIUSWR4RmFjdG9yeUNmZ0lkb0RhcHAiFUlkeEZhY3RvcnlDZmdUZWFtRGFwcCIZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcCIVSWR4RmFjdG9yeUNmZ1Jlc3REYXBwIhlJZHhGYWN0b3J5Q2ZnU2xpcHBhZ2VEYXBwIhRJZHhGYWN0b3J5Q2ZnRGFvRGFwcCIaSWR4RmFjdG9yeUNmZ01hcmtldGluZ0RhcHAiGklkeEZhY3RvcnlDZmdHd3hSZXdhcmREYXBwIhZJZHhGYWN0b3J5Q2ZnQmlyZHNEYXBwIhhnZXRCb29zdGluZ0FkZHJlc3NPckZhaWwiCmZhY3RvcnlDZmciGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbCIXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwiGWdldEd3eFJld2FyZEFkZHJlc3NPckZhaWwiDmdldFByaWNlQXNzZXRzIgckbWF0Y2gwIgFzIhZtYW5hZ2VyUHVibGljS2V5T3JVbml0Ih1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCIVcGVybWlzc2lvbkRlbmllZEVycm9yIghtdXN0VGhpcyIBaSILbXVzdE1hbmFnZXIiAnBrIhBkYXRhRmFjdG9yeUNmZ1YzIg5zdGFraW5nQWRkcmVzcyIPYm9vc3RpbmdBZGRyZXNzIgtpZG9Db250cmFjdCIMdGVhbUNvbnRyYWN0IhBlbWlzc2lvbkNvbnRyYWN0IgxyZXN0Q29udHJhY3QiEHNsaXBwYWdlQ29udHJhY3QiC2Rhb0NvbnRyYWN0IhFtYXJrZXRpbmdDb250cmFjdCISZ3d4UmV3YXJkc0NvbnRyYWN0Ig1iaXJkc0NvbnRyYWN0Ig5kYXRhRmFjdG9yeUNmZyILZGF0YVBvb2xDZmciCnBvb2xTdGF0dXMiCWxwQXNzZXRJZCIOYW1vdW50QXNzZXRTdHIiDXByaWNlQXNzZXRTdHIiE2Ftb3VudEFzc2V0RGVjaW1hbHMiEnByaWNlQXNzZXREZWNpbWFscyIVYW1vdW50QXNzZXRJbnRlcm5hbElkIhRwcmljZUFzc2V0SW50ZXJuYWxJZCIPbHBBc3NldERlY2ltYWxzIghwb29sVHlwZSIVZGF0YU1hcHBpbmdQb29sQXNzZXRzIhZpbnRlcm5hbEFtb3VudEFzc2V0U3RyIhVpbnRlcm5hbFByaWNlQXNzZXRTdHIiDWdldFBvb2xDb25maWciCnBvb2xBc3NldHMiGmdldEludGVybmFsQXNzZXRJZE9yQ3JlYXRlIgphc3NldElkU3RyIgtpbmNyZW1lbnRvciIPaW50ZXJuYWxBc3NldElkIhhjdXJyZW50SW5kZXhPZkludGVybmFsSWQiBnJlc3VsdCISbmV3SW50ZXJuYWxBc3NldElkIgltdXN0QWRtaW4iCGFkbWluUEtzIglpc01hbmFnZXIiFmludE9yRGVmYXVsdE9yRmFsbGJhY2siCmtleURlZmF1bHQiDXZhbHVlRmFsbGJhY2siD3N0YWtpbmdDb250cmFjdCIQYm9vc3RpbmdDb250cmFjdCIQc2xwaXBhZ2VDb250cmFjdCINcHJpY2VEZWNpbWFscyILY2hlY2tDYWxsZXIiEG1hdGhjaGVyUHViNThTdHIiCm1hdGhjZXJQdWIiFWxlZ2FjeUZhY3RvcnlDb250cmFjdCILbGVnYWN5UG9vbHMiE2Fzc2V0c1N0b3JlQ29udHJhY3QiFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QiC3ByaWNlQXNzZXRzIgVjaGVrcyIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgxhZG1pblB1YktleXMiC2xwQXNzZXROYW1lIgxscEFzc2V0RGVzY3IiCnBvb2xXZWlnaHQiBGxvZ28iF2ludGVybmFsQW1vdW50QXNzZXREYXRhIhVpbnRlcm5hbEFtb3VudEFzc2V0SWQiFmludGVybmFsUHJpY2VBc3NldERhdGEiFGludGVybmFsUHJpY2VBc3NldElkIhVwb29sQWNjb3VudFNjcmlwdEhhc2giHGV0aGFsb25Qb29sQWNjb3VudFNjcmlwdEhhc2giCnBvb2xDb25maWciD3Bvb2xDb25maWdWYWx1ZSIUYW1vdW50QXNzZXRzRGVjaW1hbHMiE3ByaWNlQXNzZXRzRGVjaW1hbHMiEmxwQXNzZXRJc3N1ZUFjdGlvbiIMbHBBc3NldElkU3RyIhhwb29sQWN0aXZhdGVJbnZva2VSZXN1bHQiGGNyZWF0ZU9yVXBkYXRlTHBBc3NldEludiISYWRkUG9vbHNMcExhYmVsSW52IgpzZXRMb2dvSW52IhBhZGRBc3NldHNMaW5rSW52IhtpbmNyZWFzZUFzc2V0UG9vbHNOdW1iZXJJbnYiCW5ld1N0YXR1cyIKbHBBc3NldERjbSIMYW1vdW50VG9FbWl0IgZjYWxsZXIiDG9yaWdpbkNhbGxlciIQbHBBc3NldFJlcXVlc3RlZCIHbHBBc3NldCIMYW1vdW50VG9CdXJuIgdwYXltZW50Ig1wYXltZW50QW1vdW50Ig9pbkFtb3VudEFzc2V0SWQiGmxwQXNzZXRSZXF1ZXN0ZWRGb3JCdXJuaW5nIgVzaGFyZSINcG9vbFdlaWdodEtleSIMZ3d4V2VpZ2h0S2V5Iglnd3hXZWlnaHQiDXBvb2xXZWlnaHROZXciEW9uTW9kaWZ5V2VpZ2h0SW52IhVnd3hWaXJ0dWFsUG9vbEFjdGlvbnMiFHBvb2xXZWlnaHRIaXN0b3J5S2V5Ihdwb29sV2VpZ2h0SGlzdG9yeU9yVW5pdCIYcG9vbFdlaWdodEhpc3RvcnlBY3Rpb25zIg5idGNQb29sQWRkcmVzcyIOZXRoUG9vbEFkZHJlc3MiEWV0aEJ0Y1Bvb2xBZGRyZXNzIhN1c2RjVXNkdFBvb2xBZGRyZXNzIg9ldGhCdGNXZWlnaHROZXciEXVzZGNVc2R0V2VpZ2h0TmV3Ig93ZWlnaHREZWNyZW1lbnQiC3N0YWtpbmdEYXBwIg1nd3hSZXdhcmREYXBwIgxidGNXZWlnaHRLRVkiDGV0aFdlaWdodEtFWSIPZXRoQnRjV2VpZ2h0S0VZIhF1c2RjVXNkdFdlaWdodEtFWSIJYnRjV2VpZ2h0IglldGhXZWlnaHQiDGJ0Y1dlaWdodE5ldyIMZXRoV2VpZ2h0TmV3Ig9idGNMcEFzc2V0SWRTdHIiD2V0aExwQXNzZXRJZFN0ciISZXRoQnRjTHBBc3NldElkU3RyIhR1c2RjVXNkdExwQXNzZXRJZFN0ciIRb25Nb2RpZnlXZWlnaHRCdGMiEW9uTW9kaWZ5V2VpZ2h0RXRoIhRvbk1vZGlm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", "chainId": 84, "height": 2410320, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 74s5enjE1kh9cF3KbraDPw1YKP4ZkumNtbR4xW1gL5Qp Next: DFLtAmhP7AKtgrUTUxx8K6yf4yes8zKXpcca2zbzBcvN Diff:
OldNewDifferences
333333
334334
335335 @Callable(bf)
336-func getLpAssetFromPoolAssetsREADONLY (bY,bZ) = $Tuple2(nil, getString(this, ao(bY, bZ)))
337-
338-
339-
340-@Callable(bf)
341-func getPoolAddressFromLpAssetREADONLY (ca) = $Tuple2(nil, getString(this, aw(ca)))
342-
343-
344-
345-@Callable(bf)
346-func constructor (cb,cc,bl,bm,bn,bo,cd,ce) = {
347- let cf = bg(bf)
348- if ((cf == cf))
349- then [StringEntry(I(), bu(cb, cc, bl, bm, bn, bo, cd)), IntegerEntry(U(), ce)]
336+func constructor (bY,bZ,bl,bm,bn,bo,ca,cb) = {
337+ let cc = bg(bf)
338+ if ((cc == cc))
339+ then [StringEntry(I(), bu(bY, bZ, bl, bm, bn, bo, ca)), IntegerEntry(U(), cb)]
350340 else throw("Strict value is not equal to itself.")
351341 }
352342
353343
354344
355345 @Callable(bf)
356-func constructorV2 (cg) = {
357- let cf = bg(bf)
358- if ((cf == cf))
346+func constructorV2 (cd) = {
347+ let cc = bg(bf)
348+ if ((cc == cc))
359349 then {
360- let ch = addressFromPublicKey(fromBase58String(cg))
361- if ((ch == ch))
362- then [StringEntry(L(), cg)]
350+ let ce = addressFromPublicKey(fromBase58String(cd))
351+ if ((ce == ce))
352+ then [StringEntry(L(), cd)]
363353 else throw("Strict value is not equal to itself.")
364354 }
365355 else throw("Strict value is not equal to itself.")
369359
370360 @Callable(bf)
371361 func constructorV3 (bq,br,bs,bt) = {
372- let cf = bg(bf)
373- if ((cf == cf))
362+ let cc = bg(bf)
363+ if ((cc == cc))
374364 then {
375365 let aU = split(aE(I()), j)
376366 [StringEntry(I(), bi(aU[1], aU[2], aU[3], aU[4], aU[5], aU[6], aU[7], bq, br, bs, bt))]
381371
382372
383373 @Callable(bf)
384-func constructorV4 (ci,cj) = {
385- let cf = bg(bf)
386- if ((cf == cf))
387- then [StringEntry(M(), ci), StringEntry(N(), makeString(cj, j))]
374+func constructorV4 (cf,cg) = {
375+ let cc = bg(bf)
376+ if ((cc == cc))
377+ then [StringEntry(M(), cf), StringEntry(N(), makeString(cg, j))]
388378 else throw("Strict value is not equal to itself.")
389379 }
390380
391381
392382
393383 @Callable(bf)
394-func constructorV5 (ck) = {
395- let cf = bg(bf)
396- if ((cf == cf))
397- then [StringEntry(R(), ck)]
384+func constructorV5 (ch) = {
385+ let cc = bg(bf)
386+ if ((cc == cc))
387+ then [StringEntry(R(), ch)]
398388 else throw("Strict value is not equal to itself.")
399389 }
400390
401391
402392
403393 @Callable(bf)
404-func constructorV6 (cl,cm) = {
405- let cn = [bg(bf), if ((addressFromString(cl) != unit))
394+func constructorV6 (ci,cj) = {
395+ let ck = [bg(bf), if ((addressFromString(ci) != unit))
406396 then true
407397 else "invalid voting emission contract address"]
408- if ((cn == cn))
409- then [StringEntry(S(), cl), StringEntry(T(), makeString(cm, j))]
398+ if ((ck == ck))
399+ then [StringEntry(S(), ci), StringEntry(T(), makeString(cj, j))]
410400 else throw("Strict value is not equal to itself.")
411401 }
412402
413403
414404
415405 @Callable(bf)
416-func setManager (co) = {
417- let cf = bg(bf)
418- if ((cf == cf))
406+func setManager (cl) = {
407+ let cc = bg(bf)
408+ if ((cc == cc))
419409 then {
420- let cp = fromBase58String(co)
421- if ((cp == cp))
422- then [StringEntry(P(), co)]
410+ let cm = fromBase58String(cl)
411+ if ((cm == cm))
412+ then [StringEntry(P(), cl)]
423413 else throw("Strict value is not equal to itself.")
424414 }
425415 else throw("Strict value is not equal to itself.")
429419
430420 @Callable(bf)
431421 func confirmManager () = {
432- let cq = bc()
433- let cr = if (isDefined(cq))
422+ let cn = bc()
423+ let co = if (isDefined(cn))
434424 then true
435425 else throw("No pending manager")
436- if ((cr == cr))
426+ if ((co == co))
437427 then {
438- let cs = if ((bf.callerPublicKey == value(cq)))
428+ let cp = if ((bf.callerPublicKey == value(cn)))
439429 then true
440430 else throw("You are not pending manager")
441- if ((cs == cs))
442- then [StringEntry(O(), toBase58String(value(cq))), DeleteEntry(P())]
431+ if ((cp == cp))
432+ then [StringEntry(O(), toBase58String(value(cn))), DeleteEntry(P())]
443433 else throw("Strict value is not equal to itself.")
444434 }
445435 else throw("Strict value is not equal to itself.")
448438
449439
450440 @Callable(bf)
451-func setAdmins (ct) = {
452- let cf = bg(bf)
453- if ((cf == cf))
454- then [StringEntry(Q(), makeString(ct, j))]
441+func setAdmins (cq) = {
442+ let cc = bg(bf)
443+ if ((cc == cc))
444+ then [StringEntry(Q(), makeString(cq, j))]
455445 else throw("Strict value is not equal to itself.")
456446 }
457447
458448
459449
460450 @Callable(bf)
461-func activateNewPool (Y,by,bz,cu,cv,cw,bF,cx) = {
462- let cf = bS(bf)
463- if ((cf == cf))
451+func activateNewPool (Y,by,bz,cr,cs,ct,bF,cu) = {
452+ let cc = bS(bf)
453+ if ((cc == cc))
464454 then if (isDefined(getString(as(Y))))
465455 then throw((("Pool address " + Y) + " already registered."))
466456 else {
467- let cy = bL(by, 1)
468- let cz = cy._1
469- let cA = bL(bz, if (cy._3)
457+ let cv = bL(by, 1)
458+ let cw = cv._1
459+ let cx = bL(bz, if (cv._3)
470460 then 2
471461 else 1)
472- let cB = cA._1
473- let cC = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
474- let cD = getBinaryValue(K())
475- let cE = getString(this, af(toString(cz), toString(cB)))
476- if (isDefined(cE))
462+ let cy = cx._1
463+ let cz = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
464+ let cA = getBinaryValue(K())
465+ let cB = getString(this, af(toString(cw), toString(cy)))
466+ if (isDefined(cB))
477467 then throw((((("Pool " + by) + "/") + bz) + " has already been activated."))
478468 else {
479- let cF = value(getString(this, af(toString(cz), toString(cB))))
480- let cG = if ((by == "WAVES"))
469+ let cC = value(getString(this, af(toString(cw), toString(cy))))
470+ let cD = if ((by == "WAVES"))
481471 then i
482472 else pow(10, 0, value(assetInfo(fromBase58String(by))).decimals, 0, 0, DOWN)
483- let cH = if ((bz == "WAVES"))
473+ let cE = if ((bz == "WAVES"))
484474 then i
485475 else pow(10, 0, value(assetInfo(fromBase58String(bz))).decimals, 0, 0, DOWN)
486- let cI = Issue(cu, cv, 1, 8, true)
487- let bx = calculateAssetId(cI)
488- let cJ = toBase58String(bx)
489- let cK = invoke(addressFromStringValue(Y), "activate", [by, bz], nil)
490- if ((cK == cK))
491- then if ((cK != "success"))
476+ let cF = Issue(cr, cs, 1, 8, true)
477+ let bx = calculateAssetId(cF)
478+ let cG = toBase58String(bx)
479+ let cH = invoke(addressFromStringValue(Y), "activate", [by, bz], nil)
480+ if ((cH == cH))
481+ then if ((cH != "success"))
492482 then throw("Pool initialisation error happened.")
493483 else {
494- let ck = addressFromStringValue(aE(R()))
495- let cL = invoke(ck, "createOrUpdate", [cJ, cu, false], nil)
496- if ((cL == cL))
484+ let ch = addressFromStringValue(aE(R()))
485+ let cI = invoke(ch, "createOrUpdate", [cG, cr, false], nil)
486+ if ((cI == cI))
497487 then {
498- let cM = invoke(ck, "addLabel", [cJ, g], nil)
499- if ((cM == cM))
488+ let cJ = invoke(ch, "addLabel", [cG, g], nil)
489+ if ((cJ == cJ))
500490 then {
501- let cN = invoke(ck, "setLogo", [cJ, cx], nil)
502- if ((cN == cN))
491+ let cK = invoke(ch, "setLogo", [cG, cu], nil)
492+ if ((cK == cK))
503493 then {
504- let cO = invoke(ck, "addAssetsLink", [by, bz, cJ], nil)
505- if ((cO == cO))
494+ let cL = invoke(ch, "addAssetsLink", [by, bz, cG], nil)
495+ if ((cL == cL))
506496 then {
507- let cP = invoke(ck, "increaseAssetPoolsNumber", [by], nil)
508- if ((cP == cP))
509- then $Tuple2(((cy._2 ++ cA._2) ++ [cI, Burn(bx, 1), StringEntry(af(toString(cz), toString(cB)), bv(Y, toString(l), cJ, by, bz, cG, cH, cz, cB, i, bF)), StringEntry(am(cJ), bG(cz, cB)), StringEntry(ao(toString(cz), toString(cB)), ("%s__" + cJ)), StringEntry(as(Y), bG(cz, cB)), StringEntry(au(cz, cB), Y), StringEntry(aw(cJ), Y), StringEntry(av(Y), cJ), IntegerEntry(X(Y), cw), IntegerEntry(ar(Y), h)]), cJ)
497+ let cM = invoke(ch, "increaseAssetPoolsNumber", [by], nil)
498+ if ((cM == cM))
499+ then $Tuple2(((cv._2 ++ cx._2) ++ [cF, Burn(bx, 1), StringEntry(af(toString(cw), toString(cy)), bv(Y, toString(l), cG, by, bz, cD, cE, cw, cy, i, bF)), StringEntry(am(cG), bG(cw, cy)), StringEntry(ao(toString(cw), toString(cy)), ("%s__" + cG)), StringEntry(as(Y), bG(cw, cy)), StringEntry(au(cw, cy), Y), StringEntry(aw(cG), Y), StringEntry(av(Y), cG), IntegerEntry(X(Y), ct), IntegerEntry(ar(Y), h)]), cG)
510500 else throw("Strict value is not equal to itself.")
511501 }
512502 else throw("Strict value is not equal to itself.")
526516
527517
528518 @Callable(bf)
529-func managePool (Y,cQ) = {
530- let cf = bg(bf)
531- if ((cf == cf))
519+func managePool (Y,cN) = {
520+ let cc = bg(bf)
521+ if ((cc == cc))
532522 then {
533- let cE = bJ(Y)
534- let bw = cE[t]
535- let cJ = cE[u]
536- let by = cE[v]
537- let bz = cE[w]
538- let cG = parseIntValue(cE[x])
539- let cH = parseIntValue(cE[y])
540- let cz = parseIntValue(cE[z])
541- let cB = parseIntValue(cE[A])
542- let cR = parseIntValue(cE[B])
543- let bF = cE[C]
544-[StringEntry(af(toString(cz), toString(cB)), bv(Y, toString(cQ), cJ, by, bz, cG, cH, cz, cB, cR, bF))]
523+ let cB = bJ(Y)
524+ let bw = cB[t]
525+ let cG = cB[u]
526+ let by = cB[v]
527+ let bz = cB[w]
528+ let cD = parseIntValue(cB[x])
529+ let cE = parseIntValue(cB[y])
530+ let cw = parseIntValue(cB[z])
531+ let cy = parseIntValue(cB[A])
532+ let cO = parseIntValue(cB[B])
533+ let bF = cB[C]
534+[StringEntry(af(toString(cw), toString(cy)), bv(Y, toString(cN), cG, by, bz, cD, cE, cw, cy, cO, bF))]
545535 }
546536 else throw("Strict value is not equal to itself.")
547537 }
549539
550540
551541 @Callable(bf)
552-func emit (cS) = {
553- let cT = bf.caller
554- let cU = bf.originCaller
555- let cV = valueOrErrorMessage(getString(av(toString(cT))), "Invalid LP address called me.")
556- let cW = fromBase58String(cV)
557- let cj = split(valueOrElse(getString(N()), k), j)
558- let ci = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
559- if ((0 >= cS))
542+func emit (cP) = {
543+ let cQ = bf.caller
544+ let cR = bf.originCaller
545+ let cS = valueOrErrorMessage(getString(av(toString(cQ))), "Invalid LP address called me.")
546+ let cT = fromBase58String(cS)
547+ let cg = split(valueOrElse(getString(N()), k), j)
548+ let cf = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
549+ if ((0 >= cP))
560550 then nil
561- else if (containsElement(cj, toString(cT)))
562- then $Tuple2(nil, ci)
563- else $Tuple2([Reissue(cW, cS, true), ScriptTransfer(bf.caller, cS, cW)], "success")
551+ else if (containsElement(cg, toString(cQ)))
552+ then $Tuple2(nil, cf)
553+ else $Tuple2([Reissue(cT, cP, true), ScriptTransfer(bf.caller, cP, cT)], "success")
564554 }
565555
566556
567557
568558 @Callable(bf)
569-func burn (cX) = {
570- let cT = bf.caller
571- let cU = bf.originCaller
572- let cY = value(bf.payments[0])
573- let cZ = value(cY.amount)
574- let da = toBase58String(value(cY.assetId))
575- let db = valueOrErrorMessage(getString(av(toString(cT))), "Invalid LP address called me.")
576- if ((da != db))
559+func burn (cU) = {
560+ let cQ = bf.caller
561+ let cR = bf.originCaller
562+ let cV = value(bf.payments[0])
563+ let cW = value(cV.amount)
564+ let cX = toBase58String(value(cV.assetId))
565+ let cY = valueOrErrorMessage(getString(av(toString(cQ))), "Invalid LP address called me.")
566+ if ((cX != cY))
577567 then throw("Invalid asset passed.")
578- else if ((cX != cZ))
568+ else if ((cU != cW))
579569 then throw("Invalid amount passed.")
580570 else {
581- let cW = fromBase58String(db)
582- $Tuple2([Burn(cW, cX)], "success")
571+ let cT = fromBase58String(cY)
572+ $Tuple2([Burn(cT, cU)], "success")
583573 }
584574 }
585575
586576
587577
588578 @Callable(bf)
589-func modifyWeight (bx,dc) = {
590- let cf = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, S()), "")))
579+func modifyWeight (bx,cZ) = {
580+ let cc = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, S()), "")))
591581 then true
592582 else bg(bf)
593- if ((cf == cf))
583+ if ((cc == cc))
594584 then {
595585 let at = aE(aw(bx))
596- let dd = X(at)
597- let de = X(f)
598- let df = valueOrElse(getInteger(de), 0)
599- let cw = valueOrElse(getInteger(dd), 0)
600- let dg = dc
586+ let da = X(at)
587+ let db = X(f)
588+ let dc = valueOrElse(getInteger(db), 0)
589+ let ct = valueOrElse(getInteger(da), 0)
590+ let dd = cZ
601591 let aU = split(aE(I()), j)
602- let cb = aW(aU)
603- let dh = invoke(cb, "onModifyWeight", [bx, at], nil)
604- if ((dh == dh))
592+ let bY = aW(aU)
593+ let de = invoke(bY, "onModifyWeight", [bx, at], nil)
594+ if ((de == de))
605595 then {
606- let di = if ((df == 0))
596+ let df = if ((dc == 0))
607597 then nil
608- else [IntegerEntry(de, 0)]
609- let dj = Z(at, 0)
610- let dk = getInteger(dj)
611- let dl = if ((dk == unit))
598+ else [IntegerEntry(db, 0)]
599+ let dg = Z(at, 0)
600+ let dh = getInteger(dg)
601+ let di = if ((dh == unit))
612602 then nil
613- else [DeleteEntry(dj)]
614- (([IntegerEntry(dd, dg)] ++ di) ++ dl)
603+ else [DeleteEntry(dg)]
604+ (([IntegerEntry(da, dd)] ++ df) ++ di)
615605 }
616606 else throw("Strict value is not equal to itself.")
617607 }
621611
622612
623613 @Callable(bf)
624-func modifyWeights (dm,dn,do,dp) = {
625- let cf = bg(bf)
626- if ((cf == cf))
614+func modifyWeights (dj,dk,dl,dm) = {
615+ let cc = bg(bf)
616+ if ((cc == cc))
627617 then {
628- let dq = ((5 * e) / 100)
629- let dr = ((5 * e) / 100)
630- let ds = ((5 * e) / 100)
618+ let dn = ((5 * e) / 100)
619+ let do = ((5 * e) / 100)
620+ let dp = ((5 * e) / 100)
631621 let aU = split(aE(I()), j)
632- let dt = aW(aU)
633- let du = aX(aU)
622+ let dq = aW(aU)
623+ let dr = aX(aU)
624+ let ds = X(dj)
625+ let dt = X(dk)
626+ let du = X(dl)
634627 let dv = X(dm)
635- let dw = X(dn)
636- let dx = X(do)
637- let dy = X(dp)
638- let dz = aH(dv)
639- let dA = aH(dw)
640- let dB = (dz - ds)
641- let dC = (dA - ds)
642- if ((0 >= dB))
643- then throw(("invalid btcWeightNew: " + toString(dB)))
644- else if ((0 >= dC))
645- then throw(("invalid ethWeightNew: " + toString(dC)))
628+ let dw = aH(ds)
629+ let dx = aH(dt)
630+ let dy = (dw - dp)
631+ let dz = (dx - dp)
632+ if ((0 >= dy))
633+ then throw(("invalid btcWeightNew: " + toString(dy)))
634+ else if ((0 >= dz))
635+ then throw(("invalid ethWeightNew: " + toString(dz)))
646636 else {
637+ let dA = aE(av(dj))
638+ let dB = aE(av(dk))
639+ let dC = aE(av(dl))
647640 let dD = aE(av(dm))
648- let dE = aE(av(dn))
649- let dF = aE(av(do))
650- let dG = aE(av(dp))
651- let dH = invoke(dt, "onModifyWeight", [dD, dm], nil)
652- if ((dH == dH))
641+ let dE = invoke(dq, "onModifyWeight", [dA, dj], nil)
642+ if ((dE == dE))
653643 then {
654- let dI = invoke(dt, "onModifyWeight", [dE, dn], nil)
655- if ((dI == dI))
644+ let dF = invoke(dq, "onModifyWeight", [dB, dk], nil)
645+ if ((dF == dF))
656646 then {
657- let dJ = invoke(dt, "onModifyWeight", [dF, do], nil)
658- if ((dJ == dJ))
647+ let dG = invoke(dq, "onModifyWeight", [dC, dl], nil)
648+ if ((dG == dG))
659649 then {
660- let dK = invoke(dt, "onModifyWeight", [dG, dp], nil)
661- if ((dK == dK))
662- then [IntegerEntry(dv, dB), IntegerEntry(dw, dC), IntegerEntry(dx, dq), IntegerEntry(dy, dr), IntegerEntry(Z(dm, 0), dz), IntegerEntry(Z(dn, 0), dA), IntegerEntry(Z(do, 0), dq), IntegerEntry(Z(dp, 0), dr)]
650+ let dH = invoke(dq, "onModifyWeight", [dD, dm], nil)
651+ if ((dH == dH))
652+ then [IntegerEntry(ds, dy), IntegerEntry(dt, dz), IntegerEntry(du, dn), IntegerEntry(dv, do), IntegerEntry(Z(dj, 0), dw), IntegerEntry(Z(dk, 0), dx), IntegerEntry(Z(dl, 0), dn), IntegerEntry(Z(dm, 0), do)]
663653 else throw("Strict value is not equal to itself.")
664654 }
665655 else throw("Strict value is not equal to itself.")
676666
677667 @Callable(bf)
678668 func checkWxEmissionPoolLabel (ay,az) = {
679- let dL = {
669+ let dI = {
680670 let aZ = getBoolean(ax(ay, az))
681671 if ($isInstanceOf(aZ, "Boolean"))
682672 then {
683- let dM = aZ
684- dM
673+ let dJ = aZ
674+ dJ
685675 }
686676 else false
687677 }
688- $Tuple2(nil, dL)
678+ $Tuple2(nil, dI)
689679 }
690680
691681
692682
693683 @Callable(bf)
694684 func setWxEmissionPoolLabel (ay,az) = {
695- let cf = bS(bf)
696- if ((cf == cf))
685+ let cc = bS(bf)
686+ if ((cc == cc))
697687 then $Tuple2([BooleanEntry(ax(ay, az), true)], unit)
698688 else throw("Strict value is not equal to itself.")
699689 }
702692
703693 @Callable(bf)
704694 func deleteWxEmissionPoolLabel (ay,az) = {
705- let cf = if (be(bf))
695+ let cc = if (be(bf))
706696 then true
707697 else bS(bf)
708- if ((cf == cf))
698+ if ((cc == cc))
709699 then $Tuple2([DeleteEntry(ax(ay, az))], unit)
710700 else throw("Strict value is not equal to itself.")
711701 }
713703
714704
715705 @Callable(bf)
716-func onVerificationLoss (dN) = {
717- let cf = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, R()), "")))
706+func onVerificationLoss (dK) = {
707+ let cc = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, R()), "")))
718708 then true
719709 else bg(bf)
720- if ((cf == cf))
710+ if ((cc == cc))
721711 then {
722- let cm = aY()
723- let dO = if ((size(cm) > 0))
712+ let cj = aY()
713+ let dL = if ((size(cj) > 0))
724714 then true
725715 else throw("invalid price assets")
726- if ((dO == dO))
716+ if ((dL == dL))
727717 then {
728- func dP (dQ,dR) = {
729- let dS = invoke(this, "deleteWxEmissionPoolLabel", [dN, dR], nil)
730- if ((dS == dS))
718+ func dM (dN,dO) = {
719+ let dP = invoke(this, "deleteWxEmissionPoolLabel", [dK, dO], nil)
720+ if ((dP == dP))
731721 then unit
732722 else throw("Strict value is not equal to itself.")
733723 }
734724
735- let dT = {
736- let dU = cm
737- let dV = size(dU)
738- let dW = unit
739- func dX (dY,dZ) = if ((dZ >= dV))
740- then dY
741- else dP(dY, dU[dZ])
725+ let dQ = {
726+ let dR = cj
727+ let dS = size(dR)
728+ let dT = unit
729+ func dU (dV,dW) = if ((dW >= dS))
730+ then dV
731+ else dM(dV, dR[dW])
742732
743- func ea (dY,dZ) = if ((dZ >= dV))
744- then dY
733+ func dX (dV,dW) = if ((dW >= dS))
734+ then dV
745735 else throw("List size exceeds 3")
746736
747- ea(dX(dX(dX(dW, 0), 1), 2), 3)
737+ dX(dU(dU(dU(dT, 0), 1), 2), 3)
748738 }
749- if ((dT == dT))
739+ if ((dQ == dQ))
750740 then $Tuple2(nil, unit)
751741 else throw("Strict value is not equal to itself.")
752742 }
759749
760750 @Callable(bf)
761751 func isPoolOneTokenOperationsDisabledREADONLY (Y) = {
762- let cE = bJ(Y)
763- let aj = $Tuple2(parseIntValue(cE[z]), parseIntValue(cE[A]))
764- let eb = valueOrElse(getBoolean(ai(aj)), false)
765- let ec = valueOrElse(getBoolean(al()), false)
766- $Tuple2(nil, if (ec)
752+ let cB = bJ(Y)
753+ let aj = $Tuple2(parseIntValue(cB[z]), parseIntValue(cB[A]))
754+ let dY = valueOrElse(getBoolean(ai(aj)), false)
755+ let dZ = valueOrElse(getBoolean(al()), false)
756+ $Tuple2(nil, if (dZ)
767757 then true
768- else eb)
758+ else dY)
769759 }
770760
771761
772762
773763 @Callable(bf)
774764 func getInFeeREADONLY (Y) = {
775- let ed = bV(aA(Y), aB(), 0)
776- $Tuple2(nil, ed)
765+ let ea = bV(aA(Y), aB(), 0)
766+ $Tuple2(nil, ea)
777767 }
778768
779769
780770
781771 @Callable(bf)
782772 func getOutFeeREADONLY (Y) = {
783- let ed = bV(aC(Y), aD(), fraction(10, b, 10000))
784- $Tuple2(nil, ed)
773+ let ea = bV(aC(Y), aD(), fraction(10, b, 10000))
774+ $Tuple2(nil, ea)
785775 }
786776
787777
791781 let bK = split(aE(as(Y)), j)
792782 let ag = bK[1]
793783 let ah = bK[2]
794- let ee = split(aE(af(ag, ah)), j)
795- $Tuple2(nil, parseIntValue(ee[t]))
784+ let eb = split(aE(af(ag, ah)), j)
785+ $Tuple2(nil, parseIntValue(eb[t]))
796786 }
797787
798788
799-@Verifier(ef)
800-func eg () = {
801- let eh = {
789+@Verifier(ec)
790+func ed () = {
791+ let ee = {
802792 let aZ = bb()
803793 if ($isInstanceOf(aZ, "ByteVector"))
804794 then {
806796 bh
807797 }
808798 else if ($isInstanceOf(aZ, "Unit"))
809- then ef.senderPublicKey
799+ then ec.senderPublicKey
810800 else throw("Match error")
811801 }
812- sigVerify(ef.bodyBytes, ef.proofs[0], eh)
802+ sigVerify(ec.bodyBytes, ec.proofs[0], ee)
813803 }
814804
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 18
99
1010 let d = toBigInt(1000000000000000000)
1111
1212 let e = b
1313
1414 let f = "GWXvirtualPOOL"
1515
1616 let g = "POOLS_LP"
1717
1818 let h = 2000000
1919
2020 let i = ((100 * 1000) * 1000)
2121
2222 let j = "__"
2323
2424 let k = ""
2525
2626 let l = 1
2727
2828 let m = 2
2929
3030 let n = 3
3131
3232 let o = 4
3333
3434 let p = 1
3535
3636 let q = 2
3737
3838 let r = 3
3939
4040 let s = 1
4141
4242 let t = 2
4343
4444 let u = 3
4545
4646 let v = 4
4747
4848 let w = 5
4949
5050 let x = 6
5151
5252 let y = 7
5353
5454 let z = 8
5555
5656 let A = 9
5757
5858 let B = 10
5959
6060 let C = 11
6161
6262 let D = "WX_EMISSION"
6363
6464 let E = [D]
6565
6666 func F () = "%s__allowedLpScriptHash"
6767
6868
6969 func G () = "%s__allowedLpStableScriptHash"
7070
7171
7272 func H () = "%s__allowedLpStableAddonScriptHash"
7373
7474
7575 func I () = "%s__factoryConfig"
7676
7777
7878 func J () = "%s__lpTokensList"
7979
8080
8181 func K () = "%s%s__pool__scriptHash"
8282
8383
8484 func L () = "%s%s__matcher__publicKey"
8585
8686
8787 func M () = "%s__legacyFactoryContract"
8888
8989
9090 func N () = "%s__legacyPools"
9191
9292
9393 func O () = "%s__managerPublicKey"
9494
9595
9696 func P () = "%s__pendingManagerPublicKey"
9797
9898
9999 func Q () = "%s__adminPubKeys"
100100
101101
102102 func R () = "%s__assetsStoreContract"
103103
104104
105105 func S () = "%s__votingEmissionContract"
106106
107107
108108 func T () = makeString(["%s", "priceAssets"], j)
109109
110110
111111 func U () = "%s__priceDecimals"
112112
113113
114114 func V () = "%s__shutdown"
115115
116116
117117 func W () = "%s__nextInternalAssetId"
118118
119119
120120 func X (Y) = ("%s%s__poolWeight__" + Y)
121121
122122
123123 func Z (Y,aa) = ((("%s%s__poolWeight__" + Y) + "__") + toString(aa))
124124
125125
126126 func ab (ac) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ac))
127127
128128
129129 func ad (ae) = ("%s%s%s__mappings__baseAsset2internalId__" + ae)
130130
131131
132132 func af (ag,ah) = (((("%d%d%s__" + ag) + "__") + ah) + "__config")
133133
134134
135135 func ai (aj) = {
136136 let ak = aj
137137 let ag = ak._1
138138 let ah = ak._2
139139 makeString(["%d%d%s", toString(ag), toString(ah), "oneTokenOperationsDisabled"], j)
140140 }
141141
142142
143143 func al () = makeString(["%s", "oneTokenOperationsDisabled"], j)
144144
145145
146146 func am (an) = (("%s%s%s__" + an) + "__mappings__lpAsset2Pool")
147147
148148
149149 func ao (ap,aq) = (((("%d%d%s%s__" + ap) + "__") + aq) + "__mappings__PoolAssets2LpAsset")
150150
151151
152152 func ar (Y) = ("%s%s__spread__" + Y)
153153
154154
155155 func as (at) = (("%s%s%s__" + at) + "__mappings__poolContract2PoolAssets")
156156
157157
158158 func au (ap,aq) = (((("%d%d%s%s__" + toString(ap)) + "__") + toString(aq)) + "__mappings__poolAssets2PoolContract")
159159
160160
161161 func av (at) = (("%s%s%s__" + at) + "__mappings__poolContract2LpAsset")
162162
163163
164164 func aw (an) = (("%s%s%s__" + an) + "__mappings__lpAsset2PoolContract")
165165
166166
167167 func ax (ay,az) = ((("%s%s%s__wxEmission__" + ay) + "__") + az)
168168
169169
170170 func aA (Y) = ("%s%s__inFee__" + Y)
171171
172172
173173 func aB () = "%s__inFeeDefault"
174174
175175
176176 func aC (Y) = ("%s%s__outFee__" + Y)
177177
178178
179179 func aD () = "%s__outFeeDefault"
180180
181181
182182 func aE (aF) = valueOrErrorMessage(getString(this, aF), ("No data for this.key=" + aF))
183183
184184
185185 func aG (aF) = valueOrErrorMessage(getBoolean(this, aF), ("No data for this.key=" + aF))
186186
187187
188188 func aH (aF) = valueOrErrorMessage(getInteger(this, aF), ("No data for this.key=" + aF))
189189
190190
191191 let aI = 1
192192
193193 let aJ = 2
194194
195195 let aK = 3
196196
197197 let aL = 4
198198
199199 let aM = 5
200200
201201 let aN = 6
202202
203203 let aO = 7
204204
205205 let aP = 8
206206
207207 let aQ = 9
208208
209209 let aR = 10
210210
211211 let aS = 11
212212
213213 func aT (aU) = addressFromStringValue(aU[aJ])
214214
215215
216216 func aV (aU) = addressFromStringValue(aU[aM])
217217
218218
219219 func aW (aU) = addressFromStringValue(aU[aI])
220220
221221
222222 func aX (aU) = addressFromStringValue(aU[aR])
223223
224224
225225 func aY () = {
226226 let aZ = getString(T())
227227 if ($isInstanceOf(aZ, "String"))
228228 then {
229229 let ba = aZ
230230 if ((size(ba) == 0))
231231 then nil
232232 else split(ba, j)
233233 }
234234 else nil
235235 }
236236
237237
238238 func bb () = {
239239 let aZ = getString(O())
240240 if ($isInstanceOf(aZ, "String"))
241241 then {
242242 let ba = aZ
243243 fromBase58String(ba)
244244 }
245245 else if ($isInstanceOf(aZ, "Unit"))
246246 then unit
247247 else throw("Match error")
248248 }
249249
250250
251251 func bc () = {
252252 let aZ = getString(P())
253253 if ($isInstanceOf(aZ, "String"))
254254 then {
255255 let ba = aZ
256256 fromBase58String(ba)
257257 }
258258 else if ($isInstanceOf(aZ, "Unit"))
259259 then unit
260260 else throw("Match error")
261261 }
262262
263263
264264 let bd = throw("Permission denied")
265265
266266 func be (bf) = if ((bf.caller == this))
267267 then true
268268 else bd
269269
270270
271271 func bg (bf) = {
272272 let aZ = bb()
273273 if ($isInstanceOf(aZ, "ByteVector"))
274274 then {
275275 let bh = aZ
276276 if ((bf.callerPublicKey == bh))
277277 then true
278278 else bd
279279 }
280280 else if ($isInstanceOf(aZ, "Unit"))
281281 then be(bf)
282282 else throw("Match error")
283283 }
284284
285285
286286 func bi (bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt], j)
287287
288288
289289 func bu (bj,bk,bl,bm,bn,bo,bp) = makeString(["%s%s%s%s%s%s", bj, bk, bl, bm, bn, bo, bp], j)
290290
291291
292292 func bv (Y,bw,bx,by,bz,bA,bB,bC,bD,bE,bF) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Y, bw, bx, by, bz, toString(bA), toString(bB), toString(bC), toString(bD), toString(bE), bF], j)
293293
294294
295295 func bG (bH,bI) = makeString(["%d%d", toString(bH), toString(bI)], j)
296296
297297
298298 func bJ (Y) = {
299299 let bK = split(aE(as(Y)), j)
300300 let ag = bK[1]
301301 let ah = bK[2]
302302 split(aE(af(ag, ah)), j)
303303 }
304304
305305
306306 func bL (bM,bN) = {
307307 let bO = valueOrElse(getInteger(this, ad(bM)), 0)
308308 let bP = valueOrElse(getInteger(this, W()), 0)
309309 let bQ = if ((bO == 0))
310310 then {
311311 let bR = (bP + bN)
312312 $Tuple3(bR, [IntegerEntry(W(), bR), IntegerEntry(ad(bM), bR), StringEntry(ab(bR), bM)], true)
313313 }
314314 else $Tuple3(bO, nil, false)
315315 bQ
316316 }
317317
318318
319319 func bS (bf) = {
320320 let bT = split(valueOrElse(getString(Q()), k), j)
321321 if (containsElement(bT, toBase58String(bf.callerPublicKey)))
322322 then true
323323 else {
324324 let bU = bg(bf)
325325 if ((bU == bU))
326326 then true
327327 else throw("Strict value is not equal to itself.")
328328 }
329329 }
330330
331331
332332 func bV (aF,bW,bX) = valueOrElse(getInteger(this, aF), valueOrElse(getInteger(this, bW), bX))
333333
334334
335335 @Callable(bf)
336-func getLpAssetFromPoolAssetsREADONLY (bY,bZ) = $Tuple2(nil, getString(this, ao(bY, bZ)))
337-
338-
339-
340-@Callable(bf)
341-func getPoolAddressFromLpAssetREADONLY (ca) = $Tuple2(nil, getString(this, aw(ca)))
342-
343-
344-
345-@Callable(bf)
346-func constructor (cb,cc,bl,bm,bn,bo,cd,ce) = {
347- let cf = bg(bf)
348- if ((cf == cf))
349- then [StringEntry(I(), bu(cb, cc, bl, bm, bn, bo, cd)), IntegerEntry(U(), ce)]
336+func constructor (bY,bZ,bl,bm,bn,bo,ca,cb) = {
337+ let cc = bg(bf)
338+ if ((cc == cc))
339+ then [StringEntry(I(), bu(bY, bZ, bl, bm, bn, bo, ca)), IntegerEntry(U(), cb)]
350340 else throw("Strict value is not equal to itself.")
351341 }
352342
353343
354344
355345 @Callable(bf)
356-func constructorV2 (cg) = {
357- let cf = bg(bf)
358- if ((cf == cf))
346+func constructorV2 (cd) = {
347+ let cc = bg(bf)
348+ if ((cc == cc))
359349 then {
360- let ch = addressFromPublicKey(fromBase58String(cg))
361- if ((ch == ch))
362- then [StringEntry(L(), cg)]
350+ let ce = addressFromPublicKey(fromBase58String(cd))
351+ if ((ce == ce))
352+ then [StringEntry(L(), cd)]
363353 else throw("Strict value is not equal to itself.")
364354 }
365355 else throw("Strict value is not equal to itself.")
366356 }
367357
368358
369359
370360 @Callable(bf)
371361 func constructorV3 (bq,br,bs,bt) = {
372- let cf = bg(bf)
373- if ((cf == cf))
362+ let cc = bg(bf)
363+ if ((cc == cc))
374364 then {
375365 let aU = split(aE(I()), j)
376366 [StringEntry(I(), bi(aU[1], aU[2], aU[3], aU[4], aU[5], aU[6], aU[7], bq, br, bs, bt))]
377367 }
378368 else throw("Strict value is not equal to itself.")
379369 }
380370
381371
382372
383373 @Callable(bf)
384-func constructorV4 (ci,cj) = {
385- let cf = bg(bf)
386- if ((cf == cf))
387- then [StringEntry(M(), ci), StringEntry(N(), makeString(cj, j))]
374+func constructorV4 (cf,cg) = {
375+ let cc = bg(bf)
376+ if ((cc == cc))
377+ then [StringEntry(M(), cf), StringEntry(N(), makeString(cg, j))]
388378 else throw("Strict value is not equal to itself.")
389379 }
390380
391381
392382
393383 @Callable(bf)
394-func constructorV5 (ck) = {
395- let cf = bg(bf)
396- if ((cf == cf))
397- then [StringEntry(R(), ck)]
384+func constructorV5 (ch) = {
385+ let cc = bg(bf)
386+ if ((cc == cc))
387+ then [StringEntry(R(), ch)]
398388 else throw("Strict value is not equal to itself.")
399389 }
400390
401391
402392
403393 @Callable(bf)
404-func constructorV6 (cl,cm) = {
405- let cn = [bg(bf), if ((addressFromString(cl) != unit))
394+func constructorV6 (ci,cj) = {
395+ let ck = [bg(bf), if ((addressFromString(ci) != unit))
406396 then true
407397 else "invalid voting emission contract address"]
408- if ((cn == cn))
409- then [StringEntry(S(), cl), StringEntry(T(), makeString(cm, j))]
398+ if ((ck == ck))
399+ then [StringEntry(S(), ci), StringEntry(T(), makeString(cj, j))]
410400 else throw("Strict value is not equal to itself.")
411401 }
412402
413403
414404
415405 @Callable(bf)
416-func setManager (co) = {
417- let cf = bg(bf)
418- if ((cf == cf))
406+func setManager (cl) = {
407+ let cc = bg(bf)
408+ if ((cc == cc))
419409 then {
420- let cp = fromBase58String(co)
421- if ((cp == cp))
422- then [StringEntry(P(), co)]
410+ let cm = fromBase58String(cl)
411+ if ((cm == cm))
412+ then [StringEntry(P(), cl)]
423413 else throw("Strict value is not equal to itself.")
424414 }
425415 else throw("Strict value is not equal to itself.")
426416 }
427417
428418
429419
430420 @Callable(bf)
431421 func confirmManager () = {
432- let cq = bc()
433- let cr = if (isDefined(cq))
422+ let cn = bc()
423+ let co = if (isDefined(cn))
434424 then true
435425 else throw("No pending manager")
436- if ((cr == cr))
426+ if ((co == co))
437427 then {
438- let cs = if ((bf.callerPublicKey == value(cq)))
428+ let cp = if ((bf.callerPublicKey == value(cn)))
439429 then true
440430 else throw("You are not pending manager")
441- if ((cs == cs))
442- then [StringEntry(O(), toBase58String(value(cq))), DeleteEntry(P())]
431+ if ((cp == cp))
432+ then [StringEntry(O(), toBase58String(value(cn))), DeleteEntry(P())]
443433 else throw("Strict value is not equal to itself.")
444434 }
445435 else throw("Strict value is not equal to itself.")
446436 }
447437
448438
449439
450440 @Callable(bf)
451-func setAdmins (ct) = {
452- let cf = bg(bf)
453- if ((cf == cf))
454- then [StringEntry(Q(), makeString(ct, j))]
441+func setAdmins (cq) = {
442+ let cc = bg(bf)
443+ if ((cc == cc))
444+ then [StringEntry(Q(), makeString(cq, j))]
455445 else throw("Strict value is not equal to itself.")
456446 }
457447
458448
459449
460450 @Callable(bf)
461-func activateNewPool (Y,by,bz,cu,cv,cw,bF,cx) = {
462- let cf = bS(bf)
463- if ((cf == cf))
451+func activateNewPool (Y,by,bz,cr,cs,ct,bF,cu) = {
452+ let cc = bS(bf)
453+ if ((cc == cc))
464454 then if (isDefined(getString(as(Y))))
465455 then throw((("Pool address " + Y) + " already registered."))
466456 else {
467- let cy = bL(by, 1)
468- let cz = cy._1
469- let cA = bL(bz, if (cy._3)
457+ let cv = bL(by, 1)
458+ let cw = cv._1
459+ let cx = bL(bz, if (cv._3)
470460 then 2
471461 else 1)
472- let cB = cA._1
473- let cC = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
474- let cD = getBinaryValue(K())
475- let cE = getString(this, af(toString(cz), toString(cB)))
476- if (isDefined(cE))
462+ let cy = cx._1
463+ let cz = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
464+ let cA = getBinaryValue(K())
465+ let cB = getString(this, af(toString(cw), toString(cy)))
466+ if (isDefined(cB))
477467 then throw((((("Pool " + by) + "/") + bz) + " has already been activated."))
478468 else {
479- let cF = value(getString(this, af(toString(cz), toString(cB))))
480- let cG = if ((by == "WAVES"))
469+ let cC = value(getString(this, af(toString(cw), toString(cy))))
470+ let cD = if ((by == "WAVES"))
481471 then i
482472 else pow(10, 0, value(assetInfo(fromBase58String(by))).decimals, 0, 0, DOWN)
483- let cH = if ((bz == "WAVES"))
473+ let cE = if ((bz == "WAVES"))
484474 then i
485475 else pow(10, 0, value(assetInfo(fromBase58String(bz))).decimals, 0, 0, DOWN)
486- let cI = Issue(cu, cv, 1, 8, true)
487- let bx = calculateAssetId(cI)
488- let cJ = toBase58String(bx)
489- let cK = invoke(addressFromStringValue(Y), "activate", [by, bz], nil)
490- if ((cK == cK))
491- then if ((cK != "success"))
476+ let cF = Issue(cr, cs, 1, 8, true)
477+ let bx = calculateAssetId(cF)
478+ let cG = toBase58String(bx)
479+ let cH = invoke(addressFromStringValue(Y), "activate", [by, bz], nil)
480+ if ((cH == cH))
481+ then if ((cH != "success"))
492482 then throw("Pool initialisation error happened.")
493483 else {
494- let ck = addressFromStringValue(aE(R()))
495- let cL = invoke(ck, "createOrUpdate", [cJ, cu, false], nil)
496- if ((cL == cL))
484+ let ch = addressFromStringValue(aE(R()))
485+ let cI = invoke(ch, "createOrUpdate", [cG, cr, false], nil)
486+ if ((cI == cI))
497487 then {
498- let cM = invoke(ck, "addLabel", [cJ, g], nil)
499- if ((cM == cM))
488+ let cJ = invoke(ch, "addLabel", [cG, g], nil)
489+ if ((cJ == cJ))
500490 then {
501- let cN = invoke(ck, "setLogo", [cJ, cx], nil)
502- if ((cN == cN))
491+ let cK = invoke(ch, "setLogo", [cG, cu], nil)
492+ if ((cK == cK))
503493 then {
504- let cO = invoke(ck, "addAssetsLink", [by, bz, cJ], nil)
505- if ((cO == cO))
494+ let cL = invoke(ch, "addAssetsLink", [by, bz, cG], nil)
495+ if ((cL == cL))
506496 then {
507- let cP = invoke(ck, "increaseAssetPoolsNumber", [by], nil)
508- if ((cP == cP))
509- then $Tuple2(((cy._2 ++ cA._2) ++ [cI, Burn(bx, 1), StringEntry(af(toString(cz), toString(cB)), bv(Y, toString(l), cJ, by, bz, cG, cH, cz, cB, i, bF)), StringEntry(am(cJ), bG(cz, cB)), StringEntry(ao(toString(cz), toString(cB)), ("%s__" + cJ)), StringEntry(as(Y), bG(cz, cB)), StringEntry(au(cz, cB), Y), StringEntry(aw(cJ), Y), StringEntry(av(Y), cJ), IntegerEntry(X(Y), cw), IntegerEntry(ar(Y), h)]), cJ)
497+ let cM = invoke(ch, "increaseAssetPoolsNumber", [by], nil)
498+ if ((cM == cM))
499+ then $Tuple2(((cv._2 ++ cx._2) ++ [cF, Burn(bx, 1), StringEntry(af(toString(cw), toString(cy)), bv(Y, toString(l), cG, by, bz, cD, cE, cw, cy, i, bF)), StringEntry(am(cG), bG(cw, cy)), StringEntry(ao(toString(cw), toString(cy)), ("%s__" + cG)), StringEntry(as(Y), bG(cw, cy)), StringEntry(au(cw, cy), Y), StringEntry(aw(cG), Y), StringEntry(av(Y), cG), IntegerEntry(X(Y), ct), IntegerEntry(ar(Y), h)]), cG)
510500 else throw("Strict value is not equal to itself.")
511501 }
512502 else throw("Strict value is not equal to itself.")
513503 }
514504 else throw("Strict value is not equal to itself.")
515505 }
516506 else throw("Strict value is not equal to itself.")
517507 }
518508 else throw("Strict value is not equal to itself.")
519509 }
520510 else throw("Strict value is not equal to itself.")
521511 }
522512 }
523513 else throw("Strict value is not equal to itself.")
524514 }
525515
526516
527517
528518 @Callable(bf)
529-func managePool (Y,cQ) = {
530- let cf = bg(bf)
531- if ((cf == cf))
519+func managePool (Y,cN) = {
520+ let cc = bg(bf)
521+ if ((cc == cc))
532522 then {
533- let cE = bJ(Y)
534- let bw = cE[t]
535- let cJ = cE[u]
536- let by = cE[v]
537- let bz = cE[w]
538- let cG = parseIntValue(cE[x])
539- let cH = parseIntValue(cE[y])
540- let cz = parseIntValue(cE[z])
541- let cB = parseIntValue(cE[A])
542- let cR = parseIntValue(cE[B])
543- let bF = cE[C]
544-[StringEntry(af(toString(cz), toString(cB)), bv(Y, toString(cQ), cJ, by, bz, cG, cH, cz, cB, cR, bF))]
523+ let cB = bJ(Y)
524+ let bw = cB[t]
525+ let cG = cB[u]
526+ let by = cB[v]
527+ let bz = cB[w]
528+ let cD = parseIntValue(cB[x])
529+ let cE = parseIntValue(cB[y])
530+ let cw = parseIntValue(cB[z])
531+ let cy = parseIntValue(cB[A])
532+ let cO = parseIntValue(cB[B])
533+ let bF = cB[C]
534+[StringEntry(af(toString(cw), toString(cy)), bv(Y, toString(cN), cG, by, bz, cD, cE, cw, cy, cO, bF))]
545535 }
546536 else throw("Strict value is not equal to itself.")
547537 }
548538
549539
550540
551541 @Callable(bf)
552-func emit (cS) = {
553- let cT = bf.caller
554- let cU = bf.originCaller
555- let cV = valueOrErrorMessage(getString(av(toString(cT))), "Invalid LP address called me.")
556- let cW = fromBase58String(cV)
557- let cj = split(valueOrElse(getString(N()), k), j)
558- let ci = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
559- if ((0 >= cS))
542+func emit (cP) = {
543+ let cQ = bf.caller
544+ let cR = bf.originCaller
545+ let cS = valueOrErrorMessage(getString(av(toString(cQ))), "Invalid LP address called me.")
546+ let cT = fromBase58String(cS)
547+ let cg = split(valueOrElse(getString(N()), k), j)
548+ let cf = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
549+ if ((0 >= cP))
560550 then nil
561- else if (containsElement(cj, toString(cT)))
562- then $Tuple2(nil, ci)
563- else $Tuple2([Reissue(cW, cS, true), ScriptTransfer(bf.caller, cS, cW)], "success")
551+ else if (containsElement(cg, toString(cQ)))
552+ then $Tuple2(nil, cf)
553+ else $Tuple2([Reissue(cT, cP, true), ScriptTransfer(bf.caller, cP, cT)], "success")
564554 }
565555
566556
567557
568558 @Callable(bf)
569-func burn (cX) = {
570- let cT = bf.caller
571- let cU = bf.originCaller
572- let cY = value(bf.payments[0])
573- let cZ = value(cY.amount)
574- let da = toBase58String(value(cY.assetId))
575- let db = valueOrErrorMessage(getString(av(toString(cT))), "Invalid LP address called me.")
576- if ((da != db))
559+func burn (cU) = {
560+ let cQ = bf.caller
561+ let cR = bf.originCaller
562+ let cV = value(bf.payments[0])
563+ let cW = value(cV.amount)
564+ let cX = toBase58String(value(cV.assetId))
565+ let cY = valueOrErrorMessage(getString(av(toString(cQ))), "Invalid LP address called me.")
566+ if ((cX != cY))
577567 then throw("Invalid asset passed.")
578- else if ((cX != cZ))
568+ else if ((cU != cW))
579569 then throw("Invalid amount passed.")
580570 else {
581- let cW = fromBase58String(db)
582- $Tuple2([Burn(cW, cX)], "success")
571+ let cT = fromBase58String(cY)
572+ $Tuple2([Burn(cT, cU)], "success")
583573 }
584574 }
585575
586576
587577
588578 @Callable(bf)
589-func modifyWeight (bx,dc) = {
590- let cf = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, S()), "")))
579+func modifyWeight (bx,cZ) = {
580+ let cc = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, S()), "")))
591581 then true
592582 else bg(bf)
593- if ((cf == cf))
583+ if ((cc == cc))
594584 then {
595585 let at = aE(aw(bx))
596- let dd = X(at)
597- let de = X(f)
598- let df = valueOrElse(getInteger(de), 0)
599- let cw = valueOrElse(getInteger(dd), 0)
600- let dg = dc
586+ let da = X(at)
587+ let db = X(f)
588+ let dc = valueOrElse(getInteger(db), 0)
589+ let ct = valueOrElse(getInteger(da), 0)
590+ let dd = cZ
601591 let aU = split(aE(I()), j)
602- let cb = aW(aU)
603- let dh = invoke(cb, "onModifyWeight", [bx, at], nil)
604- if ((dh == dh))
592+ let bY = aW(aU)
593+ let de = invoke(bY, "onModifyWeight", [bx, at], nil)
594+ if ((de == de))
605595 then {
606- let di = if ((df == 0))
596+ let df = if ((dc == 0))
607597 then nil
608- else [IntegerEntry(de, 0)]
609- let dj = Z(at, 0)
610- let dk = getInteger(dj)
611- let dl = if ((dk == unit))
598+ else [IntegerEntry(db, 0)]
599+ let dg = Z(at, 0)
600+ let dh = getInteger(dg)
601+ let di = if ((dh == unit))
612602 then nil
613- else [DeleteEntry(dj)]
614- (([IntegerEntry(dd, dg)] ++ di) ++ dl)
603+ else [DeleteEntry(dg)]
604+ (([IntegerEntry(da, dd)] ++ df) ++ di)
615605 }
616606 else throw("Strict value is not equal to itself.")
617607 }
618608 else throw("Strict value is not equal to itself.")
619609 }
620610
621611
622612
623613 @Callable(bf)
624-func modifyWeights (dm,dn,do,dp) = {
625- let cf = bg(bf)
626- if ((cf == cf))
614+func modifyWeights (dj,dk,dl,dm) = {
615+ let cc = bg(bf)
616+ if ((cc == cc))
627617 then {
628- let dq = ((5 * e) / 100)
629- let dr = ((5 * e) / 100)
630- let ds = ((5 * e) / 100)
618+ let dn = ((5 * e) / 100)
619+ let do = ((5 * e) / 100)
620+ let dp = ((5 * e) / 100)
631621 let aU = split(aE(I()), j)
632- let dt = aW(aU)
633- let du = aX(aU)
622+ let dq = aW(aU)
623+ let dr = aX(aU)
624+ let ds = X(dj)
625+ let dt = X(dk)
626+ let du = X(dl)
634627 let dv = X(dm)
635- let dw = X(dn)
636- let dx = X(do)
637- let dy = X(dp)
638- let dz = aH(dv)
639- let dA = aH(dw)
640- let dB = (dz - ds)
641- let dC = (dA - ds)
642- if ((0 >= dB))
643- then throw(("invalid btcWeightNew: " + toString(dB)))
644- else if ((0 >= dC))
645- then throw(("invalid ethWeightNew: " + toString(dC)))
628+ let dw = aH(ds)
629+ let dx = aH(dt)
630+ let dy = (dw - dp)
631+ let dz = (dx - dp)
632+ if ((0 >= dy))
633+ then throw(("invalid btcWeightNew: " + toString(dy)))
634+ else if ((0 >= dz))
635+ then throw(("invalid ethWeightNew: " + toString(dz)))
646636 else {
637+ let dA = aE(av(dj))
638+ let dB = aE(av(dk))
639+ let dC = aE(av(dl))
647640 let dD = aE(av(dm))
648- let dE = aE(av(dn))
649- let dF = aE(av(do))
650- let dG = aE(av(dp))
651- let dH = invoke(dt, "onModifyWeight", [dD, dm], nil)
652- if ((dH == dH))
641+ let dE = invoke(dq, "onModifyWeight", [dA, dj], nil)
642+ if ((dE == dE))
653643 then {
654- let dI = invoke(dt, "onModifyWeight", [dE, dn], nil)
655- if ((dI == dI))
644+ let dF = invoke(dq, "onModifyWeight", [dB, dk], nil)
645+ if ((dF == dF))
656646 then {
657- let dJ = invoke(dt, "onModifyWeight", [dF, do], nil)
658- if ((dJ == dJ))
647+ let dG = invoke(dq, "onModifyWeight", [dC, dl], nil)
648+ if ((dG == dG))
659649 then {
660- let dK = invoke(dt, "onModifyWeight", [dG, dp], nil)
661- if ((dK == dK))
662- then [IntegerEntry(dv, dB), IntegerEntry(dw, dC), IntegerEntry(dx, dq), IntegerEntry(dy, dr), IntegerEntry(Z(dm, 0), dz), IntegerEntry(Z(dn, 0), dA), IntegerEntry(Z(do, 0), dq), IntegerEntry(Z(dp, 0), dr)]
650+ let dH = invoke(dq, "onModifyWeight", [dD, dm], nil)
651+ if ((dH == dH))
652+ then [IntegerEntry(ds, dy), IntegerEntry(dt, dz), IntegerEntry(du, dn), IntegerEntry(dv, do), IntegerEntry(Z(dj, 0), dw), IntegerEntry(Z(dk, 0), dx), IntegerEntry(Z(dl, 0), dn), IntegerEntry(Z(dm, 0), do)]
663653 else throw("Strict value is not equal to itself.")
664654 }
665655 else throw("Strict value is not equal to itself.")
666656 }
667657 else throw("Strict value is not equal to itself.")
668658 }
669659 else throw("Strict value is not equal to itself.")
670660 }
671661 }
672662 else throw("Strict value is not equal to itself.")
673663 }
674664
675665
676666
677667 @Callable(bf)
678668 func checkWxEmissionPoolLabel (ay,az) = {
679- let dL = {
669+ let dI = {
680670 let aZ = getBoolean(ax(ay, az))
681671 if ($isInstanceOf(aZ, "Boolean"))
682672 then {
683- let dM = aZ
684- dM
673+ let dJ = aZ
674+ dJ
685675 }
686676 else false
687677 }
688- $Tuple2(nil, dL)
678+ $Tuple2(nil, dI)
689679 }
690680
691681
692682
693683 @Callable(bf)
694684 func setWxEmissionPoolLabel (ay,az) = {
695- let cf = bS(bf)
696- if ((cf == cf))
685+ let cc = bS(bf)
686+ if ((cc == cc))
697687 then $Tuple2([BooleanEntry(ax(ay, az), true)], unit)
698688 else throw("Strict value is not equal to itself.")
699689 }
700690
701691
702692
703693 @Callable(bf)
704694 func deleteWxEmissionPoolLabel (ay,az) = {
705- let cf = if (be(bf))
695+ let cc = if (be(bf))
706696 then true
707697 else bS(bf)
708- if ((cf == cf))
698+ if ((cc == cc))
709699 then $Tuple2([DeleteEntry(ax(ay, az))], unit)
710700 else throw("Strict value is not equal to itself.")
711701 }
712702
713703
714704
715705 @Callable(bf)
716-func onVerificationLoss (dN) = {
717- let cf = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, R()), "")))
706+func onVerificationLoss (dK) = {
707+ let cc = if ((toBase58String(bf.caller.bytes) == valueOrElse(getString(this, R()), "")))
718708 then true
719709 else bg(bf)
720- if ((cf == cf))
710+ if ((cc == cc))
721711 then {
722- let cm = aY()
723- let dO = if ((size(cm) > 0))
712+ let cj = aY()
713+ let dL = if ((size(cj) > 0))
724714 then true
725715 else throw("invalid price assets")
726- if ((dO == dO))
716+ if ((dL == dL))
727717 then {
728- func dP (dQ,dR) = {
729- let dS = invoke(this, "deleteWxEmissionPoolLabel", [dN, dR], nil)
730- if ((dS == dS))
718+ func dM (dN,dO) = {
719+ let dP = invoke(this, "deleteWxEmissionPoolLabel", [dK, dO], nil)
720+ if ((dP == dP))
731721 then unit
732722 else throw("Strict value is not equal to itself.")
733723 }
734724
735- let dT = {
736- let dU = cm
737- let dV = size(dU)
738- let dW = unit
739- func dX (dY,dZ) = if ((dZ >= dV))
740- then dY
741- else dP(dY, dU[dZ])
725+ let dQ = {
726+ let dR = cj
727+ let dS = size(dR)
728+ let dT = unit
729+ func dU (dV,dW) = if ((dW >= dS))
730+ then dV
731+ else dM(dV, dR[dW])
742732
743- func ea (dY,dZ) = if ((dZ >= dV))
744- then dY
733+ func dX (dV,dW) = if ((dW >= dS))
734+ then dV
745735 else throw("List size exceeds 3")
746736
747- ea(dX(dX(dX(dW, 0), 1), 2), 3)
737+ dX(dU(dU(dU(dT, 0), 1), 2), 3)
748738 }
749- if ((dT == dT))
739+ if ((dQ == dQ))
750740 then $Tuple2(nil, unit)
751741 else throw("Strict value is not equal to itself.")
752742 }
753743 else throw("Strict value is not equal to itself.")
754744 }
755745 else throw("Strict value is not equal to itself.")
756746 }
757747
758748
759749
760750 @Callable(bf)
761751 func isPoolOneTokenOperationsDisabledREADONLY (Y) = {
762- let cE = bJ(Y)
763- let aj = $Tuple2(parseIntValue(cE[z]), parseIntValue(cE[A]))
764- let eb = valueOrElse(getBoolean(ai(aj)), false)
765- let ec = valueOrElse(getBoolean(al()), false)
766- $Tuple2(nil, if (ec)
752+ let cB = bJ(Y)
753+ let aj = $Tuple2(parseIntValue(cB[z]), parseIntValue(cB[A]))
754+ let dY = valueOrElse(getBoolean(ai(aj)), false)
755+ let dZ = valueOrElse(getBoolean(al()), false)
756+ $Tuple2(nil, if (dZ)
767757 then true
768- else eb)
758+ else dY)
769759 }
770760
771761
772762
773763 @Callable(bf)
774764 func getInFeeREADONLY (Y) = {
775- let ed = bV(aA(Y), aB(), 0)
776- $Tuple2(nil, ed)
765+ let ea = bV(aA(Y), aB(), 0)
766+ $Tuple2(nil, ea)
777767 }
778768
779769
780770
781771 @Callable(bf)
782772 func getOutFeeREADONLY (Y) = {
783- let ed = bV(aC(Y), aD(), fraction(10, b, 10000))
784- $Tuple2(nil, ed)
773+ let ea = bV(aC(Y), aD(), fraction(10, b, 10000))
774+ $Tuple2(nil, ea)
785775 }
786776
787777
788778
789779 @Callable(bf)
790780 func getPoolStatusREADONLY (Y) = {
791781 let bK = split(aE(as(Y)), j)
792782 let ag = bK[1]
793783 let ah = bK[2]
794- let ee = split(aE(af(ag, ah)), j)
795- $Tuple2(nil, parseIntValue(ee[t]))
784+ let eb = split(aE(af(ag, ah)), j)
785+ $Tuple2(nil, parseIntValue(eb[t]))
796786 }
797787
798788
799-@Verifier(ef)
800-func eg () = {
801- let eh = {
789+@Verifier(ec)
790+func ed () = {
791+ let ee = {
802792 let aZ = bb()
803793 if ($isInstanceOf(aZ, "ByteVector"))
804794 then {
805795 let bh = aZ
806796 bh
807797 }
808798 else if ($isInstanceOf(aZ, "Unit"))
809- then ef.senderPublicKey
799+ then ec.senderPublicKey
810800 else throw("Match error")
811801 }
812- sigVerify(ef.bodyBytes, ef.proofs[0], eh)
802+ sigVerify(ec.bodyBytes, ec.proofs[0], ee)
813803 }
814804

github/deemru/w8io/026f985 
198.62 ms