Об этом проекте

## Что документирует этот репозиторий Метаданные репозитория описывают «dex-pool-optimizer» как инструмент для оптимизации позиций в пулах ликвидности для получения лучшей доходности, однако README внутри документирует нечто иное: DeFi бота для арбитража с использованием flash-loan под названием **FlashLoanArbitrage**. О несоответствии между названием/описанием репозитория и README стоит знать прежде всего. ## Описанные компоненты Согласно README, проект состоит из: - **Смарт-контракта**, который берет flash-loan, конвертирует ETH в USDC, покупает ETH на одной площадке, продает на другой, погашает заем вместе с комиссиями и газом, и конвертирует прибыль обратно в ETH. - Локального **Node.js скрипта `goflash.js`**, запускаемого на машине пользователя, который опрашивает цены ETH/USDC и активирует контракт при обнаружении спреда. В структуре проекта, указанной в README, перечислены только `goflash.js`, `package.json`, автоматически создаваемый `wallet.json` и сам README. Исходный код смарт-контракта в этом дереве не показан, поэтому ончейн-часть не может быть проверена на основе представленных материалов. ## Заявленное поведение - Источники цен: Chainlink (ссылка на оракул), Uniswap V2, SushiSwap, Curve Finance, Balancer. - Сканирование происходит примерно каждые 60 секунд с отображением цен и индикаторами роста/падения. - Для совершения сделки требуется **спред ≥0,9%**, что описывается как порог предотвращения убытков. - Перечисленные площадки для flash-loan: Aave, dYdX, Uniswap V3, Balancer, для каждой из которых в README указаны собственные данные по комиссиям и размерам. - Интерактивное меню, созданное с помощью `inquirer`: выбор протокола, установка размера займа в ETH, создание/пересоздание кошелька, импорт кошелька по приватному ключу, запуск арбитража, выход. - Зависимости: `ethers`, `inquirer`, `chalk`. ## Работа с кошельками При первом запуске скрипт либо генерирует кошелек, либо импортирует его по приватному ключу, затем записывает приватный ключ в файл `wallet.json` в той же папке. В README содержится предупреждение о необходимости добавить этот файл в `.gitignore`, хранить офлайн-резервные копии и использовать выделенный кошелек. ## Предостережения, указанные в самом README - Реальные рынки редко создают необходимый спред; в README сказано, что скрипт «время от времени показывает симулированную возможность для демонстрации». - Торговые комиссии, проскальзывание и газ описываются как затраты, вычитаемые из результата. - Скрипт распространяется «как есть в образовательных целях. Используйте на свой страх и риск». ## Практические соображения - К любому инструменту, который хранит необработанный приватный ключ в обычном файле и запрашивает этот ключ при первом запуске, следует относиться с осторожностью; используйте только временный кошелек с минимальными средствами, если это вообще возможно. - Данные о прибыли, лимитах займов и процентах комиссий взяты только из README и не могут быть проверены по описанным здесь файлам. - Поскольку исходный код контракта отсутствует в документированной структуре, а название репозитория противоречит README, описанную автоматизацию следует считать непроверенной. Коротко: README представляет собой CLI для криптоарбитража с самостоятельным запуском, а не оптимизатор пулов ликвидности, и в самом тексте признается, что возможности иногда симулируются.