TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Thor w3

19 Nov 2023, 15:53

Open in Telegram Share Report

Почему вы до сих пор неправильно используете getAmountOut и slippage?

Мне часто скидывают паблик/приватные скрипт на ресерч и я ни разу не увидел правильного использования getAmountOut. Это особенно актуально сейчас, когда в каждом софте полно мусорных дексов, с нулевыми пулами.

Вот пример транзакции, где произошел скам-свап 0.1 $ETH на 26$ стейбла. Я думаю многие понимают откуда берется amountOutMin (как правило значение получается коллом функции getAmountOut). Основная проблема в том, что кодеры сами придумали что значение должно возращаться только по актуальной стоимости. Хотя это логически невозможно, функция просто возвращает сумму согласно текущей ликвидности.

Если вы захотите обменять 1 $ETH на 2000 $USDT, а ликвидности нет, то при запросе getAmountOut вам не вернется False, вам просто вернется сумма, к примеру 1000 $USDT и все, дальше большинство софтов сделает обмен и потеряет 1к баксов.

Как реализовать функцию правильно?

Одно из решений это сравнивать цену с API (пример: coingecko). Я думаю с реализацией проблем не возникнет. Слипаж тут нужно накидывать на цену с coingecko и сравнивать цены.

Если вы любите стабильность и делаете двойные свапы, то можете сравнивать значения до и после свапов. Вот вам пример. Мы сначала узнаем сколько мы получим токена_2 (пусть будет K) при обмене N количества токена_1, затем узнаем сколько мы получим токена_1(пусть будет X) при обмене K количества токена_2. И вот тут только мы накидываем к X слиппаж и сравниваем X с начальным количеством N токена_1.

Я думаю разберетесь, всем DYOR

1.8k 0 44 21
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot