Ethereum

0x6271632aa27121dfd5c73090178d70e2ae4527cc

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

Decompilation outputEthereum · 0x6271632a…ae4527cc8.5 KB17.2 s
Share
296 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: generated symbolic output exceeded safe postprocessing limits for 1 of 12 entry points; ABI and selector evidence were preserved but those Solidity bodies were omitted: 575e24b4// SPDX-License-Identifier: MIT  >=0.8.0;  {     ( ,  ,  ) ;}  {        = 29980630092826614319206433435222457747717709867126219504177337370434026340352;        = 1;         ; // STORAGE[0xb8a6b6e550646a13514300701ab6f7229f359cb2b48c87146f8758b4558680c3]     ; // STORAGE[0xb8a6b6e550646a13514300701ab6f7229f359cb2b48c87146f8758b4558680c6]    ( => ) ;    ( => ) ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;         ();     ();     ();     ();     ();     ();     ();     ();     ();     ();     ();     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }    ()   {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x259982e5)) {            // Route to Unknown_259982e5(address,bytes) after replacing only msg.sig.            ((0x16c6169a));            ;        }         ((.. >= 4) && (. == 0x575e24b4)) {            // Route to Unknown_575e24b4(address,address,address,uint24,uint256,bool,uint256,bytes) after replacing only msg.sig.            ((0x8e11cfbe));            ;        }         ((.. >= 4) && (. == 0xb47b2fb1)) {            // Route to Unknown_b47b2fb1(address,uint256,bytes) after replacing only msg.sig.            ((0xecbe341d));            ;        }         ((.. >= 4) && (. == 0xb6a8b0fa)) {            // Route to Unknown_b6a8b0fa(address,uint256,uint256,bytes) after replacing only msg.sig.            ((0x4759fe67));            ;        }         ((.. >= 4) && (. == 0xdc98354e)) {            // Route to Unknown_dc98354e(address,address) after replacing only msg.sig.            ((0x7ae78782));            ;        }        ();    }             ( )   {        ();    }         ( )    () {        ( == ( & 0xffffffff00000000000000000000000000000000000000000000000000000000));          = 0x684fb2c900000000000000000000000000000000000000000000000000000000 == ( & 0xffffffff00000000000000000000000000000000000000000000000000000000);         (0x684fb2c900000000000000000000000000000000000000000000000000000000 != ( & 0xffffffff00000000000000000000000000000000000000000000000000000000)) {             = ( & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x1ffc9a700000000000000000000000000000000000000000000000000000000;        }         ;    }         ( ,   )   {        (!((.. - 0x24) < 0xa0));        (!(((.. - 0x04) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40) < 0x80));        (!(((0x04 + ) +  + 0x20) > ..));         ();    }         ( ,  ,  ,  ,  ,  ,  ,   )    ( ) {        // Function body omitted: symbolic output exceeded safe complexity limits.         { (0, 0) }    }         (  )    ( ) {        (!(((0x04 + ) +  + 0x20) > ..));        (. == (), ());        (!(( / 0x010000000000000000000000000000000000000000)), ());        ( ,   ) = ().(); // delegatecall          = 0x60;         (. != 0) {             ;             =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));             = ;        }        ();         .(0x20, );    }         ()    ( ) {         ;         =  + 0x0120;         (!(0x07 < .)) (50);         (!(0x06 < .)) (50);         (!(0x05 < .)) (50);         (!(0x04 < .)) (50);         (!(0x03 < .)) (50);         (!(0x02 < .)) (50);         (!(0x01 < .)) (50);         (!(0 < .)) (50);        (0x0 == 0x0, "BHook: routes_ length mismatch");          = 0;          =  + 0x40;          =  + 0x20;         () {             (!( < .)) {                ;            }             = 0x01 + ;             =  + 0x20;             = 0x20 + ;        }         .(0x20, ., (0xffffffff00000000000000000000000000000000000000000000000000000000) & );    }         ( ,  ,   )    ( ) {        (!((.. - 0x24) < 0xa0));        (!((.. - 0xc4) < 0x60));        (!(((0x04 + ) +  + 0x20) > ..));         .(0xb47b2fb100000000000000000000000000000000000000000000000000000000, (0));    }         ( ,  ,  ,   )   {        (!((.. - 0x24) < 0xa0));        (!(((0x04 + ) +  + 0x20) > ..));         ();    }         ( ,  )   {        (. == (), ());         (!(([] / 0x010000000000000000000000000000000000000000))) {        }        (((0xff & [] / 0x10000000000000000000000000000000000000000) != 0x0 && (0xff & [] / 0x10000000000000000000000000000000000000000) == 0x0 || (0xff & [] / 0x10000000000000000000000000000000000000000) == 0x0 && (0xff &  / 0x10000000000000000000000000000000000000000) == 0x0), ());         () {             = 0;            (.. != 0x0);            ( ,   ) = .((), , ); // call            ();            (.. != 0x0);            ().(, (), );        }         () {             = 0;            (.. != 0x0);            ( ,   ) = .((), , ); // call            ();            (.. != 0x0);            ().((), (), );             (0x0 != ) {                ( < 0x100000000000000000000000000000000, ());                 = (( + ( / 0x0100000000000000000000000000000000)) * 0x0100000000000000000000000000000000) | (());            }        }    }         ( ,  )    () {        (!((.. - 0x24) < 0xa0));        (. == (), ());        (() == , ());         0xdc98354e00000000000000000000000000000000000000000000000000000000;    }         ( )  {        // Decompilation incomplete: helper effect provenance is conservative.         = ;         (!()) {             = ;             = 0x01;              = (!(([] / 0x010000000000000000000000000000000000000000)));             (!(([] / 0x010000000000000000000000000000000000000000))) {                 = (!(( / 0x010000000000000000000000000000000000000000)));            }            (, ());             (( != (0)) && ( != 0x0)) {                  = !();                 (!()) {                     = !();                }                 (!) {                    ( ,   ) = .(0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23); // staticcall                    ();                     ;                     =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    (( + .) -  >= 0x20);                     (. == 0) {                         = 0x64 + ;                        ( ,   ) = .(0x20); // call                        ();                         =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f));                        (( + .) -  >= 0x20);                        (!( > 0xffffffffffffffff));                        (( + .) > (( + ) + 0x1f));                         ( > 0xffffffffffffffff) (65);                         ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65);                         =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) + 0x1f));                        (!((( + ) +  + 0x20) > ( + .)));                    }                }            }             = ;             = 0;        }  {            (() == ., ());              = (!(([] / 0x010000000000000000000000000000000000000000)));             (!(([] / 0x010000000000000000000000000000000000000000))) {                 = (!(( / 0x010000000000000000000000000000000000000000)));            }            (, ());             (( != (0)) && ( != 0x0)) {                  = !();                 (!()) {                     = !();                }                 (!) {                    ( ,   ) = .(0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23); // staticcall                    ();                     =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    (( + .) -  >= 0x20);                     (. == 0) {                         = 0x64 + ;                        ( ,   ) = .(0x20); // call                        ();                         =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f));                        (( + .) -  >= 0x20);                        (!( > 0xffffffffffffffff));                        (( + .) > (( + ) + 0x1f));                         ( > 0xffffffffffffffff) (65);                         ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65);                         =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) + 0x1f));                        (!((( + ) +  + 0x20) > ( + .)));                    }                }            }        }    }         ( )  {         {              := (0x40)            (, 0, ())            (, (((), 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff), (224, (, 0xffffffff))))              := ((), (), , (), 0, 0)              := ()            (, 0, )                          0 { (, ) }             { (, ) }        }    }        // 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.        // 0x01681a62 => sweep(address)    // 0x01ffc9a7 => supportsInterface(bytes4)    // 0x0f38d8c3 => LABEL()    // 0x259982e5 => Unknown_259982e5(address,bytes)    // 0x575e24b4 => Unknown_575e24b4(address,address,address,uint24,uint256,bool,uint256,bytes)    // 0x91dd7346 => unlockCallback(bytes)    // 0x99290ed9 => ROUTES()    // 0xb47b2fb1 => Unknown_b47b2fb1(address,uint256,bytes)    // 0xb6a8b0fa => Unknown_b6a8b0fa(address,uint256,uint256,bytes)    // 0xc9f8f37c => executeSweep(address,uint256)    // 0xdc98354e => Unknown_dc98354e(address,address)    // 0xffa1ad74 => VERSION()}
0x627163…4527cc on Ethereum — Decompiled Solidity