BNB Chain

0xf000042d2b48921c234f15d167e7874f594f303e

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

Decompilation outputBNB Chain · 0xf000042d…594f303e7.1 KB11.0 s
Share
328 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;  {        = 4;          ; // STORAGE[0x282b304b3da63169361de593f99747edfeec1260e61f347d9f75d38ea0b13500]      ; // STORAGE[0x8f4af341ce90a3d2ea1791beaff01e12a8cc007d89911fc1092dfdbb189fbb9e]    ( => )  ; // STORAGE[0xb71f7fb7caa48a271ec75eec790c271d6fde5a501a28c711a0237b673a8759a1]     ; // STORAGE[0xb71f7fb7caa48a271ec75eec790c271d6fde5a501a28c711a0237b673a8759a1]    []  ; // STORAGE[0xe8651d4002e7558f4d5f8fbf0d3c1b857b023d08b858c6e7d10de78109e27e28]      ; // STORAGE[0xfa409b5da32e79811aaecc9ab92d998c526cdd0c41976c3cba622880a8c57038]     ;     ;     ;     ;     ;         ();     ( );     ( ,  );     ( ,  );     ( );     ( ,  );     ( ,  );     ();     ();     ();     ();     ();     ();     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }         () {        (. == , ());        ;    }    ()   {    }        ()   {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x00000000)) {            // Route to Unknown_00000000(bytes32) after replacing only msg.sig.            ((0x1b721cbc));            ;        }         ((.. >= 4) && (. == 0x07d47d97)) {            // Route to Unknown_07d47d97(bytes) after replacing only msg.sig.            ((0x5f6bb45d));            ;        }         ((.. >= 4) && (. == 0x7580a1bc)) {            // Route to Unknown_7580a1bc(bool,address) after replacing only msg.sig.            ((0x9c54afb4));            ;        }        ();    }             ( )   {        ([.], ());        (() != 0x0, ());         = ;        ( ,   ) = ().(); // delegatecall        ();    }         ( ,  ,  ,  ,   ,   )   {        (!(((0x04 + ) +  + 0x20) > ..));        (!(((0x04 + ) +  + 0x20) > ..));        (([.[(0x04 + ) + 0x20] >> 0xf8]) != 0x0, ());         = [.[(0x04 + ) + 0x20] >> 0xf8];        ( ,   ) = ([.[(0x04 + ) + 0x20] >> 0xf8]).(); // delegatecall        ();    }         ([]  ,  )  {        (!( != . &&  != .), ());         ( != .) {            ( == , ());        }          = 0;         () {             ( >= .) {                ;            }             ([] != 0x0) {                  = ();                 = 0x70a08231000000000000000000000000;                ( ,   ) = [].(); // staticcall                ();                 = ;                 = 0xa9059cbb000000000000000000000000;                ( ,   ) = [].(, ); // call                ();                (!((!(. < 0x20)) & (!( == 0x01))), ());            }  {                ( ,   ) = .{ : (). }(""); // call                (, ());            }             = 0x01 + ;        }    }         (  )  {        (!(((0x04 + ) +  + 0x20) > ..));        (. == , ());          = 0;         ;          = ;         () {             =  + (0x20 + (((0x1f + .) / 0x20) * 0x20));             (!( < )) {                ;            }             (0x34 > ( + 0x34)) {                (17);                ;            }            ( ,   ) = ( >> 0x60).{ :  }(""); // call            (, ());             (!((( + 0x54) + ) < )) {                ;            }             (0x34 > ((( + 0x54) + ) + 0x34)) {                (17);                ;            }            ( ,   ) = ( >> 0x60).{ :  }(""); // call            (, ());             = ( + 0x54) + (( + 0x54) + );             = ;        }    }         ( )   {        ( != (0), ());         = ;         (, );    }         ( )   {    }         ( )   {        ( != (0), ());         = ;         (, );    }         ()    ( ) {          = 0x01;         ;         () {             =  + (0x20 + (0x20 * ));             ( > ) {                ;            }             = 0x01 + ;        }          = 0;          =  + 0x40;          =  + 0x20;         () {             (!( < .)) {                ;            }             = 0x01 + ;             =  + 0x20;             = 0x20 + ;        }         .(0x20, .);    }         ([]  )  {        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (. == , ());          = 0;          = () ? 1 : 0;          = (0x04 + ) + 0x20;         () {             ( >= ) {                ;            }            ((((0x20 * ) + ) + 0x20) - ((0x20 * ) + ) >= 0x20);            (.[(0x20 * ) + ] == ((.[(0x20 * ) + ])));             ([.[(0x20 * ) + ]]) {                [.[(0x20 * ) + ]] = 0;                 (!([.[(0x20 * ) + ]] == )) {                     = ;                    [] = [.[(0x20 * ) + ]];                }                 = 0;                 =  - 0x01;            }             (!( < )) (50);            ((((0x20 * ) + ) + 0x20) - ((0x20 * ) + ) >= 0x20);            (.[(0x20 * ) + ] == ((.[(0x20 * ) + ])));             ((.[(0x20 * ) + ]));             = 0x01 + ;             = ;             = ;        }    }         ( ,  )  {        ( == ( & 0xff));        (. == , ());        [] = ;         ((), []);    }         ( ,  ,   )  {        (!(((0x04 + ) +  + 0x20) > ..));        (([.[(0x04 + ) + 0x20] >> 0xf8]) != 0x0, ());         = [.[(0x04 + ) + 0x20] >> 0xf8];        ( ,   ) = ([.[(0x04 + ) + 0x20] >> 0xf8]).(); // delegatecall        ();    }         ([]  , []  ,  )  {        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        ( == , ());        (!( != . &&  != .), ());         ( != .) {            ( == , ());        }          = 0;         () {             ( >= .) {                ;            }             (!( < .)) (50);            ([] > 0, ());             ([] != 0x0) {                  = ;                 = 0xa9059cbb000000000000000000000000;                ( ,   ) = [].(, []); // call                ();                (!((!(. < 0x20)) & (!( == 0x01))), ());            }  {                ( ,   ) = .{ : [] }(""); // call                (, ());            }             = 0x01 + ;        }    }         ( )   {        ( != (0), ());         = ;         (, );    }         ([]  )  {        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (. == , ());          = 0;          = () ? 1 : 0;          = (0x04 + ) + 0x20;         () {             ( >= ) {                ;            }            ((((0x20 * ) + ) + 0x20) - ((0x20 * ) + ) >= 0x20);            (.[(0x20 * ) + ] == ((.[(0x20 * ) + ])));             (![.[(0x20 * ) + ]]) {                 =  + 0x01;                [.[(0x20 * ) + ]] =  + 0x01;                 = .[(0x20 * ) + ];            }             (!( < )) (50);            ((((0x20 * ) + ) + 0x20) - ((0x20 * ) + ) >= 0x20);            (.[(0x20 * ) + ] == ((.[(0x20 * ) + ])));             ((.[(0x20 * ) + ]));             = 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.        // 0x00000000 => Unknown_00000000(bytes32)    // 0x024181a6 => atlasSolverCall(address,address,address,uint256,bytes,bytes)    // 0x06647cb6 => transferAllTokens(address[],address)    // 0x07d47d97 => Unknown_07d47d97(bytes)    // 0x13af4035 => setOwner(address)    // 0x1cfed885 => getStrategy(uint8)    // 0x1e1769ed => payBid(uint256)    // 0x33ff7722 => setTeller(address)    // 0x3bbac579 => isBot(address)    // 0x481c6a75 => manager()    // 0x57edab4e => teller()    // 0x6ae18dc0 => allBots()    // 0x6c3bbfd7 => removeBots(address[])    // 0x7580a1bc => Unknown_7580a1bc(bool,address)    // 0x7ebcdf30 => liquidate(uint256,address,bytes)    // 0x8da5cb5b => owner()    // 0xa3b9f92a => transferTokens(address[],uint256[],address)    // 0xd0ebdbe7 => setManager(address)    // 0xd34628cc => addBots(address[])    // 0xffa1ad74 => VERSION()}
0xf00004…4f303e on BNB Chain — Decompiled Solidity