Ethereum

0xdb27d4ff4be1cd04c34a7cb6f47402c37cb73459

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

Decompilation outputEthereum · 0xdb27d4ff…7cb734599.1 KB5.0 s
Share
492 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;  {     ( ,  )   ( );}  {        = 18;        = (0x7a250d5630b4cf539739df2c5dacb4c659f2488d);        ( => )  ; // STORAGE[0x0]    ( => ( => ))  ; // STORAGE[0x1]      ; // STORAGE[0x2]     ; // STORAGE[0x3]     ; // STORAGE[0x4]      ; // STORAGE[0x5]      ; // STORAGE[0x6]     ; // STORAGE[0x7]     ; // STORAGE[0x8]      ; // STORAGE[0x9]      ; // STORAGE[0xa]      ; // STORAGE[0xb]      ; // STORAGE[0xc]     ; // STORAGE[0xd]      ; // STORAGE[0xe]      ; // STORAGE[0xf]    ( => )  ; // STORAGE[0x10]    ( => )  ; // STORAGE[0x11]    ( => ) ; // STORAGE[0x12]    ( => ) ; // STORAGE[0x13]         ( , );     ( ,  , );     ( ,  );     ( ,  );     ();     ();     ( ,  , );     ();     ( ,  );     ( ,  );     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }         () {        (. == , "Ownable: caller is not the owner");        ;    }    ()   {    }        ()  {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x5b48dc7d)) {            // Route to Unknown_5b48dc7d() after replacing only msg.sig.            ((0xddc640ad));            ;        }        ();    }             ()    ( ) {         ;    }         ( ,  )   () {        (. != (0), "ERC20: approve from the zero address");        ( != (0), "ERC20: approve to the zero address");        [.][] = ;         (., , [.][]);         ;    }         ( ,  )   {         = ;         = () ? 1 : 0;    }         ( )  {        ( != (0), ());         = ;         (, );    }         ( ,  ,  )   () {        (, ., );        (, , );         ;    }         ( )  {        (!( < ((( * 0x01) / 0x2710) / 0x0de0b6b3a7640000)), "Cannot set max wallet lower than 0.01%");         =  * 0x0de0b6b3a7640000;    }         ( ,  )   () {        (. != (0), "ERC20: approve from the zero address");        ( != (0), "ERC20: approve to the zero address");        [.][] =  + [.][];         (., , [.][]);         ;    }         ( )  {        (. != (0), "ERC20: burn from the zero address");        (!([.] < ), "ERC20: burn amount exceeds balance");        [.] = [.] - ;         =  - ;         (., (0), );    }         ( ,  ,  ,  )   {         = ;         = () ? 1 : 0;         =  * 0x0de0b6b3a7640000;         =  * 0x0de0b6b3a7640000;    }         ()  {        ();    }         ()    () {         !(!(()));    }         ( )  {        ( != (0), ());         =  | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & );         (, );    }         ()    () {         !(!(( / 0x0100)));    }         ()   {         (, (0));         = (0);    }         ( )  {        (!( < ((( * 0x01) / 0x2710) / 0x0de0b6b3a7640000)), "Cannot set max transaction lower than 0.01%");         =  * 0x0de0b6b3a7640000;    }         ()   {         = ;         = ;    }         ( ,  )   {        [] = ;    }         ( ,  )   {        ([] != , ());        [] = ;    }         ()    ( ) {         ;    }         ( ,  )   {        ( != , "The pair cannot be removed from automatedMarketMakerPairs");        [] = ;         (, []);    }         ( ,  )   () {        (!([.][] < ), "ERC20: decreased allowance below zero");        (. != (0), "ERC20: approve from the zero address");        ( != (0), "ERC20: approve to the zero address");        [.][] = [.][] - ;         (., , [.][]);         ;    }         ( ,  )   () {        (, , .);         ;    }         ( )  {        (!( < (( * 0x01) / 0x0186a0)), "Swap amount cannot be lower than 0.001% of the supply");        (!( > (( * 0x05) / 0x03e8)), "Swap amount cannot be higher than 0.5% of the supply");         =  * 0x0de0b6b3a7640000;    }         ( )  {        ();    }         ( ,  )   {        [] = ;         (, []);    }         ()  {        ((). > 0, "Token: no ETH to clear");        (. == (()));        ( ,   ) = (.).{ : 0x08fc * !()., : (). }(""); // call        ();    }         ( )   {        ( != (0), "Ownable: new owner is the zero address");         (, );         = ;    }         ( ,  ,  )  {        // Decompilation incomplete: helper effect provenance is conservative.        ( != (0), "ERC20: transfer from the zero address");        ( != (0), "ERC20: transfer to the zero address");         (0x0 != ) {             (( != ) && (( != ) && (( != (0)) && (((0xdead) != ) && ((0xff &  / 0x10000000000000000000000000000000000000000) == 0x0))))) {                 (!(())) {                      = [];                     (![]) {                         = [];                    }                    (, "Trading is not active.");                }                 ([] && ![]) {                    (!( > ), "Buy transfer amount exceeds the maxTransactionAmount.");                    (!(([] + ) > ), "Max wallet exceeded");                }   ([] && ![]) {                    (!( > ), "Sell transfer amount exceeds the maxTransactionAmount.");                }   (![]) {                    (!(([] + ) > ), "Max wallet exceeded");                }            }              = ([()] > ) ? 1 : 0;             ([()] > ) {                 = ( / 0x0100);            }              = ;             ( != 0x0) {                 = !(( / 0x010000000000000000000000000000000000000000));            }              = ;             ( != 0x0) {                 = (!([])) ? 1 : 0;            }              = ;             ( != 0x0) {                 = (!([])) ? 1 : 0;            }              = ;             ( != 0x0) {                 = (!([])) ? 1 : 0;            }             ( != 0x0) {                 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & );                 (0 != (([()]))) {                      = ([()]);                     ([()] > ) {                         = ;                    }                     ;                     =  + 0x60;                     (!(0 < .)) (50);                    ( ,   ) = (0x7a250d5630b4cf539739df2c5dacb4c659f2488d).(); // staticcall                    ();                     =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    (( + .) -  >= 0x20);                    ( == ( & 0xffffffffffffffffffffffffffffffffffffffff));                     (!(0x01 < .)) (50);                    (() != (0), "ERC20: approve from the zero address");                    ((0x7a250d5630b4cf539739df2c5dacb4c659f2488d & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "ERC20: approve to the zero address");                    [()][(0x7a250d5630b4cf539739df2c5dacb4c659f2488d)] = ;                     ((), (0x7a250d5630b4cf539739df2c5dacb4c659f2488d), [()][(0x7a250d5630b4cf539739df2c5dacb4c659f2488d)]);                      = 0;                      = (0x04 + ) + 0xc0;                      =  + 0x20;                     () {                          = ;                          = ;                          = ;                         (!( < )) {                            ;                        }                         (!((0x01 + ) < )) {                            ;                        }                         = 0x01 + (0x01 + );                         = 0x20 + (0x20 + );                         = 0x20 + (0x20 + );                         = 0x01 + ;                         = 0x20 + ;                         = 0x20 + ;                    }                    ((0x7a250d5630b4cf539739df2c5dacb4c659f2488d).. != 0x0);                    ( ,   ) = (0x7a250d5630b4cf539739df2c5dacb4c659f2488d).(, 0, 0xa0, (), ., ); // call                    ();                }                 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & ;            }              = !(( / 0x010000000000000000000000000000000000000000));             (!(( / 0x010000000000000000000000000000000000000000))) {                 = !([]);            }              = ;             () {                 = !([]);            }              = 0;              = ;             () {                 ;                 (![]) {                      = 0;                     ([]) {                         = (( * )) / 0x64;                    }                     = ;                }  {                     = (( * )) / 0x64;                }                 (!( == 0x0)) {                    (, (), );                }                 = ;                 =  - ;            }            (, , );            ;        }  {            (0, , );            ;        }    }         ( ,  ,  )  {        ( != (0), "ERC20: transfer from the zero address");        ( != (0), "ERC20: transfer to the zero address");        (!([] < ), "ERC20: transfer amount exceeds balance");        [] = [] - ;        [] =  + [];         (, , );    }         ( ,  ,  )  {         (!([][] == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) {            (!([][] < ), "ERC20: insufficient allowance");            ( != (0), "ERC20: approve from the zero address");            ( != (0), "ERC20: approve to the zero address");            [][] = [][] - ;             (, , [][]);        }    }         ()  {        // Decompilation incomplete: helper effect provenance is conservative.        (. == , "Ownable: caller is not the owner");        (!(()), "Trading is already open");        ( ,   ) = (0x7a250d5630b4cf539739df2c5dacb4c659f2488d).(); // staticcall        ();         ;         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (!((( + .) - ) < 0x20));        (. == (. & 0xffffffffffffffffffffffffffffffffffffffff));        ( ,   ) = (0x7a250d5630b4cf539739df2c5dacb4c659f2488d).(); // staticcall        ();         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (!((( + .) - ) < 0x20));        (. == (. & 0xffffffffffffffffffffffffffffffffffffffff));        ( ,   ) = (.).((), (.)); // call        ();         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (!((( + .) - ) < 0x20));        (. == (. & 0xffffffffffffffffffffffffffffffffffffffff));         = (.);        (. == , "Ownable: caller is not the owner");        [(.)] = ;        [ & (0xffffffffffffffffffffffffffffffffffffffff)] = ;         (, [ & (0xffffffffffffffffffffffffffffffffffffffff)]);        (() != (0), "ERC20: approve from the zero address");        (0x7a250d5630b4cf539739df2c5dacb4c659f2488d != 0x0, "ERC20: approve to the zero address");        [()][0x7a250d5630b4cf539739df2c5dacb4c659f2488d] = ;         ((), 0x7a250d5630b4cf539739df2c5dacb4c659f2488d, [()][0x7a250d5630b4cf539739df2c5dacb4c659f2488d]);        ( ,   ) = (0x7a250d5630b4cf539739df2c5dacb4c659f2488d).{ : (). }((), [()], 0, 0, 0x95d4dc882738af8760cb48af9fd8e350ff604d6d, .); // call        ();         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (!((( + .) - ) < 0x60));        ().(((0x7a250d5630b4cf539739df2c5dacb4c659f2488d)), 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);         = 0x0101 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 & );         ();    }         ( )  {        // Decompilation incomplete: helper effect provenance is conservative.        (. == (()));         ;         =  + 0x60;         (!(0 < .)) (50);        ( ,   ) = (0x7a250d5630b4cf539739df2c5dacb4c659f2488d).(); // staticcall        ();         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (( + .) -  >= 0x20);        ( == ( & 0xffffffffffffffffffffffffffffffffffffffff));         (!(0x01 < .)) (50);        (() != (0), "ERC20: approve from the zero address");        ((0x7a250d5630b4cf539739df2c5dacb4c659f2488d & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "ERC20: approve to the zero address");        [()][(0x7a250d5630b4cf539739df2c5dacb4c659f2488d)] = (( * [()]) / 0x64);         ((), (0x7a250d5630b4cf539739df2c5dacb4c659f2488d), [()][(0x7a250d5630b4cf539739df2c5dacb4c659f2488d)]);          = 0;          = (0x04 + ) + 0xc0;          =  + 0x20;         () {             (!( < )) {                ;            }             = 0x01 + ;             = 0x20 + ;             = 0x20 + ;        }        ((0x7a250d5630b4cf539739df2c5dacb4c659f2488d).. != 0x0);        ( ,   ) = (0x7a250d5630b4cf539739df2c5dacb4c659f2488d).((( * [()]) / 0x64), 0, 0xa0, (), .); // call        ();    }         ( )  {         {              := (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.        // 0x06fdde03 => name()    // 0x095ea7b3 => approve(address,uint256)    // 0x0b78f9c0 => setFees(uint256,uint256)    // 0x18160ddd => totalSupply()    // 0x1f53ac02 => setDevWallet(address)    // 0x23b872dd => transferFrom(address,address,uint256)    // 0x27a14fc2 => setMaxWalletAmount(uint256)    // 0x2b14ca56 => sellFee()    // 0x311028af => initialTotalSupply()    // 0x313ce567 => decimals()    // 0x39509351 => increaseAllowance(address,uint256)    // 0x42966c68 => burn(uint256)    // 0x47062402 => buyFee()    // 0x49bd5a5e => uniswapV2Pair()    // 0x4fbee193 => isExcludedFromFees(address)    // 0x50e21817 => setFeesAndLimits(uint256,uint256,uint256,uint256)    // 0x583e0568 => _uniswapV2Router()    // 0x593c52e4 => initiateTrading()    // 0x5b48dc7d => Unknown_5b48dc7d()    // 0x5d098b38 => setMarketingWallet(address)    // 0x6ddd1713 => swapEnabled()    // 0x70a08231 => balanceOf(address)    // 0x715018a6 => renounceOwnership()    // 0x74010ece => setMaxTxnAmount(uint256)    // 0x751039fc => removeLimits()    // 0x7571336a => excludeFromMaxTransaction(address,bool)    // 0x8da5cb5b => owner()    // 0x9155e083 => updateBlacklist(address,bool)    // 0x95d89b41 => symbol()    // 0x9a7a23d6 => setAutomatedMarketMakerPair(address,bool)    // 0xa457c2d7 => decreaseAllowance(address,uint256)    // 0xa9059cbb => transfer(address,uint256)    // 0xafa4f3b2 => setSwapTokensAtAmount(uint256)    // 0xb70143c9 => manualSwap(uint256)    // 0xc0246668 => excludeFromFees(address,bool)    // 0xc8c8ebe4 => maxTransactionAmount()    // 0xce31a06b => rescueEth()    // 0xdd62ed3e => allowance(address,address)    // 0xe2f45605 => swapTokensAtAmount()    // 0xe47d6060 => isBlackListed(address)    // 0xf2fde38b => transferOwnership(address)    // 0xf8b45b05 => maxWallet()}