From cd0e7804604194040554a49ac233e35537189f0c Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Mon, 1 Jul 2024 13:40:08 +0800 Subject: [PATCH] feat(coordinator): enhance batch proof sanity check --- common/types/message/message.go | 15 ++++++++++++++- common/version/version.go | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 381fe1043d..52ba6fac76 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -212,7 +212,6 @@ type BatchProof struct { } // SanityCheck checks whether an BatchProof is in a legal format -// TODO: change to check Proof&Instance when upgrading to snark verifier v0.4 func (ap *BatchProof) SanityCheck() error { if ap == nil { return errors.New("agg_proof is nil") @@ -225,5 +224,19 @@ func (ap *BatchProof) SanityCheck() error { return fmt.Errorf("proof buffer has wrong length, expected: 32, got: %d", len(ap.Proof)) } + if len(ap.Instances) == 0 { + return errors.New("instance not ready") + } + if len(ap.Instances)%32 != 0 { + return fmt.Errorf("instance buffer has wrong length, expected: 32, got: %d", len(ap.Instances)) + } + + if len(ap.Vk) == 0 { + return errors.New("vk not ready") + } + if len(ap.Vk)%32 != 0 { + return fmt.Errorf("vk buffer has wrong length, expected: 32, got: %d", len(ap.Vk)) + } + return nil } diff --git a/common/version/version.go b/common/version/version.go index 68b22ea72b..3d7f87a150 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,7 @@ import ( "runtime/debug" ) -var tag = "v4.4.22" +var tag = "v4.4.23" var commit = func() string { if info, ok := debug.ReadBuildInfo(); ok {