From a03590c5aac40644f80a3ab74dc570ec5107af5c Mon Sep 17 00:00:00 2001 From: Cassandra Heart Date: Tue, 12 Nov 2024 00:36:36 -0600 Subject: [PATCH] handle verification conditions correctly --- .../intrinsics/token/application/token_application.go | 6 ++++-- node/execution/intrinsics/token/token_execution_engine.go | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/node/execution/intrinsics/token/application/token_application.go b/node/execution/intrinsics/token/application/token_application.go index 832734c..e303052 100644 --- a/node/execution/intrinsics/token/application/token_application.go +++ b/node/execution/intrinsics/token/application/token_application.go @@ -140,8 +140,10 @@ func (a *TokenApplication) ApplyTransitions( } parallelismMap := map[int]uint64{} - for i := range a.Tries[1:] { - parallelismMap[i] = 0 + if len(a.Tries) > 1 { + for i := range a.Tries[1:] { + parallelismMap[i] = 0 + } } seen := map[string]struct{}{} diff --git a/node/execution/intrinsics/token/token_execution_engine.go b/node/execution/intrinsics/token/token_execution_engine.go index d03c6c8..82db98d 100644 --- a/node/execution/intrinsics/token/token_execution_engine.go +++ b/node/execution/intrinsics/token/token_execution_engine.go @@ -858,7 +858,7 @@ func ProcessJoinsAndLeaves( } process := eligibilityOrder.All() slices.Reverse(process) - for s := 0; s+setSize < 2048; s++ { + for s := 0; s < len(process) && s+setSize < 2048; s++ { app.Tries[1+i].Add([]byte(process[s].addr), frame.FrameNumber) app.Tries[2+i].Remove([]byte(process[s].addr)) }