From 83a02fc0c041955dbe3e59f44b5a8a04093178ed Mon Sep 17 00:00:00 2001 From: Ekaterina Pavlova Date: Mon, 3 Feb 2025 21:56:54 +0300 Subject: [PATCH] zkpbinding: remove range usage from smartcontract Reverting a part of 1b83dc2, because ranging over integers is not supported by smart contract compiler, ref. #3525. Signed-off-by: Ekaterina Pavlova --- pkg/smartcontract/zkpbinding/binding.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/smartcontract/zkpbinding/binding.go b/pkg/smartcontract/zkpbinding/binding.go index 9eb0a8fc6..407fde551 100644 --- a/pkg/smartcontract/zkpbinding/binding.go +++ b/pkg/smartcontract/zkpbinding/binding.go @@ -133,11 +133,11 @@ func VerifyProof(a []byte, b []byte, c []byte, publicInput [][]byte) bool { panic("error: inputlen or iclen") } icPoints := make([]crypto.Bls12381Point, iclen) - for i := range iclen { + for i := range icPoints { icPoints[i] = crypto.Bls12381Deserialize(ic[i]) } acc := icPoints[0] - for i := range inputlen { + for i := range publicInput { scalar := publicInput[i] // 32-bytes LE field element. temp := crypto.Bls12381Mul(icPoints[i+1], scalar, false) acc = crypto.Bls12381Add(acc, temp)