From 83a02fc0c041955dbe3e59f44b5a8a04093178ed Mon Sep 17 00:00:00 2001 From: Ekaterina Pavlova Date: Mon, 3 Feb 2025 21:56:54 +0300 Subject: [PATCH 1/2] 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 9eb0a8fc62..407fde551c 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) From 267d7dca78a37753e2c851390c8e6dc0d3cca308 Mon Sep 17 00:00:00 2001 From: Ekaterina Pavlova Date: Mon, 3 Feb 2025 22:00:37 +0300 Subject: [PATCH 2/2] zkpbinding: update interop This place was not updated with update_deps.sh. Signed-off-by: Ekaterina Pavlova --- pkg/smartcontract/zkpbinding/binding.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/smartcontract/zkpbinding/binding.go b/pkg/smartcontract/zkpbinding/binding.go index 407fde551c..4109b48924 100644 --- a/pkg/smartcontract/zkpbinding/binding.go +++ b/pkg/smartcontract/zkpbinding/binding.go @@ -167,12 +167,12 @@ supportedstandards: []` go 1.22 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231004150345-8849ccde2524 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20241223145456-80e18222bca2 ` // verifyGosum is a standard go.sum file needed for contract compilation. - verifyGosum = `github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231004150345-8849ccde2524 h1:LKp/89ftf+MwMExKgnbwjQp5zQTUZ3lDCc+DZ4VeSRc= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231004150345-8849ccde2524/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= + verifyGosum = `github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20241223145456-80e18222bca2 h1:4Bfi6A1kPpaTDuwbDVc6x+R4WXgoNN9wIq6XobDlXHs= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20241223145456-80e18222bca2/go.mod h1:kVLzmbeJJdbIPF2bUYhD8YppIiLXnRQj5yqNZvzbOL0= ` )