BNB Chain

0x8434c666f5579f4797d97f376b3facef52022d43

Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.

Decompilation outputBNB Chain · 0x8434c666…52022d433.9 KB2.9 s
Share
366 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;  {        = 0;        = 9;        ( => ( => ))  ; // STORAGE[0x0]    ( => )  ; // STORAGE[0x1]     ; // STORAGE[0x2]     ; // STORAGE[0x3]    ( => ) ; // STORAGE[0x4]    ( => ( => ))  ; // STORAGE[0x5]     ; // STORAGE[0x6]     ; // STORAGE[0x7]      ; // STORAGE[0x8]    ( => ) ; // STORAGE[0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5]    ( => ) ;    ( => ) ;    ( => ) ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;         ();     ( ,  ,  );     ( , );     ( , , , , );     ();     ( ,  , );     ();     ();     (, );     ( ,  ,  );     ( ,  , );     ();     ();     ();     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }    ()  {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x23b872dd)) {            // Route to Unknown_23b872dd(address,address) after replacing only msg.sig.            ((0x4323c215));            ;        }         ((.. >= 4) && (. == 0x9010d07c)) {            // Route to Unknown_9010d07c(uint256,uint256) after replacing only msg.sig.            ((0xb656a175));            ;        }         ((.. >= 4) && (. == 0xa3246ad3)) {            // Route to Unknown_a3246ad3(uint256) after replacing only msg.sig.            ((0x1cf458ec));            ;        }         ((.. >= 4) && (. == 0xa9059cbb)) {            // Route to Unknown_a9059cbb(address) after replacing only msg.sig.            ((0x621546ec));            ;        }         ((.. >= 4) && (. == 0xde8ef1cd)) {            // Route to Unknown_de8ef1cd(uint256,uint64) after replacing only msg.sig.            ((0xd96bb150));            ;        }        ();    }             ( ,  )   () {        ( == ( & 0xffffffffffffffff));        (. == , ());         ((( /  != 0x0) && ( == 0x0)) || ( /  == 0x0)) {             ((),  / ,  / , 0, );             0;        }  {             =  * (( + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) / (( / ) + ) + 0x01);             ((),  / ,  / ( * (( + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) / (( / ) + ) + 0x01)), ( / ( * (( + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) / (( / ) + ) + 0x01))) - ( / ),  - (( / ( * (( + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) / (( / ) + ) + 0x01))) - ( / )));             ( / ( * (( + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) / (( / ) + ) + 0x01))) - ( / );        }    }         ( ,  )  {        (([][.]), ());          = 0;         (([][])) {            [][] = ;             (, , .);             = 0x01;        }         ( != 0x0) {              = 0;             (!(0 == (!(!([]))))) {                  = 0;                  = 0;                  = 0;                 (([] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != ( + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) {                     (!((( + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < ))) (50);                     (!((([] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < ))) (50);                     = (0 & ) | (( >> 0) << 0);                    [ >> 0] = [];                }  {                     = [] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;                     =  + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;                     = [];                }                 (!( != 0x0)) (49);                 (!(((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ) < ))) (50);                 = (0) & ;                 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ;                [] = 0;                 = 0x01;            }        }    }         ( )   {         (!(.) && !((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + ..) < 0x40)) {            ( != , ());        }        ();    }         ( )    ( ) {          = 0;          = (.((.(, 0x01))));         ;          =  + 0x20;         () {             ( >= []) {                ;            }             = 0x01 + ;             = 0x01 + ;             =  + 0x20;        }         ((( + ((( - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((( - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);          = 0;          =  + 0x20;          =  + 0x40;         () {             =  + ((( - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));             ( >= .) {                 .(0x20, .);            }             = 0x01 + ;             =  + 0x20;             = 0x20 + ;        }    }         ( ,  )  {        (. == , ());        ( <= ([] / ), ());          = .[0] >> 0xe0;         ( == 0) {             = [] / ;        }          =  * ;         (!( &&  == [] / )) {        }  {             = [];        }        ([] >= , ());        [] = [] - ;         =  - ;         (, (0), );    }         ()    ( ) {         ;    }         ()    () {          / ;    }         ()    () {          / ;    }         ( )  {        ([.], ());        (!(), ());        (.. != 0x0, ());         = ;         (, .);    }         ( ,  )    () {         (!( < [])) (50);         ( >> 0);    }         ( )    () {         [] / ;    }         ( ,  )   () {        (. == , ());        ( != (0), ());        [] = [] + ( * );         =  + ( * );         ((0), , );         ;    }         ( ,  )  {        ( == ., ());        (, );    }         ( ,  )  {        (([][.]), ());         (!(([][]) != 0x0)) {            [][] = ;             (, , .);        }         (!(0 == (!([])))) {             (!( < 0x010000000000000000)) (65);             =  + 0x01;             (!( < )) (50);             = (0 & ) | ( << 0);            [] = ;        }    }         ( )    () {         ;    }         ( ,  )   {         (!(.) && !((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + ..) < 0x60) &&  == ) {            ( != , ());        }        ();    }         ( ,  )   () {        ( != (0), ());        [.][] = ;         (., , [.][]);         ;    }         ()    ( ) {         ;    }         ( )    () {        ( == ( & 0xffffffff00000000000000000000000000000000000000000000000000000000));          = .[0] >> 0xe0;         ;         (( & 0xffffffff00000000000000000000000000000000000000000000000000000000) != 0x5a05180f00000000000000000000000000000000000000000000000000000000) {              = .[0] >> 0xe0;              = 0x1ffc9a700000000000000000000000000000000000000000000000000000000 == ( & 0xffffffff00000000000000000000000000000000000000000000000000000000);             ( & (0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x7965db0b00000000000000000000000000000000000000000000000000000000) {                 =  & (0xffffffff00000000000000000000000000000000000000000000000000000000);                 = ( & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x7965db0b00000000000000000000000000000000000000000000000000000000;            }             = ;        }  {             =  & (0xffffffff00000000000000000000000000000000000000000000000000000000);             = ( & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x5a05180f00000000000000000000000000000000000000000000000000000000;        }         ;    }         ( ,  )  {        // Decompilation incomplete: helper effect provenance is conservative.          = 0;         (([][])) {            [][] = ;             (, , .);             = 0x01;        }         ( != 0x0) {              = 0;             (!(0 == (!(!([]))))) {                  = 0;                  = 0;                  = 0;                 (([] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != ([] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) {                     (!((([] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < ))) (50);                     (!((([] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < ))) (50);                     = (0 &  | ( >> (0 << 0x03) << 0));                    [ >> (0 << 0x03)] = [];                }  {                     = [] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;                     = [] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;                     = [];                }                 (!([])) (49);                 (!(((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + []) < ))) (50);                 = (~(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff << (0 << 0x03))) & ;                [] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + [];                [] = 0;                 = ;            }        }    }         ( )  {         {              := (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)    // 0x06fdde03 => name()    // 0x095ea7b3 => approve(address,uint256)    // 0x18160ddd => totalSupply()    // 0x23b872dd => Unknown_23b872dd(address,address)    // 0x248a9ca3 => getRoleAdmin(bytes32)    // 0x2f2ff15d => grantRole(bytes32,address)    // 0x313ce567 => decimals()    // 0x36568abe => renounceRole(bytes32,address)    // 0x40c10f19 => mint(address,uint256)    // 0x70a08231 => balanceOf(address)    // 0x9010d07c => Unknown_9010d07c(uint256,uint256)    // 0x91d14854 => hasRole(bytes32,address)    // 0x92eefe9b => setController(address)    // 0x9358928b => circulatingSupply()    // 0x95d89b41 => symbol()    // 0x9dc29fac => burn(address,uint256)    // 0xa217fddf => DEFAULT_ADMIN_ROLE()    // 0xa3246ad3 => Unknown_a3246ad3(uint256)    // 0xa9059cbb => Unknown_a9059cbb(address)    // 0xca15c873 => getRoleMemberCount(bytes32)    // 0xd547741f => revokeRole(bytes32,address)    // 0xdd62ed3e => allowance(address,address)    // 0xde8ef1cd => Unknown_de8ef1cd(uint256,uint64)    // 0xf77c4791 => controller()}