Ethereum
0xea18b13d11f705a68f0954f637949e1eaa7ac4ca
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputEthereum · 0xea18b13d…aa7ac4ca6.9 KB10.1 s
This result is permanently available athttps://decompiler.exvul.com/ethereum/0xea18b13d11f705a68f0954f637949e1eaa7ac4ca
779 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; { = (0xcb14a7ace59b7a7b19ba3fee0f3a37d23fa62157); ; // STORAGE[0x0] ; // STORAGE[0x1] ; // STORAGE[0x2] [] ; // STORAGE[0x3] ( => ) ; // STORAGE[0x4] ; // STORAGE[0x5] ( => ) ; ( => ) ; ; ; ; ; ; (, ); ( , ); (); (); (); (); (); (); (); (); (); (); ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { // Synthetic compatibility routes preserve original selectors for unresolved names. ((.. >= 4) && (. == 0x00000014)) { // Route to Unknown_00000014() after replacing only msg.sig. ((0x606bb9e4)); ; } ((.. >= 4) && (. == 0x00000020)) { // Route to Unknown_00000020(address,bool) after replacing only msg.sig. ((0xaa60497c)); ; } ((.. >= 4) && (. == 0x00000024)) { // Route to Unknown_00000024(address) after replacing only msg.sig. ((0x62afd32f)); ; } ((.. >= 4) && (. == 0x0000002b)) { // Route to Unknown_0000002b() after replacing only msg.sig. ((0x744023c7)); ; } ((.. >= 4) && (. == 0x00000033)) { // Route to Unknown_00000033(address) after replacing only msg.sig. ((0x1c78ef5c)); ; } ((.. >= 4) && (. == 0x00000042)) { // Route to Unknown_00000042(uint256) after replacing only msg.sig. ((0xd1b8f334)); ; } ((.. >= 4) && (. == 0x0000004f)) { // Route to Unknown_0000004f() after replacing only msg.sig. ((0xb043380d)); ; } ((.. >= 4) && (. == 0x00000055)) { // Route to Unknown_00000055() after replacing only msg.sig. ((0x6bf1cd0c)); ; } ((.. >= 4) && (. == 0x0000005d)) { // Route to Unknown_0000005d(bytes,bytes,address,bytes) after replacing only msg.sig. ((0xcc106bc0)); ; } ((.. >= 4) && (. == 0x00000069)) { // Route to Unknown_00000069() after replacing only msg.sig. ((0x874657c0)); ; } ((.. >= 4) && (. == 0x00000083)) { // Route to Unknown_00000083() after replacing only msg.sig. ((0x074a3cb4)); ; } ((.. >= 4) && (. == 0x0000009d)) { // Route to Unknown_0000009d() after replacing only msg.sig. ((0x7768feae)); ; } ((.. >= 4) && (. == 0x000000b9)) { // Route to Unknown_000000b9() after replacing only msg.sig. ((0x6326c841)); ; } ((.. >= 4) && (. == 0x000000df)) { // Route to Unknown_000000df(bytes,bytes,address,bytes) after replacing only msg.sig. ((0x4c0bea65)); ; } ((.. >= 4) && (. == 0x000000f2)) { // Route to Unknown_000000f2(address) after replacing only msg.sig. ((0x3c9147c4)); ; } (); } () ( ) { 0x20; } ( , ) { (, ); } ( ) () { !(!( == )); } () { ( , ) = .(.); // staticcall (); ; = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. != 0x0)); ( != 0x0, "Module: only safe can pause"); (!(( / 0x010000000000000000000000000000000000000000)), "Pausable: paused"); = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & ); (.); } ( ) { (. == , ()); (, ); = ; } ( ) { (. == , ()); = () ? 1 : 0; (); } () ( ) { (. > 0xffffffffffffffff) (65); ; = + (0x20 + (0x20 * .)); (. != 0) { } = 0; () { ( >= .) { ; } (!( < .)) (50); (!( < .)) (50); = 0x01 + ; } = 0; = + 0x40; = 0x20 + ; () { (!( < .)) { ; } = 0x01 + ; = 0x20 + ; = 0x20 + ; } .(0x20, .); } () { ( , ) = .(.); // staticcall (); ; = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. != 0x0)); ( != 0x0, "Module: only safe can unpause"); (( / 0x010000000000000000000000000000000000000000) != 0x0, "Pausable: not paused"); = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & ; (.); } ( , , , ) () { (!(((0x04 + ) + (. << 0x05) + 0x20) > ..)); (!(. <= 0xffffffffffffffff)) (65); ; ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f)); (!((0x20 + ((0x04 + ) + (. << 0x05))) > ..)); = (0x04 + ) + 0x20; = ; = + 0x20; = 0x20; = 0x20 + ((0x04 + ) + (. << 0x05)); = 0; = 0x04 + ; = ..; () { ( >= ) { ; } (!(.[] > 0xffffffffffffffff)); ( > (( + .[]) + 0x3f)); (!((.[( + .[]) + ]) <= 0xffffffffffffffff)) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f)); (!((( + .[]) + (.[( + .[]) + ]) + 0x40) > )); = + ; = ; = + ; = ; = ; = ; = ; = ; ( == ( & 0xffffffffffffffffffffffffffffffff)); (!(. <= 0xffffffffffffffff)) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f)); (!((0x20 + ((0x04 + ) + (. << 0x05))) > ..)); = (0x04 + ) + 0x20; = ; = + 0x20; = 0x20; = 0x20 + ((0x04 + ) + (. << 0x05)); = 0; = 0x04 + ; = ..; () { ( >= ) { ; } = + ; = ; = + ; = ; = ; = ; = ; = ; ([.], ()); (!(( / 0x010000000000000000000000000000000000000000)), "Pausable: paused"); (. <= 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); = (. << 0x05) + (0x20 + ); (( & 0xffffffffffffffffffffffffffffffff) != 0x0) { = 0x60; = 0; () { (!(0 < )) { ; } = ; (( & (0x80000000000000000000000000000000 >> (())))) { (!(() < )) (50); = 0; () { ( >= ) { ; } = 0x20 + ; = 0; () { ( >= ) { ; } = 0x20 + ; = + ((0x20 + ) + ); } } = ; } = ; = 0x01 + ; } = 0x80 + ; = 0x20 + (0x20 + ); = 0; = (.((.((), (()), ())))); = 0; = (.((.((), (()), ())))); = ; () { ( >= ) { ; } = (.(, ())); ( < ) { } { = (.(, )); } (!((0x01 + ) < )) { ; } = (.(, ())); ( < ) { } { = (.(, )); } = 0x01 + (0x01 + ); = ; = ; = ; = ; ( == , ()); (. <= 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); = 0; = + 0x20; = ((0x24 + ) + (. << 0x05)) + 0x80; = ((0x24 + ) + (. << 0x05) + ( << 0x05)) + 0x80; ; () { = ; = ; = ; = ; (!( < )) { ; } = 0; () { = ; ( >= ) { ; } (0x20 + >= ) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } (!((0x01 + ) < )) { ; } (0x0 >= ) { } { } = 0x01 + (0x01 + ); = 0x20 + (0x20 + ); = 0x20 + (0x20 + ); = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + ))); = 0x01 + ; = 0x20 + ; = 0x20 + ; = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + ); } = ; = 0; () { = ; ( >= ) { ; } (0x20 + >= ) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } (!(0x01 < 0x2)) (33); ( , ) = .((0xcb14a7ace59b7a7b19ba3fee0f3a37d23fa62157), 0, 0x80, 0x01); // call (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); (. == (. != 0x0)); .; } ( == , ()); (!(. > 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)); = 0; = + 0x20; = ((0x24 + ) + (. << 0x05)) + 0x80; = ((0x24 + ) + (. << 0x05) + ( << 0x05)) + 0x80; () { (!( < )) { ; } = 0; () { ( >= ) { ; } = 0x20 + ; = 0x01 + ; = 0x20 + ; = 0x20 + ; = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + ); } } = ; = 0; () { = ; ( >= ) { ; } (0x20 + >= ) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } (!(0x1 < 0x2)) (33); .(0xcb14a7ace59b7a7b19ba3fee0f3a37d23fa62157, 0, 0x80, 0x01); // call } { = 0x80 + ; = 0x20 + (0x20 + ); = 0; = (.((.((), 0, ())))); = 0; = (.((.((), 0, ())))); = ; () { ( >= ) { ; } = (.(, ())); ( < ) { } { = (.(, )); } (!((0x01 + ) < )) { ; } = (.(, ())); ( < ) { } { = (.(, )); } = 0x01 + (0x01 + ); = ; = ; = ; = ; ( == , ()); (. <= 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); = 0; = + 0x20; = ((0x24 + ) + (. << 0x05)) + 0x80; = ((0x24 + ) + (. << 0x05) + ( << 0x05)) + 0x80; ; () { = ; = ; = ; = ; (!( < )) { ; } = 0; () { = ; ( >= ) { ; } (0x20 + >= ) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } (!((0x01 + ) < )) { ; } (0x0 >= ) { } { } = 0x01 + (0x01 + ); = 0x20 + (0x20 + ); = 0x20 + (0x20 + ); = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + ))); = 0x01 + ; = 0x20 + ; = 0x20 + ; = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + ); } = ; = 0; () { = ; ( >= ) { ; } (0x20 + >= ) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } (!(0x01 < 0x2)) (33); ( , ) = .((0xcb14a7ace59b7a7b19ba3fee0f3a37d23fa62157), 0, 0x80, 0x01); // call (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); (. == (. != 0x0)); .; } ( == , ()); (!(. > 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)); = 0; = + 0x20; = ((0x24 + ) + (. << 0x05)) + 0x80; = ((0x24 + ) + (. << 0x05) + ( << 0x05)) + 0x80; () { (!( < )) { ; } = 0; () { ( >= ) { ; } = 0x20 + ; = 0x01 + ; = 0x20 + ; = 0x20 + ; = 0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + ); } } = ; = 0; () { = ; ( >= ) { ; } (0x20 + >= ) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } (!(0x1 < 0x2)) (33); .(0xcb14a7ace59b7a7b19ba3fee0f3a37d23fa62157, 0, 0x80, 0x01); // call } (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. != 0x0)); .; } } } () { (. == (()), ()); = ( & (0xffffffffffffffffffffffffffffffffffffffff)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ); = & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000); (); } () () { !(!(( / 0x010000000000000000000000000000000000000000))); } () () { (); } () ( ) { 0x20; } ( , , , ) { (!(((0x04 + ) + (. << 0x05) + 0x20) > ..)); (!(. <= 0xffffffffffffffff)) (65); ; ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f)); (!((0x20 + ((0x04 + ) + (. << 0x05))) > ..)); = (0x04 + ) + 0x20; = ; = + 0x20; = 0x20; = 0x20 + ((0x04 + ) + (. << 0x05)); = 0; = 0x04 + ; = ..; () { ( >= ) { ; } (!(.[] > 0xffffffffffffffff)); ( > (( + .[]) + 0x3f)); (!((.[( + .[]) + ]) <= 0xffffffffffffffff)) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (.[( + .[]) + ])))) + 0x1f)); (!((( + .[]) + (.[( + .[]) + ]) + 0x40) > )); = + ; = ; = + ; = ; = ; = ; = ; = ; ( == ( & 0xffffffffffffffffffffffffffffffff)); (!(. <= 0xffffffffffffffff)) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f)); (!((0x20 + ((0x04 + ) + (. << 0x05))) > ..)); = (0x04 + ) + 0x20; = ; = + 0x20; = 0x20; = 0x20 + ((0x04 + ) + (. << 0x05)); = 0; = 0x04 + ; = ..; () { ( >= ) { ; } = + ; = ; = + ; = ; = ; = ; = ; = ; ([.], ()); (!(( / 0x010000000000000000000000000000000000000000)), "Pausable: paused"); (!(. > 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)); = .[36:36]; = (. << 0x05) + (0x20 + ); = (); (( & 0xffffffffffffffffffffffffffffffff) != 0x0) { = 0x60; = 0; () { (!(0 < )) { ; } = ; (( & (0x80000000000000000000000000000000 >> (())))) { (!(() < )) (50); = 0; () { ( >= ) { ; } = 0x20 + ; = 0; () { ( >= ) { ; } = 0x20 + ; = + ((0x20 + ) + ); } } = ; } = ; = 0x01 + ; } } { = 0; } = 0x80 + ; = 0x20 + (0x20 + ); = 0; = (.((.((), , ())))); = 0; = (.((.((), , ())))); = ; () { ( >= ) { ; } = (.(, ())); ( < ) { } { = (.(, )); } = 0x01 + ; = ; = ; = ; = ; (( == ), ()); (!(. > 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)); } } } } ( ) { (. == , ()); (!(()), ()); = | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ); (); } ( , ) { // Decompilation incomplete: helper effect provenance is conservative. (. == , ()); () { (![]) { . = 0x01 + .; [.] = ; [] = .; (, ); } (, ); } { = 0; ([] != 0) { (!(( - 0x01) == ([] - 0x01))) { (!(( - 0x01) < )) (50); (!(([] - 0x01) < )) (50); = ; [] = []; } (!( != 0x0)) (49); = 0; = - 0x01; [] = 0; = 0x01; } (, ); } } ( ) { { := (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. // 0x00000013 => unresolved_00000013() // 0x00000014 => Unknown_00000014() // 0x00000020 => Unknown_00000020(address,bool) // 0x00000024 => Unknown_00000024(address) // 0x0000002b => Unknown_0000002b() // 0x00000033 => Unknown_00000033(address) // 0x00000042 => Unknown_00000042(uint256) // 0x0000004f => Unknown_0000004f() // 0x00000055 => Unknown_00000055() // 0x0000005d => Unknown_0000005d(bytes,bytes,address,bytes) // 0x00000067 => unresolved_00000067() // 0x00000069 => Unknown_00000069() // 0x00000083 => Unknown_00000083() // 0x0000009d => Unknown_0000009d() // 0x000000aa => unresolved_000000aa() // 0x000000b9 => Unknown_000000b9() // 0x000000c3 => unresolved_000000c3() // 0x000000df => Unknown_000000df(bytes,bytes,address,bytes) // 0x000000f2 => Unknown_000000f2(address)}