BNB Chain
0x55d398326f99059ff775485246999027b3197955
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0x55d39832…b31979554.3 KB1.1 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0x55d398326f99059ff775485246999027b3197955
326 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] // DESOLEX_RAW_STORAGE: packed overlap: getOwner address bytes 0..19 vs owner address bytes 0..19 ( => ) ; // STORAGE[0x1] ( => ( => )) ; // STORAGE[0x2] ; // STORAGE[0x3] ; // STORAGE[0x4] // DESOLEX_RAW_STORAGE: packed overlap: decimals bool bytes 0..0 vs _decimals bool bytes 0..0 ; // STORAGE[0x5] ; // STORAGE[0x6] ( , , ); ( , , ); ( , ); () ( ) { ; } ( , ) () { (. != (0), "BEP20: approve from the zero address"); ( != (0), "BEP20: approve to the zero address"); [.][] = ; (., , [.][]); ; } ( , , ) () { ( != (0), "BEP20: transfer from the zero address"); ( != (0), "BEP20: transfer to the zero address"); ( <= [()]) { [] = [()] - ; (!(( + []) < []), "SafeMath: addition overflow"); [] = + []; (, , ); ( <= [][(.)]) { ( != (0), "BEP20: approve from the zero address"); (. != (0), "BEP20: approve to the zero address"); [][.] = [][(.)] - ; (, ., [][.]); ; } { = 0; () { (!( < )) { ; } = 0x20 + ; } (0x1f & ) { } ("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"); } } { = 0; () { (!( < )) { ; } = 0x20 + ; } (0x1f & ) { } ("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"); } } () () { (); } () () { (); } ( , ) () { (!(( + [.][]) < [.][]), "SafeMath: addition overflow"); (. != (0), "BEP20: approve from the zero address"); ( != (0), "BEP20: approve to the zero address"); [.][] = + [.][]; (., , [.][]); ; } ( ) () { (, .); ; } () { (. == (()), "Ownable: caller is not the owner"); ((), (0)); = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000) & ; } () () { (); } () () { (); } () ( ) { ; } ( ) () { (. == (()), "Ownable: caller is not the owner"); (. != (0), "BEP20: mint to the zero address"); (!(( + ) < ), "SafeMath: addition overflow"); = + ; (!(( + [.]) < [.]), "SafeMath: addition overflow"); [.] = + [.]; ((0), ., ); ; } ( , ) () { ; = 0x60 + ; ( > [.][]) { = 0; () { (!( < .)) { ; } = 0x20 + ; } (0x1f & (.)) { } ("BEP20: decreased allowance below zero"); } (. != (0), "BEP20: approve from the zero address"); ( != (0), "BEP20: approve to the zero address"); [.][] = [.][] - ; (., , [.][]); ; } ( , ) () { (. != (0), "BEP20: transfer from the zero address"); ( != (0), "BEP20: transfer to the zero address"); ; = 0x60 + ; ( > [.]) { = 0; () { (!( < .)) { ; } = 0x20 + ; } (0x1f & (.)) { } ("BEP20: transfer amount exceeds balance"); } [.] = [.] - ; (!(( + []) < []), "SafeMath: addition overflow"); [] = + []; (., , ); ; } () ( ) { ; = 0x20 + ( + (0x20 * ((( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01))))) / 0x02) + 0x1f) / 0x20))); = ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01)))))) / 0x02; = 0x05; = + 0x20; ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01))))) / 0x02 != 0) { = ( + 0x20) + ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01))))) / 0x02); ; = ; ; = (( + 0x20) + ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01))))) / 0x02)) + (0x1f & ( - (( + 0x20) + ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01))))) / 0x02)))); (0x1f < ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01))))) / 0x02)) { = 0x20 + ( + 0x20); = 0x01 + (.(0x05)); () { (( + 0x20) + ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * !( & (0x01)))) / 0x02) <= ) { ; } = 0x20 + ; = 0x01 + ; } } { = ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01)))))) / 0x02; = 0x05; = 0x20 + ( + 0x20); } = ; = ; = ; } = 0; () { (!( < .)) { ; } = 0x20 + ; } = . + ( + 0x40); (0x1f & (.)) { = 0x20 + ((. + ( + 0x40)) - (0x1f & (.))); } .(0x20, .); } () ( ) { ; = 0x20 + ( + (0x20 * ((( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01))))) / 0x02) + 0x1f) / 0x20))); ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01))))) / 0x02 == 0) { = 0; () { (!( < .)) { ; } = 0x20 + ; } = . + ( + 0x40); (0x1f & (.)) { = 0x20 + ((. + ( + 0x40)) - (0x1f & (.))); } } { (0x1f < ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * (!( & (0x01))))) / 0x02)) { = 0x20 + ( + 0x20); = 0x01 + (.(0x06)); () { (( + 0x20) + ( & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0x0100 * !( & (0x01)))) / 0x02) <= ) { ; } = 0x20 + ; = 0x01 + ; } = 0; () { (!( < .)) { ; } = 0x20 + ; } = . + ( + 0x40); (0x1f & (.)) { = 0x20 + ((. + ( + 0x40)) - (0x1f & (.))); } } { = 0; () { (!( < .)) { ; } = 0x20 + ; } = . + ( + 0x40); (0x1f & (.)) { = 0x20 + ((. + ( + 0x40)) - (0x1f & (.))); } } } .(0x20, .); } ( ) { (. == (()), "Ownable: caller is not the owner"); ( != (0), "Ownable: new owner is the zero address"); ((), ); = | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ); } ( , ) { ( != (0), "BEP20: burn from the zero address"); ; = 0x60 + ; ( > []) { = 0; () { (!( < .)) { ; } = 0x20 + ; } ("BEP20: burn amount exceeds balance"); } [] = [] - ; = 0x40 + ; ( > ) { = 0; () { (!( < .)) { ; } = 0x20 + ; } ("SafeMath: subtraction overflow"); } = - ; (, (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) // 0x18160ddd => totalSupply() // 0x23b872dd => transferFrom(address,address,uint256) // 0x313ce567 => decimals() // 0x32424aa3 => _decimals() // 0x39509351 => increaseAllowance(address,uint256) // 0x42966c68 => burn(uint256) // 0x70a08231 => balanceOf(address) // 0x715018a6 => renounceOwnership() // 0x893d20e8 => getOwner() // 0x8da5cb5b => owner() // 0x95d89b41 => symbol() // 0xa0712d68 => mint(uint256) // 0xa457c2d7 => decreaseAllowance(address,uint256) // 0xa9059cbb => transfer(address,uint256) // 0xb09f1266 => _symbol() // 0xd28d8852 => _name() // 0xdd62ed3e => allowance(address,address) // 0xf2fde38b => transferOwnership(address)}