Ethereum

0x4d55f76ce2dbbae7b48661bef9bd144ce0c9091b

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

Decompilation outputEthereum · 0x4d55f76c…e0c9091b13.7 KB5.1 s
Share
317 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;  {     ; // STORAGE[0x0]     ; // STORAGE[0x1]     ; // STORAGE[0x2]     ; // STORAGE[0x3]     ; // STORAGE[0x4]     ; // STORAGE[0x5]    ( => ( => ))  ; // STORAGE[0x6]    ( => ( => ))  ; // STORAGE[0x7]    ( => )  ; // STORAGE[0x8]    ( => )  ; // STORAGE[0x9]         (, , , );     (, , , , , , );     (, , , );    ()   {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x0a19b14a)) {            // Route to Unknown_0a19b14a(address,uint256,address,uint256,uint256,uint256,address,bool,uint256,uint256,uint256) after replacing only msg.sig.            ((0x43ae8a97));            ;        }         ((.. >= 4) && (. == 0x278b8c0e)) {            // Route to Unknown_278b8c0e(address,uint256,address,uint256,uint256,uint256,bool,uint256,uint256) after replacing only msg.sig.            ((0xbc983e9c));            ;        }         ((.. >= 4) && (. == 0x3fb9950a)) {            // Route to Unknown_3fb9950a(address,address) after replacing only msg.sig.            ((0xf96ab8a7));            ;        }         ((.. >= 4) && (. == 0x46be96c3)) {            // Route to Unknown_46be96c3(address,uint256,address,uint256,uint256,uint256,address,bool,uint256,uint256) after replacing only msg.sig.            ((0xc7092238));            ;        }         ((.. >= 4) && (. == 0x6c86888b)) {            // Route to Unknown_6c86888b(address,uint256,address,uint256,uint256,uint256,address,bool,uint256,uint256,uint256,address) after replacing only msg.sig.            ((0xb6e16965));            ;        }         ((.. >= 4) && (. == 0xfb6e155f)) {            // Route to Unknown_fb6e155f(address,uint256,address,uint256,uint256,uint256,address,bool,uint256,uint256) after replacing only msg.sig.            ((0x64dbc918));            ;        }        ();    }             ( ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  )   {         (!.) {              = (0x01000000000000000000000000 * (()), 0);             () {            }        }    }         ( ,  ,  ,  ,  ,  )   {         (!.) {              = (0x01000000000000000000000000 * (()), 0);             () {                [.][(.)] = (0x01 * 0x01) | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 & [.][(.)]);                 (, , , , , , .);            }        }    }         ( ,  ,  ,  ,  ,  ,  ,  ,  )   {         (!.) {              = (0x01000000000000000000000000 * (()), 0);             () {            }        }    }         ( )   {         (!. && !([0][.] < )) {            [0][.] = [0][.] - ;              = [.];             ([.] == 0) {                 = .;            }            ( ,   ) = .{ :  }(""); // call             () {                 ((0), ., , [0][.]);            }        }    }         ( ,  )   {         (!. &&  != (0) && ().. != 0x0) {            ( ,   ) = ().{ : () - 0x32 }(., (), ); // call             ( && .) {                [][.] = [][.] + ;                 (, ., , [][.]);            }        }    }         ( ,  )   {         (!. && !(!(. == (( / 0x01))))) {            [] = ;        }    }         ( ,  ,  ,  ,  ,  ,  ,  ,  ,  )    () {         (!.) {              = (0x01000000000000000000000000 * (()), 0);             () {                 [][(.)];            }        }    }         ( )   {         (!. && !(!(. == (( / 0x01)))) && !( > )) {             = ;        }    }         ()    () {         (!.) {             ;        }    }         ( )   {         (!. && !(!(. == (( / 0x01)))) && !( <  ||  > )) {             = ;        }    }         ()    () {         (!.) {             ( / 0x01);        }    }         ( ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  )    () {         (!.) {             (!(!([][] < ))) {                  = 0x01;                 = 0;                 ;            }  {                  = (0x01000000000000000000000000 * (()), 0);                 () {                     ;                      = ([][((.))] / 0x01);                     (!(([][((.))] / 0x01))) {                         = 0x20 + ;                          = (((.(0x19457468657265756d205369676e6564204d6573736167653a0a333200000000, (.)))), (), (), ());                         = ((()) == ) ? 1 : 0;                    }                      = ;                     ( != 0x0) {                         = (!(. > )) ? 1 : 0;                    }                     ( != 0x0) {                    }  {                          = 0x01;                         (!(!(0 < ))) {                             = 0;                        }                         ;                    }                }            }        }    }         ( )   {         (!. && !(!(. == (( / 0x01))))) {             = ( * 0x01) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & );        }    }         ()    () {         (!.) {             ;        }    }         ( )   {         (!. && !(!(. == (( / 0x01)))) && !( >  ||  < )) {             = ;        }    }         ( )   {         (!. && !(!(. == (( / 0x01))))) {             = ( * 0x01) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & );        }    }         ( ,  )   {         (!. &&  != (0) && !([][.] < )) {            [][.] = [][.] - ;             (().. != 0x0) {                ( ,   ) = ().{ : () - 0x32 }(., ); // call                 ( && .) {                     (, ., , [][.]);                }            }        }    }         ()    () {         (!.) {             ;        }    }         ()   {        [0][.] = [0][.] + .;         ((0), ., ., [0][.]);    }         ( )   {         (!. && !(!(. == (( / 0x01))))) {             = ( * 0x01) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & );        }    }         ()    () {         (!.) {             ( / 0x01);        }    }         ( ,  )    () {         (!.) {             [][];        }    }         ()    () {         (!.) {             ( / 0x01);        }    }         ( ,  ,  ,  ,  ,  ,  ,  ,  ,  )    () {         (!.) {              = (0x01000000000000000000000000 * (()), 0);             () {                 ;                  = ([][((.))] / 0x01);                 (!(([][((.))] / 0x01))) {                     = 0x20 + ;                      = (((.(0x19457468657265756d205369676e6564204d6573736167653a0a333200000000, (.)))), (), (), ());                     = ((()) == ) ? 1 : 0;                }                  = ;                 ( != 0x0) {                     = (!(. > )) ? 1 : 0;                }                 ( != 0x0) {                }  {                     0;                }            }        }    }         ( )  {         {              := (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.        // 0x0a19b14a => Unknown_0a19b14a(address,uint256,address,uint256,uint256,uint256,address,bool,uint256,uint256,uint256)    // 0x0b927666 => order(address,uint256,address,uint256,uint256,uint256)    // 0x19774d43 => orderFills(address,bytes32)    // 0x278b8c0e => Unknown_278b8c0e(address,uint256,address,uint256,uint256,uint256,bool,uint256,uint256)    // 0x2e1a7d4d => withdraw(uint256)    // 0x338b5dea => depositToken(address,uint256)    // 0x3fb9950a => Unknown_3fb9950a(address,address)    // 0x46be96c3 => Unknown_46be96c3(address,uint256,address,uint256,uint256,uint256,address,bool,uint256,uint256)    // 0x508493bc => tokens(address,address)    // 0x54d03b5c => changeFeeMake(uint256)    // 0x57786394 => feeMake()    // 0x5e1d7ae4 => changeFeeRebate(uint256)    // 0x65e17c9d => feeAccount()    // 0x6c86888b => Unknown_6c86888b(address,uint256,address,uint256,uint256,uint256,address,bool,uint256,uint256,uint256,address)    // 0x71ffcb16 => changeFeeAccount(address)    // 0x731c2f81 => feeRebate()    // 0x8823a9c0 => changeFeeTake(uint256)    // 0x8f283970 => changeAdmin(address)    // 0x9e281a98 => withdrawToken(address,uint256)    // 0xbb5f4629 => unresolved_bb5f4629(address,uint256)    // 0xc281309e => feeTake()    // 0xd0e30db0 => deposit()    // 0xe8f6bc2e => changeAccountLevelsAddr(address)    // 0xf3412942 => accountLevelsAddr()    // 0xf7888aec => balanceOf(address,address)    // 0xf851a440 => admin()    // 0xfa2d9ff0 => accountMap(address)    // 0xfb6e155f => Unknown_fb6e155f(address,uint256,address,uint256,uint256,uint256,address,bool,uint256,uint256)}