Ethereum

0xea18b13d11f705a68f0954f637949e1eaa7ac4ca

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

Decompilation outputEthereum · 0xea18b13d…aa7ac4ca6.9 KB10.1 s
Share
779 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// SPDX-License-Identifier: MIT  >=0.8.0;  {        = (0xcb14a7ace59b7a7b19ba3fee0f3a37d23fa62157);          ; // STORAGE[0x0]     ; // STORAGE[0x1]      ; // STORAGE[0x2]    [] ; // STORAGE[0x3]    ( => ) ; // STORAGE[0x4]      ; // STORAGE[0x5]    ( => ) ;    ( => ) ;     ;     ;     ;     ;     ;         (, );     ( ,  );     ();     ();     ();     ();     ();     ();     ();     ();     ();     ();     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }    ()   {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x00000014)) {            // Route to Unknown_00000014() after replacing only msg.sig.            ((0x606bb9e4));            ;        }         ((.. >= 4) && (. == 0x00000020)) {            // Route to Unknown_00000020(address,bool) after replacing only msg.sig.            ((0xaa60497c));            ;        }         ((.. >= 4) && (. == 0x00000024)) {            // Route to Unknown_00000024(address) after replacing only msg.sig.            ((0x62afd32f));            ;        }         ((.. >= 4) && (. == 0x0000002b)) {            // Route to Unknown_0000002b() after replacing only msg.sig.            ((0x744023c7));            ;        }         ((.. >= 4) && (. == 0x00000033)) {            // Route to Unknown_00000033(address) after replacing only msg.sig.            ((0x1c78ef5c));            ;        }         ((.. >= 4) && (. == 0x00000042)) {            // Route to Unknown_00000042(uint256) after replacing only msg.sig.            ((0xd1b8f334));            ;        }         ((.. >= 4) && (. == 0x0000004f)) {            // Route to Unknown_0000004f() after replacing only msg.sig.            ((0xb043380d));            ;        }         ((.. >= 4) && (. == 0x00000055)) {            // Route to Unknown_00000055() after replacing only msg.sig.            ((0x6bf1cd0c));            ;        }         ((.. >= 4) && (. == 0x0000005d)) {            // Route to Unknown_0000005d(bytes,bytes,address,bytes) after replacing only msg.sig.            ((0xcc106bc0));            ;        }         ((.. >= 4) && (. == 0x00000069)) {            // Route to Unknown_00000069() after replacing only msg.sig.            ((0x874657c0));            ;        }         ((.. >= 4) && (. == 0x00000083)) {            // Route to Unknown_00000083() after replacing only msg.sig.            ((0x074a3cb4));            ;        }         ((.. >= 4) && (. == 0x0000009d)) {            // Route to Unknown_0000009d() after replacing only msg.sig.            ((0x7768feae));            ;        }         ((.. >= 4) && (. == 0x000000b9)) {            // Route to Unknown_000000b9() after replacing only msg.sig.            ((0x6326c841));            ;        }         ((.. >= 4) && (. == 0x000000df)) {            // Route to Unknown_000000df(bytes,bytes,address,bytes) after replacing only msg.sig.            ((0x4c0bea65));            ;        }         ((.. >= 4) && (. == 0x000000f2)) {            // Route to Unknown_000000f2(address) after replacing only msg.sig.            ((0x3c9147c4));            ;        }        ();    }             ()    ( ) {         0x20;    }         ( ,  )   {        (, );    }         ( )    () {         !(!( == ));    }         ()   {        ( ,   ) = .(.); // staticcall        ();         ;         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (!((( + .) - ) < 0x20));        (. == (. != 0x0));        ( != 0x0, "Module: only safe can pause");        (!(( / 0x010000000000000000000000000000000000000000)), "Pausable: paused");         = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & );         (.);    }         ( )   {        (. == , ());         (, );         = ;    }         ( )   {        (. == , ());         = () ? 1 : 0;         ();    }         ()    ( ) {         (. > 0xffffffffffffffff) (65);         ;         =  + (0x20 + (0x20 * .));         (. != 0) {        }          = 0;         () {             ( >= .) {                ;            }             (!( < .)) (50);             (!( < .)) (50);             = 0x01 + ;        }          = 0;          =  + 0x40;          = 0x20 + ;         () {             (!( < .)) {                ;            }             = 0x01 + ;             = 0x20 + ;             = 0x20 + ;        }         .(0x20, .);    }         ()   {        ( ,   ) = .(.); // staticcall        ();         ;         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (!((( + .) - ) < 0x20));        (. == (. != 0x0));        ( != 0x0, "Module: only safe can unpause");        (( / 0x010000000000000000000000000000000000000000) != 0x0, "Pausable: not paused");         = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & ;         (.);    }         (  ,   ,  ,   )    () {        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));         (!(. <= 0xffffffffffffffff)) (65);         ;         ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) > 0xffffffffffffffff)) (65);         =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f));        (!((0x20 + ((0x04 + ) + (. << 0x05))) > ..));          = (0x04 + ) + 0x20;          = ;          =  + 0x20;          = 0x20;          = 0x20 + ((0x04 + ) + (. << 0x05));          = 0;          = 0x04 + ;          = ..;         () {             ( >= ) {                ;            }            (!(.[] > 0xffffffffffffffff));            ( > (( + .[]) + 0x3f));             (!((.[( + .[]) + ]) <= 0xffffffffffffffff)) (65);             ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f))) > 0xffffffffffffffff)) (65);             =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f));            (!((( + .[]) + (.[( + .[]) + ]) + 0x40) > ));             =  + ;             = ;             =  + ;             = ;             = ;             = ;             = ;             = ;            ( == ( & 0xffffffffffffffffffffffffffffffff));             (!(. <= 0xffffffffffffffff)) (65);             ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) > 0xffffffffffffffff)) (65);             =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f));            (!((0x20 + ((0x04 + ) + (. << 0x05))) > ..));              = (0x04 + ) + 0x20;              = ;              =  + 0x20;              = 0x20;              = 0x20 + ((0x04 + ) + (. << 0x05));              = 0;              = 0x04 + ;              = ..;             () {                 ( >= ) {                    ;                }                 =  + ;                 = ;                 =  + ;                 = ;                 = ;                 = ;                 = ;                 = ;                ([.], ());                (!(( / 0x010000000000000000000000000000000000000000)), "Pausable: paused");                (. <= 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);                 = (. << 0x05) + (0x20 + );                 (( & 0xffffffffffffffffffffffffffffffff) != 0x0) {                      = 0x60;                      = 0;                     () {                         (!(0 < )) {                            ;                        }                          = ;                         (( & (0x80000000000000000000000000000000 >> (())))) {                             (!(() < )) (50);                              = 0;                             () {                                 ( >= ) {                                    ;                                }                                 = 0x20 + ;                                  = 0;                                 () {                                     ( >= ) {                                        ;                                    }                                     = 0x20 + ;                                     =  + ((0x20 + ) + );                                }                            }                             = ;                        }                         = ;                         = 0x01 + ;                    }                     = 0x80 + ;                     = 0x20 + (0x20 + );                      = 0;                      = (.((.((), (()), ()))));                      = 0;                      = (.((.((), (()), ()))));                      = ;                     () {                         ( >= ) {                            ;                        }                          = (.(, ()));                         ( < ) {                        }  {                             = (.(, ));                        }                         (!((0x01 + ) < )) {                            ;                        }                          = (.(, ()));                         ( < ) {                        }  {                             = (.(, ));                        }                         = 0x01 + (0x01 + );                         = ;                         = ;                         = ;                         = ;                        ( == , ());                        (. <= 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);                          = 0;                          =  + 0x20;                          = ((0x24 + ) + (. << 0x05)) + 0x80;                          = ((0x24 + ) + (. << 0x05) + ( << 0x05)) + 0x80;                         ;                         () {                              = ;                              = ;                              = ;                             = ;                             (!( < )) {                                ;                            }                              = 0;                             () {                                  = ;                                 ( >= ) {                                    ;                                }                                 (0x20 +  >= ) {                                    ;                                }                                 = 0x20 + (0x20 + );                                 = 0x20 + ;                            }                             (!((0x01 + ) < )) {                                ;                            }                             (0x0 >= ) {                            }  {                            }                             = 0x01 + (0x01 + );                             = 0x20 + (0x20 + );                             = 0x20 + (0x20 + );                             = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + )));                             = 0x01 + ;                             = 0x20 + ;                             = 0x20 + ;                             = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + );                        }                         = ;                          = 0;                         () {                              = ;                             ( >= ) {                                ;                            }                             (0x20 +  >= ) {                                ;                            }                             = 0x20 + (0x20 + );                             = 0x20 + ;                        }                         (!(0x01 < 0x2)) (33);                        ( ,   ) = .((0xcb14a7ace59b7a7b19ba3fee0f3a37d23fa62157), 0, 0x80, 0x01); // call                        ();                         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                        (( + .) -  >= 0x20);                        (. == (. != 0x0));                         .;                    }                    ( == , ());                    (!(. > 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff));                      = 0;                      =  + 0x20;                      = ((0x24 + ) + (. << 0x05)) + 0x80;                      = ((0x24 + ) + (. << 0x05) + ( << 0x05)) + 0x80;                     () {                         (!( < )) {                            ;                        }                          = 0;                         () {                             ( >= ) {                                ;                            }                             = 0x20 + ;                             = 0x01 + ;                             = 0x20 + ;                             = 0x20 + ;                             = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + );                        }                    }                     = ;                      = 0;                     () {                          = ;                         ( >= ) {                            ;                        }                         (0x20 +  >= ) {                            ;                        }                         = 0x20 + (0x20 + );                         = 0x20 + ;                    }                     (!(0x1 < 0x2)) (33);                    .(0xcb14a7ace59b7a7b19ba3fee0f3a37d23fa62157, 0, 0x80, 0x01); // call                }  {                     = 0x80 + ;                     = 0x20 + (0x20 + );                      = 0;                      = (.((.((), 0, ()))));                      = 0;                      = (.((.((), 0, ()))));                      = ;                     () {                         ( >= ) {                            ;                        }                          = (.(, ()));                         ( < ) {                        }  {                             = (.(, ));                        }                         (!((0x01 + ) < )) {                            ;                        }                          = (.(, ()));                         ( < ) {                        }  {                             = (.(, ));                        }                         = 0x01 + (0x01 + );                         = ;                         = ;                         = ;                         = ;                        ( == , ());                        (. <= 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);                          = 0;                          =  + 0x20;                          = ((0x24 + ) + (. << 0x05)) + 0x80;                          = ((0x24 + ) + (. << 0x05) + ( << 0x05)) + 0x80;                         ;                         () {                              = ;                              = ;                              = ;                             = ;                             (!( < )) {                                ;                            }                              = 0;                             () {                                  = ;                                 ( >= ) {                                    ;                                }                                 (0x20 +  >= ) {                                    ;                                }                                 = 0x20 + (0x20 + );                                 = 0x20 + ;                            }                             (!((0x01 + ) < )) {                                ;                            }                             (0x0 >= ) {                            }  {                            }                             = 0x01 + (0x01 + );                             = 0x20 + (0x20 + );                             = 0x20 + (0x20 + );                             = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + )));                             = 0x01 + ;                             = 0x20 + ;                             = 0x20 + ;                             = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + );                        }                         = ;                          = 0;                         () {                              = ;                             ( >= ) {                                ;                            }                             (0x20 +  >= ) {                                ;                            }                             = 0x20 + (0x20 + );                             = 0x20 + ;                        }                         (!(0x01 < 0x2)) (33);                        ( ,   ) = .((0xcb14a7ace59b7a7b19ba3fee0f3a37d23fa62157), 0, 0x80, 0x01); // call                        ();                         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                        (( + .) -  >= 0x20);                        (. == (. != 0x0));                         .;                    }                    ( == , ());                    (!(. > 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff));                      = 0;                      =  + 0x20;                      = ((0x24 + ) + (. << 0x05)) + 0x80;                      = ((0x24 + ) + (. << 0x05) + ( << 0x05)) + 0x80;                     () {                         (!( < )) {                            ;                        }                          = 0;                         () {                             ( >= ) {                                ;                            }                             = 0x20 + ;                             = 0x01 + ;                             = 0x20 + ;                             = 0x20 + ;                             = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + );                        }                    }                     = ;                      = 0;                     () {                          = ;                         ( >= ) {                            ;                        }                         (0x20 +  >= ) {                            ;                        }                         = 0x20 + (0x20 + );                         = 0x20 + ;                    }                     (!(0x1 < 0x2)) (33);                    .(0xcb14a7ace59b7a7b19ba3fee0f3a37d23fa62157, 0, 0x80, 0x01); // call                }                ();                 =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                (!((( + .) - ) < 0x20));                (. == (. != 0x0));                 .;            }        }    }         ()   {        (. == (()), ());         = ( & (0xffffffffffffffffffffffffffffffffffffffff)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & );         =  & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000);         ();    }         ()    () {         !(!(( / 0x010000000000000000000000000000000000000000)));    }         ()    () {         ();    }         ()    ( ) {         0x20;    }         (  ,   ,  ,   )   {        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));         (!(. <= 0xffffffffffffffff)) (65);         ;         ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) > 0xffffffffffffffff)) (65);         =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f));        (!((0x20 + ((0x04 + ) + (. << 0x05))) > ..));          = (0x04 + ) + 0x20;          = ;          =  + 0x20;          = 0x20;          = 0x20 + ((0x04 + ) + (. << 0x05));          = 0;          = 0x04 + ;          = ..;         () {             ( >= ) {                ;            }            (!(.[] > 0xffffffffffffffff));            ( > (( + .[]) + 0x3f));             (!((.[( + .[]) + ]) <= 0xffffffffffffffff)) (65);             ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f))) > 0xffffffffffffffff)) (65);             =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f));            (!((( + .[]) + (.[( + .[]) + ]) + 0x40) > ));             =  + ;             = ;             =  + ;             = ;             = ;             = ;             = ;             = ;            ( == ( & 0xffffffffffffffffffffffffffffffff));             (!(. <= 0xffffffffffffffff)) (65);             ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) > 0xffffffffffffffff)) (65);             =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f));            (!((0x20 + ((0x04 + ) + (. << 0x05))) > ..));              = (0x04 + ) + 0x20;              = ;              =  + 0x20;              = 0x20;              = 0x20 + ((0x04 + ) + (. << 0x05));              = 0;              = 0x04 + ;              = ..;             () {                 ( >= ) {                    ;                }                 =  + ;                 = ;                 =  + ;                 = ;                 = ;                 = ;                 = ;                 = ;                ([.], ());                (!(( / 0x010000000000000000000000000000000000000000)), "Pausable: paused");                (!(. > 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff));                 = .[36:36];                 = (. << 0x05) + (0x20 + );                  = ();                 (( & 0xffffffffffffffffffffffffffffffff) != 0x0) {                      = 0x60;                      = 0;                     () {                         (!(0 < )) {                            ;                        }                          = ;                         (( & (0x80000000000000000000000000000000 >> (())))) {                             (!(() < )) (50);                              = 0;                             () {                                 ( >= ) {                                    ;                                }                                 = 0x20 + ;                                  = 0;                                 () {                                     ( >= ) {                                        ;                                    }                                     = 0x20 + ;                                     =  + ((0x20 + ) + );                                }                            }                             = ;                        }                         = ;                         = 0x01 + ;                    }                }  {                     = 0;                }                 = 0x80 + ;                 = 0x20 + (0x20 + );                  = 0;                  = (.((.((), , ()))));                  = 0;                  = (.((.((), , ()))));                  = ;                 () {                     ( >= ) {                        ;                    }                      = (.(, ()));                     ( < ) {                    }  {                         = (.(, ));                    }                     = 0x01 + ;                     = ;                     = ;                     = ;                     = ;                    (( == ), ());                    (!(. > 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff));                }            }        }    }         ( )   {        (. == , ());        (!(()), ());         =  | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & );         ();    }         ( ,  )  {        // Decompilation incomplete: helper effect provenance is conservative.        (. == , ());         () {             (![]) {                . = 0x01 + .;                [.] = ;                [] = .;                 (, );            }             (, );        }  {              = 0;             ([] != 0) {                 (!(( - 0x01) == ([] - 0x01))) {                     (!(( - 0x01) < )) (50);                     (!(([] - 0x01) < )) (50);                     = ;                    [] = [];                }                 (!( != 0x0)) (49);                 = 0;                 =  - 0x01;                [] = 0;                 = 0x01;            }             (, );        }    }         ( )  {         {              := (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.        // 0x00000013 => unresolved_00000013()    // 0x00000014 => Unknown_00000014()    // 0x00000020 => Unknown_00000020(address,bool)    // 0x00000024 => Unknown_00000024(address)    // 0x0000002b => Unknown_0000002b()    // 0x00000033 => Unknown_00000033(address)    // 0x00000042 => Unknown_00000042(uint256)    // 0x0000004f => Unknown_0000004f()    // 0x00000055 => Unknown_00000055()    // 0x0000005d => Unknown_0000005d(bytes,bytes,address,bytes)    // 0x00000067 => unresolved_00000067()    // 0x00000069 => Unknown_00000069()    // 0x00000083 => Unknown_00000083()    // 0x0000009d => Unknown_0000009d()    // 0x000000aa => unresolved_000000aa()    // 0x000000b9 => Unknown_000000b9()    // 0x000000c3 => unresolved_000000c3()    // 0x000000df => Unknown_000000df(bytes,bytes,address,bytes)    // 0x000000f2 => Unknown_000000f2(address)}