リリースノート - v0.5.0
v0.5.0(2026年8月27日)
Section titled “v0.5.0(2026年8月27日)”タイトル: 互換性チェックを整合させ、Plutus 言語サポートを拡張
日付: 2026年8月27日
バージョン: v0.5.0
このリリースでは、Plutus 台帳言語と Cardano プロトコルに合わせて組み込み関数の利用可能性を整合させ、V4 とシリアライズのサポートを拡張し、プログラム検証を強化するとともに、大きな入力や上限付き入力の処理を改善します。
-
改善 組み込み関数の利用可能性: Plutigo は、以前の PV11 ルールがすべての操作を利用可能にしていた状態から、選択した Plutus 台帳言語と Cardano プロトコルのメジャーバージョンに基づいて各組み込み操作を確認するようになりました。利用可能性は Alonzo 5、Vasil 7、Valentine 8、Chang 9、Plomin 10、Dijkstra 12 のプロトコル境界に従います。V4 のバッチにはプロトコルのメジャーバージョン 12 が必要で、プロトコルのメジャーバージョン 0 では言語のみを確認します。実行エンジンと適合性チェックは同じ利用可能性マトリックスを使用します。
-
拡張 V4 言語サポート: Plutigo は、正式な V4 コストモデルパラメータ名と、安定したタグ 101 から 103 を持つ
multiIndexArray、policies、assetCountの組み込み関数を含みます。V4 の組み込み関数は、プロトコルで有効化されるまで利用できません。multiIndexArrayは型付き配列またはリストを受け付け、0 以上の 64 ビット整数インデックスを要求し、範囲を確認し、1 回の要求につき最大 1,024 個のインデックスに制限します。V4 のパラメータ順序は V3 に従わないため、実行予算が異なる場合があります。 -
維持 V1 と V2 の
consByteString動作: 大きな正および負の整数プレフィックスは、V1 と V2 のバリアントに合わせて、切り下げた modulo 256 の剰余を使用します。V3 以降のバリアント C と E では、引き続き 0 から 255 の値が必要です。
- 強化 コンテキスト付き Plutus プログラム検証:
ProgramContextとValidateProgramは台帳言語とプロトコルのコンテキストを適用し、ParseWithContext、DecodeWithContext、DecodeDeBruijnWithContextは解析とデコード中に同じチェックを適用します。これらの API は、サポート対象の Untyped Plutus Core(UPLC)バージョン 1.0.0 と 1.1.0、組み込み関数の利用可能性、未評価分岐にある利用できない組み込み関数、ConstrとCase構文に必要な UPLC 1.1.0、PV11 以降の 1,024 フィールドというコンストラクターの上限を確認します。リプレイのデコードでもコンテキストを使用します。
⚡ パフォーマンス
Section titled “⚡ パフォーマンス”- 最適化 大きな整数のデコード: FLAT シリアライズ形式は、大きな整数をネイティブワードストレージに直接蓄積し、
uint64の高速経路を使用します。デコーダーは、切り捨て動作を維持しながら、上限付きの割り当てで線形に処理します。
📦 追加の変更
Section titled “📦 追加の変更”- 安定化 サポート対象のユニバース型: FLAT シリアライズは、BLS12-381 G1、G2、Miller ループ値に加えて、配列型と値型に安定したタグを提供し、ラウンドトリップ後に同一のバイト列を返します。
ProtoArray型とValue型は解析とフォーマットに対応し、実行エンジンは配列と値の同一性を保持して、正規形のValueエントリを検証します。デコーダーは、単独の BLS ペイロードには対応せず拒否します。Machine.RunContext(ctx, term)は同期キャンセルを提供し、valueDataは最大 40,000 エントリを受け付け、デコーダーは CBOR でエンコードされたバイト文字列のリーフまたはチャンクを 64 バイトに制限し、違反時にはDecodeLimitErrorを返します。
📋 知っておくべきこと
Section titled “📋 知っておくべきこと”コンテキスト付き解析または上限付き入力処理を使用する統合では、新しい検証と上限チェックに合わせてエラーパスを更新してください。
Plutigo をご利用いただきありがとうございます。
変更内容の比較: v0.4.0…v0.5.0
Docs authored by Doc Holiday