В бета-версии Telegram для macOS появился экран перевода GRAM из встроенного кошелька. Сумму на нём можно переключать между GRAM и долларами, к переводу прикладывается комментарий — по умолчанию его читают только отправитель и получатель, а сам перевод остаётся в чате синей карточкой. Пока экран видят только тестировщики беты, и в первом показе оговорено, что к релизу интерфейс может измениться.

Как выглядит перевод

Пост в Telegram — @thedailytonrus
Перевод 10 GRAM в бета-версии Telegram для macOS, 2 октября

Окно называется Send Money to. Сверху — получатель: имя, ник и адрес кошелька в блокчейне TON. Знак вопроса рядом с адресом открывает пояснение: этот адрес привязан к такому-то аккаунту Telegram. Перевод идёт не «пользователю», а на адрес, и интерфейс показывает, чей он.

Ниже — сумма: «10 GRAM», под ней «≈15,16 USD» и стрелки ↑↓. Стрелки меняют валюты местами: основной становится сумма в долларах, GRAM уходят в подпись. Под суммой — баланс и комиссия сети, в ролике «0 Grams».

Комментарий добавляется через меню «…». Поле подписано Optional message, под ним флажок Make comment public с пояснением: публичный комментарий может прочитать кто угодно в блокчейне, иначе — только отправитель и получатель.

После отправки в переписке появляются служебная строка «You sent … 10 Grams ($15,16)» и синяя карточка «−10 Grams» с именем и адресом получателя. Карточка открывает экран транзакции.

Экран транзакции в бета-версии для macOS, данные получателя скрыты
Экран транзакции в бета-версии для macOS, данные получателя скрыты

На нём — сумма со знаком минус, её долларовый эквивалент, статус Processing…, получатель, адрес и дата. Ниже две кнопки. What's Gram? объясняет, что это нативная валюта блокчейна TON, и называет курс («1 Gram currently equals $1,52») с тремя пунктами — быстро, дёшево, полезно. Open My Money ведёт в сам кошелёк. Money — так, судя по разбору интерфейса, может называться кошелёк в меню настроек.

Что изменилось в сборке

Наутро после показа, 3 октября, вышла сборка беты 12.10.283258. По данным датамайна gramnews.org, в модуль интерфейса кошелька (WalletUI) в ней добавился файл default.metallib — скомпилированные шейдеры Metal, графического API Apple. В бинарнике одновременно появились классы WalletSendAmountCanvas, WalletSendAmountLayer, WalletSendAmountMetal, WalletSendAmountMorph и WalletSendMotionClock, а также строка «Wallet send glyph atlas».

Судя по именам, сумму на экране отправки теперь рисует видеокарта, а не обычная текстовая надпись.

Что такое атлас глифов

Глиф — изображение одного символа шрифта. Атлас глифов — одна текстура, в которую заранее отрисованы нужные символы, например цифры от 0 до 9, запятая и знак валюты. Шейдер при каждом кадре не растеризует шрифт заново, а берёт готовые кусочки из атласа, и поэтому может плавно «перетекать» одной цифрой в другую. Слово Morph в имени класса указывает именно на такой переход, MotionClock — на собственные часы анимации. Это прочтение по именам: исходники клиента для macOS открыто не обновлялись с 2025 года.

Ролик снят 2 октября, на одной из предыдущих сборок, — анимацию суммы переделывали уже после того, как экран показали.

Приватный и публичный комментарий

В блокчейне TON у перевода бывает два вида комментария. Открытый лежит в транзакции обычным текстом, и его видит любой обозреватель блокчейна. Зашифрованный шифруется ключом, который вычисляется из ключа отправителя и открытого ключа кошелька получателя, — прочитать его могут только двое. Флажок Make comment public выбирает между этими двумя видами, и по умолчанию он выключен.

Что ещё готовится

Экран отправки собирается не только для macOS. 1 октября в платформу переводов Telegram для iOS добавились строки Wallet.Info.SendTitle (заголовок отправки), Wallet.Recipient.InvalidAddressText (ошибка неверного адреса) и Wallet.Recipient.NoRecentRecipients (пустой список недавних получателей). В бинарнике беты для macOS в тот же день появилось сообщение «This wallet address is invalid. Check it or try another address».

3 октября в строки iOS добавились уведомления о входящих переводах GRAM: с суммой в фиатной валюте (Notification.GramTransfer.WithFiat) и от неизвестного отправителя (Notification.GramTransferUnknown).

В разборе интерфейса нового кошелька перечислены и другие экраны: вкладка Collectibles с NFT на адресе, экран QR-кода для пополнения, покупка GRAM картой, через P2P или обменом из другой сети — с Walt в роли платёжного оператора — и предложение включить двухфакторную защиту после создания кошелька.

Сам Gram Wallet впервые появился в бете для macOS 31 августа.