Ethereum
0x677a158660aa63166ebb9ed3778e985b0663a2b5
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputEthereum · 0x677a1586…0663a2b513.7 KB108.2 s
This result is permanently available athttps://decompiler.exvul.com/ethereum/0x677a158660aa63166ebb9ed3778e985b0663a2b5
453 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// Decompilation incomplete: symbolic execution reached a configured deadline for 2 of 14 entry points (170000 ms contract budget): 1bce6ff3, d56b2889// SPDX-License-Identifier: MIT >=0.8.0; { = (0x7cb20517776636ed76b68edb3d99dcce356abf02); = 427010455897460950742997054519178949602785163006; = 141544111700607890381312766724559244351629060123; = 74218982313005881035771074163464080211373479191108287201108386762747086901067; = (0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a); = 25983595256297482361551155215412822257609063343699447623163668577291427005199; = 623933646057717597702919310231602434970510892507; = 280889006007085918629621869807346232775738397032; ; // STORAGE[0x3] ; // STORAGE[0x4] ; // STORAGE[0x5] ; // STORAGE[0x6] [] ; // STORAGE[0x7] [] ; // STORAGE[0x8] (); (); ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { (!(.) && !((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + ..) < 0) && . == 0x18cb0eb73d953ed20f2157ce6bde2a85e30e681b && () == 0x01 && ( >> 0x08)) { (0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a).(); // staticcall } } () () { (); } () { (. == 0x18cb0eb73d953ed20f2157ce6bde2a85e30e681b, ()); = .[0] >> 0xe0; (() != 0x01) { = ; } ((( & 0xff) == 0x1 && ((0x8, ) & 0xff) == 0x0), ()); ( , ) = (0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a).(); // staticcall (); () { ; (0x20 > .) { ((( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + .) - ) >= 0x20); (. == .); (. != 0x0, ()); ( , ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); (. == ((.))); } { = ; = 0; } ( , ) = .(.((0x70a08231), 0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a)); // staticcall balanceOf (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); } { = ; = 0; } (!(), ()); ( , ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); } { = ; = 0; } ( == , ()); ( , ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); } { = ; = 0; } ( == , ()); = 0; () { (0x01 == 0) { = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & ); } (!( < .)) { = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & ); ; } (!( < .)) { (50); ; } ( , ) = ([] >> 0).(0x4acbcfa29fb085097c5f31783403ef7a7930f6fe); // staticcall (!) { (); ; } () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) { (65); ; } = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) < 0x20) { (); ; } (!( < .)) { (50); ; } [] = (0 & []) | (. << 0); } { (!( < .)) { (50); ; } [] = (0 & []) | 0; } ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { (17); ; } = 0x01 + ; } } { ((( + 0x20) > 0xffffffffffffffff) | (( + 0x20) < )) (65); = + 0x20; ((( + 0x20) - ) >= 0x20); (. == .); (. != 0x0, ()); ( , ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); (. == ((.))); } { = ; = 0; } ( , ) = .(.((0x70a08231), 0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a)); // staticcall balanceOf (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); } { = ; = 0; } (!(), ()); ( , ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); } { = ; = 0; } ( == , ()); ( , ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); } { = ; = 0; } ( == , ()); = 0; () { (0x01 == 0) { = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & ); } (!( < .)) { = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & ); ; } (!( < .)) { (50); ; } ( , ) = ([] >> 0).(0x4acbcfa29fb085097c5f31783403ef7a7930f6fe); // staticcall (!) { (); ; } () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) { (65); ; } = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) < 0x20) { (); ; } (!( < .)) { (50); ; } [] = (0 & []) | (. << 0); } { (!( < .)) { (50); ; } [] = (0 & []) | 0; } ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { (17); ; } = 0x01 + ; } } } { (0, ()); ( , ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); (. == ((.))); } { = ; = 0; } ( , ) = .(.((0x70a08231), 0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a)); // staticcall balanceOf (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); } { = ; = 0; } (!(), ()); ( , ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); } { = ; = 0; } ( == , ()); ( , ) = (0x7cb20517776636ed76b68edb3d99dcce356abf02).(); // staticcall (); = .[0] >> 0xe0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); } { = ; = 0; } ( == , ()); = 0; () { (0x01 == 0) { = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & ); } (!( < .)) { = 0x0100 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff & ); ; } (!( < .)) { (50); ; } ( , ) = ([] >> 0).(0x4acbcfa29fb085097c5f31783403ef7a7930f6fe); // staticcall (!) { (); ; } () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) { (65); ; } = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) < 0x20) { (); ; } (!( < .)) { (50); ; } [] = (0 & []) | (. << 0); } { (!( < .)) { (50); ; } [] = (0 & []) | 0; } ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { (17); ; } = 0x01 + ; } } } () () { !(!(( >> 0x08))); } () { (!(.) && !((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + ..) < 0) && . == 0x18cb0eb73d953ed20f2157ce6bde2a85e30e681b && !(())) { (0xdd26c236ec95d03ddf3cb67b7f54864719e9be5a).(); // staticcall } } // 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. // 0x04c4663e => retiredDeployer() // 0x105bf2c4 => newRouter() // 0x1bce6ff3 => begin() // 0x26e31300 => startingLegacyCash() // 0x40fb6e0d => legacyCashHandled() // 0x4d573ba2 => verifyLegacyCashHandled() // 0x7c43ca99 => retirementConfigHash() // 0x964c1f98 => oldRouter() // 0xad81cffe => replacementCodeHash() // 0xb1c9fe6e => phase() // 0xd33219b4 => timelock() // 0xd56b2889 => finish() // 0xd8dfeb45 => collateral() // 0xfc0c546a => token()}