# Пополнение Solana и Arweave через внешний сервис покупки - Горизонт: `near` - Ориентир: сегодня/завтра - Статус: `proposal` ## Кратко Нужно добавить удобное пополнение кошельков на экране регистрации/кошелька: для Solana и Arweave дать отдельные действия `Пополнить`, которые ведут на международный сервис покупки криптовалюты с карты и помогают пользователю скопировать адрес кошелька. ## Пользовательский сценарий 1. Пользователь видит адрес кошелька Solana или Arweave. 2. Нажимает `Пополнить`. 3. Открывается промежуточное окно с инструкцией: - сейчас пользователь перейдёт на страницу покупки/пополнения; - нужно указать или проверить адрес кошелька; - после оплаты нужно закрыть внешнюю страницу и вернуться назад; - Solana обычно приходит быстро, ориентир 10-15 секунд после подтверждения сети; - Arweave может идти дольше, точное время нужно уточнить по выбранному сервису. 4. В окне есть кнопки: - `Скопировать адрес и перейти`; - `Перейти без копирования`. 5. Для Solana и Arweave используются разные окна/инструкции и, возможно, разные внешние ссылки. ## Что нужно сделать 1. Найти текущий экран, где показываются кошельки при регистрации и пополнении. 2. Найти текущую ссылку покупки Arweave, если она уже есть в UI. 3. Выбрать международный сервис покупки Solana с карты, не российский. 4. Проверить, поддерживает ли сервис deep link с предзаполненным адресом кошелька. 5. Если deep link невозможен, реализовать промежуточное окно с копированием адреса. 6. Добавить отдельные действия для Solana и Arweave. 7. Сделать текст инструкции коротким и понятным. 8. Проверить, что адрес копируется в буфер обмена в браузере. 9. Проверить мобильный сценарий и desktop-сценарий. ## Вопросы перед реализацией 1. Какой сервис покупки Solana использовать: тот же провайдер, что для Arweave, или другой международный on-ramp. 2. Нужно ли разрешать покупку только SOL или также USDC/SPL-токены на Solana. 3. Где именно показывать кнопку `Пополнить`: только регистрация, настройки кошелька или оба места. 4. Нужно ли показывать предупреждение о комиссиях и стороннем сервисе. 5. Нужно ли открывать внешнюю страницу в новой вкладке или в текущем окне. 6. Нужно ли логировать факт нажатия `Пополнить` на сервере. 7. Какой точный текст использовать для времени прихода Arweave. ## Риски и ограничения - On-ramp-сервисы меняют ссылки и параметры, поэтому deep link нужно проверять перед реализацией. - Clipboard API может требовать HTTPS и пользовательский жест. - Нельзя обещать точное время поступления средств: лучше писать ориентир и зависимость от сети/провайдера. - Внешний сервис может быть недоступен в отдельных странах или для отдельных карт. ## Документы, которые обновить при реализации - Документацию UI/кошельков, если такая есть. - `Dev_Docs/Pending_Features/` - добавить файл ручной проверки после реализации. - `Dev_Docs/API/`, только если появится новый серверный API или логирование. ## Минимальная проверка 1. На Solana-кошельке открывается правильное окно пополнения. 2. Кнопка `Скопировать адрес и перейти` копирует Solana-адрес и открывает внешний сервис. 3. Кнопка `Перейти без копирования` открывает внешний сервис без копирования. 4. Аналогичный сценарий работает для Arweave. 5. На мобильном экране текст и кнопки не перекрываются. 6. Возврат назад в приложение не ломает состояние регистрации/кошелька.