Size: a a a

2021 December 05

DS

Denis Slinkov in Ethereum Russia
Псевдокод, логика подойдет такая?
источник

EG

Egor Gavrilov in Ethereum Russia
можно не делать проверки, потому что проверки вшиты в токен

и вместо

transferFrom(address(this), msg.sender, allowance_count_sender * rate)

надо использовать

transfer(msg.sender, allowance_count_sender * rate)
источник

DS

Denis Slinkov in Ethereum Russia
Это если отправлять токены на свапалку
источник

EG

Egor Gavrilov in Ethereum Russia
и еще плохой паттерн – узнавать сумму сделки по allowance

лучше сделать ее аргументом
источник

DS

Denis Slinkov in Ethereum Russia
А если давать просто возможность переводить?
источник

EG

Egor Gavrilov in Ethereum Russia
address(this) это свапалка и есть

если ты хочешь transferFrom с админа то надо

transferFrom(adminAddress, msg.sender, amount)
источник

DS

Denis Slinkov in Ethereum Russia
Лучше с админа, как-то понадежнее что-ли
источник

DS

Denis Slinkov in Ethereum Russia
Имеешь в виду события emit типо?
источник

DS

Denis Slinkov in Ethereum Russia
читать
источник

DS

Denis Slinkov in Ethereum Russia
Или переменной типо записывать сколько можно еще осталось... которая хранится в свапалке
источник

EG

Egor Gavrilov in Ethereum Russia
события вообще читать нельзя внутри блокчейна

я имею ввиду что в твоей реализации юзер не может выбрать сколько купить

грубо говоря, сколько денег у него есть, столько ты с него и списываешь))
источник

DS

Denis Slinkov in Ethereum Russia
Нет, почему. Сколько он approve даст перед вызовом свапалки снять, столько и снимаю
источник

DS

Denis Slinkov in Ethereum Russia
allowance_count_sender - сколько sender разрешил отправить с него смарт контракту
источник

EG

Egor Gavrilov in Ethereum Russia
и это как раз плохой паттерн

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

лучше аргументом
источник

DS

Denis Slinkov in Ethereum Russia
Ну аргументом это имеется в виду сперва отправить USDT на адрес свапалки, а потом вызвать свапалку?
источник

A

Alien Deployer in Ethereum Russia
контракты должны быть экологичными, без лишних вызовов как я понимаю
источник

DS

Denis Slinkov in Ethereum Russia
И передать в неё количество, которые было вызвано
источник

DS

Denis Slinkov in Ethereum Russia
Да, для публичных проектов да
источник

EG

Egor Gavrilov in Ethereum Russia
все одной транзакцией
сумма сделки – аргумент функции
источник

DS

Denis Slinkov in Ethereum Russia
Ооо, понял
источник