В коде новой беты Telegram для macOS нашлись показ NFT в кошельке, имя MoonPay рядом с пополнением картой и переписанные экраны зашифрованной резервной копии сид-фразы. Сборка 12.10.283234 вышла в фиде бета-версий 29 сентября под тем же номером, что и 25-го, но с другим исполняемым файлом: строк кошелька в нём прибавилось. Всё это строки и типы в коде, а не открытые экраны, и что из них включено, по сборке не видно.

Строки кошелька из бинарника беты Telegram для macOS 12.10.283234
Красным — строка сборки от 18 сентября, зелёным — строки, которых в ней не было, серым — строка, которая была и раньше.

Зашифрованная копия сид-фразы

Зашифрованная копия сид-фразы — набора слов, из которого восстанавливается ключ кошелька, — есть в бете со сборки от 18 сентября: в меню кошелька тогда уже стоял пункт Keys & Backup. Устройство копии описано в самих строках. Ключ шифруется, делится на три части и хранится в дата-центрах Telegram на трёх континентах, а собрать его можно только на устройствах владельца, так что, по словам интерфейса, доступа к ключу нет ни у кого, «даже у Telegram». Копию можно отключить, и тогда сид-фразу придётся вводить вручную в каждой новой сессии Telegram.

В новой сборке эти экраны переписаны: «recovery phrase» везде стала «secret phrase», а ещё появился сценарий смены ключа — окно «Secret Phrase Has Changed» и просьба ввести текущую фразу из 24 слов, чтобы включить копию. Механику объясняет журнал изменений движка кошелька, который собран в бету. Новый кошелёк получает фразу из 12 слов, а после смены ключа к ней добавляется вторая половина из 12. Первая половина остаётся якорем, от которого считается адрес, вторая подписывает переводы, поэтому адрес при смене ключа не меняется. Версия движка 0.0.7 в журнале датирована тем же 29 сентября, и её функции в бинарнике уже есть.

Сменить фразу, судя по строкам, можно только при ненулевом балансе. После подтверждения смены Telegram удаляет зашифрованную копию из своих дата-центров.

Показ NFT

Показ NFT — новое в этой сборке; перевод был и раньше. Ошибка «NFT transfer is unavailable» и экран Send Collectible есть ещё в сборке от 18 сентября. Теперь в схеме API клиента появились объекты nftItem, nftItems и nftAttribute, а в интерфейсе кошелька — классы для списка NFT, отдельного предмета и его атрибутов с типом признака. Раз объекты лежат в схеме API, список NFT кошелёк, судя по всему, будет получать от серверов Telegram, а не собирать из блокчейна сам.

MoonPay и пополнение

MoonPay появился в коде рядом с новыми вариантами пополнения. Кнопка «Buy with cash or crypto» на экране получения была и в прошлой сборке — вместе с сообщением, что покупка сейчас недоступна. В новой у пополнения два варианта: картой и криптовалютой (Crypto top-up). В том же участке кода, где собирается вариант с картой, стоит имя MoonPay — сервиса, который продаёт криптовалюту за банковскую карту. Похоже, покупку картой кошелёк отдаст ему, но прямо в строках это не сказано.

Money в чате и в настройках

Кошелёк теперь называется Money — и в меню вложений, и в настройках. Подсказка кошелька раньше говорила просто «переводите Gram кому угодно в чатах», а теперь называет путь — Attach > Money. Пункт кошелька в настройках тоже подписан Money с плашкой NEW, а в сборке от 18 сентября на его месте стоял второй Wallet.

Окно Money в бете: карточка с балансом, Gram Earnings, меню Keys & Backup и экран How It Works.