BNB Chain
0xbe5408ed45ba627bc50072b03bb74d053f6c4d08
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0xbe5408ed…3f6c4d0822.0 KB6.1 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0xbe5408ed45ba627bc50072b03bb74d053f6c4d08
324 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: generated symbolic output exceeded safe postprocessing limits for 1 of 20 entry points; ABI and selector evidence were preserved but those Solidity bodies were omitted: faa75c8a// SPDX-License-Identifier: MIT >=0.8.0; { = 8534; = 26133828882392675078029293617380659011485581030147140855416125394653528974915; = 38565618417199902773051943526088628524471517387241857154768371431684916793409; = 1027482227425746534718076203349052647601228114557; = 51542168180248082152030056451728049499749905167243835096059084772534901506895; = 22143815007443950358033768099949663291695788430462318010626906136550708406027; = 0; = 823732757968423494232508997868029306736301263878; = 10000000000000000; = 12500; = 114661979489761869402673463282528833466887108470131624800944901259873389970420; = 250; ( => ( => )) ; // STORAGE[0x65] ; ; ; ( , , ); ( , , ); ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { // Synthetic compatibility routes preserve original selectors for unresolved names. ((.. >= 4) && (. == 0x53708b8a)) { // Route to Unknown_53708b8a(bytes) after replacing only msg.sig. ((0xecadb553)); ; } ((.. >= 4) && (. == 0xfaa75c8a)) { // Route to Unknown_faa75c8a(bytes) after replacing only msg.sig. ((0xee16888c)); ; } (); } ( ) () { ( == ( & 0xffffffff00000000000000000000000000000000000000000000000000000000)); = 0x7965db0b00000000000000000000000000000000000000000000000000000000 == ( & 0xffffffff00000000000000000000000000000000000000000000000000000000); (0x7965db0b00000000000000000000000000000000000000000000000000000000 != ( & 0xffffffff00000000000000000000000000000000000000000000000000000000)) { = ( & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x1ffc9a700000000000000000000000000000000000000000000000000000000; } ; } ( ) () { ; } ( , ) { (, ); } ( , ) { (. == , "AccessControl: can only renounce roles for self"); (([][])) { [][] = ; (, , .); } } ( ) { (!((.. - 0x04) < 0x01e0)); (!((.. - (0x04 + )) < 0x04c0)); (!(((.. - 0x04) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) < 0x01c0)); (!((.. - (0x04 + )) < 0x04c0)); ; ((( + 0x0260) < ) | (( + 0x0260) > 0xffffffffffffffff)) (65); = + 0x0260; (((0x04 + ) + + 0x1f) < ..); ( + > 0xffffffffffffffff) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + + 0x1f))) + 0x1f)); (!(((0x04 + ) + + 0x20) + ( + ) > ..)); (!(( + 0x20) > 0xffffffffffffffff)); (((0x04 + ) + ( + 0x20) + 0x1f) < ..); ( + ( + 0x20) > 0xffffffffffffffff) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x20) + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x20) + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x20) + 0x1f))) + 0x1f)); (!(((0x04 + ) + ( + 0x20) + 0x20) + ( + ( + 0x20)) > ..)); (!(( + 0x40) > 0xffffffffffffffff)); (((0x04 + ) + ( + 0x40) + 0x1f) < ..); ( + ( + 0x40) > 0xffffffffffffffff) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x40) + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x40) + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x40) + 0x1f))) + 0x1f)); (!(((0x04 + ) + ( + 0x40) + 0x20) + ( + ( + 0x40)) > ..)); (( + 0x60) < 0x06); (( + 0xa0) < 0x04); (( + 0xc0) == (( + 0xc0) & 0xffffffffffffffffffffffffffffffffffffffff)); (!(( + 0x0100) > 0xffffffffffffffff)); (((0x04 + ) + ( + 0x0100) + 0x1f) < ..); ( + ( + 0x0100) > 0xffffffffffffffff) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x0100) + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x0100) + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x0100) + 0x1f))) + 0x1f)); (!(((0x04 + ) + ( + 0x0100) + 0x20) + ( + ( + 0x0100)) > ..)); (!(( + 0x0140) > 0xffffffffffffffff)); (((0x04 + ) + ( + 0x0140) + 0x1f) < ..); ( + ( + 0x0140) > 0xffffffffffffffff) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x0140) + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x0140) + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + ( + 0x0140) + 0x1f))) + 0x1f)); (!(((0x04 + ) + ( + 0x0140) + 0x20) + ( + ( + 0x0140)) > ..)); (( + 0x0160) < 0x03); (( + 0x0180) == (( + 0x0180) & 0xffff)); (( + 0x01a0) == (( + 0x01a0) & 0xffff)); (( + 0x01c0) == (( + 0x01c0))); (( + 0x01e0) == (( + 0x01e0))); (( + 0x0200) == (( + 0x0200) & 0xffffffffffffffffffffffffffffffffffffffff)); (( + 0x0220) < 0x08); ((((0x04 + ) + 0x0240) + 0x1f) < ..); ((( + 0x80) < ) | (( + 0x80) > 0xffffffffffffffff)) (65); = + 0x80; (!((((0x04 + ) + 0x0240) + 0x0280) > ..)); (!(0x4 + + 0x240 >= 0x4 + + 0x240 + 0x280)) { (!((.. - ((0x04 + ) + 0x0240)) < 0xa0)); } (!(((0x24 + (.. - 0x24)) - 0x24) < 0x01c0)); } ( , ) { (, ); } ( ) ( ) { // Function body omitted: symbolic output exceeded safe complexity limits. { (0, 0) } } ( , ) { // Decompilation incomplete: helper effect provenance is conservative. (!(([][.]) != 0x0)) { (!(0x14 * 0x2 + 0x2 <= 0xffffffffffffffff)) (65); ; = + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x14 * 0x02) + 0x02)))); = (0x14 * 0x02) + 0x02; (0x14 * 0x2 + 0x2 != 0x0) { = ((0x14 * 0x02) + 0x02) + ( + 0x20); } (!(0 < .)) (50); (!(0x01 < .)) (50); = (0x14 * 0x02) + 0x01; = .; ; () { = ; = ; ( <= 0x1) { ; } (!((0xf & ) < 0x10)) (50); (!( < .)) (50); (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + <= 0x1) { ; } (!(0x0f & ( >> 0x04) < 0x10)) (50); (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ) < .)) (50); = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ); = ( >> 0x04) >> 0x04; = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ; = >> 0x04; } ( == 0x0, "Strings: hex length insufficient"); (!(0x20 * 0x2 + 0x2 <= 0xffffffffffffffff)) (65); = + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x20 * 0x02) + 0x02)))); = (0x20 * 0x02) + 0x02; ((0x20 * 0x02) + 0x02 != 0) { = ((0x20 * 0x02) + 0x02) + ( + 0x20); } (!(0 < .)) (50); (!(0x01 < .)) (50); = (0x20 * 0x02) + 0x01; = ; ; () { = ; = ; ( <= 0x1) { ; } (!((0xf & ) < 0x10)) (50); (!( < .)) (50); (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + <= 0x1) { ; } (!(0x0f & ( >> 0x04) < 0x10)) (50); (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ) < .)) (50); = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ); = ( >> 0x04) >> 0x04; = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ; = >> 0x04; } ( == 0x0, "Strings: hex length insufficient"); = ((((0x20 + ) + 0x17) + .) + 0x11) + .; ("AccessControl: account 0x\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 is missing role 0x\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"); } (!(([][]) != 0x0)) { [][] = ; (, , .); } } ( , ) { // Decompilation incomplete: helper effect provenance is conservative. (!(([][.]) != 0x0)) { (!(0x14 * 0x2 + 0x2 <= 0xffffffffffffffff)) (65); ; = + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x14 * 0x02) + 0x02)))); = (0x14 * 0x02) + 0x02; (0x14 * 0x2 + 0x2 != 0x0) { = ((0x14 * 0x02) + 0x02) + ( + 0x20); } (!(0 < .)) (50); (!(0x01 < .)) (50); = (0x14 * 0x02) + 0x01; = .; ; () { = ; = ; ( <= 0x1) { ; } (!((0xf & ) < 0x10)) (50); (!( < .)) (50); (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + <= 0x1) { ; } (!(0x0f & ( >> 0x04) < 0x10)) (50); (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ) < .)) (50); = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ); = ( >> 0x04) >> 0x04; = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ; = >> 0x04; } ( == 0x0, "Strings: hex length insufficient"); (!(0x20 * 0x2 + 0x2 <= 0xffffffffffffffff)) (65); = + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x20 * 0x02) + 0x02)))); = (0x20 * 0x02) + 0x02; ((0x20 * 0x02) + 0x02 != 0) { = ((0x20 * 0x02) + 0x02) + ( + 0x20); } (!(0 < .)) (50); (!(0x01 < .)) (50); = (0x20 * 0x02) + 0x01; = ; ; () { = ; = ; ( <= 0x1) { ; } (!((0xf & ) < 0x10)) (50); (!( < .)) (50); (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + <= 0x1) { ; } (!(0x0f & ( >> 0x04) < 0x10)) (50); (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ) < .)) (50); = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ); = ( >> 0x04) >> 0x04; = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ; = >> 0x04; } ( == 0x0, "Strings: hex length insufficient"); = ((((0x20 + ) + 0x17) + .) + 0x11) + .; ("AccessControl: account 0x\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 is missing role 0x\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"); } (([][])) { [][] = ; (, , .); } } ( ) { { := (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. // 0x01ffc9a7 => supportsInterface(bytes4) // 0x0fe3867c => DEFAULT_PCS_INFINITY_NORMAL_FEE_PIPS() // 0x228fd33f => TAX_GUARDIAN_ROLE() // 0x248a9ca3 => getRoleAdmin(bytes32) // 0x24ea54f4 => GUARDIAN_ROLE() // 0x2f2ff15d => grantRole(bytes32,address) // 0x36568abe => renounceRole(bytes32,address) // 0x397865b4 => unresolved_397865b4() // 0x53708b8a => Unknown_53708b8a(bytes) // 0x797669c9 => MODERATOR_ROLE() // 0x91d14854 => hasRole(bytes32,address) // 0x967a2a70 => TAX_MANAGER_ROLE() // 0xa217fddf => DEFAULT_ADMIN_ROLE() // 0xb22a3410 => VAULT_PORTAL() // 0xbc778a25 => SALT_LOCK_FEE() // 0xd547741f => revokeRole(bytes32,address) // 0xe0893e0c => DEFAULT_V4_NORMAL_FEE_PIPS() // 0xeae8a630 => TOKEN_FLAP_FEE_SETTER_ROLE() // 0xfa4f8931 => DEFAULT_V4_TICK_SPACING() // 0xfaa75c8a => Unknown_faa75c8a(bytes)}