Ethereum

0xae341b7dfc6bd335dd8ea349813088cc1124edfc

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

Decompilation outputEthereum · 0xae341b7d…1124edfc3.9 KB4.1 s
Share
262 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;  {        = 1057094969852134339134413882127467382012628637846;         ; // STORAGE[0x0]     ; // STORAGE[0x1]     ; // STORAGE[0x2]     ; // STORAGE[0x3]         ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }    ()   {    }        ()  {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0xb0552650)) {            // Route to Unknown_b0552650(address,bytes) after replacing only msg.sig.            ((0x5d90d1ef));            ;        }        ();    }             ( )  {        (. == 0xb929c7215c0ec8ebad5fbf73b1da63bccfff1896, "owner");        ( ,   ) = .(.((0x70a08231), ())); // staticcall balanceOf        ();         ;         (!()) {            ( ,   ) = .(.((0xa9059cbb), ., 0)); // call transfer            ();             (!()) {                (0 != 0x0, "xfer");            }             (0x20 <= .) {                 ((( + 0x20) > 0xffffffffffffffff) | (( + 0x20) < )) (65);                 =  + 0x20;                ((( + 0x20) - ) >= 0x20);                (. == .);                (. != 0x0, "xfer");            }             ((( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            ((( + .) - ) >= 0x20);            ( == );            ( != 0x0, "xfer");        }         (0x20 > .) {             ((( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            ((( + .) - ) >= 0x20);            .(., .); // call        }  {             ((( + 0x20) > 0xffffffffffffffff) | (( + 0x20) < )) (65);             =  + 0x20;            ((( + 0x20) - ) >= 0x20);            .(., .); // call        }        ();         (!()) {            (0 != 0x0, "xfer");        }         (0x20 <= .) {             ((( + 0x20) > 0xffffffffffffffff) | (( + 0x20) < )) (65);             =  + 0x20;            ((( + 0x20) - ) >= 0x20);            (. == .);            (. != 0x0, "xfer");        }         ((( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);        ((( + .) - ) >= 0x20);        ( == );        ( != 0x0, "xfer");    }         ( ,   )   ( ) {        (((0x04 + ) + 0x1f) < ..);        (((0x04 + ) +  + 0x20) <= ..);        (. == 0xb929c7215c0ec8ebad5fbf73b1da63bccfff1896, "owner");        ( ,   ) = .(); // delegatecall         (. == 0) {            ();             .(0x20, );        }  {             (!(. <= 0xffffffffffffffff)) (65);             ;             ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            ();             .(0x20, .);        }    }         ( ,  )   {        (. == 0xb929c7215c0ec8ebad5fbf73b1da63bccfff1896, "owner");         ((.) != 0x0) {             = ( & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000)) | ;             = ( & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000)) | ;             = .;             = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;            ( ,   ) = (0x04444c5dc75cb358380d2e3de08a90).(0x20); // call             ;              = ;             () {                 ((( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                ((( + .) - ) >= 0x20);                (. <= 0xffffffffffffffff);                ((( + .) + 0x1f) < ( + .));                 ( > 0xffffffffffffffff) (65);                 ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                ((( + .) +  + 0x20) <= ( + .));            }  {                 = ;            }             = 0;             =  & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000);             =  & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000);             = 0;        }    }         (  )   ( ) {        (((0x04 + ) + 0x1f) < ..);        (((0x04 + ) +  + 0x20) <= ..);        (. == 0x04444c5dc75cb358380d2e3de08a90, "pm");         (. > 0xffffffffffffffff) (65);         ;         ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);         =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (!(((0x04 + ) + 0x20) +  > ..));         = .[36:36];          = 0;          = ;         (() != ) {             = ;             = (()) == ;        }        (, "data");          = !(!(()));         (!(())) {             = !(!(()));        }          = ;         (!()) {             = ;        }        (, "no swap");         ((( + 0xa0) > 0xffffffffffffffff) | (( + 0xa0) < )) (65);         =  + 0xa0;         ((( + 0x60) > 0xffffffffffffffff) | (( + 0x60) < )) (65);         =  + 0x60;        ( ,   ) = (0x04444c5dc75cb358380d2e3de08a90).((), (), ()); // call        ();         (!()) {            (0x4444c5dc75cb358380d2e3de08a90.. != 0x0);            ( ,   ) = (0x04444c5dc75cb358380d2e3de08a90).(0); // call            ();              = 0;             () {                 ((( + 0) > 0xffffffffffffffff) | (( + 0) < )) (65);                 =  + 0;                (( - ) >= 0);            }  {                 = ;            }            ( ,   ) = (0x04444c5dc75cb358380d2e3de08a90).{ :  }(); // call            ();              = .;             () {                  = .;                 (0x20 <= .) {                     = 0x20;                }                 ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                ((( + ) - ) >= 0x20);            }  {                 = ;            }             ;             ;             ((0) > 0) {                (0x4444c5dc75cb358380d2e3de08a90.. != 0x0);                ( ,   ) = (0x04444c5dc75cb358380d2e3de08a90).((), (), 0); // call                ();                  = 0;                 () {                     ((( + 0) > 0xffffffffffffffff) | (( + 0) < )) (65);                     =  + 0;                    (( - ) >= 0);                }  {                     = ;                }                 = ;                 = ;            }  {                 = ();                 = 0;            }             ((( + 0x20) > 0xffffffffffffffff) | (( + 0x20) < )) (65);             =  + 0x20;             .(0x20, .);        }         (0x20 > .) {             ((( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            ((( + .) - ) >= 0x20);        }  {             ((( + 0x20) > 0xffffffffffffffff) | (( + 0x20) < )) (65);             =  + 0x20;            ((( + 0x20) - ) >= 0x20);        }    }         ()  {        (. == 0xb929c7215c0ec8ebad5fbf73b1da63bccfff1896, "owner");        ( ,   ) = (.).{ : (). }(""); // call         ((.) != 0x0) {             (!(. <= 0xffffffffffffffff)) (65);             ;             ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        }        (, "eth");    }         ( )  {         {              := (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.        // 0x6ebf9f65 => giveETH()    // 0x8da5cb5b => owner()    // 0x91dd7346 => unlockCallback(bytes)    // 0xad7fadc5 => buy(address,address)    // 0xb0552650 => Unknown_b0552650(address,bytes)    // 0xbdf86a66 => give(address)}