2022-10-10 15:11:32 -07:00
|
|
|
package utils
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"math/big"
|
|
|
|
|
|
|
|
|
|
"github.com/consensys/gnark/frontend"
|
2023-05-19 19:49:14 -07:00
|
|
|
"github.com/succinctlabs/gnark-plonky2-verifier/field"
|
2022-10-10 15:11:32 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func StrArrayToBigIntArray(input []string) []big.Int {
|
|
|
|
|
var output []big.Int
|
|
|
|
|
for i := 0; i < len(input); i++ {
|
|
|
|
|
a := new(big.Int)
|
|
|
|
|
a, _ = a.SetString(input[i], 10)
|
|
|
|
|
output = append(output, *a)
|
|
|
|
|
}
|
|
|
|
|
return output
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func StrArrayToFrontendVariableArray(input []string) []frontend.Variable {
|
|
|
|
|
var output []frontend.Variable
|
|
|
|
|
for i := 0; i < len(input); i++ {
|
|
|
|
|
output = append(output, frontend.Variable(input[i]))
|
|
|
|
|
}
|
|
|
|
|
return output
|
|
|
|
|
}
|
2022-10-10 17:22:02 -07:00
|
|
|
|
2023-05-19 19:49:14 -07:00
|
|
|
func Uint64ArrayToFArray(input []uint64) []field.F {
|
|
|
|
|
var output []field.F
|
2022-10-10 17:22:02 -07:00
|
|
|
for i := 0; i < len(input); i++ {
|
2023-05-25 07:39:06 -07:00
|
|
|
output = append(output, field.NewFieldConst(input[i]))
|
2022-10-10 17:22:02 -07:00
|
|
|
}
|
|
|
|
|
return output
|
|
|
|
|
}
|
2022-10-10 18:43:56 -07:00
|
|
|
|
2023-05-19 19:49:14 -07:00
|
|
|
func Uint64ArrayToQuadraticExtension(input []uint64) field.QuadraticExtension {
|
2023-05-25 07:39:06 -07:00
|
|
|
return [2]field.F{field.NewFieldConst(input[0]), field.NewFieldConst(input[1])}
|
2023-04-12 09:13:31 -07:00
|
|
|
}
|
|
|
|
|
|
2023-05-19 19:49:14 -07:00
|
|
|
func Uint64ArrayToQuadraticExtensionArray(input [][]uint64) []field.QuadraticExtension {
|
|
|
|
|
var output []field.QuadraticExtension
|
2022-10-10 18:43:56 -07:00
|
|
|
for i := 0; i < len(input); i++ {
|
2023-05-25 07:39:06 -07:00
|
|
|
output = append(output, [2]field.F{field.NewFieldConst(input[i][0]), field.NewFieldConst(input[i][1])})
|
2022-11-08 14:52:22 -08:00
|
|
|
}
|
|
|
|
|
return output
|
|
|
|
|
}
|