Нужно исправить интеграцию на JavaScript с SyncSwap на Sophon.
Свопы токенов, например USDC в ETH, завершаются ошибкой transaction execution reverted, хотя апрувы проходят успешно.
Цель — добиться корректной работы свопов.
Репозиторий доступен по адресу github.com/letsgo2020/syncswap-js
Задачи
Исправить файл swap.js для корректного обмена токенов usdc на eth (и других).
Стек технологий
JavaScript и Node.js
ethers.js 6
zksync-ethers
SyncSwap
Sophon на базе zkSync Era
Paymaster
Ожидаемый результат
Рабочий и исправленный код
Скрипт совершает успешный обмен токенов USDC, ETH, USDT.
Для подачи заявки укажите
Ваш опыт работы с DeFi и Web3
Примеры выполненных проектов
Ваш подход к решению данной задачи
Оценку сроков выполнения
/////
На данный момент:
1. Скрипт успешно выполняет подключение к сети Sophon
2. Успешно инициализирует кошелек и провайдера
3. Успешно выполняет апрув для токена USDC на адрес роутера SyncSwap
4. Пытается выполнить свап USDC -> ETH, но сталкивается с ошибкой "transaction execution reverted"
5. Использует Paymaster для безгазовых транзакций
Возможные причины ошибки:
- Ошибки в формате данных для смарт-контракта
- Проблемы с withdrawMode (установлен 1 - получение нативного ETH)
- Неправильное кодирование данных транзакции
Сейчас скрипт успешно взаимодействует с Paymaster для оплаты газа, корректно производит апрув токенов, но не может выполнить основную функцию - обмен USDC на ETH через SyncSwap на блокчейне Sophon.