Hello, I am a beginner in solidity language. Is there anything missing in my code? Will there be a problem in the audit process? Also, when I verify my code in bscscan testnet, I get such an error, is this a problem? "The compiled contract might be susceptible to FullInlinerNonExpressionSplitArgumentEvaluationOrder (low-severity), MissingSideEffectsOnSelectorAccess (low-severity) Solidity Compiler Bugs."
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
contract Reoks is ERC20, ERC20Burnable {
address public constant teamAddress = 0x5B5e10aD5D91195Fd61F9149924037fe137Aa2f7; // Team wallet address
address public constant marketingAddress = 0x47d4ac2d574E9Ea4B43eC48398a1223076af9FED; // Marketing wallet address
address public constant rewardsAddress = 0xe5312Cd5c2E1F0821f8Cf4f5a044B102F8754046; // Rewards wallet address
address public constant airdropAddress = 0x3bd3b7aaB0585b10f766E3b9eF74Df8DAdE19e03; // Airdrop wallet address
address public constant liquidityAddress = 0xA6C785bE7d1208DD276446464667891A00dCc11a; // Liquidity wallet address
address public constant stakingAddress = 0x60505FEf03bbFCb4dAA4fC7eAdcC03C80F29da0a; // Staking wallet address
address public constant privateSaleAddress = 0x603f0686cBb19Cc0A514E5b0b7ADfC7444Eb2009; // Private sale wallet address
address public constant publicSaleAddress = 0x712e27948bE96a4092eB7c204BbEb6abcb6AB387; // Public sale wallet address
constructor() ERC20("Reoks", "REOKS") {
uint256 MAX_SUPPLY = 1000000000 * 10**18;
_mint(msg.sender, MAX_SUPPLY);
uint256 teamAllocation = (MAX_SUPPLY * 17) / 100;
uint256 marketingAllocation = (MAX_SUPPLY * 10) / 100;
uint256 rewardsAllocation = (MAX_SUPPLY * 20) / 100;
uint256 airdropAllocation = (MAX_SUPPLY * 3) / 100;
uint256 liquidityAllocation = (MAX_SUPPLY * 15) / 100;
uint256 stakingAllocation = (MAX_SUPPLY * 15) / 100;
uint256 privateSaleAllocation = (MAX_SUPPLY * 5) / 100;
uint256 publicSaleAllocation = (MAX_SUPPLY * 15) / 100;
_transfer(_msgSender(), teamAddress, teamAllocation);
_transfer(_msgSender(), marketingAddress, marketingAllocation);
_transfer(_msgSender(), rewardsAddress, rewardsAllocation);
_transfer(_msgSender(), airdropAddress, airdropAllocation);
_transfer(_msgSender(), liquidityAddress, liquidityAllocation);
_transfer(_msgSender(), stakingAddress, stakingAllocation);
_transfer(_msgSender(), privateSaleAddress, privateSaleAllocation);
_transfer(_msgSender(), publicSaleAddress, publicSaleAllocation);
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
uint256 burnAmount = (amount * 1) / 100; // 1% burning
uint256 transferAmount = amount - burnAmount;
_burn(_msgSender(), burnAmount); // Token yakma işlevi kullanılıyor
_transfer(_msgSender(), recipient, transferAmount);
return true;
}
}