From 268204b285e87f4be5ff1299b706794fac6b7d90 Mon Sep 17 00:00:00 2001 From: Mateusz Galazyn Date: Wed, 13 May 2026 11:30:20 +0200 Subject: [PATCH] feat(cardano): Make optional fields in EvalReport optional --- proto/utxorpc/v1beta/cardano/cardano.proto | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/proto/utxorpc/v1beta/cardano/cardano.proto b/proto/utxorpc/v1beta/cardano/cardano.proto index 791bfde..94fba8f 100644 --- a/proto/utxorpc/v1beta/cardano/cardano.proto +++ b/proto/utxorpc/v1beta/cardano/cardano.proto @@ -731,21 +731,21 @@ message EraSummaries { // EVALUATION // ========== -// A single evaluation report entry, used for both script errors and execution -// traces. The purpose and index fields identify which redeemer produced the -// entry, allowing the client to correlate errors and traces with specific -// script executions. +// A single evaluation report entry, used for script errors, execution traces, +// and transaction-level evaluation errors (e.g. balance mismatches). When the +// entry relates to a specific redeemer, purpose and index identify which one; +// for transaction-level errors these fields are absent. message EvalReport { string msg = 1; // Human-readable message. - RedeemerPurpose purpose = 2; // Purpose of the redeemer that produced this entry. - uint32 index = 3; // 0-based index of the redeemer within its purpose. + optional RedeemerPurpose purpose = 2; // Purpose of the redeemer that produced this entry. + optional uint32 index = 3; // 0-based index of the redeemer within its purpose. } // Result of evaluating a transaction against the current ledger state. message TxEval { BigInt fee = 1; // Computed minimum fee for the transaction. ExUnits ex_units = 2; // Total execution units consumed across all redeemers. - repeated EvalReport errors = 3; // Per-redeemer script execution errors. + repeated EvalReport errors = 3; // Script execution and transaction-level evaluation errors. repeated EvalReport traces = 4; // Per-redeemer script execution traces. repeated Redeemer redeemers = 5; // Redeemers with evaluated execution units. }