Ethereum

0x677a158660aa63166ebb9ed3778e985b0663a2b5

Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.

Decompilation outputEthereum · 0x677a1586…0663a2b513.7 KB108.2 s
Share
453 lines · Click a variable or keyword to highlight its references · Click a line number to copy its link; Shift-click to copy a block link
//decompiled by exvvul decompiler tool contact@exvul.com https://x.com/exvulsec// Decompilation incomplete: symbolic execution reached a configured deadline for 2 of 14 entry points (170000 ms contract budget): 1bce6ff3, d56b2889// SPDX-License-Identifier: MIT  >=0.8.0;  {        = (0x7cb20517776636ed76b68edb3d99dcce356abf02);        = 427010455897460950742997054519178949602785163006;        = 141544111700607890381312766724559244351629060123;        = 74218982313005881035771074163464080211373479191108287201108386762747086901067;        = (0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a);        = 25983595256297482361551155215412822257609063343699447623163668577291427005199;        = 623933646057717597702919310231602434970510892507;        = 280889006007085918629621869807346232775738397032;         ; // STORAGE[0x3]      ; // STORAGE[0x4]     ; // STORAGE[0x5]     ; // STORAGE[0x6]    [] ; // STORAGE[0x7]    [] ; // STORAGE[0x8]         ();     ();     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }         ()   {         (!(.) && !((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + ..) < 0) && . == 0x18cb0eb73d953ed20f2157ce6bde2a85e30e681b && () == 0x01 && ( >> 0x08)) {            (0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a).(); // staticcall        }    }         ()    () {         ();    }         ()  {        (. == 0x18cb0eb73d953ed20f2157ce6bde2a85e30e681b, ());          = .[0] >> 0xe0;         (() != 0x01) {             = ;        }        ((( & 0xff) == 0x1 && ((0x8, ) & 0xff) == 0x0), ());        ( ,   ) = (0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a).(); // staticcall        ();         () {             ;             (0x20 > .) {                 ((( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                ((( + .) - ) >= 0x20);                (. == .);                (. != 0x0, ());                ( ,   ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall                ();                  = .[0] >> 0xe0;                  = .;                 () {                      = .;                     (0x20 <= .) {                         = 0x20;                    }                     ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                     =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    ((( + ) - ) >= 0x20);                    (. == ((.)));                }  {                     = ;                     = 0;                }                ( ,   ) = .(.((0x70a08231), 0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a)); // staticcall balanceOf                ();                  = .[0] >> 0xe0;                  = .;                 () {                      = .;                     (0x20 <= .) {                         = 0x20;                    }                     ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                     =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    ((( + ) - ) >= 0x20);                }  {                     = ;                     = 0;                }                (!(), ());                ( ,   ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall                ();                  = .[0] >> 0xe0;                  = .;                 () {                      = .;                     (0x20 <= .) {                         = 0x20;                    }                     ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                     =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    ((( + ) - ) >= 0x20);                }  {                     = ;                     = 0;                }                ( == , ());                ( ,   ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall                ();                  = .[0] >> 0xe0;                  = .;                 () {                      = .;                     (0x20 <= .) {                         = 0x20;                    }                     ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                     =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    ((( + ) - ) >= 0x20);                }  {                     = ;                     = 0;                }                ( == , ());                  = 0;                 () {                     (0x01 == 0) {                         = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & );                    }                     (!( < .)) {                         = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & );                        ;                    }                     (!( < .)) {                        (50);                        ;                    }                    ( ,   ) = ([] >> 0).(0x4acbcfa29fb085097c5f31783403ef7a7930f6fe); // staticcall                     (!) {                        ();                        ;                    }                     () {                          = .;                         (0x20 <= .) {                             = 0x20;                        }                         ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) {                            (65);                            ;                        }                         =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                         ((( + ) - ) < 0x20) {                            ();                            ;                        }                         (!( < .)) {                            (50);                            ;                        }                        [] = (0 & []) | (. << 0);                    }  {                         (!( < .)) {                            (50);                            ;                        }                        [] = (0 & []) | 0;                    }                     ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {                        (17);                        ;                    }                     = 0x01 + ;                }            }  {                 ((( + 0x20) > 0xffffffffffffffff) | (( + 0x20) < )) (65);                 =  + 0x20;                ((( + 0x20) - ) >= 0x20);                (. == .);                (. != 0x0, ());                ( ,   ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall                ();                  = .[0] >> 0xe0;                  = .;                 () {                      = .;                     (0x20 <= .) {                         = 0x20;                    }                     ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                     =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    ((( + ) - ) >= 0x20);                    (. == ((.)));                }  {                     = ;                     = 0;                }                ( ,   ) = .(.((0x70a08231), 0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a)); // staticcall balanceOf                ();                  = .[0] >> 0xe0;                  = .;                 () {                      = .;                     (0x20 <= .) {                         = 0x20;                    }                     ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                     =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    ((( + ) - ) >= 0x20);                }  {                     = ;                     = 0;                }                (!(), ());                ( ,   ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall                ();                  = .[0] >> 0xe0;                  = .;                 () {                      = .;                     (0x20 <= .) {                         = 0x20;                    }                     ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                     =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    ((( + ) - ) >= 0x20);                }  {                     = ;                     = 0;                }                ( == , ());                ( ,   ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall                ();                  = .[0] >> 0xe0;                  = .;                 () {                      = .;                     (0x20 <= .) {                         = 0x20;                    }                     ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                     =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    ((( + ) - ) >= 0x20);                }  {                     = ;                     = 0;                }                ( == , ());                  = 0;                 () {                     (0x01 == 0) {                         = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & );                    }                     (!( < .)) {                         = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & );                        ;                    }                     (!( < .)) {                        (50);                        ;                    }                    ( ,   ) = ([] >> 0).(0x4acbcfa29fb085097c5f31783403ef7a7930f6fe); // staticcall                     (!) {                        ();                        ;                    }                     () {                          = .;                         (0x20 <= .) {                             = 0x20;                        }                         ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) {                            (65);                            ;                        }                         =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                         ((( + ) - ) < 0x20) {                            ();                            ;                        }                         (!( < .)) {                            (50);                            ;                        }                        [] = (0 & []) | (. << 0);                    }  {                         (!( < .)) {                            (50);                            ;                        }                        [] = (0 & []) | 0;                    }                     ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {                        (17);                        ;                    }                     = 0x01 + ;                }            }        }  {            (0, ());            ( ,   ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall            ();              = .[0] >> 0xe0;              = .;             () {                  = .;                 (0x20 <= .) {                     = 0x20;                }                 ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                ((( + ) - ) >= 0x20);                (. == ((.)));            }  {                 = ;                 = 0;            }            ( ,   ) = .(.((0x70a08231), 0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a)); // staticcall balanceOf            ();              = .[0] >> 0xe0;              = .;             () {                  = .;                 (0x20 <= .) {                     = 0x20;                }                 ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                ((( + ) - ) >= 0x20);            }  {                 = ;                 = 0;            }            (!(), ());            ( ,   ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall            ();              = .[0] >> 0xe0;              = .;             () {                  = .;                 (0x20 <= .) {                     = 0x20;                }                 ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                ((( + ) - ) >= 0x20);            }  {                 = ;                 = 0;            }            ( == , ());            ( ,   ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall            ();              = .[0] >> 0xe0;              = .;             () {                  = .;                 (0x20 <= .) {                     = 0x20;                }                 ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                ((( + ) - ) >= 0x20);            }  {                 = ;                 = 0;            }            ( == , ());              = 0;             () {                 (0x01 == 0) {                     = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & );                }                 (!( < .)) {                     = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & );                    ;                }                 (!( < .)) {                    (50);                    ;                }                ( ,   ) = ([] >> 0).(0x4acbcfa29fb085097c5f31783403ef7a7930f6fe); // staticcall                 (!) {                    ();                    ;                }                 () {                      = .;                     (0x20 <= .) {                         = 0x20;                    }                     ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) {                        (65);                        ;                    }                     =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                     ((( + ) - ) < 0x20) {                        ();                        ;                    }                     (!( < .)) {                        (50);                        ;                    }                    [] = (0 & []) | (. << 0);                }  {                     (!( < .)) {                        (50);                        ;                    }                    [] = (0 & []) | 0;                }                 ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {                    (17);                    ;                }                 = 0x01 + ;            }        }    }         ()    () {         !(!(( >> 0x08)));    }         ()   {         (!(.) && !((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + ..) < 0) && . == 0x18cb0eb73d953ed20f2157ce6bde2a85e30e681b && !(())) {            (0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a).(); // staticcall        }    }        // Note: This selector table is synthetic and is not part of the original Solidity source.    // It records the recovered selector-to-signature mapping without executable behavior.        // 0x04c4663e => retiredDeployer()    // 0x105bf2c4 => newRouter()    // 0x1bce6ff3 => begin()    // 0x26e31300 => startingLegacyCash()    // 0x40fb6e0d => legacyCashHandled()    // 0x4d573ba2 => verifyLegacyCashHandled()    // 0x7c43ca99 => retirementConfigHash()    // 0x964c1f98 => oldRouter()    // 0xad81cffe => replacementCodeHash()    // 0xb1c9fe6e => phase()    // 0xd33219b4 => timelock()    // 0xd56b2889 => finish()    // 0xd8dfeb45 => collateral()    // 0xfc0c546a => token()}
0x677a15…63a2b5 on Ethereum — Decompiled Solidity