From 2e1cc0149dd823ff1460612efb02f1a933f97131 Mon Sep 17 00:00:00 2001 From: huangzhiran Date: Wed, 22 Jan 2025 16:29:10 +0800 Subject: [PATCH] don't write router contract when movement not move --- task/processor/processor.go | 3 +++ vm/payload.go | 4 ++++ vm/vm.go | 3 +++ 3 files changed, 10 insertions(+) diff --git a/task/processor/processor.go b/task/processor/processor.go index c78a8ad2..cd08698f 100644 --- a/task/processor/processor.go +++ b/task/processor/processor.go @@ -66,6 +66,9 @@ func (r *processor) process(taskID common.Hash) error { slog.Error("failed to handle task", "error", err) return err } + if len(proof) == 0 { + return nil + } processTime := time.Since(startTime) slog.Info("process task success", "project_id", t.ProjectID.String(), "task_id", t.ID, "process_time", processTime) metrics.TaskDurationMtc.WithLabelValues(t.ProjectID.String(), t.ProjectVersion, t.ID.String()).Set(processTime.Seconds()) diff --git a/vm/payload.go b/vm/payload.go index 0bd81bca..8be4b6c2 100644 --- a/vm/payload.go +++ b/vm/payload.go @@ -132,6 +132,10 @@ func encodeMovementPayload(task *task.Task, projectConfig *project.Config) ([]by slog.Info("------", "lastPayload", string(task.PrevTask.Payload)) slog.Info("------", "curPayload", string(task.Payload)) + if isMove == 0 { + return nil, nil + } + assignment := ProofofMovementCircuit{ LastPayloadHash: uints.NewU8Array(lastPayloadHash[:]), LastTimestamp: lastTimestamp, diff --git a/vm/vm.go b/vm/vm.go index 86f97b26..a05a2126 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -34,6 +34,9 @@ func (r *Handler) Handle(task *task.Task, projectConfig *project.Config) ([]byte if err != nil { return nil, errors.Wrap(err, "failed to load payload") } + if len(taskPayload) == 0 { + return nil, nil + } conn, ok := r.vmClients[projectConfig.VMTypeID] if !ok { return nil, errors.Errorf("unsupported vm type id %d", projectConfig.VMTypeID)