BNB Chain
0x8795530eed8d79635d484206addec9286f2c1a3f
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0x8795530e…6f2c1a3f9.8 KB4.9 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0x8795530eed8d79635d484206addec9286f2c1a3f
713 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; { () ( ); ( ) ( ); ( , ) ( );} { () ( , , );} { = 489982930986835137684486657990555633941558688085; ; // STORAGE[0x0] ; // STORAGE[0x1] ; // STORAGE[0x2] ; // STORAGE[0x3] bytes 0 to 19 ; // STORAGE[0x5] bytes 0 to 19 ; // STORAGE[0x6] ; // STORAGE[0x7] ; // STORAGE[0x8] ( => ) ; // STORAGE[0x9] ( => ) ; // STORAGE[0xa] ( => ) ; // STORAGE[0xb] ( => ) ; // STORAGE[0xc] [] ; // STORAGE[0xd] ; // STORAGE[0xd] ( => ) ; // STORAGE[0xe] ( => ) ; // STORAGE[0xf] ; // STORAGE[0x10] ; // STORAGE[0x11] ; // STORAGE[0x12] ; // STORAGE[0x13] ; // STORAGE[0x14] ; // STORAGE[0x15] ; // STORAGE[0x16] ; // STORAGE[0x17] ; // STORAGE[0x18] ; // STORAGE[0x19] ; // STORAGE[0x1a] bytes 0 to 0 ; // STORAGE[0x1a] bytes 1 to 1 ; ; ; ; (); (); ( , ); ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { (. == , ()); ; } () { // Synthetic compatibility routes preserve original selectors for unresolved names. ((.. >= 4) && (. == 0x62150efd)) { // Route to Unknown_62150efd(uint256,uint256,uint256) after replacing only msg.sig. ((0x7f14bbd7)); ; } ((.. >= 4) && (. == 0x8d47a773)) { // Route to Unknown_8d47a773() after replacing only msg.sig. ((0x4bdc4291)); ; } ((.. >= 4) && (. == 0xa479d423)) { // Route to Unknown_a479d423(address[],bytes,uint256) after replacing only msg.sig. ((0xb3643ebb)); ; } ((.. >= 4) && (. == 0xd4c8c84d)) { // Route to Unknown_d4c8c84d() after replacing only msg.sig. ((0x67417356)); ; } ((.. >= 4) && (. == 0xfa6f061e)) { // Route to Unknown_fa6f061e() after replacing only msg.sig. ((0x57899dba)); ; } (); } ( , , ) { ( != (0), "Invalid token"); ( != (0), "Invalid to"); ( > 0x0, "Invalid amount"); ( == ) { (!, "reward running"); } = ().(, ); (, "Transfer failed"); } ( ) () { .(!(!([])), [], []); } () () { = ().(()); // duplicate declaration of accountBalance omitted } ( ) { ( > 0x0, "Invalid time"); = ; } ([] , ) { = . == ; (. != ) { = [.]; } (, "Ownable: caller is not the owner or whiteList"); (. != 0x0, "len fail"); = 0; () { ( >= .) { ; } ([] != 0, "Invalid account"); (!( < .)) (50); [[]] = ; = 0x01 + ; } } ( , , ) { (!, "check running"); (!, "reward running"); ( > 0x0, "min verify amount is 0"); ( <= 0x64, "lp reward rate fail"); ( > 0x0, "batch size zero"); = ; = ; = ; } () { (, (0)); = (0); } ( ) () { .(!(!([])), []); } () ( ) { .(, ); } ( , ) { ( != (0), "Invalid account"); [] = ; } () { (); } ( ) { ( > 0x0, "rewardRate the 0"); = ; } ([] , , ) { (!(((0x04 + ) + (. << 0x05) + 0x20) > ..)); = . == ; (. != ) { = [.]; } (, "Ownable: caller is not the owner or whiteList"); (. != 0x0, "len"); ( == , "len != len"); ( > 0x0, "teamTotalPow must be greater than zero"); (. > , "time fail"); = 0; () { ( >= .) { ; } ([] != 0, "Invalid account"); (!( < .)) (50); (!( < .)) (50); [[]] = (.[(0x20 * ) + ((0x04 + ) + 0x20)]) + [[]]; = 0x01 + ; } = + ; (!( > )) { = 0; = + .; } } ( , ) { ( != (0), "Invalid to"); ( > 0x0, "Invalid amount"); (!((). < ), "Address: insufficient balance"); ( , ) = .{ : }(""); // call = 0x60; (. != 0) { ; = + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (, "Address: unable to send value, recipient may have reverted"); } () { = 0; = 0; = 0; = 0; } ( , ) { (, ); } () { (); } () () { .(, , , , , , , , , !(!()), !(!())); } ( ) { ( != (0), ()); (, ); = ; } () { (); } () { // Decompilation incomplete: helper effect provenance is conservative. ( != 0x2, "ReentrancyGuard: reentrant call"); = 0x02; (!, "check running"); (!, "reward running"); ( != 0x0, "Pair not set"); = ().(.); (. != (0), "Invalid account"); = ; ( < ) { = 0; } ( > [.]) { = (( - [.]) + ); [.] = ; = 0; ( == 0x0) { ([.]) { [.] = ; (!(( - 0x01) < )) (50); (!([.] < )) (50); = (( & (0xffffffffffffffffffffffffffffffffffffffff))) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ); [()] = [.]; (!( != 0x0)) (49); = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000) & ; = + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; [.] = 0; } } { (![.]) { [.] = ; [.] = ; = + 0x01; [] = (.) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & []); } = ; } = 0x01; } ([.] > ) { = ( - (([.] - ))); ( < (([.] - ))) { = 0; } = ; } [.] = ; ( != 0x0) { (![.]) { [.] = ; [.] = ; = + 0x01; [] = (.) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & []); } = 0x01; } ([.]) { [.] = ; (!(( - 0x01) < )) (50); (!([.] < )) (50); = (( & (0xffffffffffffffffffffffffffffffffffffffff))) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ); [()] = [.]; (!( != 0x0)) (49); = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000) & ; = + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; [.] = 0; } = 0x01; } ( , ) { // Decompilation incomplete: helper effect provenance is conservative. (. == , ()); (!, "check running"); (!, "reward running"); ( != (0), "Invalid token address"); ( != (0), "Invalid pair address"); ( , ) = .(); // staticcall (); ; = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. & 0xffffffffffffffffffffffffffffffffffffffff)); ( , ) = .(); // staticcall (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. & 0xffffffffffffffffffffffffffffffffffffffff)); = (0xffffffffffffffffffffffffffffffffffffffff & ) == 0x55d398326f99059ff775485246999027b3197955; ((.) == 0x55d398326f99059ff775485246999027b3197955) { = ((.)) == ; } ; (!()) { = ((.)) == ; ((.) == ) { = (0xffffffffffffffffffffffffffffffffffffffff & ) == 0x55d398326f99059ff775485246999027b3197955; } } (( || ), "Invalid pair tokens"); = ; = ; } () { // Decompilation incomplete: helper effect provenance is conservative. ( != 0x2, "ReentrancyGuard: reentrant call"); = 0x02; = . == ; (. != ) { = [.]; } (, "Ownable: caller is not the owner or whiteList"); (!, "reward running"); ( != 0x0, "Pair not set"); (0x0 != ) { ( < , "index out of bounds"); = < ; = 0; = ; () { = ; (!( && < )) { ( < ) { = ; } { = 0; = ; } ; } (!( < )) (50); = ().(([])); (([]) != 0x0, "Invalid account"); = ; ( < ) { = 0; } (!( > [([])])) { ([([])] > ) { = ( - (([([])] - ))); ( < (([([])] - ))) { = 0; } = ; } } { = (( - [([])]) + ); } [([])] = ; = 0; ( == 0x0) { ([([])]) { [([]) & (0xffffffffffffffffffffffffffffffffffffffff)] = ; (!(( - 0x01) < )) (50); (!([([])] < )) (50); = (( & (0xffffffffffffffffffffffffffffffffffffffff))) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ); [()] = [([])]; (!( != 0x0)) (49); = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000) & ; = + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; [([])] = 0; } } { (![([])]) { [([]) & (0xffffffffffffffffffffffffffffffffffffffff)] = ; [([])] = ; = + 0x01; [] = (([]) & (0xffffffffffffffffffffffffffffffffffffffff)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & []); } = 0x01; } = ; ( != 0x0) { = 0x01 + ; } = < ; = 0x01 + ; = ; } } { = 0; = ; } = 0x01; } () { // Decompilation incomplete: helper effect provenance is conservative. ( != 0x2, "ReentrancyGuard: reentrant call"); = 0x02; = . == ; (. != ) { = [.]; } (, "Ownable: caller is not the owner or whiteList"); (!, "check running"); ( != 0x0, "Token not set"); ( != 0x0, "Pair not set"); (. > , "time fail"); ( != 0x0, "lp list empty"); ( > 0, "total lp amount is 0"); ( != 0x0, "batch size zero"); ( < , "index out of bounds"); = ( + ) - 0x01; ((( + ) - 0x01) >= ) { = - 0x01; } = ; = ; (!) { = (); ( > 0x0, "reward token is 0"); = ; = () ? 1 : 0; = ; = () ? 1 : 0; = ; } = ; () { ( > ) { ; } (!( < )) (50); (((0xffffffffffffffffffffffffffffffffffffffff & []) != 0x0) && (([0xffffffffffffffffffffffffffffffffffffffff & []] > 0x0) && (( > 0x0) && (([([])] * ) / != 0)))) { ( , ) = .(.((0xa9059cbb), ([]), ([([])] * ) / )); // call transfer (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. != 0x0)); (. != 0x0, "transfer failed"); [([])] = (([([])] * ) / ) + [([])]; } = 0x01 + ; } ( < ( - 0x01)) { = + 0x01; } { = 0; = 0; = 0; = ; = + .; } = 0x01; } () () { // Decompilation incomplete: helper effect provenance is conservative. = ().(()); = !(); ( != 0x0) { = !; } ; (!( || == 0x0)) { = (); ; (0 != ((( * ) / 0x64))) { = + 0x60; (!(0 < .)) (50); (!(0x01 < .)) (50); = 0; = ; = (0x04 + ) + 0x60; = + 0x20; = 0; = (0x04 + ); = ; = (); () { ( >= ) { ; } = (0x01 + ); = ; = ( + 0x20); = (0x20 + ); = ; = ; = ; = ; } ( , ) = .((), 0x40); // staticcall (); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f)); (( + .) - >= 0x20); (!( > 0xffffffffffffffff)); (( + .) > (( + ) + 0x1f)); ( > 0xffffffffffffffff) (65); ((( + ((( << 0x05) + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((( << 0x05) + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + ((( << 0x05) + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((0x20 + (( + ) + ( << 0x05))) > ( + .))); = + 0x20; = ; = << 0x05; = 0x20 + (( + ) + ( << 0x05)); = ( + ) + 0x20; = 0; = ; = ( + .); () { ( >= ) { ; } = (0x20 + ); = ; = ; = ; = (0x20 + ); = ; = ; = ; (!(0x01 < )) (50); ; ( > ((( * ) / 0x64))) { = + 0x60; (!(0 < .)) (50); (!(0x01 < .)) (50); = 0; = ; = (0x04 + ) + 0x60; = + 0x20; = 0; = (0x04 + ); = ; = ((( * ) / 0x64)); () { ( >= ) { ; } = (0x01 + ); = ; = ( + 0x20); = (0x20 + ); = ; = ; = ; = ; } ( , ) = .((), 0x40); // staticcall (); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f)); (( + .) - >= 0x20); (!( > 0xffffffffffffffff)); (( + .) > (( + ) + 0x1f)); ( > 0xffffffffffffffff) (65); ((( + ((( << 0x05) + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((( << 0x05) + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + ((( << 0x05) + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((0x20 + (( + ) + ( << 0x05))) > ( + .))); = + 0x20; = ; = << 0x05; = 0x20 + (( + ) + ( << 0x05)); = ( + ) + 0x20; = 0; = ; = ( + .); () { ( >= ) { ; } = (0x20 + ); = ; = ; = ; = (0x20 + ); = ; = ; = ; (!(0x01 < )) (50); = ; (!( > )) { = (); } ; } } { ; } } } { 0; } } { 0; } } ( ) () { // Decompilation incomplete: helper effect provenance is conservative. ; (0x0 != ) { = ().(); ; (0 - != 0) { ().(); ( , ) = .(); // staticcall (); ; = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); = (.); ((.) != 0x55d398326f99059ff775485246999027b3197955) { = (); } (( * ) * 0x02) / ; } { 0; } } { 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. // 0x01e33667 => withdrawToken(address,address,uint256) // 0x0784f212 => getLpInfo(address) // 0x12065fe0 => getBalance() // 0x1694505e => uniswapV2Router() // 0x42bf7fdc => setTimeConfig(uint256) // 0x4f5756e0 => getTeamConfig() // 0x5d2e9b78 => resetDynamic(address[],uint256) // 0x61d5f080 => getLpLength() // 0x62150efd => Unknown_62150efd(uint256,uint256,uint256) // 0x715018a6 => renounceOwnership() // 0x7b510fe8 => getAccountInfo(address) // 0x7e1a3786 => getRewardRate() // 0x856a004a => getBaseContracts() // 0x8d14e127 => setWhiteList(address,bool) // 0x8d47a773 => Unknown_8d47a773() // 0x8da5cb5b => owner() // 0x9e447fc6 => setRewardRate(uint256) // 0xa0617eb8 => getDynamicAmt(address) // 0xa479d423 => Unknown_a479d423(address[],bytes,uint256) // 0xa97af1f2 => withdrawBNB(address,uint256) // 0xb09ddc05 => resetTimeTag() // 0xc54e44eb => USDT() // 0xcd274f65 => setBaseContracts(address,address) // 0xd4c8c84d => Unknown_d4c8c84d() // 0xdcce363a => getLpConfig() // 0xf2fde38b => transferOwnership(address) // 0xfa6f061e => Unknown_fa6f061e()}