Skip to content

Commit 3d7d3b5

Browse files
authored
fix(ledger): preallocate program to prevent nil (#1192)
Signed-off-by: Chris Gianelloni <[email protected]>
1 parent 9c47d01 commit 3d7d3b5

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

ledger/common/script.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ func (s PlutusV3Script) Evaluate(
145145
budget ExUnits,
146146
) (ExUnits, error) {
147147
var usedExUnits ExUnits
148+
var err error
149+
program := &syn.Program[syn.DeBruijn]{}
148150
// Set budget
149151
machineBudget := cek.DefaultExBudget
150152
if budget.Steps > 0 || budget.Memory > 0 {
@@ -155,11 +157,11 @@ func (s PlutusV3Script) Evaluate(
155157
}
156158
// Decode raw script as bytestring to get actual script bytes
157159
var innerScript []byte
158-
if _, err := cbor.Decode([]byte(s), &innerScript); err != nil {
160+
if _, err = cbor.Decode([]byte(s), &innerScript); err != nil {
159161
return usedExUnits, err
160162
}
161163
// Decode program
162-
program, err := syn.Decode[syn.DeBruijn]([]byte(innerScript))
164+
program, err = syn.Decode[syn.DeBruijn]([]byte(innerScript))
163165
if err != nil {
164166
return usedExUnits, fmt.Errorf("decode script: %w", err)
165167
}

0 commit comments

Comments
 (0)