BNB Chain

0x7cf7a1b6334e491472347887cac462f3f99a858f

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

Decompilation outputBNB Chain · 0x7cf7a1b6…f99a858f4.6 KB5.2 s
Share
252 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;  {     ( ,  )   ( );}  {      ; // STORAGE[0x0]      ; // STORAGE[0x1]      ; // STORAGE[0x2]      ; // STORAGE[0x3]    ( => ( => ))  ; // STORAGE[0x4]     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;         ( ,  );     ( ,  ,  , , , );     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }         () {        (. == , "Ownable: caller is not the owner");        ;    }    ()   {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x09f81018)) {            // Route to Unknown_09f81018(uint256,uint256) after replacing only msg.sig.            ((0x0b66539b));            ;        }         ((.. >= 4) && (. == 0x46fdcb46)) {            // Route to Unknown_46fdcb46(uint256,uint256,bool,uint256,uint256) after replacing only msg.sig.            ((0xa9709f72));            ;        }         ((.. >= 4) && (. == 0x9d2effc4)) {            // Route to Unknown_9d2effc4(address,uint256,address,uint256,uint256,uint256,uint256,uint256) after replacing only msg.sig.            ((0x605393da));            ;        }        ();    }             ( ,  )    {         (!( < )) (50);         = ;    }         ( )    ( ) {        ( < );         .(, , , , , , , , );    }         ( ,  ,  ,  ,  )   {        ( == ( & 0xff));        (, , , , );    }         ( ,  ,  )    {         (!( < )) (50);         = ( * 0x01) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & );         (!( < )) (50);         = () ? 1 : 0;    }         ( )    {         = ;    }         ()    {         (, (0));         = (0);    }         ( ,  ,  )    {         (!( < )) (50);         = ;         (!( < )) (50);         = () ? 1 : 0;    }         ( ,  ,  )    {        ().(, );    }         ( ,  ,  ,  ,  ,  ,  ,  )    {         ;         =  + 0x0120;         =  + 0x01;         = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ) | (0xffffffffffffffffffffffffffffffffffffffff & (.));         = ;         = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ) | (0xffffffffffffffffffffffffffffffffffffffff & );         = ;         = ;         = ;         = ;         = ;         = ;    }         ( ,  )    {         (!( < )) (50);         = ;    }         ( )    {         = ;    }         ( )    {        ( != (0), "Ownable: new owner is the zero address");         (, );         = ;    }         ( ,  )    {         (!( < )) (50);         = ;    }         ( ,  )    {         (!( < )) (50);         = ;    }         ( ,  ,  ,  ,  )  {        // Decompilation incomplete: helper effect provenance is conservative.         (!( < )) (50);         ;         =  + 0x0120;          = !(. < );         (. >= ) {             = !(. > );        }        (, "invalid time");        ( > 0x0, "zero quantity");         ;         ;         ( <= 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0) {            ();              = 0;              = ;             (!(())) {                 = 0x01;                 = 0;            }             = ;             = ;        }  {             = 0x03;             = 0;        }         (!( <= 0x4)) (33);         ( != 0x0) {            ( != 0x1, "ECDSA: invalid signature");            ( != 0x2, "ECDSA: invalid signature length");            ( != 0x3, "ECDSA: invalid signature 's' value");        }        (() == (0xffffffffffffffffffffffffffffffffffffffff & ), "signer error");         (!( < )) (50);         =  - ;         (!( < )) (50);         =  + ;        [][.] =  + [][.];        (!( > ), "perUserLimit");          = ();         () {             = ;        }        ( ,   ) = .(.((0x23b872dd), ., ,  * )); // call transferFrom        ();         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (!((( + .) - ) < 0x20));        ((.).. != 0x0);        ( ,   ) = (.).(., , ); // call        ();         (., (.), (), , ,  * );    }         ( )  {         {              := (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.        // 0x09f81018 => Unknown_09f81018(uint256,uint256)    // 0x238ac933 => signer()    // 0x34d5f37b => round(uint256)    // 0x46fdcb46 => Unknown_46fdcb46(uint256,uint256,bool,uint256,uint256)    // 0x49a402be => setCurrencyAndPrice(uint256,address,uint256)    // 0x6c19e783 => setSigner(address)    // 0x715018a6 => renounceOwnership()    // 0x7f6486a8 => setTime(uint256,uint256,uint256)    // 0x8b649b94 => roundLength()    // 0x8da5cb5b => owner()    // 0x996cba68 => claim(address,address,uint256)    // 0x9d2effc4 => Unknown_9d2effc4(address,uint256,address,uint256,uint256,uint256,uint256,uint256)    // 0xae3f1f2c => feeto()    // 0xcee816aa => setMinted(uint256,uint256)    // 0xe3162274 => setFeeto(address)    // 0xe6d3da8b => userMinted(uint256,address)    // 0xf2fde38b => transferOwnership(address)    // 0xf7d97577 => setPrice(uint256,uint256)    // 0xfc784d49 => setSupply(uint256,uint256)}