arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
gnark-plonky2-verifier/utils/utils.go
utils/utils.goRaw
 1package utils
 2
 3import (
 4	. "gnark-plonky2-verifier/field"
 5	"math/big"
 6
 7	"github.com/consensys/gnark/frontend"
 8)
 9
10func StrArrayToBigIntArray(input []string) []big.Int {
11	var output []big.Int
12	for i := 0; i < len(input); i++ {
13		a := new(big.Int)
14		a, _ = a.SetString(input[i], 10)
15		output = append(output, *a)
16	}
17	return output
18}
19
20func StrArrayToFrontendVariableArray(input []string) []frontend.Variable {
21	var output []frontend.Variable
22	for i := 0; i < len(input); i++ {
23		output = append(output, frontend.Variable(input[i]))
24	}
25	return output
26}
27
28func Uint64ArrayToFArray(input []uint64) []F {
29	var output []F
30	for i := 0; i < len(input); i++ {
31		output = append(output, NewFieldElement(input[i]))
32	}
33	return output
34}
35
36func Uint64ArrayToQuadraticExtension(input []uint64) QuadraticExtension {
37	return [2]F{NewFieldElement(input[0]), NewFieldElement(input[1])}
38}
39
40func Uint64ArrayToQuadraticExtensionArray(input [][]uint64) []QuadraticExtension {
41	var output []QuadraticExtension
42	for i := 0; i < len(input); i++ {
43		output = append(output, [2]F{NewFieldElement(input[i][0]), NewFieldElement(input[i][1])})
44	}
45	return output
46}
47
48func Uint64ArrayToHashArray(input [][]uint64) []Hash {
49	var output []Hash
50	for i := 0; i < len(input); i++ {
51		output = append(output, [4]F{NewFieldElement(input[i][0]), NewFieldElement(input[i][1]), NewFieldElement(input[i][2]), NewFieldElement(input[i][3])})
52	}
53	return output
54}