tx · 9xVnQR595xtEBhc2v5MX511e1KevMdNhhiQ5WUumQPDV

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.03000000 Waves

2023.02.03 13:48 [2433341] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "9xVnQR595xtEBhc2v5MX511e1KevMdNhhiQ5WUumQPDV", "fee": 3000000, "feeAssetId": null, "timestamp": 1675421358210, "version": 1, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "2oNPddEkgnge5fXJuzL9Avvh4Coq6CDd7fgTu5ih9TTMLHspvWdRKe1VUXtKPbVDSPB42D5Fvf3MyuS6vGxz1Nbj" ], "script": "base64:AAIFAAAAAAAAEtUIAhIECgIICBIDCgEIEgoKCAgICAgICAgBEgMKAQgSBgoECAgICBIECgIIGBIDCgEIEgQKAggYEgMKAQgSABIDCgEYEgoKCAgICAgIAQgIEgQKAggBEgMKAQESAwoBARIECgIIARIGCgQICAgIEgQKAggIEgQKAggIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCCIGU0NBTEU4IgVNVUxUOCIHU0NBTEUxOCIGTVVMVDE4Ig5QT09MV0VJR0hUTVVMVCIOR1dYdmlydHVhbFBPT0wiDGxhYmVsUG9vbHNMcCINZGVmYXVsdFNwcmVhZCIRZGVjaW1hbHNNdWx0UHJpY2UiA1NFUCIFRU1QVFkiClBvb2xBY3RpdmUiD1Bvb2xQdXREaXNhYmxlZCITUG9vbE1hdGNoZXJEaXNhYmxlZCIMUG9vbFNodXRkb3duIhJpZHhJbnRlcm5hbEFzc2V0SWQiD2lkeFJlc3V0QWN0aW9ucyIgaWR4SWZBc3NldElkQ2FsY3VsYXRpb25QZXJmb3JtZWQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSILaWR4UG9vbFR5cGUiE3Bvb2xMYWJlbFd4RW1pc3Npb24iD3ZhbGlkUG9vbExhYmVscyIWa2V5QWxsb3dlZExwU2NyaXB0SGFzaCIca2V5QWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaCIha2V5QWxsb3dlZExwU3RhYmxlQWRkb25TY3JpcHRIYXNoIhBrZXlGYWN0b3J5Q29uZmlnIg9rZXlMcFRva2Vuc0xpc3QiEWtleVBvb2xTY3JpcHRIYXNoIg1rZXlNYXRjaGVyUHViIhhrZXlMZWdhY3lGYWN0b3J5Q29udHJhY3QiDmtleUxlZ2FjeVBvb2xzIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIPa2V5QWRtaW5QdWJLZXlzIhZrZXlBc3NldHNTdG9yZUNvbnRyYWN0IhlrZXlWb3RpbmdFbWlzc2lvbkNvbnRyYWN0Ig5rZXlQcmljZUFzc2V0cyIQa2V5UHJpY2VEZWNpbWFscyITa2V5QWxsUG9vbHNTaHV0ZG93biIWa2V5TmV4dEludGVybmFsQXNzZXRJZCIPa2V5UG9vbFRvV2VpZ2h0Igtwb29sQWRkcmVzcyIWa2V5UG9vbFRvV2VpZ2h0SGlzdG9yeSIDbnVtIh9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkIhFpbnRlcm5hbEJhc2VBc3NldCIfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZCIMYmFzZUFzc2V0U3RyIg1rZXlQb29sQ29uZmlnIhNhbW91bnRBc3NldEludGVybmFsIhJwcmljZUFzc2V0SW50ZXJuYWwiIWtleVBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIOYXNzZXRzSW50ZXJuYWwiCyR0MDM2MzIzNjk0IiVrZXlBbGxQb29sc09uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIh1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cyIKbHBBc3NldFN0ciIda2V5TWFwcGluZ1Bvb2xBc3NldHNUb0xwYXNzZXQiGGludGVybmFsQW1vdW50QXNzZXRJZFN0ciIXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIiDWtleVBvb2xTcHJlYWQiKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzIhNwb29sQ29udHJhY3RBZGRyZXNzIilrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcyIfa2V5TWFwcGluZ1Bvb2xDb250cmFjdFRvTFBBc3NldCIqa2V5TWFwcGluZ1Bvb2xMUEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIg1rZXlXeEVtaXNzaW9uIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiCGtleUluRmVlIg9rZXlJbkZlZURlZmF1bHQiCWtleU91dEZlZSIQa2V5T3V0RmVlRGVmYXVsdCIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiEGdldEJvb2xlYW5PckZhaWwiDGdldEludE9yRmFpbCIYSWR4RmFjdG9yeUNmZ1N0YWtpbmdEYXBwIhlJZHhGYWN0b3J5Q2ZnQm9vc3RpbmdEYXBwIhRJZHhGYWN0b3J5Q2ZnSWRvRGFwcCIVSWR4RmFjdG9yeUNmZ1RlYW1EYXBwIhlJZHhGYWN0b3J5Q2ZnRW1pc3Npb25EYXBwIhVJZHhGYWN0b3J5Q2ZnUmVzdERhcHAiGUlkeEZhY3RvcnlDZmdTbGlwcGFnZURhcHAiFElkeEZhY3RvcnlDZmdEYW9EYXBwIhpJZHhGYWN0b3J5Q2ZnTWFya2V0aW5nRGFwcCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiFklkeEZhY3RvcnlDZmdCaXJkc0RhcHAiGGdldEJvb3N0aW5nQWRkcmVzc09yRmFpbCIKZmFjdG9yeUNmZyIYZ2V0RW1pc3Npb25BZGRyZXNzT3JGYWlsIhdnZXRTdGFraW5nQWRkcmVzc09yRmFpbCIZZ2V0R3d4UmV3YXJkQWRkcmVzc09yRmFpbCIOZ2V0UHJpY2VBc3NldHMiByRtYXRjaDAiAXMiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0IhVwZXJtaXNzaW9uRGVuaWVkRXJyb3IiCXRlc3RFcnJvciIIbXVzdFRoaXMiAWkiC211c3RNYW5hZ2VyIgJwayIQZGF0YUZhY3RvcnlDZmdWMyIOc3Rha2luZ0FkZHJlc3MiD2Jvb3N0aW5nQWRkcmVzcyILaWRvQ29udHJhY3QiDHRlYW1Db250cmFjdCIQZW1pc3Npb25Db250cmFjdCIMcmVzdENvbnRyYWN0IhBzbGlwcGFnZUNvbnRyYWN0IgtkYW9Db250cmFjdCIRbWFya2V0aW5nQ29udHJhY3QiEmd3eFJld2FyZHNDb250cmFjdCINYmlyZHNDb250cmFjdCIOZGF0YUZhY3RvcnlDZmciC2RhdGFQb29sQ2ZnIgpwb29sU3RhdHVzIglscEFzc2V0SWQiDmFtb3VudEFzc2V0U3RyIg1wcmljZUFzc2V0U3RyIhNhbW91bnRBc3NldERlY2ltYWxzIhJwcmljZUFzc2V0RGVjaW1hbHMiFWFtb3VudEFzc2V0SW50ZXJuYWxJZCIUcHJpY2VBc3NldEludGVybmFsSWQiD2xwQXNzZXREZWNpbWFscyIIcG9vbFR5cGUiFWRhdGFNYXBwaW5nUG9vbEFzc2V0cyIWaW50ZXJuYWxBbW91bnRBc3NldFN0ciIVaW50ZXJuYWxQcmljZUFzc2V0U3RyIg1nZXRQb29sQ29uZmlnIgpwb29sQXNzZXRzIhpnZXRJbnRlcm5hbEFzc2V0SWRPckNyZWF0ZSIKYXNzZXRJZFN0ciILaW5jcmVtZW50b3IiD2ludGVybmFsQXNzZXRJZCIYY3VycmVudEluZGV4T2ZJbnRlcm5hbElkIgZyZXN1bHQiEm5ld0ludGVybmFsQXNzZXRJZCIJbXVzdEFkbWluIghhZG1pblBLcyIJaXNNYW5hZ2VyIhZpbnRPckRlZmF1bHRPckZhbGxiYWNrIgprZXlEZWZhdWx0Ig12YWx1ZUZhbGxiYWNrIgZhc3NldDEiBmFzc2V0MiIJYXNzZXROdW0xIglhc3NldE51bTIiAmVlIgNyZXMiAmxwIg9zdGFraW5nQ29udHJhY3QiEGJvb3N0aW5nQ29udHJhY3QiEHNscGlwYWdlQ29udHJhY3QiDXByaWNlRGVjaW1hbHMiC2NoZWNrQ2FsbGVyIhBtYXRoY2hlclB1YjU4U3RyIgptYXRoY2VyUHViIhVsZWdhY3lGYWN0b3J5Q29udHJhY3QiC2xlZ2FjeVBvb2xzIhNhc3NldHNTdG9yZUNvbnRyYWN0IhZ2b3RpbmdFbWlzc2lvbkNvbnRyYWN0IgtwcmljZUFzc2V0cyIFY2hla3MiF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5IhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSIMYWRtaW5QdWJLZXlzIgtscEFzc2V0TmFtZSIMbHBBc3NldERlc2NyIgpwb29sV2VpZ2h0IgRsb2dvIhdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YSIVaW50ZXJuYWxBbW91bnRBc3NldElkIhZpbnRlcm5hbFByaWNlQXNzZXREYXRhIhRpbnRlcm5hbFByaWNlQXNzZXRJZCIVcG9vbEFjY291bnRTY3JpcHRIYXNoIhxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoIgpwb29sQ29uZmlnIg9wb29sQ29uZmlnVmFsdWUiFGFtb3VudEFzc2V0c0RlY2ltYWxzIhNwcmljZUFzc2V0c0RlY2ltYWxzIhJscEFzc2V0SXNzdWVBY3Rpb24iDGxwQXNzZXRJZFN0ciIYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0IhhjcmVhdGVPclVwZGF0ZUxwQXNzZXRJbnYiEmFkZFBvb2xzTHBMYWJlbEludiIKc2V0TG9nb0ludiIQYWRkQXNzZXRzTGlua0ludiIbaW5jcmVhc2VBc3NldFBvb2xzTnVtYmVySW52IgluZXdTdGF0dXMiCmxwQXNzZXREY20iDGFtb3VudFRvRW1pdCIGY2FsbGVyIgxvcmlnaW5DYWxsZXIiEGxwQXNzZXRSZXF1ZXN0ZWQiB2xwQXNzZXQiDGFtb3VudFRvQnVybiIHcGF5bWVudCINcGF5bWVudEFtb3VudCIPaW5BbW91bnRBc3NldElkIhpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZyIFc2hhcmUiDXBvb2xXZWlnaHRLZXkiDGd3eFdlaWdodEtleSIJZ3d4V2VpZ2h0Ig1wb29sV2VpZ2h0TmV3IhFvbk1vZGlmeVdlaWdodEludiIVZ3d4VmlydHVhbFBvb2xBY3Rpb25zIhRwb29sV2VpZ2h0SGlzdG9yeUtleSIXcG9vbFdlaWdodEhpc3RvcnlPclVuaXQiGHBvb2xXZWlnaHRIaXN0b3J5QWN0aW9ucyIOYnRjUG9vbEFkZHJlc3MiDmV0aFBvb2xBZGRyZXNzIhFldGhCdGNQb29sQWRkcmVzcyITdXNkY1VzZHRQb29sQWRkcmVzcyIPZXRoQnRjV2VpZ2h0TmV3IhF1c2RjVXNkdFdlaWdodE5ldyIPd2VpZ2h0RGVjcmVtZW50IgtzdGFraW5nRGFwcCINZ3d4UmV3YXJkRGFwcCIMYnRjV2VpZ2h0S0VZIgxldGhXZWlnaHRLRVkiD2V0aEJ0Y1dlaWdodEtFWSIRdXNkY1VzZHRXZWlnaHRLRVkiCWJ0Y1dlaWdodCIJZXRoV2VpZ2h0IgxidGNXZWlnaHROZXciDGV0aFdlaWdodE5ldyIPYnRjTHBBc3NldElkU3RyIg9ldGhMcEFzc2V0SWRTdHIiEmV0aEJ0Y0xwQXNzZXRJ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", "chainId": 84, "height": 2433341, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AxBXh8ZRy7Z3GjjfAtKtEJSVwMCA2frtNrGG9UMpoeU5 Next: 3gHf3oaGbULL1kAoN74vtqVrrMF2H3tEEoxGmvwMZYEW Diff:
OldNewDifferences
339339 let cb = value(getInteger(this, ad(bZ)))
340340 let cc = value(getInteger(this, ad(ca)))
341341 let cd = getString(this, ao(toString(cb), toString(cc)))
342- let ce = if (isDefined(cd))
343- then true
344- else throw("test error string")
345- if ((ce == ce))
346- then {
347- let cf = value(cd)
348- $Tuple2(nil, cf)
349- }
342+ let ce = value(cd)
343+ $Tuple2(nil, ce)
344+ }
345+
346+
347+
348+@Callable(bg)
349+func getPoolAddressFromLpAssetREADONLY (cf) = $Tuple2(nil, getString(this, aw(cf)))
350+
351+
352+
353+@Callable(bg)
354+func constructor (cg,ch,bm,bn,bo,bp,ci,cj) = {
355+ let ck = bh(bg)
356+ if ((ck == ck))
357+ then [StringEntry(I(), bv(cg, ch, bm, bn, bo, bp, ci)), IntegerEntry(U(), cj)]
350358 else throw("Strict value is not equal to itself.")
351359 }
352360
353361
354362
355363 @Callable(bg)
356-func getPoolAddressFromLpAssetREADONLY (cg) = $Tuple2(nil, getString(this, aw(cg)))
357-
358-
359-
360-@Callable(bg)
361-func constructor (ch,ci,bm,bn,bo,bp,cj,ck) = {
362- let cl = bh(bg)
363- if ((cl == cl))
364- then [StringEntry(I(), bv(ch, ci, bm, bn, bo, bp, cj)), IntegerEntry(U(), ck)]
365- else throw("Strict value is not equal to itself.")
366- }
367-
368-
369-
370-@Callable(bg)
371-func constructorV2 (cm) = {
372- let cl = bh(bg)
373- if ((cl == cl))
364+func constructorV2 (cl) = {
365+ let ck = bh(bg)
366+ if ((ck == ck))
374367 then {
375- let cn = addressFromPublicKey(fromBase58String(cm))
376- if ((cn == cn))
377- then [StringEntry(L(), cm)]
368+ let cm = addressFromPublicKey(fromBase58String(cl))
369+ if ((cm == cm))
370+ then [StringEntry(L(), cl)]
378371 else throw("Strict value is not equal to itself.")
379372 }
380373 else throw("Strict value is not equal to itself.")
384377
385378 @Callable(bg)
386379 func constructorV3 (br,bs,bt,bu) = {
387- let cl = bh(bg)
388- if ((cl == cl))
380+ let ck = bh(bg)
381+ if ((ck == ck))
389382 then {
390383 let aU = split(aE(I()), j)
391384 [StringEntry(I(), bj(aU[1], aU[2], aU[3], aU[4], aU[5], aU[6], aU[7], br, bs, bt, bu))]
396389
397390
398391 @Callable(bg)
399-func constructorV4 (co,cp) = {
400- let cl = bh(bg)
401- if ((cl == cl))
402- then [StringEntry(M(), co), StringEntry(N(), makeString(cp, j))]
392+func constructorV4 (cn,co) = {
393+ let ck = bh(bg)
394+ if ((ck == ck))
395+ then [StringEntry(M(), cn), StringEntry(N(), makeString(co, j))]
403396 else throw("Strict value is not equal to itself.")
404397 }
405398
406399
407400
408401 @Callable(bg)
409-func constructorV5 (cq) = {
410- let cl = bh(bg)
411- if ((cl == cl))
412- then [StringEntry(R(), cq)]
402+func constructorV5 (cp) = {
403+ let ck = bh(bg)
404+ if ((ck == ck))
405+ then [StringEntry(R(), cp)]
413406 else throw("Strict value is not equal to itself.")
414407 }
415408
416409
417410
418411 @Callable(bg)
419-func constructorV6 (cr,cs) = {
420- let ct = [bh(bg), if ((addressFromString(cr) != unit))
412+func constructorV6 (cq,cr) = {
413+ let cs = [bh(bg), if ((addressFromString(cq) != unit))
421414 then true
422415 else "invalid voting emission contract address"]
423- if ((ct == ct))
424- then [StringEntry(S(), cr), StringEntry(T(), makeString(cs, j))]
416+ if ((cs == cs))
417+ then [StringEntry(S(), cq), StringEntry(T(), makeString(cr, j))]
425418 else throw("Strict value is not equal to itself.")
426419 }
427420
428421
429422
430423 @Callable(bg)
431-func setManager (cu) = {
432- let cl = bh(bg)
433- if ((cl == cl))
424+func setManager (ct) = {
425+ let ck = bh(bg)
426+ if ((ck == ck))
434427 then {
435- let cv = fromBase58String(cu)
436- if ((cv == cv))
437- then [StringEntry(P(), cu)]
428+ let cu = fromBase58String(ct)
429+ if ((cu == cu))
430+ then [StringEntry(P(), ct)]
438431 else throw("Strict value is not equal to itself.")
439432 }
440433 else throw("Strict value is not equal to itself.")
444437
445438 @Callable(bg)
446439 func confirmManager () = {
447- let cw = bc()
448- let cx = if (isDefined(cw))
440+ let cv = bc()
441+ let cw = if (isDefined(cv))
449442 then true
450443 else throw("No pending manager")
451- if ((cx == cx))
444+ if ((cw == cw))
452445 then {
453- let cy = if ((bg.callerPublicKey == value(cw)))
446+ let cx = if ((bg.callerPublicKey == value(cv)))
454447 then true
455448 else throw("You are not pending manager")
456- if ((cy == cy))
457- then [StringEntry(O(), toBase58String(value(cw))), DeleteEntry(P())]
449+ if ((cx == cx))
450+ then [StringEntry(O(), toBase58String(value(cv))), DeleteEntry(P())]
458451 else throw("Strict value is not equal to itself.")
459452 }
460453 else throw("Strict value is not equal to itself.")
463456
464457
465458 @Callable(bg)
466-func setAdmins (cz) = {
467- let cl = bh(bg)
468- if ((cl == cl))
469- then [StringEntry(Q(), makeString(cz, j))]
459+func setAdmins (cy) = {
460+ let ck = bh(bg)
461+ if ((ck == ck))
462+ then [StringEntry(Q(), makeString(cy, j))]
470463 else throw("Strict value is not equal to itself.")
471464 }
472465
473466
474467
475468 @Callable(bg)
476-func activateNewPool (Y,bz,bA,cA,cB,cC,bG,cD) = {
477- let cl = bT(bg)
478- if ((cl == cl))
469+func activateNewPool (Y,bz,bA,cz,cA,cB,bG,cC) = {
470+ let ck = bT(bg)
471+ if ((ck == ck))
479472 then if (isDefined(getString(as(Y))))
480473 then throw((("Pool address " + Y) + " already registered."))
481474 else {
482- let cE = bM(bz, 1)
483- let cF = cE._1
484- let cG = bM(bA, if (cE._3)
475+ let cD = bM(bz, 1)
476+ let cE = cD._1
477+ let cF = bM(bA, if (cD._3)
485478 then 2
486479 else 1)
487- let cH = cG._1
488- let cI = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
489- let cJ = getBinaryValue(K())
490- let cK = getString(this, af(toString(cF), toString(cH)))
491- if (isDefined(cK))
480+ let cG = cF._1
481+ let cH = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
482+ let cI = getBinaryValue(K())
483+ let cJ = getString(this, af(toString(cE), toString(cG)))
484+ if (isDefined(cJ))
492485 then throw((((("Pool " + bz) + "/") + bA) + " has already been activated."))
493486 else {
494- let cL = value(getString(this, af(toString(cF), toString(cH))))
495- let cM = if ((bz == "WAVES"))
487+ let cK = value(getString(this, af(toString(cE), toString(cG))))
488+ let cL = if ((bz == "WAVES"))
496489 then i
497490 else pow(10, 0, value(assetInfo(fromBase58String(bz))).decimals, 0, 0, DOWN)
498- let cN = if ((bA == "WAVES"))
491+ let cM = if ((bA == "WAVES"))
499492 then i
500493 else pow(10, 0, value(assetInfo(fromBase58String(bA))).decimals, 0, 0, DOWN)
501- let cO = Issue(cA, cB, 1, 8, true)
502- let by = calculateAssetId(cO)
503- let cP = toBase58String(by)
504- let cQ = invoke(addressFromStringValue(Y), "activate", [bz, bA], nil)
505- if ((cQ == cQ))
506- then if ((cQ != "success"))
494+ let cN = Issue(cz, cA, 1, 8, true)
495+ let by = calculateAssetId(cN)
496+ let cO = toBase58String(by)
497+ let cP = invoke(addressFromStringValue(Y), "activate", [bz, bA], nil)
498+ if ((cP == cP))
499+ then if ((cP != "success"))
507500 then throw("Pool initialisation error happened.")
508501 else {
509- let cq = addressFromStringValue(aE(R()))
510- let cR = invoke(cq, "createOrUpdate", [cP, cA, false], nil)
511- if ((cR == cR))
502+ let cp = addressFromStringValue(aE(R()))
503+ let cQ = invoke(cp, "createOrUpdate", [cO, cz, false], nil)
504+ if ((cQ == cQ))
512505 then {
513- let cS = invoke(cq, "addLabel", [cP, g], nil)
514- if ((cS == cS))
506+ let cR = invoke(cp, "addLabel", [cO, g], nil)
507+ if ((cR == cR))
515508 then {
516- let cT = invoke(cq, "setLogo", [cP, cD], nil)
517- if ((cT == cT))
509+ let cS = invoke(cp, "setLogo", [cO, cC], nil)
510+ if ((cS == cS))
518511 then {
519- let cU = invoke(cq, "addAssetsLink", [bz, bA, cP], nil)
520- if ((cU == cU))
512+ let cT = invoke(cp, "addAssetsLink", [bz, bA, cO], nil)
513+ if ((cT == cT))
521514 then {
522- let cV = invoke(cq, "increaseAssetPoolsNumber", [bz], nil)
523- if ((cV == cV))
524- then $Tuple2(((cE._2 ++ cG._2) ++ [cO, Burn(by, 1), StringEntry(af(toString(cF), toString(cH)), bw(Y, toString(l), cP, bz, bA, cM, cN, cF, cH, i, bG)), StringEntry(am(cP), bH(cF, cH)), StringEntry(ao(toString(cF), toString(cH)), ("%s__" + cP)), StringEntry(as(Y), bH(cF, cH)), StringEntry(au(cF, cH), Y), StringEntry(aw(cP), Y), StringEntry(av(Y), cP), IntegerEntry(X(Y), cC), IntegerEntry(ar(Y), h)]), cP)
515+ let cU = invoke(cp, "increaseAssetPoolsNumber", [bz], nil)
516+ if ((cU == cU))
517+ then $Tuple2(((cD._2 ++ cF._2) ++ [cN, Burn(by, 1), StringEntry(af(toString(cE), toString(cG)), bw(Y, toString(l), cO, bz, bA, cL, cM, cE, cG, i, bG)), StringEntry(am(cO), bH(cE, cG)), StringEntry(ao(toString(cE), toString(cG)), ("%s__" + cO)), StringEntry(as(Y), bH(cE, cG)), StringEntry(au(cE, cG), Y), StringEntry(aw(cO), Y), StringEntry(av(Y), cO), IntegerEntry(X(Y), cB), IntegerEntry(ar(Y), h)]), cO)
525518 else throw("Strict value is not equal to itself.")
526519 }
527520 else throw("Strict value is not equal to itself.")
541534
542535
543536 @Callable(bg)
544-func managePool (Y,cW) = {
545- let cl = bh(bg)
546- if ((cl == cl))
537+func managePool (Y,cV) = {
538+ let ck = bh(bg)
539+ if ((ck == ck))
547540 then {
548- let cK = bK(Y)
549- let bx = cK[t]
550- let cP = cK[u]
551- let bz = cK[v]
552- let bA = cK[w]
553- let cM = parseIntValue(cK[x])
554- let cN = parseIntValue(cK[y])
555- let cF = parseIntValue(cK[z])
556- let cH = parseIntValue(cK[A])
557- let cX = parseIntValue(cK[B])
558- let bG = cK[C]
559-[StringEntry(af(toString(cF), toString(cH)), bw(Y, toString(cW), cP, bz, bA, cM, cN, cF, cH, cX, bG))]
541+ let cJ = bK(Y)
542+ let bx = cJ[t]
543+ let cO = cJ[u]
544+ let bz = cJ[v]
545+ let bA = cJ[w]
546+ let cL = parseIntValue(cJ[x])
547+ let cM = parseIntValue(cJ[y])
548+ let cE = parseIntValue(cJ[z])
549+ let cG = parseIntValue(cJ[A])
550+ let cW = parseIntValue(cJ[B])
551+ let bG = cJ[C]
552+[StringEntry(af(toString(cE), toString(cG)), bw(Y, toString(cV), cO, bz, bA, cL, cM, cE, cG, cW, bG))]
560553 }
561554 else throw("Strict value is not equal to itself.")
562555 }
564557
565558
566559 @Callable(bg)
567-func emit (cY) = {
568- let cZ = bg.caller
569- let da = bg.originCaller
570- let db = valueOrErrorMessage(getString(av(toString(cZ))), "Invalid LP address called me.")
571- let dc = fromBase58String(db)
572- let cp = split(valueOrElse(getString(N()), k), j)
573- let co = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
574- if ((0 >= cY))
560+func emit (cX) = {
561+ let cY = bg.caller
562+ let cZ = bg.originCaller
563+ let da = valueOrErrorMessage(getString(av(toString(cY))), "Invalid LP address called me.")
564+ let db = fromBase58String(da)
565+ let co = split(valueOrElse(getString(N()), k), j)
566+ let cn = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
567+ if ((0 >= cX))
575568 then nil
576- else if (containsElement(cp, toString(cZ)))
577- then $Tuple2(nil, co)
578- else $Tuple2([Reissue(dc, cY, true), ScriptTransfer(bg.caller, cY, dc)], "success")
569+ else if (containsElement(co, toString(cY)))
570+ then $Tuple2(nil, cn)
571+ else $Tuple2([Reissue(db, cX, true), ScriptTransfer(bg.caller, cX, db)], "success")
579572 }
580573
581574
582575
583576 @Callable(bg)
584-func burn (dd) = {
585- let cZ = bg.caller
586- let da = bg.originCaller
587- let de = value(bg.payments[0])
588- let df = value(de.amount)
589- let dg = toBase58String(value(de.assetId))
590- let dh = valueOrErrorMessage(getString(av(toString(cZ))), "Invalid LP address called me.")
591- if ((dg != dh))
577+func burn (dc) = {
578+ let cY = bg.caller
579+ let cZ = bg.originCaller
580+ let dd = value(bg.payments[0])
581+ let de = value(dd.amount)
582+ let df = toBase58String(value(dd.assetId))
583+ let dg = valueOrErrorMessage(getString(av(toString(cY))), "Invalid LP address called me.")
584+ if ((df != dg))
592585 then throw("Invalid asset passed.")
593- else if ((dd != df))
586+ else if ((dc != de))
594587 then throw("Invalid amount passed.")
595588 else {
596- let dc = fromBase58String(dh)
597- $Tuple2([Burn(dc, dd)], "success")
589+ let db = fromBase58String(dg)
590+ $Tuple2([Burn(db, dc)], "success")
598591 }
599592 }
600593
601594
602595
603596 @Callable(bg)
604-func modifyWeight (by,di) = {
605- let cl = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, S()), "")))
597+func modifyWeight (by,dh) = {
598+ let ck = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, S()), "")))
606599 then true
607600 else bh(bg)
608- if ((cl == cl))
601+ if ((ck == ck))
609602 then {
610603 let at = aE(aw(by))
611- let dj = X(at)
612- let dk = X(f)
613- let dl = valueOrElse(getInteger(dk), 0)
614- let cC = valueOrElse(getInteger(dj), 0)
615- let dm = di
604+ let di = X(at)
605+ let dj = X(f)
606+ let dk = valueOrElse(getInteger(dj), 0)
607+ let cB = valueOrElse(getInteger(di), 0)
608+ let dl = dh
616609 let aU = split(aE(I()), j)
617- let ch = aW(aU)
618- let dn = invoke(ch, "onModifyWeight", [by, at], nil)
619- if ((dn == dn))
610+ let cg = aW(aU)
611+ let dm = invoke(cg, "onModifyWeight", [by, at], nil)
612+ if ((dm == dm))
620613 then {
621- let do = if ((dl == 0))
614+ let dn = if ((dk == 0))
622615 then nil
623- else [IntegerEntry(dk, 0)]
624- let dp = Z(at, 0)
625- let dq = getInteger(dp)
626- let dr = if ((dq == unit))
616+ else [IntegerEntry(dj, 0)]
617+ let do = Z(at, 0)
618+ let dp = getInteger(do)
619+ let dq = if ((dp == unit))
627620 then nil
628- else [DeleteEntry(dp)]
629- (([IntegerEntry(dj, dm)] ++ do) ++ dr)
621+ else [DeleteEntry(do)]
622+ (([IntegerEntry(di, dl)] ++ dn) ++ dq)
630623 }
631624 else throw("Strict value is not equal to itself.")
632625 }
636629
637630
638631 @Callable(bg)
639-func modifyWeights (ds,dt,du,dv) = {
640- let cl = bh(bg)
641- if ((cl == cl))
632+func modifyWeights (dr,ds,dt,du) = {
633+ let ck = bh(bg)
634+ if ((ck == ck))
642635 then {
636+ let dv = ((5 * e) / 100)
643637 let dw = ((5 * e) / 100)
644638 let dx = ((5 * e) / 100)
645- let dy = ((5 * e) / 100)
646639 let aU = split(aE(I()), j)
647- let dz = aW(aU)
648- let dA = aX(aU)
640+ let dy = aW(aU)
641+ let dz = aX(aU)
642+ let dA = X(dr)
649643 let dB = X(ds)
650644 let dC = X(dt)
651645 let dD = X(du)
652- let dE = X(dv)
646+ let dE = aH(dA)
653647 let dF = aH(dB)
654- let dG = aH(dC)
655- let dH = (dF - dy)
656- let dI = (dG - dy)
657- if ((0 >= dH))
658- then throw(("invalid btcWeightNew: " + toString(dH)))
659- else if ((0 >= dI))
660- then throw(("invalid ethWeightNew: " + toString(dI)))
648+ let dG = (dE - dx)
649+ let dH = (dF - dx)
650+ if ((0 >= dG))
651+ then throw(("invalid btcWeightNew: " + toString(dG)))
652+ else if ((0 >= dH))
653+ then throw(("invalid ethWeightNew: " + toString(dH)))
661654 else {
655+ let dI = aE(av(dr))
662656 let dJ = aE(av(ds))
663657 let dK = aE(av(dt))
664658 let dL = aE(av(du))
665- let dM = aE(av(dv))
666- let dN = invoke(dz, "onModifyWeight", [dJ, ds], nil)
667- if ((dN == dN))
659+ let dM = invoke(dy, "onModifyWeight", [dI, dr], nil)
660+ if ((dM == dM))
668661 then {
669- let dO = invoke(dz, "onModifyWeight", [dK, dt], nil)
670- if ((dO == dO))
662+ let dN = invoke(dy, "onModifyWeight", [dJ, ds], nil)
663+ if ((dN == dN))
671664 then {
672- let dP = invoke(dz, "onModifyWeight", [dL, du], nil)
673- if ((dP == dP))
665+ let dO = invoke(dy, "onModifyWeight", [dK, dt], nil)
666+ if ((dO == dO))
674667 then {
675- let dQ = invoke(dz, "onModifyWeight", [dM, dv], nil)
676- if ((dQ == dQ))
677- then [IntegerEntry(dB, dH), IntegerEntry(dC, dI), IntegerEntry(dD, dw), IntegerEntry(dE, dx), IntegerEntry(Z(ds, 0), dF), IntegerEntry(Z(dt, 0), dG), IntegerEntry(Z(du, 0), dw), IntegerEntry(Z(dv, 0), dx)]
668+ let dP = invoke(dy, "onModifyWeight", [dL, du], nil)
669+ if ((dP == dP))
670+ then [IntegerEntry(dA, dG), IntegerEntry(dB, dH), IntegerEntry(dC, dv), IntegerEntry(dD, dw), IntegerEntry(Z(dr, 0), dE), IntegerEntry(Z(ds, 0), dF), IntegerEntry(Z(dt, 0), dv), IntegerEntry(Z(du, 0), dw)]
678671 else throw("Strict value is not equal to itself.")
679672 }
680673 else throw("Strict value is not equal to itself.")
691684
692685 @Callable(bg)
693686 func checkWxEmissionPoolLabel (ay,az) = {
694- let dR = {
687+ let dQ = {
695688 let aZ = getBoolean(ax(ay, az))
696689 if ($isInstanceOf(aZ, "Boolean"))
697690 then {
698- let dS = aZ
699- dS
691+ let dR = aZ
692+ dR
700693 }
701694 else false
702695 }
703- $Tuple2(nil, dR)
696+ $Tuple2(nil, dQ)
704697 }
705698
706699
707700
708701 @Callable(bg)
709702 func setWxEmissionPoolLabel (ay,az) = {
710- let cl = bT(bg)
711- if ((cl == cl))
703+ let ck = bT(bg)
704+ if ((ck == ck))
712705 then $Tuple2([BooleanEntry(ax(ay, az), true)], unit)
713706 else throw("Strict value is not equal to itself.")
714707 }
717710
718711 @Callable(bg)
719712 func deleteWxEmissionPoolLabel (ay,az) = {
720- let cl = if (bf(bg))
713+ let ck = if (bf(bg))
721714 then true
722715 else bT(bg)
723- if ((cl == cl))
716+ if ((ck == ck))
724717 then $Tuple2([DeleteEntry(ax(ay, az))], unit)
725718 else throw("Strict value is not equal to itself.")
726719 }
728721
729722
730723 @Callable(bg)
731-func onVerificationLoss (dT) = {
732- let cl = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, R()), "")))
724+func onVerificationLoss (dS) = {
725+ let ck = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, R()), "")))
733726 then true
734727 else bh(bg)
735- if ((cl == cl))
728+ if ((ck == ck))
736729 then {
737- let cs = aY()
738- let dU = if ((size(cs) > 0))
730+ let cr = aY()
731+ let dT = if ((size(cr) > 0))
739732 then true
740733 else throw("invalid price assets")
741- if ((dU == dU))
734+ if ((dT == dT))
742735 then {
743- func dV (dW,dX) = {
744- let dY = invoke(this, "deleteWxEmissionPoolLabel", [dT, dX], nil)
745- if ((dY == dY))
736+ func dU (dV,dW) = {
737+ let dX = invoke(this, "deleteWxEmissionPoolLabel", [dS, dW], nil)
738+ if ((dX == dX))
746739 then unit
747740 else throw("Strict value is not equal to itself.")
748741 }
749742
750- let dZ = {
751- let ea = cs
752- let eb = size(ea)
753- let ec = unit
754- func ed (ee,ef) = if ((ef >= eb))
755- then ee
756- else dV(ee, ea[ef])
743+ let dY = {
744+ let dZ = cr
745+ let ea = size(dZ)
746+ let eb = unit
747+ func ec (ed,ee) = if ((ee >= ea))
748+ then ed
749+ else dU(ed, dZ[ee])
757750
758- func eg (ee,ef) = if ((ef >= eb))
759- then ee
751+ func ef (ed,ee) = if ((ee >= ea))
752+ then ed
760753 else throw("List size exceeds 4")
761754
762- eg(ed(ed(ed(ed(ec, 0), 1), 2), 3), 4)
755+ ef(ec(ec(ec(ec(eb, 0), 1), 2), 3), 4)
763756 }
764- if ((dZ == dZ))
757+ if ((dY == dY))
765758 then $Tuple2(nil, unit)
766759 else throw("Strict value is not equal to itself.")
767760 }
774767
775768 @Callable(bg)
776769 func isPoolOneTokenOperationsDisabledREADONLY (Y) = {
777- let cK = bK(Y)
778- let aj = $Tuple2(parseIntValue(cK[z]), parseIntValue(cK[A]))
779- let eh = valueOrElse(getBoolean(ai(aj)), false)
780- let ei = valueOrElse(getBoolean(al()), false)
781- $Tuple2(nil, if (ei)
770+ let cJ = bK(Y)
771+ let aj = $Tuple2(parseIntValue(cJ[z]), parseIntValue(cJ[A]))
772+ let eg = valueOrElse(getBoolean(ai(aj)), false)
773+ let eh = valueOrElse(getBoolean(al()), false)
774+ $Tuple2(nil, if (eh)
782775 then true
783- else eh)
776+ else eg)
784777 }
785778
786779
787780
788781 @Callable(bg)
789782 func getInFeeREADONLY (Y) = {
790- let ej = bW(aA(Y), aB(), 0)
791- $Tuple2(nil, ej)
783+ let ei = bW(aA(Y), aB(), 0)
784+ $Tuple2(nil, ei)
792785 }
793786
794787
795788
796789 @Callable(bg)
797790 func getOutFeeREADONLY (Y) = {
798- let ej = bW(aC(Y), aD(), fraction(10, b, 10000))
799- $Tuple2(nil, ej)
791+ let ei = bW(aC(Y), aD(), fraction(10, b, 10000))
792+ $Tuple2(nil, ei)
800793 }
801794
802795
806799 let bL = split(aE(as(Y)), j)
807800 let ag = bL[1]
808801 let ah = bL[2]
809- let ek = split(aE(af(ag, ah)), j)
810- $Tuple2(nil, parseIntValue(ek[t]))
802+ let ej = split(aE(af(ag, ah)), j)
803+ $Tuple2(nil, parseIntValue(ej[t]))
811804 }
812805
813806
814-@Verifier(el)
815-func em () = {
816- let en = {
807+@Verifier(ek)
808+func el () = {
809+ let em = {
817810 let aZ = bb()
818811 if ($isInstanceOf(aZ, "ByteVector"))
819812 then {
821814 bi
822815 }
823816 else if ($isInstanceOf(aZ, "Unit"))
824- then el.senderPublicKey
817+ then ek.senderPublicKey
825818 else throw("Match error")
826819 }
827- sigVerify(el.bodyBytes, el.proofs[0], en)
820+ sigVerify(ek.bodyBytes, ek.proofs[0], em)
828821 }
829822
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 let be = throw("Test error here")
267267
268268 func bf (bg) = if ((bg.caller == this))
269269 then true
270270 else bd
271271
272272
273273 func bh (bg) = {
274274 let aZ = bb()
275275 if ($isInstanceOf(aZ, "ByteVector"))
276276 then {
277277 let bi = aZ
278278 if ((bg.callerPublicKey == bi))
279279 then true
280280 else bd
281281 }
282282 else if ($isInstanceOf(aZ, "Unit"))
283283 then bf(bg)
284284 else throw("Match error")
285285 }
286286
287287
288288 func bj (bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu], j)
289289
290290
291291 func bv (bk,bl,bm,bn,bo,bp,bq) = makeString(["%s%s%s%s%s%s", bk, bl, bm, bn, bo, bp, bq], j)
292292
293293
294294 func bw (Y,bx,by,bz,bA,bB,bC,bD,bE,bF,bG) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Y, bx, by, bz, bA, toString(bB), toString(bC), toString(bD), toString(bE), toString(bF), bG], j)
295295
296296
297297 func bH (bI,bJ) = makeString(["%d%d", toString(bI), toString(bJ)], j)
298298
299299
300300 func bK (Y) = {
301301 let bL = split(aE(as(Y)), j)
302302 let ag = bL[1]
303303 let ah = bL[2]
304304 split(aE(af(ag, ah)), j)
305305 }
306306
307307
308308 func bM (bN,bO) = {
309309 let bP = valueOrElse(getInteger(this, ad(bN)), 0)
310310 let bQ = valueOrElse(getInteger(this, W()), 0)
311311 let bR = if ((bP == 0))
312312 then {
313313 let bS = (bQ + bO)
314314 $Tuple3(bS, [IntegerEntry(W(), bS), IntegerEntry(ad(bN), bS), StringEntry(ab(bS), bN)], true)
315315 }
316316 else $Tuple3(bP, nil, false)
317317 bR
318318 }
319319
320320
321321 func bT (bg) = {
322322 let bU = split(valueOrElse(getString(Q()), k), j)
323323 if (containsElement(bU, toBase58String(bg.callerPublicKey)))
324324 then true
325325 else {
326326 let bV = bh(bg)
327327 if ((bV == bV))
328328 then true
329329 else throw("Strict value is not equal to itself.")
330330 }
331331 }
332332
333333
334334 func bW (aF,bX,bY) = valueOrElse(getInteger(this, aF), valueOrElse(getInteger(this, bX), bY))
335335
336336
337337 @Callable(bg)
338338 func getLpAssetFromPoolAssetsREADONLY (bZ,ca) = {
339339 let cb = value(getInteger(this, ad(bZ)))
340340 let cc = value(getInteger(this, ad(ca)))
341341 let cd = getString(this, ao(toString(cb), toString(cc)))
342- let ce = if (isDefined(cd))
343- then true
344- else throw("test error string")
345- if ((ce == ce))
346- then {
347- let cf = value(cd)
348- $Tuple2(nil, cf)
349- }
342+ let ce = value(cd)
343+ $Tuple2(nil, ce)
344+ }
345+
346+
347+
348+@Callable(bg)
349+func getPoolAddressFromLpAssetREADONLY (cf) = $Tuple2(nil, getString(this, aw(cf)))
350+
351+
352+
353+@Callable(bg)
354+func constructor (cg,ch,bm,bn,bo,bp,ci,cj) = {
355+ let ck = bh(bg)
356+ if ((ck == ck))
357+ then [StringEntry(I(), bv(cg, ch, bm, bn, bo, bp, ci)), IntegerEntry(U(), cj)]
350358 else throw("Strict value is not equal to itself.")
351359 }
352360
353361
354362
355363 @Callable(bg)
356-func getPoolAddressFromLpAssetREADONLY (cg) = $Tuple2(nil, getString(this, aw(cg)))
357-
358-
359-
360-@Callable(bg)
361-func constructor (ch,ci,bm,bn,bo,bp,cj,ck) = {
362- let cl = bh(bg)
363- if ((cl == cl))
364- then [StringEntry(I(), bv(ch, ci, bm, bn, bo, bp, cj)), IntegerEntry(U(), ck)]
365- else throw("Strict value is not equal to itself.")
366- }
367-
368-
369-
370-@Callable(bg)
371-func constructorV2 (cm) = {
372- let cl = bh(bg)
373- if ((cl == cl))
364+func constructorV2 (cl) = {
365+ let ck = bh(bg)
366+ if ((ck == ck))
374367 then {
375- let cn = addressFromPublicKey(fromBase58String(cm))
376- if ((cn == cn))
377- then [StringEntry(L(), cm)]
368+ let cm = addressFromPublicKey(fromBase58String(cl))
369+ if ((cm == cm))
370+ then [StringEntry(L(), cl)]
378371 else throw("Strict value is not equal to itself.")
379372 }
380373 else throw("Strict value is not equal to itself.")
381374 }
382375
383376
384377
385378 @Callable(bg)
386379 func constructorV3 (br,bs,bt,bu) = {
387- let cl = bh(bg)
388- if ((cl == cl))
380+ let ck = bh(bg)
381+ if ((ck == ck))
389382 then {
390383 let aU = split(aE(I()), j)
391384 [StringEntry(I(), bj(aU[1], aU[2], aU[3], aU[4], aU[5], aU[6], aU[7], br, bs, bt, bu))]
392385 }
393386 else throw("Strict value is not equal to itself.")
394387 }
395388
396389
397390
398391 @Callable(bg)
399-func constructorV4 (co,cp) = {
400- let cl = bh(bg)
401- if ((cl == cl))
402- then [StringEntry(M(), co), StringEntry(N(), makeString(cp, j))]
392+func constructorV4 (cn,co) = {
393+ let ck = bh(bg)
394+ if ((ck == ck))
395+ then [StringEntry(M(), cn), StringEntry(N(), makeString(co, j))]
403396 else throw("Strict value is not equal to itself.")
404397 }
405398
406399
407400
408401 @Callable(bg)
409-func constructorV5 (cq) = {
410- let cl = bh(bg)
411- if ((cl == cl))
412- then [StringEntry(R(), cq)]
402+func constructorV5 (cp) = {
403+ let ck = bh(bg)
404+ if ((ck == ck))
405+ then [StringEntry(R(), cp)]
413406 else throw("Strict value is not equal to itself.")
414407 }
415408
416409
417410
418411 @Callable(bg)
419-func constructorV6 (cr,cs) = {
420- let ct = [bh(bg), if ((addressFromString(cr) != unit))
412+func constructorV6 (cq,cr) = {
413+ let cs = [bh(bg), if ((addressFromString(cq) != unit))
421414 then true
422415 else "invalid voting emission contract address"]
423- if ((ct == ct))
424- then [StringEntry(S(), cr), StringEntry(T(), makeString(cs, j))]
416+ if ((cs == cs))
417+ then [StringEntry(S(), cq), StringEntry(T(), makeString(cr, j))]
425418 else throw("Strict value is not equal to itself.")
426419 }
427420
428421
429422
430423 @Callable(bg)
431-func setManager (cu) = {
432- let cl = bh(bg)
433- if ((cl == cl))
424+func setManager (ct) = {
425+ let ck = bh(bg)
426+ if ((ck == ck))
434427 then {
435- let cv = fromBase58String(cu)
436- if ((cv == cv))
437- then [StringEntry(P(), cu)]
428+ let cu = fromBase58String(ct)
429+ if ((cu == cu))
430+ then [StringEntry(P(), ct)]
438431 else throw("Strict value is not equal to itself.")
439432 }
440433 else throw("Strict value is not equal to itself.")
441434 }
442435
443436
444437
445438 @Callable(bg)
446439 func confirmManager () = {
447- let cw = bc()
448- let cx = if (isDefined(cw))
440+ let cv = bc()
441+ let cw = if (isDefined(cv))
449442 then true
450443 else throw("No pending manager")
451- if ((cx == cx))
444+ if ((cw == cw))
452445 then {
453- let cy = if ((bg.callerPublicKey == value(cw)))
446+ let cx = if ((bg.callerPublicKey == value(cv)))
454447 then true
455448 else throw("You are not pending manager")
456- if ((cy == cy))
457- then [StringEntry(O(), toBase58String(value(cw))), DeleteEntry(P())]
449+ if ((cx == cx))
450+ then [StringEntry(O(), toBase58String(value(cv))), DeleteEntry(P())]
458451 else throw("Strict value is not equal to itself.")
459452 }
460453 else throw("Strict value is not equal to itself.")
461454 }
462455
463456
464457
465458 @Callable(bg)
466-func setAdmins (cz) = {
467- let cl = bh(bg)
468- if ((cl == cl))
469- then [StringEntry(Q(), makeString(cz, j))]
459+func setAdmins (cy) = {
460+ let ck = bh(bg)
461+ if ((ck == ck))
462+ then [StringEntry(Q(), makeString(cy, j))]
470463 else throw("Strict value is not equal to itself.")
471464 }
472465
473466
474467
475468 @Callable(bg)
476-func activateNewPool (Y,bz,bA,cA,cB,cC,bG,cD) = {
477- let cl = bT(bg)
478- if ((cl == cl))
469+func activateNewPool (Y,bz,bA,cz,cA,cB,bG,cC) = {
470+ let ck = bT(bg)
471+ if ((ck == ck))
479472 then if (isDefined(getString(as(Y))))
480473 then throw((("Pool address " + Y) + " already registered."))
481474 else {
482- let cE = bM(bz, 1)
483- let cF = cE._1
484- let cG = bM(bA, if (cE._3)
475+ let cD = bM(bz, 1)
476+ let cE = cD._1
477+ let cF = bM(bA, if (cD._3)
485478 then 2
486479 else 1)
487- let cH = cG._1
488- let cI = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
489- let cJ = getBinaryValue(K())
490- let cK = getString(this, af(toString(cF), toString(cH)))
491- if (isDefined(cK))
480+ let cG = cF._1
481+ let cH = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
482+ let cI = getBinaryValue(K())
483+ let cJ = getString(this, af(toString(cE), toString(cG)))
484+ if (isDefined(cJ))
492485 then throw((((("Pool " + bz) + "/") + bA) + " has already been activated."))
493486 else {
494- let cL = value(getString(this, af(toString(cF), toString(cH))))
495- let cM = if ((bz == "WAVES"))
487+ let cK = value(getString(this, af(toString(cE), toString(cG))))
488+ let cL = if ((bz == "WAVES"))
496489 then i
497490 else pow(10, 0, value(assetInfo(fromBase58String(bz))).decimals, 0, 0, DOWN)
498- let cN = if ((bA == "WAVES"))
491+ let cM = if ((bA == "WAVES"))
499492 then i
500493 else pow(10, 0, value(assetInfo(fromBase58String(bA))).decimals, 0, 0, DOWN)
501- let cO = Issue(cA, cB, 1, 8, true)
502- let by = calculateAssetId(cO)
503- let cP = toBase58String(by)
504- let cQ = invoke(addressFromStringValue(Y), "activate", [bz, bA], nil)
505- if ((cQ == cQ))
506- then if ((cQ != "success"))
494+ let cN = Issue(cz, cA, 1, 8, true)
495+ let by = calculateAssetId(cN)
496+ let cO = toBase58String(by)
497+ let cP = invoke(addressFromStringValue(Y), "activate", [bz, bA], nil)
498+ if ((cP == cP))
499+ then if ((cP != "success"))
507500 then throw("Pool initialisation error happened.")
508501 else {
509- let cq = addressFromStringValue(aE(R()))
510- let cR = invoke(cq, "createOrUpdate", [cP, cA, false], nil)
511- if ((cR == cR))
502+ let cp = addressFromStringValue(aE(R()))
503+ let cQ = invoke(cp, "createOrUpdate", [cO, cz, false], nil)
504+ if ((cQ == cQ))
512505 then {
513- let cS = invoke(cq, "addLabel", [cP, g], nil)
514- if ((cS == cS))
506+ let cR = invoke(cp, "addLabel", [cO, g], nil)
507+ if ((cR == cR))
515508 then {
516- let cT = invoke(cq, "setLogo", [cP, cD], nil)
517- if ((cT == cT))
509+ let cS = invoke(cp, "setLogo", [cO, cC], nil)
510+ if ((cS == cS))
518511 then {
519- let cU = invoke(cq, "addAssetsLink", [bz, bA, cP], nil)
520- if ((cU == cU))
512+ let cT = invoke(cp, "addAssetsLink", [bz, bA, cO], nil)
513+ if ((cT == cT))
521514 then {
522- let cV = invoke(cq, "increaseAssetPoolsNumber", [bz], nil)
523- if ((cV == cV))
524- then $Tuple2(((cE._2 ++ cG._2) ++ [cO, Burn(by, 1), StringEntry(af(toString(cF), toString(cH)), bw(Y, toString(l), cP, bz, bA, cM, cN, cF, cH, i, bG)), StringEntry(am(cP), bH(cF, cH)), StringEntry(ao(toString(cF), toString(cH)), ("%s__" + cP)), StringEntry(as(Y), bH(cF, cH)), StringEntry(au(cF, cH), Y), StringEntry(aw(cP), Y), StringEntry(av(Y), cP), IntegerEntry(X(Y), cC), IntegerEntry(ar(Y), h)]), cP)
515+ let cU = invoke(cp, "increaseAssetPoolsNumber", [bz], nil)
516+ if ((cU == cU))
517+ then $Tuple2(((cD._2 ++ cF._2) ++ [cN, Burn(by, 1), StringEntry(af(toString(cE), toString(cG)), bw(Y, toString(l), cO, bz, bA, cL, cM, cE, cG, i, bG)), StringEntry(am(cO), bH(cE, cG)), StringEntry(ao(toString(cE), toString(cG)), ("%s__" + cO)), StringEntry(as(Y), bH(cE, cG)), StringEntry(au(cE, cG), Y), StringEntry(aw(cO), Y), StringEntry(av(Y), cO), IntegerEntry(X(Y), cB), IntegerEntry(ar(Y), h)]), cO)
525518 else throw("Strict value is not equal to itself.")
526519 }
527520 else throw("Strict value is not equal to itself.")
528521 }
529522 else throw("Strict value is not equal to itself.")
530523 }
531524 else throw("Strict value is not equal to itself.")
532525 }
533526 else throw("Strict value is not equal to itself.")
534527 }
535528 else throw("Strict value is not equal to itself.")
536529 }
537530 }
538531 else throw("Strict value is not equal to itself.")
539532 }
540533
541534
542535
543536 @Callable(bg)
544-func managePool (Y,cW) = {
545- let cl = bh(bg)
546- if ((cl == cl))
537+func managePool (Y,cV) = {
538+ let ck = bh(bg)
539+ if ((ck == ck))
547540 then {
548- let cK = bK(Y)
549- let bx = cK[t]
550- let cP = cK[u]
551- let bz = cK[v]
552- let bA = cK[w]
553- let cM = parseIntValue(cK[x])
554- let cN = parseIntValue(cK[y])
555- let cF = parseIntValue(cK[z])
556- let cH = parseIntValue(cK[A])
557- let cX = parseIntValue(cK[B])
558- let bG = cK[C]
559-[StringEntry(af(toString(cF), toString(cH)), bw(Y, toString(cW), cP, bz, bA, cM, cN, cF, cH, cX, bG))]
541+ let cJ = bK(Y)
542+ let bx = cJ[t]
543+ let cO = cJ[u]
544+ let bz = cJ[v]
545+ let bA = cJ[w]
546+ let cL = parseIntValue(cJ[x])
547+ let cM = parseIntValue(cJ[y])
548+ let cE = parseIntValue(cJ[z])
549+ let cG = parseIntValue(cJ[A])
550+ let cW = parseIntValue(cJ[B])
551+ let bG = cJ[C]
552+[StringEntry(af(toString(cE), toString(cG)), bw(Y, toString(cV), cO, bz, bA, cL, cM, cE, cG, cW, bG))]
560553 }
561554 else throw("Strict value is not equal to itself.")
562555 }
563556
564557
565558
566559 @Callable(bg)
567-func emit (cY) = {
568- let cZ = bg.caller
569- let da = bg.originCaller
570- let db = valueOrErrorMessage(getString(av(toString(cZ))), "Invalid LP address called me.")
571- let dc = fromBase58String(db)
572- let cp = split(valueOrElse(getString(N()), k), j)
573- let co = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
574- if ((0 >= cY))
560+func emit (cX) = {
561+ let cY = bg.caller
562+ let cZ = bg.originCaller
563+ let da = valueOrErrorMessage(getString(av(toString(cY))), "Invalid LP address called me.")
564+ let db = fromBase58String(da)
565+ let co = split(valueOrElse(getString(N()), k), j)
566+ let cn = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
567+ if ((0 >= cX))
575568 then nil
576- else if (containsElement(cp, toString(cZ)))
577- then $Tuple2(nil, co)
578- else $Tuple2([Reissue(dc, cY, true), ScriptTransfer(bg.caller, cY, dc)], "success")
569+ else if (containsElement(co, toString(cY)))
570+ then $Tuple2(nil, cn)
571+ else $Tuple2([Reissue(db, cX, true), ScriptTransfer(bg.caller, cX, db)], "success")
579572 }
580573
581574
582575
583576 @Callable(bg)
584-func burn (dd) = {
585- let cZ = bg.caller
586- let da = bg.originCaller
587- let de = value(bg.payments[0])
588- let df = value(de.amount)
589- let dg = toBase58String(value(de.assetId))
590- let dh = valueOrErrorMessage(getString(av(toString(cZ))), "Invalid LP address called me.")
591- if ((dg != dh))
577+func burn (dc) = {
578+ let cY = bg.caller
579+ let cZ = bg.originCaller
580+ let dd = value(bg.payments[0])
581+ let de = value(dd.amount)
582+ let df = toBase58String(value(dd.assetId))
583+ let dg = valueOrErrorMessage(getString(av(toString(cY))), "Invalid LP address called me.")
584+ if ((df != dg))
592585 then throw("Invalid asset passed.")
593- else if ((dd != df))
586+ else if ((dc != de))
594587 then throw("Invalid amount passed.")
595588 else {
596- let dc = fromBase58String(dh)
597- $Tuple2([Burn(dc, dd)], "success")
589+ let db = fromBase58String(dg)
590+ $Tuple2([Burn(db, dc)], "success")
598591 }
599592 }
600593
601594
602595
603596 @Callable(bg)
604-func modifyWeight (by,di) = {
605- let cl = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, S()), "")))
597+func modifyWeight (by,dh) = {
598+ let ck = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, S()), "")))
606599 then true
607600 else bh(bg)
608- if ((cl == cl))
601+ if ((ck == ck))
609602 then {
610603 let at = aE(aw(by))
611- let dj = X(at)
612- let dk = X(f)
613- let dl = valueOrElse(getInteger(dk), 0)
614- let cC = valueOrElse(getInteger(dj), 0)
615- let dm = di
604+ let di = X(at)
605+ let dj = X(f)
606+ let dk = valueOrElse(getInteger(dj), 0)
607+ let cB = valueOrElse(getInteger(di), 0)
608+ let dl = dh
616609 let aU = split(aE(I()), j)
617- let ch = aW(aU)
618- let dn = invoke(ch, "onModifyWeight", [by, at], nil)
619- if ((dn == dn))
610+ let cg = aW(aU)
611+ let dm = invoke(cg, "onModifyWeight", [by, at], nil)
612+ if ((dm == dm))
620613 then {
621- let do = if ((dl == 0))
614+ let dn = if ((dk == 0))
622615 then nil
623- else [IntegerEntry(dk, 0)]
624- let dp = Z(at, 0)
625- let dq = getInteger(dp)
626- let dr = if ((dq == unit))
616+ else [IntegerEntry(dj, 0)]
617+ let do = Z(at, 0)
618+ let dp = getInteger(do)
619+ let dq = if ((dp == unit))
627620 then nil
628- else [DeleteEntry(dp)]
629- (([IntegerEntry(dj, dm)] ++ do) ++ dr)
621+ else [DeleteEntry(do)]
622+ (([IntegerEntry(di, dl)] ++ dn) ++ dq)
630623 }
631624 else throw("Strict value is not equal to itself.")
632625 }
633626 else throw("Strict value is not equal to itself.")
634627 }
635628
636629
637630
638631 @Callable(bg)
639-func modifyWeights (ds,dt,du,dv) = {
640- let cl = bh(bg)
641- if ((cl == cl))
632+func modifyWeights (dr,ds,dt,du) = {
633+ let ck = bh(bg)
634+ if ((ck == ck))
642635 then {
636+ let dv = ((5 * e) / 100)
643637 let dw = ((5 * e) / 100)
644638 let dx = ((5 * e) / 100)
645- let dy = ((5 * e) / 100)
646639 let aU = split(aE(I()), j)
647- let dz = aW(aU)
648- let dA = aX(aU)
640+ let dy = aW(aU)
641+ let dz = aX(aU)
642+ let dA = X(dr)
649643 let dB = X(ds)
650644 let dC = X(dt)
651645 let dD = X(du)
652- let dE = X(dv)
646+ let dE = aH(dA)
653647 let dF = aH(dB)
654- let dG = aH(dC)
655- let dH = (dF - dy)
656- let dI = (dG - dy)
657- if ((0 >= dH))
658- then throw(("invalid btcWeightNew: " + toString(dH)))
659- else if ((0 >= dI))
660- then throw(("invalid ethWeightNew: " + toString(dI)))
648+ let dG = (dE - dx)
649+ let dH = (dF - dx)
650+ if ((0 >= dG))
651+ then throw(("invalid btcWeightNew: " + toString(dG)))
652+ else if ((0 >= dH))
653+ then throw(("invalid ethWeightNew: " + toString(dH)))
661654 else {
655+ let dI = aE(av(dr))
662656 let dJ = aE(av(ds))
663657 let dK = aE(av(dt))
664658 let dL = aE(av(du))
665- let dM = aE(av(dv))
666- let dN = invoke(dz, "onModifyWeight", [dJ, ds], nil)
667- if ((dN == dN))
659+ let dM = invoke(dy, "onModifyWeight", [dI, dr], nil)
660+ if ((dM == dM))
668661 then {
669- let dO = invoke(dz, "onModifyWeight", [dK, dt], nil)
670- if ((dO == dO))
662+ let dN = invoke(dy, "onModifyWeight", [dJ, ds], nil)
663+ if ((dN == dN))
671664 then {
672- let dP = invoke(dz, "onModifyWeight", [dL, du], nil)
673- if ((dP == dP))
665+ let dO = invoke(dy, "onModifyWeight", [dK, dt], nil)
666+ if ((dO == dO))
674667 then {
675- let dQ = invoke(dz, "onModifyWeight", [dM, dv], nil)
676- if ((dQ == dQ))
677- then [IntegerEntry(dB, dH), IntegerEntry(dC, dI), IntegerEntry(dD, dw), IntegerEntry(dE, dx), IntegerEntry(Z(ds, 0), dF), IntegerEntry(Z(dt, 0), dG), IntegerEntry(Z(du, 0), dw), IntegerEntry(Z(dv, 0), dx)]
668+ let dP = invoke(dy, "onModifyWeight", [dL, du], nil)
669+ if ((dP == dP))
670+ then [IntegerEntry(dA, dG), IntegerEntry(dB, dH), IntegerEntry(dC, dv), IntegerEntry(dD, dw), IntegerEntry(Z(dr, 0), dE), IntegerEntry(Z(ds, 0), dF), IntegerEntry(Z(dt, 0), dv), IntegerEntry(Z(du, 0), dw)]
678671 else throw("Strict value is not equal to itself.")
679672 }
680673 else throw("Strict value is not equal to itself.")
681674 }
682675 else throw("Strict value is not equal to itself.")
683676 }
684677 else throw("Strict value is not equal to itself.")
685678 }
686679 }
687680 else throw("Strict value is not equal to itself.")
688681 }
689682
690683
691684
692685 @Callable(bg)
693686 func checkWxEmissionPoolLabel (ay,az) = {
694- let dR = {
687+ let dQ = {
695688 let aZ = getBoolean(ax(ay, az))
696689 if ($isInstanceOf(aZ, "Boolean"))
697690 then {
698- let dS = aZ
699- dS
691+ let dR = aZ
692+ dR
700693 }
701694 else false
702695 }
703- $Tuple2(nil, dR)
696+ $Tuple2(nil, dQ)
704697 }
705698
706699
707700
708701 @Callable(bg)
709702 func setWxEmissionPoolLabel (ay,az) = {
710- let cl = bT(bg)
711- if ((cl == cl))
703+ let ck = bT(bg)
704+ if ((ck == ck))
712705 then $Tuple2([BooleanEntry(ax(ay, az), true)], unit)
713706 else throw("Strict value is not equal to itself.")
714707 }
715708
716709
717710
718711 @Callable(bg)
719712 func deleteWxEmissionPoolLabel (ay,az) = {
720- let cl = if (bf(bg))
713+ let ck = if (bf(bg))
721714 then true
722715 else bT(bg)
723- if ((cl == cl))
716+ if ((ck == ck))
724717 then $Tuple2([DeleteEntry(ax(ay, az))], unit)
725718 else throw("Strict value is not equal to itself.")
726719 }
727720
728721
729722
730723 @Callable(bg)
731-func onVerificationLoss (dT) = {
732- let cl = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, R()), "")))
724+func onVerificationLoss (dS) = {
725+ let ck = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, R()), "")))
733726 then true
734727 else bh(bg)
735- if ((cl == cl))
728+ if ((ck == ck))
736729 then {
737- let cs = aY()
738- let dU = if ((size(cs) > 0))
730+ let cr = aY()
731+ let dT = if ((size(cr) > 0))
739732 then true
740733 else throw("invalid price assets")
741- if ((dU == dU))
734+ if ((dT == dT))
742735 then {
743- func dV (dW,dX) = {
744- let dY = invoke(this, "deleteWxEmissionPoolLabel", [dT, dX], nil)
745- if ((dY == dY))
736+ func dU (dV,dW) = {
737+ let dX = invoke(this, "deleteWxEmissionPoolLabel", [dS, dW], nil)
738+ if ((dX == dX))
746739 then unit
747740 else throw("Strict value is not equal to itself.")
748741 }
749742
750- let dZ = {
751- let ea = cs
752- let eb = size(ea)
753- let ec = unit
754- func ed (ee,ef) = if ((ef >= eb))
755- then ee
756- else dV(ee, ea[ef])
743+ let dY = {
744+ let dZ = cr
745+ let ea = size(dZ)
746+ let eb = unit
747+ func ec (ed,ee) = if ((ee >= ea))
748+ then ed
749+ else dU(ed, dZ[ee])
757750
758- func eg (ee,ef) = if ((ef >= eb))
759- then ee
751+ func ef (ed,ee) = if ((ee >= ea))
752+ then ed
760753 else throw("List size exceeds 4")
761754
762- eg(ed(ed(ed(ed(ec, 0), 1), 2), 3), 4)
755+ ef(ec(ec(ec(ec(eb, 0), 1), 2), 3), 4)
763756 }
764- if ((dZ == dZ))
757+ if ((dY == dY))
765758 then $Tuple2(nil, unit)
766759 else throw("Strict value is not equal to itself.")
767760 }
768761 else throw("Strict value is not equal to itself.")
769762 }
770763 else throw("Strict value is not equal to itself.")
771764 }
772765
773766
774767
775768 @Callable(bg)
776769 func isPoolOneTokenOperationsDisabledREADONLY (Y) = {
777- let cK = bK(Y)
778- let aj = $Tuple2(parseIntValue(cK[z]), parseIntValue(cK[A]))
779- let eh = valueOrElse(getBoolean(ai(aj)), false)
780- let ei = valueOrElse(getBoolean(al()), false)
781- $Tuple2(nil, if (ei)
770+ let cJ = bK(Y)
771+ let aj = $Tuple2(parseIntValue(cJ[z]), parseIntValue(cJ[A]))
772+ let eg = valueOrElse(getBoolean(ai(aj)), false)
773+ let eh = valueOrElse(getBoolean(al()), false)
774+ $Tuple2(nil, if (eh)
782775 then true
783- else eh)
776+ else eg)
784777 }
785778
786779
787780
788781 @Callable(bg)
789782 func getInFeeREADONLY (Y) = {
790- let ej = bW(aA(Y), aB(), 0)
791- $Tuple2(nil, ej)
783+ let ei = bW(aA(Y), aB(), 0)
784+ $Tuple2(nil, ei)
792785 }
793786
794787
795788
796789 @Callable(bg)
797790 func getOutFeeREADONLY (Y) = {
798- let ej = bW(aC(Y), aD(), fraction(10, b, 10000))
799- $Tuple2(nil, ej)
791+ let ei = bW(aC(Y), aD(), fraction(10, b, 10000))
792+ $Tuple2(nil, ei)
800793 }
801794
802795
803796
804797 @Callable(bg)
805798 func getPoolStatusREADONLY (Y) = {
806799 let bL = split(aE(as(Y)), j)
807800 let ag = bL[1]
808801 let ah = bL[2]
809- let ek = split(aE(af(ag, ah)), j)
810- $Tuple2(nil, parseIntValue(ek[t]))
802+ let ej = split(aE(af(ag, ah)), j)
803+ $Tuple2(nil, parseIntValue(ej[t]))
811804 }
812805
813806
814-@Verifier(el)
815-func em () = {
816- let en = {
807+@Verifier(ek)
808+func el () = {
809+ let em = {
817810 let aZ = bb()
818811 if ($isInstanceOf(aZ, "ByteVector"))
819812 then {
820813 let bi = aZ
821814 bi
822815 }
823816 else if ($isInstanceOf(aZ, "Unit"))
824- then el.senderPublicKey
817+ then ek.senderPublicKey
825818 else throw("Match error")
826819 }
827- sigVerify(el.bodyBytes, el.proofs[0], en)
820+ sigVerify(ek.bodyBytes, ek.proofs[0], em)
828821 }
829822

github/deemru/w8io/fabc49c 
169.81 ms