From cdc21dab6308cb359202924bd3e4258841e96d4a Mon Sep 17 00:00:00 2001 From: Chris Gianelloni Date: Tue, 16 Sep 2025 15:23:23 -0400 Subject: [PATCH] fix(ledger): preallocate program to prevent nil Signed-off-by: Chris Gianelloni --- ledger/common/script.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ledger/common/script.go b/ledger/common/script.go index 90b4a4b2..0c227d34 100644 --- a/ledger/common/script.go +++ b/ledger/common/script.go @@ -145,6 +145,8 @@ func (s PlutusV3Script) Evaluate( budget ExUnits, ) (ExUnits, error) { var usedExUnits ExUnits + var err error + program := &syn.Program[syn.DeBruijn]{} // Set budget machineBudget := cek.DefaultExBudget if budget.Steps > 0 || budget.Memory > 0 { @@ -155,11 +157,11 @@ func (s PlutusV3Script) Evaluate( } // Decode raw script as bytestring to get actual script bytes var innerScript []byte - if _, err := cbor.Decode([]byte(s), &innerScript); err != nil { + if _, err = cbor.Decode([]byte(s), &innerScript); err != nil { return usedExUnits, err } // Decode program - program, err := syn.Decode[syn.DeBruijn]([]byte(innerScript)) + program, err = syn.Decode[syn.DeBruijn]([]byte(innerScript)) if err != nil { return usedExUnits, fmt.Errorf("decode script: %w", err) }