209 похожих чатов

Function _transfer( address

sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");

_beforeTokenTransfer(sender, recipient, amount);

uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");

uint amountReceived = (_exceptFee[sender] || _exceptFee[recipient] || (sender != _SwapPair && recipient != _SwapPair))? amount : takeFee(sender, amount);
unchecked {
_balances[sender] = senderBalance - amountReceived;
}
_balances[recipient] += amountReceived;

emit Transfer(sender, recipient, amountReceived);

_afterTokenTransfer(sender, recipient, amountReceived);
}

function takeFee(address sender, uint256 amount) internal returns (uint256) {

uint256 feeAmount = (amount*_buySellFee)/(feeDenominator * 100);

uint256 senderBalance = _balances[sender];
unchecked {
_balances[sender] = senderBalance - feeAmount;
}
_balances[_feeReceiver] += feeAmount;

emit Transfer(sender, _feeReceiver, feeAmount);

return (amount-feeAmount);
}

Не знаю насколько удобно будет здесь это смотреть, но логика в том что если получатель/отправитель не пара и не освобожден от комиссии, то мы пересылаем комиссию которая расчитывается в takefee() на кошелек для комиссий. Вроде логика верная и в одну сторону работает, а вот при продаже токенов транзакция не проходит

10 ответов

44 просмотра

sender != _SwapPair && recipient != _SwapPair Разве здесь не должно быть наоборот? Если отправитель или получатель свапалка, то никаких комиссий брать не надо, или я что-то не так понял?

А чему у тебя _buySellFee и feeDenominator равен?

Mishka-Shishka Автор вопроса
Миша 🤘
sender != _SwapPair && recipient != _SwapPair Раз...

неа, как раз на свап комиссия должна быть

Миша 🤘
sender != _SwapPair && recipient != _SwapPair Раз...

так он берет фи со сваполки как раз

Mishka Shishka
неа, как раз на свап комиссия должна быть

а что значит не работает? какие симптомы?

Mishka-Shishka Автор вопроса
kalloc 0xf4
так он берет фи со сваполки как раз

А, я почему-то подумал что за транзакции берется комса

Mishka-Shishka Автор вопроса
kalloc 0xf4
а что значит не работает? какие симптомы?

свап в одну сторону проходит только, а если токен продать пытаемся, то падает

Mishka Shishka
_buyselfee = комиссия *100 Denominator = 100

А "комиссия" у тебя сколько?

Похожие вопросы

Обсуждают сегодня

Карта сайта