Ethereum
0xdac17f958d2ee523a2206206994597c13d831ec7
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputEthereum · 0xdac17f95…3d831ec710.8 KB963 ms
This result is permanently available athttps://decompiler.exvul.com/ethereum/0xdac17f958d2ee523a2206206994597c13d831ec7
287 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; { = 115792089237316195423570985008687907853269984665640564039457584007913129639935; ; // 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] ( => ( => )) ; // STORAGE[0x5] ( => ) ; // STORAGE[0x6] // DESOLEX_RAW_STORAGE: mapping value 0: bool [VerifiedAbi] vs uint256 [VerifiedAbi] (ambiguous) ; // STORAGE[0x7] ; // STORAGE[0x8] ; // STORAGE[0x9] ; // STORAGE[0xa] bytes 0 to 19 ; // STORAGE[0xa] bytes 20 to 20 (); (); (, ); ( , , ); (); (); (); ( , , ); (); (, ); (); ( ) { (!(!(. == (( / 0x01))))); = ; = ; (); } ( , ) { (!) { = != 0x0; (!( == 0)) { = !([.][] == 0); } (!); [.][] = ; (., , [.][]); } { (.. != 0x0); ( , ) = .{ : () - 0x02c6 }(., , ); // call (); } } ( ) { (!(!(. == (( / 0x01))))); [] = (0x01 * 0x01) | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 & []); (); } () () { = ; () { (.. != 0x0); ( , ) = .{ : () - 0x02c6 }(); // call (); = .; } ; } ( , , ) { (!(!(!(( / 0x010000000000000000000000000000000000000000))))); (!(!(!(([] / 0x01))))); (!) { = * ; = * ; ( == 0) { = 0; = 0; } = / 0x2710; (( / 0x2710) > ) { = ; } ([][.] < 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { [][.] = [][.] - ; } [] = [] - ; [] = [] + ( - ); ( > 0) { [( / 0x01)] = [( / 0x01)] + ; (, ( / 0x01), ); } (, , ( - )); } { (.. != 0x0); ( , ) = .{ : () - 0x02c6 }(., , , ); // call (); } } () { (!(!(. == (( / 0x01))))); (!(!(( / 0x010000000000000000000000000000000000000000)))); = (0 * 0x010000000000000000000000000000000000000000) | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & ); (); } ( ) () { !(!(([] / 0x01))); } () () { !(!(( / 0x010000000000000000000000000000000000000000))); } ( ) () { = []; (!) { } { (.. != 0x0); ( , ) = .{ : () - 0x02c6 }(); // call (); = .; } ; } () { (!(!(. == (( / 0x01))))); (!(!(!(( / 0x010000000000000000000000000000000000000000))))); = (0x01 * 0x010000000000000000000000000000000000000000) | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & ); (); } () () { ( / 0x01); } () () { ( / 0x01); } ( , ) { (!(!(!(( / 0x010000000000000000000000000000000000000000))))); (!(!(!(([.] / 0x01))))); (!) { = * ; = * ; ( == 0) { = 0; = 0; } = - ( / 0x2710); = / 0x2710; (( / 0x2710) > ) { = - ; = ; } [.] = [.] - ; [] = [] + ; ( > 0) { [( / 0x01)] = [( / 0x01)] + ; (., ( / 0x01), ); } (., , ); } { (.. != 0x0); ( , ) = .{ : () - 0x02c6 }(., , ); // call (); } } ( , ) { (!(!(. == (( / 0x01))))); ( < 0x14); ( < 0x32); = ; ( == 0) { = 0; (, ); } = * (0x0a ** ); (, ); } ( ) { (!(!(. == (( / 0x01))))); (!(!(( + ) > ))); (!(!(([( / 0x01)] + ) > [( / 0x01)]))); [( / 0x01)] = [( / 0x01)] + ; = + ; (); } ( ) { (!(!(. == (( / 0x01))))); (!(!(!( < )))); (!(!(!([( / 0x01)] < )))); = - ; [( / 0x01)] = [( / 0x01)] - ; (); } ( , ) () { = [][]; (!) { } { (.. != 0x0); ( , ) = .{ : () - 0x02c6 }(, ); // call (); = .; } ; } ( ) () { !(!(([] / 0x01))); } ( ) { (!(!(. == (( / 0x01))))); [] = (0 * 0x01) | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 & []); (); } ( ) { (!(!(. == (( / 0x01))))); (!( == (0))) { = ( * 0x01) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ); } } ( ) { (!(!(. == (( / 0x01))))); (!(!(([] / 0x01)))); () { (.. != 0x0); ( , ) = .{ : () - 0x02c6 }(); // call (); [] = 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() // 0x0753c30c => deprecate(address) // 0x095ea7b3 => approve(address,uint256) // 0x0e136b19 => deprecated() // 0x0ecb93c0 => addBlackList(address) // 0x18160ddd => totalSupply() // 0x23b872dd => transferFrom(address,address,uint256) // 0x26976e3f => upgradedAddress() // 0x27e235e3 => balances(address) // 0x313ce567 => decimals() // 0x35390714 => maximumFee() // 0x3eaaf86b => _totalSupply() // 0x3f4ba83a => unpause() // 0x59bf1abe => getBlackListStatus(address) // 0x5c658165 => allowed(address,address) // 0x5c975abb => paused() // 0x70a08231 => balanceOf(address) // 0x8456cb59 => pause() // 0x893d20e8 => getOwner() // 0x8da5cb5b => owner() // 0x95d89b41 => symbol() // 0xa9059cbb => transfer(address,uint256) // 0xc0324c77 => setParams(uint256,uint256) // 0xcc872b66 => issue(uint256) // 0xdb006a75 => redeem(uint256) // 0xdd62ed3e => allowance(address,address) // 0xdd644f72 => basisPointsRate() // 0xe47d6060 => isBlackListed(address) // 0xe4997dc5 => removeBlackList(address) // 0xe5b5019a => MAX_UINT() // 0xf2fde38b => transferOwnership(address) // 0xf3bdc228 => destroyBlackFunds(address)}