cryptofoundry

cryptofoundry へのお問い合わせ

構築または自動化したい内容をお聞かせください。

adamant-api-jsclient

ADAMANT API JS Client v3.1.0

dev-adamant-im鋳造所から ↗

本リリースは、ADAMANT Node v0.10.2 と連携した SDK のアップデートです。型付きの読み取り専用 Node API を完成させ、オプトインのライブブロックおよび残高サブスクリプションを追加し、デリゲートおよびネットワークステータスの DTO を権威あるスキーマと同期させ、パッケージツールを更新しました。

型付き読み取り専用 Node API の完成

本バージョンでは、型付きの limit、offset、isDelegate オプションを持つ getTopAccounts() を追加しました。limit: 0 を使用してカウントのみのメタデータを取得できます。ブロック、デリゲート、デリゲート検索および統計、ピア、プールされたトランザクション、トランザクションの時間範囲に対するオプション型を完成させました。本リリースでは、型付きのコンセンサスコードネームおよびアクティベーションスケジュール、ブロック報酬マイルストーン、デリゲートの生涯フォージ量を公開しています。また、パッケージ化されたコンシューマーチェックを拡張し、新しいメソッドとレスポンス契約がビルドされた npm アーティファクトから検証されるようにしました。

エンドポイント対応のクエリ処理

SDK は、ダイレクトトランスファーおよびその他の制御パラメータを、それらをサポートするエンドポイントにスコープするようになりました。リクエスト送信前に既知の未サポート制御を削除し、無効または無効なフィルタになるのを防ぎつつ、決定論的なクエリ文字列の順序を保持します。クライアントは、混合された and / or 条件が Node のフラットで順序に敏感な SQL 式モデルに依存している場合に警告を発し、金額フィルタを Node が実際に適用する /api/transactions に限定します。

クライアント WebSocket ステートサブスクリプション

本リリースでは、新たに適用されたブロックのコンパクトヘッダーに対するオプトインの onNewBlock() サブスクリプション、および確認済み残高、未確認残高、またはその両方に対する onBalanceChange() サブスクリプションを追加しました。残高ペイロードはデルタではなく現在の絶対値として扱われ、部分的なフィールド配信についても文書化されています。ブロックおよび残高サブスクリプションは、同じノードまたは別の健全なノードに再接続した後に自動的に復元されます。ハンドラーの失敗は既存の .catch() パスを経由し、ハンドラーは .off() を通じて削除できます。これらのイベントはベストエフォートのライブ通知であり、永続的なストリームではありません。アプリケーションは、完全な履歴に依存する正確性が必要な場合、切断後に REST を通じてステートを復元する必要があります。

権威ある DTO の同期

API 型は Adamant-im/adamant-schema@f35b8ddb5597a8f1a80a3a670bedb003af65ef90 から再生成されました。本リリースでは、ネットワークステータス契約に consensusCodeName、consensusSchedule、milestoneSchedule を追加し、デリゲートの生涯 forged 値を追加しつつ、個別のデリゲート検索レスポンス形状を保持しています。生成されたデリゲートプロパティ producedlocks をランタイムプロパティ producedblocks に修正し、次フォージャー、デリゲート、ピア、プールされたトランザクションのスナップショットおよびフィルタリングセマンティクスを文書化しました。

パッケージおよびツールメンテナンス

パッケージバージョンは 3.1.0 に設定され、Node.js >=22.12.0 を宣言しています。pnpm は 11.13.1 に更新され、直接依存関係を追加することなく、ランタイムおよび開発依存関係が更新されました。解決されたロックファイルグラフは 886 から 876 のパッケージエントリに削減されました。フォーマットは Prettier 3.9 に合わせられ、ローカル AI エージェントおよびエディターディレクトリはリポジトリから除外されています。パブリッシングは GitHub Actions の出所証明を使用した npm Trusted Publishing を通じて行われます。

互換性に関する注意事項

新しいトップアカウント、ネットワークステータス、デリゲート、ブロック、および残高イベント機能には ADAMANT Node v0.10.2 が必要です。トランザクションのバイトレイアウト、ハッシュ、ID、署名、暗号化、ルートエクスポート、ノード選択、リトライ、フェイルオーバー動作は変更されていません。差分には 17 ファイルの変更、1,471 行の追加、513 行の削除が含まれ、型付き API、生成された DTO、WebSocket サブスクリプション、テスト、ドキュメント、バージョンメタデータ、依存関係の更新に関する v3.0.0..master の完全な履歴をカバーしています。

バリデーション

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、ライブコンシューマー、パッケージサブパス、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 と一致しています。

破壊的変更

パッケージエンジンの最低バージョンが Node.js >=22 から >=22.12.0 に変更されました。ADAMANT Node v0.10.2 も実行するデプロイメントでは、Node が要求する Node.js >=22.13.0 を使用する必要があります。タイプミスのあった DelegateDto.producedlocks プロパティを使用している TypeScript コンシューマーは producedblocks に移行する必要があります。生成されたデリゲートまたはネットワークステータスの DTO を手動で構築しているコンシューマーは、新しく必須となったフィールドを提供する必要がある場合があります。エンドポイントと互換性のないクエリ制御を渡していた TypeScript 呼び出し元は、意図したエンドポイントのオプション型を使用する必要があります。