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
Share
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)}