Этот релиз представляет собой обновление SDK, синхронизированное с ADAMANT Node v0.10.2. Оно завершает типизированную read-only поверхность Node API, добавляет opt-in live-подписки на блоки и балансы, синхронизирует DTO делегатов и статуса сети с авторитативной схемой и обновляет инструментарий пакета.
Полная типизированная read-only поверхность Node API
В этой версии добавлен getTopAccounts() с типизированными опциями limit, offset и isDelegate, где limit: 0 можно использовать для получения только метаданных с количеством. Завершены типы опций для блоков, делегатов, поиска и статистики делегатов, пиров, транзакций в пуле и временных диапазонов транзакций. Релиз предоставляет типизированные кодовые имена консенсуса и графики активации, этапы наград за блоки и пожизненные суммы, сфорженные делегатами. Также расширены встроенные проверки потребителей, чтобы новые методы и контракты ответов верифицировались из собранного npm-артефакта.
Обработка запросов с учётом эндпоинтов
Теперь SDK ограничивает параметры прямых переводов и другие управляющие параметры теми эндпоинтами, которые их поддерживают. Известные неподдерживаемые параметры удаляются до отправки запроса, чтобы они не становились неэффективными или некорректными фильтрами, при этом сохраняется детерминированный порядок параметров в строке запроса. Клиент предупреждает, когда смешанные условия and / or полагаются на плоскую чувствительную к порядку модель SQL-выражений Node, и ограничивает фильтры по сумме эндпоинтом /api/transactions, где Node их действительно применяет.
WebSocket-подписки клиента на состояние
В этом релизе добавлены opt-in подписки onNewBlock() для компактных заголовков новых применённых блоков, а также подписки onBalanceChange() для подтверждённого баланса, неподтверждённого баланса или обоих. Полезные нагрузки баланса рассматриваются как текущие абсолютные значения, а не как дельты, и документирована доставка частичных полей. Подписки на блоки и балансы автоматически восстанавливаются после переподключения к тому же или другому работоспособному узлу. Ошибки обработчиков направляются через существующий путь .catch(), а обработчики могут быть удалены через .off(). Эти события являются live-уведомлениями по принципу best-effort, а не долговечными потоками. Приложения должны восстанавливать состояние через REST после отключений, если корректность зависит от полной истории.
Синхронизация авторитативных DTO
Типы API перегенерированы из Adamant-im/adamant-schema@f35b8ddb5597a8f1a80a3a670bedb003af65ef90. Релиз добавляет consensusCodeName, consensusSchedule и milestoneSchedule в контракты статуса сети, а также добавляет пожизненное значение forged делегата, сохраняя при этом отдельную форму ответа поиска делегатов. Исправлено сгенерированное свойство делегата producedlocks на runtime-свойство producedblocks, и документированы семантика снимков и фильтрации следующего форжера, делегатов, пиров и транзакций в пуле.
Обслуживание пакета и инструментария
Версия пакета установлена в 3.1.0 и объявляет Node.js >=22.12.0. pnpm обновлён до 11.13.1 с обновлёнными runtime- и dev-зависимостями без добавления прямых зависимостей. Разрешённый граф lockfile сокращён с 886 до 876 записей пакетов. Форматирование приведено в соответствие с Prettier 3.9, а локальные директории AI-агентов и редакторов исключены из репозитория. Публикация выполняется через npm Trusted Publishing с подтверждением происхождения через GitHub Actions.
Примечания о совместимости
Новые возможности для топ-аккаунтов, статуса сети, делегатов, блоков и событий баланса требуют ADAMANT Node v0.10.2. Байтовая структура транзакций, хэши, ID, подписи, шифрование, корневые экспорты, выбор узлов, повторные попытки и поведение failover не изменились. Diff включает 17 изменённых файлов с 1 471 добавленной и 513 удалёнными строками, охватывая полную историю v3.0.0..master для типизированного API, сгенерированных DTO, WebSocket-подписок, тестов, документации, метаданных версии и обновления зависимостей.
Валидация
Проверено на Node.js 22.23.1 и pnpm 11.13.1. Все проверки пройдены: npm run compile, npm run typecheck, npm test (19 наборов и 253 теста пройдены), npm run lint, npm run test:package (ESM, CommonJS, live-потребители, подпути пакета и TypeScript-декларации), npm run api-types:check, npm run metadata:check, npm run docs:build и git diff --check. Сгенерированные типы API соответствуют закреплённой ревизии adamant-schema, а метаданные кошелька соответствуют Adamant-im/adamant-wallets@54a820b6dc5e0ec77c3a6fbac91d2f7809a2f5b7.
Критические изменения
Минимальная версия engine пакета изменена с Node.js >=22 на >=22.12.0. Развёртывания, которые также используют ADAMANT Node v0.10.2, должны применять требуемую Node версию Node.js >=22.13.0. Потребителям TypeScript, использующим свойство DelegateDto.producedlocks с опечаткой, необходимо перейти на producedblocks. Потребителям, вручную создающим сгенерированные DTO делегатов или статуса сети, может потребоваться предоставить новые обязательные поля. Вызывающим TypeScript, передававшим несовместимые с эндпоинтом параметры запроса, необходимо использовать тип опций для предполагаемого эндпоинта.