Our tokens features an anti-bot based on Max transaction size, but notice that can only be set higher, never lower. That prevents us from blocking sells, a common rugpull technique.
<aside> ✅ You can find the anti-bot at PPEGG contract from lines 912 to 976
https://arbiscan.io/address/0x78055daa07035aa5ebc3e5139c281ce6312e1b22#code
</aside>
/**
* @dev Sets the maxTransactionSize
*
* This prevents users to buy and transfer before the dev allows it.
* Can also prevent masive buys from bots.
* The maxTransactionSize can only increase, so the dev can't block transaction.
*
* Requirements
*
* - msg.sender must be the token owner
* - maxTransactionSize value must be higher than current value
* - msg.sender must be the maxTransactionSizeOwner
*/
function setMaxTransactionSize(uint256 _maxTransactionSize) public  {
require(msg.sender == maxTransactionSizeOwner);
require(_maxTransactionSize > maxTransactionSize, "New maxTransactionSize value must be higher than current value");
maxTransactionSize = _maxTransactionSize;
}
/**
 * @dev renounces the maxTransactionSizeOwner
 * 
 * This sends the ownership of the maxTransactionSizeOwner to the zero address
 *
 * Requirements
 *
 * - `msg.sender` must be maxTransactionSizeOwner
 */
function renounceMaxTransactionSizeOwner() public {
    require (msg.sender == maxTransactionSizeOwner);
    maxTransactionSizeOwner = address(0);
}
/**
 * @dev Moves tokens `amount` from `sender` to `recipient`.
 *
 * This is internal function is equivalent to {transfer}, and can be used to
 * e.g. implement automatic token fees, slashing mechanisms, etc.
 *
 * Emits a {Transfer} event.
 *
 * Requirements:
 *
 * - `sender` cannot be the zero address.
 * - `recipient` cannot be the zero address.
 * - `sender` must have a balance of at least `amount`.
 * - `amount` must be lower than maxTransactionSize
 */
function _transfer(
    address sender,
    address recipient,
    uint256 amount
) internal virtual {
    require(sender != address(0), "BEP20: transfer from the zero address");
    require(recipient != address(0), "BEP20: transfer to the zero address");
    require(amount <= maxTransactionSize || sender == owner(), "BEP20: transfer amount over maxTransactionSize");
    _balances[sender] = _balances[sender].sub(
        amount,
        "BEP20: transfer amount exceeds balance"
    );
    _balances[recipient] = _balances[recipient].add(amount);
    emit Transfer(sender, recipient, amount);
}
Find out more
🏡 Home
🛣 Roadmap
💬 Telegram