После вчерашнего релиза все кинулись тестировать новый функциоал, и многие обнаружили (шучу, на самом деле никто не тестировал и фидбеков не оставлял😢) хитрый баг:
❌ Нельзя купить токен, если у аккаунта не открыт баланс по этому токену.
❌ Swap падает с on_transfer: account for swap amount out is not exist
То есть UX ломается в самом важном месте — пользователь просто не может купить новый токен, которым пока не владел.
⚠️ В чём была проблема
Классика! В EOS-подобных сетях баланс токена не создаётся автоматически.
Перед первым получением токена нужно вызвать:
token::open
Этот экшен создаёт запись в RAM с балансом токена, стоит немного ресурсов RAM. И без этого любой swap в новый токен падает.
В итоге я реализовал автоматический token.open прямо внутри swap

