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
This result is permanently available athttps://decompiler.exvul.com/ethereum/0x4d55f76ce2dbbae7b48661bef9bd144ce0c9091b
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)}