diff --git a/.gitignore b/.gitignore index 958e32b..f76a470 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .DS_Store main -data \ No newline at end of file +data +data_write/**/*.sol +data_write/**/*.bin \ No newline at end of file diff --git a/README.md b/README.md index 8a10c78..73f0cf4 100644 --- a/README.md +++ b/README.md @@ -2,18 +2,18 @@ Wraps up plonky2 verifier as a groth16 circuit # TODOS -- [ ] Implement constraints for rest of the plonky2 gates - - [ ] ArithmeticExtensionGate - - [ ] BaseSumGate - - [ ] CosetInterpolationGate - - [ ] ExponentiationGate - - [ ] LookupGate - - [ ] LookupTableGate - - [ ] MulExtensionGate - - [ ] NoopGate - - [ ] PoseidonMdsGate - - [ ] RandomAccessGate - - [ ] ReducingGate - - [ ] ReducingExtensionGate +- [x] Implement constraints for rest of the plonky2 gates + - [x] ArithmeticExtensionGate + - [x] BaseSumGate + - [x] CosetInterpolationGate + - [x] ExponentiationGate + - [x] LookupGate + - [x] LookupTableGate + - [x] MulExtensionGate + - [x] NoopGate + - [x] PoseidonMdsGate + - [x] RandomAccessGate + - [x] ReducingGate + - [x] ReducingExtensionGate - [ ] Implement constraints for lookups in vanishing polynomial evaluation -- [ ] Use poseidon over BN254 scalar field rather than goldilocks field; it will reduce constraints vastly. Also implement the corresponding config for plonky2 prover +- [x] Use poseidon over BN254 scalar field rather than goldilocks field; it will reduce constraints vastly. Also implement the corresponding config for plonky2 prover diff --git a/build_plonk.sh b/build_plonk.sh new file mode 100644 index 0000000..fa58021 --- /dev/null +++ b/build_plonk.sh @@ -0,0 +1,30 @@ +go build main.go +go install +# plonky2-groth16-verifier buildPlonk --common_data ./data/tendermint/common_data_struct.json +# go run -tags=debug main.go buildPlonk --common_data ./data/tendermint/common_data_struct.json + +# plonky2-groth16-verifier provePlonk --plonky2_proof_path ./data/tendermint/proof_with_pis_struct.json --verifier_only_path ./data/tendermint/verifier_only_struct.json --plonky2_public_inputs_path ./data/tendermint/plonky2_pub_inputs_struct.json --gnark_public_inputs_path ./data/tendermint/gnark_pub_inputs_struct.json --proving_key_path ./data/pk.bin --r1cs_path ./data/r1cs.bin + +# plonky2-groth16-verifier verifyPlonk --plonkProofPath ./data/proofP --vkey_path ./data/vk.bin --gnark_public_inputs_path ./data/tendermint/gnark_pub_inputs_struct.json + +# plonky2-groth16-verifier exportSolPlonk --vkey_path ./data/vk.bin + +# osmosis [without recursion] +# *** results [before adding sha]*** +# [plonk backend] +# number of constraints: 20669098 +# proving time: 156349.328648 +# gas usage: 307932 + +# osmosis [without recursion] +# *** results [with sha]*** +# number of constraints: 26690559 +# proving time: 167878.632074 +# gas usage: + + +# aggregated [osmosis] +# [plonk backend] +# number of constraints: 18294271 +# proving time: 145921.137651 +# gas usage: 307932 \ No newline at end of file diff --git a/build_test.sh b/build_test.sh index 74e4d15..67ef59e 100755 --- a/build_test.sh +++ b/build_test.sh @@ -6,3 +6,5 @@ plonky2-groth16-verifier build --common_data ./data/goldilocks/common_data.json plonky2-groth16-verifier prove --plonky2_proof_path ./data/goldilocks/proof_with_pis.json --verifier_only_path ./data/goldilocks/verifier_only.json --public_inputs_path ./data/goldilocks/pub_inputs.json --proving_key_path ./data/pk.bin --r1cs_path ./data/r1cs.bin --vk_path ./data/vk.bin plonky2-groth16-verifier verify --groth16_proof_path ./data/g16p --vkey_path ./data/vk.bin --pub_inputs_path ./data/goldilocks/pub_inputs.json + +plonky2-groth16-verifier exportSol --vkey_path ./data/vk.bin diff --git a/cmd/build.go b/cmd/build.go index 26f79d6..0e5eac0 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -5,37 +5,42 @@ package cmd import ( "fmt" + "math" + "math/big" "os" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier" "github.com/consensys/gnark-crypto/ecc" + kzg_bn254 "github.com/consensys/gnark-crypto/ecc/bn254/kzg" "github.com/consensys/gnark/backend/groth16" + "github.com/consensys/gnark/backend/plonk" "github.com/consensys/gnark/frontend" "github.com/consensys/gnark/frontend/cs/r1cs" + "github.com/consensys/gnark/frontend/cs/scs" "github.com/spf13/cobra" ) var common_data_path string -// buildCmd represents the build command -var buildCmd = &cobra.Command{ - Use: "build", +// buildGroth16Cmd represents the buildGroth16 +var buildGroth16Cmd = &cobra.Command{ + Use: "buildGroth16", Short: "Build gnark groth16 circuit", Long: `Builds gnark groth16 circuit corresponding to provided common_data and plonky2 config.`, Run: func(cmd *cobra.Command, args []string) { fmt.Printf("build called:\n common data: %s\n ", common_data_path) - common_data, err := read_common_data_from_file(common_data_path) + common_data, err := ReadCommonDataFromFile(common_data_path) if err != nil { fmt.Println("Failed to read common data file:", err) os.Exit(1) } - circuitConstraints := getCircuitConstants(common_data) + circuitConstants := GetCircuitConstants(common_data) var myCircuit verifier.Runner // Arrays are resized according to circuitConstants before compiling - myCircuit.Make(circuitConstraints, common_data) + myCircuit.Make(circuitConstants, common_data) r1cs, _ := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &myCircuit) pk, vk, _ := groth16.Setup(r1cs) @@ -63,8 +68,67 @@ var buildCmd = &cobra.Command{ }, } +// buildPlonkCmd represents the buildPlonk +var buildPlonkCmd = &cobra.Command{ + Use: "buildPlonk", + Short: "Build gnark plonk circuit", + Long: `Builds gnark plonk circuit corresponding to provided common_data and plonky2 config.`, + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("build called:\n common data: %s\n ", common_data_path) + + common_data, err := ReadCommonDataFromFile(common_data_path) + if err != nil { + fmt.Println("Failed to read common data file:", err) + os.Exit(1) + } + circuitConstants := GetCircuitConstants(common_data) + + var myCircuit verifier.Runner + + // Arrays are resized according to circuitConstants before compiling + myCircuit.Make(circuitConstants, common_data) + + ccs, _ := frontend.Compile(ecc.BN254.ScalarField(), scs.NewBuilder, &myCircuit) + // r1cs := ccs.(*cs.SparseR1CS) + // scs := r1cs.(*cs.SparseR1CS) + // srs, err := test.NewKZGSRS(scs) + srs, err := kzg_bn254.NewSRS(uint64(math.Pow(2, 28)), big.NewInt(-1)) + if err != nil { + panic(err) + } + // pk, vk, _ := plonk.Setup(r1cs, srs) + pk, vk, _ := plonk.Setup(ccs, srs) + + f_r1cs, err := os.Create("data/r1cs.bin") + if err != nil { + fmt.Println("Failed to create r1cs file:", err) + os.Exit(1) + } + // r1cs.WriteTo(f_r1cs) + ccs.WriteTo(f_r1cs) + + f_pd, _ := os.Create("data/pk.bin") + if err != nil { + fmt.Println("Failed to create pk file:", err) + os.Exit(1) + } + pk.WriteTo(f_pd) + + f_vk, err := os.Create("data/vk.bin") + if err != nil { + fmt.Println("Failed to create vk file:", err) + os.Exit(1) + } + vk.WriteTo(f_vk) + }, +} + func init() { - buildCmd.Flags().StringVarP(&common_data_path, "common_data", "d", "", "JSON File path to common data of plonky2 circuit") - _ = buildCmd.MarkFlagRequired("common_data") - rootCmd.AddCommand(buildCmd) + buildGroth16Cmd.Flags().StringVarP(&common_data_path, "common_data", "d", "", "JSON File path to common data of plonky2 circuit") + _ = buildGroth16Cmd.MarkFlagRequired("common_data") + rootCmd.AddCommand(buildGroth16Cmd) + + buildPlonkCmd.Flags().StringVarP(&common_data_path, "common_data", "d", "", "JSON File path to common data of plonky2 circuit") + _ = buildPlonkCmd.MarkFlagRequired("common_data") + rootCmd.AddCommand(buildPlonkCmd) } diff --git a/cmd/export_solidity.go b/cmd/export_solidity.go new file mode 100644 index 0000000..55a40e2 --- /dev/null +++ b/cmd/export_solidity.go @@ -0,0 +1,85 @@ +/* +Copyright © 2023 NAME HERE +*/ +package cmd + +import ( + "fmt" + "os" + + "github.com/consensys/gnark-crypto/ecc" + "github.com/consensys/gnark/backend/groth16" + "github.com/consensys/gnark/backend/plonk" + "github.com/spf13/cobra" +) + +// exportSolGroth16Cmd represents the exportSolGroth16 command +var exportSolGroth16Cmd = &cobra.Command{ + Use: "exportSolGroth16", + Short: "Exports Solidity contract for groth16 backend", + Long: `Exports VerifyingKey as a Solidity contract for groth16 backend`, + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("export_solidity called:\n vkey: %s\n ", vkey_path) + + vk := groth16.NewVerifyingKey(ecc.BN254) + vkFile, err := os.Open(vkey_path) + if err != nil { + fmt.Println("vkFile open wrong: ", err) + os.Exit(1) + } + vk.ReadFrom(vkFile) + + f_sol, err := os.Create("data/Verifier.sol") + if err != nil { + fmt.Println("Failed to create Verifier.sol file:", err) + os.Exit(1) + } + err = vk.ExportSolidity(f_sol) + if err != nil { + fmt.Println("Failed to export Solidity Verifier") + os.Exit(1) + } else { + fmt.Println("Exported succesfully") + } + }, +} + +var exportSolPlonkCmd = &cobra.Command{ + Use: "exportSolPlonk", + Short: "Exports Solidity contract for groth16 backend", + Long: `Exports VerifyingKey as a Solidity contract for plonk backend`, + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("export_solidity called:\n vkey: %s\n ", vkey_path) + + vk := plonk.NewVerifyingKey(ecc.BN254) + vkFile, err := os.Open(vkey_path) + if err != nil { + fmt.Println("vkFile open wrong: ", err) + os.Exit(1) + } + vk.ReadFrom(vkFile) + + f_sol, err := os.Create("data/Verifier.sol") + if err != nil { + fmt.Println("Failed to create Verifier.sol file:", err) + os.Exit(1) + } + err = vk.ExportSolidity(f_sol) + if err != nil { + fmt.Println("Failed to export Solidity Verifier") + os.Exit(1) + } else { + fmt.Println("Exported succesfully") + } + }, +} + +func init() { + exportSolGroth16Cmd.Flags().StringVarP(&vkey_path, "vkey_path", "v", "", "path to the vk.bin file") + _ = exportSolGroth16Cmd.MarkFlagRequired("vkey") + rootCmd.AddCommand(exportSolGroth16Cmd) + + exportSolPlonkCmd.Flags().StringVarP(&vkey_path, "vkey_path", "v", "", "path to the vk.bin file") + _ = exportSolPlonkCmd.MarkFlagRequired("vkey") + rootCmd.AddCommand(exportSolPlonkCmd) +} \ No newline at end of file diff --git a/cmd/prove.go b/cmd/prove.go index 25f9f5b..96860d5 100644 --- a/cmd/prove.go +++ b/cmd/prove.go @@ -10,37 +10,42 @@ import ( "github.com/Electron-Labs/plonky2-groth16-verifier/verifier" "github.com/consensys/gnark-crypto/ecc" "github.com/consensys/gnark/backend/groth16" + "github.com/consensys/gnark/backend/plonk" "github.com/consensys/gnark/frontend" "github.com/spf13/cobra" ) var plonky2_proof_path string var verifier_only_path string -var public_inputs_path string +var plonky2_public_inputs_path string +var gnark_public_inputs_path string var proving_key_path string var r1cs_path string var vk_path string -// proveCmd represents the prove command -var proveCmd = &cobra.Command{ - Use: "prove", +// proveGroth16Cmd represents the prove proveGroth16 +var proveGroth16Cmd = &cobra.Command{ + Use: "proveGroth16", Short: "Generate groth16 proof", Long: `Generates a groth16 proof corresponding to a plonky2 proof and given public inputs.`, Run: func(cmd *cobra.Command, args []string) { - fmt.Printf("Proof gen called:\n proof: %s\n pub_inputs: %s\n pkey: %s\n r1cs: %s\n", - plonky2_proof_path, public_inputs_path, proving_key_path, r1cs_path) - proof, _ := read_proof_from_file(plonky2_proof_path) - verifier_only, _ := read_verifier_data_from_file(verifier_only_path) - public_inputs, _ := read_public_inputs_from_file(public_inputs_path) + fmt.Printf("Proof gen called:\n proof: %s\n plonky2 pub_inputs: %s\n pkey: %s\n r1cs: %s\n gnark pub_inputs: %s\n", + plonky2_proof_path, plonky2_public_inputs_path, proving_key_path, r1cs_path, gnark_public_inputs_path) + proof, _ := ReadProofFromFile(plonky2_proof_path) + verifier_only, _ := ReadVerifierDataFromFile(verifier_only_path) + plonky2_public_inputs, _ := ReadPlonky2PublicInputsFromFile(plonky2_public_inputs_path) + gnark_public_inputs, _ := ReadGnarkPublicInputsFromFile(gnark_public_inputs_path) proof_variable := proof.GetVariable() vd_variable := verifier_only.GetVariable() - public_inputs_variable := public_inputs.GetVariable() + plonky2_public_inputs_variable := plonky2_public_inputs.GetVariable() + gnark_public_inputs_variable := gnark_public_inputs.GetVariable() assignment := &verifier.Runner{ - Proof: proof_variable, - VerifierOnly: vd_variable, - PubInputs: public_inputs_variable, + Proof: proof_variable, + VerifierOnly: vd_variable, + Plonky2PubInputs: plonky2_public_inputs_variable, + GnarkPubInputs: gnark_public_inputs_variable, } witness, err := frontend.NewWitness(assignment, ecc.BN254.ScalarField()) @@ -49,8 +54,6 @@ var proveCmd = &cobra.Command{ os.Exit(1) } - // public, _ := witness.Public() - r1cs := groth16.NewCS(ecc.BN254) r1csFile, err := os.Open(r1cs_path) if err != nil { @@ -75,6 +78,7 @@ var proveCmd = &cobra.Command{ } vk.ReadFrom(vkFile) + fmt.Println("Prove started...") g16p, err := groth16.Prove(r1cs, pk, witness) if err != nil { fmt.Println("proving error ", err) @@ -93,28 +97,100 @@ var proveCmd = &cobra.Command{ }, } +// provePlonkCmd represents the provePlonk command +var provePlonkCmd = &cobra.Command{ + Use: "provePlonk", + Short: "Generate plonk proof", + Long: `Generates a plonk proof corresponding to a plonky2 proof and given public inputs.`, + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("Proof gen called:\n proof: %s\n plonky2 pub_inputs: %s\n pkey: %s\n r1cs: %s\n gnark pub_inputs: %s\n", + plonky2_proof_path, plonky2_public_inputs_path, proving_key_path, r1cs_path, gnark_public_inputs_path) + proof, _ := ReadProofFromFile(plonky2_proof_path) + verifier_only, _ := ReadVerifierDataFromFile(verifier_only_path) + plonky2_public_inputs, _ := ReadPlonky2PublicInputsFromFile(plonky2_public_inputs_path) + gnark_public_inputs, _ := ReadGnarkPublicInputsFromFile(gnark_public_inputs_path) + + proof_variable := proof.GetVariable() + vd_variable := verifier_only.GetVariable() + plonky2_public_inputs_variable := plonky2_public_inputs.GetVariable() + gnark_public_inputs_variable := gnark_public_inputs.GetVariable() + + assignment := &verifier.Runner{ + Proof: proof_variable, + VerifierOnly: vd_variable, + Plonky2PubInputs: plonky2_public_inputs_variable, + GnarkPubInputs: gnark_public_inputs_variable, + } + + witness, err := frontend.NewWitness(assignment, ecc.BN254.ScalarField()) + if err != nil { + fmt.Println("witness wrong: ", err) + os.Exit(1) + } + + r1cs := plonk.NewCS(ecc.BN254) + r1csFile, err := os.Open(r1cs_path) + if err != nil { + fmt.Println("r1cs file open wrong: ", err) + os.Exit(1) + } + r1cs.ReadFrom(r1csFile) + + pk := plonk.NewProvingKey(ecc.BN254) + pkFile, err := os.Open(proving_key_path) + if err != nil { + fmt.Println("pkFile open wrong: ", err) + os.Exit(1) + } + pk.ReadFrom(pkFile) + + fmt.Println("Prove started...") + plonkP, err := plonk.Prove(r1cs, pk, witness) + if err != nil { + fmt.Println("proving error ", err) + os.Exit(1) + } + proof_file, err := os.Create("./data/proofP") + if err != nil { + fmt.Println("proof file open wrong: ", err) + os.Exit(1) + } + plonkP.WriteTo(proof_file) + if err != nil { + fmt.Println("prove wrong: ", err) + os.Exit(1) + } + }, +} + func init() { - proveCmd.Flags().StringVarP(&plonky2_proof_path, "plonky2_proof_path", "p", "", "JSON File path to plonky2 proof") - _ = buildCmd.MarkFlagRequired("plonky2_proof_path") - proveCmd.Flags().StringVarP(&verifier_only_path, "verifier_only_path", "v", "", "JSON File path to verifier only data") - _ = buildCmd.MarkFlagRequired("verifier_only_path") - proveCmd.Flags().StringVarP(&public_inputs_path, "public_inputs_path", "i", "", "JSON File path to public inputs") - _ = buildCmd.MarkFlagRequired("public_inputs_path") - proveCmd.Flags().StringVarP(&proving_key_path, "proving_key_path", "k", "", "JSON File path to proving key") - _ = buildCmd.MarkFlagRequired("proving_key_path") - proveCmd.Flags().StringVarP(&r1cs_path, "r1cs_path", "r", "", "JSON File path to r1cs") - _ = buildCmd.MarkFlagRequired("r1cs_path") - proveCmd.Flags().StringVarP(&vk_path, "vk_path", "e", "", "JSON File path to vkey") - _ = buildCmd.MarkFlagRequired("vk_path") - rootCmd.AddCommand(proveCmd) - - // Here you will define your flags and configuration settings. - - // Cobra supports Persistent Flags which will work for this command - // and all subcommands, e.g.: - // proveCmd.PersistentFlags().String("foo", "", "A help for foo") - - // Cobra supports local flags which will only run when this command - // is called directly, e.g.: - // proveCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle") + proveGroth16Cmd.Flags().StringVarP(&plonky2_proof_path, "plonky2_proof_path", "p", "", "JSON File path to plonky2 proof") + _ = proveGroth16Cmd.MarkFlagRequired("plonky2_proof_path") + proveGroth16Cmd.Flags().StringVarP(&verifier_only_path, "verifier_only_path", "v", "", "JSON File path to verifier only data") + _ = proveGroth16Cmd.MarkFlagRequired("verifier_only_path") + proveGroth16Cmd.Flags().StringVarP(&plonky2_public_inputs_path, "plonky2_public_inputs_path", "i", "", "JSON File path to plonky2 public inputs") + _ = proveGroth16Cmd.MarkFlagRequired("plonky2_public_inputs_path") + proveGroth16Cmd.Flags().StringVarP(&gnark_public_inputs_path, "gnark_public_inputs_path", "j", "", "JSON File path to gnark public inputs") + _ = proveGroth16Cmd.MarkFlagRequired("gnark_public_inputs_path") + proveGroth16Cmd.Flags().StringVarP(&proving_key_path, "proving_key_path", "k", "", "JSON File path to proving key") + _ = proveGroth16Cmd.MarkFlagRequired("proving_key_path") + proveGroth16Cmd.Flags().StringVarP(&r1cs_path, "r1cs_path", "r", "", "JSON File path to r1cs") + _ = proveGroth16Cmd.MarkFlagRequired("r1cs_path") + proveGroth16Cmd.Flags().StringVarP(&vk_path, "vk_path", "e", "", "JSON File path to vkey") + _ = proveGroth16Cmd.MarkFlagRequired("vk_path") + rootCmd.AddCommand(proveGroth16Cmd) + + provePlonkCmd.Flags().StringVarP(&plonky2_proof_path, "plonky2_proof_path", "p", "", "JSON File path to plonky2 proof") + _ = provePlonkCmd.MarkFlagRequired("plonky2_proof_path") + provePlonkCmd.Flags().StringVarP(&verifier_only_path, "verifier_only_path", "v", "", "JSON File path to verifier only data") + _ = provePlonkCmd.MarkFlagRequired("verifier_only_path") + provePlonkCmd.Flags().StringVarP(&plonky2_public_inputs_path, "plonky2_public_inputs_path", "i", "", "JSON File path to plonky2 public inputs") + _ = provePlonkCmd.MarkFlagRequired("plonky2_public_inputs_path") + provePlonkCmd.Flags().StringVarP(&gnark_public_inputs_path, "gnark_public_inputs_path", "j", "", "JSON File path to gnark public inputs") + _ = provePlonkCmd.MarkFlagRequired("gnark_public_inputs_path") + provePlonkCmd.Flags().StringVarP(&proving_key_path, "proving_key_path", "k", "", "JSON File path to proving key") + _ = provePlonkCmd.MarkFlagRequired("proving_key_path") + provePlonkCmd.Flags().StringVarP(&r1cs_path, "r1cs_path", "r", "", "JSON File path to r1cs") + _ = provePlonkCmd.MarkFlagRequired("r1cs_path") + rootCmd.AddCommand(provePlonkCmd) } diff --git a/cmd/root.go b/cmd/root.go index 8f14e8f..6e94585 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -18,7 +18,8 @@ var rootCmd = &cobra.Command{ Long: `The following tasks are supported as part of the application : 1. (build)Generate circuit for custom plonky2 configs requires plonky2_config.json, common_data 2. (prove)Generate groth16 proof corresponding to a plonky2 proof with pis -3. (verify)Verification of groth16 proof`, +3. (verify)Verification of groth16 proof +4. (exportSol)Exports VerifyingKey as a Solidity contract`, // Uncomment the following line if your bare application // has an action associated with it: // Run: func(cmd *cobra.Command, args []string) { }, diff --git a/cmd/utils.go b/cmd/utils.go index 54d4ced..529792a 100644 --- a/cmd/utils.go +++ b/cmd/utils.go @@ -3,15 +3,15 @@ package cmd import ( "encoding/json" "fmt" - "io/ioutil" "math" + "os" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/types" ) -func read_common_data_from_file(path string) (types.CommonData, error) { - jsonCommonData, err := ioutil.ReadFile(path) +func ReadCommonDataFromFile(path string) (types.CommonData, error) { + jsonCommonData, err := os.ReadFile(path) if err != nil { fmt.Println("Error reading JSON file:", err) return types.CommonData{}, err @@ -26,8 +26,8 @@ func read_common_data_from_file(path string) (types.CommonData, error) { return commonData, nil } -func read_verifier_data_from_file(path string) (types.VerifierOnly, error) { - jsonVerifierData, err := ioutil.ReadFile(path) +func ReadVerifierDataFromFile(path string) (types.VerifierOnly, error) { + jsonVerifierData, err := os.ReadFile(path) if err != nil { fmt.Println("Error reading verifier only json file:", err) return types.VerifierOnly{}, err @@ -40,8 +40,8 @@ func read_verifier_data_from_file(path string) (types.VerifierOnly, error) { return verifier_only, nil } -func read_proof_from_file(path string) (types.Proof, error) { - jsonProofData, err := ioutil.ReadFile(path) +func ReadProofFromFile(path string) (types.Proof, error) { + jsonProofData, err := os.ReadFile(path) if err != nil { fmt.Println("Error reading verifier only json file:", err) return types.Proof{}, err @@ -54,21 +54,35 @@ func read_proof_from_file(path string) (types.Proof, error) { return proof, nil } -func read_public_inputs_from_file(path string) (types.PublicInputs, error) { - jsonPublicInputsData, err := ioutil.ReadFile(path) +func ReadPlonky2PublicInputsFromFile(path string) (types.Plonky2PublicInputs, error) { + jsonPublicInputsData, err := os.ReadFile(path) if err != nil { fmt.Println("Error reading verifier only json file:", err) - return types.PublicInputs{}, err + return types.Plonky2PublicInputs{}, err } - var pub_inputs types.PublicInputs + var pub_inputs types.Plonky2PublicInputs if err := json.Unmarshal(jsonPublicInputsData, &pub_inputs); err != nil { fmt.Println("Error unmarshaling JSON:", err) - return types.PublicInputs{}, err + return types.Plonky2PublicInputs{}, err } return pub_inputs, nil } -func getCircuitConstants(common_data types.CommonData) verifier.CircuitConstants { +func ReadGnarkPublicInputsFromFile(path string) (types.GnarkPublicInputs, error) { + jsonPublicInputsData, err := os.ReadFile(path) + if err != nil { + fmt.Println("Error reading verifier only json file:", err) + return types.GnarkPublicInputs{}, err + } + var pubInputs types.GnarkPublicInputs + if err := json.Unmarshal(jsonPublicInputsData, &pubInputs); err != nil { + fmt.Println("Error unmarshaling JSON:", err) + return types.GnarkPublicInputs{}, err + } + return pubInputs, nil +} + +func GetCircuitConstants(common_data types.CommonData) verifier.CircuitConstants { s1 := common_data.NumConstants + common_data.Config.NumRoutedWires @@ -116,7 +130,8 @@ func getCircuitConstants(common_data types.CommonData) verifier.CircuitConstants LEVEL_EVALS: evals, LEVEL_SIBLINGS: siblings, FINAL_POLY_COEFFS: uint64((1 << int(common_data.FriParams.DegreeBits-sum))), - NUM_PUBLIC_INPUTS: common_data.NumPublicInputs, + NUM_PLONKY2_PUBLIC_INPUTS: common_data.NumPublicInputs, + NUM_GNARK_PUBLIC_INPUTS: 2, } } diff --git a/cmd/utils_test.go b/cmd/utils_test.go index a6fbf92..37d4187 100644 --- a/cmd/utils_test.go +++ b/cmd/utils_test.go @@ -8,17 +8,17 @@ import ( func TestGetCircuitConstants(t *testing.T) { - commonDataPath := "../data/goldilocks/common_data.json" - proofPath := "../data/goldilocks/proof_with_pis.json" - proof, err := read_proof_from_file(proofPath) + commonDataPath := "../testdata/verify_fri/common_data.json" + proofPath := "../testdata/verify_fri/proof_with_pis.json" + proof, err := ReadProofFromFile(proofPath) if err != nil { t.Fatal("Error in reading proof file: ", proofPath) } - commonData, err := read_common_data_from_file(commonDataPath) + commonData, err := ReadCommonDataFromFile(commonDataPath) if err != nil { t.Fatal("Error in reading common data file: ", commonDataPath) } - circuitConstans := getCircuitConstants(commonData) + circuitConstans := GetCircuitConstants(commonData) assert.Equal(t, len(proof.WiresCap), int(circuitConstans.CAP_LEN)) assert.Equal(t, len(proof.PlonkZsPartialProductsCap), int(circuitConstans.CAP_LEN)) diff --git a/cmd/verify.go b/cmd/verify.go index 1dde89c..337abaa 100644 --- a/cmd/verify.go +++ b/cmd/verify.go @@ -4,27 +4,30 @@ Copyright © 2023 NAME HERE package cmd import ( + "bytes" "fmt" "os" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier" "github.com/consensys/gnark-crypto/ecc" "github.com/consensys/gnark/backend/groth16" + "github.com/consensys/gnark/backend/plonk" + plonk_bn254 "github.com/consensys/gnark/backend/plonk/bn254" "github.com/consensys/gnark/frontend" "github.com/spf13/cobra" ) +var plonkProofPath string var groth16proof_path string var vkey_path string -var pub_inputs_path string -// verifyCmd represents the verify command -var verifyCmd = &cobra.Command{ - Use: "verify", - Short: "Verifier gnark proof", - Long: `Verifier the groth16 proof`, +// verifyCmd represents the verifyGroth16 command +var verifyGroth16Cmd = &cobra.Command{ + Use: "verifyGroth16", + Short: "Verifies a gnark groth16 proof", + Long: `Verifies a gnark groth16 proof`, Run: func(cmd *cobra.Command, args []string) { - fmt.Printf("verify called:\n proof: %s\n vkey: %s\n pinputs: %s\n", groth16proof_path, vkey_path, pub_inputs_path) + fmt.Printf("verify called:\n proof: %s\n vkey: %s\n pinputs: %s\n", groth16proof_path, vkey_path, gnark_public_inputs_path) g16p := groth16.NewProof(ecc.BN254) g16p_file, err := os.Open(groth16proof_path) if err != nil { @@ -40,10 +43,22 @@ var verifyCmd = &cobra.Command{ os.Exit(1) } vk.ReadFrom(vkFile) - public_inputs, _ := read_public_inputs_from_file(pub_inputs_path) - public_inputs_variable := public_inputs.GetVariable() + gnark_public_inputs, _ := ReadGnarkPublicInputsFromFile(gnark_public_inputs_path) + gnark_public_inputs_variable := gnark_public_inputs.GetVariable() + fmt.Println("gnark_public_inputs: ", gnark_public_inputs) + + // ****************** + // solidity contract inputs + // var buf bytes.Buffer + // g16p.WriteRawTo(&buf) + // p := g16p.(*groth16_bn254.Proof) + // serializedProof := p.MarshalSolidity() + // fmt.Println("serializedProof", serializedProof) + // fmt.Println("public_inputs", public_inputs) + // ****************** + assignment := &verifier.Runner{ - PubInputs: public_inputs_variable, + GnarkPubInputs: gnark_public_inputs_variable, } w, _ := frontend.NewWitness(assignment, ecc.BN254.ScalarField(), frontend.PublicOnly()) err = groth16.Verify(g16p, vk, w) @@ -54,12 +69,70 @@ var verifyCmd = &cobra.Command{ }, } +// verifyCmd represents the verify with plonk backend command +var verifyPlonkCmd = &cobra.Command{ + Use: "verifyPlonk", + Short: "Verifies a gnark plonk proof", + Long: `Verifies a gnark plonk proof`, + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("verify called:\n proof: %s\n vkey: %s\n pinputs: %s\n", plonkProofPath, vkey_path, gnark_public_inputs_path) + proofP := plonk.NewProof(ecc.BN254) + proofPFile, err := os.Open(plonkProofPath) + if err != nil { + fmt.Println("proofP file open wrong: ", err) + os.Exit(1) + } + proofP.ReadFrom(proofPFile) + + vk := plonk.NewVerifyingKey(ecc.BN254) + vkFile, err := os.Open(vkey_path) + if err != nil { + fmt.Println("vkFile open wrong: ", err) + os.Exit(1) + } + vk.ReadFrom(vkFile) + + gnark_public_inputs, _ := ReadGnarkPublicInputsFromFile(gnark_public_inputs_path) + gnark_public_inputs_variable := gnark_public_inputs.GetVariable() + fmt.Println("gnark_public_inputs: ", gnark_public_inputs) + assignment := &verifier.Runner{ + GnarkPubInputs: gnark_public_inputs_variable, + } + + // ****************** + // solidity contract inputs + var buf bytes.Buffer + proofP.WriteRawTo(&buf) + p := proofP.(*plonk_bn254.Proof) + serializedProof := p.MarshalSolidity() + fmt.Println("serializedProof", serializedProof) + fmt.Println("gnark_public_inputs", gnark_public_inputs) + // ****************** + + w, _ := frontend.NewWitness(assignment, ecc.BN254.ScalarField(), frontend.PublicOnly()) + err = plonk.Verify(proofP, vk, w) + // err = groth16.Verify(g16p, vk, w) + if err != nil { + fmt.Println("verify wrong: ", err) + os.Exit(1) + } + }, +} + func init() { - verifyCmd.Flags().StringVarP(&groth16proof_path, "groth16_proof_path", "p", "", "Path to groth16(gnark) proof generated in build phase") - _ = buildCmd.MarkFlagRequired("groth16_proof_path") - verifyCmd.Flags().StringVarP(&vkey_path, "vkey_path", "v", "", "File to groth16(gnark) vkey generated in build phase") - _ = buildCmd.MarkFlagRequired("vkey_path") - verifyCmd.Flags().StringVarP(&pub_inputs_path, "pub_inputs_path", "i", "", "JSON File path to plonky2 public inputs") - _ = buildCmd.MarkFlagRequired("pub_inputs_path") - rootCmd.AddCommand(verifyCmd) + verifyGroth16Cmd.Flags().StringVarP(&groth16proof_path, "groth16_proof_path", "p", "", "Path to groth16(gnark) proof generated in build phase") + _ = verifyGroth16Cmd.MarkFlagRequired("groth16_proof_path") + verifyGroth16Cmd.Flags().StringVarP(&vkey_path, "vkey_path", "v", "", "File to groth16(gnark) vkey generated in build phase") + _ = verifyGroth16Cmd.MarkFlagRequired("vkey_path") + verifyGroth16Cmd.Flags().StringVarP(&gnark_public_inputs_path, "gnark_public_inputs_path", "i", "", "JSON File path to gnark public inputs") + _ = verifyGroth16Cmd.MarkFlagRequired("gnark_public_inputs_path") + rootCmd.AddCommand(verifyGroth16Cmd) + + verifyPlonkCmd.Flags().StringVarP(&plonkProofPath, "plonkProofPath", "p", "", "Path to plonk(gnark) proof generated in build phase") + _ = verifyPlonkCmd.MarkFlagRequired("plonkProofPath") + verifyPlonkCmd.Flags().StringVarP(&vkey_path, "vkey_path", "v", "", "File to plonk(gnark) vkey generated in build phase") + _ = verifyPlonkCmd.MarkFlagRequired("vkey_path") + verifyPlonkCmd.Flags().StringVarP(&gnark_public_inputs_path, "gnark_public_inputs_path", "i", "", "JSON File path to gnark public inputs") + _ = verifyPlonkCmd.MarkFlagRequired("gnark_public_inputs_path") + rootCmd.AddCommand(verifyPlonkCmd) } diff --git a/data/goldilocks/proof_with_pis.json b/data/goldilocks/proof_with_pis.json deleted file mode 100644 index 7eee7f3..0000000 --- a/data/goldilocks/proof_with_pis.json +++ /dev/null @@ -1,16317 +0,0 @@ -{ - "wires_cap": [ - { - "elements": [ - 41911264093298114, - 6224391579496610882, - 13774000280901649199, - 14127699164614919018 - ] - } - ], - "plonk_zs_partial_products_cap": [ - { - "elements": [ - 16382076914506663881, - 2607374128072145420, - 9258351828424868603, - 2551350533640092680 - ] - } - ], - "quotient_polys_cap": [ - { - "elements": [ - 16804692530548420899, - 13149842623765488741, - 4891127193450023301, - 17126397747865126842 - ] - } - ], - "openings": { - "constants": [ - [ - 11581418706856310878, - 16106891341413043133 - ], - [ - 12841697521879322234, - 12523937010868909745 - ], - [ - 15417660230199741248, - 7444024515881420008 - ], - [ - 0, - 0 - ] - ], - "plonk_sigmas": [ - [ - 6605405873048415736, - 1229130687786334183 - ], - [ - 3463991136669270316, - 13462049433250331819 - ], - [ - 8730199011529916881, - 1794922833446394690 - ], - [ - 712860541853884234, - 11311894429648735425 - ], - [ - 6873896304474921408, - 11100417612218802365 - ], - [ - 11223785992495281214, - 3915947007873279271 - ], - [ - 4779525669808631214, - 8964884985698370576 - ], - [ - 15009935619245834177, - 7413962691644841069 - ], - [ - 12835828987647917634, - 15004250702684718841 - ], - [ - 16063826635877086154, - 12796034571720110282 - ], - [ - 1766322034652097152, - 15785265724382434690 - ], - [ - 11994779414029839822, - 10950074228223072475 - ], - [ - 18357439479292319301, - 1270939560747603505 - ], - [ - 17821611938558729181, - 8896576925233224535 - ], - [ - 14070819153423598341, - 6935806268388818782 - ], - [ - 6262013726892266782, - 11657155739892562832 - ], - [ - 13577295447436228634, - 7670531895548852925 - ], - [ - 2807347784980678833, - 16800235130012801833 - ], - [ - 1204690425450167510, - 6921181493602106905 - ], - [ - 8432832978151172570, - 11554782316385579693 - ], - [ - 3689598638814455027, - 7096499937040720567 - ], - [ - 7380446402286600868, - 12782011420455875327 - ], - [ - 14769636677177037434, - 15687103665532790005 - ], - [ - 11153736393166340433, - 17576005311656608430 - ], - [ - 2106116256871805137, - 7430491540267020696 - ], - [ - 11577505252127735908, - 12674033078102934304 - ], - [ - 7255560487235814072, - 14931255269062202844 - ], - [ - 13895435271821529862, - 12285066536362498303 - ], - [ - 5034326555677787429, - 12208489476879150837 - ], - [ - 16793541820329927682, - 11672450060495718575 - ], - [ - 6874328325821987848, - 7920174145811692741 - ], - [ - 11226810141924746294, - 100986812438096224 - ], - [ - 4800694715814886774, - 706907687066673568 - ], - [ - 15158118941289623097, - 4948353809466714976 - ], - [ - 13873112241954440074, - 16191732596852420511 - ], - [ - 4878065346608158913, - 2661663761479437651 - ], - [ - 15699713356842528070, - 184902260941479236 - ], - [ - 17664273150824774885, - 1294315826590354652 - ], - [ - 12969447639285918269, - 9060210786132482564 - ], - [ - 16999157197343090599, - 8081243294683624985 - ], - [ - 8313635964914128267, - 1228470854541621932 - ], - [ - 2855219546155144906, - 8599295981791353524 - ], - [ - 1539792753671430021, - 4854839664295721705 - ], - [ - 10778549275700010147, - 15537133580655467614 - ], - [ - 1662868652241733745, - 16526214717515351693 - ], - [ - 11640080565692136215, - 5003038606119955925 - ], - [ - 7693587682186616221, - 16574526173425107154 - ], - [ - 16961625636477144905, - 5341218797488244152 - ], - [ - 8050915038852508409, - 495043443588540422 - ], - [ - 1016173063723805900, - 3465304105119782954 - ], - [ - 7113211446066641300, - 5810384666423896357 - ], - [ - 12898991983637320458, - 3779204526138105857 - ], - [ - 16505967607802905922, - 8007687613552156678 - ], - [ - 4861308838132835528, - 713581086621343783 - ], - [ - 15582417797515264375, - 4995067606349406481 - ], - [ - 16843204235533929020, - 16518729175031261046 - ], - [ - 7221965232249997214, - 4950639808731321396 - ], - [ - 13660268486920811856, - 16207734591704665451 - ], - [ - 3388159061372761387, - 2773677725445152231 - ], - [ - 5270369360194745388, - 969000008701481296 - ], - [ - 18445841451948633395, - 6783000060910369072 - ], - [ - 18440425747152927839, - 10587512287543414862 - ], - [ - 18402515813582988947, - 325609735145566750 - ], - [ - 18137146278593416703, - 2279268146018967250 - ], - [ - 16279559533666410995, - 15954877022132770750 - ], - [ - 3276452319177371039, - 1003674738441889324 - ], - [ - 4488422164827012952, - 7025723169093225268 - ], - [ - 12972211084374506343, - 12286574044823408234 - ], - [ - 17018501312963207117, - 12219042036105520354 - ], - [ - 8449044774254943893, - 11746317975080305194 - ], - [ - 3803081211540854288, - 8437249547903799074 - ], - [ - 8174824411371395695, - 3720514627082840555 - ], - [ - 1883538671356016902, - 7596858320165299564 - ], - [ - 13184770699492118314, - 16284520102327928306 - ], - [ - 59674549371906593, - 3311176299807992216 - ], - [ - 417721845603346151, - 4731490029241361191 - ], - [ - 2924052919223423057, - 14673686135274944016 - ], - [ - 2021626365149377078, - 10482082599851686507 - ], - [ - 14151384556045639546, - 18034345990718052586 - ], - [ - 6825971545246555217, - 15559957518538862176 - ] - ], - "wires": [ - [ - 8578874048485009403, - 4691051504799942905 - ], - [ - 4345594679601721361, - 9057608552103883712 - ], - [ - 16243446025439220206, - 16740657706898664309 - ], - [ - 2077362473882218380, - 9709665152427739296 - ], - [ - 5404308956689078637, - 3640641216699507301 - ], - [ - 7295754058412671236, - 14225079337853258268 - ], - [ - 7191164823251908219, - 3964881543091629252 - ], - [ - 958358904302812060, - 15346820945938486186 - ], - [ - 11313667180143229087, - 1917126043816108603 - ], - [ - 7337390055471175096, - 1297404620194487635 - ], - [ - 14900912939702892458, - 11680413414831144024 - ], - [ - 10787372385978776421, - 14231221559502279974 - ], - [ - 12064190785317002601, - 13781175743191881959 - ], - [ - 5032648178005158315, - 1620075975393407790 - ], - [ - 2831927252703825845, - 14283831847250934048 - ], - [ - 6234038272839980445, - 14529613049907899763 - ], - [ - 13524379939713146826, - 1082704252324941315 - ], - [ - 8020332503835901391, - 17871084368323054633 - ], - [ - 16507566768722478756, - 4542232525421242927 - ], - [ - 6864888071110635663, - 11916468953673239587 - ], - [ - 6395592267579882799, - 4144717132575600547 - ], - [ - 15636115052939132694, - 7483526951283646449 - ], - [ - 13100879588193821967, - 1206537342303447571 - ], - [ - 16826379104375454046, - 369903993403194006 - ], - [ - 12947508268371205946, - 14958651860003954648 - ], - [ - 4164919569969669371, - 2715024316123605550 - ], - [ - 15665408194854932259, - 5400209695408565513 - ], - [ - 6970374914928513461, - 13765998067717499645 - ], - [ - 10658306624062078388, - 4382203338959179627 - ], - [ - 17779570725484162235, - 14304268469678651506 - ], - [ - 15177475256122643691, - 174576236998712277 - ], - [ - 18382811432314982355, - 13528291784545562643 - ], - [ - 15628589184441227198, - 14100986235024052767 - ], - [ - 3282468987502358336, - 11607686774406342730 - ], - [ - 13407241811183077434, - 15020399042707718562 - ], - [ - 15082707571211144364, - 18392019127680013012 - ], - [ - 2579985639971350814, - 14007373088783671497 - ], - [ - 16697480107404330954, - 2263571725398852639 - ], - [ - 6802915473807732826, - 16203311739724878259 - ], - [ - 16816156738983323725, - 14337490177000938211 - ], - [ - 7356409682384512836, - 7350492686887232879 - ], - [ - 11408139806262307967, - 13898478593726159865 - ], - [ - 10817154493193201932, - 1518141901753959747 - ], - [ - 10105558995873671354, - 16044374210277086336 - ], - [ - 4724475482883272105, - 13452928433996852981 - ], - [ - 12797312119330186839, - 11714812106524400402 - ], - [ - 17318385139973414156, - 12368893441558107139 - ], - [ - 14087074425090820420, - 11193464229939695370 - ], - [ - 6898737069913205554, - 10722703777643252867 - ], - [ - 8470713849523979911, - 10986870238868209333 - ], - [ - 394217539722172405, - 14739350569266800296 - ], - [ - 8209588268712426552, - 2883130776718966337 - ], - [ - 16156701744417444242, - 901595245456865667 - ], - [ - 15731392533927613030, - 16944364457051450198 - ], - [ - 11217097179825761521, - 2511157004762784955 - ], - [ - 12337059632693380008, - 3670052956213057022 - ], - [ - 4346429698193891330, - 7167471611738581542 - ], - [ - 14826432622080743310, - 11288906663357700647 - ], - [ - 140479540818199973, - 5586137174514665285 - ], - [ - 4055855367078942069, - 2937291609581748649 - ], - [ - 9873023565931406681, - 9386142826020449116 - ], - [ - 15232480197807535387, - 13320226607690626164 - ], - [ - 3438710758499505554, - 8074451457749173214 - ], - [ - 8921923054192531372, - 18053519481152594089 - ], - [ - 12154769288514059207, - 9795644344173094164 - ], - [ - 12134237812723051036, - 15252722232693667565 - ], - [ - 1795685444730539218, - 708862402532098625 - ], - [ - 7383624452613881850, - 14346274630172235032 - ], - [ - 14936565327810748256, - 5239113555409795890 - ], - [ - 17145125144591418904, - 13186920196590111495 - ], - [ - 7575144640842194612, - 8218206464267881646 - ], - [ - 861159028872940148, - 3791401834842519189 - ], - [ - 11223410724822806391, - 16530935402358092416 - ], - [ - 11135686255866973619, - 16571583030008766263 - ], - [ - 6213283760876117094, - 9808841270060899238 - ], - [ - 8833582451286848283, - 16335320550167514270 - ], - [ - 12881685672958465216, - 187040172668270338 - ], - [ - 11329141443487185053, - 12125881971565755864 - ], - [ - 7354816819310888988, - 2036870368741567240 - ], - [ - 17515262066051192184, - 10769065885652269435 - ], - [ - 14967336066773979573, - 5042074134137744848 - ], - [ - 16785380331916201582, - 9228798633306403458 - ], - [ - 7681358313172399533, - 4794194961149219349 - ], - [ - 15214142016862944392, - 999709254893767078 - ], - [ - 5194703607591916988, - 1122183792330968117 - ], - [ - 8058634440638473136, - 7106467693143261476 - ], - [ - 14713555772998734345, - 7270188511823756728 - ], - [ - 14782157567490231569, - 6724764078269567997 - ], - [ - 3143485493296038057, - 3602094759409627051 - ], - [ - 17688457952992312787, - 3800302551315138899 - ], - [ - 6881437559577713842, - 10366549811139735316 - ], - [ - 14028089039953183479, - 9173351965443423539 - ], - [ - 16798172667006560998, - 4489170977699417801 - ], - [ - 17481490569473723912, - 15146602755580528948 - ], - [ - 11483077846671541770, - 2493196712352484758 - ], - [ - 16396921150489474337, - 10206509076912201258 - ], - [ - 4797766324087274434, - 4429143213145604046 - ], - [ - 15305816362232710999, - 4506160655812892990 - ], - [ - 18249790785339828147, - 13910621362482854728 - ], - [ - 3925567514377654145, - 2064018986457640401 - ], - [ - 1773842064276790711, - 4329953013711224047 - ], - [ - 3330958101410084812, - 6857823581487404800 - ], - [ - 284505590687311741, - 17307196352083884853 - ], - [ - 5268434663348406903, - 6517825658985733637 - ], - [ - 8742018659629732885, - 2262603769759797572 - ], - [ - 12359491002271956087, - 13396947104040110645 - ], - [ - 3797006464192672291, - 3492176626357413883 - ], - [ - 1869134718182193037, - 12195981441445700343 - ], - [ - 14505331074440818212, - 6990820979965864964 - ], - [ - 4156587514292640869, - 12173721759136010286 - ], - [ - 16982164510023354580, - 801819070790916920 - ], - [ - 5959785698378216906, - 16309778706979112751 - ], - [ - 3689570923821531921, - 14186633788657683639 - ], - [ - 8294610896952174165, - 14962273686329264236 - ], - [ - 15894255761831272854, - 12190076520403057405 - ], - [ - 8391382963012168968, - 13919146606515340474 - ], - [ - 5778585106738672071, - 17785991692893035841 - ], - [ - 5588722810091824064, - 3839063087996917695 - ], - [ - 12622739412334689584, - 13983664675600810689 - ], - [ - 18104814612725066054, - 14592919099017698659 - ], - [ - 1049603521142269145, - 17924861662168521727 - ], - [ - 8246994218779790942, - 6406870982625253529 - ], - [ - 1712747411941587848, - 9770999393292215958 - ], - [ - 11901055864646408794, - 16082011973949605927 - ], - [ - 15795290611038440749, - 1843661836812964928 - ], - [ - 14600073619899883464, - 17515302117047072536 - ], - [ - 7837834440329952771, - 2277050328049091228 - ], - [ - 6959659285899664739, - 2099584438680398463 - ], - [ - 14880954982634478973, - 13790938416103719252 - ], - [ - 9001770095850739569, - 5225040596792860362 - ], - [ - 9491363653697775483, - 17566018486226681507 - ], - [ - 17314947982781225355, - 8632735229380348279 - ], - [ - 13910220589139385628, - 10059582920150182438 - ], - [ - 9443607940960944550, - 10980031188884625172 - ], - [ - 3379167947691765084, - 18175705376890781752 - ] - ], - "plonk_zs": [ - [ - 11529820992801946635, - 5907882496117298813 - ], - [ - 7482632778505154776, - 3360343298067741465 - ] - ], - "plonk_zs_next": [ - [ - 12985928164254192916, - 8501810871231218841 - ], - [ - 7659597347520953973, - 7256955388063477473 - ] - ], - "partial_products": [ - [ - 1007730763704616355, - 15842355523928651874 - ], - [ - 17851470327055633066, - 1586890853339719290 - ], - [ - 17851470327055633066, - 1586890853339719290 - ], - [ - 12985928164254192916, - 8501810871231218841 - ], - [ - 12985928164254192916, - 8501810871231218841 - ], - [ - 12985928164254192916, - 8501810871231218841 - ], - [ - 12985928164254192916, - 8501810871231218841 - ], - [ - 12985928164254192916, - 8501810871231218841 - ], - [ - 12985928164254192916, - 8501810871231218841 - ], - [ - 2322259098437849886, - 14420539133080167347 - ], - [ - 17867587127648421359, - 17985025289838291734 - ], - [ - 17867587127648421359, - 17985025289838291734 - ], - [ - 7659597347520953973, - 7256955388063477473 - ], - [ - 7659597347520953973, - 7256955388063477473 - ], - [ - 7659597347520953973, - 7256955388063477473 - ], - [ - 7659597347520953973, - 7256955388063477473 - ], - [ - 7659597347520953973, - 7256955388063477473 - ], - [ - 7659597347520953973, - 7256955388063477473 - ] - ], - "quotient_polys": [ - [ - 17000872978360319979, - 2993751837523155392 - ], - [ - 14212980483890501567, - 12377202618172167873 - ], - [ - 14103192482522182777, - 8540100042618627116 - ], - [ - 14324298384925084787, - 12620592296053833573 - ], - [ - 18446206421446523853, - 17846687419072425433 - ], - [ - 16560525191565413598, - 611823191824326893 - ], - [ - 18446744069414584321, - 18446744069414584321 - ], - [ - 18446744069414584321, - 18446744069414584321 - ], - [ - 15708271152480968072, - 45995610086426657 - ], - [ - 16608885145494068570, - 9859348602938481414 - ], - [ - 12832505387562241874, - 15872352067751417326 - ], - [ - 10766859174847548851, - 9832731483289185267 - ], - [ - 10339296013735262489, - 4838038488454317678 - ], - [ - 12033024496648587068, - 6280121592552879712 - ], - [ - 18446744069414584321, - 18446744069414584321 - ], - [ - 18446744069414584321, - 18446744069414584321 - ] - ], - "lookup_zs": [], - "lookup_zs_next": [] - }, - "opening_proof": { - "commit_phase_merkle_caps": [ - [ - { - "elements": [ - 14440993830922668303, - 15979337072528332113, - 17438683593709288964, - 12610485770815237760 - ] - } - ], - [ - { - "elements": [ - 3367108721306820270, - 4687124867168389637, - 10247866295117502739, - 9167995917395761542 - ] - } - ] - ], - "query_round_proofs": [ - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 2587646717353969890, - 18445289057976404773, - 7197864610733231174, - 0, - 13069413867301144253, - 16550613453535097564, - 15367838189047414528, - 1849653329164664595, - 17580551995525616244, - 12383399552191807782, - 12896820587684317190, - 16490767836131883046, - 4754910436435675396, - 14837628985635143451, - 11629682552373082552, - 1172022493545053964, - 5267618089375175054, - 18426582556211641057, - 18305613476993981473, - 17458829922470364385, - 1697857115917922919, - 11884999811425460433, - 9408022402319885747, - 10515924607995447266, - 18271240047724377899, - 17218215917583139367, - 9847047006594469643, - 13589096837917534538, - 13636897840745440957, - 1782958559034156806, - 12480709913239097642, - 13577993115015346210, - 2812231458034501865, - 1238876136826928734, - 8672132957788501138, - 5364698496275755003, - 659401335101116379, - 4615809345707814653, - 13863921350540118250, - 4813729106707906145, - 15249359677540758694, - 14511797395712389253, - 9348861422913803166, - 10101797752152869199, - 15372352056826331430, - 15372744050711398405, - 15375488007906867230, - 15394695708275149005, - 15529149610853121430, - 16470326928898928405, - 4611824085804992909, - 13836024531220366042, - 4618451371469640689, - 13882415530872900502, - 4943188369037381909, - 16155574513847089042, - 2408557180442117368, - 16859900263094821576, - 7338837425176245106, - 14478373837404547100, - 9114896514758908095, - 8464043395068603702, - 3908071557236472951, - 8909756831240726336, - 7028065610441331389, - 12302971134260151081, - 12333821662162720283, - 12549775357480704697, - 14061451224706595595, - 6196438225873247560, - 6481579442283564278, - 8477567957155781304, - 4002743491846716165, - 9572460373512428834, - 11666990406343248875, - 7881956566744404841, - 18280207828381665245, - 17280990382184150789, - 10286468258801549597, - 16665045603367094216, - 5974854807082153586, - 4930495510745906460, - 16066724505806760899, - 1786607124159820367 - ], - { - "siblings": [ - { - "elements": [ - 13135960093460870426, - 1335249359730932908, - 17966754621997998088, - 13828914696277703021 - ] - }, - { - "elements": [ - 5217499768471641053, - 9060755295877169975, - 4839350588299324655, - 3452021940292143264 - ] - }, - { - "elements": [ - 6627224641645322983, - 16937846869141074617, - 5810573375929817312, - 11313469353120897671 - ] - }, - { - "elements": [ - 13160595601479011360, - 12672240760888984779, - 3719035680330481544, - 13069421092759503324 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 2186064829680276449, - 7727154959437162191, - 6051129349863803355, - 6027063927536345533, - 16208513625979272070, - 11846149889136298193, - 17077619254247046540, - 7687073730283271491, - 7924602718872806198, - 15768347324251543031, - 222077954521555802, - 5468119198382054661, - 7385608421046754223, - 4061910488791757735, - 16148338408777465747, - 15435811226990777361, - 1094939157763634302, - 7286163501226951096, - 11375621651705902570, - 4049957466079446460, - 8316894025503574991, - 9597772726931380823, - 4662337632878099079, - 17520797404332128512, - 13028587140039843804, - 12623434164875591434, - 7294634293820244913, - 11907329986684556891, - 8314089400518996362, - 13936742443521039245, - 3991695300108068473, - 16501136621324921091, - 4645040791485730227, - 12162384964521507323, - 12691592774957115447, - 15558453835262974104, - 4330000075240343440, - 335873413324797512, - 10064077598558672554, - 13690788633469286016, - 15488150424242198929, - 7440258992205945083, - 8999960937328609297, - 15097093576511104766, - 10164634880085301478, - 15100912906211167743, - 3687539435812216587, - 6299908002342984871, - 16821569875000033955, - 1324479833256122349, - 10536602928282730150, - 3839708729647456773, - 15765899040657077387, - 12580901348429327137, - 4248250251705059218, - 3029096182653744693, - 10963161165348832482, - 1052588674971259060, - 6858264337944514250, - 7799361130561192424, - 4301569551876999117, - 5063182833011053141, - 14300372760363566244, - 14473087238803167754, - 2712028677402900198, - 9459063972628662438, - 6737263956892682406, - 8872941402076202331, - 4551448122660121001, - 3058265368954346526, - 5159027324372014481, - 3211044432994942906, - 14576643383637408270, - 13041235270905774019, - 14695979119063204397, - 887098834552631096, - 7093669252359539367, - 13714613349308387170, - 7357096422057696979, - 16929600942730567328, - 17536919091878722957, - 14162368825495802166, - 14516926455718024390, - 15533413154393794734, - 6846623053373255358, - 1568208713380670690, - 10265382832503665020, - 16214625437487044126, - 12026629770947750994, - 10341176869226595381, - 15120849514994683332, - 18132904415921356704, - 10698147131116064812, - 10862814459487256379, - 4847048310328510607, - 6342578849634619027, - 13937575256165299870, - 17362650265453219337, - 9342544468189066611, - 16123171285601677899, - 13113483990843474467, - 4338237960893557584, - 17444734139439184672, - 8841289462863153509, - 5436480276919595505, - 9089434503851987995, - 17880921122234683036, - 14097871851537721063, - 16848496125173004724, - 8710650900853222070, - 10646548017323742539, - 17980985826360034613, - 13350138388178142448, - 15427991615141268328, - 13171492278730131357, - 8072419429715587166, - 4675941968567067869, - 10924526857876987464, - 11239228835404371003, - 7976617340496774214, - 3786812700444542228, - 14386608262018393708, - 575072284080075914, - 14905813824756155305, - 1909351797778559786, - 2827937238208232375, - 7139505376660042609, - 12887069144469176288, - 18112627847003104556, - 13992075618079151724, - 7257054807896311217, - 2049648604340893672, - 10821240514853726991, - 136326014115090695, - 12146424327774955176 - ], - { - "siblings": [ - { - "elements": [ - 14792433988447288832, - 11730166013279258643, - 540802974200242056, - 8754336274364696242 - ] - }, - { - "elements": [ - 4430148879760880834, - 7768756460329630401, - 16862062164145835115, - 12563327996433389611 - ] - }, - { - "elements": [ - 3824688132903914373, - 10580474698124922703, - 9326216943292830238, - 15633328555876295197 - ] - }, - { - "elements": [ - 9109621759816571599, - 7186661230729699208, - 17501545228116531813, - 17980106104985675006 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 768667276629930437, - 5827343701344493137, - 13334318596016116730, - 5575781167764641703, - 5575781167764641703, - 5150965886810406032, - 5150965886810406032, - 5150965886810406032, - 5150965886810406032, - 5150965886810406032, - 5150965886810406032, - 12085644344125129214, - 10715681196088011556, - 10715681196088011556, - 1957959706221943200, - 1957959706221943200, - 1957959706221943200, - 1957959706221943200, - 1957959706221943200, - 1957959706221943200 - ], - { - "siblings": [ - { - "elements": [ - 10482580529999126430, - 18068986300065097388, - 6964185809183751163, - 9218095528855062490 - ] - }, - { - "elements": [ - 5950277057356171128, - 10002402014029119860, - 5243798798489344980, - 8617671555232307366 - ] - }, - { - "elements": [ - 3757790154488564799, - 15367551632427027057, - 10567735841973960117, - 1442340454421419477 - ] - }, - { - "elements": [ - 11917520989541884801, - 12176008538048200789, - 796774948728261901, - 8970810179898673763 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 18052271277452156253, - 12918458542956587139, - 10505791304354920177, - 9665212698435283952, - 15353511171594290520, - 17840800429754937079, - 0, - 0, - 6793915478782423784, - 11739801060739377954, - 9724973605259876244, - 18292485071346396210, - 14089196243539399868, - 17094244305150735948, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 12078488914893594086, - 17753922216337490071, - 13295534076813552598, - 2227244285932866630 - ] - }, - { - "elements": [ - 8374802668345802281, - 3701358134008098932, - 5680698000255148617, - 14383134642101158163 - ] - }, - { - "elements": [ - 7609561983733807848, - 6703183335239458143, - 3189886683782333613, - 12482800112056224537 - ] - }, - { - "elements": [ - 5395522159208239280, - 18236460515046100445, - 4511550152166545452, - 16391573326493841224 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 6718347142715037771, - 17365016717688977491 - ], - [ - 15246821360395315341, - 16057774952761286043 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 17404424400936081435, - 14834878930385509579, - 4316819752309859542, - 12804448114555730177 - ] - }, - { - "elements": [ - 4643335026005491308, - 7898545724049492459, - 16733476604381240544, - 14032779295120979711 - ] - }, - { - "elements": [ - 5448429052653394718, - 11633326550950242758, - 6952130812394530383, - 14075927019534753994 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 8385515338749814822, - 17600470627921200470 - ], - [ - 17486925198524900915, - 14708738315166688581 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 7823622664770052212, - 8109957691560705278, - 18048817872504663525, - 5752507182112599452 - ] - }, - { - "elements": [ - 5205107134296034895, - 501485131006963676, - 7685783193611403496, - 8987285512752761082 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9223155058358227057, - 18352389877427661820, - 13835058052083467377, - 0, - 12326633919166923881, - 7194694763270922080, - 4246003161655029160, - 2371733445988114221, - 8507674211251073910, - 4213487270513764407, - 11047666824181766528, - 3546691491614028412, - 6380096371883614563, - 7767186464356133299, - 17476817111663764451, - 16697454567906478152, - 12564287130915980204, - 14163033638753524144, - 6907515124201747403, - 11459117730583063179, - 14888352895181248, - 104218470266268736, - 729529291863881152, - 5106705043047168064, - 17300191231915592127, - 10420874206921638963, - 17605887240207719778, - 12560746264966532520, - 12695593556105156255, - 6734012692678810887, - 10244600709922507567, - 16371972761213800006, - 3923344912009094116, - 9016670314649074491, - 7776459994299768474, - 17541731821269210676, - 12111658332396968806, - 10994632049120444358, - 3175448066184773222, - 3781392393878828233, - 8023002687737213310, - 820786605916740207, - 5745506241417181449, - 3325055551091101501, - 4828644788223126186, - 15353769448147298981, - 15242665789958171262, - 14464940182634277229, - 9020860931367018998, - 7805794311325380023, - 17747072040448491519, - 13549039866651934707, - 2609558719490621344, - 18266911036434349408, - 17187912838552939930, - 9634925453383073584, - 12104245965437762125, - 10942745480405997591, - 2812242085183645853, - 1238950526870936650, - 8672653688096556550, - 5368343608432142887, - 684917120195831567, - 4794419841370820969, - 15114194820181162462, - 13565643394195215629, - 2725783412293587798, - 633739816640530265, - 4436178716483711855, - 12606506945971398664, - 14458572344141453364, - 8976286061917251943, - 7493770225177010638, - 15562903437409905824, - 16706603714796419163, - 6265761587087428215, - 6966842970782828863, - 11874412656650633399, - 9333912318896096509, - 9997154024028922600, - 14639845959958705237, - 10245201372638015054, - 16376177400222352415, - 3952777385068960979 - ], - { - "siblings": [ - { - "elements": [ - 7235664296706706801, - 12437781973139510159, - 10069665675115260710, - 16810990582467562803 - ] - }, - { - "elements": [ - 4005777941927671449, - 83983601130548454, - 8143984704730157519, - 8597975977374892980 - ] - }, - { - "elements": [ - 5371689261270013807, - 17392246691669219395, - 12184553358600511112, - 12791358432524260063 - ] - }, - { - "elements": [ - 10806690000223166435, - 7954967506323812786, - 4138548784486448793, - 10154178816513826224 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 16303197569247236099, - 16335148456340132425, - 17426744396459819845, - 622583491105159055, - 2689361770402107168, - 10814942724945477232, - 3515959081261849840, - 15482147373979550684, - 13681615305945487, - 13541313280276133921, - 2875514438058395367, - 917516702065759360, - 11277162881240582702, - 8777333142403604132, - 3134442162882934324, - 9294854211750556237, - 14897102798815382820, - 18073691892995718893, - 1041923859935084637, - 2128364235430853060, - 10330113333631680743, - 17511536436181265653, - 14344652226236438018, - 14602116183862052118, - 6117787455681753909, - 18419413747938537359, - 10413230276033201263, - 2692217162609258772, - 6923371620583991200, - 13080579179667357464, - 11539499999546684073, - 3909270698001112986, - 4794091011975683846, - 5074721397896804246, - 12645618070368605288, - 6004499579543099308, - 5054078391278916604, - 5085040144191085774, - 16991800005929370994, - 3209978560191622449, - 7395715628051198549, - 15975999465405598376, - 7901390398612021468, - 14017792219368703319, - 9691291821876978234, - 7040538950052533765, - 1283800204205637899, - 17911327564052336161, - 2621401795597837147, - 5676873424145939094, - 10838366047872447485, - 6730530108722633164, - 4895086323790719488, - 2655634866451634857, - 13744440896135767333, - 16352981333619342910, - 535544683064811413, - 16560150170627398173, - 577343628562452147, - 9838448141648230790, - 3482117696057390930, - 2971538205058423204, - 8290172533154968769, - 8427738742553648058, - 6416667180605381402, - 11984211439205038210, - 15426322332985435931, - 9880664083949319722, - 13611902686765769011, - 13226305799393562284, - 16555934166800929228, - 122499435552858001, - 15211179079573697881, - 1327876930174530578, - 4326772882692092130, - 4383438484662249906, - 15297791924311630319, - 17252560477359186498, - 6410404384380086548, - 11582759591927017031, - 1643025949303185988, - 12629815977666496084, - 727364014923378793, - 3890005590785952925, - 13721156695788556857, - 3145178254909250462, - 7225672912045565989, - 4725386103030867157, - 9360705624899334221, - 12810441536043291839, - 5660763288665233505, - 1769185140642245830, - 15515753566510216040, - 7182117779962029893, - 3445588954877134491, - 11812986876006641209, - 2734138111836727485, - 15061939178923354366, - 8777166261690003410, - 4545595357083431865, - 14586431554777454826, - 14380825491019008455, - 14876425691585401644, - 9821752841950860922, - 13087479933238963904, - 93159241399657413, - 9537358417893935859, - 17768901464932401990, - 8078507190980130390, - 17164349383196847536, - 7682250080242858476, - 7747068987484193826, - 10272807681994906443, - 8042886572463082464, - 914659117127735301, - 17122328259239228559, - 8284329360225704310, - 824151785422524758, - 18401162397001904645, - 9570409911417747799, - 15744087915634627752, - 3728364158459273749, - 6201970507028159565, - 1595594472949305632, - 4571285251280526552, - 1830604921862302357, - 10461788938277147856, - 4498913699060064709, - 151616563958006950, - 12559133934729292252, - 13514402637962684069, - 13528957536712870546, - 16097382131524835927, - 5992526035290314189, - 13718218965706181865 - ], - { - "siblings": [ - { - "elements": [ - 5919132834859159357, - 9970294665920259573, - 15795187099263109253, - 95999190691802051 - ] - }, - { - "elements": [ - 16256807737182777389, - 7042539931913116627, - 11789108439513379568, - 13679733140867658342 - ] - }, - { - "elements": [ - 9647289070221548241, - 17358470325720686782, - 5880978181065361246, - 3024132070608938447 - ] - }, - { - "elements": [ - 18068542140626307032, - 4355258260800683867, - 4216852198913689890, - 9908778413058407397 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 10393511677447731449, - 5714820996661044118, - 10082150238302496879, - 6638458158737313965, - 6638458158737313965, - 14067300006570744290, - 14067300006570744290, - 14067300006570744290, - 14067300006570744290, - 14067300006570744290, - 14067300006570744290, - 2563616571678405015, - 8910309239127941527, - 8910309239127941527, - 4537885483580440252, - 4537885483580440252, - 4537885483580440252, - 4537885483580440252, - 4537885483580440252, - 4537885483580440252 - ], - { - "siblings": [ - { - "elements": [ - 11975665038198928123, - 5320872815985429674, - 13513266984082605723, - 14117606093682539304 - ] - }, - { - "elements": [ - 9804191701027931127, - 21213165809170757, - 17969759653354192984, - 3628182974860440087 - ] - }, - { - "elements": [ - 12864706297767819814, - 12995755319066711512, - 3429469123448917812, - 2924577796276707634 - ] - }, - { - "elements": [ - 145427054560340303, - 14816750798629607344, - 4180175906610809805, - 3640562706259543449 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 435817433336058830, - 710989263548767281, - 14870551674917047038, - 2127283774002147623, - 13454851418065574133, - 16450101647160325755, - 18446744069414584321, - 18446744069414584321, - 7066000855148410610, - 4263055024600995501, - 4405416304437185795, - 4878260774545730683, - 1197000333617216105, - 1055050765281725345, - 18446744069414584321, - 18446744069414584321 - ], - { - "siblings": [ - { - "elements": [ - 8565700008499302306, - 1025012023115099398, - 2572060583266602608, - 14666524060711658375 - ] - }, - { - "elements": [ - 10579939816700518344, - 4904888798785948852, - 10220064031458872918, - 12508109634989980902 - ] - }, - { - "elements": [ - 3988501231198819935, - 17627254930987240577, - 6867241809373997096, - 2952122267360219605 - ] - }, - { - "elements": [ - 12811526413818622272, - 6785993692180923794, - 1100653735883361736, - 15401048698472078136 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 6938263586783916830, - 5475761653933753720 - ], - [ - 8633924847476558987, - 5896409343947767015 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 13611854445331712593, - 14170398827409919240, - 14502369776764105679, - 17072804820685478994 - ] - }, - { - "elements": [ - 9291012971660480050, - 2618114570569088151, - 12550651089893057207, - 3606524064960945665 - ] - }, - { - "elements": [ - 8284183084895194160, - 5829342604531927845, - 16971166008664998292, - 11699728344815154008 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 14412397339032168335, - 15798532326344121231 - ], - [ - 11460043198242547402, - 16510676616743767820 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 2588089115216973342, - 6893304834680000336, - 4837607352643158074, - 6969160038993304394 - ] - }, - { - "elements": [ - 12184998889475559148, - 14811997910098371392, - 13032553179532206176, - 2352684615002827561 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9231307354475757377, - 16974013026683593937, - 13835071641337108417, - 0, - 9143224163333022408, - 11188119650657703576, - 13748585779202679631, - 11219996029394096360, - 1016622515031058432, - 7116357605217409024, - 12921015097692694526, - 16660129406190524398, - 5940441426846164860, - 4689601849093985378, - 14380468874243313325, - 7003311772000235036, - 15488746290897216749, - 16187503689207595638, - 2632061407965663540, - 18424429855759644780, - 3635567804632188616, - 7002230563010735991, - 12122125802245983295, - 11067904338063545781, - 3688354088786483183, - 7371734552090797960, - 14708653725806417078, - 10726855733571997941, - 8079572621748962788, - 9107097001419538121, - 8409446801693013884, - 3525895403607344225, - 6234523755836825254, - 6748178152028608136, - 10343758925371088310, - 17066080269353865207, - 8782097468989550523, - 6134450074683100698, - 6047662383952536244, - 5440148548838585066, - 1187551703040926820, - 8312861921286487740, - 2849801240761661217, - 1501864615917044198, - 10513052311419309386, - 18251133971691412739, - 17077473385352383247, - 8861849280979176803, - 6692712758610484658, - 9955501171444223964, - 14348275991865814785, - 8204211595987781890, - 2089248963670720267, - 14624742745695041869, - 10139478872792371478, - 15636119901302847383, - 17219118962047010076, - 9853368317841564606, - 13633346016647199279, - 3199701769457473348, - 3951168316787729115, - 9211434148099519484, - 9139806828452883425, - 8638415590926431012, - 5128676928241264121, - 17453994428274264526, - 11497496581432345756, - 6695499792368083008, - 9975010407747412414, - 14484840645988133935, - 9160164174844015940, - 8780917015664358617, - 6126186901406757356, - 5989820171018132850, - 5035253058297761308, - 16800027338669744835, - 6919726954200707919, - 11544600540575786791, - 7025227506372170253, - 12283104405776023129, - 12194754562773824619, - 11576305661758435049, - 7247163354650708059, - 13836655343725787771 - ], - { - "siblings": [ - { - "elements": [ - 6728930884383776592, - 15695666205501019939, - 8573396807845831683, - 3275783046528455713 - ] - }, - { - "elements": [ - 7995235088663609412, - 6290147308488374066, - 15952040964531119324, - 3504072505189200942 - ] - }, - { - "elements": [ - 6627224641645322983, - 16937846869141074617, - 5810573375929817312, - 11313469353120897671 - ] - }, - { - "elements": [ - 13160595601479011360, - 12672240760888984779, - 3719035680330481544, - 13069421092759503324 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 14229341538359217099, - 6187074271918933173, - 12026554912496745989, - 1358809069172547863, - 7458705343023045363, - 12339275873731464397, - 15922748437729454607, - 4800393952477183175, - 17017117999866234498, - 7444974788860183438, - 11002930300975807831, - 17256227084549418902, - 3516449243902614181, - 957952576705356202, - 2602625781422536600, - 5831261630514721114, - 1264189186597489471, - 5692547474079863010, - 2524432272147025609, - 5007100136920772397, - 9052206365335879565, - 3840403208862387081, - 6275781418248336012, - 4416608106575987655, - 16378163815995677102, - 10897731092208178627, - 10937884243143693878, - 15210309540764609847, - 13014220720776552835, - 17224896882856492183, - 4676701001812943063, - 4680989168398222911, - 1663728633023190491, - 16241225235408793684, - 8092215995814151171, - 11684983425112803624, - 11040940085622388520, - 6199378813962447841, - 15722514504682205192, - 6347925392761749015, - 7950079243796471573, - 9052069290588919421, - 15733169712605038775, - 7414820806555125367, - 14608194891401478092, - 15739484421517072898, - 770613176657563483, - 5928798473538292388, - 5767153899830849841, - 5721739889750063843, - 10333274463297945239, - 7910085262770596949, - 160728014757546544, - 7734912727966652879, - 16467237546548246837, - 15126003112526530998, - 6708249659143510560, - 14219326543314126365, - 13904679517640739952, - 18053316305986913980, - 17546364729190377400, - 3473850415388749770, - 8266281092006809332, - 3477646512762599574, - 14744455010735953685, - 802845557825395097, - 16621604271341561292, - 9687704451442018716, - 1693458511998506888, - 13085913636424381423, - 4382678690882146372, - 17279466253255590794, - 6168134831002380369, - 18178612501797618184, - 2857442545669767688, - 10085113686502056535, - 6923719378301244906, - 14541148944441704194, - 16935149030018256677, - 947760566318743246, - 1314121281648781398, - 17997894535723064119, - 14897176610821467284, - 8936046758500106725, - 16277243482260566227, - 412555818343324878, - 13406349600250641232, - 2477599995381247995, - 15401354647571323847, - 4666153868089485705, - 1715180117230468891, - 5833056198307247355, - 14693952865226837353, - 6390822523829972317, - 12906120073344838763, - 17186850223837574654, - 10342647092090466686, - 3474667232125247348, - 18418666747144327232, - 16236101866447711166, - 10695008613127870149, - 14320918676720676204, - 2281683794901359558, - 17931267144937791528, - 16209076045173849002, - 3546389382818292029, - 2702882664527655096, - 4545513482906378674, - 12805674897341565144, - 10755895392962510645, - 8816502060735111827, - 17256142677052971005, - 8895383565740279279, - 12435313114212889090, - 7419596700037912492, - 3963256616969885150, - 10954372146061883665, - 5987003493977359129, - 16731190815846062477, - 5654692192865812151, - 5082120022162470486, - 7322995539818837463, - 10308860978930240354, - 3388090660746290304, - 7807548885191844399, - 11901368582176739346, - 6940775094025606523, - 730392170249237484, - 6018502912924093115, - 10786935101612692834, - 5389861976322814221, - 7841592223566142908, - 3698535054501962527, - 838713154134419543, - 7954083145584972025 - ], - { - "siblings": [ - { - "elements": [ - 9481846742907213981, - 1908892703718590855, - 16711464822457265079, - 7292974524017413674 - ] - }, - { - "elements": [ - 10195561839014322191, - 13438847790684342098, - 16265729356125272625, - 9884880145476986228 - ] - }, - { - "elements": [ - 3824688132903914373, - 10580474698124922703, - 9326216943292830238, - 15633328555876295197 - ] - }, - { - "elements": [ - 9109621759816571599, - 7186661230729699208, - 17501545228116531813, - 17980106104985675006 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 5150965886810406032, - 1957959706221943200, - 566583948728241207, - 8871114094418708969, - 8871114094418708969, - 473094699029793498, - 473094699029793498, - 473094699029793498, - 473094699029793498, - 473094699029793498, - 473094699029793498, - 17402332633629381647, - 10600742085031237527, - 10600742085031237527, - 7820321614443003914, - 7820321614443003914, - 7820321614443003914, - 7820321614443003914, - 7820321614443003914, - 7820321614443003914 - ], - { - "siblings": [ - { - "elements": [ - 2331584331154591242, - 4223366469964140916, - 14726133782615258096, - 16669825422070591781 - ] - }, - { - "elements": [ - 6196006014846645063, - 16814877684962508634, - 8187552158176637969, - 11929698248984311535 - ] - }, - { - "elements": [ - 3757790154488564799, - 15367551632427027057, - 10567735841973960117, - 1442340454421419477 - ] - }, - { - "elements": [ - 11917520989541884801, - 12176008538048200789, - 796774948728261901, - 8970810179898673763 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 7588353638765596915, - 7308350584303807714, - 2173073256562692020, - 1050890875381483614, - 11563596685151412002, - 9658466057443444820, - 0, - 0, - 2921051888296800792, - 2947039776868903240, - 14294068734483910299, - 14854775630043669671, - 11364336309654465246, - 247699882375014925, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 4904658175600030326, - 15102206767811544981, - 1640340428663291620, - 18267147643681916495 - ] - }, - { - "elements": [ - 4800680872955008533, - 10510864549265793931, - 1597830411648589965, - 4933328015899341038 - ] - }, - { - "elements": [ - 7609561983733807848, - 6703183335239458143, - 3189886683782333613, - 12482800112056224537 - ] - }, - { - "elements": [ - 5395522159208239280, - 18236460515046100445, - 4511550152166545452, - 16391573326493841224 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 17404424400936081435, - 14834878930385509579 - ], - [ - 4316819752309859542, - 12804448114555730177 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 6718347142715037771, - 17365016717688977491, - 15246821360395315341, - 16057774952761286043 - ] - }, - { - "elements": [ - 4643335026005491308, - 7898545724049492459, - 16733476604381240544, - 14032779295120979711 - ] - }, - { - "elements": [ - 5448429052653394718, - 11633326550950242758, - 6952130812394530383, - 14075927019534753994 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 8385515338749814822, - 17600470627921200470 - ], - [ - 17486925198524900915, - 14708738315166688581 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 7823622664770052212, - 8109957691560705278, - 18048817872504663525, - 5752507182112599452 - ] - }, - { - "elements": [ - 5205107134296034895, - 501485131006963676, - 7685783193611403496, - 8987285512752761082 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 18423100600867618681, - 18446743644212822416, - 18423100171370889205, - 0, - 11093582909712074468, - 6429526378392913492, - 16199409640864955474, - 2877532656152520416, - 4395231855826173930, - 12319878921368633189, - 12452176171922095039, - 13378256925796327989, - 1414078133501374318, - 9898546934509620226, - 13949596333323588619, - 2907074941811846752, - 14616233063649883412, - 10079911098476262279, - 15219145481090082990, - 14300298020557659325, - 4763263755875024089, - 14896102221710584302, - 12038995204901168509, - 10485990156649842279, - 18061698888305142990, - 15751427801648495004, - 18026274264466543423, - 15503455434778298035, - 15443278551699378504, - 3352809458138646554, - 5022922137555941557, - 16713710893477006578, - 6315511837851540120, - 7315094726131612198, - 14312174944092116744, - 7951504261571895603, - 320297622759516258, - 2242083359316613806, - 15694583515216296642, - 17628364259441154889, - 12718085399600578297, - 15239621519545710795, - 14443630289747053960, - 8871691681156456115, - 6761609559851439842, - 10437778780130910252, - 17724219252672618801, - 13389070352220825681, - 1489772118472858162, - 10428404829310007134, - 17658601596926296975, - 12929746761996572899, - 16721251056317673009, - 6368292977736205137, - 7684562705324267317, - 16898450798440702577, - 7608691172597412113, - 16367350069352716149, - 3890986068981507117, - 8790158413455965498, - 6190876685948005523, - 6442648662806870019, - 8205052500818921491, - 2095135297488697474, - 14665947082420882318, - 10427909229873254621, - 17655132400869029384, - 12905462389595699762, - 16551260449511561050, - 5178358730093421424, - 17801767041239365647, - 13931904872188053603, - 5289613758243453616, - 133808168875006670, - 936657182125046690, - 6556600274875326830, - 9002713785298119168, - 7678764288843081213, - 16857861883072399849, - 7324568765019293017, - 14378493216305882477, - 8415732167068255734, - 3569892961234037175, - 6542506659223675904 - ], - { - "siblings": [ - { - "elements": [ - 5132000185167165672, - 2093425540330226260, - 8242622838678475267, - 15809059518190197946 - ] - }, - { - "elements": [ - 3160886570143167067, - 3739772074850721839, - 549133013643588179, - 5440074443347012776 - ] - }, - { - "elements": [ - 11108848789787340057, - 11430281335580083812, - 6035259362653339745, - 14125867091232875571 - ] - }, - { - "elements": [ - 7457068902407388738, - 4773292731147637108, - 1292139847039842012, - 10706839160529778429 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 3970464224640859580, - 10604115905866666186, - 3613426773860787253, - 17341030215405364059, - 5560800779177045016, - 4344110601497927306, - 13346288660489172752, - 11946148026992345366, - 12625126555490183914, - 9529095216087205794, - 14897836403451746304, - 17468774686841718232, - 7313333562255642170, - 13433305113865010818, - 8060599684928671113, - 1180813981013754491, - 4780829981918585732, - 153592191606256980, - 9331971924251691288, - 359697410758817355, - 14642119337514284009, - 12713447322883496950, - 5119727636268082527, - 11146194931107933212, - 13912287812528868266, - 12831755470985830052, - 3786054402815479550, - 11453340126791492999, - 10334226060600325962, - 16188789972185809372, - 16190862149006387956, - 13776986481939108099, - 16765828022418520627, - 2363580120590277939, - 16267378210153695194, - 1493829813185228813, - 17626588767998692369, - 14237681000556486995, - 2249800891315614789, - 6609123348168820804, - 4440038533610327608, - 11569665219980810653, - 10467872576325413958, - 10457823870845042769, - 18064486951359764973, - 10333202736253665019, - 7255155891008464124, - 608717228610646690, - 8139266257216616765, - 9602024467690953109, - 12349940923907589308, - 12607242726572870445, - 2878835156052386009, - 10530535249011045482, - 11497049699992933527, - 12823594402963307944, - 18288632904981188690, - 7626534949353525122, - 11196553721295101379, - 7557498964758454264, - 2359713187526169751, - 17121226268891700601, - 113389333263418652, - 5887796268675865615, - 3529598144170419026, - 111623352014238632, - 11626703685662684733, - 10787168395411353531, - 12485814164761321216, - 1910759421409758178, - 14147922645126500245, - 5414833995565126432, - 17894247870692805019, - 4585444821859049977, - 9826296052880960082, - 17165098818172672077, - 7252339439431146114, - 14292366257212720510, - 5502943175377460033, - 15870855119360280121, - 6062802125086954120, - 1199197067178310919, - 14549449165091608971, - 6170873228016650588, - 17645996424731028175, - 5617230689774690619, - 11398715403591122420, - 14096662855766411, - 3861070528340447204, - 18085582780256556839, - 6176019452663658038, - 13011925026366361655, - 14396028656750713346, - 17803929399606196204, - 17908683512834996136, - 4789899597527466242, - 7099192551580187235, - 2893649628151696363, - 17803667436863167450, - 2095573136218322277, - 1418669575858646845, - 15636341716668677291, - 3120909450106150768, - 18048540081499787891, - 1671768645773635407, - 3838295764548779799, - 8235264610430631922, - 13515615081392746744, - 15863309308478252991, - 8630115468636413641, - 18273365053009528058, - 2366932058863987794, - 10783338687453128824, - 3868783080847501573, - 18192716481592390810, - 8068337277192639885, - 1526612367280892620, - 18296739420895659851, - 11334341733710384274, - 5290251341631292266, - 4847350332895656849, - 7434578797277531324, - 990766798738237038, - 3695525210425053399, - 4434051270698788896, - 12090918986926080294, - 2643649913316408914, - 11112352211908609668, - 12329919653355093412, - 8935137551799168352, - 7024006327494946889, - 112652108731461173, - 9840822765358058851, - 16005942201790144152, - 2489725486747980451 - ], - { - "siblings": [ - { - "elements": [ - 9148435402981626126, - 16929307840398457941, - 7804709819418322281, - 4860520365343312898 - ] - }, - { - "elements": [ - 2854664187364321609, - 7814107865809980630, - 15682882592480030763, - 13350544808941591284 - ] - }, - { - "elements": [ - 17374496534115657647, - 10086557255039530408, - 16167329094816314721, - 10558717027500148505 - ] - }, - { - "elements": [ - 4039843142812945397, - 6279959376189748871, - 6998933480394684603, - 12512159597373145472 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 6428456865190100328, - 14124673773435201331, - 6794356138045176253, - 12445475948782661082, - 12445475948782661082, - 12584061816658034864, - 12584061816658034864, - 12584061816658034864, - 12584061816658034864, - 12584061816658034864, - 12584061816658034864, - 15428075386184015376, - 16993081055112684811, - 16993081055112684811, - 2590787923032734905, - 2590787923032734905, - 2590787923032734905, - 2590787923032734905, - 2590787923032734905, - 2590787923032734905 - ], - { - "siblings": [ - { - "elements": [ - 16112263691880245472, - 6944657834161584151, - 13395146952284572439, - 15972223657579785298 - ] - }, - { - "elements": [ - 12029120834170941182, - 468310952355567693, - 15047144353609199499, - 1250580082177289912 - ] - }, - { - "elements": [ - 13984038635733783091, - 6671063688245719680, - 2802296600526779919, - 13214392903948921447 - ] - }, - { - "elements": [ - 1307761427862606925, - 12158354897706001241, - 10983117905814865730, - 11951096335189969739 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 645913777641078661, - 10667234621027396020, - 13308671101841695649, - 16220939663007394699, - 1524795291509104025, - 7942734765697024204, - 0, - 0, - 9032552623695998080, - 16486066513342653474, - 15607672046122266010, - 15854385171742451474, - 2678376602492526295, - 3708899002443502846, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 16930656389488222174, - 4923658736180439519, - 480611836971946444, - 12238524965583184678 - ] - }, - { - "elements": [ - 3757936026291557304, - 5449667690410582736, - 6195144597551898767, - 14181728744140066329 - ] - }, - { - "elements": [ - 17940901978153386870, - 1590541642941627201, - 834530467582584089, - 3904022467154767140 - ] - }, - { - "elements": [ - 9942076103302792188, - 17580082504047989446, - 3747412748547960075, - 13949158100391960414 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 6457973788024141253, - 5449864176264469647 - ], - [ - 7048348842246978155, - 2612910509063371468 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 3115237051932406553, - 14823055473527179968, - 8618108904738183807, - 1282800417707313565 - ] - }, - { - "elements": [ - 13369712685912722972, - 12448199880604765154, - 3542201530011017121, - 77683215669586868 - ] - }, - { - "elements": [ - 2289778720289295108, - 6550395058125398405, - 15886281708521700800, - 12814974594349733281 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 3269604065529933446, - 18165374773020607630 - ], - [ - 4156092402330197970, - 14143834170067281421 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 11720522968924656532, - 27223469353644281, - 14151917568350059205, - 13835241404319660449 - ] - }, - { - "elements": [ - 15775472259507101320, - 3747063615451822157, - 3735810013800471431, - 13997901585845156954 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9231307354475757377, - 16974013026683593937, - 13835071641337108417, - 0, - 9143224163333022408, - 11188119650657703576, - 13748585779202679631, - 11219996029394096360, - 1016622515031058432, - 7116357605217409024, - 12921015097692694526, - 16660129406190524398, - 5940441426846164860, - 4689601849093985378, - 14380468874243313325, - 7003311772000235036, - 15488746290897216749, - 16187503689207595638, - 2632061407965663540, - 18424429855759644780, - 3635567804632188616, - 7002230563010735991, - 12122125802245983295, - 11067904338063545781, - 3688354088786483183, - 7371734552090797960, - 14708653725806417078, - 10726855733571997941, - 8079572621748962788, - 9107097001419538121, - 8409446801693013884, - 3525895403607344225, - 6234523755836825254, - 6748178152028608136, - 10343758925371088310, - 17066080269353865207, - 8782097468989550523, - 6134450074683100698, - 6047662383952536244, - 5440148548838585066, - 1187551703040926820, - 8312861921286487740, - 2849801240761661217, - 1501864615917044198, - 10513052311419309386, - 18251133971691412739, - 17077473385352383247, - 8861849280979176803, - 6692712758610484658, - 9955501171444223964, - 14348275991865814785, - 8204211595987781890, - 2089248963670720267, - 14624742745695041869, - 10139478872792371478, - 15636119901302847383, - 17219118962047010076, - 9853368317841564606, - 13633346016647199279, - 3199701769457473348, - 3951168316787729115, - 9211434148099519484, - 9139806828452883425, - 8638415590926431012, - 5128676928241264121, - 17453994428274264526, - 11497496581432345756, - 6695499792368083008, - 9975010407747412414, - 14484840645988133935, - 9160164174844015940, - 8780917015664358617, - 6126186901406757356, - 5989820171018132850, - 5035253058297761308, - 16800027338669744835, - 6919726954200707919, - 11544600540575786791, - 7025227506372170253, - 12283104405776023129, - 12194754562773824619, - 11576305661758435049, - 7247163354650708059, - 13836655343725787771 - ], - { - "siblings": [ - { - "elements": [ - 6728930884383776592, - 15695666205501019939, - 8573396807845831683, - 3275783046528455713 - ] - }, - { - "elements": [ - 7995235088663609412, - 6290147308488374066, - 15952040964531119324, - 3504072505189200942 - ] - }, - { - "elements": [ - 6627224641645322983, - 16937846869141074617, - 5810573375929817312, - 11313469353120897671 - ] - }, - { - "elements": [ - 13160595601479011360, - 12672240760888984779, - 3719035680330481544, - 13069421092759503324 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 14229341538359217099, - 6187074271918933173, - 12026554912496745989, - 1358809069172547863, - 7458705343023045363, - 12339275873731464397, - 15922748437729454607, - 4800393952477183175, - 17017117999866234498, - 7444974788860183438, - 11002930300975807831, - 17256227084549418902, - 3516449243902614181, - 957952576705356202, - 2602625781422536600, - 5831261630514721114, - 1264189186597489471, - 5692547474079863010, - 2524432272147025609, - 5007100136920772397, - 9052206365335879565, - 3840403208862387081, - 6275781418248336012, - 4416608106575987655, - 16378163815995677102, - 10897731092208178627, - 10937884243143693878, - 15210309540764609847, - 13014220720776552835, - 17224896882856492183, - 4676701001812943063, - 4680989168398222911, - 1663728633023190491, - 16241225235408793684, - 8092215995814151171, - 11684983425112803624, - 11040940085622388520, - 6199378813962447841, - 15722514504682205192, - 6347925392761749015, - 7950079243796471573, - 9052069290588919421, - 15733169712605038775, - 7414820806555125367, - 14608194891401478092, - 15739484421517072898, - 770613176657563483, - 5928798473538292388, - 5767153899830849841, - 5721739889750063843, - 10333274463297945239, - 7910085262770596949, - 160728014757546544, - 7734912727966652879, - 16467237546548246837, - 15126003112526530998, - 6708249659143510560, - 14219326543314126365, - 13904679517640739952, - 18053316305986913980, - 17546364729190377400, - 3473850415388749770, - 8266281092006809332, - 3477646512762599574, - 14744455010735953685, - 802845557825395097, - 16621604271341561292, - 9687704451442018716, - 1693458511998506888, - 13085913636424381423, - 4382678690882146372, - 17279466253255590794, - 6168134831002380369, - 18178612501797618184, - 2857442545669767688, - 10085113686502056535, - 6923719378301244906, - 14541148944441704194, - 16935149030018256677, - 947760566318743246, - 1314121281648781398, - 17997894535723064119, - 14897176610821467284, - 8936046758500106725, - 16277243482260566227, - 412555818343324878, - 13406349600250641232, - 2477599995381247995, - 15401354647571323847, - 4666153868089485705, - 1715180117230468891, - 5833056198307247355, - 14693952865226837353, - 6390822523829972317, - 12906120073344838763, - 17186850223837574654, - 10342647092090466686, - 3474667232125247348, - 18418666747144327232, - 16236101866447711166, - 10695008613127870149, - 14320918676720676204, - 2281683794901359558, - 17931267144937791528, - 16209076045173849002, - 3546389382818292029, - 2702882664527655096, - 4545513482906378674, - 12805674897341565144, - 10755895392962510645, - 8816502060735111827, - 17256142677052971005, - 8895383565740279279, - 12435313114212889090, - 7419596700037912492, - 3963256616969885150, - 10954372146061883665, - 5987003493977359129, - 16731190815846062477, - 5654692192865812151, - 5082120022162470486, - 7322995539818837463, - 10308860978930240354, - 3388090660746290304, - 7807548885191844399, - 11901368582176739346, - 6940775094025606523, - 730392170249237484, - 6018502912924093115, - 10786935101612692834, - 5389861976322814221, - 7841592223566142908, - 3698535054501962527, - 838713154134419543, - 7954083145584972025 - ], - { - "siblings": [ - { - "elements": [ - 9481846742907213981, - 1908892703718590855, - 16711464822457265079, - 7292974524017413674 - ] - }, - { - "elements": [ - 10195561839014322191, - 13438847790684342098, - 16265729356125272625, - 9884880145476986228 - ] - }, - { - "elements": [ - 3824688132903914373, - 10580474698124922703, - 9326216943292830238, - 15633328555876295197 - ] - }, - { - "elements": [ - 9109621759816571599, - 7186661230729699208, - 17501545228116531813, - 17980106104985675006 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 5150965886810406032, - 1957959706221943200, - 566583948728241207, - 8871114094418708969, - 8871114094418708969, - 473094699029793498, - 473094699029793498, - 473094699029793498, - 473094699029793498, - 473094699029793498, - 473094699029793498, - 17402332633629381647, - 10600742085031237527, - 10600742085031237527, - 7820321614443003914, - 7820321614443003914, - 7820321614443003914, - 7820321614443003914, - 7820321614443003914, - 7820321614443003914 - ], - { - "siblings": [ - { - "elements": [ - 2331584331154591242, - 4223366469964140916, - 14726133782615258096, - 16669825422070591781 - ] - }, - { - "elements": [ - 6196006014846645063, - 16814877684962508634, - 8187552158176637969, - 11929698248984311535 - ] - }, - { - "elements": [ - 3757790154488564799, - 15367551632427027057, - 10567735841973960117, - 1442340454421419477 - ] - }, - { - "elements": [ - 11917520989541884801, - 12176008538048200789, - 796774948728261901, - 8970810179898673763 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 7588353638765596915, - 7308350584303807714, - 2173073256562692020, - 1050890875381483614, - 11563596685151412002, - 9658466057443444820, - 0, - 0, - 2921051888296800792, - 2947039776868903240, - 14294068734483910299, - 14854775630043669671, - 11364336309654465246, - 247699882375014925, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 4904658175600030326, - 15102206767811544981, - 1640340428663291620, - 18267147643681916495 - ] - }, - { - "elements": [ - 4800680872955008533, - 10510864549265793931, - 1597830411648589965, - 4933328015899341038 - ] - }, - { - "elements": [ - 7609561983733807848, - 6703183335239458143, - 3189886683782333613, - 12482800112056224537 - ] - }, - { - "elements": [ - 5395522159208239280, - 18236460515046100445, - 4511550152166545452, - 16391573326493841224 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 17404424400936081435, - 14834878930385509579 - ], - [ - 4316819752309859542, - 12804448114555730177 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 6718347142715037771, - 17365016717688977491, - 15246821360395315341, - 16057774952761286043 - ] - }, - { - "elements": [ - 4643335026005491308, - 7898545724049492459, - 16733476604381240544, - 14032779295120979711 - ] - }, - { - "elements": [ - 5448429052653394718, - 11633326550950242758, - 6952130812394530383, - 14075927019534753994 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 8385515338749814822, - 17600470627921200470 - ], - [ - 17486925198524900915, - 14708738315166688581 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 7823622664770052212, - 8109957691560705278, - 18048817872504663525, - 5752507182112599452 - ] - }, - { - "elements": [ - 5205107134296034895, - 501485131006963676, - 7685783193611403496, - 8987285512752761082 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 8726844284520621057, - 5390808757101133824, - 13835052159571321857, - 0, - 18343695302645654845, - 15986107146822955361, - 10447672877429277004, - 10778120700577382607, - 904587629296566656, - 6332113405075966592, - 7431305696702597502, - 15125651738089013872, - 13645841819550175499, - 3287172389778306888, - 4563462659033563895, - 16837258124495097032, - 11828375843598913484, - 9011654627534057104, - 7741350184494646765, - 17295963152633358713, - 17493889484122984449, - 11776761972373385217, - 8650357528955359235, - 5212270494443761682, - 18039149391691747453, - 15593581325354726245, - 16921348930410162110, - 7768978096383628844, - 4551303741876302517, - 11745045334506126936, - 8428341063884551268, - 3658155238948105913, - 7160342603222157070, - 13228910083725930848, - 368650239008594331, - 2580551673060160317, - 18063861711421122219, - 15766567563460349607, - 18132252597149525644, - 16245303763559173582, - 3036661928426709148, - 2809889429572379715, - 1222481937592073684, - 8557373563144515788, - 4561382733767857553, - 13482935066960418550, - 2146825121650008245, - 15027775851550057715, - 12960710613777482400, - 16937998018784039516, - 7885521715000770686, - 18305163866176226160, - 17455682646746077194, - 11509314110735034432, - 6778222497486903740, - 10554069343579157538, - 91509127395765482, - 640563891770358374, - 4483947242392508618, - 12940886627332976005, - 16799230113672494751, - 6914146379219957331, - 11505536515710532675, - 6751779332315391441, - 10368967187378571445, - 17242538103406247152, - 10017302307356224138, - 14780883943249816003, - 11232467255675790416, - 4840294512072195628, - 15435317515090785075, - 15813502258562573920, - 14051393450511514, - 98359754153580598, - 688518279075064186, - 4819627953525449302, - 15290651605263560793, - 14800840889772003946, - 11372165881331106017, - 5818184891659404835, - 3833806102786665203, - 8389898650092072100, - 3389058342400751737, - 5276664327390677838 - ], - { - "siblings": [ - { - "elements": [ - 3639373514637847244, - 18309736479332732727, - 16657062809687495307, - 15200790279043335069 - ] - }, - { - "elements": [ - 5574500813914930736, - 12838262556692215469, - 15046066981143069495, - 14997503675880224959 - ] - }, - { - "elements": [ - 16033761557882582254, - 5998203619987681571, - 1322443172339494215, - 7188306192978864592 - ] - }, - { - "elements": [ - 13160595601479011360, - 12672240760888984779, - 3719035680330481544, - 13069421092759503324 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 9641549071714187076, - 14951626098544156208, - 14440613729133227401, - 6652225254668415894, - 13702844608743977756, - 15530061530312876881, - 10983254643002157306, - 7938775774369831344, - 2884756419683954728, - 12479985550462006672, - 5003483278749563500, - 5799711520947451991, - 10567237251794809549, - 8168914894731858022, - 18251316883072176762, - 11796786478473016583, - 16025150926161660422, - 3414464647067026307, - 5371221903230776143, - 1859893617688732988, - 9890044246684887301, - 1631822865449188147, - 4730552519361719712, - 15853515000476579173, - 14377547886135545241, - 9153669152185432866, - 16361246601660475244, - 16775289916501690754, - 1964830969418738980, - 15680137538513782374, - 14963732984174045744, - 3130300203297682953, - 6908760525803403044, - 47923765614520068, - 17818993076527392935, - 8173432332615764773, - 7325605201365824547, - 3700098673626806879, - 13657688308345501473, - 4464284996390463959, - 15132103901867092554, - 3432145954918040699, - 8052633873773734659, - 7202489460006878349, - 18149350760364590790, - 13044287981937475475, - 17167110449021959587, - 15016348854875471657, - 14931305893123383836, - 5135336467782231486, - 11778526702701574307, - 17772385766220745146, - 2863877412897169939, - 6396034689717018862, - 6586066306167731222, - 9859581231961241899, - 14245258145558386798, - 8826006790580144246, - 11521591422970986428, - 9595566568554220406, - 8301101529808438648, - 7950459811159975059, - 8984201569220562694, - 10036188357325342150, - 7985603459785335904, - 12834793680835244372, - 9222269948672014466, - 17204489001154133507, - 16929687916107162425, - 5360783432406906136, - 12090804990380624851, - 7285297812249097187, - 5124979768194269606, - 2433876010737240360, - 14857810112538357565, - 4451842359419234821, - 14736850158196378890, - 1030109207231945689, - 16066639064035746819, - 2504784147412289016, - 3810215970279259504, - 11607945662354196746, - 8805281612848093519, - 12946380381518727902, - 686546364135975524, - 15456299606995604551, - 9480881071240688230, - 4519286160288870734, - 284785080135528379, - 5222466544616240419, - 15764689444949445663, - 12370052605421202719, - 18329047451047000467, - 18330085528593772112, - 3918665596495161930, - 3885114698068795575, - 13856621182036379714, - 11650694044474869832, - 17557196079229454106, - 8508810868685761881, - 12823824513010405000, - 18213686537125945101, - 13705654630614513473, - 11684852710778454006, - 3640191927226674546, - 2740272079835194732, - 17398535226402142771, - 5232211330342157232, - 17616856256687611761, - 17416013855478208671, - 10288215035150399681, - 14018289753427379290, - 656777054867473557, - 820988126158429519, - 4463751540822716643, - 5126991893226887528, - 9282169166867815049, - 4807164435936108360, - 253619367947842914, - 10287640440679622049, - 2497346287174888040, - 1804182790422175187, - 16612078160214061403, - 11236650834888615759, - 14802896541152405513, - 3742790242006629789, - 12185776552979277374, - 15004424034881492039, - 5914294382516270185, - 1667494126818834256, - 14576324335256744587, - 5311863738761983570, - 2181563519213422993, - 3603988322218372268, - 1045508921982282141 - ], - { - "siblings": [ - { - "elements": [ - 13205032787292708011, - 7126889383291013228, - 15862636711830372016, - 6571320498694568076 - ] - }, - { - "elements": [ - 15317050864596242154, - 15081693006399033169, - 3493661237047209486, - 13518826641930287237 - ] - }, - { - "elements": [ - 13011119096165257718, - 2229717442302710941, - 3852512177555875344, - 6877649820705440210 - ] - }, - { - "elements": [ - 9109621759816571599, - 7186661230729699208, - 17501545228116531813, - 17980106104985675006 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 17206674304112573244, - 2347619202794127573, - 11648625025650884891, - 17781255865584136591, - 17781255865584136591, - 5049700897604468754, - 5049700897604468754, - 5049700897604468754, - 5049700897604468754, - 5049700897604468754, - 5049700897604468754, - 4587618500951108438, - 8469962916427733777, - 8469962916427733777, - 4784467015683911075, - 4784467015683911075, - 4784467015683911075, - 4784467015683911075, - 4784467015683911075, - 4784467015683911075 - ], - { - "siblings": [ - { - "elements": [ - 4229275090301080944, - 4751612043613670227, - 3630486824824681113, - 5015957436491582180 - ] - }, - { - "elements": [ - 3853318856520187248, - 16429425990854921686, - 14559857455925596761, - 1391249939038611537 - ] - }, - { - "elements": [ - 9310736562547647200, - 12991070105402971921, - 4159679471614407586, - 16808576331196320669 - ] - }, - { - "elements": [ - 11917520989541884801, - 12176008538048200789, - 796774948728261901, - 8970810179898673763 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 217822451266750003, - 4523596480326651495, - 8438610815963605514, - 13438862176129397785, - 15494271624082129443, - 9522229107104842127, - 0, - 0, - 4368341401451673016, - 17889032236660095461, - 7847635955549356344, - 7374671781290711828, - 1382988279826325575, - 18262761650639755658, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 1043232523874133418, - 7047127648253613193, - 6379017687404734790, - 2531175634994679386 - ] - }, - { - "elements": [ - 14052334182135551133, - 7306512168758950609, - 14374609645160840051, - 12858806385882390487 - ] - }, - { - "elements": [ - 61206485670393186, - 17273211747674273049, - 6476657450688617827, - 18408917655663831191 - ] - }, - { - "elements": [ - 5395522159208239280, - 18236460515046100445, - 4511550152166545452, - 16391573326493841224 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 3278214581974644877, - 9849450378382689630 - ], - [ - 1120070849816236999, - 18324158469864956189 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 2023694044582824056, - 7864154336609627098, - 370945041153419515, - 6577611461119646052 - ] - }, - { - "elements": [ - 10416979000204362991, - 13819392939372379945, - 13442423679486088252, - 6825137400615847456 - ] - }, - { - "elements": [ - 5448429052653394718, - 11633326550950242758, - 6952130812394530383, - 14075927019534753994 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 7823622664770052212, - 8109957691560705278 - ], - [ - 18048817872504663525, - 5752507182112599452 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 8385515338749814822, - 17600470627921200470, - 17486925198524900915, - 14708738315166688581 - ] - }, - { - "elements": [ - 5205107134296034895, - 501485131006963676, - 7685783193611403496, - 8987285512752761082 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 10768085692694599221, - 20928301869457, - 15379793566063067137, - 0, - 11747938484235934170, - 17271619641083854956, - 7653533260687049397, - 1311649564843015544, - 11230142710664791266, - 4824022696995201578, - 15321414809551826725, - 15016183319789865470, - 12879562891456136685, - 16369963962534619511, - 3909283321254830651, - 6966168043692173944, - 12683450600917316404, - 14997177928762877544, - 12746525154267221203, - 15438699802212211137, - 5642461250418638845, - 2603740614101303273, - 18226184298709122911, - 16902825674476354451, - 7639315304846975231, - 16581718995099657975, - 5391568549210099899, - 847491705641530651, - 17530711312974829228, - 4633605437605833257, - 13988493993826248478, - 5685737609710817741, - 2906675129146555545, - 1899981834611304494, - 13299872842279131458, - 865389548880998601, - 6057726842166990207, - 5510599756339762807, - 1680710155549171007, - 11764971088844197049, - 8567821344251042059, - 4634517201513541450, - 13994876341180205829, - 5730414041188519198, - 3219410149490465744, - 4089126977018675887, - 10177144769716146888, - 15899781179769275253, - 618003841897420845, - 4326026893281945915, - 11835444183559037084, - 9061133007254922304, - 8087698842540703165, - 1273659689541169192, - 8915617826788184344, - 7069092579273537445, - 12590159916085593473, - 14344143134940817027, - 8175281597512797584, - 1886738974345830125, - 13207172820420810875, - 216489395872754520, - 1515425771109281640, - 10607980397764971480, - 468886506696463076, - 3282205546875241532, - 4528694758712106403, - 13254119241570160500, - 545114343918201895, - 3815800407427413265, - 8263858782577308534, - 2506779269797406775, - 17547454888581847425, - 12151719803585426049, - 11275062347439645059, - 5138460154419178129, - 17522477011519662582, - 11976874664150132148, - 10051146371392587752, - 15017792391504361301, - 12890826393457607502, - 16448808476544915230, - 4461194919326900684, - 12781620365873720467 - ], - { - "siblings": [ - { - "elements": [ - 7887659851548012863, - 15636407881740683648, - 12344752934025076434, - 1465365376168537399 - ] - }, - { - "elements": [ - 8184681413443541087, - 12795194782177921062, - 2802187464158510890, - 18015201899766088996 - ] - }, - { - "elements": [ - 10372465254081044056, - 6905103620897861931, - 17991297361047432929, - 8206260190221600237 - ] - }, - { - "elements": [ - 10537826799806837523, - 17608408856127252765, - 17112503669541854860, - 14828015845269383958 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 15859270126235509955, - 1338274126345707128, - 3814842846402109224, - 2101931102233940446, - 16687245464385647004, - 12800412085330955667, - 16041282528449990989, - 14441865501893892910, - 13668323522259363030, - 18094208126335335657, - 4159932495853426420, - 11026315749647956496, - 14454910998137368492, - 5678199160069543304, - 2541365163217530578, - 5418879062461624072, - 197415675978981608, - 13829444398277849982, - 3238180367881275478, - 1392734719325675462, - 11118968601909090915, - 15170769573581670167, - 18336122412886001916, - 17795503121531003667, - 9241014318833500282, - 7436589688676874882, - 7906875095824646175, - 12094410880664533762, - 2818859508015799255, - 8366692623666740272, - 8818337686403719395, - 1096647668255210016, - 12934361823248515531, - 7608021033951115533, - 15543344303009548953, - 17110178814136964325, - 9356614734078918179, - 17693171539219576239, - 8888953873367963652, - 672223872811876653, - 16423749737548234306, - 5385432921290349755, - 6459474580746337184, - 11950663657317037209, - 13108237688558199402, - 12780807005065834407, - 16918004306265096653, - 9129222170055911436, - 1144660248696624952, - 14466644619054864439, - 12852077445069240355, - 13918812338765502465, - 8408017397752621412, - 7653553561832168074, - 10184110075291840319, - 11284432673763773911, - 3563388062999338009, - 15605367159018666259, - 8871595794966161791, - 4894145965350776043, - 15426885863386864763, - 16136588345341199284, - 2155238983908005476, - 7021280901335071867, - 6170016752259265446, - 6326848786668327372, - 6538108326296466345, - 17824690589896063220, - 12968052727306960815, - 7130305164258703901, - 17228267056084035775, - 10592680357162952979, - 17883582968591205878, - 14461644960010843112, - 12929633308975581258, - 13919439735135059407, - 10107103625487385056, - 2283178901569902643, - 6781034049339575811, - 8509107041058486304, - 10427532932357455324, - 13445733330212330787, - 16253858462394702880, - 9832003510215662563, - 3361708699044188823, - 7907588793731192682, - 13156876987287119748, - 11878587504641128976, - 7094860557993829642, - 1982173957281724840, - 12133854636843610528, - 12985290726069762184, - 18107022827853253545, - 17885563777137325392, - 6871762457529847052, - 15301630009929353248, - 5653631476684425177, - 13319059089021036177, - 16182904689936408558, - 16334801803263131052, - 8587292194956717273, - 8816623143824713832, - 805791003629625089, - 6696492854237399275, - 8169548665464309983, - 8961881454734275347, - 16840454633806529826, - 17367174738445782622, - 11133903641725477150, - 11359600313581182097, - 1283502706811679527, - 12732854133049508856, - 1507608338979111392, - 5529533923927393436, - 15785277254034368298, - 7482458795919102782, - 12234346070820287509, - 8532794778216852554, - 651119470578549045, - 15105299374512966953, - 4452079547360947427, - 5997546655099036898, - 15212937580833984714, - 10572214263518014224, - 3520089498261322742, - 13965939203066383417, - 282845729542066320, - 17143023546117561191, - 11146865279375020363, - 10860327976874897900, - 4338150920626354700, - 12570341624955120122, - 10832683304330432025, - 17135974720386817558, - 14316564164493060587 - ], - { - "siblings": [ - { - "elements": [ - 4625541826509741970, - 17554992449011876157, - 13732476523245415938, - 4719238736335916170 - ] - }, - { - "elements": [ - 9871653608063972239, - 8298087143846477178, - 14193696448317558610, - 8244138290270313571 - ] - }, - { - "elements": [ - 13595810542050842416, - 14500620418822106622, - 7201023203880472125, - 5961826723029055186 - ] - }, - { - "elements": [ - 4728552037502063878, - 17543675288385102632, - 9449846599039641620, - 3703673035873117209 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 7976228576897119555, - 2484507847290114990, - 13482669463418525553, - 10534816108467926167, - 10534816108467926167, - 9721764149143367987, - 9721764149143367987, - 9721764149143367987, - 9721764149143367987, - 9721764149143367987, - 9721764149143367987, - 12306149601465047528, - 12060139949553532734, - 12060139949553532734, - 2276889289003522204, - 2276889289003522204, - 2276889289003522204, - 2276889289003522204, - 2276889289003522204, - 2276889289003522204 - ], - { - "siblings": [ - { - "elements": [ - 16229442996028686022, - 3761568931124686220, - 15966245719422067483, - 2311874362149059091 - ] - }, - { - "elements": [ - 8340932178789770604, - 1509863303046211568, - 1669274753896568888, - 12729077398437858473 - ] - }, - { - "elements": [ - 9706385999166460809, - 8529088340540711771, - 18321318408080087179, - 11999791853861912480 - ] - }, - { - "elements": [ - 7246665166177909275, - 14240893978276133359, - 10163752579741372732, - 9329618049248624584 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 8133789406008281572, - 17086400124066558838, - 13078587381489260876, - 10516645642699863211, - 11285633393376281417, - 16702191487709621032, - 0, - 0, - 11028541077525292044, - 10129709258455872280, - 16635821895088288671, - 11628667887702150591, - 3860643172482972650, - 15560394335429481438, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 14336408237939934724, - 16665046289521879190, - 11362524335296966163, - 1619151254422365251 - ] - }, - { - "elements": [ - 14362670391807441782, - 8154815395220099780, - 12977914387585176974, - 4633400224801958994 - ] - }, - { - "elements": [ - 12276141528457550615, - 9881415901634910925, - 1024975818816195379, - 14300307957061692651 - ] - }, - { - "elements": [ - 3744362079139765204, - 14833210501314585463, - 9405173137185040511, - 9718833844613418587 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 5728806953076906943, - 16540962594827179043 - ], - [ - 15181560650255477319, - 5519958367254709189 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 18159130462716439423, - 5329738684090448038, - 4616914590307470404, - 15224714999804582699 - ] - }, - { - "elements": [ - 11661851581098807204, - 17659342420766497825, - 16250014531971202297, - 1211809291332586474 - ] - }, - { - "elements": [ - 7801945876092050924, - 17641972652208767512, - 11239556109837885377, - 16315189946871964043 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 18014325648413885340, - 1942929599936291911 - ], - [ - 7858114888860830397, - 11919535273737012819 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 12188730944576219962, - 6068302197677870734, - 13683709592698495775, - 7794162675995433996 - ] - }, - { - "elements": [ - 219887164023662742, - 9848989959245015714, - 17807617814695188338, - 6415485607267671811 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9095517417816452890, - 96330896900558400, - 13803534327843076778, - 0, - 8554381998955378188, - 17658780261525740318, - 14488739061994004400, - 9119959145758901147, - 11341828723915307742, - 5605824789748816910, - 2347285389412549728, - 16430997725887848096, - 4336519664727430746, - 11908893583677430901, - 9575278808083679023, - 17788441900913046368, - 16392760755046264595, - 4068860868836346239, - 10035282012439839352, - 14906741878835122501, - 8745768804046391761, - 5880149420080989364, - 4267557801737756906, - 11426160542749714021, - 6196147521589660863, - 6479544512298457399, - 8463323447260033151, - 3903031922576479094, - 5029707562640193069, - 6781123512101632396, - 10574376445882258130, - 233658843517469626, - 1635611904622287382, - 11449283332356011674, - 6358007048833744434, - 7612561203007042396, - 16394440282220128130, - 4080617559053390984, - 10117578843959152567, - 15482819699470315006, - 16146017549219283437, - 2341658428047478133, - 16391608996332346931, - 4060798557838922591, - 9978845835457873816, - 14511688639961363749, - 9348100132656624638, - 10096468720352619503, - 15335048834224583558, - 15111621492499163301, - 13547630100421221502, - 2599690355875628909, - 18197832491129402363, - 16704363021418310615, - 6250076733440668379, - 6857048995255510011, - 11105854827959401435, - 3954007518057472761, - 9231308556987725006, - 9278927690670322079, - 9612261626448501590, - 11945599176895758167, - 9832217960611969885, - 13485293516040036232, - 2163334265207332019, - 15143339856451324133, - 13769658648086347326, - 4153890189531509677, - 10630487257305983418, - 626434523483546642, - 4385041664384826494, - 12248547581279201137, - 11952856791296070675, - 9883021261414157441, - 13840916621655349124, - 4652696004514522263, - 14122127962187071520, - 6621175388236579035, - 9454739578826884603, - 10842944843544439258, - 2113637627152737522, - 14795463390069162654, - 11334523383411216973, - 5554687406220181527 - ], - { - "siblings": [ - { - "elements": [ - 2546969513237800811, - 3370176308495191887, - 17446147951767415125, - 12762967947476935247 - ] - }, - { - "elements": [ - 18284170952837066010, - 281799156645162222, - 7086744332604910734, - 10722052766226690722 - ] - }, - { - "elements": [ - 5371689261270013807, - 17392246691669219395, - 12184553358600511112, - 12791358432524260063 - ] - }, - { - "elements": [ - 10806690000223166435, - 7954967506323812786, - 4138548784486448793, - 10154178816513826224 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 8902005973107724202, - 12897005759956215969, - 12363923560043580784, - 7785670405341993855, - 18180663984654946857, - 13862963132380661519, - 2459444207462648462, - 1281445303191613693, - 695892012091683406, - 2711513365380216719, - 13160114435329000390, - 1152217795880167682, - 1242559059980679574, - 15427058982396617993, - 3256386123076927251, - 10476478205854596650, - 4748242020693560520, - 5073089290326473108, - 17079572986691571201, - 5366491310944462893, - 4041654208023897648, - 17024796148701542683, - 11539282410056146651, - 17006549291755864003, - 11971256454607428854, - 17230642024960978907, - 12994523286692687521, - 4297538645292639174, - 8696680292534396170, - 13460643259170991951, - 11129003807300558421, - 1738557098965965766, - 11815608640295232293, - 17948821938141965765, - 12778346605789036391, - 10382758791570207121, - 8218488656740456609, - 14104601160007517036, - 15156735832792407919, - 13866094306783671659, - 11118237123763361681, - 244679785611499972, - 8160254687324397768, - 14801097585387823838, - 16867062976757328022, - 13523978970873537158, - 6013639291553266031, - 6232288575092613654, - 9244595114008108225, - 4585482403518858335, - 2866427421805205223, - 8552094657787263280, - 7864976399130093239, - 1201106558027325968, - 6943423240342483269, - 1460927295005447097, - 1772426354793502827, - 7472606086782732444, - 7825723619165827113, - 483616563032604266, - 5682525687913780933, - 5427183566384058028, - 4374560991736672702, - 17251290360582300148, - 3741290977529052462, - 5045379809678397362, - 8716038042707242868, - 2392333166601448518, - 11655523129676135355, - 6271984063864363947, - 14794006335005132500, - 8345501904418253499, - 6913131533938893085, - 2769543076364230274, - 8238766569191449819, - 13597207451881742825, - 15352444719857863857, - 13016268149169279608, - 5420403203915114521, - 12049136215465410568, - 144326233856917444, - 15452486271959310920, - 995316977491739761, - 10207848134920878370, - 6315478286507134952, - 16804963837650589793, - 3682333604644950023, - 4380914402289050279, - 3727815013041362116, - 12031068098131475190, - 17824054717593078819, - 15192609004505555978, - 13491336126608630631, - 16122935289168277955, - 14744054060705822118, - 5930417543518300910, - 2316384914224792167, - 2522434996699356031, - 627477417871923880, - 12832346656591488559, - 15855498375555549525, - 7363473285471713840, - 5820624395609170047, - 16185451584452445452, - 13414996458623868621, - 1746272578270583028, - 16119057510205646116, - 16390521699244765723, - 10890374451734552468, - 13789009824889808490, - 10622370808382751838, - 10591964621404395387, - 8153089689117542587, - 7579494811422805409, - 8532382404903505708, - 12036709483259861432, - 1692005824025305035, - 4533134006392716622, - 11852837057358336942, - 2101482198974495442, - 3128650674161368518, - 3602012492376812392, - 9777999416611251913, - 14644244622288336314, - 7121493281510767291, - 13662866292032444344, - 6280903000780814309, - 5784467017146009854, - 3510352074383189062, - 15946008461940942046, - 16738238438204100168, - 5523571946447995594, - 17638868074296194871, - 17202955685898674917, - 3975289578433598021 - ], - { - "siblings": [ - { - "elements": [ - 16252488262154386633, - 16126458735981443788, - 18379616931887599426, - 15770979859308305258 - ] - }, - { - "elements": [ - 15553662681648483603, - 6311693474226634341, - 1603657648348039497, - 13744870235042541374 - ] - }, - { - "elements": [ - 9647289070221548241, - 17358470325720686782, - 5880978181065361246, - 3024132070608938447 - ] - }, - { - "elements": [ - 18068542140626307032, - 4355258260800683867, - 4216852198913689890, - 9908778413058407397 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 2862039019300571155, - 17313130665553911901, - 17714601705798702090, - 2914502312677021204, - 2914502312677021204, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 8403294573112251759, - 16300267698012733011, - 16300267698012733011, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118 - ], - { - "siblings": [ - { - "elements": [ - 13466376743579637977, - 13053815709748034988, - 977334614740591232, - 9600148949445974318 - ] - }, - { - "elements": [ - 6620754737828817249, - 13697858195430891127, - 15753738613629117469, - 16798926236414643204 - ] - }, - { - "elements": [ - 12864706297767819814, - 12995755319066711512, - 3429469123448917812, - 2924577796276707634 - ] - }, - { - "elements": [ - 145427054560340303, - 14816750798629607344, - 4180175906610809805, - 3640562706259543449 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 10664434063101396964, - 9310233050080426148, - 3495379114704833679, - 6434086354241451596, - 10228617058192807224, - 1421137405984365318, - 0, - 0, - 1552387548611429289, - 1379511667228672468, - 10390998190973019565, - 15333459245134273436, - 6283117595835995062, - 2581141762105906947, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 9078404301089923904, - 1312620377718163485, - 347756083457078842, - 11064346928743022625 - ] - }, - { - "elements": [ - 4593496725137493280, - 9732181012895319996, - 15610523264809557654, - 14254324876197319833 - ] - }, - { - "elements": [ - 3988501231198819935, - 17627254930987240577, - 6867241809373997096, - 2952122267360219605 - ] - }, - { - "elements": [ - 12811526413818622272, - 6785993692180923794, - 1100653735883361736, - 15401048698472078136 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 13611854445331712593, - 14170398827409919240 - ], - [ - 14502369776764105679, - 17072804820685478994 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 6938263586783916830, - 5475761653933753720, - 8633924847476558987, - 5896409343947767015 - ] - }, - { - "elements": [ - 9291012971660480050, - 2618114570569088151, - 12550651089893057207, - 3606524064960945665 - ] - }, - { - "elements": [ - 8284183084895194160, - 5829342604531927845, - 16971166008664998292, - 11699728344815154008 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 14412397339032168335, - 15798532326344121231 - ], - [ - 11460043198242547402, - 16510676616743767820 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 2588089115216973342, - 6893304834680000336, - 4837607352643158074, - 6969160038993304394 - ] - }, - { - "elements": [ - 12184998889475559148, - 14811997910098371392, - 13032553179532206176, - 2352684615002827561 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 1945054754455449602, - 6917529031013302275, - 18158013412251037698, - 0, - 5695352292141851455, - 2063401873518623484, - 2509233448075803528, - 13316808427458614450, - 3489984046945191936, - 5983144259201759231, - 4988521675583145975, - 16472907659667437504, - 4629889201184556602, - 13962480338877311893, - 5503642025068261646, - 9618762822614110445, - 1920100260410945138, - 13440701822876615966, - 1851192413063390157, - 12958346891443731099, - 7232288419551289546, - 13732530798029858180, - 3893995239136085655, - 8811222604538015264, - 6338326023522353885, - 7474794025827308553, - 15430070041961991229, - 15776769946661016998, - 1416362070228237480, - 16745220540391875741, - 6536079366255624261, - 8859067424960201185, - 6673239766477655332, - 9819190226514418682, - 13394099377357177811, - 1524975294427323072, - 10674827060991261504, - 936813149280493244, - 6557692044963452708, - 9010356175915000314, - 7732261023161249235, - 17232339023299576003, - 9945908746609526095, - 14281129018022929702, - 7734182779087586309, - 17245791314783935521, - 10040074787000042721, - 14940291300756546084, - 12348318758222900983, - 12651255029901969597, - 14771808931655449895, - 11168942174515227660, - 4395618943948256336, - 12322588538223210031, - 12471143489904132933, - 13511028151670593247, - 2343476714621231124, - 16404337002348617868, - 4149894599952819150, - 10602518130255149729, - 430650634127710819, - 3014554438893975733, - 2655137002843245810, - 139214950488136349, - 974504653416954443, - 6821532573918681101, - 10857239878601599065, - 2213702872552856171, - 15495920107869993197, - 16237720408017030774, - 2983578439631709492, - 2438305008007382123, - 17068135056051674861, - 8796480975874218101, - 6235134622875773744, - 6752454221301247566, - 10373691410279564320, - 17275607663713197277, - 10248789229504875013, - 16401292398290372128, - 4128582371545098970, - 10453332531401108469, - 17833095511564006320, - 14151204164460538314 - ], - { - "siblings": [ - { - "elements": [ - 14496985721143920978, - 378062600942691498, - 898750542657734850, - 2756665951808127533 - ] - }, - { - "elements": [ - 2999975076803238505, - 79285543136606544, - 3684242112531758373, - 12797783183346736766 - ] - }, - { - "elements": [ - 6369029421138765382, - 2743369095540788846, - 8714228787930865690, - 10132367173441149529 - ] - }, - { - "elements": [ - 10806690000223166435, - 7954967506323812786, - 4138548784486448793, - 10154178816513826224 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 123673161691761410, - 11935030131243991572, - 3721396793299487207, - 16985676160353893854, - 2784308190863445326, - 11009429491523772102, - 5423943074426713716, - 846343408656980457, - 975497842513262905, - 637059294298580329, - 13533485684547720051, - 11617763001892287649, - 14858705906997065621, - 12226311934757508249, - 12416720508159092129, - 6535493540363881135, - 16795704852969799221, - 6403682386825407116, - 14527903257254373170, - 9723476325866994877, - 7695887826241614155, - 3886474301534135129, - 16371397672467686225, - 10976802333515028366, - 9415498176745966127, - 1023060431588873173, - 8198545253300950933, - 7084987258868865488, - 6505525291389136631, - 12442169488223124738, - 13775856641010680203, - 11745469366119271933, - 9837282656792618988, - 14256879372791988107, - 2347986337237412804, - 18179533233462226769, - 7112864883224961521, - 910805036675232410, - 3391400379782288133, - 16032583100816763730, - 9190353056900565134, - 15935583389678423595, - 18261490654577084621, - 8282109930798552502, - 12827691987888207521, - 11403226467327114920, - 12108321548055312047, - 14832837390784862483, - 6489919056214219461, - 1443179825547093372, - 6874454749489530419, - 17413821862206232133, - 2467785524847081642, - 16716705460919077062, - 16742176868735026576, - 3622629437545733582, - 9778544383581690613, - 7513340615929838952, - 2301223103576924898, - 972695661373117038, - 1986403490536560581, - 871704842779001607, - 9288695591114743539, - 553497120211599235, - 13616605566533084025, - 4119427556125189165, - 1654544427702998318, - 15574616076154453172, - 932566127918846415, - 11605540470679527167, - 1525811680239535512, - 17229551620330069619, - 2408127173604912991, - 4864212837016237181, - 4211882394010197155, - 14584849879445319878, - 17344683554651596849, - 3295795619207250515, - 16178721102657703600, - 6652167338919591983, - 12048401511414497754, - 3217161752884368096, - 15133168484662448994, - 5494021309804200273, - 7792356319384131415, - 5192913109768966943, - 12848361122356807873, - 3687417603889074459, - 3496757525138405416, - 13506363852657094636, - 5809840170210240769, - 13050555892339340919, - 420691605031650768, - 1448561446419772113, - 16269298531909018946, - 17035677577242250339, - 14175941065202484630, - 15556716178710657032, - 13972723744707203717, - 5537689359678991736, - 8393713492549324484, - 7376741865406583059, - 11765582006074777052, - 9560388450131783104, - 2166438385561653426, - 10767838397684494101, - 3537251881682785443, - 1520846520892557204, - 18104223626131851613, - 7898940928638123860, - 11007444944607388548, - 2967782882820325151, - 8030151653200077941, - 15860314092035893828, - 535000431360186316, - 6253940798606753410, - 77918637826727054, - 8423796728640556444, - 4860548635716090496, - 17059304203802561971, - 13718822563539166955, - 18232180777951268600, - 2162623373561615065, - 9143732436215695612, - 8061842928571722370, - 12973903572541447279, - 2162525864725426760, - 14720506565950299577, - 17787897554960633068, - 13462537589011697750, - 16262612184859926242, - 2472159296653903060, - 13968310702605099357, - 1848752558867449559, - 4986375613073591843 - ], - { - "siblings": [ - { - "elements": [ - 7099793777647619813, - 4447948389277384082, - 490156704410598568, - 16227092378169138316 - ] - }, - { - "elements": [ - 4120159365836575532, - 9774592099889323256, - 545305285570207173, - 1371805757686097805 - ] - }, - { - "elements": [ - 7430782987844513867, - 2570589215295725112, - 13337947362198007655, - 9484219458621735813 - ] - }, - { - "elements": [ - 18068542140626307032, - 4355258260800683867, - 4216852198913689890, - 9908778413058407397 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 9780625957429167740, - 3076217783331169099, - 5986118882536976549, - 12758740503079539429, - 12758740503079539429, - 8900050253860929936, - 8900050253860929936, - 8900050253860929936, - 8900050253860929936, - 8900050253860929936, - 8900050253860929936, - 171238408020209219, - 1242296261432131257, - 1242296261432131257, - 87092552942210020, - 87092552942210020, - 87092552942210020, - 87092552942210020, - 87092552942210020, - 87092552942210020 - ], - { - "siblings": [ - { - "elements": [ - 13488140435608052639, - 1154340657829152865, - 7109883055226216213, - 10203334670187711143 - ] - }, - { - "elements": [ - 3255095033113039941, - 9153834296726578634, - 11621500278089609017, - 3554040891538613668 - ] - }, - { - "elements": [ - 10928261928217068707, - 14767508461237470483, - 13644424033389693853, - 3194409277528158644 - ] - }, - { - "elements": [ - 145427054560340303, - 14816750798629607344, - 4180175906610809805, - 3640562706259543449 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 711888207034410990, - 12309605148880082973, - 2496234880335289227, - 1636689258680067680, - 1760093530293934393, - 2797589578972687523, - 0, - 0, - 3775018843214847101, - 5790663120173850315, - 18435491226778897291, - 820355795615206389, - 6570646984351853125, - 9490028349611775698, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 14283712153278800664, - 16949283216998062370, - 16044718454548722212, - 14227197133107702585 - ] - }, - { - "elements": [ - 16955594114711851881, - 5172143507655892942, - 4921229403164320255, - 16826828805861788957 - ] - }, - { - "elements": [ - 3813149248876844977, - 10126217133376000569, - 7022177164607402797, - 12104705495354110303 - ] - }, - { - "elements": [ - 12811526413818622272, - 6785993692180923794, - 1100653735883361736, - 15401048698472078136 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 14630131733988602948, - 16390736407318132903 - ], - [ - 14186928391470651525, - 14064467746064314684 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 16039719271261697127, - 13878168141330183603, - 17276377329049926810, - 16728746420678872100 - ] - }, - { - "elements": [ - 5210923241458603748, - 14146505321503099205, - 12918599024536716786, - 1018322107764066914 - ] - }, - { - "elements": [ - 8284183084895194160, - 5829342604531927845, - 16971166008664998292, - 11699728344815154008 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 2588089115216973342, - 6893304834680000336 - ], - [ - 4837607352643158074, - 6969160038993304394 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 14412397339032168335, - 15798532326344121231, - 11460043198242547402, - 16510676616743767820 - ] - }, - { - "elements": [ - 12184998889475559148, - 14811997910098371392, - 13032553179532206176, - 2352684615002827561 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9954493300070416385, - 16184318578974806017, - 13890234751991414785, - 0, - 4709066139991197575, - 12090565617013490190, - 1199923699920408073, - 3899981547842687549, - 1211980623325954048, - 8483864363281678336, - 4046818334727995389, - 9880984273681383402, - 13826657707525930851, - 4552883605608594352, - 13423441169845576143, - 18209203153985111414, - 6175741481947962704, - 6336702234806570286, - 7463427504816823360, - 15350504394888594878, - 11315410663485059572, - 5420898366737079720, - 1052800428330389398, - 7369602998312725786, - 14693732849359911860, - 10622409598446461415, - 569890911466892621, - 3989236380268248347, - 9858008093138958967, - 11005141938998325793, - 3249017295329943267, - 4296376997895018548, - 11627894915850545515, - 7608288133295481321, - 16364528794239200605, - 3871237143186898309, - 8651915932893703842, - 5223179322012173931, - 18115511184670633196, - 16128113876206926446, - 2216332716960979196, - 15514329018726854372, - 16366582784015058999, - 3885615071617907067, - 8752561431910765148, - 5927697815131603073, - 4600396567092052869, - 13756031900229785762, - 4058502954535578729, - 9962776612334466782, - 14399204078097514511, - 8560708199609679972, - 4584725189024006841, - 13646332253753463566, - 3290605429201323357, - 4587493934994679178, - 13665713475548169925, - 3426273981764267870, - 5537173802935290769, - 1866728481717866741, - 13067099372025067187, - 17682719326517133025, - 13098570869132425249, - 17903019806268639459, - 14640674227392970287, - 10250999244677870404, - 16416762504501339865, - 4236873115021873129, - 11211367735738527582, - 4692597872511355790, - 14401441038164906209, - 8576366920081421858, - 4694336232326200043, - 14413609556868815980, - 8661546551008790255, - 5290593648817778822, - 140667402895283112, - 984671820266981784, - 6892702741868872488, - 11355431054252938774, - 5701041102112234134, - 3013799575956470296, - 2649852962280707751, - 102226666550369936 - ], - { - "siblings": [ - { - "elements": [ - 6567837031843092966, - 8505226975835430437, - 146346050277462289, - 6198755692463177382 - ] - }, - { - "elements": [ - 1486822417440846891, - 14434111569153806812, - 31987062791375804, - 1392670227934390207 - ] - }, - { - "elements": [ - 8661820250160828465, - 14630979731310424406, - 6115260044463631188, - 14740873373190630016 - ] - }, - { - "elements": [ - 10537826799806837523, - 17608408856127252765, - 17112503669541854860, - 14828015845269383958 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 15137128981273344403, - 17665140806473683530, - 3716678324174484678, - 14703049998648125269, - 11741213435643457661, - 15063326300304579537, - 18289000861924042731, - 6758464541432915106, - 4390166550849099968, - 2083467090545040434, - 4499971079739559152, - 14437599443971429704, - 11029089811438633070, - 17047608591093162699, - 2718543938323886156, - 7104143011240840398, - 3782123268911357333, - 3983214899230827934, - 13876316305919284855, - 7954690406520051000, - 2265786607890827959, - 13584910384669330417, - 1084626589233596750, - 12594068087430245330, - 6354860908052838798, - 18024557634843675911, - 16989983409940373752, - 17962988325144092206, - 13693479573410866175, - 6002955126124246984, - 10400773152940204934, - 15610887617193513424, - 9391635280565264029, - 12779260119244276990, - 5828492108106926612, - 15441113270139749877, - 8711801050633296584, - 7794146265932117674, - 13180844656708521126, - 13464380957693370103, - 16820370146709830709, - 17996620526109597368, - 13969676853956813426, - 9056689282779452874, - 16843338124815939825, - 772098852935596188, - 227631233729541623, - 18401174643423608581, - 5616110967462122196, - 17338785326446850458, - 4744345041652972677, - 521709599668628006, - 16871654650923488186, - 17621904891729337520, - 7650347531958464307, - 9089924475927757223, - 2213880308119850499, - 13988530458763120978, - 8263780069389433833, - 13194720077677982599, - 2801112491254704653, - 758209092083663175, - 1803815438988160091, - 4249317379044041061, - 9646869564938987480, - 7611600712225305231, - 18383138669601716239, - 2095716220995265378, - 4761792025391454885, - 11557453446163799585, - 15687875926695298865, - 386639724928150340, - 10553244821479898483, - 14409198435886830462, - 9942484226144349089, - 2600001573258419896, - 12691348710216767727, - 8196783087552683223, - 6862441993221373524, - 10287322280621009774, - 14346198982189439933, - 752363600355530726, - 3868785932746261415, - 3241506079524103460, - 914848850020151344, - 2490610185993827831, - 9833552038656566299, - 13940900567266239895, - 1412652447316193844, - 4858922085052241715, - 17110624763507466465, - 6522356165364322262, - 5898990146819054426, - 9229970564593832062, - 9510200184005401944, - 7417245033476341668, - 9156896498509156673, - 32785932464510839, - 2434239303048950121, - 1983408202694542023, - 8486486947695749626, - 8287002814271373700, - 4038386684902538924, - 5371332795180498516, - 3525195723914671804, - 11934425441918623339, - 5105604608199045839, - 18357625643205864220, - 18009504984662529965, - 13491257186062018893, - 1865311280537040945, - 13849399208774536065, - 16246416862251573275, - 14500781394396342599, - 14779655098301337493, - 13328571886674354636, - 218757294539817258, - 11675976460231046609, - 12972138326722893465, - 6522689411880533313, - 12743375977274383109, - 1754678300292184082, - 5898396707177386615, - 16219733575986013155, - 15684771145484369630, - 9699008027193706230, - 11627618056825184650, - 9336100665226176828, - 12881571172911764627, - 5975897624675231040, - 17644458048337434764, - 10463841702556789450, - 4232393774577182719, - 8159563104027655947, - 17159546908572360066 - ], - { - "siblings": [ - { - "elements": [ - 6416290945304290507, - 16557167952926877457, - 2160098314688660498, - 12494812657298731685 - ] - }, - { - "elements": [ - 537229651551319925, - 16180797265503668838, - 6313274743718425516, - 16310470328712798729 - ] - }, - { - "elements": [ - 8645727737179351403, - 13490291115062667427, - 17598730766968454867, - 7687159043877417760 - ] - }, - { - "elements": [ - 4728552037502063878, - 17543675288385102632, - 9449846599039641620, - 3703673035873117209 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 10523524896092849529, - 14571386630158177678, - 9116037464232437731, - 12372773599751021668, - 12372773599751021668, - 4189121040628918373, - 4189121040628918373, - 4189121040628918373, - 4189121040628918373, - 4189121040628918373, - 4189121040628918373, - 12465732400913004255, - 8971861401874363220, - 8971861401874363220, - 13837947883536789499, - 13837947883536789499, - 13837947883536789499, - 13837947883536789499, - 13837947883536789499, - 13837947883536789499 - ], - { - "siblings": [ - { - "elements": [ - 7411096315803435887, - 15524681493662928659, - 14701017485601264790, - 9640166198544190592 - ] - }, - { - "elements": [ - 4956086120608859545, - 1500312585676796694, - 8503200523901283846, - 5578497719498198242 - ] - }, - { - "elements": [ - 2821788936851724139, - 2849318965741636954, - 8845803651892388112, - 6537293869195439794 - ] - }, - { - "elements": [ - 7246665166177909275, - 14240893978276133359, - 10163752579741372732, - 9329618049248624584 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 17925505227282299617, - 6914121947745458125, - 16498022279311583833, - 7829102372056296200, - 15466084840308479670, - 7835678429175959342, - 18446744069414584321, - 18446744069414584321, - 5139803345956833849, - 6565773995678609534, - 14793360171418897857, - 741601230005885750, - 15819766502699887671, - 6539528732042168663, - 18446744069414584321, - 18446744069414584321 - ], - { - "siblings": [ - { - "elements": [ - 7678123894789694537, - 14099191983149464148, - 17715812959596512448, - 1819325300714235739 - ] - }, - { - "elements": [ - 8355895066702810129, - 15782292580801568015, - 12878317635887875212, - 5528362950190993821 - ] - }, - { - "elements": [ - 17422521895774696576, - 9673181293534008918, - 16171458598332928176, - 2805956817828995250 - ] - }, - { - "elements": [ - 3744362079139765204, - 14833210501314585463, - 9405173137185040511, - 9718833844613418587 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 1810820628463336182, - 13992417576087198451 - ], - [ - 9314035016885242889, - 14812781303290989932 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 1624020511539155763, - 11843336222156322987, - 12490792430053974934, - 1966839544442407599 - ] - }, - { - "elements": [ - 7573961714612000675, - 9189988355602915457, - 13901074018574044591, - 3463337465449951804 - ] - }, - { - "elements": [ - 7801945876092050924, - 17641972652208767512, - 11239556109837885377, - 16315189946871964043 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 12188730944576219962, - 6068302197677870734 - ], - [ - 13683709592698495775, - 7794162675995433996 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 18014325648413885340, - 1942929599936291911, - 7858114888860830397, - 11919535273737012819 - ] - }, - { - "elements": [ - 219887164023662742, - 9848989959245015714, - 17807617814695188338, - 6415485607267671811 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 10768085692694599221, - 20928301869457, - 15379793566063067137, - 0, - 11747938484235934170, - 17271619641083854956, - 7653533260687049397, - 1311649564843015544, - 11230142710664791266, - 4824022696995201578, - 15321414809551826725, - 15016183319789865470, - 12879562891456136685, - 16369963962534619511, - 3909283321254830651, - 6966168043692173944, - 12683450600917316404, - 14997177928762877544, - 12746525154267221203, - 15438699802212211137, - 5642461250418638845, - 2603740614101303273, - 18226184298709122911, - 16902825674476354451, - 7639315304846975231, - 16581718995099657975, - 5391568549210099899, - 847491705641530651, - 17530711312974829228, - 4633605437605833257, - 13988493993826248478, - 5685737609710817741, - 2906675129146555545, - 1899981834611304494, - 13299872842279131458, - 865389548880998601, - 6057726842166990207, - 5510599756339762807, - 1680710155549171007, - 11764971088844197049, - 8567821344251042059, - 4634517201513541450, - 13994876341180205829, - 5730414041188519198, - 3219410149490465744, - 4089126977018675887, - 10177144769716146888, - 15899781179769275253, - 618003841897420845, - 4326026893281945915, - 11835444183559037084, - 9061133007254922304, - 8087698842540703165, - 1273659689541169192, - 8915617826788184344, - 7069092579273537445, - 12590159916085593473, - 14344143134940817027, - 8175281597512797584, - 1886738974345830125, - 13207172820420810875, - 216489395872754520, - 1515425771109281640, - 10607980397764971480, - 468886506696463076, - 3282205546875241532, - 4528694758712106403, - 13254119241570160500, - 545114343918201895, - 3815800407427413265, - 8263858782577308534, - 2506779269797406775, - 17547454888581847425, - 12151719803585426049, - 11275062347439645059, - 5138460154419178129, - 17522477011519662582, - 11976874664150132148, - 10051146371392587752, - 15017792391504361301, - 12890826393457607502, - 16448808476544915230, - 4461194919326900684, - 12781620365873720467 - ], - { - "siblings": [ - { - "elements": [ - 7887659851548012863, - 15636407881740683648, - 12344752934025076434, - 1465365376168537399 - ] - }, - { - "elements": [ - 8184681413443541087, - 12795194782177921062, - 2802187464158510890, - 18015201899766088996 - ] - }, - { - "elements": [ - 10372465254081044056, - 6905103620897861931, - 17991297361047432929, - 8206260190221600237 - ] - }, - { - "elements": [ - 10537826799806837523, - 17608408856127252765, - 17112503669541854860, - 14828015845269383958 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 15859270126235509955, - 1338274126345707128, - 3814842846402109224, - 2101931102233940446, - 16687245464385647004, - 12800412085330955667, - 16041282528449990989, - 14441865501893892910, - 13668323522259363030, - 18094208126335335657, - 4159932495853426420, - 11026315749647956496, - 14454910998137368492, - 5678199160069543304, - 2541365163217530578, - 5418879062461624072, - 197415675978981608, - 13829444398277849982, - 3238180367881275478, - 1392734719325675462, - 11118968601909090915, - 15170769573581670167, - 18336122412886001916, - 17795503121531003667, - 9241014318833500282, - 7436589688676874882, - 7906875095824646175, - 12094410880664533762, - 2818859508015799255, - 8366692623666740272, - 8818337686403719395, - 1096647668255210016, - 12934361823248515531, - 7608021033951115533, - 15543344303009548953, - 17110178814136964325, - 9356614734078918179, - 17693171539219576239, - 8888953873367963652, - 672223872811876653, - 16423749737548234306, - 5385432921290349755, - 6459474580746337184, - 11950663657317037209, - 13108237688558199402, - 12780807005065834407, - 16918004306265096653, - 9129222170055911436, - 1144660248696624952, - 14466644619054864439, - 12852077445069240355, - 13918812338765502465, - 8408017397752621412, - 7653553561832168074, - 10184110075291840319, - 11284432673763773911, - 3563388062999338009, - 15605367159018666259, - 8871595794966161791, - 4894145965350776043, - 15426885863386864763, - 16136588345341199284, - 2155238983908005476, - 7021280901335071867, - 6170016752259265446, - 6326848786668327372, - 6538108326296466345, - 17824690589896063220, - 12968052727306960815, - 7130305164258703901, - 17228267056084035775, - 10592680357162952979, - 17883582968591205878, - 14461644960010843112, - 12929633308975581258, - 13919439735135059407, - 10107103625487385056, - 2283178901569902643, - 6781034049339575811, - 8509107041058486304, - 10427532932357455324, - 13445733330212330787, - 16253858462394702880, - 9832003510215662563, - 3361708699044188823, - 7907588793731192682, - 13156876987287119748, - 11878587504641128976, - 7094860557993829642, - 1982173957281724840, - 12133854636843610528, - 12985290726069762184, - 18107022827853253545, - 17885563777137325392, - 6871762457529847052, - 15301630009929353248, - 5653631476684425177, - 13319059089021036177, - 16182904689936408558, - 16334801803263131052, - 8587292194956717273, - 8816623143824713832, - 805791003629625089, - 6696492854237399275, - 8169548665464309983, - 8961881454734275347, - 16840454633806529826, - 17367174738445782622, - 11133903641725477150, - 11359600313581182097, - 1283502706811679527, - 12732854133049508856, - 1507608338979111392, - 5529533923927393436, - 15785277254034368298, - 7482458795919102782, - 12234346070820287509, - 8532794778216852554, - 651119470578549045, - 15105299374512966953, - 4452079547360947427, - 5997546655099036898, - 15212937580833984714, - 10572214263518014224, - 3520089498261322742, - 13965939203066383417, - 282845729542066320, - 17143023546117561191, - 11146865279375020363, - 10860327976874897900, - 4338150920626354700, - 12570341624955120122, - 10832683304330432025, - 17135974720386817558, - 14316564164493060587 - ], - { - "siblings": [ - { - "elements": [ - 4625541826509741970, - 17554992449011876157, - 13732476523245415938, - 4719238736335916170 - ] - }, - { - "elements": [ - 9871653608063972239, - 8298087143846477178, - 14193696448317558610, - 8244138290270313571 - ] - }, - { - "elements": [ - 13595810542050842416, - 14500620418822106622, - 7201023203880472125, - 5961826723029055186 - ] - }, - { - "elements": [ - 4728552037502063878, - 17543675288385102632, - 9449846599039641620, - 3703673035873117209 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 7976228576897119555, - 2484507847290114990, - 13482669463418525553, - 10534816108467926167, - 10534816108467926167, - 9721764149143367987, - 9721764149143367987, - 9721764149143367987, - 9721764149143367987, - 9721764149143367987, - 9721764149143367987, - 12306149601465047528, - 12060139949553532734, - 12060139949553532734, - 2276889289003522204, - 2276889289003522204, - 2276889289003522204, - 2276889289003522204, - 2276889289003522204, - 2276889289003522204 - ], - { - "siblings": [ - { - "elements": [ - 16229442996028686022, - 3761568931124686220, - 15966245719422067483, - 2311874362149059091 - ] - }, - { - "elements": [ - 8340932178789770604, - 1509863303046211568, - 1669274753896568888, - 12729077398437858473 - ] - }, - { - "elements": [ - 9706385999166460809, - 8529088340540711771, - 18321318408080087179, - 11999791853861912480 - ] - }, - { - "elements": [ - 7246665166177909275, - 14240893978276133359, - 10163752579741372732, - 9329618049248624584 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 8133789406008281572, - 17086400124066558838, - 13078587381489260876, - 10516645642699863211, - 11285633393376281417, - 16702191487709621032, - 0, - 0, - 11028541077525292044, - 10129709258455872280, - 16635821895088288671, - 11628667887702150591, - 3860643172482972650, - 15560394335429481438, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 14336408237939934724, - 16665046289521879190, - 11362524335296966163, - 1619151254422365251 - ] - }, - { - "elements": [ - 14362670391807441782, - 8154815395220099780, - 12977914387585176974, - 4633400224801958994 - ] - }, - { - "elements": [ - 12276141528457550615, - 9881415901634910925, - 1024975818816195379, - 14300307957061692651 - ] - }, - { - "elements": [ - 3744362079139765204, - 14833210501314585463, - 9405173137185040511, - 9718833844613418587 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 5728806953076906943, - 16540962594827179043 - ], - [ - 15181560650255477319, - 5519958367254709189 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 18159130462716439423, - 5329738684090448038, - 4616914590307470404, - 15224714999804582699 - ] - }, - { - "elements": [ - 11661851581098807204, - 17659342420766497825, - 16250014531971202297, - 1211809291332586474 - ] - }, - { - "elements": [ - 7801945876092050924, - 17641972652208767512, - 11239556109837885377, - 16315189946871964043 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 18014325648413885340, - 1942929599936291911 - ], - [ - 7858114888860830397, - 11919535273737012819 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 12188730944576219962, - 6068302197677870734, - 13683709592698495775, - 7794162675995433996 - ] - }, - { - "elements": [ - 219887164023662742, - 9848989959245015714, - 17807617814695188338, - 6415485607267671811 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9339036262385040961, - 18331364621070057153, - 13831611909180227137, - 0, - 4200845995036517166, - 11677073003225446975, - 18354487644830281184, - 8601864714619025316, - 10283282168001670439, - 16642742967767940110, - 5818736357888074844, - 3837666366387355266, - 8416920495296902541, - 3578211258834564824, - 6600734742427369447, - 2281206683517387754, - 647734743509899624, - 4534143204569297368, - 13292258362570497255, - 812088190920559180, - 2769299254290539901, - 938350710619194986, - 6568454974334364902, - 9085696681511385672, - 8259644562335946741, - 2477279728107874224, - 17340958096755119568, - 10706242260798331050, - 17415224227394300683, - 8097036835509860462, - 1339025640325270271, - 9373179482276891897, - 10272024167694490316, - 16563936965617679249, - 5267094342836248817, - 18422916330439157398, - 18279949896586595860, - 17279184859618665094, - 10273829600843149732, - 16576574997658295161, - 5355560567120560201, - 595435831014752765, - 4168050817103269355, - 10729611650308301164, - 1320305274499770864, - 9242136921498396048, - 9354726242245019373, - 10142851487471382648, - 15659728204055925573, - 17384377081318557406, - 11010175152742395916, - 3284249791538434128, - 4543004471354454575, - 13354287230066597704, - 1246290263393262323, - 8724031843752836261, - 5727990698026100864, - 3202446747353537406, - 3970383162060177521, - 9345938065006658326, - 10081334246802855319, - 15229107519376234270, - 14370032288560718285, - 8356505672852106390, - 3155307501720991767, - 3640408442632358048, - 7036115029011922015, - 12359317064254285463, - 12728243172121660957, - 15310725927193289415, - 14941361143280104300, - 12355807655887808495, - 12703677313556322181, - 15138764917235917983, - 13737634073578504276, - 3929718167976608327, - 9061283106421673968, - 8088749536707964813, - 1281014548712000728, - 8967101840984005096, - 7429480678644282709, - 15112876611680810321, - 13556415934692750642, - 2661191195776332889 - ], - { - "siblings": [ - { - "elements": [ - 11864468117037521840, - 1537775985679200871, - 12557929365897988741, - 15389041793660808817 - ] - }, - { - "elements": [ - 15675335995886535351, - 3847611915401854590, - 5454315641800647189, - 7883072348836658174 - ] - }, - { - "elements": [ - 10435972124049137119, - 12547143415651394014, - 2102481000947518641, - 6940543928013072299 - ] - }, - { - "elements": [ - 7457068902407388738, - 4773292731147637108, - 1292139847039842012, - 10706839160529778429 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 9407736239230111658, - 13574840564460439944, - 5577106409402937903, - 14929422093743831309, - 11728993450660243399, - 11508892303775717373, - 17637705292096219812, - 825983885084313094, - 8618761687409617926, - 16142011493041308048, - 6001666393403654163, - 18080932515694902069, - 17461616238888432052, - 10148106949373010790, - 15965242531785818981, - 10561196346689466839, - 9551044026734259341, - 8729482832796193471, - 5804867313397169907, - 5108076436679971765, - 4490702185069727094, - 10833424093403058413, - 11022056485703932142, - 4613873190150094802, - 10601145941680486871, - 14115232027536649069, - 10707456089982179238, - 18151810709936537743, - 14006900420714662036, - 5040121627575130205, - 8654010328724779993, - 14557833049875478759, - 17230421112123031994, - 11645059900678791815, - 4691626254490664870, - 13909757560270245844, - 1697559990304615464, - 5794043413681892199, - 3405826602806418601, - 4629987170088370509, - 3020512180464368560, - 13675487474086343785, - 17896407566430639353, - 16602351337371397728, - 3635565767082138774, - 13685058192315015095, - 11970558186782469847, - 17673709072881668188, - 11898751862035760004, - 10411403002791067526, - 6873974297550865206, - 4655195752474914197, - 9473246663762775714, - 16586549027910000036, - 613594794963771961, - 6657120926228673159, - 12586849226734956584, - 5175495367745021673, - 10946296265268261235, - 2652021849959777190, - 16079354122132395071, - 2712110998303725773, - 17917673730480846543, - 16988297385232892178, - 9663296969753502729, - 6182945686449907586, - 17113951250276793147, - 275513092558913391, - 14128452403989107108, - 8460101394354284355, - 11785078594844261952, - 14422352297257708439, - 11061537102544205179, - 17957539269765874658, - 8767523762369560689, - 6128603246714637203, - 9186824055053437474, - 4243419951595317129, - 5915432760159060382, - 15184498298858671880, - 14637174919588147848, - 16294064987882221570, - 7317904719923283208, - 5544145967886736699, - 10780176225290258281, - 16947469573397456535, - 15132218141197564990, - 14689638258775968061, - 6080533590592377104, - 1612323474983129805, - 16301010270887198359, - 16845620525567900192, - 937858818274637957, - 14641138566534273040, - 17575620612056445010, - 6770666731345576090, - 3982428177506320580, - 3839378503444671536, - 16204899796196812111, - 16951377567853339705, - 14047318068360711308, - 1441855734352935283, - 1539809551664080835, - 12716396727449154676, - 18290243087627602601, - 6237203628051561198, - 14890754936967157672, - 2883390650994068680, - 17586353902329895034, - 6126942760032545768, - 9683245598155703987, - 10037715963004725447, - 12416544009749886752, - 868948495880155962, - 14260776295887372204, - 4796632230061620141, - 7843452405883403831, - 13524810167618986005, - 15962779997712022885, - 13342865446009925818, - 12876555148105341748, - 2096624551525766197, - 2066984731098966154, - 17458170159774397169, - 4042991667957929388, - 12743658302590203373, - 11592631983432580155, - 12670720201514953181, - 12006827671684411546, - 14799249608252483443, - 10454855021275267527, - 15904780185020305660, - 1708876533526672836, - 18378623292665312725, - 13165148868084538100 - ], - { - "siblings": [ - { - "elements": [ - 9879519074675355151, - 18124848313327265397, - 8411552168115124261, - 7747803013305470974 - ] - }, - { - "elements": [ - 9302552907183381796, - 9422419756847684651, - 15085762523121987296, - 16592866256012523355 - ] - }, - { - "elements": [ - 4774985552487752805, - 18070473421183645244, - 1426836280372659207, - 6300063106822568666 - ] - }, - { - "elements": [ - 4039843142812945397, - 6279959376189748871, - 6998933480394684603, - 12512159597373145472 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 2179895989406113572, - 17952820120253414373, - 12208032973732994063, - 6471358010009272877, - 6471358010009272877, - 3321120935334235166, - 3321120935334235166, - 3321120935334235166, - 3321120935334235166, - 3321120935334235166, - 3321120935334235166, - 17648949497331452418, - 7197505453601456097, - 7197505453601456097, - 14907561388939061685, - 14907561388939061685, - 14907561388939061685, - 14907561388939061685, - 14907561388939061685, - 14907561388939061685 - ], - { - "siblings": [ - { - "elements": [ - 7805188082178800716, - 5106783431287090397, - 17313747565640168846, - 3869665204300480364 - ] - }, - { - "elements": [ - 4642017619637341754, - 2013395111647727246, - 3214845714716013121, - 15203657994154621458 - ] - }, - { - "elements": [ - 11851305432216828571, - 402402749986155162, - 16287438738924382221, - 1341265575252675719 - ] - }, - { - "elements": [ - 1307761427862606925, - 12158354897706001241, - 10983117905814865730, - 11951096335189969739 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 6195201987766995077, - 12887130169011135960, - 7467667539892169392, - 12504364820583891196, - 6480616129152631828, - 6286077286820681975, - 0, - 0, - 12663153985703781972, - 14331001564872089766, - 7324050744599045370, - 2351906822668210222, - 16813616074886283788, - 17177433951040171386, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 350901737467487151, - 11632456511436606134, - 14907983562578325956, - 9743064613036327803 - ] - }, - { - "elements": [ - 4295999823824083978, - 1355426455090365212, - 3461599750300552505, - 18395217869376156187 - ] - }, - { - "elements": [ - 15416329865146108336, - 13294739752561994081, - 13295965101148390249, - 24762553123058570 - ] - }, - { - "elements": [ - 9942076103302792188, - 17580082504047989446, - 3747412748547960075, - 13949158100391960414 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 7378036732292405843, - 9901573688819216051 - ], - [ - 7673192160603851714, - 15990759534427967441 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 3211061011396336841, - 15400894782630226670, - 6977378682649115370, - 1322146640099508807 - ] - }, - { - "elements": [ - 8192405376918824656, - 14839647998106139578, - 8794391920946750580, - 15615885349015011779 - ] - }, - { - "elements": [ - 2289778720289295108, - 6550395058125398405, - 15886281708521700800, - 12814974594349733281 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 11720522968924656532, - 27223469353644281 - ], - [ - 14151917568350059205, - 13835241404319660449 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 3269604065529933446, - 18165374773020607630, - 4156092402330197970, - 14143834170067281421 - ] - }, - { - "elements": [ - 15775472259507101320, - 3747063615451822157, - 3735810013800471431, - 13997901585845156954 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9095517417816452890, - 96330896900558400, - 13803534327843076778, - 0, - 8554381998955378188, - 17658780261525740318, - 14488739061994004400, - 9119959145758901147, - 11341828723915307742, - 5605824789748816910, - 2347285389412549728, - 16430997725887848096, - 4336519664727430746, - 11908893583677430901, - 9575278808083679023, - 17788441900913046368, - 16392760755046264595, - 4068860868836346239, - 10035282012439839352, - 14906741878835122501, - 8745768804046391761, - 5880149420080989364, - 4267557801737756906, - 11426160542749714021, - 6196147521589660863, - 6479544512298457399, - 8463323447260033151, - 3903031922576479094, - 5029707562640193069, - 6781123512101632396, - 10574376445882258130, - 233658843517469626, - 1635611904622287382, - 11449283332356011674, - 6358007048833744434, - 7612561203007042396, - 16394440282220128130, - 4080617559053390984, - 10117578843959152567, - 15482819699470315006, - 16146017549219283437, - 2341658428047478133, - 16391608996332346931, - 4060798557838922591, - 9978845835457873816, - 14511688639961363749, - 9348100132656624638, - 10096468720352619503, - 15335048834224583558, - 15111621492499163301, - 13547630100421221502, - 2599690355875628909, - 18197832491129402363, - 16704363021418310615, - 6250076733440668379, - 6857048995255510011, - 11105854827959401435, - 3954007518057472761, - 9231308556987725006, - 9278927690670322079, - 9612261626448501590, - 11945599176895758167, - 9832217960611969885, - 13485293516040036232, - 2163334265207332019, - 15143339856451324133, - 13769658648086347326, - 4153890189531509677, - 10630487257305983418, - 626434523483546642, - 4385041664384826494, - 12248547581279201137, - 11952856791296070675, - 9883021261414157441, - 13840916621655349124, - 4652696004514522263, - 14122127962187071520, - 6621175388236579035, - 9454739578826884603, - 10842944843544439258, - 2113637627152737522, - 14795463390069162654, - 11334523383411216973, - 5554687406220181527 - ], - { - "siblings": [ - { - "elements": [ - 2546969513237800811, - 3370176308495191887, - 17446147951767415125, - 12762967947476935247 - ] - }, - { - "elements": [ - 18284170952837066010, - 281799156645162222, - 7086744332604910734, - 10722052766226690722 - ] - }, - { - "elements": [ - 5371689261270013807, - 17392246691669219395, - 12184553358600511112, - 12791358432524260063 - ] - }, - { - "elements": [ - 10806690000223166435, - 7954967506323812786, - 4138548784486448793, - 10154178816513826224 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 8902005973107724202, - 12897005759956215969, - 12363923560043580784, - 7785670405341993855, - 18180663984654946857, - 13862963132380661519, - 2459444207462648462, - 1281445303191613693, - 695892012091683406, - 2711513365380216719, - 13160114435329000390, - 1152217795880167682, - 1242559059980679574, - 15427058982396617993, - 3256386123076927251, - 10476478205854596650, - 4748242020693560520, - 5073089290326473108, - 17079572986691571201, - 5366491310944462893, - 4041654208023897648, - 17024796148701542683, - 11539282410056146651, - 17006549291755864003, - 11971256454607428854, - 17230642024960978907, - 12994523286692687521, - 4297538645292639174, - 8696680292534396170, - 13460643259170991951, - 11129003807300558421, - 1738557098965965766, - 11815608640295232293, - 17948821938141965765, - 12778346605789036391, - 10382758791570207121, - 8218488656740456609, - 14104601160007517036, - 15156735832792407919, - 13866094306783671659, - 11118237123763361681, - 244679785611499972, - 8160254687324397768, - 14801097585387823838, - 16867062976757328022, - 13523978970873537158, - 6013639291553266031, - 6232288575092613654, - 9244595114008108225, - 4585482403518858335, - 2866427421805205223, - 8552094657787263280, - 7864976399130093239, - 1201106558027325968, - 6943423240342483269, - 1460927295005447097, - 1772426354793502827, - 7472606086782732444, - 7825723619165827113, - 483616563032604266, - 5682525687913780933, - 5427183566384058028, - 4374560991736672702, - 17251290360582300148, - 3741290977529052462, - 5045379809678397362, - 8716038042707242868, - 2392333166601448518, - 11655523129676135355, - 6271984063864363947, - 14794006335005132500, - 8345501904418253499, - 6913131533938893085, - 2769543076364230274, - 8238766569191449819, - 13597207451881742825, - 15352444719857863857, - 13016268149169279608, - 5420403203915114521, - 12049136215465410568, - 144326233856917444, - 15452486271959310920, - 995316977491739761, - 10207848134920878370, - 6315478286507134952, - 16804963837650589793, - 3682333604644950023, - 4380914402289050279, - 3727815013041362116, - 12031068098131475190, - 17824054717593078819, - 15192609004505555978, - 13491336126608630631, - 16122935289168277955, - 14744054060705822118, - 5930417543518300910, - 2316384914224792167, - 2522434996699356031, - 627477417871923880, - 12832346656591488559, - 15855498375555549525, - 7363473285471713840, - 5820624395609170047, - 16185451584452445452, - 13414996458623868621, - 1746272578270583028, - 16119057510205646116, - 16390521699244765723, - 10890374451734552468, - 13789009824889808490, - 10622370808382751838, - 10591964621404395387, - 8153089689117542587, - 7579494811422805409, - 8532382404903505708, - 12036709483259861432, - 1692005824025305035, - 4533134006392716622, - 11852837057358336942, - 2101482198974495442, - 3128650674161368518, - 3602012492376812392, - 9777999416611251913, - 14644244622288336314, - 7121493281510767291, - 13662866292032444344, - 6280903000780814309, - 5784467017146009854, - 3510352074383189062, - 15946008461940942046, - 16738238438204100168, - 5523571946447995594, - 17638868074296194871, - 17202955685898674917, - 3975289578433598021 - ], - { - "siblings": [ - { - "elements": [ - 16252488262154386633, - 16126458735981443788, - 18379616931887599426, - 15770979859308305258 - ] - }, - { - "elements": [ - 15553662681648483603, - 6311693474226634341, - 1603657648348039497, - 13744870235042541374 - ] - }, - { - "elements": [ - 9647289070221548241, - 17358470325720686782, - 5880978181065361246, - 3024132070608938447 - ] - }, - { - "elements": [ - 18068542140626307032, - 4355258260800683867, - 4216852198913689890, - 9908778413058407397 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 2862039019300571155, - 17313130665553911901, - 17714601705798702090, - 2914502312677021204, - 2914502312677021204, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 8403294573112251759, - 16300267698012733011, - 16300267698012733011, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118 - ], - { - "siblings": [ - { - "elements": [ - 13466376743579637977, - 13053815709748034988, - 977334614740591232, - 9600148949445974318 - ] - }, - { - "elements": [ - 6620754737828817249, - 13697858195430891127, - 15753738613629117469, - 16798926236414643204 - ] - }, - { - "elements": [ - 12864706297767819814, - 12995755319066711512, - 3429469123448917812, - 2924577796276707634 - ] - }, - { - "elements": [ - 145427054560340303, - 14816750798629607344, - 4180175906610809805, - 3640562706259543449 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 10664434063101396964, - 9310233050080426148, - 3495379114704833679, - 6434086354241451596, - 10228617058192807224, - 1421137405984365318, - 0, - 0, - 1552387548611429289, - 1379511667228672468, - 10390998190973019565, - 15333459245134273436, - 6283117595835995062, - 2581141762105906947, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 9078404301089923904, - 1312620377718163485, - 347756083457078842, - 11064346928743022625 - ] - }, - { - "elements": [ - 4593496725137493280, - 9732181012895319996, - 15610523264809557654, - 14254324876197319833 - ] - }, - { - "elements": [ - 3988501231198819935, - 17627254930987240577, - 6867241809373997096, - 2952122267360219605 - ] - }, - { - "elements": [ - 12811526413818622272, - 6785993692180923794, - 1100653735883361736, - 15401048698472078136 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 13611854445331712593, - 14170398827409919240 - ], - [ - 14502369776764105679, - 17072804820685478994 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 6938263586783916830, - 5475761653933753720, - 8633924847476558987, - 5896409343947767015 - ] - }, - { - "elements": [ - 9291012971660480050, - 2618114570569088151, - 12550651089893057207, - 3606524064960945665 - ] - }, - { - "elements": [ - 8284183084895194160, - 5829342604531927845, - 16971166008664998292, - 11699728344815154008 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 14412397339032168335, - 15798532326344121231 - ], - [ - 11460043198242547402, - 16510676616743767820 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 2588089115216973342, - 6893304834680000336, - 4837607352643158074, - 6969160038993304394 - ] - }, - { - "elements": [ - 12184998889475559148, - 14811997910098371392, - 13032553179532206176, - 2352684615002827561 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 16562708906487412460, - 10596947110445447446, - 13269451678678609921, - 0, - 6344490235231692403, - 11825094819974798037, - 8735254430068398959, - 5154186397770215428, - 4486441094772646540, - 12958343593993941459, - 16921428880299252929, - 7769537745607264577, - 17493276080421683397, - 11772468146464277853, - 8620300747591607687, - 5066530300645335424, - 7127725301625941183, - 13000588972552419639, - 17217146530208600189, - 9839561294972695397, - 16429135071674145211, - 4323481085231510551, - 11817623527205989536, - 8936388412783589468, - 7214486681241373313, - 13607918629860444549, - 3021710061950190238, - 2705226364236747345, - 14735668156872777280, - 3428883361698529658, - 5555439462475123285, - 1994588098496694353, - 13962116689476860471, - 5501096479265101692, - 1614187216026543202, - 11299310512185802414, - 5308197307642279614, - 263893014666788656, - 1847251102667520592, - 12930757718672644144, - 16728327753050171724, - 6417829854863696142, - 8031320845216704352, - 879013708273177501, - 6153095957912242507, - 6178183566556528907, - 6353796827066533707, - 7583089650636567307, - 16188139415626802507, - 2636511492900111623, - 8836380886197040, - 61854666203379280, - 432982663423654960, - 3030878643965584720, - 2769406438344508719, - 939100998996976712, - 6573706992978836984, - 9122460812022690246, - 8516993475915078759, - 4278722123161798350, - 11504310792718004129, - 6743199271367691619, - 10308906760744672691, - 16822115116968955874, - 7074341402295185192, - 12626901677237127702, - 14601335463001556630, - 9975627893937974805, - 14489163049322070672, - 9190420998181573099, - 8992714779027258730, - 7608771244947058147, - 16367910575800238387, - 3894909614114162783, - 8817623229384555160, - 6383130397448133157, - 7788424643307763457, - 17625484364325175557, - 12697926133788722973, - 15098506658862723527, - 13455826264966143084, - 1957063507690079983, - 13699444553830559881, - 3662391529740997562 - ], - { - "siblings": [ - { - "elements": [ - 13164615317592957606, - 7751306190608399614, - 1240229163233385534, - 10981995093945128454 - ] - }, - { - "elements": [ - 12352881917162426006, - 4630601668602176152, - 3978494118237336519, - 3467277792349400492 - ] - }, - { - "elements": [ - 8661820250160828465, - 14630979731310424406, - 6115260044463631188, - 14740873373190630016 - ] - }, - { - "elements": [ - 10537826799806837523, - 17608408856127252765, - 17112503669541854860, - 14828015845269383958 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 10395279328527255366, - 11578938747260174360, - 12629953103949484865, - 14392284474041869908, - 2337908725015595201, - 7227949713199533455, - 33505920094197166, - 12516708467956302090, - 9727802063407743944, - 2463982917171163951, - 12335372859339825120, - 9099085162072953439, - 6594658121010476974, - 14184550312262275788, - 7656912728853636888, - 12767564424140801182, - 8333889003132032918, - 15265637746783002225, - 2395956136889783629, - 788727185096539309, - 13641685183319763549, - 4576892486879837651, - 16099541737713571246, - 1628948231670282167, - 5035321521600450948, - 2348376641210999165, - 10437369681905575397, - 9841001515558231853, - 2553550302626062667, - 11785064461736653619, - 18158047115610962767, - 5744078171069790081, - 1345148058841028332, - 17584061389194487473, - 13522113072863375119, - 12244187716114009727, - 2657418134192115530, - 16216190057243001074, - 2904207907096779175, - 6925968884205880855, - 8340335971880865229, - 11180549723828693261, - 4559847859067734498, - 5729806145334469131, - 6491521046175270887, - 4642073524341529143, - 11904591346566058432, - 11877634317599027589, - 1847229408323108620, - 779469353587952713, - 5817332234186630901, - 17661567266612623337, - 16461738225990100669, - 4801667632239903079, - 3964372666562741208, - 8404535398242590063, - 1269611881640887208, - 10863671897489405792, - 125992894543057407, - 610281332300523083, - 15458399871569301321, - 7462540243347687730, - 12310308871660787904, - 16167451601950119797, - 3240356977156353449, - 17020706711428857482, - 8277339849742242917, - 15389114552679707300, - 11532256040125184576, - 17386927452090439570, - 12635011447782533130, - 16126745455088412951, - 10024463350895591720, - 2640091432963182240, - 13674541600155277501, - 6702376859762956400, - 6192227804586677400, - 13311153567886869782, - 14778373705297757244, - 12501653704301930500, - 7091889334411442402, - 2789547028246410510, - 3206481073380708232, - 2426469550115640083, - 13111003518268950213, - 5171176318493050641, - 13394693286219624702, - 1511741791431532549, - 7310297556823277309, - 5153570478764530603, - 2716665045389078191, - 17601801858736630243, - 17700464166535103499, - 14748976910073767953, - 5334555898455760689, - 4295544021157007811, - 13388157375313827318, - 17428348225193916063, - 12490692407647789099, - 5208678299120301711, - 16536678053304073556, - 6227890652791497280, - 3800637082750339584, - 8934930553342059981, - 2550777949419545870, - 8916621938262853185, - 16113343819749465079, - 13234416247428551009, - 9711719903242417540, - 7061948408930395874, - 2058732449439168930, - 14537079701694460205, - 3823643069391410743, - 15927211598629348125, - 12245569542973083378, - 11543220760427291169, - 6717183821985916898, - 5547581026032190845, - 11704905700217259759, - 5011372001937792832, - 12876017469386243854, - 6089236914849079906, - 13402221549323245564, - 17372075196314363093, - 2250079140528800344, - 17634333379971851972, - 17497949354992315326, - 15458909786470840316, - 10034399645431730613, - 12346615177433631577, - 9710811414423619976, - 5127239805249512358, - 14396601442268875198, - 2263729503966505130, - 13279434653442308353 - ], - { - "siblings": [ - { - "elements": [ - 7417003199425214579, - 14206043010084440199, - 4689175626145195498, - 14930395244117615227 - ] - }, - { - "elements": [ - 3473780385308851488, - 1502810072347762434, - 12172398654059660392, - 11978946158447891945 - ] - }, - { - "elements": [ - 8645727737179351403, - 13490291115062667427, - 17598730766968454867, - 7687159043877417760 - ] - }, - { - "elements": [ - 4728552037502063878, - 17543675288385102632, - 9449846599039641620, - 3703673035873117209 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 18244597934348071173, - 9529145007848526954, - 3851123296598607699, - 2920287784330907647, - 2920287784330907647, - 10523524896092849529, - 10523524896092849529, - 10523524896092849529, - 10523524896092849529, - 10523524896092849529, - 10523524896092849529, - 15022165902332508874, - 4694758474035891811, - 4694758474035891811, - 14571386630158177678, - 14571386630158177678, - 14571386630158177678, - 14571386630158177678, - 14571386630158177678, - 14571386630158177678 - ], - { - "siblings": [ - { - "elements": [ - 10642215428571593246, - 6971259261563097975, - 640012826927074142, - 15977169341725358801 - ] - }, - { - "elements": [ - 16848594274474357505, - 16577054501294106160, - 17321745799549682267, - 14504131837726763395 - ] - }, - { - "elements": [ - 2821788936851724139, - 2849318965741636954, - 8845803651892388112, - 6537293869195439794 - ] - }, - { - "elements": [ - 7246665166177909275, - 14240893978276133359, - 10163752579741372732, - 9329618049248624584 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 2030892324986169217, - 7952115841196942512, - 4563710382497520684, - 12305502630080858745, - 6776584004547960338, - 6863638139011887056, - 0, - 0, - 8760462735703525952, - 5925498640901273740, - 5357385403259924889, - 5802730028002463794, - 12504542474613831865, - 15564472233467116400, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 8720148974165315035, - 17305856742115060132, - 2040806479117950786, - 13217207948135417425 - ] - }, - { - "elements": [ - 13969312494544732842, - 9873269909253348632, - 5740434055134959870, - 7199236821299202800 - ] - }, - { - "elements": [ - 17422521895774696576, - 9673181293534008918, - 16171458598332928176, - 2805956817828995250 - ] - }, - { - "elements": [ - 3744362079139765204, - 14833210501314585463, - 9405173137185040511, - 9718833844613418587 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 1624020511539155763, - 11843336222156322987 - ], - [ - 12490792430053974934, - 1966839544442407599 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 1810820628463336182, - 13992417576087198451, - 9314035016885242889, - 14812781303290989932 - ] - }, - { - "elements": [ - 7573961714612000675, - 9189988355602915457, - 13901074018574044591, - 3463337465449951804 - ] - }, - { - "elements": [ - 7801945876092050924, - 17641972652208767512, - 11239556109837885377, - 16315189946871964043 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 12188730944576219962, - 6068302197677870734 - ], - [ - 13683709592698495775, - 7794162675995433996 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 18014325648413885340, - 1942929599936291911, - 7858114888860830397, - 11919535273737012819 - ] - }, - { - "elements": [ - 219887164023662742, - 9848989959245015714, - 17807617814695188338, - 6415485607267671811 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9351657662303301864, - 18349982170398790081, - 13866581776278699352, - 0, - 7932071483727127696, - 1476463296298324603, - 8777501426321264334, - 5593451695874488781, - 12591238859250233080, - 14351695737093294276, - 8228149812580138327, - 2256816479817215326, - 15797715358720507282, - 18350287163970629369, - 17771545731306899657, - 8540493806446330172, - 9305883777027464166, - 9800954230948496199, - 13266447408395720430, - 631411511697121405, - 9700975265368192560, - 12566594649333594957, - 14179186267676827415, - 7020583526664870300, - 12250596547824923458, - 11967199557116126922, - 9983420622154551170, - 14543712146838105227, - 723730847428237296, - 11665620557312951925, - 7872367623532326191, - 18213085225897114695, - 16811132164792296939, - 6997460737058572647, - 12088737020580839887, - 10834182866407541925, - 2052303787194456191, - 14366126510361193337, - 8329165225455431754, - 2963924369944269315, - 2300726520195300884, - 16105085641367106188, - 2055135073082237390, - 14385945511575661730, - 8467898233956710505, - 3935055429453220572, - 9098643936757959683, - 8350275349061964818, - 3111695235190000763, - 3335122576915421020, - 4899113968993362819, - 15847053713538955412, - 248911578285181958, - 1742381047996273706, - 12196667335973915942, - 11589695074159074310, - 7340889241455182886, - 14492736551357111560, - 9215435512426859315, - 9167816378744262242, - 8834482442966082731, - 6501144892518826154, - 8614526108802614436, - 4961450553374548089, - 16283409804207252302, - 3303404212963260188, - 4677085421328236995, - 14292853879883074644, - 7816256812108600903, - 17820309545931037679, - 14061702405029757827, - 6198196488135383184, - 6493887278118513646, - 8563722808000426880, - 4605827447759235197, - 13794048064900062058, - 4324616107227512801, - 11825568681178005286, - 8992004490587699718, - 7603799225870145063, - 16333106442261846799, - 3651280679345421667, - 7112220686003367348, - 12892056663194402794 - ], - { - "siblings": [ - { - "elements": [ - 8390203617019574164, - 12910566646134172731, - 13366123011825469108, - 4784983928070674917 - ] - }, - { - "elements": [ - 18284170952837066010, - 281799156645162222, - 7086744332604910734, - 10722052766226690722 - ] - }, - { - "elements": [ - 5371689261270013807, - 17392246691669219395, - 12184553358600511112, - 12791358432524260063 - ] - }, - { - "elements": [ - 10806690000223166435, - 7954967506323812786, - 4138548784486448793, - 10154178816513826224 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 11528869685150872732, - 14025141696866465790, - 9818267695243013502, - 18043166846665978362, - 7158567838678405253, - 2924854157599208770, - 10386886493542553762, - 17988505013916059847, - 8529057747972177249, - 2808236301128868920, - 16792256685635140349, - 12648917781104089697, - 16906170074369809456, - 18175963466599761910, - 3002731065158754869, - 15332571869999773498, - 513730113188600769, - 4807830140356903660, - 13141835175536909516, - 1679001121023915028, - 16626243706711017155, - 12854978816356742991, - 6399410310211193044, - 8098059312868089187, - 12724046373710703453, - 6427813394801319364, - 8799382572735224581, - 16719007131701535000, - 13697774029406965934, - 11830459851593508070, - 2318294570039273748, - 445575309784676651, - 17285694194798751435, - 9981117149461018421, - 12695212303640997946, - 492259710001074683, - 6573553351315104400, - 1580495891704186874, - 4120787109017819887, - 1794879544222855460, - 1699577001254920510, - 3425598769607240625, - 7884591459123193105, - 2558287507470527245, - 1028719286055227541, - 5771792111751512061, - 15350348512202455963, - 12625572870010877251, - 14170833922698742693, - 2015473846198157510, - 8464553463126366345, - 8325045811596239913, - 1466385961087717872, - 9501477723016358270, - 12641233585972501404, - 11167369600952930592, - 2450082723540888995, - 12754126887828632712, - 10310208972164848729, - 12587430356986682787, - 13075747764317814933, - 7382379705828852555, - 14748878963491407947, - 11873353966694488767, - 17794170455298897284, - 6396366900385231467, - 10454676538393584353, - 3355864550312498004, - 2926853459057103534, - 8386414295033731611, - 14914885627590143061, - 3265058889665441499, - 2540540810660789099, - 6947859661239095323, - 11381891356838635533, - 17372496886697863550, - 2517780554237307362, - 14337383818188750766, - 2323728042959658153, - 1878394536701057456, - 3745952407315905146, - 16711156547463755990, - 1462628174010302944, - 3835877483088168042, - 15025537292375461155, - 16754670237665555810, - 2196059961397029715, - 14481709056266694333, - 17580441461301684207, - 1307753411511996109, - 18089210523346030922, - 14748612713375306926, - 10234393741523733839, - 7038258977353928358, - 8192665483315508474, - 293651636950913433, - 813348287215084259, - 15391638981493980847, - 2049782719703286224, - 8107695724834132412, - 7256272652715188998, - 7442530129025231435, - 12050297677036680346, - 12188742793142012888, - 1285242379472921839, - 3828820216853841947, - 6438327003778370004, - 7675490640744542418, - 13491016441561827230, - 1873050598358826955, - 15382432175618942995, - 6779078230121496015, - 396947284212650622, - 8497471810668367884, - 819812329524495382, - 11185276106962773221, - 14477067150987687986, - 15351085943534585523, - 6078568227261465838, - 9021953783538856849, - 16236900260285322530, - 15680138798651154141, - 5873777324612773487, - 7254668695550496206, - 6110268776495648192, - 5347842652623017251, - 4433178308329842936, - 13375926755529110775, - 8579348942826875232, - 5666913860481525230, - 7555266368791764951, - 12241881748120390352, - 17475997044564010620, - 3682597486751373462, - 12138586601356945855 - ], - { - "siblings": [ - { - "elements": [ - 4509253079011966780, - 3018343597288903285, - 10129811928968881856, - 11222421870442079150 - ] - }, - { - "elements": [ - 15553662681648483603, - 6311693474226634341, - 1603657648348039497, - 13744870235042541374 - ] - }, - { - "elements": [ - 9647289070221548241, - 17358470325720686782, - 5880978181065361246, - 3024132070608938447 - ] - }, - { - "elements": [ - 18068542140626307032, - 4355258260800683867, - 4216852198913689890, - 9908778413058407397 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 14067300006570744290, - 4537885483580440252, - 4412063990761783489, - 4504480658907675057, - 4504480658907675057, - 15273680699105912091, - 15273680699105912091, - 15273680699105912091, - 15273680699105912091, - 15273680699105912091, - 15273680699105912091, - 17207292682710505786, - 4941858543182882887, - 4941858543182882887, - 18257079870741845513, - 18257079870741845513, - 18257079870741845513, - 18257079870741845513, - 18257079870741845513, - 18257079870741845513 - ], - { - "siblings": [ - { - "elements": [ - 11632391229723235855, - 131815063065855069, - 5644830696283022600, - 15828417599515671854 - ] - }, - { - "elements": [ - 6620754737828817249, - 13697858195430891127, - 15753738613629117469, - 16798926236414643204 - ] - }, - { - "elements": [ - 12864706297767819814, - 12995755319066711512, - 3429469123448917812, - 2924577796276707634 - ] - }, - { - "elements": [ - 145427054560340303, - 14816750798629607344, - 4180175906610809805, - 3640562706259543449 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 9689222708601555428, - 576775113833194003, - 9870391182385953978, - 16365803383841336878, - 10576326124743751453, - 1516223410458925133, - 0, - 0, - 451588991942530381, - 7043159849539980166, - 9216256490136849418, - 10389747824353245253, - 13378701666253593437, - 17974128367664462629, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 3979720177896275784, - 15554875853550224478, - 13456571731820648348, - 2746157428187740143 - ] - }, - { - "elements": [ - 4593496725137493280, - 9732181012895319996, - 15610523264809557654, - 14254324876197319833 - ] - }, - { - "elements": [ - 3988501231198819935, - 17627254930987240577, - 6867241809373997096, - 2952122267360219605 - ] - }, - { - "elements": [ - 12811526413818622272, - 6785993692180923794, - 1100653735883361736, - 15401048698472078136 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 13611854445331712593, - 14170398827409919240 - ], - [ - 14502369776764105679, - 17072804820685478994 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 6938263586783916830, - 5475761653933753720, - 8633924847476558987, - 5896409343947767015 - ] - }, - { - "elements": [ - 9291012971660480050, - 2618114570569088151, - 12550651089893057207, - 3606524064960945665 - ] - }, - { - "elements": [ - 8284183084895194160, - 5829342604531927845, - 16971166008664998292, - 11699728344815154008 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 14412397339032168335, - 15798532326344121231 - ], - [ - 11460043198242547402, - 16510676616743767820 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 2588089115216973342, - 6893304834680000336, - 4837607352643158074, - 6969160038993304394 - ] - }, - { - "elements": [ - 12184998889475559148, - 14811997910098371392, - 13032553179532206176, - 2352684615002827561 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9095517417816452890, - 96330896900558400, - 13803534327843076778, - 0, - 8554381998955378188, - 17658780261525740318, - 14488739061994004400, - 9119959145758901147, - 11341828723915307742, - 5605824789748816910, - 2347285389412549728, - 16430997725887848096, - 4336519664727430746, - 11908893583677430901, - 9575278808083679023, - 17788441900913046368, - 16392760755046264595, - 4068860868836346239, - 10035282012439839352, - 14906741878835122501, - 8745768804046391761, - 5880149420080989364, - 4267557801737756906, - 11426160542749714021, - 6196147521589660863, - 6479544512298457399, - 8463323447260033151, - 3903031922576479094, - 5029707562640193069, - 6781123512101632396, - 10574376445882258130, - 233658843517469626, - 1635611904622287382, - 11449283332356011674, - 6358007048833744434, - 7612561203007042396, - 16394440282220128130, - 4080617559053390984, - 10117578843959152567, - 15482819699470315006, - 16146017549219283437, - 2341658428047478133, - 16391608996332346931, - 4060798557838922591, - 9978845835457873816, - 14511688639961363749, - 9348100132656624638, - 10096468720352619503, - 15335048834224583558, - 15111621492499163301, - 13547630100421221502, - 2599690355875628909, - 18197832491129402363, - 16704363021418310615, - 6250076733440668379, - 6857048995255510011, - 11105854827959401435, - 3954007518057472761, - 9231308556987725006, - 9278927690670322079, - 9612261626448501590, - 11945599176895758167, - 9832217960611969885, - 13485293516040036232, - 2163334265207332019, - 15143339856451324133, - 13769658648086347326, - 4153890189531509677, - 10630487257305983418, - 626434523483546642, - 4385041664384826494, - 12248547581279201137, - 11952856791296070675, - 9883021261414157441, - 13840916621655349124, - 4652696004514522263, - 14122127962187071520, - 6621175388236579035, - 9454739578826884603, - 10842944843544439258, - 2113637627152737522, - 14795463390069162654, - 11334523383411216973, - 5554687406220181527 - ], - { - "siblings": [ - { - "elements": [ - 2546969513237800811, - 3370176308495191887, - 17446147951767415125, - 12762967947476935247 - ] - }, - { - "elements": [ - 18284170952837066010, - 281799156645162222, - 7086744332604910734, - 10722052766226690722 - ] - }, - { - "elements": [ - 5371689261270013807, - 17392246691669219395, - 12184553358600511112, - 12791358432524260063 - ] - }, - { - "elements": [ - 10806690000223166435, - 7954967506323812786, - 4138548784486448793, - 10154178816513826224 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 8902005973107724202, - 12897005759956215969, - 12363923560043580784, - 7785670405341993855, - 18180663984654946857, - 13862963132380661519, - 2459444207462648462, - 1281445303191613693, - 695892012091683406, - 2711513365380216719, - 13160114435329000390, - 1152217795880167682, - 1242559059980679574, - 15427058982396617993, - 3256386123076927251, - 10476478205854596650, - 4748242020693560520, - 5073089290326473108, - 17079572986691571201, - 5366491310944462893, - 4041654208023897648, - 17024796148701542683, - 11539282410056146651, - 17006549291755864003, - 11971256454607428854, - 17230642024960978907, - 12994523286692687521, - 4297538645292639174, - 8696680292534396170, - 13460643259170991951, - 11129003807300558421, - 1738557098965965766, - 11815608640295232293, - 17948821938141965765, - 12778346605789036391, - 10382758791570207121, - 8218488656740456609, - 14104601160007517036, - 15156735832792407919, - 13866094306783671659, - 11118237123763361681, - 244679785611499972, - 8160254687324397768, - 14801097585387823838, - 16867062976757328022, - 13523978970873537158, - 6013639291553266031, - 6232288575092613654, - 9244595114008108225, - 4585482403518858335, - 2866427421805205223, - 8552094657787263280, - 7864976399130093239, - 1201106558027325968, - 6943423240342483269, - 1460927295005447097, - 1772426354793502827, - 7472606086782732444, - 7825723619165827113, - 483616563032604266, - 5682525687913780933, - 5427183566384058028, - 4374560991736672702, - 17251290360582300148, - 3741290977529052462, - 5045379809678397362, - 8716038042707242868, - 2392333166601448518, - 11655523129676135355, - 6271984063864363947, - 14794006335005132500, - 8345501904418253499, - 6913131533938893085, - 2769543076364230274, - 8238766569191449819, - 13597207451881742825, - 15352444719857863857, - 13016268149169279608, - 5420403203915114521, - 12049136215465410568, - 144326233856917444, - 15452486271959310920, - 995316977491739761, - 10207848134920878370, - 6315478286507134952, - 16804963837650589793, - 3682333604644950023, - 4380914402289050279, - 3727815013041362116, - 12031068098131475190, - 17824054717593078819, - 15192609004505555978, - 13491336126608630631, - 16122935289168277955, - 14744054060705822118, - 5930417543518300910, - 2316384914224792167, - 2522434996699356031, - 627477417871923880, - 12832346656591488559, - 15855498375555549525, - 7363473285471713840, - 5820624395609170047, - 16185451584452445452, - 13414996458623868621, - 1746272578270583028, - 16119057510205646116, - 16390521699244765723, - 10890374451734552468, - 13789009824889808490, - 10622370808382751838, - 10591964621404395387, - 8153089689117542587, - 7579494811422805409, - 8532382404903505708, - 12036709483259861432, - 1692005824025305035, - 4533134006392716622, - 11852837057358336942, - 2101482198974495442, - 3128650674161368518, - 3602012492376812392, - 9777999416611251913, - 14644244622288336314, - 7121493281510767291, - 13662866292032444344, - 6280903000780814309, - 5784467017146009854, - 3510352074383189062, - 15946008461940942046, - 16738238438204100168, - 5523571946447995594, - 17638868074296194871, - 17202955685898674917, - 3975289578433598021 - ], - { - "siblings": [ - { - "elements": [ - 16252488262154386633, - 16126458735981443788, - 18379616931887599426, - 15770979859308305258 - ] - }, - { - "elements": [ - 15553662681648483603, - 6311693474226634341, - 1603657648348039497, - 13744870235042541374 - ] - }, - { - "elements": [ - 9647289070221548241, - 17358470325720686782, - 5880978181065361246, - 3024132070608938447 - ] - }, - { - "elements": [ - 18068542140626307032, - 4355258260800683867, - 4216852198913689890, - 9908778413058407397 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 2862039019300571155, - 17313130665553911901, - 17714601705798702090, - 2914502312677021204, - 2914502312677021204, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 10393511677447731449, - 8403294573112251759, - 16300267698012733011, - 16300267698012733011, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118, - 5714820996661044118 - ], - { - "siblings": [ - { - "elements": [ - 13466376743579637977, - 13053815709748034988, - 977334614740591232, - 9600148949445974318 - ] - }, - { - "elements": [ - 6620754737828817249, - 13697858195430891127, - 15753738613629117469, - 16798926236414643204 - ] - }, - { - "elements": [ - 12864706297767819814, - 12995755319066711512, - 3429469123448917812, - 2924577796276707634 - ] - }, - { - "elements": [ - 145427054560340303, - 14816750798629607344, - 4180175906610809805, - 3640562706259543449 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 10664434063101396964, - 9310233050080426148, - 3495379114704833679, - 6434086354241451596, - 10228617058192807224, - 1421137405984365318, - 0, - 0, - 1552387548611429289, - 1379511667228672468, - 10390998190973019565, - 15333459245134273436, - 6283117595835995062, - 2581141762105906947, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 9078404301089923904, - 1312620377718163485, - 347756083457078842, - 11064346928743022625 - ] - }, - { - "elements": [ - 4593496725137493280, - 9732181012895319996, - 15610523264809557654, - 14254324876197319833 - ] - }, - { - "elements": [ - 3988501231198819935, - 17627254930987240577, - 6867241809373997096, - 2952122267360219605 - ] - }, - { - "elements": [ - 12811526413818622272, - 6785993692180923794, - 1100653735883361736, - 15401048698472078136 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 13611854445331712593, - 14170398827409919240 - ], - [ - 14502369776764105679, - 17072804820685478994 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 6938263586783916830, - 5475761653933753720, - 8633924847476558987, - 5896409343947767015 - ] - }, - { - "elements": [ - 9291012971660480050, - 2618114570569088151, - 12550651089893057207, - 3606524064960945665 - ] - }, - { - "elements": [ - 8284183084895194160, - 5829342604531927845, - 16971166008664998292, - 11699728344815154008 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 14412397339032168335, - 15798532326344121231 - ], - [ - 11460043198242547402, - 16510676616743767820 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 2588089115216973342, - 6893304834680000336, - 4837607352643158074, - 6969160038993304394 - ] - }, - { - "elements": [ - 12184998889475559148, - 14811997910098371392, - 13032553179532206176, - 2352684615002827561 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 7954488734756379649, - 14821346371040968705, - 13835063944961596417, - 0, - 4965838365479236350, - 8829252400178874372, - 15685891255690563524, - 15359671313883471381, - 734807297551987072, - 5143651082863909504, - 17558813510632782207, - 12231230157941969523, - 11831634827935449377, - 9034467517889808355, - 7901040416984905522, - 9217519058613409410, - 15505390855230051649, - 16304015639537439938, - 3447645060274573640, - 5686771352507431159, - 952854585291599872, - 6669982097041199104, - 9796386540459225086, - 13234473574970822639, - 407594677722836868, - 2853162744059858076, - 1525395139004422211, - 10677765973030955477, - 968745193743289769, - 6701698734908457385, - 10018403005530033053, - 14788588830466478408, - 11286401466192427251, - 5217833985688653473, - 18078093830405989990, - 15866192396354424004, - 382882357993462102, - 2680176505954234714, - 314491472265058677, - 2201440305855410739, - 15410082140987875173, - 15636854639842204606, - 17224262131822510637, - 9889370506270068533, - 13885361335646726768, - 4963809002454165771, - 16299918947764576076, - 3418968217864526606, - 5486033455637101921, - 1508746050630544805, - 10561222354413813635, - 141580203238358161, - 991061422668507127, - 6937429958679549889, - 11668521571927680581, - 7892674725835426783, - 18355234942018818839, - 17806180177644225947, - 13962796827022075703, - 5505857442081608316, - 1647513955742089570, - 11532597690194626990, - 6941207553704051646, - 11694964737099192880, - 8077776882036012876, - 1204205966008337169, - 8429441762058360183, - 3665860126164768318, - 7214276813738793905, - 13606449557342388693, - 3011426554323799246, - 2633241810852010401, - 18432692675964072807, - 18348384315261003723, - 17758225790339520135, - 13627116115889135019, - 3156092464151023528, - 3645903179642580375, - 7074578188083478304, - 12628559177755179486, - 14612937966627919118, - 10056845419322512221, - 15057685727013832584, - 13170079742023906483 - ], - { - "siblings": [ - { - "elements": [ - 10379138245568045727, - 17762546916541496002, - 10161664187386386059, - 15382194833995629955 - ] - }, - { - "elements": [ - 5574500813914930736, - 12838262556692215469, - 15046066981143069495, - 14997503675880224959 - ] - }, - { - "elements": [ - 16033761557882582254, - 5998203619987681571, - 1322443172339494215, - 7188306192978864592 - ] - }, - { - "elements": [ - 13160595601479011360, - 12672240760888984779, - 3719035680330481544, - 13069421092759503324 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 16071751392721042304, - 17562330115653500204, - 5993787200578429741, - 15904421614745412225, - 12726242173828449171, - 540591470381090019, - 418941322102689332, - 18335505207821461815, - 4953364896903679935, - 412954301597414359, - 8588255366561705202, - 5483103328156773592, - 17960075066251059184, - 1303482956632896200, - 2227017128513034085, - 8539618420805503967, - 12916606656493354535, - 6158549222070373740, - 15379665716311139354, - 7018977409374048140, - 12870357518899782373, - 7406594046146048006, - 7483493217985080436, - 10063588638785439896, - 558157199595366471, - 5693532753027999047, - 14581118402616312650, - 7994814266956423142, - 5247247664839145710, - 15721156703792559010, - 16864661144079984357, - 15457188659633585345, - 75714741718972995, - 2572651672285989420, - 5602365599914809478, - 10294203680482280711, - 6118406487440097343, - 10330748555581265438, - 12773810593164379642, - 2767249960584142288, - 10705334473083069271, - 12439052198535597323, - 12715449911038244653, - 13423820725015893173, - 16294780150627812268, - 7771498177555365242, - 13113569063983119497, - 9054581718614519949, - 10022827790866980946, - 7554097659321482471, - 135707143420544830, - 8887385787457888291, - 13113950872950412802, - 4337595900996689673, - 15924290711136687529, - 6335606141432775373, - 4571779398899186528, - 11060935306206086702, - 11657745560282954441, - 9884242275935957405, - 12423399871441152733, - 2169183428636325268, - 5086070022752451401, - 4557512059149628867, - 8100664897674018623, - 17874828021591549382, - 16661510243360806833, - 12645232541151096170, - 322522051627179702, - 10673797218057098861, - 16518795679755114136, - 12246367768673496327, - 3915555471454429223, - 17314815954393156376, - 8727794045365372277, - 16080322595298260694, - 7964401077070805116, - 17889706314395315974, - 15772883915796142671, - 8483040511225794809, - 5577133927666219630, - 16104470534422242879, - 12476154835787070142, - 11533193099211961464, - 13647676266228037629, - 4272092676723342792, - 2755244307444697902, - 1403377482932779464, - 3299430921190077576, - 15076390459602739971, - 9581346700805959325, - 11140375246488530376, - 7826140089446402629, - 11840189813733882705, - 6828900092466531286, - 17151124851857560358, - 8160734934723702850, - 4002280499431033536, - 6981449895164319856, - 16488423675743914239, - 15657788511123864020, - 14194829783166860821, - 13724150456322958680, - 481027806077604716, - 4445679739045384273, - 12828785420094916074, - 8317440117465923156, - 2371343507327635506, - 10922767626834119750, - 16261710480212463605, - 7910042946356990723, - 8175428466972672185, - 14250339603352449350, - 2141778190438992768, - 66902236764940611, - 14267636922540140124, - 16998435615434870067, - 6560873351531327257, - 12360121176131546646, - 1851909094880081372, - 16568275022592863440, - 2601446101258635505, - 11943817785276639433, - 3853499216775862598, - 14070783481203268188, - 6510382119090996611, - 10803401851217308293, - 7662018617039101760, - 9553848184585836961, - 3264336562748810112, - 1258429726246143573, - 3662117816988802502, - 10716688418637053651, - 5968036589504356104, - 18341334096475951236 - ], - { - "siblings": [ - { - "elements": [ - 4594663750388956364, - 6291270638174126861, - 2654503213050302876, - 9147407723215798758 - ] - }, - { - "elements": [ - 15317050864596242154, - 15081693006399033169, - 3493661237047209486, - 13518826641930287237 - ] - }, - { - "elements": [ - 13011119096165257718, - 2229717442302710941, - 3852512177555875344, - 6877649820705440210 - ] - }, - { - "elements": [ - 9109621759816571599, - 7186661230729699208, - 17501545228116531813, - 17980106104985675006 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 15096878297068345599, - 10704141937597348507, - 14516194576593537685, - 4180212257535946078, - 4180212257535946078, - 5243277903639571388, - 5243277903639571388, - 5243277903639571388, - 5243277903639571388, - 5243277903639571388, - 5243277903639571388, - 12674619459447162684, - 4293665215505921429, - 4293665215505921429, - 9539944791047270308, - 9539944791047270308, - 9539944791047270308, - 9539944791047270308, - 9539944791047270308, - 9539944791047270308 - ], - { - "siblings": [ - { - "elements": [ - 12328355238307520528, - 8179306443477878496, - 4671709046337913922, - 4540290208852512848 - ] - }, - { - "elements": [ - 3853318856520187248, - 16429425990854921686, - 14559857455925596761, - 1391249939038611537 - ] - }, - { - "elements": [ - 9310736562547647200, - 12991070105402971921, - 4159679471614407586, - 16808576331196320669 - ] - }, - { - "elements": [ - 11917520989541884801, - 12176008538048200789, - 796774948728261901, - 8970810179898673763 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 7008662142725091502, - 1790952534501421758, - 9862905378459949370, - 17393155604625181005, - 3728801045045878586, - 11922285132967743869, - 0, - 0, - 11071239676589245908, - 17666485925871380444, - 6672458952605724377, - 16259750660081631074, - 927016488519972545, - 2528393307298581101, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 17311555760260086366, - 8340251077856071678, - 2722268370200395867, - 16769880343614640097 - ] - }, - { - "elements": [ - 14052334182135551133, - 7306512168758950609, - 14374609645160840051, - 12858806385882390487 - ] - }, - { - "elements": [ - 61206485670393186, - 17273211747674273049, - 6476657450688617827, - 18408917655663831191 - ] - }, - { - "elements": [ - 5395522159208239280, - 18236460515046100445, - 4511550152166545452, - 16391573326493841224 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 3278214581974644877, - 9849450378382689630 - ], - [ - 1120070849816236999, - 18324158469864956189 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 2023694044582824056, - 7864154336609627098, - 370945041153419515, - 6577611461119646052 - ] - }, - { - "elements": [ - 10416979000204362991, - 13819392939372379945, - 13442423679486088252, - 6825137400615847456 - ] - }, - { - "elements": [ - 5448429052653394718, - 11633326550950242758, - 6952130812394530383, - 14075927019534753994 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 7823622664770052212, - 8109957691560705278 - ], - [ - 18048817872504663525, - 5752507182112599452 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 8385515338749814822, - 17600470627921200470, - 17486925198524900915, - 14708738315166688581 - ] - }, - { - "elements": [ - 5205107134296034895, - 501485131006963676, - 7685783193611403496, - 8987285512752761082 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9225339864881894566, - 4632236220750758084, - 13835057240312124778, - 0, - 14899124911359266449, - 15170755790649595540, - 4738475770861159275, - 11600541937010934283, - 2570447654591861423, - 17993133582143029961, - 15271470658513703801, - 14666574262523005002, - 10432299490588113409, - 17685864225873040900, - 13120585164623780374, - 14583017958201276747, - 5502871830980250547, - 1626614678032585187, - 11386302746228096309, - 5917142945938336879, - 907961429102098326, - 6355730003714688282, - 7596621887173649332, - 16282865071386376682, - 3299591083217130848, - 4650393513105331615, - 14106010522322736984, - 6508353309186237283, - 10186211250772720158, - 5314662970077693410, - 309152651714685228, - 2164068562002796596, - 15148479934019576172, - 13805639191064111599, - 4405753990375859588, - 12393533863216432795, - 12967760764856692281, - 16987349076338508683, - 8230979117882054855, - 2276621616930631022, - 15936351318514417154, - 873994813113414152, - 6117963691793899064, - 5932257703728124806, - 4632315787267705000, - 13979466441459350679, - 5622544743142533148, - 2464325063168563394, - 17250275442179943758, - 10071463678772100380, - 15160013543160949697, - 13886374455053726274, - 4970900838303162313, - 16349561798707551870, - 3766468174465357164, - 7918533151842915827, - 89499854656657826, - 626498982596604782, - 4385492878176233474, - 12251706077819049997, - 11974966267075012695, - 10037787591866751581, - 14924280934823508104, - 12236246196691635123, - 11866747099183108577, - 9280253416623422755, - 9621541708120206322, - 12010559748597691291, - 10286941962525501753, - 16668361529434759308, - 5998066289555809230, - 5092975888061495968, - 17204087147015887455, - 9748145612623706259, - 12896787080122190850, - 16490533283196998666, - 4753268565891484736, - 14826135891825808831, - 11549230895707740212, - 7057639992295844200, - 12509991807241740758, - 13782966373033848022, - 4247044264164014549, - 11282565779733517522 - ], - { - "siblings": [ - { - "elements": [ - 9607913014414087882, - 16749276763518935099, - 526519651876185414, - 3008145323161342498 - ] - }, - { - "elements": [ - 3411125550766046858, - 1070334520468263174, - 5863814982093191350, - 13989084759919523301 - ] - }, - { - "elements": [ - 10372465254081044056, - 6905103620897861931, - 17991297361047432929, - 8206260190221600237 - ] - }, - { - "elements": [ - 10537826799806837523, - 17608408856127252765, - 17112503669541854860, - 14828015845269383958 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 18304382186168129538, - 1199671584443663884, - 18387321722830942059, - 1576904912166386477, - 8109105854793732513, - 16424669337518416172, - 15337937342136579442, - 3377161070788809214, - 2153944151541785829, - 4612126312685039897, - 7984456552578067261, - 4885778095902574197, - 1711378269834722014, - 11005723258602014234, - 23400698804574296, - 5478601477041823379, - 8162648708043913466, - 16735979953704273662, - 2646916171906253070, - 13747922601350421927, - 13760617442858660506, - 7023278326707596594, - 846031243654230198, - 14046930982960630680, - 10530557809492166878, - 11807295138715397431, - 1962844319661418288, - 4839955939131930858, - 1561236254043045060, - 10752561665130932108, - 800822528672002435, - 977785132247487363, - 2554140254083667914, - 17204431931708472354, - 7897333902487642392, - 7081381620783104480, - 2313591011348970879, - 3914005779674319711, - 14483837059215140763, - 17431383717566056420, - 9718405513715460106, - 616777940957662607, - 18341792321811058366, - 5006099273519146540, - 13611246098229981118, - 15139502388632288859, - 13415208102479174515, - 71649809310996037, - 2507272979226187401, - 6780404417824101387, - 7581916313425106812, - 6668704470237567657, - 9183628496772847562, - 13096769794450499971, - 4911008813050048082, - 1411358202565815572, - 12977693645535040542, - 16603116694786855607, - 14618315080461888752, - 12095380172044685836, - 4183736358597059263, - 6342898946627709285, - 15111441404001291614, - 3535962639572379433, - 12497523663837782088, - 7366579307507039797, - 9915900972122056240, - 12062036344873792838, - 7350089942585315579, - 12674867745872001921, - 15932945625440917595, - 5028451406538858529, - 12441442944405797140, - 17926138108674738879, - 14853901928248390208, - 7405218610541187707, - 3459715142486796872, - 8733047678840857867, - 1597222015948098661, - 10002139576203031258, - 4680329889790915847, - 7673486101026095136, - 7166822428919160722, - 14203919088559752449, - 8472119875680161464, - 8597394948413804328, - 10981974615387620303, - 8907672206595829988, - 10566295262816460192, - 14420301970277821067, - 9529493606982296308, - 15633340754429581670, - 5570131774170358305, - 11901594526443779010, - 13782800862738999556, - 11468409669076955390, - 13123199980417499773, - 8934467771129367175, - 8679216726990721121, - 3568811605019848932, - 13903261973962040011, - 15022807003053192154, - 16611550743675408962, - 18093794197792045488, - 16317984932127717649, - 1564952999051961153, - 1677206945427177764, - 8266587055663325970, - 4402238409973770983, - 6750632330070755519, - 3983480526428263089, - 470459878159009503, - 3948194612004234803, - 14409990934994317098, - 14563711807711366017, - 15668632206931851459, - 9090843935102535579, - 12537902280507003414, - 8649915025561944803, - 7636448796096922115, - 13529056624038140746, - 14293760705190413331, - 5996187843432086386, - 13286805463234775749, - 11779558789933064784, - 2152624076401113959, - 5436880570866721208, - 7325474603776593893, - 10188981833240658730, - 3943999252041551922, - 6041046360059984660, - 1411513330132515682, - 13622684589712805427, - 5580258173511538909, - 1439699310285265579 - ], - { - "siblings": [ - { - "elements": [ - 6701133015931812601, - 832786561116891241, - 11222174377839052635, - 9532185620909151485 - ] - }, - { - "elements": [ - 12030444363549604034, - 12964146158854607267, - 16164823262845262808, - 12996697234489226037 - ] - }, - { - "elements": [ - 13595810542050842416, - 14500620418822106622, - 7201023203880472125, - 5961826723029055186 - ] - }, - { - "elements": [ - 4728552037502063878, - 17543675288385102632, - 9449846599039641620, - 3703673035873117209 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 9721764149143367987, - 2276889289003522204, - 2932994613318574220, - 1607548432685804749, - 1607548432685804749, - 16358045780506151222, - 16358045780506151222, - 16358045780506151222, - 16358045780506151222, - 16358045780506151222, - 16358045780506151222, - 7379988174748152651, - 13812196977721051, - 13812196977721051, - 15029299784718434619, - 15029299784718434619, - 15029299784718434619, - 15029299784718434619, - 15029299784718434619, - 15029299784718434619 - ], - { - "siblings": [ - { - "elements": [ - 3414796410943781562, - 3910355093856643807, - 1349147218615293911, - 4391640415319839519 - ] - }, - { - "elements": [ - 7651202223818178177, - 14869404377279648332, - 9946776898405302099, - 13405691712704845176 - ] - }, - { - "elements": [ - 9706385999166460809, - 8529088340540711771, - 18321318408080087179, - 11999791853861912480 - ] - }, - { - "elements": [ - 7246665166177909275, - 14240893978276133359, - 10163752579741372732, - 9329618049248624584 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 1839341117781217486, - 16465970339206923701, - 6166429609280883296, - 10333679609679893303, - 9740347138918821789, - 2587170757814235170, - 0, - 0, - 6786057924835108497, - 15628667924094271919, - 10270623118526186609, - 7374254045235889206, - 12821127942954804360, - 415740857485315754, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 2839124365966972999, - 137368353571589216, - 5070906033045693992, - 4238605173225463983 - ] - }, - { - "elements": [ - 16066773204080436503, - 5572528502685661036, - 17725434968851859695, - 10617664327942993858 - ] - }, - { - "elements": [ - 12276141528457550615, - 9881415901634910925, - 1024975818816195379, - 14300307957061692651 - ] - }, - { - "elements": [ - 3744362079139765204, - 14833210501314585463, - 9405173137185040511, - 9718833844613418587 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 18159130462716439423, - 5329738684090448038 - ], - [ - 4616914590307470404, - 15224714999804582699 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 5728806953076906943, - 16540962594827179043, - 15181560650255477319, - 5519958367254709189 - ] - }, - { - "elements": [ - 11661851581098807204, - 17659342420766497825, - 16250014531971202297, - 1211809291332586474 - ] - }, - { - "elements": [ - 7801945876092050924, - 17641972652208767512, - 11239556109837885377, - 16315189946871964043 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 18014325648413885340, - 1942929599936291911 - ], - [ - 7858114888860830397, - 11919535273737012819 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 12188730944576219962, - 6068302197677870734, - 13683709592698495775, - 7794162675995433996 - ] - }, - { - "elements": [ - 219887164023662742, - 9848989959245015714, - 17807617814695188338, - 6415485607267671811 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 11737537313354014373, - 17564025438253118813, - 15466487016960294913, - 0, - 13004273865361443160, - 15984085713613764798, - 5885123700373687541, - 6717495853973949168, - 13829116025576528657, - 4570091831962778994, - 13543898754324868637, - 2573570933201158854, - 18014996532408111978, - 15424511310369277920, - 15737858825512023835, - 9516266717994392170, - 17301637681240966446, - 10430999352199259196, - 17676763257151061409, - 13056878383569923937, - 12119862692883041247, - 11052062572522951445, - 3577461730002322831, - 6595488040601675496, - 9274928145382559830, - 9584264809434165847, - 11749621457795407966, - 8460373926909518478, - 6951335266756482602, - 8729952891445550360, - 5769438031875099557, - 3492578084296528257, - 6001302520661113478, - 5115629505798625704, - 17362662471175795607, - 10858172881743063323, - 2220233894543105977, - 15541637261801741839, - 16557740485539271268, - 5223718982287392950, - 18119288806597166329, - 16154557229692658377, - 2401436191361102713, - 16810053339527718991, - 6989908960206527011, - 12035874582616520435, - 10464145800657305761, - 17908788396357387364, - 14681054358014205622, - 10533660159026517749, - 18395388904941871280, - 18087257918105593034, - 15930341010251645312, - 831922655274011258, - 5823458586918078806, - 3870721969597383000, - 8648309717767096679, - 5197935816125923790, - 17938806643466882209, - 14891182087780669537, - 12004554267391765154, - 10244903594084018794, - 16374092950344378595, - 3938186235923144239, - 9120559582047425352, - 8503684866088224501, - 4185561854373818544, - 10852188911202145487, - 2178346100756681125, - 15248422705296767875, - 14505238590004453520, - 9302949782958253035, - 9780416272464018282, - 13122681699004375011, - 18071795615372287793, - 15822104891118508625, - 74269821342054449, - 519888749394381143, - 3639221245760668001, - 7027804650910091686, - 12301144417541473160, - 12321034645131974836, - 12460266238265486568, - 13434887390200068692 - ], - { - "siblings": [ - { - "elements": [ - 939432061466263182, - 13236794775622370695, - 11549704945953834074, - 11946861816141787642 - ] - }, - { - "elements": [ - 6898143130689346212, - 17199483618840207804, - 8059501419025791847, - 251657334733026123 - ] - }, - { - "elements": [ - 16033761557882582254, - 5998203619987681571, - 1322443172339494215, - 7188306192978864592 - ] - }, - { - "elements": [ - 13160595601479011360, - 12672240760888984779, - 3719035680330481544, - 13069421092759503324 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 11432615259465638659, - 6114986684057878499, - 1202472365759485004, - 14676630948741302522, - 7206127315999068023, - 2766435120443290518, - 14114509589314057797, - 13308251592890103820, - 17783372386184394739, - 11970063764910968729, - 10146243688682636657, - 7837799060272774539, - 14131476234294710165, - 3494925356843431013, - 3651545064840444269, - 6137539876163573038, - 2552906529239927676, - 17751292785774072746, - 8976221116282670968, - 1016886439641402950, - 9332964138262564675, - 6628130784241807100, - 12210236433197166144, - 8989477848163295765, - 11755645582079735349, - 14573376882745150430, - 9648985199994479461, - 17198431561445836073, - 3528650546789814271, - 17756423689314676184, - 8850732502040275051, - 17175436681554590021, - 10835810625296162323, - 7901104166362681212, - 10444975051361622410, - 4370624531686613202, - 3447758715823255046, - 17687776451591845534, - 12126443969858660055, - 10978269343548505617, - 8022887818299622262, - 10315674477353647677, - 1195033041790089901, - 17556282740015669598, - 12696843211478850478, - 8042769029903366578, - 6168744219152317710, - 13736780616999149432, - 15384558608652415146, - 14698010616410179759, - 774303286706169103, - 831354065948250214, - 11917377896858733427, - 1585768193560632991, - 5341245197434199811, - 709975884563771225, - 1294395851976536518, - 11680306979045912607, - 5020565479302217744, - 9732335878558106919, - 3414881003803135275, - 3548547257387072544, - 13968450371464131905, - 1779939386298476324, - 11495860203364071916, - 5952714826907237861, - 12595020709401019530, - 15360494725021601269, - 3229071547473417562, - 8149084089282395798, - 7528533695591508964, - 15346646158163007583, - 13231201993254339384, - 6872327634009710609, - 15390845781922323396, - 1809596764186544347, - 2020627732006375181, - 4899859228177456300, - 8686031135177269575, - 9164172765889723689, - 9649392618156940516, - 8888169424125676691, - 14340701916779206477, - 7381421810337721248, - 245602993253781149, - 9507565843262198991, - 18057097319248606643, - 17161669219460428173, - 3323602388537713126, - 16331498702635974377, - 15256390224233234718, - 4203162210624402112, - 12068873636417225034, - 13302356564945102831, - 13740194094791260515, - 8209959907131494973, - 14512669639584360222, - 12893109067705009034, - 14292598710629254303, - 18003436906641182346, - 6371982972840799809, - 2132069176204829893, - 2414712157239088992, - 1204722030346168561, - 3727275268643567070, - 15827222581697394824, - 5133437445421246573, - 5279993763336835719, - 3053565173930246778, - 612534484184807589, - 1791078146008113096, - 4322778576644445269, - 8638513661186093089, - 7205315944026766918, - 8381606076026132550, - 13996733760711956023, - 27659778446913413, - 10971262843405407964, - 3912796146168097822, - 14063870969024671242, - 420098085905607901, - 16970739287088425163, - 15536043578142145499, - 16295836102089129322, - 16146824164408991738, - 1719154641081810147, - 1863491164528321029, - 9978516559048198015, - 10775550499176000208, - 15421834592829488675, - 1438464949835978245, - 11357644735465307134, - 3609226071400499434, - 614503542004014767, - 74847088525547788 - ], - { - "siblings": [ - { - "elements": [ - 16392284983981629793, - 1458171967782280889, - 13124964351758638720, - 8644707900259713480 - ] - }, - { - "elements": [ - 16862826205758414088, - 17365171563000700507, - 2778597526802901455, - 7022017560209071627 - ] - }, - { - "elements": [ - 13011119096165257718, - 2229717442302710941, - 3852512177555875344, - 6877649820705440210 - ] - }, - { - "elements": [ - 9109621759816571599, - 7186661230729699208, - 17501545228116531813, - 17980106104985675006 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 5243277903639571388, - 9539944791047270308, - 15177505475275363046, - 11650539344047942627, - 11650539344047942627, - 17206674304112573244, - 17206674304112573244, - 17206674304112573244, - 17206674304112573244, - 17206674304112573244, - 17206674304112573244, - 964984308007596831, - 12624149726188853518, - 12624149726188853518, - 2347619202794127573, - 2347619202794127573, - 2347619202794127573, - 2347619202794127573, - 2347619202794127573, - 2347619202794127573 - ], - { - "siblings": [ - { - "elements": [ - 14993584871647608227, - 7884384704833285777, - 16819157241207688344, - 18368233422048452220 - ] - }, - { - "elements": [ - 16231003840403809720, - 17826736562237651200, - 7862789571601863196, - 13135618670176239078 - ] - }, - { - "elements": [ - 9310736562547647200, - 12991070105402971921, - 4159679471614407586, - 16808576331196320669 - ] - }, - { - "elements": [ - 11917520989541884801, - 12176008538048200789, - 796774948728261901, - 8970810179898673763 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 3008961124155826469, - 176931281995171237, - 7587581318606296728, - 4337471282106696233, - 556543255732288332, - 14809958033578427926, - 0, - 0, - 13677439203043304434, - 14645271120503345011, - 5988448968686443802, - 18301135367397448258, - 6444903457780858815, - 13131050845910548516, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 1956294485566238037, - 13748480938489987753, - 16658387022644834013, - 8024862603259482517 - ] - }, - { - "elements": [ - 3968294804790748479, - 3501964556333234944, - 15257442183439913115, - 4996334395202293352 - ] - }, - { - "elements": [ - 61206485670393186, - 17273211747674273049, - 6476657450688617827, - 18408917655663831191 - ] - }, - { - "elements": [ - 5395522159208239280, - 18236460515046100445, - 4511550152166545452, - 16391573326493841224 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 2023694044582824056, - 7864154336609627098 - ], - [ - 370945041153419515, - 6577611461119646052 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 3278214581974644877, - 9849450378382689630, - 1120070849816236999, - 18324158469864956189 - ] - }, - { - "elements": [ - 10416979000204362991, - 13819392939372379945, - 13442423679486088252, - 6825137400615847456 - ] - }, - { - "elements": [ - 5448429052653394718, - 11633326550950242758, - 6952130812394530383, - 14075927019534753994 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 7823622664770052212, - 8109957691560705278 - ], - [ - 18048817872504663525, - 5752507182112599452 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 8385515338749814822, - 17600470627921200470, - 17486925198524900915, - 14708738315166688581 - ] - }, - { - "elements": [ - 5205107134296034895, - 501485131006963676, - 7685783193611403496, - 8987285512752761082 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9087019398387188161, - 136067865576816960, - 13831608058012238273, - 0, - 9939784822657886078, - 15408500582457150573, - 7582309660075229216, - 6983433490982521448, - 10190926158659416103, - 15996250902372159758, - 1293291900117612380, - 9053043300823286660, - 8031070897519253657, - 877264074391022636, - 6140848520737158452, - 10008281471728953239, - 5969570220204550721, - 4893503402602686405, - 15807779748804220514, - 18420737894556621993, - 15677444815124044420, - 17508393358795389335, - 11878289095080219419, - 9361047387903198649, - 10187099507078637580, - 15969464341306710097, - 1105785972659464753, - 7740501808616253271, - 10770198614422806768, - 10349707233904723859, - 17107718429089314050, - 9073564587137692424, - 8174719901720094005, - 1882807103796905072, - 13179649726578335504, - 23827738975426923, - 166794172827988461, - 1167559209795919227, - 8172914468571434589, - 1870169071756289160, - 13091183502294024120, - 17851308238399831556, - 14278693252311314966, - 7717132419106283157, - 17126438794914813457, - 9204607147916188273, - 9092017827169564948, - 8303892581943201673, - 2787015865358658748, - 1062366988096026915, - 7436568916672188405, - 15162494277876150193, - 13903739598060129746, - 5092456839347986617, - 17200453806021321998, - 9722712225661748060, - 12718753371388483457, - 15244297322061046915, - 14476360907354406800, - 9100806004407925995, - 8365409822611729002, - 3217636550038350051, - 4076711780853866036, - 10090238396562477931, - 15291436567693592554, - 14806335626782226273, - 11410629040402662306, - 6087427005160298858, - 5718500897292923364, - 3136018142221294906, - 3505382926134480021, - 6090936413526775826, - 5743066755858262140, - 3307979152178666338, - 4709109995836080045, - 14517025901437975994, - 9385460962992910353, - 10357994532706619508, - 17165729520702583593, - 9479642228430579225, - 11017263390770301612, - 3333867457733774000, - 4890328134721833679, - 15785552873638251432 - ], - { - "siblings": [ - { - "elements": [ - 1637011938216580167, - 2913251152556179016, - 2054001670212940282, - 12321128811321713222 - ] - }, - { - "elements": [ - 15675335995886535351, - 3847611915401854590, - 5454315641800647189, - 7883072348836658174 - ] - }, - { - "elements": [ - 10435972124049137119, - 12547143415651394014, - 2102481000947518641, - 6940543928013072299 - ] - }, - { - "elements": [ - 7457068902407388738, - 4773292731147637108, - 1292139847039842012, - 10706839160529778429 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 17438753214567112362, - 86316051899227482, - 9176099341073033068, - 13410275608193155622, - 14414969601812788374, - 9420609724460560861, - 600350498280387317, - 10935817968422297717, - 580256927783555560, - 8311018894988816085, - 7172381295327330257, - 5423248095953087651, - 13575791629552390894, - 10388683613560447185, - 3421757324861650877, - 7029315922821618490, - 9091331010542259657, - 2378458311950743455, - 16860244309122276805, - 16709202463086804939, - 8235837239891298873, - 7957971878071764217, - 69450486317840789, - 14278426966211024806, - 12722186498890662861, - 3916008412394899936, - 6441581314580144386, - 2223747907243446282, - 14467175993521262271, - 18287669079539124060, - 948482346122042657, - 3928456911711904938, - 18085295145472077085, - 12313951206918379730, - 10291645261123011737, - 6597024880127201053, - 4294026919478274472, - 4908362840976042387, - 8902203295209045538, - 10631475559241119173, - 2050850735878897575, - 10190578721804053088, - 18155885585911035982, - 16672028994233803187, - 9455661224059183217, - 4815537882717509426, - 1252490036460732971, - 16634804126624757967, - 11174600897815001654, - 2601206051668356773, - 5121816062904739045, - 3348816035961902813, - 4656831714473064026, - 1008273594127413138, - 1442467183904167293, - 8843016614275668941, - 11071411933730896280, - 8072110465157444000, - 9393371628009133100, - 8327186757447358432, - 7763862050060693232, - 16943897032488478464, - 16317228028170527472, - 15419660711128065354, - 17831437542371074315, - 16890132196009872708, - 10977108085091554924, - 10166644744120193977, - 4657127249437849844, - 6460321719116541065, - 4897526225611509546, - 14014267487179850066, - 16471225314927487968, - 16043968416985455600, - 16428372763800117902, - 11536225822125538662, - 14614544526085486798, - 9291848216107781712, - 1495433487410499170, - 4744600215458171709, - 4821493978375329227, - 2399089009753842458, - 5659238205940232669, - 2692671749913223817, - 11588063257340390100, - 8990173916947739330, - 9120731079929227182, - 6847800336164988374, - 13539692794350768950, - 17874426925486952757, - 9988183297012274629, - 11197976691333205996, - 13965915123071848903, - 5482981961438769305, - 14206823464382422998, - 16551430384069618101, - 11007756415888548257, - 11793041316023981457, - 14132978375091633093, - 2187062101015149822, - 10785172326472235734, - 3806125197595225871, - 17006281464468495553, - 16896049857991911080, - 12380554274292986512, - 9643617192673081487, - 16915007463219204839, - 11149335013639227474, - 17224574613409425990, - 6171658943378089945, - 10898954281264360252, - 14153625735271595359, - 1586748975252863016, - 3212483501822795776, - 7748283582115034667, - 12210750994257494875, - 9962245406249206953, - 401120868433133620, - 10823838043269697337, - 7257768816249110854, - 17548404923521519395, - 3899711529943380515, - 3344558513097214340, - 13502204079460742047, - 6524881011590066864, - 17929762589542487377, - 3804125601115948283, - 13906924410460282416, - 12003330255150486228, - 17350390510552089880, - 5055040192458391466, - 12041206069518071454, - 13338173742137319801, - 5298510957111195666, - 8230440664739480512 - ], - { - "siblings": [ - { - "elements": [ - 10381810731548937049, - 12311754479000466158, - 3560795832492920181, - 10134454219768482513 - ] - }, - { - "elements": [ - 9302552907183381796, - 9422419756847684651, - 15085762523121987296, - 16592866256012523355 - ] - }, - { - "elements": [ - 4774985552487752805, - 18070473421183645244, - 1426836280372659207, - 6300063106822568666 - ] - }, - { - "elements": [ - 4039843142812945397, - 6279959376189748871, - 6998933480394684603, - 12512159597373145472 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 7509044705047804802, - 14537232390595165129, - 3746496736752894874, - 1274657509190303799, - 1274657509190303799, - 11139725703222221124, - 11139725703222221124, - 11139725703222221124, - 11139725703222221124, - 11139725703222221124, - 11139725703222221124, - 15441212416262055880, - 1036246876523983797, - 1036246876523983797, - 16872047186164184918, - 16872047186164184918, - 16872047186164184918, - 16872047186164184918, - 16872047186164184918, - 16872047186164184918 - ], - { - "siblings": [ - { - "elements": [ - 13646566619510644499, - 599417929312039231, - 9478849728486636773, - 11050569111464054351 - ] - }, - { - "elements": [ - 4642017619637341754, - 2013395111647727246, - 3214845714716013121, - 15203657994154621458 - ] - }, - { - "elements": [ - 11851305432216828571, - 402402749986155162, - 16287438738924382221, - 1341265575252675719 - ] - }, - { - "elements": [ - 1307761427862606925, - 12158354897706001241, - 10983117905814865730, - 11951096335189969739 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 5642158741726010934, - 13477430304765300452, - 13160543744533043912, - 2556175021815890971, - 2639439219407361414, - 2017176474685214345, - 0, - 0, - 4935699878546076944, - 12582636453454243207, - 16308668088838213836, - 17668398772489927805, - 972292074683276731, - 17208975732115206787, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 11080996263375814810, - 4247990350736799426, - 11553444809960042508, - 15128756509887401412 - ] - }, - { - "elements": [ - 4295999823824083978, - 1355426455090365212, - 3461599750300552505, - 18395217869376156187 - ] - }, - { - "elements": [ - 15416329865146108336, - 13294739752561994081, - 13295965101148390249, - 24762553123058570 - ] - }, - { - "elements": [ - 9942076103302792188, - 17580082504047989446, - 3747412748547960075, - 13949158100391960414 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 7378036732292405843, - 9901573688819216051 - ], - [ - 7673192160603851714, - 15990759534427967441 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 3211061011396336841, - 15400894782630226670, - 6977378682649115370, - 1322146640099508807 - ] - }, - { - "elements": [ - 8192405376918824656, - 14839647998106139578, - 8794391920946750580, - 15615885349015011779 - ] - }, - { - "elements": [ - 2289778720289295108, - 6550395058125398405, - 15886281708521700800, - 12814974594349733281 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 11720522968924656532, - 27223469353644281 - ], - [ - 14151917568350059205, - 13835241404319660449 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 3269604065529933446, - 18165374773020607630, - 4156092402330197970, - 14143834170067281421 - ] - }, - { - "elements": [ - 15775472259507101320, - 3747063615451822157, - 3735810013800471431, - 13997901585845156954 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 3054873761159047745, - 6168586784242648384, - 13838600403677063745, - 0, - 10669900595800532476, - 9175371297931299122, - 16899254659267710598, - 7589594028524469270, - 8878862211873514458, - 6811803274870848243, - 10789134785266769059, - 1736967219209046129, - 12158770534463322903, - 11324417463584923037, - 5483945967436123975, - 8844716094293718488, - 7842886615772362452, - 18006718171577368522, - 15366562784554073728, - 15332219144805594491, - 10629382707915783981, - 618702677752150583, - 4330918744265054081, - 11869687140440794246, - 9300833705427222438, - 9765603729746804103, - 13018993899983875758, - 17345981022228793022, - 9604752958491723531, - 1402842896139979312, - 9819900272979855184, - 13399069702615233325, - 1559767571233711670, - 10918372998635981690, - 2641634712793534546, - 44698920140157501, - 312892440981102507, - 2190247086867717549, - 15331729608074022843, - 15088386909445238296, - 13384988019043746467, - 1461195786233303664, - 10228370503633125648, - 16258361317188126573, - 3128064803829380085, - 3449709557391076274, - 5701222832322949597, - 3015071687431478537, - 2658757742605765438, - 164560128825773745, - 1151920901780416215, - 8063446312462913505, - 1103891978996641572, - 7727243852976491004, - 17197218832006268386, - 9700067407556372776, - 12560239644650856469, - 14134701234897657999, - 6709188297210684388, - 10070829941645622074, - 15155577383275601555, - 13855321335856289280, - 4753529003921103355, - 14827958958033139164, - 11561992359159052543, - 7146970236455030517, - 13135303516356044977, - 18160148336833977555, - 16440573941350336959, - 4403553172964852787, - 12378128141339385188, - 12859920711717359032, - 16232468704363175940, - 2946816514054725654, - 2180971528968495257, - 15266800702779466799, - 14633884572383345988, - 10203471659610500311, - 16084069409029749214, - 1908021446720738572, - 13356150127045170004, - 1259330542243268423, - 8815313795702878961, - 6366964361676399764 - ], - { - "siblings": [ - { - "elements": [ - 4929547553003676977, - 8928549651273402934, - 16280764612404763355, - 6002687815520990886 - ] - }, - { - "elements": [ - 7883754434113852905, - 13381973571318719509, - 4418279758921371727, - 6740129358419892493 - ] - }, - { - "elements": [ - 10435972124049137119, - 12547143415651394014, - 2102481000947518641, - 6940543928013072299 - ] - }, - { - "elements": [ - 7457068902407388738, - 4773292731147637108, - 1292139847039842012, - 10706839160529778429 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 10120882337182760863, - 7136777841812639566, - 16649570171056711223, - 5837871266349590884, - 5143279432933313860, - 16617934731540283525, - 13891116677644584604, - 10733357897471395475, - 17893256524691626776, - 13268520730970064844, - 6914570008210059234, - 1053434952197313954, - 3945964209563036445, - 7978513488912190354, - 4873824246632921856, - 5292958328415812270, - 9729989328186775631, - 4057046443531375875, - 15940597806394813232, - 7472185328176182431, - 16494890411139475969, - 13684104377905269220, - 17151889624348453156, - 280521222079204117, - 5542597722942181424, - 3279150705976494475, - 9974763893927474874, - 11040616371334738702, - 16713345237523041494, - 16206926832258751381, - 8008148208857755762, - 14406317480571423636, - 12744450201178942424, - 10155046184529396077, - 18056106301635068076, - 3815828061517204424, - 17538827856517813786, - 9996998534322692914, - 13693247497899457477, - 17654678459919806170, - 14897770673177730494, - 6301729267709518148, - 15225602011298378388, - 8002739342268942569, - 14407254008546982153, - 17700042560915983521, - 7646371499977962299, - 14199486155633702372, - 10843356196609958559, - 15735289981157105204, - 6018432036397179931, - 5733981375135900056, - 15055547275034678922, - 12187380335980774829, - 7071431032181406929, - 1370013187947109100, - 14609960331884211546, - 3841711455370509913, - 15634140432792235310, - 14527677021652655435, - 15532198794012699020, - 15347578691174724559, - 17614003501378490963, - 16490807620656258740, - 7423464914446256869, - 8340606629329029170, - 4185515866399778118, - 15421279996336026581, - 539198751255906021, - 15173044366954383121, - 1049209899098532548, - 4099809708290495719, - 6361447054731375444, - 17806976591945556891, - 14782554570855889175, - 7337041893062116711, - 17377803997766915896, - 2987008315776132401, - 17484514486976775121, - 3921521985152661975, - 6313968182010868016, - 11775329921179060274, - 12565926097211433263, - 11134687818498416809, - 6633457457701279634, - 18214068330215061537, - 4905485688495826547, - 778797811701982494, - 16848552964428669766, - 13035049412134458791, - 13145845424487568642, - 13608657684892599398, - 14417041941206642791, - 8038776530412459765, - 11378386702763272055, - 14529197298844994121, - 7334344784744189014, - 18312774457942156937, - 13648328966411079508, - 15238907845472700489, - 8767673069519807963, - 18084218231022572631, - 14389275161198391061, - 12161525202542185159, - 10369133266701489067, - 6710768485640979312, - 8821124613436419230, - 6443893517260439118, - 6564223773126872513, - 7504689858617236789, - 10431975722124133298, - 11710004113020323961, - 7912650318768076512, - 36394513668890827, - 8231043292713789575, - 18182245974104436261, - 8038721386338825442, - 12807958533676026173, - 4697368533757058651, - 12263153244554022861, - 13012906549181089122, - 9502687798074278038, - 2183722133269998663, - 13754190734199458952, - 11749106595344785132, - 5857818741487583330, - 2038417651212123029, - 17120474810485614885, - 17785737300663116515, - 8371655170520920997, - 11989725838452834582, - 1281032721702322306, - 13392230315835570973, - 18136631819838268733, - 12226892444614474859 - ], - { - "siblings": [ - { - "elements": [ - 14428038931512883755, - 4144546747143363533, - 16421688737644406156, - 15099302889682559945 - ] - }, - { - "elements": [ - 4801498842720637328, - 13033398339572081164, - 3641731933354808477, - 14174322712306651029 - ] - }, - { - "elements": [ - 4774985552487752805, - 18070473421183645244, - 1426836280372659207, - 6300063106822568666 - ] - }, - { - "elements": [ - 4039843142812945397, - 6279959376189748871, - 6998933480394684603, - 12512159597373145472 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 11139725703222221124, - 16872047186164184918, - 1692171012221062428, - 8987488203624219448, - 8987488203624219448, - 2179895989406113572, - 2179895989406113572, - 2179895989406113572, - 2179895989406113572, - 2179895989406113572, - 2179895989406113572, - 6669059476852855472, - 3297449874165134346, - 3297449874165134346, - 17952820120253414373, - 17952820120253414373, - 17952820120253414373, - 17952820120253414373, - 17952820120253414373, - 17952820120253414373 - ], - { - "siblings": [ - { - "elements": [ - 2388079288397024951, - 16256899590904496448, - 7155089433651186967, - 16321691872624390404 - ] - }, - { - "elements": [ - 18174729102840879408, - 11495022708939183807, - 15603510039693429846, - 13568398556622052990 - ] - }, - { - "elements": [ - 11851305432216828571, - 402402749986155162, - 16287438738924382221, - 1341265575252675719 - ] - }, - { - "elements": [ - 1307761427862606925, - 12158354897706001241, - 10983117905814865730, - 11951096335189969739 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 15666753708722196167, - 4159194890415856607, - 17091974489114713841, - 6064411789674987732, - 6244907490137054722, - 1930866435768644642, - 0, - 0, - 15413593899832900653, - 8038223184276578478, - 5641161372694605320, - 2773013159374271474, - 15629506812715326720, - 10978385437988806021, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 4093653873060021841, - 3241160773497591400, - 6436108077662989643, - 13523740118415290361 - ] - }, - { - "elements": [ - 17602649862780401355, - 17781533359941648030, - 16519563222476942984, - 12318188958381123512 - ] - }, - { - "elements": [ - 15416329865146108336, - 13294739752561994081, - 13295965101148390249, - 24762553123058570 - ] - }, - { - "elements": [ - 9942076103302792188, - 17580082504047989446, - 3747412748547960075, - 13949158100391960414 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 3211061011396336841, - 15400894782630226670 - ], - [ - 6977378682649115370, - 1322146640099508807 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 7378036732292405843, - 9901573688819216051, - 7673192160603851714, - 15990759534427967441 - ] - }, - { - "elements": [ - 8192405376918824656, - 14839647998106139578, - 8794391920946750580, - 15615885349015011779 - ] - }, - { - "elements": [ - 2289778720289295108, - 6550395058125398405, - 15886281708521700800, - 12814974594349733281 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 11720522968924656532, - 27223469353644281 - ], - [ - 14151917568350059205, - 13835241404319660449 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 3269604065529933446, - 18165374773020607630, - 4156092402330197970, - 14143834170067281421 - ] - }, - { - "elements": [ - 15775472259507101320, - 3747063615451822157, - 3735810013800471431, - 13997901585845156954 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 8933603534896889857, - 1821072733476990976, - 13890219542975348737, - 0, - 1604751568622559641, - 11102624538121787666, - 12736281700587663142, - 9870879661295147524, - 839737967076442112, - 5878165769535094784, - 4253672247916494846, - 11328961666000879601, - 5515755384347819923, - 1716799551605570819, - 12017596861238995733, - 7457264856482502891, - 4452590943112168480, - 12721392532370595039, - 15262771448935827989, - 14605679795477874318, - 7131333405929524749, - 13025845702677504601, - 17393943641084194923, - 11077141071101858535, - 3753011220054672461, - 7824334470968122906, - 17876853157947691700, - 14457507689146335974, - 14730061406475756237, - 7441602130416258528, - 15197726774084641054, - 14150367071519565773, - 6818849153564038806, - 10838455936119103000, - 2082215275175383716, - 14575506926227686012, - 9794828136520880479, - 13223564747402410390, - 331232884743951125, - 2318630193207657875, - 16230411352453605125, - 2932415050687729949, - 2080161285399525322, - 14561128997796677254, - 9694182637503819173, - 12519046254282981248, - 13846347502322531452, - 4690712169184798559, - 14388241114879005592, - 8483967457080117539, - 4047539991317069810, - 9886035869804904349, - 13862018880390577480, - 4800411815661120755, - 15156138640213260964, - 13859250134419905143, - 4781030593866414396, - 15020470087650316451, - 12909570266479293552, - 16580015587696717580, - 5379644697389517134, - 764024742897451296, - 5348173200282159072, - 543724263145944862, - 3806069842021614034, - 8195744824736713917, - 2029981564913244456, - 14209870954392711192, - 7235376333676056739, - 13754146196903228531, - 4045303031249678112, - 9870377149333162463, - 13752407837088384278, - 4033134512545768341, - 9785197518405794066, - 13156150420596805499, - 18306076666519301209, - 17462072249147602537, - 11554041327545711833, - 7091313015161645547, - 12745702967302350187, - 15432944493458114025, - 15796891107133876570, - 18344517402864214385 - ], - { - "siblings": [ - { - "elements": [ - 11469913022106379562, - 13380681679498339819, - 15115282009412210286, - 14063737733342907094 - ] - }, - { - "elements": [ - 1486822417440846891, - 14434111569153806812, - 31987062791375804, - 1392670227934390207 - ] - }, - { - "elements": [ - 8661820250160828465, - 14630979731310424406, - 6115260044463631188, - 14740873373190630016 - ] - }, - { - "elements": [ - 10537826799806837523, - 17608408856127252765, - 17112503669541854860, - 14828015845269383958 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 4632582460064348913, - 1560238701189698873, - 16255446189350743167, - 1678862080419387776, - 11617827564436947924, - 16026590570938438880, - 5758553324747230992, - 14609940983786859513, - 8117630410953040162, - 8467934511279859939, - 15358262182884271249, - 1119831088334193005, - 10728701518234448784, - 6904554157754429915, - 12215890997601303773, - 13581714082295117978, - 12411260189552179315, - 13419888699203755244, - 4159588916698360849, - 15207529215229220912, - 1824580452246819168, - 15049826452258175338, - 5044904633768573761, - 18379165539908174433, - 9807552701645854753, - 9843397827083227194, - 1572869950193838029, - 15611787014912585818, - 10125009056371755231, - 17989738446155802654, - 4494885972218511376, - 17601940534362659221, - 7918198401511571380, - 6600106415643169744, - 13920926179745604425, - 17092619070196848327, - 7820888535426287874, - 510579890904018780, - 13678753363604229799, - 7680227635382683849, - 13525484764846966882, - 6680317490970474701, - 14861011241885874269, - 9443843992389793147, - 975778022848261957, - 5317952014889227846, - 5602559012704704205, - 9863829287066610503, - 16870272061055896928, - 603017176799869905, - 5289865756689688286, - 3877363295381900519, - 9727970424099830233, - 15086516089965660443, - 1116495291493867662, - 397734900822117091, - 15652960967045800201, - 10314299453630382502, - 16430064925737594501, - 1211244660928741582, - 17824658902429881846, - 13692312462055522003, - 15890827018019668281, - 17584628370762407288, - 13337681487214394155, - 6178124802462277955, - 12326836352691271953, - 9601940349261213925, - 2837144958059834150, - 14352890060868454252, - 1396949059970074998, - 6075799171795207990, - 8751182308145224182, - 6404605223936028636, - 7195346900463240625, - 17456468183712381332, - 12808857723985898537, - 17851221658231059464, - 4488638187348821207, - 10335561836656133691, - 9702864814092082865, - 15279472076553094654, - 6307782118863720593, - 311883177874878500, - 11283651195139847274, - 13412746873321390502, - 8431919023066354714, - 15545284999047336288, - 13921633475151393884, - 15569809950684990475, - 10886479110412788700, - 3003093438670560608, - 12869751325565726875, - 8774404161265136220, - 10994837382923300952, - 9895863079865052879, - 12186408299027829912, - 16176363389243733181, - 2726200794503976634, - 8882628995065976598, - 8541106861532618723, - 76577792898401598, - 11963482147437815673, - 13623112507044713385, - 6654637094214451734, - 13790600633938297990, - 7263595408443649515, - 559275330634672051, - 13935716761932523014, - 16627919123241688123, - 10640107978396640898, - 17979315093630081752, - 11488995432729754010, - 2125557062852829221, - 14929572638976257181, - 6510600554963863891, - 8233542485702493659, - 15829175721883893129, - 1087929980548785610, - 4028221594495139624, - 8947173018062374344, - 17338208067360128283, - 6139272769529814124, - 8140156716286766997, - 1593328233140504938, - 12175617447499553081, - 18135153602922484783, - 14154676011913013968, - 12323546520771190844, - 14646669239762859631, - 160322032126215752, - 428800519079217687, - 12167601606625909224, - 14020328015644129222, - 8894041451480139914 - ], - { - "siblings": [ - { - "elements": [ - 2382276106063906849, - 1208801630900967103, - 1536805773454851966, - 15666264614119499019 - ] - }, - { - "elements": [ - 537229651551319925, - 16180797265503668838, - 6313274743718425516, - 16310470328712798729 - ] - }, - { - "elements": [ - 8645727737179351403, - 13490291115062667427, - 17598730766968454867, - 7687159043877417760 - ] - }, - { - "elements": [ - 4728552037502063878, - 17543675288385102632, - 9449846599039641620, - 3703673035873117209 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 9639287531355119910, - 7884437494993747653, - 17003743775997492539, - 8186521531917458374, - 8186521531917458374, - 18244597934348071173, - 18244597934348071173, - 18244597934348071173, - 18244597934348071173, - 18244597934348071173, - 18244597934348071173, - 14922839644831750181, - 12117900955462700336, - 12117900955462700336, - 9529145007848526954, - 9529145007848526954, - 9529145007848526954, - 9529145007848526954, - 9529145007848526954, - 9529145007848526954 - ], - { - "siblings": [ - { - "elements": [ - 2208690703621588700, - 15748900608729432517, - 8816801519980532129, - 13397050252429742777 - ] - }, - { - "elements": [ - 4956086120608859545, - 1500312585676796694, - 8503200523901283846, - 5578497719498198242 - ] - }, - { - "elements": [ - 2821788936851724139, - 2849318965741636954, - 8845803651892388112, - 6537293869195439794 - ] - }, - { - "elements": [ - 7246665166177909275, - 14240893978276133359, - 10163752579741372732, - 9329618049248624584 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 17544966259077737372, - 16989026079946588829, - 5860946846020904840, - 2946144538686178777, - 13865202501662639093, - 15322780289392386197, - 0, - 0, - 3785709473389612284, - 12322117615908196004, - 13594208107963808829, - 15520885868988317558, - 12311328113099843151, - 9269514040477984547, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 13477129506950077789, - 8768043545590156851, - 11521729224015976669, - 7389984512398048262 - ] - }, - { - "elements": [ - 8355895066702810129, - 15782292580801568015, - 12878317635887875212, - 5528362950190993821 - ] - }, - { - "elements": [ - 17422521895774696576, - 9673181293534008918, - 16171458598332928176, - 2805956817828995250 - ] - }, - { - "elements": [ - 3744362079139765204, - 14833210501314585463, - 9405173137185040511, - 9718833844613418587 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 1810820628463336182, - 13992417576087198451 - ], - [ - 9314035016885242889, - 14812781303290989932 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 1624020511539155763, - 11843336222156322987, - 12490792430053974934, - 1966839544442407599 - ] - }, - { - "elements": [ - 7573961714612000675, - 9189988355602915457, - 13901074018574044591, - 3463337465449951804 - ] - }, - { - "elements": [ - 7801945876092050924, - 17641972652208767512, - 11239556109837885377, - 16315189946871964043 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 12188730944576219962, - 6068302197677870734 - ], - [ - 13683709592698495775, - 7794162675995433996 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 18014325648413885340, - 1942929599936291911, - 7858114888860830397, - 11919535273737012819 - ] - }, - { - "elements": [ - 219887164023662742, - 9848989959245015714, - 17807617814695188338, - 6415485607267671811 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 15412558721192859073, - 12257468880824548033, - 13838411837374223809, - 0, - 17283269596521142199, - 139274889857491276, - 9051301686566066751, - 7995471546563191080, - 11595346114788277978, - 7380446525859608562, - 14769637542188091292, - 11153742448243717439, - 4289220860047684789, - 11577801950919209202, - 7257637378776127130, - 1532378279794498358, - 17234954012992421509, - 9964213674459444637, - 14409263512972359496, - 8631124243733594867, - 7817361361498800340, - 17828041391662433738, - 14115825325149530240, - 6577056928973790075, - 9145910363987361883, - 8681140339667780218, - 5427750169430708563, - 1100763047185791299, - 2046319498179913290, - 17043901173274605009, - 8626843796434729137, - 5047674366799350996, - 16886976498180872651, - 7528371070778602631, - 15805109356621049775, - 18402045149274426820, - 18133851628433481814, - 16256496982546866772, - 3115014461340561478, - 3358357159969346025, - 5061756050370837854, - 16985548283181280657, - 8218373565781458673, - 2188382752226457748, - 15318679265585204236, - 14997034512023508047, - 12745521237091634724, - 15431672381983105784, - 15787986326808818883, - 18282183940588810576, - 17294823167634168106, - 10383297756951670816, - 17342852090417942749, - 10719500216438093317, - 1249525237408315935, - 8746676661858211545, - 5886504424763727852, - 4312042834516926322, - 11737555772203899933, - 8375914127768962247, - 3291166686138982766, - 4591422733558295041, - 13693215065493480966, - 3618785111381445157, - 6884751710255531778, - 11299773832959553804, - 5311440553058539344, - 286595732580606766, - 2006170128064247362, - 14043190896449731534, - 6068615928075199133, - 5586823357697225289, - 2214275365051408381, - 15499927555359858667, - 16265772540446089064, - 3179943366635117522, - 3812859497031238333, - 8243272409804084010, - 2362674660384835107, - 16538722622693845749, - 5090593942369414317, - 17187413527171315898, - 9631430273711705360, - 12079779707738184557 - ], - { - "siblings": [ - { - "elements": [ - 16000605024346655058, - 7980291794148665912, - 15146716640729991760, - 16246170879219831670 - ] - }, - { - "elements": [ - 7883754434113852905, - 13381973571318719509, - 4418279758921371727, - 6740129358419892493 - ] - }, - { - "elements": [ - 10435972124049137119, - 12547143415651394014, - 2102481000947518641, - 6940543928013072299 - ] - }, - { - "elements": [ - 7457068902407388738, - 4773292731147637108, - 1292139847039842012, - 10706839160529778429 - ] - }, - { - "elements": [ - 12206183231278049340, - 18415534885126730225, - 17977613489604968704, - 11228911566611355447 - ] - } - ] - } - ], - [ - [ - 5279225822564944072, - 3395622641548306126, - 4635630175811627617, - 12206080227931058948, - 8648787273121544811, - 1682988208908135153, - 11734875508235114987, - 3679791579514691077, - 4995021043501359773, - 3929545129871398187, - 10965120450864432624, - 6902069069750386749, - 4497917891789158525, - 17134496857534944226, - 16837218986432771686, - 3558478374272422966, - 8903489250397381864, - 3520603373719835022, - 16235875770483462671, - 1907414577144930376, - 16172140319521204649, - 13419681941562546851, - 13975217328382004738, - 16768368746134519052, - 2487397193515761223, - 13449247305879926550, - 16495491353416107536, - 14225251717149000266, - 7342878691437190836, - 10163478870242011133, - 1296488144399915470, - 13645078458795376899, - 2076669429788864802, - 4596949353791796924, - 13494287819894880667, - 5450086111345175700, - 12311486724999037512, - 1597443500550811887, - 7789112881752240003, - 2426926922885450976, - 17208256328648354863, - 1924459778323781751, - 2570184685683734373, - 6351913899002905787, - 678428653536872503, - 5849565837201062288, - 3551239617048244280, - 13919990459939689933, - 15283215455690262161, - 5420627411327650587, - 5341409153975022630, - 1781434232838933981, - 14469220745735326290, - 8885567228368632837, - 448313839559611722, - 14511584805071041536, - 16780297623875414255, - 5817738795129816877, - 2263609022334608369, - 4686084569839572184, - 10951705365980745484, - 18088484042986829960, - 18115623083987252241, - 16844595120065796228, - 3715100472396243820, - 2010563150062987871, - 3384640796130567973, - 7337769896172839599, - 7328882870422048819, - 18003930135128210552, - 18065315563768092714, - 15411788481753507191, - 16084688682659011040, - 2178903530674557708, - 12430111411473946810, - 10020997714852064253, - 1884701915779610430, - 18203316172524607839, - 11987018534676917088, - 211900629312018044, - 13946838881129218542, - 3766418740010760489, - 7846817616134473912, - 15524318163622786086, - 3199595375494095324, - 1907112651242209376, - 1800117459368608113, - 11643105893043154616, - 16611897286039267856, - 6703206899232604549, - 3336200497532850918, - 9393143512751677362, - 1292478390136831585, - 17991818027627877246, - 11968301314228776106, - 15977550706402313991, - 16155044986279034431, - 17793686249745345428, - 18155514867251126254, - 7905440349926675337, - 10514327265714786726, - 8539650736689225567, - 12302415059577654741, - 7091631513183799820, - 12193555192345034576, - 5997156441604214495, - 3566411340054251796, - 10749485213115983283, - 13877762441345522830, - 349915397105100415, - 9253601008644007864, - 7686004891283571507, - 2166109521816185756, - 7331710616698756004, - 8133356778334738175, - 3701780469217917902, - 7111002869947267134, - 6204602472289643856, - 5155160678544673956, - 4867679303667110556, - 9615542552346704676, - 12342065636853390670, - 3498360686562796649, - 14829684222233271228, - 4469355658983783880, - 12485511594331780139, - 5367739735717242347, - 12580351170627700080, - 7383038160715025267, - 5469946515268933592, - 8116058217308046329, - 3377474001051381131, - 1257100890767276870, - 11613293432449273442, - 11862229248150373539 - ], - { - "siblings": [ - { - "elements": [ - 6180154271432777542, - 5721851716012909229, - 17357425337880927401, - 12729454137197344472 - ] - }, - { - "elements": [ - 4801498842720637328, - 13033398339572081164, - 3641731933354808477, - 14174322712306651029 - ] - }, - { - "elements": [ - 4774985552487752805, - 18070473421183645244, - 1426836280372659207, - 6300063106822568666 - ] - }, - { - "elements": [ - 4039843142812945397, - 6279959376189748871, - 6998933480394684603, - 12512159597373145472 - ] - }, - { - "elements": [ - 909502685153273588, - 9495256084347627187, - 11443133897760444189, - 13026585085712935307 - ] - } - ] - } - ], - [ - [ - 3321120935334235166, - 14907561388939061685, - 4784982587269982124, - 15162530260661950217, - 15162530260661950217, - 7509044705047804802, - 7509044705047804802, - 7509044705047804802, - 7509044705047804802, - 7509044705047804802, - 7509044705047804802, - 15230973094735537136, - 124793774456340206, - 124793774456340206, - 14537232390595165129, - 14537232390595165129, - 14537232390595165129, - 14537232390595165129, - 14537232390595165129, - 14537232390595165129 - ], - { - "siblings": [ - { - "elements": [ - 1909767478043671939, - 2188708668672366502, - 13936390532288449586, - 1347831373052278539 - ] - }, - { - "elements": [ - 18174729102840879408, - 11495022708939183807, - 15603510039693429846, - 13568398556622052990 - ] - }, - { - "elements": [ - 11851305432216828571, - 402402749986155162, - 16287438738924382221, - 1341265575252675719 - ] - }, - { - "elements": [ - 1307761427862606925, - 12158354897706001241, - 10983117905814865730, - 11951096335189969739 - ] - }, - { - "elements": [ - 11412731673161899946, - 988568861064354097, - 994899639942736800, - 9348490040763448151 - ] - } - ] - } - ], - [ - [ - 14988786070109321678, - 12783086526859712026, - 15749611539210959185, - 13879862922607627183, - 1804579238718666218, - 11656024787727272025, - 18446744069414584321, - 18446744069414584321, - 15545300359200765484, - 1172926196645043550, - 3616635259821340376, - 7035571379923308942, - 14810201322300434692, - 2886825895962546334, - 18446744069414584321, - 18446744069414584321 - ], - { - "siblings": [ - { - "elements": [ - 18124105138915140497, - 12368949329401357505, - 18088877625317489804, - 11274443583172225819 - ] - }, - { - "elements": [ - 17602649862780401355, - 17781533359941648030, - 16519563222476942984, - 12318188958381123512 - ] - }, - { - "elements": [ - 15416329865146108336, - 13294739752561994081, - 13295965101148390249, - 24762553123058570 - ] - }, - { - "elements": [ - 9942076103302792188, - 17580082504047989446, - 3747412748547960075, - 13949158100391960414 - ] - }, - { - "elements": [ - 10360565485348674230, - 5328948234639797786, - 5523868745908180282, - 11892893663950842417 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 3211061011396336841, - 15400894782630226670 - ], - [ - 6977378682649115370, - 1322146640099508807 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 7378036732292405843, - 9901573688819216051, - 7673192160603851714, - 15990759534427967441 - ] - }, - { - "elements": [ - 8192405376918824656, - 14839647998106139578, - 8794391920946750580, - 15615885349015011779 - ] - }, - { - "elements": [ - 2289778720289295108, - 6550395058125398405, - 15886281708521700800, - 12814974594349733281 - ] - }, - { - "elements": [ - 18160944559008308147, - 6329721252475432013, - 4474369960196176003, - 8804354939522889793 - ] - } - ] - } - }, - { - "evals": [ - [ - 11720522968924656532, - 27223469353644281 - ], - [ - 14151917568350059205, - 13835241404319660449 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 3269604065529933446, - 18165374773020607630, - 4156092402330197970, - 14143834170067281421 - ] - }, - { - "elements": [ - 15775472259507101320, - 3747063615451822157, - 3735810013800471431, - 13997901585845156954 - ] - }, - { - "elements": [ - 17385988347371773406, - 10247782452845318837, - 13835324978684068648, - 8804999587459664452 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 16562708906487412460, - 10596947110445447446, - 13269451678678609921, - 0, - 6344490235231692403, - 11825094819974798037, - 8735254430068398959, - 5154186397770215428, - 4486441094772646540, - 12958343593993941459, - 16921428880299252929, - 7769537745607264577, - 17493276080421683397, - 11772468146464277853, - 8620300747591607687, - 5066530300645335424, - 7127725301625941183, - 13000588972552419639, - 17217146530208600189, - 9839561294972695397, - 16429135071674145211, - 4323481085231510551, - 11817623527205989536, - 8936388412783589468, - 7214486681241373313, - 13607918629860444549, - 3021710061950190238, - 2705226364236747345, - 14735668156872777280, - 3428883361698529658, - 5555439462475123285, - 1994588098496694353, - 13962116689476860471, - 5501096479265101692, - 1614187216026543202, - 11299310512185802414, - 5308197307642279614, - 263893014666788656, - 1847251102667520592, - 12930757718672644144, - 16728327753050171724, - 6417829854863696142, - 8031320845216704352, - 879013708273177501, - 6153095957912242507, - 6178183566556528907, - 6353796827066533707, - 7583089650636567307, - 16188139415626802507, - 2636511492900111623, - 8836380886197040, - 61854666203379280, - 432982663423654960, - 3030878643965584720, - 2769406438344508719, - 939100998996976712, - 6573706992978836984, - 9122460812022690246, - 8516993475915078759, - 4278722123161798350, - 11504310792718004129, - 6743199271367691619, - 10308906760744672691, - 16822115116968955874, - 7074341402295185192, - 12626901677237127702, - 14601335463001556630, - 9975627893937974805, - 14489163049322070672, - 9190420998181573099, - 8992714779027258730, - 7608771244947058147, - 16367910575800238387, - 3894909614114162783, - 8817623229384555160, - 6383130397448133157, - 7788424643307763457, - 17625484364325175557, - 12697926133788722973, - 15098506658862723527, - 13455826264966143084, - 1957063507690079983, - 13699444553830559881, - 3662391529740997562 - ], - { - "siblings": [ - { - "elements": [ - 13164615317592957606, - 7751306190608399614, - 1240229163233385534, - 10981995093945128454 - ] - }, - { - "elements": [ - 12352881917162426006, - 4630601668602176152, - 3978494118237336519, - 3467277792349400492 - ] - }, - { - "elements": [ - 8661820250160828465, - 14630979731310424406, - 6115260044463631188, - 14740873373190630016 - ] - }, - { - "elements": [ - 10537826799806837523, - 17608408856127252765, - 17112503669541854860, - 14828015845269383958 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 10395279328527255366, - 11578938747260174360, - 12629953103949484865, - 14392284474041869908, - 2337908725015595201, - 7227949713199533455, - 33505920094197166, - 12516708467956302090, - 9727802063407743944, - 2463982917171163951, - 12335372859339825120, - 9099085162072953439, - 6594658121010476974, - 14184550312262275788, - 7656912728853636888, - 12767564424140801182, - 8333889003132032918, - 15265637746783002225, - 2395956136889783629, - 788727185096539309, - 13641685183319763549, - 4576892486879837651, - 16099541737713571246, - 1628948231670282167, - 5035321521600450948, - 2348376641210999165, - 10437369681905575397, - 9841001515558231853, - 2553550302626062667, - 11785064461736653619, - 18158047115610962767, - 5744078171069790081, - 1345148058841028332, - 17584061389194487473, - 13522113072863375119, - 12244187716114009727, - 2657418134192115530, - 16216190057243001074, - 2904207907096779175, - 6925968884205880855, - 8340335971880865229, - 11180549723828693261, - 4559847859067734498, - 5729806145334469131, - 6491521046175270887, - 4642073524341529143, - 11904591346566058432, - 11877634317599027589, - 1847229408323108620, - 779469353587952713, - 5817332234186630901, - 17661567266612623337, - 16461738225990100669, - 4801667632239903079, - 3964372666562741208, - 8404535398242590063, - 1269611881640887208, - 10863671897489405792, - 125992894543057407, - 610281332300523083, - 15458399871569301321, - 7462540243347687730, - 12310308871660787904, - 16167451601950119797, - 3240356977156353449, - 17020706711428857482, - 8277339849742242917, - 15389114552679707300, - 11532256040125184576, - 17386927452090439570, - 12635011447782533130, - 16126745455088412951, - 10024463350895591720, - 2640091432963182240, - 13674541600155277501, - 6702376859762956400, - 6192227804586677400, - 13311153567886869782, - 14778373705297757244, - 12501653704301930500, - 7091889334411442402, - 2789547028246410510, - 3206481073380708232, - 2426469550115640083, - 13111003518268950213, - 5171176318493050641, - 13394693286219624702, - 1511741791431532549, - 7310297556823277309, - 5153570478764530603, - 2716665045389078191, - 17601801858736630243, - 17700464166535103499, - 14748976910073767953, - 5334555898455760689, - 4295544021157007811, - 13388157375313827318, - 17428348225193916063, - 12490692407647789099, - 5208678299120301711, - 16536678053304073556, - 6227890652791497280, - 3800637082750339584, - 8934930553342059981, - 2550777949419545870, - 8916621938262853185, - 16113343819749465079, - 13234416247428551009, - 9711719903242417540, - 7061948408930395874, - 2058732449439168930, - 14537079701694460205, - 3823643069391410743, - 15927211598629348125, - 12245569542973083378, - 11543220760427291169, - 6717183821985916898, - 5547581026032190845, - 11704905700217259759, - 5011372001937792832, - 12876017469386243854, - 6089236914849079906, - 13402221549323245564, - 17372075196314363093, - 2250079140528800344, - 17634333379971851972, - 17497949354992315326, - 15458909786470840316, - 10034399645431730613, - 12346615177433631577, - 9710811414423619976, - 5127239805249512358, - 14396601442268875198, - 2263729503966505130, - 13279434653442308353 - ], - { - "siblings": [ - { - "elements": [ - 7417003199425214579, - 14206043010084440199, - 4689175626145195498, - 14930395244117615227 - ] - }, - { - "elements": [ - 3473780385308851488, - 1502810072347762434, - 12172398654059660392, - 11978946158447891945 - ] - }, - { - "elements": [ - 8645727737179351403, - 13490291115062667427, - 17598730766968454867, - 7687159043877417760 - ] - }, - { - "elements": [ - 4728552037502063878, - 17543675288385102632, - 9449846599039641620, - 3703673035873117209 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 18244597934348071173, - 9529145007848526954, - 3851123296598607699, - 2920287784330907647, - 2920287784330907647, - 10523524896092849529, - 10523524896092849529, - 10523524896092849529, - 10523524896092849529, - 10523524896092849529, - 10523524896092849529, - 15022165902332508874, - 4694758474035891811, - 4694758474035891811, - 14571386630158177678, - 14571386630158177678, - 14571386630158177678, - 14571386630158177678, - 14571386630158177678, - 14571386630158177678 - ], - { - "siblings": [ - { - "elements": [ - 10642215428571593246, - 6971259261563097975, - 640012826927074142, - 15977169341725358801 - ] - }, - { - "elements": [ - 16848594274474357505, - 16577054501294106160, - 17321745799549682267, - 14504131837726763395 - ] - }, - { - "elements": [ - 2821788936851724139, - 2849318965741636954, - 8845803651892388112, - 6537293869195439794 - ] - }, - { - "elements": [ - 7246665166177909275, - 14240893978276133359, - 10163752579741372732, - 9329618049248624584 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 2030892324986169217, - 7952115841196942512, - 4563710382497520684, - 12305502630080858745, - 6776584004547960338, - 6863638139011887056, - 0, - 0, - 8760462735703525952, - 5925498640901273740, - 5357385403259924889, - 5802730028002463794, - 12504542474613831865, - 15564472233467116400, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 8720148974165315035, - 17305856742115060132, - 2040806479117950786, - 13217207948135417425 - ] - }, - { - "elements": [ - 13969312494544732842, - 9873269909253348632, - 5740434055134959870, - 7199236821299202800 - ] - }, - { - "elements": [ - 17422521895774696576, - 9673181293534008918, - 16171458598332928176, - 2805956817828995250 - ] - }, - { - "elements": [ - 3744362079139765204, - 14833210501314585463, - 9405173137185040511, - 9718833844613418587 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 1624020511539155763, - 11843336222156322987 - ], - [ - 12490792430053974934, - 1966839544442407599 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 1810820628463336182, - 13992417576087198451, - 9314035016885242889, - 14812781303290989932 - ] - }, - { - "elements": [ - 7573961714612000675, - 9189988355602915457, - 13901074018574044591, - 3463337465449951804 - ] - }, - { - "elements": [ - 7801945876092050924, - 17641972652208767512, - 11239556109837885377, - 16315189946871964043 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 12188730944576219962, - 6068302197677870734 - ], - [ - 13683709592698495775, - 7794162675995433996 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 18014325648413885340, - 1942929599936291911, - 7858114888860830397, - 11919535273737012819 - ] - }, - { - "elements": [ - 219887164023662742, - 9848989959245015714, - 17807617814695188338, - 6415485607267671811 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 9351657662303301864, - 18349982170398790081, - 13866581776278699352, - 0, - 7932071483727127696, - 1476463296298324603, - 8777501426321264334, - 5593451695874488781, - 12591238859250233080, - 14351695737093294276, - 8228149812580138327, - 2256816479817215326, - 15797715358720507282, - 18350287163970629369, - 17771545731306899657, - 8540493806446330172, - 9305883777027464166, - 9800954230948496199, - 13266447408395720430, - 631411511697121405, - 9700975265368192560, - 12566594649333594957, - 14179186267676827415, - 7020583526664870300, - 12250596547824923458, - 11967199557116126922, - 9983420622154551170, - 14543712146838105227, - 723730847428237296, - 11665620557312951925, - 7872367623532326191, - 18213085225897114695, - 16811132164792296939, - 6997460737058572647, - 12088737020580839887, - 10834182866407541925, - 2052303787194456191, - 14366126510361193337, - 8329165225455431754, - 2963924369944269315, - 2300726520195300884, - 16105085641367106188, - 2055135073082237390, - 14385945511575661730, - 8467898233956710505, - 3935055429453220572, - 9098643936757959683, - 8350275349061964818, - 3111695235190000763, - 3335122576915421020, - 4899113968993362819, - 15847053713538955412, - 248911578285181958, - 1742381047996273706, - 12196667335973915942, - 11589695074159074310, - 7340889241455182886, - 14492736551357111560, - 9215435512426859315, - 9167816378744262242, - 8834482442966082731, - 6501144892518826154, - 8614526108802614436, - 4961450553374548089, - 16283409804207252302, - 3303404212963260188, - 4677085421328236995, - 14292853879883074644, - 7816256812108600903, - 17820309545931037679, - 14061702405029757827, - 6198196488135383184, - 6493887278118513646, - 8563722808000426880, - 4605827447759235197, - 13794048064900062058, - 4324616107227512801, - 11825568681178005286, - 8992004490587699718, - 7603799225870145063, - 16333106442261846799, - 3651280679345421667, - 7112220686003367348, - 12892056663194402794 - ], - { - "siblings": [ - { - "elements": [ - 8390203617019574164, - 12910566646134172731, - 13366123011825469108, - 4784983928070674917 - ] - }, - { - "elements": [ - 18284170952837066010, - 281799156645162222, - 7086744332604910734, - 10722052766226690722 - ] - }, - { - "elements": [ - 5371689261270013807, - 17392246691669219395, - 12184553358600511112, - 12791358432524260063 - ] - }, - { - "elements": [ - 10806690000223166435, - 7954967506323812786, - 4138548784486448793, - 10154178816513826224 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 11528869685150872732, - 14025141696866465790, - 9818267695243013502, - 18043166846665978362, - 7158567838678405253, - 2924854157599208770, - 10386886493542553762, - 17988505013916059847, - 8529057747972177249, - 2808236301128868920, - 16792256685635140349, - 12648917781104089697, - 16906170074369809456, - 18175963466599761910, - 3002731065158754869, - 15332571869999773498, - 513730113188600769, - 4807830140356903660, - 13141835175536909516, - 1679001121023915028, - 16626243706711017155, - 12854978816356742991, - 6399410310211193044, - 8098059312868089187, - 12724046373710703453, - 6427813394801319364, - 8799382572735224581, - 16719007131701535000, - 13697774029406965934, - 11830459851593508070, - 2318294570039273748, - 445575309784676651, - 17285694194798751435, - 9981117149461018421, - 12695212303640997946, - 492259710001074683, - 6573553351315104400, - 1580495891704186874, - 4120787109017819887, - 1794879544222855460, - 1699577001254920510, - 3425598769607240625, - 7884591459123193105, - 2558287507470527245, - 1028719286055227541, - 5771792111751512061, - 15350348512202455963, - 12625572870010877251, - 14170833922698742693, - 2015473846198157510, - 8464553463126366345, - 8325045811596239913, - 1466385961087717872, - 9501477723016358270, - 12641233585972501404, - 11167369600952930592, - 2450082723540888995, - 12754126887828632712, - 10310208972164848729, - 12587430356986682787, - 13075747764317814933, - 7382379705828852555, - 14748878963491407947, - 11873353966694488767, - 17794170455298897284, - 6396366900385231467, - 10454676538393584353, - 3355864550312498004, - 2926853459057103534, - 8386414295033731611, - 14914885627590143061, - 3265058889665441499, - 2540540810660789099, - 6947859661239095323, - 11381891356838635533, - 17372496886697863550, - 2517780554237307362, - 14337383818188750766, - 2323728042959658153, - 1878394536701057456, - 3745952407315905146, - 16711156547463755990, - 1462628174010302944, - 3835877483088168042, - 15025537292375461155, - 16754670237665555810, - 2196059961397029715, - 14481709056266694333, - 17580441461301684207, - 1307753411511996109, - 18089210523346030922, - 14748612713375306926, - 10234393741523733839, - 7038258977353928358, - 8192665483315508474, - 293651636950913433, - 813348287215084259, - 15391638981493980847, - 2049782719703286224, - 8107695724834132412, - 7256272652715188998, - 7442530129025231435, - 12050297677036680346, - 12188742793142012888, - 1285242379472921839, - 3828820216853841947, - 6438327003778370004, - 7675490640744542418, - 13491016441561827230, - 1873050598358826955, - 15382432175618942995, - 6779078230121496015, - 396947284212650622, - 8497471810668367884, - 819812329524495382, - 11185276106962773221, - 14477067150987687986, - 15351085943534585523, - 6078568227261465838, - 9021953783538856849, - 16236900260285322530, - 15680138798651154141, - 5873777324612773487, - 7254668695550496206, - 6110268776495648192, - 5347842652623017251, - 4433178308329842936, - 13375926755529110775, - 8579348942826875232, - 5666913860481525230, - 7555266368791764951, - 12241881748120390352, - 17475997044564010620, - 3682597486751373462, - 12138586601356945855 - ], - { - "siblings": [ - { - "elements": [ - 4509253079011966780, - 3018343597288903285, - 10129811928968881856, - 11222421870442079150 - ] - }, - { - "elements": [ - 15553662681648483603, - 6311693474226634341, - 1603657648348039497, - 13744870235042541374 - ] - }, - { - "elements": [ - 9647289070221548241, - 17358470325720686782, - 5880978181065361246, - 3024132070608938447 - ] - }, - { - "elements": [ - 18068542140626307032, - 4355258260800683867, - 4216852198913689890, - 9908778413058407397 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 14067300006570744290, - 4537885483580440252, - 4412063990761783489, - 4504480658907675057, - 4504480658907675057, - 15273680699105912091, - 15273680699105912091, - 15273680699105912091, - 15273680699105912091, - 15273680699105912091, - 15273680699105912091, - 17207292682710505786, - 4941858543182882887, - 4941858543182882887, - 18257079870741845513, - 18257079870741845513, - 18257079870741845513, - 18257079870741845513, - 18257079870741845513, - 18257079870741845513 - ], - { - "siblings": [ - { - "elements": [ - 11632391229723235855, - 131815063065855069, - 5644830696283022600, - 15828417599515671854 - ] - }, - { - "elements": [ - 6620754737828817249, - 13697858195430891127, - 15753738613629117469, - 16798926236414643204 - ] - }, - { - "elements": [ - 12864706297767819814, - 12995755319066711512, - 3429469123448917812, - 2924577796276707634 - ] - }, - { - "elements": [ - 145427054560340303, - 14816750798629607344, - 4180175906610809805, - 3640562706259543449 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 9689222708601555428, - 576775113833194003, - 9870391182385953978, - 16365803383841336878, - 10576326124743751453, - 1516223410458925133, - 0, - 0, - 451588991942530381, - 7043159849539980166, - 9216256490136849418, - 10389747824353245253, - 13378701666253593437, - 17974128367664462629, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 3979720177896275784, - 15554875853550224478, - 13456571731820648348, - 2746157428187740143 - ] - }, - { - "elements": [ - 4593496725137493280, - 9732181012895319996, - 15610523264809557654, - 14254324876197319833 - ] - }, - { - "elements": [ - 3988501231198819935, - 17627254930987240577, - 6867241809373997096, - 2952122267360219605 - ] - }, - { - "elements": [ - 12811526413818622272, - 6785993692180923794, - 1100653735883361736, - 15401048698472078136 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 13611854445331712593, - 14170398827409919240 - ], - [ - 14502369776764105679, - 17072804820685478994 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 6938263586783916830, - 5475761653933753720, - 8633924847476558987, - 5896409343947767015 - ] - }, - { - "elements": [ - 9291012971660480050, - 2618114570569088151, - 12550651089893057207, - 3606524064960945665 - ] - }, - { - "elements": [ - 8284183084895194160, - 5829342604531927845, - 16971166008664998292, - 11699728344815154008 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 14412397339032168335, - 15798532326344121231 - ], - [ - 11460043198242547402, - 16510676616743767820 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 2588089115216973342, - 6893304834680000336, - 4837607352643158074, - 6969160038993304394 - ] - }, - { - "elements": [ - 12184998889475559148, - 14811997910098371392, - 13032553179532206176, - 2352684615002827561 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 5548934999585034244, - 4035225292950732793, - 18159013967832256514, - 0, - 15352939423479353070, - 15569969944759248356, - 4479299590910420955, - 2744800755325364979, - 16984224278270576641, - 8209105531406530561, - 2123506511601960964, - 14864545581213726748, - 11818098721423165631, - 8939714772303822133, - 7237771197883001968, - 16810621572706837639, - 4129028743228700176, - 10456457133186316911, - 17854967724060465414, - 14304309651935751972, - 11214455649863294775, - 4714213271384726141, - 14552748830278498666, - 9635521464876569057, - 12108418045892230436, - 10971950043587275768, - 3016674027452593092, - 2669974122753567323, - 12629362911763171540, - 1701523529022708580, - 11910664703158960060, - 9587676644454383136, - 11773504302936928989, - 8627553842900165639, - 5052644692057406510, - 16921768774987261249, - 7771917008423322817, - 17509930920134091077, - 11889052024451131613, - 9436387893499584007, - 10714483046253335086, - 1214405046115008318, - 8500835322805058226, - 4165615051391654619, - 10712561290326998012, - 1200952754630648800, - 8406669282414541600, - 3506452768658038237, - 6098425311191683338, - 5795489039512614724, - 3674935137759134426, - 7277801894899356661, - 14051125125466327985, - 6124155531191374290, - 5975600579510451388, - 4935715917743991074, - 16103267354793353197, - 2042407067065966453, - 14296849469461765171, - 7844225939159434592, - 18016093435286873502, - 15432189630520608588, - 15791607066571338511, - 18307529118926447972, - 17472239415997629878, - 11625211495495903220, - 7589504190812985256, - 16233041196861728150, - 2950823961544591124, - 2209023661397553547, - 15463165629782874829, - 16008439061407202198, - 1378609013362909460, - 9650263093540366220, - 12211609446538810577, - 11694289848113336755, - 8073052659135020001, - 1171136405701387044, - 8197954839909709308, - 2045451671124212193, - 14318161697869485351, - 7993411538013475852, - 613648557850578001, - 4295539904954046007 - ], - { - "siblings": [ - { - "elements": [ - 9394748579757677729, - 15460454325448844565, - 2490528146032040534, - 16118860387440543484 - ] - }, - { - "elements": [ - 2999975076803238505, - 79285543136606544, - 3684242112531758373, - 12797783183346736766 - ] - }, - { - "elements": [ - 6369029421138765382, - 2743369095540788846, - 8714228787930865690, - 10132367173441149529 - ] - }, - { - "elements": [ - 10806690000223166435, - 7954967506323812786, - 4138548784486448793, - 10154178816513826224 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 8153431597851824996, - 6834116713137666832, - 1438951134669612551, - 16489282411770716537, - 4934560916009324380, - 5486486513296325310, - 12344479843327220688, - 14847327813218133191, - 9293427981023539848, - 10280120564360187423, - 12484138029679384947, - 17944843246232218493, - 11988583983632061117, - 223087111824643896, - 7751436041138139557, - 1747122432078686081, - 10838797322209605009, - 11075448629610812516, - 4161972082656055785, - 12511355874562955794, - 8742700827858908423, - 12407088189240653176, - 6611331211264447028, - 9938695859357806450, - 13668357054359805245, - 9800161427052488337, - 16137070900728780591, - 7740586521284866887, - 946804607557916812, - 6907541592437698037, - 15391644266356972530, - 12628532810400684861, - 12598896667316411673, - 8494070885666076216, - 15014093218229631662, - 5691800390290497398, - 13558854030505906049, - 352632063939242582, - 12483803066799541247, - 17441617843096039468, - 1085247146537891277, - 7031242634899646287, - 6437541143106542312, - 15747570053011646705, - 2569360123747909984, - 17868061033729876502, - 6903158070913510059, - 168161654374358699, - 117246875498613250, - 14002245872830327241, - 15955176497710131637, - 4090061708460460921, - 16520864394209558767, - 18307252640753745969, - 4820184121862822328, - 5600482496348172540, - 699317935890129001, - 1455308523640137745, - 352060022186002285, - 859985442030931960, - 10720797964193120067, - 9193980174167927044, - 17433266957979421124, - 14479446727089958829, - 13070554938464995106, - 11034493309479498234, - 2855003347636736244, - 11176944408244837754, - 13976421401113737805, - 5352771128850926742, - 16420176545930920866, - 13688781929766799698, - 8358991456394739123, - 13777588364598659243, - 5272480123689520804, - 13265474109980841031, - 2618985936971624074, - 7020743092514464563, - 7316523238674535034, - 17780982438935846468, - 16015968400046359608, - 2394622288622976509, - 10461963407451533374, - 16127319197784217846, - 11726175291574767887, - 13355048486781096776, - 5338225883836732811, - 4579338384725324901, - 12463994818595522214, - 7530867929853205959, - 12109866742568800480, - 7893711880752799339, - 6477570995380901651, - 7787347985320171852, - 12347856255135269178, - 6992117965050686602, - 12418043861503923351, - 8926254792014068424, - 3172999961469158984, - 11080781091982531273, - 8649455135818831429, - 4864162561303324238, - 4522776253338400355, - 7719014515457912249, - 9340931068467512291, - 8363411888278045297, - 6683574435380804369, - 6658523364501552728, - 5335903982668517103, - 14189160466346617, - 9959616892874035909, - 7552660726023432117, - 17121084333311648442, - 1042836145734424318, - 3583110627058059375, - 14738365104577617945, - 14044134292749539915, - 13037670128657252356, - 5370723593414455798, - 15187244861155717889, - 14405356707605353250, - 4399186266862496262, - 2721460837103255204, - 17758489015501684070, - 17479150980112501370, - 743928307855623709, - 11726146774323178396, - 18163476822668189427, - 13582843349063535735, - 2165101007579558845, - 15451098448989443677, - 12531376815596065766, - 3751794421511148871, - 2447562765582634125, - 16978593195862151913 - ], - { - "siblings": [ - { - "elements": [ - 4749799934624986206, - 10045959109640444117, - 6396557647721831612, - 15836260185567899297 - ] - }, - { - "elements": [ - 4120159365836575532, - 9774592099889323256, - 545305285570207173, - 1371805757686097805 - ] - }, - { - "elements": [ - 7430782987844513867, - 2570589215295725112, - 13337947362198007655, - 9484219458621735813 - ] - }, - { - "elements": [ - 18068542140626307032, - 4355258260800683867, - 4216852198913689890, - 9908778413058407397 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 6205250976808057754, - 17531639647627067586, - 18144609100457377144, - 8535567389986232971, - 8535567389986232971, - 17710604214326803555, - 17710604214326803555, - 17710604214326803555, - 17710604214326803555, - 17710604214326803555, - 17710604214326803555, - 15405872978719363351, - 7994148380674318968, - 7994148380674318968, - 6681222963222210758, - 6681222963222210758, - 6681222963222210758, - 6681222963222210758, - 6681222963222210758, - 6681222963222210758 - ], - { - "siblings": [ - { - "elements": [ - 1413881016662053136, - 6024363793085467719, - 1573767601471090825, - 11896150105514640035 - ] - }, - { - "elements": [ - 3255095033113039941, - 9153834296726578634, - 11621500278089609017, - 3554040891538613668 - ] - }, - { - "elements": [ - 10928261928217068707, - 14767508461237470483, - 13644424033389693853, - 3194409277528158644 - ] - }, - { - "elements": [ - 145427054560340303, - 14816750798629607344, - 4180175906610809805, - 3640562706259543449 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 16152230008922261475, - 1653654868060639015, - 6585402324660398237, - 12111990121324364939, - 4186666402428062995, - 6273357469620252581, - 18446744069414584321, - 18446744069414584321, - 6439209608310982700, - 9892991549932659620, - 15293643276785781645, - 18314408992603312307, - 11011836456905057821, - 1920267132948797271, - 18446744069414584321, - 18446744069414584321 - ], - { - "siblings": [ - { - "elements": [ - 9705859707841930008, - 8325581414074202478, - 3915843595397504781, - 16335492557576181317 - ] - }, - { - "elements": [ - 16955594114711851881, - 5172143507655892942, - 4921229403164320255, - 16826828805861788957 - ] - }, - { - "elements": [ - 3813149248876844977, - 10126217133376000569, - 7022177164607402797, - 12104705495354110303 - ] - }, - { - "elements": [ - 12811526413818622272, - 6785993692180923794, - 1100653735883361736, - 15401048698472078136 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 14630131733988602948, - 16390736407318132903 - ], - [ - 14186928391470651525, - 14064467746064314684 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 16039719271261697127, - 13878168141330183603, - 17276377329049926810, - 16728746420678872100 - ] - }, - { - "elements": [ - 5210923241458603748, - 14146505321503099205, - 12918599024536716786, - 1018322107764066914 - ] - }, - { - "elements": [ - 8284183084895194160, - 5829342604531927845, - 16971166008664998292, - 11699728344815154008 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 2588089115216973342, - 6893304834680000336 - ], - [ - 4837607352643158074, - 6969160038993304394 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 14412397339032168335, - 15798532326344121231, - 11460043198242547402, - 16510676616743767820 - ] - }, - { - "elements": [ - 12184998889475559148, - 14811997910098371392, - 13032553179532206176, - 2352684615002827561 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 7678663429749009237, - 18446718096673625320, - 12290324221685989377, - 0, - 7555503266570240095, - 17170804795134128749, - 12081933159368253571, - 17043246067292289286, - 6132078274208201589, - 6031059780628242481, - 5323930325568528725, - 374024140150532433, - 2618168981053727031, - 18327182867376089217, - 17609815655145118593, - 10390454274674183947, - 11416970194101608279, - 6131815081052920669, - 6029217428541276041, - 5311033860959763645, - 12804282818995945476, - 15843003455313281048, - 220559770705461410, - 1543918394938229870, - 10807428764567609090, - 1865025074314926346, - 13055175520204484422, - 17599252363773053670, - 1606395247597351545, - 13813138631808751064, - 4458250075588335843, - 12761006459703766580, - 15540068940268028776, - 16546762234803279827, - 5146871227135452863, - 17581354520533585720, - 12389017227247594114, - 12936144313074821514, - 16766033913865413314, - 6681772980570387272, - 9878922725163542262, - 13812226867901042871, - 4451867728234378492, - 12716330028226065123, - 15227333919924118577, - 14357617092395908434, - 8269599299698437433, - 2546962889645309068, - 17828740227517163476, - 14120717176132638406, - 6611299885855547237, - 9385611062159662017, - 10359045226873881156, - 17173084379873415129, - 9531126242626399977, - 11377651490141046876, - 5856584153328990848, - 4102600934473767294, - 10271462471901786737, - 16560005095068754196, - 5239571248993773446, - 18230254673541829801, - 16931318298305302681, - 7838763671649612841, - 17977857562718121245, - 15164538522539342789, - 13918049310702477918, - 5192624827844423821, - 17901629725496382426, - 14630943661987171056, - 10182885286837275787, - 15939964799617177546, - 899289180832736896, - 6295024265829158272, - 7171681721974939262, - 13308283914995406192, - 924267057894921739, - 6469869405264452173, - 8395597698021996569, - 3428951677910223020, - 5555917675956976819, - 1997935592869669091, - 13985549150087683637, - 5665123703540863854 - ], - { - "siblings": [ - { - "elements": [ - 8918151452721611168, - 17413924178713858627, - 11408724050881737990, - 7789329095557048114 - ] - }, - { - "elements": [ - 8184681413443541087, - 12795194782177921062, - 2802187464158510890, - 18015201899766088996 - ] - }, - { - "elements": [ - 10372465254081044056, - 6905103620897861931, - 17991297361047432929, - 8206260190221600237 - ] - }, - { - "elements": [ - 10537826799806837523, - 17608408856127252765, - 17112503669541854860, - 14828015845269383958 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 17901983768467864224, - 1980606823574285905, - 10176687699146718169, - 11169458513943859836, - 15200289825905445584, - 5886738004518400040, - 4202793447511971557, - 8956925158649435884, - 11728720245609469978, - 13930906652976062631, - 17172650915661755797, - 5838787440985907367, - 5877451138682768595, - 10668831852735713250, - 5172681143322802049, - 15972810163913756871, - 7557561548950944238, - 6927293391868566727, - 14656408277259633262, - 4172418244224565825, - 4673980590942188347, - 8568218002396547632, - 9326115957926116240, - 18241056816089066966, - 5958652736613346872, - 3412851040667992743, - 11521504871778960046, - 17214334695489437254, - 2569315307133562397, - 5041382143433234374, - 4512789746497444178, - 13512940816280633091, - 13205662850095946701, - 13583827033279676216, - 13472103992582763656, - 10792452036074269607, - 7085564176853781720, - 3167374090795816031, - 7725886202209368768, - 14315753202287636807, - 12206768918501248535, - 13572614493210636206, - 3920615338986980694, - 4041042841015141638, - 7769637038561702674, - 17882614766349954837, - 12331447304318087362, - 2182610491137558675, - 16848894012948941806, - 5419851628183066454, - 7963464341637912535, - 15163134147173017999, - 15799185639023779483, - 18319061956358374496, - 7059165070084042315, - 4064208086393651289, - 7512417707237639032, - 16030604600771172005, - 3617516143543246426, - 6391047244873465372, - 6618253911086357826, - 3182851772472905885, - 16314759619717931984, - 16131744737061294633, - 17042502071129469146, - 2432616936688483771, - 14307406429286511716, - 15287613031656366181, - 11598429875148553666, - 17071492813932970113, - 6714425649413973539, - 14846260828270515819, - 9498908384121526055, - 8591940179419723165, - 4731565641819247715, - 7962700590702175425, - 4781470112646280655, - 833414463679883431, - 2905609064376147446, - 9253307664546835988, - 12433952116394377458, - 4682391422275648488, - 7931478701895114828, - 4711083583232479309, - 17815215863395245255, - 15607502184416703584, - 32428577018249524, - 11578398971473348860, - 14222991673630619565, - 6583030216674317142, - 16429305750895610131, - 15968535942844600393, - 13061400550111151993, - 4161190456572268055, - 9178321389115272110, - 16799564552690913993, - 8867420797771283515, - 3122342829608303674, - 6714101941651152359, - 17140188708059059585, - 13399469825812960518, - 663749303192123242, - 7749352317661740425, - 12134818099263144368, - 5903679526325141325, - 6012147646432005816, - 8057314921446838235, - 17325763097879330083, - 2910195028929621150, - 17192478152935862962, - 13385158000672822579, - 5876190914670507160, - 17909835192742343814, - 4111515720411205022, - 7041923972985780283, - 14893432888185735499, - 16781062107547335531, - 13548557303699153806, - 9377511894302463884, - 3523571490565671649, - 62330143037466371, - 12797827520038655357, - 9568782480051965089, - 18217835515767634198, - 16593138380384467237, - 14398264352847005706, - 10951003154959783614, - 7231583710547313833, - 7155717769190608768, - 12741044007002995139, - 11385083108721027818, - 9234712696965685045, - 4506351246381029992, - 6281661411672985995, - 7070536761090967775 - ], - { - "siblings": [ - { - "elements": [ - 12636806320219685138, - 7231751639808592646, - 5093822815711998263, - 14590348447376662247 - ] - }, - { - "elements": [ - 9871653608063972239, - 8298087143846477178, - 14193696448317558610, - 8244138290270313571 - ] - }, - { - "elements": [ - 13595810542050842416, - 14500620418822106622, - 7201023203880472125, - 5961826723029055186 - ] - }, - { - "elements": [ - 4728552037502063878, - 17543675288385102632, - 9449846599039641620, - 3703673035873117209 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 16358045780506151222, - 15029299784718434619, - 13226649799666957777, - 882330301147692164, - 882330301147692164, - 8540492895878320221, - 8540492895878320221, - 8540492895878320221, - 8540492895878320221, - 8540492895878320221, - 8540492895878320221, - 12399853489846940461, - 12569799137345592838, - 12569799137345592838, - 7585476026110585650, - 7585476026110585650, - 7585476026110585650, - 7585476026110585650, - 7585476026110585650, - 7585476026110585650 - ], - { - "siblings": [ - { - "elements": [ - 14137105053020478112, - 1942753747065973967, - 5096939131537931439, - 12518298567638868079 - ] - }, - { - "elements": [ - 8340932178789770604, - 1509863303046211568, - 1669274753896568888, - 12729077398437858473 - ] - }, - { - "elements": [ - 9706385999166460809, - 8529088340540711771, - 18321318408080087179, - 11999791853861912480 - ] - }, - { - "elements": [ - 7246665166177909275, - 14240893978276133359, - 10163752579741372732, - 9329618049248624584 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 12047604877712919021, - 15381265143522645299, - 2826645064053632225, - 2707938148677245074, - 573123889021651520, - 9819225287701767611, - 0, - 0, - 9241508381182804605, - 3393146869328775128, - 9548967078377397088, - 16639955323402910663, - 7434213286802878948, - 406892220759524886, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 15849692823993271583, - 1223412705232053642, - 13674538009841501244, - 13173628521627226238 - ] - }, - { - "elements": [ - 14362670391807441782, - 8154815395220099780, - 12977914387585176974, - 4633400224801958994 - ] - }, - { - "elements": [ - 12276141528457550615, - 9881415901634910925, - 1024975818816195379, - 14300307957061692651 - ] - }, - { - "elements": [ - 3744362079139765204, - 14833210501314585463, - 9405173137185040511, - 9718833844613418587 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 5728806953076906943, - 16540962594827179043 - ], - [ - 15181560650255477319, - 5519958367254709189 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 18159130462716439423, - 5329738684090448038, - 4616914590307470404, - 15224714999804582699 - ] - }, - { - "elements": [ - 11661851581098807204, - 17659342420766497825, - 16250014531971202297, - 1211809291332586474 - ] - }, - { - "elements": [ - 7801945876092050924, - 17641972652208767512, - 11239556109837885377, - 16315189946871964043 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 18014325648413885340, - 1942929599936291911 - ], - [ - 7858114888860830397, - 11919535273737012819 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 12188730944576219962, - 6068302197677870734, - 13683709592698495775, - 7794162675995433996 - ] - }, - { - "elements": [ - 219887164023662742, - 9848989959245015714, - 17807617814695188338, - 6415485607267671811 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - }, - { - "initial_trees_proof": { - "evals_proofs": [ - [ - [ - 1442682401669417238, - 8291149728816826091, - 14290326234598379521, - 0, - 10988748996756043979, - 1381934798361312053, - 10769149750748233254, - 12245316173781156613, - 15963512898733251957, - 1064125874645257773, - 7448881122516804411, - 15248679718788462235, - 14507037684446314040, - 9315543444051276675, - 9868571900115183762, - 10380328287636192431, - 13939087865793161939, - 5339894713479211968, - 485774855525315134, - 3400423988677205938, - 2017608997740439110, - 14123262984183073770, - 6629120542208594785, - 9510355656630994853, - 11232257388173211008, - 4838825439554139772, - 15425034007464394083, - 15741517705177836976, - 512757642001251788, - 15017860707716054663, - 12891304606939461036, - 16452155970917889968, - 4484627379937723850, - 12945647590149482629, - 16832556853388041119, - 7147433557228781907, - 13138546761772304707, - 18182851054747795665, - 16599492966747063729, - 5515986350741940177, - 1718416316364412597, - 12028914214550888179, - 10415423224197879969, - 17567730361141406820, - 12293648111502341814, - 12268560502858055414, - 12092947242348050614, - 10863654418778017014, - 2258604653787781814, - 15810232576514472698, - 18437907688528387281, - 18384889403211205041, - 18013761405990929361, - 15415865425448999601, - 15677337631070075602, - 17507643070417607609, - 11873037076435747337, - 9324283257391894075, - 9929750593499505562, - 14168021946252785971, - 6942433276696580192, - 11703544798046892702, - 8137837308669911630, - 1624628952445628447, - 11372402667119399129, - 5819842392177456619, - 3845408606413027691, - 8471116175476609516, - 3957581020092513649, - 9256323071233011222, - 9454029290387325591, - 10837972824467526174, - 2078833493614345934, - 14551834455300421538, - 9629120840030029161, - 12063613671966451164, - 10658319426106820864, - 821259705089408764, - 5748817935625861348, - 3348237410551860794, - 4990917804448441237, - 16489680561724504338, - 4747299515584024440, - 14784352539673586759 - ], - { - "siblings": [ - { - "elements": [ - 674532187925200111, - 14414349172757174919, - 18199414341556000448, - 18169073473396797957 - ] - }, - { - "elements": [ - 12352881917162426006, - 4630601668602176152, - 3978494118237336519, - 3467277792349400492 - ] - }, - { - "elements": [ - 8661820250160828465, - 14630979731310424406, - 6115260044463631188, - 14740873373190630016 - ] - }, - { - "elements": [ - 10537826799806837523, - 17608408856127252765, - 17112503669541854860, - 14828015845269383958 - ] - }, - { - "elements": [ - 14202228867497552022, - 13633331995926644717, - 6815092269168944715, - 10686717838911025651 - ] - } - ] - } - ], - [ - [ - 12081606843679980273, - 11835982914211640676, - 3436328479869597101, - 15609452643108253810, - 14239080033431889658, - 912558384242145040, - 1336243800076251510, - 10736581406731204975, - 9851697158176275961, - 10188967660460938519, - 17306876095256405078, - 6803168939217114275, - 11128840519109459088, - 7513087848270724153, - 59951355519752262, - 11435271523937145328, - 12748581154265106927, - 4463593686195146741, - 15962979770475708961, - 7245931998242078290, - 9214773842749711588, - 12683552967135295295, - 1542796894621904747, - 3339008265566140847, - 10155592225729947880, - 4543306348650067760, - 14619069609866118856, - 2225649850048813116, - 7711517341372888243, - 13920438375598313522, - 4300166856749399126, - 7580779578328221506, - 13035110078230468243, - 1747578721836430339, - 13262134276427719194, - 3441520626223803411, - 16651793771048041246, - 16222676144866886180, - 4026584350257631519, - 7272490634852812021, - 16937943104146272993, - 14681511570429515763, - 2010799824998781582, - 4951950082958749798, - 3866272459385703978, - 12871336011568632832, - 6685877747269105137, - 3838607497575987466, - 6419567905895270313, - 15447254590109507014, - 7504088518298514948, - 11905531304163083506, - 593483097992425864, - 1157681572451919798, - 15291335430008469049, - 13489540758530028359, - 17465321890004356436, - 6187298342934467512, - 13417579458734152273, - 15176724127992115977, - 14242949066932644987, - 12732264898052301527, - 3066088876519332301, - 9295219415911860033, - 12408391869657342649, - 2613815435735356667, - 15120645195278047374, - 6114436606251786945, - 7522468251528438181, - 4800126656430725686, - 6077293848874489767, - 6912289553255205813, - 2203263604926780925, - 12086748647170819198, - 3149445712322063040, - 8264022060020599201, - 11371440255896106934, - 13813178411747810933, - 10752945383355299786, - 9384727376617033964, - 8578522830410598433, - 15413519953670848901, - 1560093444804148491, - 10469220822991957047, - 6891788752397074508, - 6537547024579613483, - 17745132090463265438, - 2961414941940984813, - 11989349086705634318, - 13642704197335383109, - 12057470570610559192, - 5471402882359285514, - 12590832703184660757, - 13401363450080643121, - 10842794558631868263, - 13773448916749515624, - 3748112191567278379, - 18101382980253995275, - 7597101360920766470, - 7761328297972460700, - 10550218867535099826, - 17280378639698686774, - 6988531252403343688, - 2489483376185194532, - 3609386914589274706, - 12393841803264646299, - 15710754517284873104, - 17521531243155215596, - 13595973080374245848, - 1418826310313454348, - 7256880832400770307, - 15668300767895722573, - 10969741530628858329, - 15789475211021247266, - 14865406738214840890, - 7509016465575959483, - 17785938466190475545, - 18332502903285243392, - 10874173245794513995, - 3722439732752119999, - 40098639017069313, - 2658966233895423149, - 4100479107413113824, - 17812283707080726151, - 7258156414722890352, - 9507792373286942936, - 12435682095567077697, - 17328784129478519450, - 13939416049098353472, - 13022059762722705664, - 8100087774607269412, - 16584610950406561056, - 17346528728209457660, - 10536694809011175946, - 6151688212094058677 - ], - { - "siblings": [ - { - "elements": [ - 16627592559250805363, - 4776079429285412505, - 14351160839173447177, - 3128801162745806304 - ] - }, - { - "elements": [ - 3473780385308851488, - 1502810072347762434, - 12172398654059660392, - 11978946158447891945 - ] - }, - { - "elements": [ - 8645727737179351403, - 13490291115062667427, - 17598730766968454867, - 7687159043877417760 - ] - }, - { - "elements": [ - 4728552037502063878, - 17543675288385102632, - 9449846599039641620, - 3703673035873117209 - ] - }, - { - "elements": [ - 10300114403772852312, - 7931219003703529364, - 16676530655386113137, - 9802495737945208390 - ] - } - ] - } - ], - [ - [ - 4189121040628918373, - 13837947883536789499, - 10907522842562979841, - 8416451067486358652, - 8416451067486358652, - 9639287531355119910, - 9639287531355119910, - 9639287531355119910, - 9639287531355119910, - 9639287531355119910, - 9639287531355119910, - 12579456537104637596, - 4318219216788543400, - 4318219216788543400, - 7884437494993747653, - 7884437494993747653, - 7884437494993747653, - 7884437494993747653, - 7884437494993747653, - 7884437494993747653 - ], - { - "siblings": [ - { - "elements": [ - 11677035419352941945, - 10703734782482256127, - 4014157056879849014, - 13595550770930768334 - ] - }, - { - "elements": [ - 16848594274474357505, - 16577054501294106160, - 17321745799549682267, - 14504131837726763395 - ] - }, - { - "elements": [ - 2821788936851724139, - 2849318965741636954, - 8845803651892388112, - 6537293869195439794 - ] - }, - { - "elements": [ - 7246665166177909275, - 14240893978276133359, - 10163752579741372732, - 9329618049248624584 - ] - }, - { - "elements": [ - 17015527811994417293, - 12625628965140933654, - 6895006109359591966, - 9956591549661063558 - ] - } - ] - } - ], - [ - [ - 4991536696978317650, - 11451578022163015579, - 8100373735506292652, - 11924065013859063360, - 17955158869725803723, - 10314792196836164713, - 0, - 0, - 12425028498818968647, - 11311397146759875723, - 17592305852725157648, - 7763673007459051341, - 7589979194171759244, - 16878106011119460918, - 0, - 0 - ], - { - "siblings": [ - { - "elements": [ - 9758652584603035882, - 18279141368442383975, - 397337871921724069, - 4302862181369998936 - ] - }, - { - "elements": [ - 13969312494544732842, - 9873269909253348632, - 5740434055134959870, - 7199236821299202800 - ] - }, - { - "elements": [ - 17422521895774696576, - 9673181293534008918, - 16171458598332928176, - 2805956817828995250 - ] - }, - { - "elements": [ - 3744362079139765204, - 14833210501314585463, - 9405173137185040511, - 9718833844613418587 - ] - }, - { - "elements": [ - 15335524748968340453, - 14051287466144689380, - 3288911088064092166, - 9532660700737741466 - ] - } - ] - } - ] - ] - }, - "steps": [ - { - "evals": [ - [ - 1624020511539155763, - 11843336222156322987 - ], - [ - 12490792430053974934, - 1966839544442407599 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 1810820628463336182, - 13992417576087198451, - 9314035016885242889, - 14812781303290989932 - ] - }, - { - "elements": [ - 7573961714612000675, - 9189988355602915457, - 13901074018574044591, - 3463337465449951804 - ] - }, - { - "elements": [ - 7801945876092050924, - 17641972652208767512, - 11239556109837885377, - 16315189946871964043 - ] - }, - { - "elements": [ - 10415886655082783367, - 13416173363948513700, - 7516119596848326860, - 1292304450490716041 - ] - } - ] - } - }, - { - "evals": [ - [ - 12188730944576219962, - 6068302197677870734 - ], - [ - 13683709592698495775, - 7794162675995433996 - ] - ], - "merkle_proof": { - "siblings": [ - { - "elements": [ - 18014325648413885340, - 1942929599936291911, - 7858114888860830397, - 11919535273737012819 - ] - }, - { - "elements": [ - 219887164023662742, - 9848989959245015714, - 17807617814695188338, - 6415485607267671811 - ] - }, - { - "elements": [ - 2343746436952691736, - 555716703628366696, - 17298123600887713158, - 3617455914999935308 - ] - } - ] - } - } - ] - } - ], - "final_poly": { - "coeffs": [ - [ - 216940430513025940, - 14678856392952970640 - ] - ] - }, - "pow_witness": 2305843008676830226 - } -} \ No newline at end of file diff --git a/data/goldilocks/pub_inputs.json b/data/goldilocks/pub_inputs.json deleted file mode 100644 index 92e773b..0000000 --- a/data/goldilocks/pub_inputs.json +++ /dev/null @@ -1 +0,0 @@ -[15078499601213822882] \ No newline at end of file diff --git a/data/goldilocks/verifier_only.json b/data/goldilocks/verifier_only.json deleted file mode 100644 index 06da24f..0000000 --- a/data/goldilocks/verifier_only.json +++ /dev/null @@ -1 +0,0 @@ -{"constants_sigmas_cap":[{"elements":[7367475382109534286,3194468244332320161,1673075187782979013,15018385665384534280]}],"circuit_digest":{"elements":[13045106816405001593,4435677312852086838,10764504876425062063,16423789523126012604]}} \ No newline at end of file diff --git a/data_write/README.md b/data_write/README.md new file mode 100644 index 0000000..e69de29 diff --git a/e2e_test.go b/e2e_test.go new file mode 100644 index 0000000..79daf7d --- /dev/null +++ b/e2e_test.go @@ -0,0 +1,55 @@ +package main + +import ( + "fmt" + "testing" +) + +func TestBuildPlonkCircuit(t *testing.T) { + commonDataPath := "/home/ubuntu/tendermint-relayer-central-server/aggregation-layer/aggregation_data/circuit_data/common_data_struct.json" + r1csPath := "data_write/r1cs.bin" + provingKeyPath := "data_write/pk.bin" + vkeyPath := "data_write/vk.bin" + result, msg := BuildPlonkCircuit( + commonDataPath, + r1csPath, + provingKeyPath, + vkeyPath, + ) + fmt.Println("result", result) + fmt.Println("msg", msg) +} + +// func TestGeneratePlonkProof(t *testing.T) { +// r1csPath := "data_write/r1cs.bin" +// provingKeyPath := "data_write/pk.bin" +// vkeyPath := "data_write/vk.bin" +// plonky2ProofPath := "data/tendermint/proof_with_pis_struct.json" +// verifierOnlyPath := "data/tendermint/verifier_only_struct.json" +// plonky2PublicInputsPath := "data/tendermint/plonky2_pub_inputs_struct.json" +// gnarkPublicInputsPath := "data/tendermint/gnark_pub_inputs_struct.json" +// result, msg, proofHex := GeneratePlonkProof( +// r1csPath, +// provingKeyPath, +// vkeyPath, +// plonky2ProofPath, +// verifierOnlyPath, +// plonky2PublicInputsPath, +// gnarkPublicInputsPath, +// ) +// fmt.Println("result", result) +// fmt.Println("msg", msg) +// fmt.Println("proofHex", proofHex) +// } + +func TestExportPlonkSolidityVerifier(t *testing.T) { + vkeyPath := "data_write/vk.bin" + exportPath := "data_write/PlonkVerifier.sol" + result, msg := ExportPlonkSolidityVerifier( + vkeyPath, + exportPath, + ) + + fmt.Println("result", result) + fmt.Println("msg", msg) +} diff --git a/go.mod b/go.mod index 6064ecf..2beea69 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,10 @@ require ( github.com/spf13/cobra v1.7.0 ) -require golang.org/x/sync v0.3.0 // indirect +require ( + github.com/Electron-Labs/zk-benchmark v0.0.0-20240119091102-896883371e2f // indirect + golang.org/x/sync v0.3.0 // indirect +) require ( github.com/bits-and-blooms/bitset v1.8.0 // indirect diff --git a/go.sum b/go.sum index bc360b9..933d22e 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +github.com/Electron-Labs/zk-benchmark v0.0.0-20240119091102-896883371e2f h1:Q3voXAzWQTgqycu93oAtsWVnUrD7TR8rGA5WHY4ep9Y= +github.com/Electron-Labs/zk-benchmark v0.0.0-20240119091102-896883371e2f/go.mod h1:XfNqg8WWBPgZ6kd+RNb/3DOYLUnOrgIQGQ69fSvZ2gg= github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= diff --git a/goldilocks/extension/algebra.go b/goldilocks/extension/algebra.go new file mode 100644 index 0000000..159eaa5 --- /dev/null +++ b/goldilocks/extension/algebra.go @@ -0,0 +1,93 @@ +package algebra + +import ( + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +const D = 2 + +type GoldilocksExtension2Algebra2Variable struct { + A goldilocks.GoldilocksExtension2Variable + B goldilocks.GoldilocksExtension2Variable +} + +// [[136, 133], [133, 130]] bits given each variable in in1 and in2 is of 64bits +func MulNoReduce( + api frontend.API, + in1 [D][D]frontend.Variable, + in2 [D][D]frontend.Variable, +) [D][D]frontend.Variable { + + // initialize to 0 + res := ZERO() + w := goldilocks.BaseTo2ExtRaw(goldilocks.W) + + for i := 0; i < D; i++ { + for j := 0; j < D; j++ { + if i+j < D { + res[(i+j)%D] = goldilocks.AddExtNoReduce(api, res[(i+j)%D], goldilocks.MulExtNoReduce(api, in1[i], in2[j])) + } else { + res[(i+j)%D] = goldilocks.AddExtNoReduce(api, res[(i+j)%D], + goldilocks.MulExtNoReduce(api, goldilocks.MulExtNoReduce(api, w, in1[i]), in2[j])) + } + } + } + + return res +} + +func ScalarMulNoReduce(api frontend.API, in [D][D]frontend.Variable, scalar [D]frontend.Variable) [D][D]frontend.Variable { + out := [D][D]frontend.Variable{{in[0][0], in[0][1]}, {in[1][0], in[1][1]}} + for i := 0; i < len(out); i++ { + out[i] = goldilocks.MulExtNoReduce(api, out[i], scalar) + } + return out +} + +func AddNoReduce(api frontend.API, in1 [D][D]frontend.Variable, in2 [D][D]frontend.Variable) [D][D]frontend.Variable { + out := [D][D]frontend.Variable{{in1[0][0], in1[0][1]}, {in1[1][0], in1[1][1]}} + for i := 0; i < D; i++ { + out[i] = goldilocks.AddExtNoReduce(api, out[i], in2[i]) + } + return out +} + +func SubNoReduce(api frontend.API, in1 [D][D]frontend.Variable, in2 [D][D]frontend.Variable) [D][D]frontend.Variable { + out := [D][D]frontend.Variable{{in1[0][0], in1[0][1]}, {in1[1][0], in1[1][1]}} + for i := 0; i < D; i++ { + for j := 0; j < D; j++ { + out[i][j] = api.Add(api.Sub(in1[i][j], in2[i][j]), goldilocks.MODULUS) + } + } + return out +} + +func Sub(api frontend.API, rangeChecker frontend.Rangechecker, in1 [D][D]frontend.Variable, in2 [D][D]frontend.Variable) [D][D]frontend.Variable { + out := [D][D]frontend.Variable{{in1[0][0], in1[0][1]}, {in1[1][0], in1[1][1]}} + for i := 0; i < D; i++ { + for j := 0; j < D; j++ { + out[i][j] = goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(in1[i][j]), goldilocks.GetGoldilocks(in2[i][j])).Limb + } + } + return out +} + +func GetVariableArray(in [D]goldilocks.GoldilocksExtension2Variable) [D][D]frontend.Variable { + out := [D][D]frontend.Variable{} + for i, elm := range in { + out[i] = goldilocks.GetVariableArray(elm) + } + return out +} + +func FromBase(x [D]frontend.Variable) [D][D]frontend.Variable { + return [D][D]frontend.Variable{ + {x[0], x[1]}, + {0, 0}, + } +} + +func ZERO() [D][D]frontend.Variable { + return [D][D]frontend.Variable{goldilocks.ZERO(), goldilocks.ZERO()} +} diff --git a/goldilocks/goldilocks.go b/goldilocks/goldilocks.go index e0fe4f7..cf8dc39 100644 --- a/goldilocks/goldilocks.go +++ b/goldilocks/goldilocks.go @@ -3,6 +3,7 @@ package goldilocks import ( "math" "math/big" + "slices" "github.com/consensys/gnark/constraint/solver" "github.com/consensys/gnark/frontend" @@ -47,7 +48,7 @@ func init() { solver.RegisterHint(GoldilocksRangeCheckHint) } -func getGoldilocks(i frontend.Variable) GoldilocksVariable { +func GetGoldilocks(i frontend.Variable) GoldilocksVariable { return GoldilocksVariable{Limb: i} } @@ -225,3 +226,25 @@ func PrimitveRootOfUnity(n_log int) GoldilocksVariable { root.Limb = base_pow return root } + +// TODO: not sure if we need to do this computation inside the circuit +func TwoAdicSubgroup(api frontend.API, rangeChecker frontend.Rangechecker, nLog int) []GoldilocksVariable { + generator := PrimitveRootOfUnity(nLog) + powers := make([]GoldilocksVariable, 1< */ package main -import "github.com/Electron-Labs/plonky2-groth16-verifier/cmd" +import ( + // #include + "C" + "bytes" + "math" + "math/big" + "os" + + "github.com/Electron-Labs/plonky2-groth16-verifier/cmd" + "github.com/Electron-Labs/plonky2-groth16-verifier/verifier" + "github.com/consensys/gnark-crypto/ecc" + kzg_bn254 "github.com/consensys/gnark-crypto/ecc/bn254/kzg" + "github.com/consensys/gnark/backend/plonk" + plonk_bn254 "github.com/consensys/gnark/backend/plonk/bn254" + "github.com/consensys/gnark/frontend" + "github.com/consensys/gnark/frontend/cs/scs" +) +import ( + "encoding/hex" + "strconv" + "time" +) + +// must be empty func main() { - cmd.Execute() +} + +// go build -o main.so -buildmode=c-shared main.go + +func getCStr(str string) *C.char { + cStr := C.CString(str) + return cStr +} + +//export BuildPlonkCircuit +func BuildPlonkCircuit(commonDataPath string, r1csPath string, provingKeyPath string, vkeyPath string) (result bool, msg *C.char) { + commonData, err := cmd.ReadCommonDataFromFile(commonDataPath) + + if err != nil { + return false, getCStr("Failed to read common data file: " + err.Error()) + } + circuitConstants := cmd.GetCircuitConstants(commonData) + var myCircuit verifier.Runner + + // Arrays are resized according to circuitConstants before compiling + myCircuit.Make(circuitConstants, commonData) + + ccs, err := frontend.Compile(ecc.BN254.ScalarField(), scs.NewBuilder, &myCircuit) + if err != nil { + return false, getCStr("Compile error:" + err.Error()) + } + + srs, err := kzg_bn254.NewSRS(uint64(math.Pow(2, 28)), big.NewInt(-1)) + if err != nil { + return false, getCStr("SRS error:" + err.Error()) + } + + pk, vk, err := plonk.Setup(ccs, srs) + if err != nil { + return false, getCStr("plonk setup error:" + err.Error()) + } + + f_r1cs, err := os.Create(r1csPath) + if err != nil { + return false, getCStr("Failed to create r1cs file:" + err.Error()) + } + ccs.WriteTo(f_r1cs) + + f_pd, _ := os.Create(provingKeyPath) + if err != nil { + return false, getCStr("Failed to create pk file:" + err.Error()) + } + pk.WriteTo(f_pd) + + f_vk, err := os.Create(vkeyPath) + if err != nil { + return false, getCStr("Failed to create vk file:" + err.Error()) + } + vk.WriteTo(f_vk) + + return true, getCStr("success") +} + +//export GeneratePlonkProof +func GeneratePlonkProof(r1csPath string, provingKeyPath string, vkeyPath string, plonky2ProofPath string, verifierOnlyPath string, plonky2PublicInputsPath string, gnarkPublicInputsPath string) (result bool, msg *C.char, proofHex *C.char) { + proofHex = getCStr("0x") + + ccs := plonk.NewCS(ecc.BN254) + r1csFile, err := os.Open(r1csPath) + if err != nil { + return false, getCStr("Error reading CS file:" + err.Error()), proofHex + } + ccs.ReadFrom(r1csFile) + + pk := plonk.NewProvingKey(ecc.BN254) + pkFile, err := os.Open(provingKeyPath) + if err != nil { + return false, getCStr("Error reading PK file:" + err.Error()), proofHex + } + pk.ReadFrom(pkFile) + + vk := plonk.NewVerifyingKey(ecc.BN254) + vkFile, err := os.Open(vkeyPath) + if err != nil { + return false, getCStr("Error reading VK file:" + err.Error()), proofHex + } + vk.ReadFrom(vkFile) + + proof, err := cmd.ReadProofFromFile(plonky2ProofPath) + if err != nil { + return false, getCStr("error reading proof file:" + err.Error()), proofHex + } + verifierOnly, err := cmd.ReadVerifierDataFromFile(verifierOnlyPath) + if err != nil { + return false, getCStr("error reading verifier_only file:" + err.Error()), proofHex + } + plonky2PublicInputs, err := cmd.ReadPlonky2PublicInputsFromFile(plonky2PublicInputsPath) + if err != nil { + return false, getCStr("error reading plonky2 pub inputs:" + err.Error()), proofHex + } + gnarkPublicInputs, err := cmd.ReadGnarkPublicInputsFromFile(gnarkPublicInputsPath) + if err != nil { + return false, getCStr("error reading gnark pub inputs:" + err.Error()), proofHex + } + + proofVariable := proof.GetVariable() + vdVariable := verifierOnly.GetVariable() + plonky2PublicInputsVariable := plonky2PublicInputs.GetVariable() + gnarkPublicInputsVariable := gnarkPublicInputs.GetVariable() + + assignment := &verifier.Runner{ + Proof: proofVariable, + VerifierOnly: vdVariable, + Plonky2PubInputs: plonky2PublicInputsVariable, + GnarkPubInputs: gnarkPublicInputsVariable, + } + + witness, err := frontend.NewWitness(assignment, ecc.BN254.ScalarField()) + if err != nil { + return false, getCStr("new witness failed:" + err.Error()), proofHex + } + + start := time.Now() + proofP, err := plonk.Prove(ccs, pk, witness) + proofGenTime := getCStr(strconv.Itoa(int(time.Since(start).Seconds()))) + if err != nil { + return false, getCStr("proving error:" + err.Error()), proofHex + } + + // verify + w, err := frontend.NewWitness(assignment, ecc.BN254.ScalarField(), frontend.PublicOnly()) + if err != nil { + return false, getCStr("new witness failed:" + err.Error()), proofHex + } + err = plonk.Verify(proofP, vk, w) + if err != nil { + return false, getCStr("verification failed:" + err.Error()), proofHex + } + + // solidity contract inputs + var buf bytes.Buffer + proofP.WriteRawTo(&buf) + p := proofP.(*plonk_bn254.Proof) + serializedProof := p.MarshalSolidity() + proofHex = getCStr(hex.EncodeToString(serializedProof)) + + return true, proofGenTime, proofHex +} + +func ExportPlonkSolidityVerifier(vkeyPath string, exportPath string) (result bool, msg *C.char) { + vk := plonk.NewVerifyingKey(ecc.BN254) + vkFile, err := os.Open(vkeyPath) + if err != nil { + return false, getCStr("Error reading VK file:" + err.Error()) + } + vk.ReadFrom(vkFile) + + f_sol, err := os.Create(exportPath) + if err != nil { + return false, getCStr("Error creating Verifier.sol file:" + err.Error()) + } + + err = vk.ExportSolidity(f_sol) + if err != nil { + return false, getCStr("Failed to export Solidity Verifier:" + err.Error()) + } + return true, getCStr("success") } diff --git a/main.h b/main.h new file mode 100644 index 0000000..bd2f123 --- /dev/null +++ b/main.h @@ -0,0 +1,99 @@ +/* Code generated by cmd/cgo; DO NOT EDIT. */ + +/* package command-line-arguments */ + + +#line 1 "cgo-builtin-export-prolog" + +#include + +#ifndef GO_CGO_EXPORT_PROLOGUE_H +#define GO_CGO_EXPORT_PROLOGUE_H + +#ifndef GO_CGO_GOSTRING_TYPEDEF +typedef struct { const char *p; ptrdiff_t n; } _GoString_; +#endif + +#endif + +/* Start of preamble from import "C" comments. */ + + +#line 7 "main.go" + #include + +#line 1 "cgo-generated-wrapper" + + +/* End of preamble from import "C" comments. */ + + +/* Start of boilerplate cgo prologue. */ +#line 1 "cgo-gcc-export-header-prolog" + +#ifndef GO_CGO_PROLOGUE_H +#define GO_CGO_PROLOGUE_H + +typedef signed char GoInt8; +typedef unsigned char GoUint8; +typedef short GoInt16; +typedef unsigned short GoUint16; +typedef int GoInt32; +typedef unsigned int GoUint32; +typedef long long GoInt64; +typedef unsigned long long GoUint64; +typedef GoInt64 GoInt; +typedef GoUint64 GoUint; +typedef size_t GoUintptr; +typedef float GoFloat32; +typedef double GoFloat64; +#ifdef _MSC_VER +#include +typedef _Fcomplex GoComplex64; +typedef _Dcomplex GoComplex128; +#else +typedef float _Complex GoComplex64; +typedef double _Complex GoComplex128; +#endif + +/* + static assertion to make sure the file is being used on architecture + at least with matching size of GoInt. +*/ +typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1]; + +#ifndef GO_CGO_GOSTRING_TYPEDEF +typedef _GoString_ GoString; +#endif +typedef void *GoMap; +typedef void *GoChan; +typedef struct { void *t; void *v; } GoInterface; +typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; + +#endif + +/* End of boilerplate cgo prologue. */ + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Return type for BuildPlonkCircuit */ +struct BuildPlonkCircuit_return { + GoUint8 r0; /* result */ + char* r1; /* msg */ +}; +extern struct BuildPlonkCircuit_return BuildPlonkCircuit(GoString commonDataPath, GoString r1csPath, GoString provingKeyPath, GoString vkeyPath); + +/* Return type for GeneratePlonkProof */ +struct GeneratePlonkProof_return { + GoUint8 r0; /* result */ + char* r1; /* msg */ + char* r2; /* proofHex */ +}; +extern struct GeneratePlonkProof_return GeneratePlonkProof(GoString r1csPath, GoString provingKeyPath, GoString vkeyPath, GoString plonky2ProofPath, GoString verifierOnlyPath, GoString plonky2PublicInputsPath, GoString gnarkPublicInputsPath); + +#ifdef __cplusplus +} +#endif diff --git a/main.so b/main.so new file mode 100644 index 0000000..c9a03ab Binary files /dev/null and b/main.so differ diff --git a/poseidon/bn254/constants.go b/poseidon/bn254/constants.go new file mode 100644 index 0000000..7180ad6 --- /dev/null +++ b/poseidon/bn254/constants.go @@ -0,0 +1,551 @@ +package poseidonBn254 + +import ( + "github.com/consensys/gnark/frontend" +) + +const RATE = 3 +const WIDTH = 4 +const FULL_ROUNDS = 8 +const PARTIAL_ROUNDS = 56 +const GOLDILOCKS_ELEMENTS = 3 + +func GET_C_CONSTANTS() []frontend.Variable { + C_CONSTANTS := []frontend.Variable{ + "11633431549750490989983886834189948010834808234699737327785600195936805266405", + "17353750182810071758476407404624088842693631054828301270920107619055744005334", + "11575173631114898451293296430061690731976535592475236587664058405912382527658", + "9724643380371653925020965751082872123058642683375812487991079305063678725624", + "12239673881776349871068957838196514517245834187939809998544709168112271341816", + "8213756851595907076282161124887805623974269954849888814703174589291971114278", + "10700856158409047630150108954036764855084229282872224809993001752389888794123", + "4309412763160017434705250214903006191171337994199861518317363388963372067759", + "13621360205860636764861614843016050680668828136032459556937427803817198955108", + "18132744072298259781740650630118713682311962872833394850644922000343506947506", + "10497941627597965031241580959233976924443640728463059894693130666064841012508", + "6417221626367515719470057497947343409306030587855174225463612195298058047522", + "4674983908670004491400354631773389862914788156614497726528237310334040582090", + "873340198155297459771531732108476825755499970277106398541966195153210717293", + "9133482302270339304679323394649165596260136537041379860642176850815828132593", + "19667464340426349564507575767837635537801536066735594705258884488718315050710", + "331000697881161076911287227440410522823531125482651243929873545789686252480", + "2272743329483520819389104778389979623160875907321267447635586085241433137026", + "20056061746422267419826865443608176291944892343638717421077672390127627926748", + "21689171326367195475219251979604515804697103534428737460300868676042327355863", + "7810259695400914964411387917274296266504340291833964145271847716091273468172", + "14020998353215410538067420885522582505027736982810754116099481711825941220642", + "9245012796693900213810598954108273676196337302084957472786966340245263275743", + "8962981905074764319938168719738488892057352527537684271935935864821273084600", + "17332843516965697478516240137711403804881134130964557790940490781033584077729", + "2962481512633005781617177153208165597038681617596047875933934580338169170271", + "3545583524837641414415308887998349399894575957283448040799889114001300580510", + "9825748584719861837046057557518727684444343953070352817632834283853645430055", + "17858606226144476516342911398749600850253621768390773635294560290497927852949", + "19407543101519936976076786599565778993379293656069417288311522496519916759844", + "21548305854518815463471937514130615108218483277778620473090880308362072806993", + "5027201548230124209007202023859059041801516590630988556095211824751904956552", + "1278320788183053034261211126815207721315633476390581364649595040979423239088", + "21021340095589643000573495115924922630807303076545481383969066202975724043976", + "918385069628188207001966014851379853961258262104472252966637722307728618311", + "7965072539100037475925090906281896901763370093075915840665305317760262942154", + "7378267415483811789102866201206786220747449921553565182362543937740633252433", + "21420063039401631492872969377050715448026482027341082733718950945529081119315", + "6984186848935723943941543006673172228872682933412337752165652636767411415446", + "12107134736452640457370020100579770521541376434013671407419563526253119375027", + "8454625495310558663140928634608422027208548557279385097066005785045755903417", + "8017631723660250252193376543593224884977313136061388836952991492888330231080", + "19995498935394919030796805510514577077319475365066948284951310616396837691603", + "10247653874740427181312035102426523630476005333120089103526343619029364327967", + "13160967777591563201117493157286130579932067039961943416358165521611018318814", + "5676293694146750080963041160092533338992482128392885932218516813947476623756", + "11945330020489343984352429388118756789915736454422495317728221749575540363130", + "16575755931296600565681989782918578103656201270919325693721999523168590365097", + "6507448101913175376269537672277524478400652962306200709943614250998845221975", + "20000756050339437189232666465591830538666897533492662864197332257508545696504", + "2538139500492919467696560596150779916859394629326537877502980743087004819534", + "7871037999774788273525866585990542333245923983722339125599991222477852815605", + "8368558409504001796987467259514778517606739110778427183378433173780120985763", + "10459885623117973980697126416757555084518174957115744579590957904857119054380", + "3384626976854176329065296334831532874977246373363627584425356985964639685936", + "14737139139809423972873213065253246598075451131478157534053817909649707346105", + "5793030407008346395600962336988545239125310160053522248574303463872647020425", + "161797721038773165886882501305032811420344793568022002686671602943345085701", + "16804762399165090393770239542398927686244163302041099831597167085216405440289", + "15440431301017924367171251352865716677435047477418739126248587843926419339250", + "15570353803062363582500010627498291625214012654155408601153435169223922455380", + "15115601269705628455987152258857868396524812969878723314685224929600383566277", + "6356053248039389904799735666848118481514593163165587256076018940751965212118", + "16309790196305846370580640353745827882351273732480869449701807093685497609128", + "18447296906230039277288210321788736138216936478488032824595044533456671231353", + "6105351805879633605209308509080121925171118411225835503106175078539279138153", + "19852645406205681222287243787651048897744424465454177194550461625744671602479", + "9007786282651237028773725177593860474523832555275407287854317958939412791659", + "18947127426470143546676956069733014228119216644326548862881450999285087652129", + "4006307826238987763983990462011007258305618881936961734589789440938853470615", + "6924385845051163089352800210788743599810236082363643773698057309137019167115", + "2561599182344380405085465588284140808385687895597384476955417835636116225821", + "18225048309586676741223646736155757525087799474840323150729701492173705507839", + "16007480414415489869989133828107467718966566156219711380836971295459227141818", + "1248906006044888441798838825685606393060257012284188943868730340563960780866", + "20912864018050627133842158245163422113261374878008212512322853267715626252916", + "13216486202690474504584820948167785518004498504229717602814280132903612841969", + "17416264900059210810716133407170753459272974595675494034944092509584936747655", + "15395940772659312642272628762657023074462358708226101085466723152641135097674", + "4690442806047481777095177614992497363041188209965731514747362442612318535595", + "12980185426778583997022610696582563821013078583440402121868121411086576741088", + "19436953581443472871973830882428624449045305494959438365629984120779166561614", + "7021128259021787032633332177524933222338330182720924079777325144523649322812", + "18561291417991436986590120557027289864572049192245689357046574683519049533637", + "12019749240411640852887001467406069824508276240179427493437313074459156379732", + "19007581091212404202795325684108744075320879284650517772195719617120941682734", + "8172766643075822491744127151779052248074930479661223662192995838879026989201", + "1885998770792872998306340529689960371653339961062025442813774917754800650781", + } + + return C_CONSTANTS +} + +func GET_S_CONSTANTS() []frontend.Variable { + S_CONSTANTS := []frontend.Variable{ + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "20198106103550706280267600199190750325504745188750640438654177959939538483777", + "20760367756622597472566835313508896628444391801225538453375145392828630013190", + "4560321026325826558577463029506577497226940849420215249948019116691014248443", + "14542348742554217629977259301175635295381723358917389768274600005636270665372", + "15896375770890915929312334597144922470201903000282577832977222171710825960733", + "12252597347102015743878803847985560878912969150828000392862427919235870760323", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "7179342059755701265188463641990689102412444920238824560515276276968272417627", + "4291630597779640477035256747339007105528129889017831542003293220100844273045", + "7155591457893668398581213488670279080694237456746471479962759104308162960346", + "18018059843853960571576693455761079306078638316240126846230125992269221919628", + "17192953047291854075450899126062621814148699654417386994738494022353693631044", + "21569358698233938087179836388127293183598397710122666685148766859224500701833", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "767999929530270249383649002937499906068820748885293476546946323828660462871", + "5621566033978712522450054985133362876999740181849707666504220417128301048308", + "7047587043137472855909285569331719962122602952080655968507950635506526200417", + "4106788926932251085789923064963212794107963499320782851030491954062548275037", + "4545465201904739898734767265726940896371623586331600641370124254775978068067", + "10998902844068831181439895790460185435489188976722435541316954293463196661627", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "4376836298206152573581217002448306554373223213053980459591637689821900483336", + "5063873841797552329477290331693185729765297320248590815860571737190009344755", + "17220054068062949177158788546035218460663984286240089601095376499170326046885", + "6096091793679274146365056037005290512891839764898244154356695047489211507312", + "20208154436430351332345105187219062318903703844357504892008088901754085119783", + "20838511199557042422189066592494164230774524176144133560311285338373104325885", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "16227720862704770803579874423899491820268073980006154670796744520986650305964", + "3929921339874032224077598341189960169422821598221170533707987779964278253429", + "11676522033799786037262769984406232796495555956069794755879715792396951198318", + "7762519209385193303450585425818218327021377088446472105589371562364474259645", + "12228816136730871104506419752649367119045148103237539623130531869347941136043", + "5506740114091186508725306313701186842841118936086047703119202768266996591645", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "14813919600103919291484875851986720548476220511386386518354061356196294952105", + "19412665928425989269357649645392922518929142728556361947563991549129986237680", + "7745252322635388376641759428229975035032852732127464661605110457073217385072", + "12066184602104703003390387343585316865507822321930012054206126015745471356816", + "12620273762884289038844321186080149434615909817652953074992148689167338466281", + "11751773042154924867322926561716263630089863992083485679779160826117120630730", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "5787863126296931978637454491180421506307265052288386136386997720537089333357", + "4359270971608384879625804007684881130504862820820494966964908818477035866962", + "19213956561377299828591097862016633994148464565683346498602915228516385038972", + "10661554072824488477243358897537934080796136449622029441506710580786939692047", + "3607791084285905641943446462342879718459787316113396877697968017015606720718", + "21380267103954285713588504655257961830793460465329761560308765483331070823566", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "16335017324810170896233622441986531365208293021101073775522004006769586788569", + "8596452296160802102282257210844234154821630615259613589128211738647312221536", + "16301372420970040998092568156060757300799008373690279794165397142889066306513", + "11903327405072234929619206491534763321300297227799575111355508350177812704304", + "14821948344368180716550312221723948572649473361813001292505502225087596775887", + "5285692778454746827266147532131677990565304365953070750869571432820529495914", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "10012872528823706988605864950067342792516562023507005612462537243496467566252", + "21446538914812609684138720355481253195782233393805940184895189253411195275222", + "6967738095634646257690113616580876555259467406702097184326306034350680240041", + "4106908293164276270299730590107104728631886925545072356564726466348010934176", + "20927688665665429774877287472467937369033546230576320387423016374665584172634", + "9961827048684904093454156105462119035870307939873087416648411282423867596401", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "17625964999746898246984332334222740240090489215775011285534890391099108738991", + "6756403122817134101960922940971569987994537470470008333055210502063290961967", + "18209952059360034384023720860507712662310034604843833483955548867331649086618", + "8749953392298305294875888962184156769810429880914465959429873281709868501522", + "13903906876414887303860424108888965657645488675119946001291096608021846549241", + "8884215530056835002390372161442569149992192407996136723184495322116314590715", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "15368493359884894356742361670810465111377869951487306983186672135817808040059", + "16469301592941427332568429408115015498659452810956369922459344407975076653255", + "11953776125042477689669753843214783238996317490452913722906886945106240528752", + "4850027575321262255650746466350338325012270813222547784484958365303358175196", + "7167191208528939112939986630484202425436947674819310704476597678688297314160", + "14743993805036761996537001252852408745345655735519736268834200732992754437162", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "2193200656642352685118935602989839715339339245164998181015765438900681320425", + "4952431971730605970338760580694476897050208114543185599136664869372496356437", + "11345335340256434787038072013242069397625261572269911025596723263652849081076", + "19160419866562146325212161338497565927215049171520418417356683157217751672139", + "1906154907657701464044944280274832161539842850674948965456024456273947429115", + "16149082223365808325093364716798557120316343643236068373217398223890421952409", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "15043765472887378252850447725400426753906560153686308918666838116627815818554", + "12358170975909062301667468450513761096746838254885629802196667786117625700681", + "8976079215643004959353142348700280485976874920070539486194110584442767827768", + "16076674040958582640238476383964669465698501606063044308184974525408139269248", + "21647594485928619120181355125322770225837180985764869124047447620451714635371", + "21615565593822404396628787247811190031843657706885317097074400292994831686718", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "7285489402319904168831455790041657959272324796876172356990227907987038622155", + "8211470967679835460786450636871651606756811185450731546421075600179331665168", + "13120324752637151731834041425113532499273467426551390593296677993139082244188", + "6490061383110696131545774076292741528427005211177990719476969041145673265422", + "21671644951532628690769713999772810624944081525303128765668379478511313095702", + "17491948871201042934988514071862478178478080786921680019735540941776855947714", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "20875198681143976093301585336441600786893116178926266185909922467347281090330", + "3598136009866557326049002438338730052625336381410025235713569185700458778346", + "10257854050179821094359263633511835293496268374135163743255999829573090463793", + "8709186608235401140998284233255708538357614560705220346211132868280137795418", + "1259589977644258611864841556278758814462356863769029941139050408715640323060", + "4938787097541166466238757186525276546940957932147842294635573194784914432374", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "16717728254520320964463545682641729805489575123710417403982868570393738171908", + "9748879216547249587937312403683718221531596047715540576918379577191876140829", + "14944874834710321794079457580123143945012638912293883509561999360499542827539", + "18031584503513589779232867929321541667009512801047020067337884181460183159789", + "18414164542389736964053830253126595155017280572430646030445262089460883013232", + "2610402018952962996318994974332047870945223376199918653423836750745739531230", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "14009467204580838343058201541088761048498359505808795311724314678689480323211", + "21469776223413224601890303218554639233147301494161934252153679844173746974667", + "20647680658876691843280356403387803136370174824153696476894283712779784940833", + "7936850548423967572066326867280341951424312865893525326890769023431047320991", + "12722969395702657985023075505830677750286440950878333627607092139722193056708", + "11321152935530907374770739017822060871862163756958501641453518139130228537202", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "4094512680835093637766266255807831961532213986166871807693377951477711786051", + "18178389385096689665303225717280896610765865274508135228632006790574677752293", + "5003815887613767774717115773943502417144707145760897577207221259749678760892", + "11395014411676120154590806918236444089801092874462769558428488274754488682814", + "5043626533165824802355651303240938472427342475587368271803664178703751133184", + "20737661798231456194286427103806996346683878567029159134024210934417745289241", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "17885807983183478128547293344015669882824716934567927629992464147210758449961", + "4491530859611985170204284394599169523531547745924230349900720023555385570566", + "10590405810993997824904026910850308084431468206425947323744908163083992870845", + "14773696309507449928652967351151268377421083281901294044684766706170272145134", + "8012817909803347753036095373079065441540540870790316296905616948358031128489", + "15953294845538540694147122390548121234862217402440162841644474763770065752954", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "19330308615634016202275470394593918283291746889176278663184951919223544096896", + "15105179537685942573078046208371583063999793255578601214915887961329652398190", + "21709064542465141520669973714950919003335169451362947708974082912187480247791", + "460683998482756280912187509737431365362650506162063605585420395591986395093", + "8528936230636059063848306774318500923209521695610089597282351580188192653610", + "8893687738651874055934077641258880070065696892648906132887857010931807062812", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "9353521397201520020163669559110959732855095088196767785130221250369398534266", + "16613542657585137487151470980837461302153210762614545024991732555481490683814", + "2204502375207887950205548277458704596225935813112150868324282564135082293291", + "21254675318867619388160936117044327276221059873039333971338260709002243972836", + "16665573707712654499163134682677891418056405526644611110898762937899356502949", + "14267552583056171982269630733147008270458243455399509417719716681547925602990", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "16367942369253394098422648739247412041658904846897825274155468251740735622582", + "3109601755423487827090460933116495844768178403907542635843078881599579349417", + "13070881723095523414228674713428974685755915412664044005891151350338033029052", + "10259475086157775344414603146661739080464638100961174958014154428063344142346", + "14392919515768311705876085292469557682647137722466492884286386263408604670613", + "517834877649467900881483483632287988070398657044896986690867428743067995638", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "19776116368291396730046653100175352607868202157614878715709943043429632352654", + "5905125865653916927083238886025287246947738553282644091380121061742003257962", + "21028910015562338297173802587144293023870505593218986935232089708700866548848", + "13395944831564259671405922878791909538223635993323846275946092882663526594615", + "7995249236543262914206397633444491535498682241246319919218592002459454218505", + "20437702676708041916002540544749140197744801315911882559568865094949905456106", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "18122990859780045886774524690965061785055534365091244948379358057402402367696", + "7828598613589603783167146853068200035787559469554903457639957531866407371355", + "9332650099915404377420203417011695963084742503430897569811042552155208487972", + "10307617695590426797520999316292503894130404130453293663650538793774250723792", + "8835502107624355497501451075768318888448783969087607217992442118675676473235", + "19120067314041132936628146578356142975011085061134316893491148167766430272263", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "14131158550284047904306566770309132813679338145017696511713416041803712831947", + "18278505503803771900469477275449664281120609236542416293497549235136781566441", + "17153958308999151990078644296244213778962356073179462336659818419962234105847", + "16626758607046130451896378742113613353140534310327816824141377148817543345317", + "3253978674468876751813289588828587424582893573659628257653601068985274811195", + "15124684821333452470068683925631859150599113099371600515189799092190905862045", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "17554798861971373266763024346102515996719053781651720018946226608652696029966", + "4673377481212178482442054929782481181148885179378220577674849430151263814812", + "12802184117569856558550257245216015988375556783492060695287038701794605413493", + "9519514614359898302883682133832551410294990399516042521409471023087274168403", + "16836659443451056297630548550595506972721716824013972318987309735084892491057", + "7395214083924359580241425985340483333597901523044123868756997584036793198254", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "14399322858803900772257678181955451734179272552912056546775770413858440530384", + "1909978450171978853529623580362647076357052571231552147289256161279685882392", + "13281885756205124109513999931355079980393369422935519271174043924199138273390", + "164209740719129725777909013206421786172977937257506729867551471718043494039", + "16705691420580567376788433299746618119784690539139871305988345805972046012457", + "5826800399196629549123275187565614318381497389323145097682684583838285855788", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "8745700306539329869259196731866071878870577472742983713396535761464344570296", + "508475125028636547085017721909144447367158867634347790363605834249994548305", + "13308065070657129846765808536411368840800238227915085241160671109842614736069", + "10019712566526881174916627302365233202635409302600998712624311257405295555967", + "14948048658262145603596652021141019702423717894287496732011428902097682702613", + "15039086326216274046991605161343057988750627388067276180888219462568845064229", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "21096491705236217573638753819195066035854753372393176304524423503032224425998", + "20540136431631199250453995588480387143164544354370046506703506396812372935282", + "21186849459525281586750729801174049327027230971997759985511944731378352524720", + "6848121885117228161216817594905430814981258429233967407187604355908721328558", + "13037575047232910005715065472416622419305037510557664085418549453156900385456", + "17833625863119365031315208055152981164942897924758710427636399886811449556740", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "647623368236351122220409431799139859876095524525221664162752495435482065515", + "12974365649211231492520765559798270821958589291536737829547558404742935791527", + "15547534600512764170410743968922508315745715132682752278457116429781298799438", + "20584726236425418677723102941610547182735385166462720350906478152233407640408", + "14300225354615797067692544691787701642123233971394030871903066287215191118747", + "16295678001265781880580526410222599033811623386008655132827551618100838695276", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "20381043379079252254800770843787089884660790822955671220847236480297529336205", + "9108894275082870067933192903079574663897324502580109505768620424181024287163", + "5680820607864330888516377287072858105818590744368374152569440046457757684320", + "11053473350105919249170169199500210854013326531260083017794490958609880379672", + "12769075511883530146865321202033588214490414269703513464106497906236932124198", + "18759973693942567196361351599844723429910867650807109887961315229008339652628", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "16425700741812211675363235647687005029399366301071410733155116166884856887679", + "19869702808216677847758761872487163621387473209265033304520824036210441934818", + "14073988039965881048079447010526118226047246598254103612590470558684258186244", + "886202035735213563046862324816018035210995137716997070920200120700003967134", + "12027565694895224474791802234109034039772984880014776210441706322417559146489", + "11972498202326440163586176809543524758264680802074662372615568024949824595702", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "1348630117144789003644452314839072329750068133934739562703659359268389747985", + "1396107425439796908939750972938223221605778648225762567016308314789520339962", + "6173001858003427802042546706782122098835769939275305980271183297728965316942", + "16943717877001499284920880255048707490719574351604140426529143119277836403129", + "14254637476176032842487152448677962929592936990526843481247886860454775633326", + "20112551263640702643495202387764478482489841288043250651308711396213637765954", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "14580210729080456657697439135745213807214996922877431278225104041221322283144", + "17944065522218783686971981171223808953317623885825040885897493399216933397441", + "21672476111949246523929453701335722206799241314728447223788259504904156987147", + "16427849329831493218262402566840933522542577642557896988530799384419530862522", + "10752733058291453323011452726707429118120906743416692984681703374550581513882", + "1120153114481280927826334009363750761062539786064908406397864613779304433308", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "6657045611436002337943867733574742655960423094099745811786819937865742754593", + "4548688566209049346950516871294343401334051071109430534058854346117866744739", + "12004873649650240122663793814044887628092046288070805572287428956807094282568", + "10376720357183386406622952185756280165877227546938927619561389051210153106592", + "17932525558731721856340352992169746291760530992792261472641282908501604446811", + "17590757077464321402178239743669088074723578712251925458853962272816312109152", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "3209081991282167870383195969354868449640899668458993044016055038297543518657", + "5864786650128394026837230220022650012182783025931675255391916679281913080366", + "12439377586247860055183624555830288546667346442629775929405362799390541279515", + "20249169533694211243074917072193953326307543430194777911574824077740409867889", + "11955292991025510476129504480910338468553857092582960824101774602100105865508", + "21233753658809258463246874948160331522087646774375604829374717282611108497353", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "5299619631018824922731916064083443097684549422797706633258895684420281864108", + "16213823392220550809755333072267867447553466481133861809088541225502993792933", + "21774021022385158712853171484065240472428767308361650780051834129571232443113", + "19519712983460247626783700627305949599146930344376818640048505866722051236075", + "19201631020677948940033345574241839698570728570677190746232685184366085684755", + "16950719963293537936274035069294977251884656006132028465274842882566872316866", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "19155409025424437690664522806909434551970754598652921692474864449826455337216", + "7680332789706498740282955823359712103361665361365018131178757219206780037124", + "21076561076080209150759527181245666654056099483239360146471339739637030537201", + "497501917138640900716963445320097032971939272734057482481699619406679852072", + "219804352410528064548663406794875692377819157777555527292379890517994310898", + "20650062109272119754567889432541551183228545711882667368558930819623066285550", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "11946781549111733342374437686417901919881339755720725189559112628795817706603", + "2484460820642436269798549252737235980435448156526237726927772714161779556117", + "9131896045016416748829978568219748930005109068654516264093181558753767987250", + "17539690836656056361902215257263592451628414553660709391600001441653830206065", + "18680327085533119384849399232368527875194911756927197995064579410845089235626", + "3733704884118300721043768874060062456481930803626613247865795986430463043840", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "10869324612517034722196547288387911568763853980957190569709459262556333259802", + "13541129633400691168270375425224652251629428845905913714872674429516061703834", + "19566585716231282658157065399746041623123586124594568018338142400023247847175", + "11129427786234676461186088751699468257665219195861018218716326589482169235738", + "12587809912397784737743829505557561200040529463438352967575388905004140998345", + "19808473521007223175388701036440740142351657866781216113100022591252318502799", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "5873853271511157388891218086625116841039294307138994311967890057520246823262", + "13003486326245606952057355171036271201855738149044785151305974666902939676968", + "317822617317373237216981618014479686465697065761329030109475447686164721451", + "10813741057848680550002438472132336318708520104631920434881565279665858338767", + "1407947600055243217568670010193019554033099296398850283939346444151815545565", + "10748165363652029592490593406190797442361550791106744394554436667603982640562", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "3799831132390157900444549796610450353874750090914089848349537541361771448668", + "1236474870532132985977600728058617189131963342170879994970972386547660462416", + "12129114991304316197801712028291571747667685822200300686411158807713612068935", + "12452782504819389866332384374641397209636135503933026692197899235338769218420", + "17177375615846222421363183777625422826542711334348976790999247784204226247153", + "14724993254182752446999797852163908134432351958415665363281656992462126774682", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "5334385037080506459192079464304402035717161708938461991741391759156701759962", + "5839603057106324284245920895643629522252067410986057849259994788753287208289", + "14326608902192980988016963288619186073396385273801977982209424374836032185437", + "3833013442414862082598619907743002206819313202476167703686360031484342083849", + "5782627886836397242604493658841762433123584410931373681442076300374639175204", + "19713051315944380534324352563108780835417447391745041989823306798607010582122", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "18432899792379962331910523191119990280606783016109716227581834102469679493864", + "10114179315138932736747722408239325460537042542506605453447755151962569740761", + "5821210875734924302116104693653963583724566141160222647210211530317113743846", + "7272434816631750120284299385293876240257916908609412315349255596053274406936", + "4212296281436173015983236952207520516627835095278776445938770899997037368424", + "6955140567497387214231321978484207887660637811874868846921238176118501620416", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "16897957031536287824842741409118604269531477953952068130977839056875990315078", + "13928891481908488754724298520914059676632551457225054691072093686516662594704", + "18609207589312797911981956932131451830029990404869237009695385065926468947990", + "5536380863513150280191401661180648941427892275212253324640352848339521760494", + "5599225957062546984064803248700291456577900100660883438352062938121375670876", + "12727467597196655197125834858597394259624613129696376281662301390743901689826", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "19163832296523160821274196616772872907137958231822436470531902352232904941115", + "10312950311908120735753698174433012744274520178660214256070764297181492311529", + "20378282857854630279466471430783739929226973027333858163427244408490964366943", + "10377180064239448654317729091272064413356995963412409612959212677629982453181", + "2933414924716564156600257176308187931324021696634706744075039747567264729208", + "8493086687568016258498608482327521077256426060613869678446606139457160557731", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "19381450024835411599145851239904096365633900646004460102189421850759351066697", + "11953019744947469552190875928518181787128546459454153390773097887154577772396", + "13376491371023193271031127665379748375688991534278974638471913598784726444357", + "7542871725069391080270213343389444722683777408103033554143042828340526643887", + "9502363618190826927264503377951186073033660324604374823531489866751694300021", + "8942475100033900568271185100922618012810524607209352225513012701802010622336", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "21672484879307704998081070986668301291593477229230485880081317733634466423656", + "12560411374852110641761658167591216057124945743772728716943960683160724056822", + "3722997355103511782752507300407310792223403249171458092438045493962181025019", + "14433522510308019912373989177241241296955315520711007204668297246004835289367", + "21074332145955362315628041254977693445345960799533333435986322886475303250112", + "11688037814420019994761430124416432916208455640936309232737398596294520128684", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "8413591227751150541157599965184931267423827079669402000298235589329872211968", + "17650123658569960265162949890832225475263279247059954604797491790529432356321", + "7032368326020336746840339437615845824739080336621780283569419873917360702928", + "7385147306527643945794759599270778258162448657029306136967713046400437047254", + "9164511581583407790134635624183479582650863721435788581639986518157210097971", + "21232697956642675538653913718380508229639927919821094050264990131998515480363", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "18766563503966172098056598342132389632908065386663557822565991028183540018003", + "19588227650050881742478712753831458567447756852853785637599026881217455808917", + "1397562335684000327360763239099474090628194083907387149001776134346855210172", + "10198846647447159506242448434572704392281982267842998844531477628631237977793", + "4082126476185956308289516001173247963427942564076732012191115788827109604670", + "1259882007354573001457197686554861546488356012943826286439775962762529569759", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "7716815769035341534093079824074304698185682494514188549310576878173077130022", + "2044076383384167496824768664485547753134864604656664348421025061131743608977", + "7774223140652128981941948651155326068745393941932597512012824767919719875428", + "6679985805196174386295848216686508579276442390463151307353623646770660788584", + "6774793209384233535964197412993868564894958211307656732015443437790617825766", + "17867078843395024616403441485600115396944676013587205981831608189485186004136", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "6918083713687670289412597323877415882006094844653186686554461196053948517650", + "14794244995142016109988120927552904368673513765173156992855465350554201454520", + "9469895491505210921132335959822444547950761948532088884408658386318765611458", + "12410499443680346161671381257661336704947211959564338473797332912666796028788", + "7926578664199378339557308917160770386201454695092254922901982085502190339711", + "1074389802911575405482398726791994815320889352331411931514923735327800497648", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "12660721219055881159942064421460786460560697520809352389013840987393603997135", + "4257759001257681685309102971805195284424999843809187868418076529498991787195", + "8970798405382398224814171740357247330369162836256360293947332566119181156885", + "17958544420119383745643163073564878224834088412686597346123856987725643531187", + "17738189036503307406862818984242172707709553320980438963253190315183389070671", + "14287766641051399433873731520879849723607926081596701974021064214044740995654", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "21558827418411379216994978187086694912014548431326761389965315489378942066021", + "7136882485367499209618511242521887384194879969153189708025876500490677483273", + "17220467566610801825959292161481147144970669500227722755203417787632930011521", + "15644351871844947578414272909094033689340289967910075614127700893758848906931", + "21741724266010931381264164854372691714176988715532516896804407315923532276434", + "2419785684404332928492315984637322970326738862445167379156610994774664059995", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "10339805366850086548361875185109456315271528882904249869004576409152632926693", + "19066576437237017989921605377017982206044010175904765960860923934443601514592", + "13822379132369217064164395859669265238386142106084498781870935216496751999075", + "21216485273531618687167053274106121432450196094331038082541464436433083018343", + "1540326880060266517508750499666125605454874001382251434794459985013783734049", + "10979571635040509905158742852019305039752888804051338348133671756054719250675", + "16023668707004248971294664614290028914393192768609916554276071736843535714477", + "17817950236968355275450565661453279500832679749582869473068209804712565393928", + "4057227004326267443894866444790295439173752231112985308059870347643133047427", + "9481547255077304194865834384522710415757401332737060279379100936057225542025", + "19204974983793400699898444372535256207646557857575315905278218870961389967884", + "14672613178263529785795301930884172260797190868602674472542654261498546023746", + "21407770160218607278833379114951608489910182969042472165261557405353704846967", + } + + return S_CONSTANTS +} + +func GET_M_MATRIX() [][]frontend.Variable { + M_MATRIX := [][]frontend.Variable{ + {"16023668707004248971294664614290028914393192768609916554276071736843535714477", + "19204974983793400699898444372535256207646557857575315905278218870961389967884", + "14672613178263529785795301930884172260797190868602674472542654261498546023746", + "21407770160218607278833379114951608489910182969042472165261557405353704846967"}, + {"17849615858846139011678879517964683507928512741474025695659909954675835121177", + "3722304780857845144568029505892077496425786544014166938942516810831732569870", + "20850178060552184587113773087797340350525370429749200838012809627359404457643", + "16058955581309173858487265533260133430557379878452348481750737813742488209262"}, + {"1013663139540921998616312712475594638459213772728467613870351821911056489570", + "11920634922168932145084219049241528148129057802067880076377897257847125830511", + "7082289538076771741936674361200789891432311337766695368327626572220036527624", + "593311177550138061601452020934455734040559402531605836278498327468203888086"}, + {"13211800058103802189838759488224684841774731021206389709687693993627918500545", + "6085682566123812000257211683010755099394491689511511633947011263229442977967", + "1787876543469562003404632310460227730887431311758627706450615128255538398187", + "341662423637860635938968460722645910313598807845686354625820505885069260074"}, + } + + return M_MATRIX +} + +func GET_P_MATRIX() [][]frontend.Variable { + P_MATRIX := [][]frontend.Variable{ + {"16023668707004248971294664614290028914393192768609916554276071736843535714477", + "1219730950550419355108306775069417768387360853368230473071077119306046675572", + "15510244717642334318966561950951002886323209693558586261457615423770062424603", + "11219946567517274434615160614700308041943360069146893241486574665265822013129"}, + {"17849615858846139011678879517964683507928512741474025695659909954675835121177", + "17895496371927328657913965415733510282704230821151428152183928968046205671575", + "12435993608134323226059776526130103965669300982573338632451717852485169465950", + "19939917978926080723093316474977996505935743392066675936804030819065420290084"}, + {"1013663139540921998616312712475594638459213772728467613870351821911056489570", + "1028374094780216331619466080637054051304375033009771928288419347940821888279", + "5643605551164490740833629634586387123466682387363311974272188018328439695366", + "3961412593815053600853163531157674011892719679065160984658051723455387746952"}, + {"13211800058103802189838759488224684841774731021206389709687693993627918500545", + "16436452107226347557423995353975118393704571960279031780622882419612847031696", + "11841890240732656097844244837012648335708695431011214021127380678644769978309", + "10936049757440664316304266313740303505981633272820388610540392640560764966725"}, + } + + return P_MATRIX +} diff --git a/poseidon/bn254/poseidon.go b/poseidon/bn254/poseidon.go new file mode 100644 index 0000000..0e96556 --- /dev/null +++ b/poseidon/bn254/poseidon.go @@ -0,0 +1,43 @@ +package poseidonBn254 + +import ( + "github.com/consensys/gnark/frontend" +) + +type Poseidon interface { + Permute(api frontend.API, state []frontend.Variable) []frontend.Variable +} + +type Permutation struct { + api frontend.API + rangeChecker frontend.Rangechecker + state []frontend.Variable + posiedon Poseidon +} + +func NewPermutation(api frontend.API, poseidon Poseidon) Permutation { + state := make([]frontend.Variable, WIDTH) + for i := 0; i < WIDTH; i++ { + state[i] = frontend.Variable(0) + } + return Permutation{ + api: api, + state: state, + posiedon: poseidon, + } +} + +func (permuter *Permutation) Set(idx int, input frontend.Variable) { + if idx >= WIDTH { + panic("Invalid index provided") + } + permuter.state[idx] = input +} + +func (permuter *Permutation) Permute() { + permuter.state = permuter.posiedon.Permute(permuter.api, permuter.state) +} + +func (permuter *Permutation) Squeeze() []frontend.Variable { + return permuter.state[:RATE] +} diff --git a/poseidon/bn254/poseidon_bn254.go b/poseidon/bn254/poseidon_bn254.go new file mode 100644 index 0000000..a49ebd5 --- /dev/null +++ b/poseidon/bn254/poseidon_bn254.go @@ -0,0 +1,116 @@ +package poseidonBn254 + +import ( + "github.com/consensys/gnark/frontend" +) + +var C_CONSTANTS []frontend.Variable = GET_C_CONSTANTS() +var S_CONSTANTS []frontend.Variable = GET_S_CONSTANTS() +var M_MATRIX [][]frontend.Variable = GET_M_MATRIX() +var P_MATRIX [][]frontend.Variable = GET_P_MATRIX() + +type PoseidonBn254 struct{} + +func (poseidon *PoseidonBn254) Permute(api frontend.API, state []frontend.Variable) []frontend.Variable { + if len(state) != WIDTH { + panic("Invalid number of inputs") + } + + poseidon.ark(api, state, 0) + poseidon.fullRounds(api, state, true) + poseidon.partialRounds(api, state) + poseidon.fullRounds(api, state, false) + + return state +} + +func (poseidon *PoseidonBn254) ark(api frontend.API, state []frontend.Variable, it int) { + for i := 0; i < WIDTH; i++ { + state[i] = api.Add(state[i], C_CONSTANTS[it+i]) + } +} + +func (poseidon *PoseidonBn254) exp5(api frontend.API, x frontend.Variable) frontend.Variable { + aux := x + x = api.Mul(x, x) + x = api.Mul(x, x) + x = api.Mul(x, aux) + + return x +} + +func (poseidon *PoseidonBn254) exp5State(api frontend.API, state []frontend.Variable) { + for i := 0; i < WIDTH; i++ { + state[i] = poseidon.exp5(api, state[i]) + } +} + +func (poseidon *PoseidonBn254) fullRounds(api frontend.API, state []frontend.Variable, first bool) { + for i := 0; i < FULL_ROUNDS/2-1; i++ { + poseidon.exp5State(api, state) + if first { + poseidon.ark(api, state, (i+1)*WIDTH) + } else { + poseidon.ark( + api, + state, + (FULL_ROUNDS/2+1)*WIDTH+PARTIAL_ROUNDS+i*WIDTH, + ) + } + poseidon.mix(api, state, M_MATRIX) + } + + poseidon.exp5State(api, state) + if first { + poseidon.ark(api, state, (FULL_ROUNDS/2)*WIDTH) + poseidon.mix(api, state, P_MATRIX) + } else { + poseidon.mix(api, state, M_MATRIX) + } +} + +func (poseidon *PoseidonBn254) partialRounds(api frontend.API, state []frontend.Variable) { + for i := 0; i < PARTIAL_ROUNDS; i++ { + state[0] = poseidon.exp5(api, state[0]) + state[0] = api.Add(state[0], C_CONSTANTS[(FULL_ROUNDS/2+1)*WIDTH+i]) + + var mul frontend.Variable + newState0 := frontend.Variable(0) + for j := 0; j < WIDTH; j++ { + mul = frontend.Variable(0) + mul = api.Add(mul, S_CONSTANTS[(WIDTH*2-1)*i+j]) + mul = api.Mul(mul, state[j]) + newState0 = api.Add(newState0, mul) + } + + for k := 1; k < WIDTH; k++ { + mul = frontend.Variable(0) + mul = api.Add(mul, state[0]) + mul = api.Mul(mul, S_CONSTANTS[(WIDTH*2-1)*i+WIDTH+k-1]) + state[k] = api.Add(state[k], mul) + } + + state[0] = newState0 + } +} + +func (poseidon *PoseidonBn254) mix(api frontend.API, state []frontend.Variable, constantMatrix [][]frontend.Variable) { + result := make([]frontend.Variable, WIDTH) + for i := 0; i < WIDTH; i++ { + result[i] = 0 + } + + var mul frontend.Variable + for i := 0; i < WIDTH; i++ { + for j := 0; j < WIDTH; j++ { + mul = frontend.Variable(0) + mul = api.Add(mul, constantMatrix[j][i]) + mul = api.Mul(mul, state[j]) + result[i] = api.Add(result[i], mul) + } + } + + for i := 0; i < WIDTH; i++ { + state[i] = result[i] + } +} diff --git a/poseidon/bn254/poseidon_test.go b/poseidon/bn254/poseidon_test.go new file mode 100644 index 0000000..0a06b24 --- /dev/null +++ b/poseidon/bn254/poseidon_test.go @@ -0,0 +1,107 @@ +package poseidonBn254 + +import ( + "testing" + + "github.com/consensys/gnark-crypto/ecc" + "github.com/consensys/gnark/frontend" + "github.com/consensys/gnark/frontend/cs/r1cs" + "github.com/consensys/gnark/test" +) + +type TestPermuteCircuit struct { + Inputs []frontend.Variable + Outputs []frontend.Variable +} + +func (circuit *TestPermuteCircuit) Define(api frontend.API) error { + poseidon := &PoseidonBn254{} + outputs := poseidon.Permute(api, circuit.Inputs) + for i := 0; i < WIDTH; i++ { + api.AssertIsEqual(outputs[i], circuit.Outputs[i]) + } + return nil +} + +func TestPermute(t *testing.T) { + assert := test.NewAssert(t) + + type testData struct { + inputs []frontend.Variable + outputs []frontend.Variable + } + + maxValue := frontend.Variable("21888242871839275222246405745257275088548364400416034343698204186575808495616") + + tests := []testData{ + { + inputs: []frontend.Variable{0, 0, 0, 0}, + outputs: []frontend.Variable{ + "5317387130258456662214331362918410991734007599705406860481038345552731150762", + "17768273200467269691696191901389126520069745877826494955630904743826040320364", + "19413739268543925182080121099097652227979760828059217876810647045303340666757", + "3717738800218482999400886888123026296874264026760636028937972004600663725187", + }, + }, + { + inputs: []frontend.Variable{0, 1, 2, 3}, + outputs: []frontend.Variable{ + "6542985608222806190361240322586112750744169038454362455181422643027100751666", + "3478427836468552423396868478117894008061261013954248157992395910462939736589", + "1904980799580062506738911865015687096398867595589699208837816975692422464009", + "11971464497515232077059236682405357499403220967704831154657374522418385384151", + }, + }, + { + inputs: []frontend.Variable{maxValue, maxValue, maxValue, maxValue}, + outputs: []frontend.Variable{ + "13055670547682322550638362580666986963569035646873545133474324633020685301274", + "19087936485076376314486368416882351797015004625427655501762827988254486144933", + "10391468779200270580383536396630001155994223659670674913170907401637624483385", + "17202557688472898583549180366140168198092766974201433936205272956998081177816", + }, + }, + { + inputs: []frontend.Variable{ + "6542985608222806190361240322586112750744169038454362455181422643027100751666", + "3478427836468552423396868478117894008061261013954248157992395910462939736589", + "1904980799580062506738911865015687096398867595589699208837816975692422464009", + "11971464497515232077059236682405357499403220967704831154657374522418385384151", + }, + outputs: []frontend.Variable{ + "21792249080447013894140672594027696524030291802493510986509431008224624594361", + "3536096706123550619294332177231935214243656967137545251021848527424156573335", + "14869351042206255711434675256184369368509719143073814271302931417334356905217", + "5027523131326906886284185656868809493297314443444919363729302983434650240523", + }, + }, + } + + var circuit TestPermuteCircuit + circuit.Inputs = make([]frontend.Variable, WIDTH) + circuit.Outputs = make([]frontend.Variable, WIDTH) + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("Error in compiling circuit: ", err) + } + + for _, t_i := range tests { + var witness TestPermuteCircuit + witness.Inputs = make([]frontend.Variable, WIDTH) + witness.Outputs = make([]frontend.Variable, WIDTH) + for i := 0; i < WIDTH; i++ { + witness.Inputs[i] = t_i.inputs[i] + witness.Outputs[i] = t_i.outputs[i] + } + + w, err := frontend.NewWitness(&witness, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err, "\n test: ", t_i) + } + err = r1cs.IsSolved(w) + if err != nil { + t.Fatal("Circuit not solved: ", err, "\n test: ", t_i) + } + assert.CheckCircuit(&circuit, test.WithValidAssignment(&witness), test.WithCurves(ecc.BN254)) + } +} diff --git a/poseidon/poseidon.go b/poseidon/goldilocks/poseidon.go similarity index 98% rename from poseidon/poseidon.go rename to poseidon/goldilocks/poseidon.go index dc452b0..1574209 100644 --- a/poseidon/poseidon.go +++ b/poseidon/goldilocks/poseidon.go @@ -1,4 +1,4 @@ -package poseidon +package poseidonGoldilocks import ( "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" diff --git a/poseidon/poseidon_goldilocks.go b/poseidon/goldilocks/poseidon_goldilocks.go similarity index 99% rename from poseidon/poseidon_goldilocks.go rename to poseidon/goldilocks/poseidon_goldilocks.go index 85dccc5..bbc65dc 100644 --- a/poseidon/poseidon_goldilocks.go +++ b/poseidon/goldilocks/poseidon_goldilocks.go @@ -1,4 +1,4 @@ -package poseidon +package poseidonGoldilocks import ( "math/big" diff --git a/poseidon/poseidon_goldilocks_constants.go b/poseidon/goldilocks/poseidon_goldilocks_constants.go similarity index 99% rename from poseidon/poseidon_goldilocks_constants.go rename to poseidon/goldilocks/poseidon_goldilocks_constants.go index 97a0d1c..fe016f8 100644 --- a/poseidon/poseidon_goldilocks_constants.go +++ b/poseidon/goldilocks/poseidon_goldilocks_constants.go @@ -1,4 +1,4 @@ -package poseidon +package poseidonGoldilocks import ( "fmt" diff --git a/poseidon/poseidon_goldilocks_ext.go b/poseidon/goldilocks/poseidon_goldilocks_ext.go similarity index 99% rename from poseidon/poseidon_goldilocks_ext.go rename to poseidon/goldilocks/poseidon_goldilocks_ext.go index f1d2125..93778f7 100644 --- a/poseidon/poseidon_goldilocks_ext.go +++ b/poseidon/goldilocks/poseidon_goldilocks_ext.go @@ -1,4 +1,4 @@ -package poseidon +package poseidonGoldilocks // import ( // "math/big" diff --git a/poseidon/poseidon_goldilocks_test.go b/poseidon/goldilocks/poseidon_goldilocks_test.go similarity index 98% rename from poseidon/poseidon_goldilocks_test.go rename to poseidon/goldilocks/poseidon_goldilocks_test.go index a05d645..13515d4 100644 --- a/poseidon/poseidon_goldilocks_test.go +++ b/poseidon/goldilocks/poseidon_goldilocks_test.go @@ -1,4 +1,4 @@ -package poseidon +package poseidonGoldilocks import ( "testing" diff --git a/poseidon2/poseidon2.go b/poseidon2/poseidon2.go new file mode 100644 index 0000000..1d87b98 --- /dev/null +++ b/poseidon2/poseidon2.go @@ -0,0 +1,163 @@ +package poseidon2 + +import ( + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type Poseidon2Goldilocks struct{} + +func MatmulM4(api frontend.API, rangeChecker frontend.Rangechecker, inputs []goldilocks.GoldilocksVariable) { + const t4 = WIDTH / 4 + for i := 0; i < t4; i++ { + start_index := i * 4 + t_0 := api.Add(inputs[start_index].Limb, inputs[start_index+1].Limb) + t_1 := api.Add(inputs[start_index+2].Limb, inputs[start_index+3].Limb) + t_2 := api.Mul(t_1, 1) + + t_2Copy := api.Mul(t_2, 1) + t_2 = api.MulAcc(t_2Copy, inputs[start_index+1].Limb, 2) + + t_3 := api.Mul(t_0, 1) + + t_3Copy := api.Mul(t_3, 1) + t_3 = api.MulAcc(t_3Copy, inputs[start_index+3].Limb, 2) + + t_4 := api.Mul(t_3, 1) + + t_4Copy := api.Mul(t_4, 1) + t_4 = api.MulAcc(t_4Copy, t_1, 4) + + t_5 := api.Mul(t_2, 1) + + t_5Copy := api.Mul(t_5, 1) + t_5 = api.MulAcc(t_5Copy, t_0, 4) + + // t2 -> 66 + // t3 -> 66 + // t4 -> 67 + // t5 -> 67 + inputs[start_index] = goldilocks.Reduce(api, rangeChecker, api.Add(t_3, t_5), 68) + inputs[start_index+1] = goldilocks.Reduce(api, rangeChecker, t_5, 67) + inputs[start_index+2] = goldilocks.Reduce(api, rangeChecker, api.Add(t_2, t_4), 68) + inputs[start_index+3] = goldilocks.Reduce(api, rangeChecker, t_4, 67) + } +} + +func MatmulExternal(api frontend.API, rangeChecker frontend.Rangechecker, inputs []goldilocks.GoldilocksVariable) { + // Applying cheap 4x4 MDS matrix to each 4-element part of the state + MatmulM4(api, rangeChecker, inputs) + + // Applying second cheap matrix for t > 4 + // Compute store = [M4, M4, M4] * x + t4 := WIDTH / 4 + storedNoReduce := make([]frontend.Variable, 4) + + for l := 0; l < 4; l++ { + storedNoReduce[l] = inputs[l].Limb + for j := 1; j < t4; j++ { + storedNoReduce[l] = api.Add(storedNoReduce[l], inputs[4*j+l].Limb) + } + } + + // Compute store + circ[M4,0,0] * X + inputsNoReduce := make([]frontend.Variable, len(inputs)) + for i := 0; i < len(inputs); i++ { + inputsNoReduce[i] = api.Add(inputs[i].Limb, storedNoReduce[i%4]) + } + for l := 0; l < len(inputs); l++ { + inputs[l] = goldilocks.Reduce(api, rangeChecker, inputsNoReduce[l], 66) + } +} + +func MatmulInternal(api frontend.API, rangeChecker frontend.Rangechecker, inputs []goldilocks.GoldilocksVariable) { + // state := make([]goldilocks.GoldilocksVariable, WIDTH) + // for r := 0; r < WIDTH; r++ { + // state[r] = inputs[r] + // } + + // Compute inputs Sum + sum := frontend.Variable(0) + for i := 0; i < len(inputs); i++ { + sum = api.Add(sum, inputs[i].Limb) + } + + // Add sum + diag entry * element to each element + for i := 0; i < WIDTH; i++ { + matInternalDiag := api.Sub(MAT_DIAG12_M_1(i), 1) + multiNoReduce := api.Add(api.Mul(matInternalDiag, inputs[i].Limb), sum) + multi := goldilocks.Reduce(api, rangeChecker, multiNoReduce, 128) // sure 128? + inputs[i] = multi + } +} + +func ConstantLayer(api frontend.API, rangeChecker frontend.Rangechecker, state []goldilocks.GoldilocksVariable, roundCtr int) { + for i := 0; i < WIDTH; i++ { + state[i] = goldilocks.Add(api, rangeChecker, state[i], goldilocks.GoldilocksVariable{Limb: RC12(roundCtr, i)}) + } +} + +func SboxMonomial(api frontend.API, rangeChecker frontend.Rangechecker, x goldilocks.GoldilocksVariable) goldilocks.GoldilocksVariable { + // x |--> x^7 + x2NoReduce := api.Mul(x.Limb, x.Limb) + x3NoReduce := api.Mul(x.Limb, x2NoReduce) + x3 := goldilocks.Reduce(api, rangeChecker, x3NoReduce, 192) + x4NoReduce := api.Mul(x.Limb, x3.Limb) + x7NoReduce := api.Mul(x3.Limb, x4NoReduce) + x7 := goldilocks.Reduce(api, rangeChecker, x7NoReduce, 192) + return x7 +} + +func SboxLayer(api frontend.API, rangeChecker frontend.Rangechecker, state []goldilocks.GoldilocksVariable) { + for i := 0; i < WIDTH; i++ { + if i < WIDTH { + state[i] = SboxMonomial(api, rangeChecker, state[i]) + } + } + +} + +func Poseidon2(api frontend.API, rangeChecker frontend.Rangechecker, currentState []goldilocks.GoldilocksVariable) { + // M_E * X + MatmulExternal(api, rangeChecker, currentState) + + // External_i, i in {0 - R_F/2 -1} + for roundCtr := 0; roundCtr < ROUND_F_BEGIN; roundCtr++ { + ConstantLayer(api, rangeChecker, currentState, roundCtr) + SboxLayer(api, rangeChecker, currentState) + MatmulExternal(api, rangeChecker, currentState) + } + + // Internal_i + for r := 0; r < ROUND_P; r++ { + // TODO: optimization possible? + + // t_0 = x_0 + c_0^i + currentState[0] = goldilocks.Add(api, rangeChecker, currentState[0], goldilocks.GoldilocksVariable{Limb: RC12_MID(r)}) + // t_1 = t_0^7 + currentState[0] = SboxMonomial(api, rangeChecker, currentState[0]) + // M_I * t_1 + MatmulInternal(api, rangeChecker, currentState) + } + + // External_i, i in {R_F/2 = R/F - 1} + for roundCtr := ROUND_F_BEGIN; roundCtr < ROUND_F_END; roundCtr++ { + ConstantLayer(api, rangeChecker, currentState, roundCtr) + SboxLayer(api, rangeChecker, currentState) + MatmulExternal(api, rangeChecker, currentState) + } +} + +func (poseidon *Poseidon2Goldilocks) Permute(api frontend.API, rangeChecker frontend.Rangechecker, inputs []goldilocks.GoldilocksVariable) []goldilocks.GoldilocksVariable { + if len(inputs) != WIDTH { + panic("Invalid number of inputs") + } + + // slice x + currentState := make([]goldilocks.GoldilocksVariable, 12) + for j := 0; j < WIDTH; j++ { + currentState[j] = inputs[j] + } + Poseidon2(api, rangeChecker, currentState) + return currentState +} diff --git a/poseidon2/poseidon2_constants.go b/poseidon2/poseidon2_constants.go new file mode 100644 index 0000000..5de00ae --- /dev/null +++ b/poseidon2/poseidon2_constants.go @@ -0,0 +1,195 @@ +package poseidon2 + +import ( + "fmt" + "math/big" +) + +const WIDTH = 12 +const ROUND_F_BEGIN = 4 +const ROUND_F_END = 2 * ROUND_F_BEGIN +const ROUND_P = 22 + +func hexToBigInt(s string) (*big.Int, bool) { + n := new(big.Int) + out, ok := n.SetString(s, 16) + return out, ok + +} + +func RC12(i int, j int) *big.Int { + rci2 := [ROUND_F_END][WIDTH]string{ + { + "13dcf33aba214f46", + "30b3b654a1da6d83", + "1fc634ada6159b56", + "937459964dc03466", + "edd2ef2ca7949924", + "ede9affde0e22f68", + "8515b9d6bac9282d", + "6b5c07b4e9e900d8", + "1ec66368838c8a08", + "9042367d80d1fbab", + "400283564a3c3799", + "4a00be0466bca75e", + }, + { + "7913beee58e3817f", + "f545e88532237d90", + "22f8cb8736042005", + "6f04990e247a2623", + "fe22e87ba37c38cd", + "d20e32c85ffe2815", + "117227674048fe73", + "4e9fb7ea98a6b145", + "e0866c232b8af08b", + "00bbc77916884964", + "7031c0fb990d7116", + "240a9e87cf35108f", + }, + { + "2e6363a5a12244b3", + "5e1c3787d1b5011c", + "4132660e2a196e8b", + "3a013b648d3d4327", + "f79839f49888ea43", + "fe85658ebafe1439", + "b6889825a14240bd", + "578453605541382b", + "4508cda8f6b63ce9", + "9c3ef35848684c91", + "0812bde23c87178c", + "fe49638f7f722c14", + }, + { + "8e3f688ce885cbf5", + "b8e110acf746a87d", + "b4b2e8973a6dabef", + "9e714c5da3d462ec", + "6438f9033d3d0c15", + "24312f7cf1a27199", + "23f843bb47acbf71", + "9183f11a34be9f01", + "839062fbb9d45dbf", + "24b56e7e6c2e43fa", + "e1683da61c962a72", + "a95c63971a19bfa7", + }, + { + "c68be7c94882a24d", + "af996d5d5cdaedd9", + "9717f025e7daf6a5", + "6436679e6e7216f4", + "8a223d99047af267", + "bb512e35a133ba9a", + "fbbf44097671aa03", + "f04058ebf6811e61", + "5cca84703fac7ffb", + "9b55c7945de6469f", + "8e05bf09808e934f", + "2ea900de876307d7", + }, + { + "7748fff2b38dfb89", + "6b99a676dd3b5d81", + "ac4bb7c627cf7c13", + "adb6ebe5e9e2f5ba", + "2d33378cafa24ae3", + "1e5b73807543f8c2", + "09208814bfebb10f", + "782e64b6bb5b93dd", + "add5a48eac90b50f", + "add4c54c736ea4b1", + "d58dbb86ed817fd8", + "6d5ed1a533f34ddd", + }, + { + "28686aa3e36b7cb9", + "591abd3476689f36", + "047d766678f13875", + "a2a11112625f5b49", + "21fd10a3f8304958", + "f9b40711443b0280", + "d2697eb8b2bde88e", + "3493790b51731b3f", + "11caf9dd73764023", + "7acfb8f72878164e", + "744ec4db23cefc26", + "1e00e58f422c6340", + }, + { + "21dd28d906a62dda", + "f32a46ab5f465b5f", + "bfce13201f3f7e6b", + "f30d2e7adb5304e2", + "ecdf4ee4abad48e9", + "f94e82182d395019", + "4ee52e3744d887c5", + "a1341c7cac0083b2", + "2302fb26c30c834a", + "aea3c587273bf7d3", + "f798e24961823ec7", + "962deba3e9a2cd94", + }, + } + + out, ok := hexToBigInt(rci2[i][j]) + if !ok { + panic(fmt.Sprintf("RC12 hexToBigInt %s", rci2[i][j])) + } + return out +} + +func RC12_MID(i int) *big.Int { + rc12Mid := [ROUND_P]string{ + "4adf842aa75d4316", + "f8fbb871aa4ab4eb", + "68e85b6eb2dd6aeb", + "07a0b06b2d270380", + "d94e0228bd282de4", + "8bdd91d3250c5278", + "209c68b88bba778f", + "b5e18cdab77f3877", + "b296a3e808da93fa", + "8370ecbda11a327e", + "3f9075283775dad8", + "b78095bb23c6aa84", + "3f36b9fe72ad4e5f", + "69bc96780b10b553", + "3f1d341f2eb7b881", + "4e939e9815838818", + "da366b3ae2a31604", + "bc89db1e7287d509", + "6102f411f9ef5659", + "58725c5e7ac1f0ab", + "0df5856c798883e7", + "f7bb62a8da4c961b", + } + out, ok := hexToBigInt(rc12Mid[i]) + if !ok { + panic(fmt.Sprintf("RC12_MID hexToBigInt %s", rc12Mid[i])) + } + return out +} + +func MAT_DIAG12_M_1(i int) *big.Int { + matDiag12M1 := [WIDTH]string{ + "c3b6c08e23ba9300", + "d84b5de94a324fb6", + "0d0c371c5b35b84f", + "7964f570e7188037", + "5daf18bbd996604b", + "6743bc47b9595257", + "5528b9362c59bb70", + "ac45e25b7127b68b", + "a2077d7dfbb606b5", + "f3faac6faee378ae", + "0c6388b51545e883", + "d27dbb6944917b60", + } + out, ok := hexToBigInt(matDiag12M1[i]) + if !ok { + panic(fmt.Sprintf("MAT_DIAG12_M_1 hexToBigInt %s", matDiag12M1[i])) + } + return out +} diff --git a/poseidon2/poseidon2_test.go b/poseidon2/poseidon2_test.go new file mode 100644 index 0000000..fc3feaa --- /dev/null +++ b/poseidon2/poseidon2_test.go @@ -0,0 +1,77 @@ +package poseidon2 + +import ( + "testing" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark-crypto/ecc" + "github.com/consensys/gnark/frontend" + "github.com/consensys/gnark/frontend/cs/r1cs" + "github.com/consensys/gnark/std/rangecheck" + "github.com/consensys/gnark/test" +) + +type TestPermuteCircuit struct { + Inputs []goldilocks.GoldilocksVariable + Outputs []goldilocks.GoldilocksVariable +} + +func (circuit *TestPermuteCircuit) Define(api frontend.API) error { + rangeChecker := rangecheck.New(api) + poseidon2_goldilocks := &Poseidon2Goldilocks{} + outputs := poseidon2_goldilocks.Permute(api, rangeChecker, circuit.Inputs) + for i := 0; i < WIDTH; i++ { + api.AssertIsEqual(outputs[i].Limb, circuit.Outputs[i].Limb) + } + return nil +} + +func TestPermute(t *testing.T) { + assert := test.NewAssert(t) + + type testData struct { + inputs []uint64 + outputs []uint64 + } + + tests := []testData{ + {inputs: []uint64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, outputs: []uint64{ + 0x258f5d724d96657c, 0xe4705cb2bdf352a9, 0x1c7a64d9a419b8d1, 0x85ea4b31a2a80852, + 0x1c3905a5ad453c05, 0xe189827abb2b2fd7, 0x19f188debb97ed74, 0x058a27827177cb53, + 0x0d5e4495f37fe126, 0x04d49ddd80ef3a86, 0x76249c9cf812fde9, 0xba5ed5def4919125, + }}, + {inputs: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, outputs: []uint64{ + 0xc928fbab20588837, 0x8f58371184fbe53f, 0x413421022574c26f, 0xcb64c3b646f0a5ea, + 0xc2d9ae62a5d6c49b, 0xfdb53a50adebbb2b, 0x5e79cc08e39887e3, 0x542ef4595fb6bd26, + 0x4b1b01c646a4059b, 0xcf95ccb2224efb91, 0x436dfb5c41b87e7d, 0x7c7fb3bba5883d48, + }}, + } + + var circuit TestPermuteCircuit + circuit.Inputs = make([]goldilocks.GoldilocksVariable, WIDTH) + circuit.Outputs = make([]goldilocks.GoldilocksVariable, WIDTH) + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("Error in compiling circuit: ", err) + } + + for _, t_i := range tests { + var witness TestPermuteCircuit + witness.Inputs = make([]goldilocks.GoldilocksVariable, WIDTH) + witness.Outputs = make([]goldilocks.GoldilocksVariable, WIDTH) + for i := 0; i < WIDTH; i++ { + witness.Inputs[i] = goldilocks.GetGoldilocksVariable(t_i.inputs[i]) + witness.Outputs[i] = goldilocks.GetGoldilocksVariable(t_i.outputs[i]) + } + + w, err := frontend.NewWitness(&witness, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err, "\n test: ", t_i) + } + err = r1cs.IsSolved(w) + if err != nil { + t.Fatal("Circuit not solved: ", err, "\n test: ", t_i) + } + assert.CheckCircuit(&circuit, test.WithValidAssignment(&witness), test.WithCurves(ecc.BN254)) + } +} diff --git a/testdata/arithmetic_extension_constraints.json b/testdata/arithmetic_extension_constraints.json new file mode 100644 index 0000000..32d8b08 --- /dev/null +++ b/testdata/arithmetic_extension_constraints.json @@ -0,0 +1,646 @@ +{ + "vars": { + "local_constants": [ + [ + 2269309163135090909, + 2000432567660058214 + ], + [ + 3457415108458666001, + 5206365066565175081 + ] + ], + "local_wires": [ + [ + 2848301904354768234, + 4704117589087096884 + ], + [ + 8755707834453545315, + 6488940558635023338 + ], + [ + 9960879392399661506, + 12071324623116762599 + ], + [ + 13923878788656866197, + 5616759604107476277 + ], + [ + 10109180651437072380, + 13453080166066108265 + ], + [ + 109887138206914035, + 2109984105504985064 + ], + [ + 16490649134580618667, + 10603945737710688125 + ], + [ + 8061035358610916899, + 13084307346970809806 + ], + [ + 18200178094470704286, + 2819338929986589749 + ], + [ + 15073241858969292995, + 10292684798321782412 + ], + [ + 11884458389277176514, + 6892058851989986426 + ], + [ + 18042047221576369757, + 1008282368753293935 + ], + [ + 13515290113082176175, + 6256166184602049498 + ], + [ + 15930980884010502788, + 16975064255033674606 + ], + [ + 12019431296758765668, + 9618011344676594484 + ], + [ + 7949171386107018977, + 17068719963377778448 + ], + [ + 9736069741128973341, + 16653170734692560969 + ], + [ + 1239111167622967478, + 10135078764190874329 + ], + [ + 11883395508557945616, + 5700131281542672610 + ], + [ + 2421194563648365564, + 10279129612647047096 + ], + [ + 14541866818802906656, + 4988709327528803902 + ], + [ + 11379061095767624969, + 15569726293117307988 + ], + [ + 18080942212884642897, + 1299298022932063090 + ], + [ + 378015886612353135, + 13508635695660540706 + ], + [ + 643482657222141209, + 10547697685447816424 + ], + [ + 6908484033411084670, + 16267916658114659294 + ], + [ + 14438403360731212301, + 6773798893072371956 + ], + [ + 11809390538385088010, + 12193572621843844927 + ], + [ + 4148772360214762610, + 6414667604237125494 + ], + [ + 14150625976762440218, + 9480574841565896426 + ], + [ + 2715237840176578212, + 12073328513084079858 + ], + [ + 7582285573959593128, + 2977652941621433554 + ], + [ + 6150465804574439473, + 6417609601065021626 + ], + [ + 6621730200338934600, + 11778346628932527706 + ], + [ + 12479683186686260447, + 233583979939331441 + ], + [ + 2164373186629591845, + 7680934803799478044 + ], + [ + 11823534414804884568, + 7524906690334938750 + ], + [ + 8993599800750336731, + 3770839131392047894 + ], + [ + 13402941716752765998, + 7189455571761527934 + ], + [ + 6573680763471760590, + 11217496802354476906 + ], + [ + 10286693504238330512, + 8374831281089652961 + ], + [ + 6092030533913301950, + 8047049969456015097 + ], + [ + 1672628393080226966, + 17743688721977875990 + ], + [ + 9665047815421798665, + 2176341201097581329 + ], + [ + 170167784355295341, + 14385381089250869481 + ], + [ + 3714744826443919618, + 17107470503326541211 + ], + [ + 2140796512086442035, + 8746452419211684948 + ], + [ + 13398135956876011863, + 5241561777180993194 + ], + [ + 15122112406691663419, + 17406023019127162700 + ], + [ + 7808708596674407483, + 625587618645622331 + ], + [ + 11385641761831620777, + 226500798936402642 + ], + [ + 648598679580321970, + 4188794785806828466 + ], + [ + 2960317780959718661, + 4885485502806324318 + ], + [ + 2052915703458797976, + 5999113507616918861 + ], + [ + 8290796232652418984, + 353243122741444219 + ], + [ + 10962018271123143330, + 1211858584803577158 + ], + [ + 79609410850096256, + 10766600138560208567 + ], + [ + 3901820774090896427, + 4613561603552532471 + ], + [ + 13904084519980294107, + 12572815093501530053 + ], + [ + 16556215885123079734, + 6155976317307341946 + ], + [ + 916582361025204935, + 6151272710374052020 + ], + [ + 15227386484553322409, + 9191514158130522597 + ], + [ + 719403007964165695, + 6134947660249014199 + ], + [ + 7155666114698899720, + 18231441990200349407 + ], + [ + 7761028809734991868, + 8342635777658660140 + ], + [ + 16771885969437486889, + 11224789011579274475 + ], + [ + 3403725582953757011, + 8399926649984382340 + ], + [ + 6946294786971919797, + 9733566162285000534 + ], + [ + 6369363365972008423, + 5900380382929103612 + ], + [ + 2875028686490101518, + 1549035516761231808 + ], + [ + 12579656807630259800, + 535058827858975833 + ], + [ + 3546559943878763669, + 14871619136555250721 + ], + [ + 6346880400324143597, + 14721883680794397038 + ], + [ + 11388863718749629869, + 4798012240224439654 + ], + [ + 11514354352664796307, + 1195895328442859689 + ], + [ + 16349355413207293158, + 18039223787095933415 + ], + [ + 10616570007127969140, + 15313782732919418646 + ], + [ + 656462723427560634, + 18079859523201114521 + ], + [ + 8778943534605933756, + 16125133300268395689 + ], + [ + 10050957561001302354, + 1825766738878250219 + ], + [ + 5859355659020413606, + 11351835987169606823 + ], + [ + 5079383420238319720, + 5342248257899653099 + ], + [ + 3227767480537690105, + 2159050843238861589 + ], + [ + 15389242132417035398, + 1432669036830894293 + ], + [ + 13081767368056089754, + 11973167062196904011 + ], + [ + 7608630546518687230, + 8029824469534482230 + ], + [ + 7566339470718479868, + 12159388808484449582 + ], + [ + 8028362303523658438, + 17469232527259242878 + ], + [ + 14859096100309646112, + 14218639277516990770 + ], + [ + 10383130810033370878, + 2462334071577738133 + ], + [ + 13566062224289301252, + 3711099507020796793 + ], + [ + 9013686736181628675, + 15728298474613621241 + ], + [ + 5616892850150732503, + 7067649748715681914 + ], + [ + 562606238257098319, + 1386317503471987536 + ], + [ + 4486960419060948295, + 15193124964759158460 + ], + [ + 17179901676914507094, + 12690279185674731047 + ], + [ + 11210435275649867501, + 17822933211609327473 + ], + [ + 10510990815649969089, + 7161862602904051226 + ], + [ + 2525337486069662309, + 9026379159277257828 + ], + [ + 6062888864594022477, + 10295794447400957669 + ], + [ + 15605781461117792227, + 6887847715224102910 + ], + [ + 9000693365253283090, + 4952212834077510314 + ], + [ + 11236510299759594967, + 1877524209103093279 + ], + [ + 1031135614273458505, + 18311016208151769678 + ], + [ + 2014192384036381052, + 5507256647564396478 + ], + [ + 18304105732719727586, + 10140011456766592634 + ], + [ + 3318656538511959966, + 12450099362934845055 + ], + [ + 16942609536158090190, + 13306844645839127066 + ], + [ + 7359140799383667221, + 1976172185744182156 + ], + [ + 16553306466660496714, + 12595421980885561891 + ], + [ + 12841464507852219802, + 5146608260785501356 + ], + [ + 6620285034315168626, + 12114476618815405766 + ], + [ + 16659728850589558432, + 8506147712076637069 + ], + [ + 666950685819425335, + 10928651492563587612 + ], + [ + 7770499919145946363, + 8917211288449839896 + ], + [ + 9903478515715213675, + 11241022094655453969 + ], + [ + 8540334824975180221, + 18098411383055951004 + ], + [ + 16980411563909307777, + 5931395287724890991 + ], + [ + 16159738150573061919, + 16066511261964644539 + ], + [ + 4279546068779745139, + 1888923375764889643 + ], + [ + 6252189493809717962, + 17964486299383331137 + ], + [ + 13694683140803576318, + 13221079604010290273 + ], + [ + 10308582839741398580, + 11716917409582460222 + ], + [ + 10459570711356558819, + 13772805532168512658 + ], + [ + 12637332181156620809, + 9201082040330402737 + ], + [ + 14122728729622392049, + 3772133414875223560 + ], + [ + 16153649033354473454, + 12228227172171299728 + ], + [ + 8262052386868010839, + 16104557738393644671 + ], + [ + 6088405643887405212, + 658561085075563566 + ], + [ + 5409009935103762272, + 7729497960065483450 + ], + [ + 3590333022609136943, + 8824097353472327478 + ], + [ + 1249724517836948077, + 10481805149715832669 + ], + [ + 14882731963456584869, + 13209626843291151651 + ], + [ + 4270756743649542853, + 5581635715963096904 + ], + [ + 28079747217800600, + 17921895028730637472 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 5583794370335574269, + 14611000681188638883 + ], + [ + 5930942835852429641, + 9496126866217897706 + ], + [ + 14436496703614538742, + 4532920502482829693 + ], + [ + 10524655442446711169, + 1081994620579146013 + ], + [ + 17808446064865664223, + 15895311321875541880 + ], + [ + 8535407589819620714, + 13632338805874821424 + ], + [ + 2170617475880845980, + 5263784948540858449 + ], + [ + 14279470797908588853, + 14551533318458186108 + ], + [ + 9208342102404993014, + 14126295148035100537 + ], + [ + 1649475587024540979, + 11569886325944372866 + ], + [ + 8896319042060819606, + 12295827357614477825 + ], + [ + 11191774910022315088, + 6357020418966331337 + ], + [ + 103026942856031337, + 6894350591324295265 + ], + [ + 15093521819081643308, + 15794067901610509902 + ], + [ + 14483381219751343291, + 4530123688039483414 + ], + [ + 7541435008841837128, + 2774680288035865050 + ], + [ + 1640533601888421963, + 11072728372001267714 + ], + [ + 8622624613878906094, + 3114063704806203105 + ], + [ + 17425240820284865901, + 9679830448903654641 + ], + [ + 9460045896577719809, + 15498384737000626793 + ] + ] +} \ No newline at end of file diff --git a/testdata/base_sum_constraints.json b/testdata/base_sum_constraints.json new file mode 100644 index 0000000..4f94e2e --- /dev/null +++ b/testdata/base_sum_constraints.json @@ -0,0 +1,822 @@ +{ + "vars": { + "local_constants": [ + [ + 14933190188080624022, + 10023327618020674626 + ], + [ + 17973950734291305185, + 4987116617822744774 + ] + ], + "local_wires": [ + [ + 4942796330937619784, + 1358151991621228154 + ], + [ + 4446350406089070746, + 15526130975654919224 + ], + [ + 6750977972059107574, + 14494199359160690754 + ], + [ + 5432680656249535934, + 14645869520428426585 + ], + [ + 437661143360831908, + 8433365692083361696 + ], + [ + 1395913539388189363, + 14315537847963180462 + ], + [ + 14069909616147271008, + 1598245400141307663 + ], + [ + 2518921973127709395, + 1137302612657637785 + ], + [ + 17298253630711457211, + 3145452147534744304 + ], + [ + 16335879293719210868, + 6049808510466145196 + ], + [ + 16375805871887476802, + 4167329404483492761 + ], + [ + 10362603939408217747, + 6473225590849654531 + ], + [ + 10357789817413581200, + 10400738920631584115 + ], + [ + 11099901034995023083, + 900598179582827102 + ], + [ + 7663895403499721938, + 14398289312707721613 + ], + [ + 5256428842580613599, + 1053815115608837460 + ], + [ + 865079363475584046, + 2630013397666914928 + ], + [ + 105123514583481091, + 11725366367011219271 + ], + [ + 4731618530093758824, + 17996192818462852317 + ], + [ + 3715697764101409247, + 8306561233826697550 + ], + [ + 5966821161077062330, + 14713896157265901908 + ], + [ + 8175821202723737495, + 4748520575257496559 + ], + [ + 12742690919898069422, + 1104326763800658729 + ], + [ + 13367261951232334763, + 11973232968283392318 + ], + [ + 1255461056427844835, + 14692830863004930357 + ], + [ + 9106336435526660048, + 14255616927513005318 + ], + [ + 3544136764247239860, + 1045254595666341215 + ], + [ + 9279179661774356975, + 4334226507063835116 + ], + [ + 1380251736088607612, + 3066923962210179488 + ], + [ + 13334215208074633011, + 3822640939680540574 + ], + [ + 16655792199373993543, + 12106803088482597529 + ], + [ + 18121938621172689795, + 49706067131514659 + ], + [ + 5321931323193233254, + 4950974318539964303 + ], + [ + 6549338215578128344, + 8798472036226307206 + ], + [ + 7666384722538581779, + 1466834739730671720 + ], + [ + 3235789783369492405, + 501244906813875532 + ], + [ + 14297889609676634027, + 14450438879262617061 + ], + [ + 16027811762240388543, + 16156735070058432016 + ], + [ + 6504235814673913908, + 5096824187941158898 + ], + [ + 1269314200298272928, + 5967218227168513690 + ], + [ + 3802848283103395620, + 1699143091572049197 + ], + [ + 16892840408323568111, + 13999963507731698762 + ], + [ + 1707118456363188420, + 3216888195068462914 + ], + [ + 7775367075148721194, + 12813478769104805474 + ], + [ + 7625421204961929732, + 13526473805012849797 + ], + [ + 3704276909969857005, + 8729627633082566683 + ], + [ + 108173980246900222, + 503104389032775503 + ], + [ + 1619603808924626918, + 13200482494230844633 + ], + [ + 10130755937386279738, + 7735400539538178552 + ], + [ + 5503794641211744545, + 9268760441549423599 + ], + [ + 9325152930000865149, + 2545100069730458737 + ], + [ + 574316919037335861, + 148928538486684555 + ], + [ + 3315952010282540533, + 18276784683928265888 + ], + [ + 6971414275743599136, + 18280741759304677887 + ], + [ + 13951579992504433064, + 15375788600631136342 + ], + [ + 8784919608191792916, + 13547301221755860854 + ], + [ + 2168000222964499473, + 8808235562061717327 + ], + [ + 7620632811486489244, + 9380053065181074654 + ], + [ + 16446853541595136659, + 10026994507061377674 + ], + [ + 11621917811718062772, + 18067420223263863045 + ], + [ + 897329213892181282, + 10740777005603776980 + ], + [ + 11541696966671961081, + 17164228588031065782 + ], + [ + 7749861392529401498, + 3822051316426858269 + ], + [ + 13146758454630664451, + 17634106378438015321 + ], + [ + 15043961004516868345, + 6130930589489757766 + ], + [ + 9503418517965449792, + 15862396025183411904 + ], + [ + 1797793880151562384, + 12803457209570731883 + ], + [ + 17894816816685341798, + 10594018673963392308 + ], + [ + 9018742741394890974, + 4459694852414915399 + ], + [ + 18363284041113395526, + 2907464595572033291 + ], + [ + 7034958201375772864, + 5387634730226729941 + ], + [ + 12725696328201094926, + 2339685405473881479 + ], + [ + 9069189759783206934, + 6083909411018262898 + ], + [ + 6088706832397892626, + 14101703715170101587 + ], + [ + 17468617097552191285, + 1360297706651540113 + ], + [ + 3528835804424500669, + 9754948826967063203 + ], + [ + 11974355885198064067, + 2216453362186601091 + ], + [ + 4552739519432093251, + 10137968017119182359 + ], + [ + 10767342297495548438, + 3194539090276205752 + ], + [ + 5695157573495513604, + 16399336162183561496 + ], + [ + 3287107256751748215, + 4213909801617870444 + ], + [ + 17085386904679846111, + 3953422873779124624 + ], + [ + 16816071655136952314, + 1447028536571914258 + ], + [ + 881053897444765534, + 12360834597304160818 + ], + [ + 13112799518835197219, + 10233598411221814341 + ], + [ + 14181921568944783533, + 13661319523218875526 + ], + [ + 2232577408513451264, + 5491412844374931245 + ], + [ + 16279615301245844362, + 15742099425907443109 + ], + [ + 9141885277110107720, + 17638359979208055974 + ], + [ + 16438884882712048896, + 16667879937915365984 + ], + [ + 18122881317683276537, + 1148603038089415947 + ], + [ + 17832255855674368593, + 6441601010161807025 + ], + [ + 7261885381239843226, + 5326714743209301535 + ], + [ + 13724285861467212400, + 11484282796537002696 + ], + [ + 613044489947633145, + 9650211800363134502 + ], + [ + 10300673294199917592, + 2779231173815724066 + ], + [ + 8497522180583406396, + 13934206186180673476 + ], + [ + 7414382417375890819, + 3577039581262317425 + ], + [ + 9077993895979129762, + 15055097859819857354 + ], + [ + 538472332817302577, + 2450846924242490238 + ], + [ + 3838397247433018539, + 5180205821977785144 + ], + [ + 13186563498513308495, + 14978223343058818802 + ], + [ + 6386939599110514818, + 1851623226983797106 + ], + [ + 13565526170572848253, + 16310417243689848983 + ], + [ + 16316065480464146571, + 13702233438559142734 + ], + [ + 15206420094390040539, + 18163682775348502012 + ], + [ + 11001553970828627472, + 14553181665443212625 + ], + [ + 13461611605558154313, + 9404481658999163278 + ], + [ + 6602016497689913930, + 11769873619435143002 + ], + [ + 17600629932530157691, + 2447880229460815176 + ], + [ + 5648942592664640443, + 984236677030930407 + ], + [ + 793100917534874302, + 14740787773479486828 + ], + [ + 1401737847280373978, + 12144600432091433965 + ], + [ + 10009879187429015324, + 14409015678343219776 + ], + [ + 13656867676766831475, + 4236256826673603425 + ], + [ + 14422184299151828338, + 9295413201531324760 + ], + [ + 8460395011100618384, + 8601569040767058084 + ], + [ + 7747028667834670450, + 13910844418894738827 + ], + [ + 8237626660058786364, + 7243068233048653275 + ], + [ + 9063710908897457132, + 377368926790872885 + ], + [ + 1738674451927609041, + 7155433668185680639 + ], + [ + 3496413794962411202, + 12922453543993978965 + ], + [ + 17390159092948081249, + 9337860315996717372 + ], + [ + 7676940755462279802, + 10895038116928073912 + ], + [ + 7933339308314237439, + 2862063783757276579 + ], + [ + 17171415710134886433, + 6183623678483750796 + ], + [ + 6037271570845394837, + 8443431788093501304 + ], + [ + 1610354369227624649, + 11267657318134251074 + ], + [ + 3601234593293338243, + 13056037083157918568 + ], + [ + 3127662210125232266, + 13619827986480127712 + ], + [ + 7824128018543300166, + 16930830203119996131 + ], + [ + 1580469446395826606, + 2688810657669515400 + ], + [ + 360237619564957535, + 12988605623553177847 + ], + [ + 3787243445101866820, + 9765599984185884112 + ], + [ + 10123605389053098130, + 12668470297912387912 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 7324538908474557011, + 2250194421245280516 + ], + [ + 15269576952821293570, + 9591437957212744039 + ], + [ + 15452520354585524531, + 9095564399204933842 + ], + [ + 8687040954722196368, + 6951899279548112225 + ], + [ + 5450510659276467087, + 4836099156734614439 + ], + [ + 2852562182426216530, + 4942427046486835241 + ], + [ + 3863346014983338565, + 7244559981482327931 + ], + [ + 14263431617603715855, + 18441487492778242284 + ], + [ + 12451099880285863955, + 17452848190639192014 + ], + [ + 6508853849149813229, + 622191855330030391 + ], + [ + 2531205281127746917, + 9697889654427656603 + ], + [ + 3310818070113985387, + 16257092952252622115 + ], + [ + 16150305038298509061, + 5552576413395261446 + ], + [ + 6919748212783135729, + 200442767289846129 + ], + [ + 14166295451456917518, + 16222286782920506468 + ], + [ + 17052427767508083359, + 11224987421459551270 + ], + [ + 16014769363458352459, + 9958423866647817466 + ], + [ + 11404628890643589806, + 5868070397204192863 + ], + [ + 18155373555704285073, + 7699498863567929373 + ], + [ + 11610113451483146676, + 14328078135673138216 + ], + [ + 6433580136736109421, + 16543291049406690688 + ], + [ + 16438813452585800254, + 2274712114882517489 + ], + [ + 6705148367544873776, + 17562515829703722922 + ], + [ + 12159284120558171549, + 1559472776285323464 + ], + [ + 5002971004684547681, + 9033625305726805308 + ], + [ + 10791583998284953460, + 2551155370337437422 + ], + [ + 7698294837618956854, + 14878670564740405921 + ], + [ + 9267605276581140536, + 1258168721296466216 + ], + [ + 9416047372994108355, + 1519950621568439191 + ], + [ + 15996484857271876118, + 10657917855909313549 + ], + [ + 4921467594473169925, + 15389496171750349572 + ], + [ + 16626477466301963372, + 11652400085534366466 + ], + [ + 14527522158384757060, + 2758082371588968586 + ], + [ + 13202597988017464389, + 11344110662060769558 + ], + [ + 15296752418624162289, + 15941384463887036004 + ], + [ + 6867251321101132326, + 16741102850550829360 + ], + [ + 3358039164985028483, + 14410883221887827718 + ], + [ + 17065834497453520968, + 18121576792703670782 + ], + [ + 3613905137795162853, + 16130473352985750412 + ], + [ + 12733191998690856109, + 2113614744227276964 + ], + [ + 14033544444990788547, + 2514170268532986913 + ], + [ + 2215467685679848915, + 4383742467988180694 + ], + [ + 6691967429353822179, + 11571379792135390719 + ], + [ + 12518236328414483886, + 16552662370557392229 + ], + [ + 5417811484304336186, + 2952079354791482530 + ], + [ + 6619971716056692080, + 8643771644760266019 + ], + [ + 5621052608901339968, + 14708188756274646873 + ], + [ + 8135717230538434130, + 7812958955298116445 + ], + [ + 2789108006263799829, + 10107256235674909938 + ], + [ + 14926241336037090242, + 18426539884954025520 + ], + [ + 17973514060419700417, + 3539571342172742069 + ], + [ + 13075032897460432484, + 15196939420925320578 + ], + [ + 5555790693685647466, + 7679918533554114393 + ], + [ + 6390346208154719422, + 4947085369415840819 + ], + [ + 17790666992953011794, + 17222490274280368743 + ], + [ + 14111646336682398071, + 5349452625474877374 + ], + [ + 13871687195729499014, + 10403146197035619919 + ], + [ + 13792843025624423260, + 16206851764861685532 + ], + [ + 15288396017569443384, + 6383517278815579631 + ], + [ + 3419993336391384820, + 8786095209680147441 + ], + [ + 13280043266827400887, + 3831434075445516736 + ], + [ + 14992716096731194434, + 10225538981802652844 + ], + [ + 1162828444627090275, + 5573388922521453840 + ], + [ + 14974528386630292689, + 3864106727082460969 + ] + ] +} \ No newline at end of file diff --git a/testdata/coset_interpolation_constraints.json b/testdata/coset_interpolation_constraints.json new file mode 100644 index 0000000..468f63b --- /dev/null +++ b/testdata/coset_interpolation_constraints.json @@ -0,0 +1,614 @@ +{ + "vars": { + "local_constants": [ + [ + 12816519429727368031, + 4148932967974629268 + ], + [ + 6778950535831498787, + 5336891547906403916 + ] + ], + "local_wires": [ + [ + 8093721470633581421, + 2433743012912011771 + ], + [ + 3081412709457220747, + 1014458309242428955 + ], + [ + 11647035652819871415, + 8254351972967933892 + ], + [ + 2860001593307464842, + 4841419733628589782 + ], + [ + 14682133190353746500, + 10737554821124907721 + ], + [ + 6491622715468321549, + 16478625876246286254 + ], + [ + 3002321330713140179, + 1735434351231836799 + ], + [ + 12774157574284472336, + 17607812999722226610 + ], + [ + 4868513243433530217, + 5348043223781694573 + ], + [ + 5548746370423008430, + 4344691572199802380 + ], + [ + 14182217290914186172, + 11652024819265908659 + ], + [ + 16400848922170730395, + 2294516652490701657 + ], + [ + 6140901889436799504, + 10846712932670638182 + ], + [ + 13113840234502422344, + 15624761337739329858 + ], + [ + 16880656551968997135, + 13514873218472603213 + ], + [ + 2179629132271167060, + 11112503222597654082 + ], + [ + 16573726519552049734, + 12970636935889105975 + ], + [ + 18374275142746900918, + 9029007101052189651 + ], + [ + 15866741947138248356, + 1228424187637169097 + ], + [ + 12106798710692114634, + 3829492058621209341 + ], + [ + 4932639947769714160, + 8089946267050064931 + ], + [ + 4511681540812945924, + 6770648943314773477 + ], + [ + 14758567166746350138, + 2939075824331231298 + ], + [ + 18214235105441939158, + 12420398550849986211 + ], + [ + 11080992958197314530, + 10052715391728598128 + ], + [ + 300840931187973325, + 6929925000080302366 + ], + [ + 2365177185539435753, + 15067074170616087186 + ], + [ + 536368018547733592, + 7087886606053251403 + ], + [ + 8652633075459330291, + 14487542564698902749 + ], + [ + 5719066204606360767, + 11715681411878453560 + ], + [ + 15825284538373673762, + 3338410910797511353 + ], + [ + 16439538126854457555, + 1502628426725092485 + ], + [ + 7177836548366280284, + 15142790596094987326 + ], + [ + 3388992811266692560, + 12453254781586566844 + ], + [ + 5171358811525806983, + 14909369398225616932 + ], + [ + 12193124333693849221, + 493543597467770156 + ], + [ + 13816727459168668, + 8327094223914055777 + ], + [ + 5658901074355126427, + 5697510848164756306 + ], + [ + 5830824545976850912, + 716678082335912353 + ], + [ + 15281549193165430407, + 590088226331834845 + ], + [ + 9879031205087753062, + 14635965131913780855 + ], + [ + 2622339002163605810, + 13326019867490160334 + ], + [ + 3170911380508339766, + 6116663556621940524 + ], + [ + 10248610375394363682, + 2012157623102035712 + ], + [ + 9088027897631916218, + 5082753448812027278 + ], + [ + 4301424035793552330, + 16860780038053443148 + ], + [ + 597352796271381734, + 766936604609907688 + ], + [ + 15417592189097289774, + 9742921319231870393 + ], + [ + 1556366311556927235, + 5272824800818695053 + ], + [ + 1287348450132887639, + 11505399539949765003 + ], + [ + 433794957469926254, + 7804492436445061321 + ], + [ + 14976039749625166830, + 6183341662459194970 + ], + [ + 6972635679418070084, + 10759260363063842525 + ], + [ + 18369049339325009602, + 18341562885857510219 + ], + [ + 5017653860207289441, + 4084487397234191490 + ], + [ + 2808724516492054154, + 6166136567585925266 + ], + [ + 8663815818023799246, + 9904719988073260222 + ], + [ + 2828549452323450410, + 10447778090821520916 + ], + [ + 14551914577442884141, + 2276172224314166192 + ], + [ + 15203360568791580346, + 2833414892875151358 + ], + [ + 3934778398542187653, + 1259529395685993029 + ], + [ + 17525552501566413945, + 3475446422775994058 + ], + [ + 12191454334921561942, + 16341007695984709285 + ], + [ + 4949406985495329498, + 3337600026232226632 + ], + [ + 16787756479105624683, + 5470355114424458755 + ], + [ + 13201975677967241385, + 15498491379737824256 + ], + [ + 12883542127708699811, + 14200451231491989320 + ], + [ + 10603329930018673928, + 17315119426979580001 + ], + [ + 13678878427381947623, + 9785116287207954020 + ], + [ + 9011167237110548109, + 15277331290980642909 + ], + [ + 6004221954422041996, + 608307415270448387 + ], + [ + 3341413807469677631, + 14399277454051197782 + ], + [ + 15980663231130257262, + 56250011913514903 + ], + [ + 421923341050119177, + 16237073467552562551 + ], + [ + 7258252671922586602, + 6500286396368055162 + ], + [ + 3542833521690834311, + 10952492354019921972 + ], + [ + 11879514951439389212, + 18406481599839875382 + ], + [ + 16918046591550302744, + 10503452944817360668 + ], + [ + 12775871189651691532, + 1128505778618344516 + ], + [ + 4692639622524119832, + 17705993623438029671 + ], + [ + 17840587033267303692, + 970029863496338874 + ], + [ + 2428697999838486659, + 1552878231438793862 + ], + [ + 2094630026333033146, + 4866871147748035002 + ], + [ + 4284018547159740801, + 16039485950392646623 + ], + [ + 3926014987884706582, + 868390322109619813 + ], + [ + 3707371452573938175, + 6373662958309496699 + ], + [ + 18224660722488729378, + 567322710467052951 + ], + [ + 10892097875503087112, + 7412466311729944988 + ], + [ + 745099062249135192, + 15397392245107929520 + ], + [ + 226922209468626780, + 14210259561269405492 + ], + [ + 7049153840572661409, + 6915600731715439778 + ], + [ + 12277292920431257729, + 9136379780212891447 + ], + [ + 7863372789490361755, + 9842203156626952994 + ], + [ + 13241231263254973939, + 14202721910544425171 + ], + [ + 10046033016231015286, + 14923994268663625387 + ], + [ + 5607183227394631386, + 18082221351181774207 + ], + [ + 5135448847586358645, + 6428608380432890126 + ], + [ + 4636284806290265414, + 13459494638095014820 + ], + [ + 8789492589468306942, + 3339672255948034092 + ], + [ + 13995038983246927838, + 5240698863803568973 + ], + [ + 3613825744993246935, + 4391801018849040844 + ], + [ + 2761172235599727036, + 7973253626382584326 + ], + [ + 2883689552330792277, + 11169801649328649788 + ], + [ + 11004144483523155378, + 7857063957582384704 + ], + [ + 5686024578856940834, + 11681893888934957935 + ], + [ + 4418822145231204509, + 5015832746324607411 + ], + [ + 7755350647076617554, + 3334302999169371675 + ], + [ + 7795061849347140864, + 15153319177776240468 + ], + [ + 14545795953439235191, + 14540138317473825350 + ], + [ + 16885746098510427014, + 12298779655187671743 + ], + [ + 10031889981920734156, + 17335079634578135611 + ], + [ + 17998943202648892659, + 18035588649095554607 + ], + [ + 12901482691072001852, + 11628439084373023165 + ], + [ + 18400872930011972844, + 11990626607855134753 + ], + [ + 12621888608081974474, + 3460253980856626487 + ], + [ + 2082394848037053076, + 12876393157915212530 + ], + [ + 9220352726055370185, + 7621673746801363634 + ], + [ + 14626521341547060618, + 4892725202994471410 + ], + [ + 12811695575146364523, + 18140235463734250436 + ], + [ + 7719116995395060814, + 8782699394810262749 + ], + [ + 15816084139414270792, + 14524273222041656557 + ], + [ + 7093289277934285796, + 11766518336181019 + ], + [ + 13719135527352454097, + 16546608910493370240 + ], + [ + 2630148563825041032, + 7518221657186953168 + ], + [ + 16910690941693054593, + 12043543003142418182 + ], + [ + 13360734326644910763, + 16502020816440401505 + ], + [ + 11738760625880396368, + 3384211025597206844 + ], + [ + 3120903243099429173, + 8876984632806426528 + ], + [ + 10287082499910176100, + 1454165295276569896 + ], + [ + 4376278055081656628, + 17597780327141060224 + ], + [ + 5029450008615454781, + 16646213392329038006 + ], + [ + 93406833971628871, + 6991311531819348122 + ], + [ + 6230418714682102845, + 13158507943259844889 + ], + [ + 13447718651161986303, + 13449303245276829618 + ], + [ + 437615867528773898, + 15048752558280156197 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 2777733315169471082, + 1178034153691646746 + ], + [ + 7446980223013487441, + 12873047111309192310 + ], + [ + 15054779726170291637, + 12126876870796366386 + ], + [ + 7845187924178422805, + 11402209278178590307 + ], + [ + 7512291917594941988, + 5867313291065779185 + ], + [ + 12195217563139575750, + 8554267545347054055 + ], + [ + 1273791700910377936, + 18204107599365727973 + ], + [ + 17869783267464299201, + 13599872870030910723 + ], + [ + 12956673282806869893, + 5664662237228129438 + ], + [ + 13775075601709060441, + 17492713846625817771 + ], + [ + 7535507006506857010, + 1495467828917063358 + ], + [ + 11056843127796379801, + 12932915723230850122 + ] + ] +} \ No newline at end of file diff --git a/testdata/exponentiation_constraints.json b/testdata/exponentiation_constraints.json new file mode 100644 index 0000000..0631bb3 --- /dev/null +++ b/testdata/exponentiation_constraints.json @@ -0,0 +1,233 @@ +{ + "vars": { + "local_constants": [], + "local_wires": [ + [ + 2, + 0 + ], + [ + 1, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 1, + 0 + ], + [ + 1, + 0 + ], + [ + 1, + 0 + ], + [ + 0, + 0 + ], + [ + 1, + 0 + ], + [ + 0, + 0 + ], + [ + 1, + 0 + ], + [ + 0, + 0 + ], + [ + 1, + 0 + ], + [ + 0, + 0 + ], + [ + 1, + 0 + ], + [ + 18446744060824649729, + 0 + ], + [ + 2, + 0 + ], + [ + 4, + 0 + ], + [ + 32, + 0 + ], + [ + 1024, + 0 + ], + [ + 2097152, + 0 + ], + [ + 4398046511104, + 0 + ], + [ + 9007199252643840, + 0 + ], + [ + 18446739671368074241, + 0 + ], + [ + 18437736870159843329, + 0 + ], + [ + 18446744069414582273, + 0 + ], + [ + 8388608, + 0 + ], + [ + 70368744177664, + 0 + ], + [ + 1152921504338411520, + 0 + ], + [ + 18374686475393433601, + 0 + ], + [ + 18446462594437939201, + 0 + ], + [ + 18446744065119617026, + 0 + ], + [ + 18446744060824649729, + 0 + ] + ], + "public_inputs_hash": { + "elements": [ + 11316065090015410316, + 475801084968468384, + 14078053795045347647, + 3547510265145172616 + ] + } + }, + "constraints": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ] + ] +} \ No newline at end of file diff --git a/testdata/lookup_constraints.json b/testdata/lookup_constraints.json new file mode 100644 index 0000000..cfc7ac2 --- /dev/null +++ b/testdata/lookup_constraints.json @@ -0,0 +1,565 @@ +{ + "vars": { + "local_constants": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ] + ], + "local_wires": [ + [ + 13785505202579831781, + 13255798324976801745 + ], + [ + 9972922195534212139, + 8637608063146303764 + ], + [ + 2674558771591369223, + 9539421354260990255 + ], + [ + 15340043232666389304, + 8700765445404448265 + ], + [ + 6300114534771794630, + 8629556869337912085 + ], + [ + 4668706197649423631, + 17953388426261171211 + ], + [ + 8475111314596819000, + 9055881167969527810 + ], + [ + 9538562646265875849, + 1760900754116202085 + ], + [ + 2845641672338730870, + 12342627693709325758 + ], + [ + 13653544498142173877, + 6017688598112431045 + ], + [ + 8677934060871160760, + 17921200395453860447 + ], + [ + 7747645193893268816, + 12773263521551126134 + ], + [ + 4429822973839193158, + 4495026876122316976 + ], + [ + 11025568363407988669, + 7755605097568856631 + ], + [ + 14952686553763856769, + 8354079843829934935 + ], + [ + 2092275953428433721, + 7422185205127840001 + ], + [ + 17300560950973509599, + 9551849022131564415 + ], + [ + 482625732575219636, + 16890058657673270869 + ], + [ + 320087651290432609, + 12310218850423259505 + ], + [ + 9239247258846744279, + 6910538490731260558 + ], + [ + 743199464929546605, + 17842272435825527932 + ], + [ + 5342993958211140424, + 10880324687009247308 + ], + [ + 201070664463905850, + 5137480786884025390 + ], + [ + 18212502256722530710, + 6162416113475633474 + ], + [ + 9055393866337510832, + 4925666896330585222 + ], + [ + 7592684125069620082, + 6643447217379208604 + ], + [ + 15054157560708781364, + 15502289726768694055 + ], + [ + 6444472600061551671, + 12484622374714452397 + ], + [ + 1949841719882459805, + 14379786354340461370 + ], + [ + 5911943285852694078, + 15405220509995901251 + ], + [ + 13596380112628783558, + 12556370312511174685 + ], + [ + 13843875612038086636, + 14679297491814622123 + ], + [ + 10527227035049411210, + 8262604916998130305 + ], + [ + 6704343762724396563, + 6433563705232220021 + ], + [ + 6733858086629668553, + 9961849842178669343 + ], + [ + 3228930218255156116, + 235913666108717916 + ], + [ + 1645109471840061395, + 13283069983045401691 + ], + [ + 6709580979185455111, + 5126789010707898881 + ], + [ + 3402339234985050018, + 15244011053623673882 + ], + [ + 14434573444027712001, + 15745096968984201441 + ], + [ + 273496752828640614, + 11058390484603080257 + ], + [ + 6570144925772352514, + 432721666393885716 + ], + [ + 18013712353746922609, + 14732245687926083859 + ], + [ + 16437965963045706560, + 2676504452170281924 + ], + [ + 5913289375798823127, + 11773657934481087851 + ], + [ + 6364865791918881616, + 17874513107350560002 + ], + [ + 6839307828593704208, + 13749545724583179460 + ], + [ + 16329110205488023430, + 2657710143863894669 + ], + [ + 18158781503472467431, + 9954542443510364682 + ], + [ + 10197287761226528997, + 4440746497243245567 + ], + [ + 8909443474130626272, + 14296550110920022154 + ], + [ + 3137610996951914506, + 6623629537297092826 + ], + [ + 11426914720415258482, + 5018104876741569593 + ], + [ + 15314603314735848816, + 13338587968442462895 + ], + [ + 14263251525274718167, + 4137100557060138169 + ], + [ + 13089618119340234443, + 6501167458754612579 + ], + [ + 15500079556981471585, + 15472191902885481759 + ], + [ + 11334248163790236838, + 605902425355711767 + ], + [ + 15844980866856061150, + 9561790851015454208 + ], + [ + 12375653286387231584, + 11491883780309362045 + ], + [ + 2242011170873279200, + 4958286885390226038 + ], + [ + 8886115778472272367, + 7597651025332031226 + ], + [ + 490598975637963054, + 768683443224781305 + ], + [ + 9791484128620027356, + 16547789885500506302 + ], + [ + 9815028381235903359, + 5933912188017843590 + ], + [ + 13335650808823699484, + 14727432558356477127 + ], + [ + 13454235155035933736, + 8448489179881970022 + ], + [ + 624982217105891921, + 2075674227241996108 + ], + [ + 2430198459707426901, + 16933360533201009349 + ], + [ + 2978348523715146190, + 14263570632074393872 + ], + [ + 10175311719157375632, + 4743322863804728974 + ], + [ + 3460885050821010655, + 1946275365492389511 + ], + [ + 2994949157598860514, + 3940584428039963210 + ], + [ + 4004521839977215251, + 10509955558094367333 + ], + [ + 5266020620898234412, + 12413149541327270783 + ], + [ + 11706897934244563384, + 6014034920535415140 + ], + [ + 6974081717418705912, + 10354558981535414523 + ], + [ + 18242889195954719489, + 1240109116822985214 + ], + [ + 7188993370288751296, + 12090888049421682665 + ], + [ + 8495159524986797237, + 5991678415883195040 + ], + [ + 1197524027580570324, + 14788443794233446363 + ], + [ + 10723000489078393267, + 1510673249627258457 + ], + [ + 16240213464817002558, + 18114892562361816410 + ], + [ + 15574234283657398979, + 1232567863565395364 + ], + [ + 1915358037970939036, + 6805392803883866348 + ], + [ + 12510494581910716899, + 2815311569153774921 + ], + [ + 10572923008161555421, + 3161233052533400853 + ], + [ + 8335317368855160236, + 1326222263458254314 + ], + [ + 10550429511181266026, + 10546702376860298970 + ], + [ + 1612743341024020371, + 3330884913189813373 + ], + [ + 12914537719157501087, + 560117320891909926 + ], + [ + 12368573110786841396, + 5613564918378022657 + ], + [ + 1257409248287865575, + 517085033197167882 + ], + [ + 11300022406423703948, + 861548745914731437 + ], + [ + 10865714880314125533, + 9218416473972697001 + ], + [ + 4402209426250058591, + 13170795687412686558 + ], + [ + 16431677136780669279, + 4913224117636881503 + ], + [ + 17174797705160943561, + 9759718444273545572 + ], + [ + 11628268479699964942, + 11858804786972056240 + ], + [ + 2438451560239789507, + 14247230308936775877 + ], + [ + 11182617758170549751, + 2694326339743980207 + ], + [ + 14614228641632522822, + 2457447966796634792 + ], + [ + 11212802154284875672, + 9049287446597515078 + ], + [ + 15993436143913792504, + 13704742052062605989 + ], + [ + 14524969604414306896, + 1323859865718303252 + ], + [ + 13361391374725497640, + 10086729035505111515 + ], + [ + 17477537200003572932, + 11040825340692304736 + ], + [ + 8875036496006969760, + 14164252337617566545 + ], + [ + 6613942846453716967, + 7071132561659855617 + ], + [ + 7702421046595223619, + 4737459113448213338 + ], + [ + 16532766088450755864, + 4477396302193969107 + ], + [ + 2960321057559951471, + 3737741982989834894 + ], + [ + 17920868667355747551, + 13858184514621142881 + ], + [ + 10517728198744899228, + 14211666851208013162 + ], + [ + 16287796866906157715, + 13960252914133386568 + ], + [ + 17593131996918901108, + 5158994400669094137 + ], + [ + 15914691617528684868, + 4486385454533788771 + ], + [ + 17989865788979185802, + 13437734945169390199 + ], + [ + 15581472312605250686, + 156857987046350220 + ], + [ + 15679545696402592787, + 7210404312031447803 + ], + [ + 16869592386906431864, + 2719263084255356116 + ], + [ + 4466322064575248487, + 786594947368040444 + ], + [ + 4458886376417038493, + 17303708144312360461 + ], + [ + 12276935252666527859, + 17396712724115802267 + ], + [ + 11905497414582207981, + 12607659568028907841 + ], + [ + 17457053342807318003, + 3038153737101331090 + ], + [ + 15712190983059090117, + 12244474737239032138 + ], + [ + 13374017675347346110, + 9374298185841350711 + ], + [ + 5281244177440213025, + 3125300506236681741 + ], + [ + 8023659149558688344, + 10265618760619843775 + ], + [ + 17007191017628449874, + 8637996194008259794 + ], + [ + 18235756102796702695, + 16201810217780769407 + ], + [ + 7690241210409425158, + 8993308055287761206 + ], + [ + 2247704497393472355, + 9143065134437062716 + ], + [ + 11797441887765038186, + 7680944037167412442 + ] + ], + "public_inputs_hash": { + "elements": [ + 15941948985724383107, + 18251573401967120041, + 15849324139278974869, + 9137724725634654101 + ] + } + }, + "constraints": [] +} \ No newline at end of file diff --git a/testdata/lookup_table_constraints.json b/testdata/lookup_table_constraints.json new file mode 100644 index 0000000..99c00a3 --- /dev/null +++ b/testdata/lookup_table_constraints.json @@ -0,0 +1,565 @@ +{ + "vars": { + "local_constants": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ] + ], + "local_wires": [ + [ + 14998849098364316159, + 15327263834257540061 + ], + [ + 15456965815054514017, + 6825299613102096321 + ], + [ + 459996922463743141, + 16114904802528887819 + ], + [ + 4672893371330257954, + 11806345529822895048 + ], + [ + 13354728942451030756, + 15394282371735220639 + ], + [ + 13319640145411658422, + 12960516619311096657 + ], + [ + 16047619394685995246, + 17823300907438961450 + ], + [ + 12387278581598562107, + 10674292626770548498 + ], + [ + 11899299632105267139, + 13896276672830859829 + ], + [ + 17274923986603942932, + 15497783835530235086 + ], + [ + 1689668729653623065, + 10062063242758028704 + ], + [ + 10832007893347626774, + 13086651862792794769 + ], + [ + 9640120535587870762, + 14822424495131751161 + ], + [ + 3386914414525486624, + 13990361691810545390 + ], + [ + 10870625393162083726, + 3106303660040405449 + ], + [ + 4084060478747619286, + 9640289558331772052 + ], + [ + 13797144439190356585, + 13473488637941415268 + ], + [ + 17416423141590396379, + 3791881857251212200 + ], + [ + 10637244425187806151, + 6860414419595711697 + ], + [ + 10442672472776681017, + 14747581756515324578 + ], + [ + 876248017074916163, + 15628503857366888050 + ], + [ + 14478074108303264959, + 16094066096889891148 + ], + [ + 11769519501817293248, + 5814366319181967072 + ], + [ + 10265120867926761895, + 12462511161373584434 + ], + [ + 6107248233162515433, + 6968000190702982774 + ], + [ + 15342628825734390917, + 2146195303224016545 + ], + [ + 17513228270398683504, + 3564400477438017959 + ], + [ + 8625943401553702839, + 8046771224725915305 + ], + [ + 3474968989466756512, + 15084381863102147998 + ], + [ + 10443578209640924022, + 12145153313389626480 + ], + [ + 12362244838712296291, + 16168506281161435877 + ], + [ + 12679020216261993883, + 1686064560671630943 + ], + [ + 14295222221014301515, + 6334673190251244954 + ], + [ + 8660883827230296717, + 337093346991035743 + ], + [ + 670931292338449531, + 5075714438624368389 + ], + [ + 10419152481178490659, + 5493185849360399158 + ], + [ + 11009824430308566174, + 2846563587479579036 + ], + [ + 8876824193329713257, + 9086328280710578943 + ], + [ + 6264957270436918982, + 5960914806852306816 + ], + [ + 8106653374507421883, + 16615035976688232655 + ], + [ + 15635179475031102343, + 10689629033353856883 + ], + [ + 12361428554135277140, + 16838473021679231680 + ], + [ + 10935659514155806009, + 9662493531225599679 + ], + [ + 12125601004216082741, + 10142532878154105811 + ], + [ + 6623944071030678274, + 11691350200718210209 + ], + [ + 9511972663845101719, + 12306383299917175390 + ], + [ + 11235365401755166659, + 3337067184690666862 + ], + [ + 14165623013289562472, + 2023906933756413264 + ], + [ + 10951245529983945798, + 3542616814954051415 + ], + [ + 13515762096160240917, + 6270821748371929111 + ], + [ + 11906055669598097401, + 18250850833675891110 + ], + [ + 14293287895443589065, + 14046769858642268116 + ], + [ + 5774284804560437752, + 934731906334435724 + ], + [ + 413041635963991420, + 6335035819723044069 + ], + [ + 514923311435648398, + 1338169309193847914 + ], + [ + 7765740869753558349, + 278752984538751515 + ], + [ + 10786648828364324252, + 5371387349783708147 + ], + [ + 649224843105744176, + 17054925934836971515 + ], + [ + 13916253408368540006, + 2360335069671300074 + ], + [ + 12550430789069633946, + 3043122819902854750 + ], + [ + 1933032797335792491, + 10653116889563983733 + ], + [ + 9847123266634836935, + 4998889328886815344 + ], + [ + 13549766512850360954, + 11193645596416976317 + ], + [ + 3399565860907525732, + 6336857405462283509 + ], + [ + 13263655265237389666, + 17726243005000753391 + ], + [ + 17304250640352924620, + 7949942153689249014 + ], + [ + 13628655889897220866, + 9216099955326989516 + ], + [ + 12816197282553345965, + 17291527548271465255 + ], + [ + 8824146870177189526, + 5232915186537630162 + ], + [ + 13180181435584446668, + 580162375618691413 + ], + [ + 2177513411831762645, + 10082637122440957723 + ], + [ + 13584180619591057206, + 9189853833004506420 + ], + [ + 16326791007756723310, + 9384780928542434727 + ], + [ + 16929334434053019658, + 5573179303532722849 + ], + [ + 15333080263399137740, + 10610509976023081000 + ], + [ + 6917856392553578178, + 15967826475224518853 + ], + [ + 18432785600223329619, + 9375032654105232981 + ], + [ + 11607356303775204778, + 2049325374158087297 + ], + [ + 5185708190807805932, + 1694801315527009701 + ], + [ + 15657869168317903799, + 15403104386522295254 + ], + [ + 6596827643392918822, + 2113654776094574636 + ], + [ + 15009557428135021063, + 2654507312695133970 + ], + [ + 6218473230540500739, + 16032369145015592131 + ], + [ + 785104865442777991, + 2241288138752968598 + ], + [ + 17959920945379616952, + 17553356758338804533 + ], + [ + 706560228708601097, + 16409619349859354740 + ], + [ + 12264938277599975133, + 9716311733877823268 + ], + [ + 16398405723969774046, + 10886306887021655139 + ], + [ + 18404548495777771199, + 7311210092400918962 + ], + [ + 10582829356199488743, + 10377780332650229554 + ], + [ + 5293283891516162442, + 16993730339376852041 + ], + [ + 8546295344215512853, + 14616284145626906283 + ], + [ + 4539297550748444465, + 7069753770363599492 + ], + [ + 11752562230441460305, + 5128758302606334728 + ], + [ + 4044365690656030746, + 4988421732548220800 + ], + [ + 1920660923557890082, + 15691032778126614052 + ], + [ + 9829742643396603058, + 6564094498740833894 + ], + [ + 8262608320842734916, + 17710800598825885441 + ], + [ + 13168133655853139593, + 7255690095293596203 + ], + [ + 396711336235887827, + 7673792463520005862 + ], + [ + 17610806243427087338, + 7194197922083113595 + ], + [ + 10834468708027661292, + 6591507925702445120 + ], + [ + 3316310173256586461, + 13488705664122517825 + ], + [ + 16109263769472465903, + 13540447767108431556 + ], + [ + 16254328168997973376, + 9130471880244017674 + ], + [ + 7460205164525115793, + 7051445585637641221 + ], + [ + 9303542533666680693, + 6692242065422524089 + ], + [ + 10526468650283090924, + 12625926788723140947 + ], + [ + 6493024754374008462, + 10177310868089989695 + ], + [ + 12109100480941980775, + 8882796224913515439 + ], + [ + 10108524359839061355, + 6771887094357638915 + ], + [ + 13560706316877268971, + 2113166310004554503 + ], + [ + 16379196297626742840, + 14478196704453054826 + ], + [ + 1594583273892124798, + 10155208371641438334 + ], + [ + 8798646614767736044, + 10665990516263119001 + ], + [ + 5934780921960814718, + 12325628797326660183 + ], + [ + 1367632979353088793, + 12003969400580600639 + ], + [ + 16809505559273283902, + 16740279010911242412 + ], + [ + 5580001260702534477, + 15743275207351626782 + ], + [ + 11021301265147731906, + 17982373959724959163 + ], + [ + 6298345511835639346, + 1950366569109154628 + ], + [ + 14519210021246746134, + 17058004219063956384 + ], + [ + 4648546116440812008, + 14089195242389608017 + ], + [ + 4699859026441181873, + 6813027670598164431 + ], + [ + 7470087088842139844, + 5772867062293778432 + ], + [ + 973530345844368862, + 13235207926759110359 + ], + [ + 17449056565455094166, + 4243371182241851234 + ], + [ + 12494037726870220646, + 3491637257335863580 + ], + [ + 8693578466663379465, + 9703109832408679035 + ], + [ + 16522101772305559005, + 7115631047014324958 + ], + [ + 1427865590363944266, + 7660642084279970368 + ], + [ + 17389149131206964805, + 4609617044437205187 + ], + [ + 14069277239186869753, + 13363581691000574018 + ], + [ + 4881782547637873341, + 13173013068265664178 + ], + [ + 4195699036935037624, + 522140327207075544 + ] + ], + "public_inputs_hash": { + "elements": [ + 15941948985724383107, + 18251573401967120041, + 15849324139278974869, + 9137724725634654101 + ] + } + }, + "constraints": [] +} \ No newline at end of file diff --git a/testdata/mul_extension_constraints.json b/testdata/mul_extension_constraints.json new file mode 100644 index 0000000..5069746 --- /dev/null +++ b/testdata/mul_extension_constraints.json @@ -0,0 +1,670 @@ +{ + "vars": { + "local_constants": [ + [ + 224732954956376539, + 17010704150091820339 + ], + [ + 4251527487471583859, + 5273642360553457699 + ] + ], + "local_wires": [ + [ + 12887746958825999568, + 17510194500574492689 + ], + [ + 10473271614711032340, + 4420651013357441852 + ], + [ + 8848976128357779585, + 15515697873194106623 + ], + [ + 14082655354124521064, + 5843435266105560093 + ], + [ + 13122644392951914801, + 14928061439676082666 + ], + [ + 11835675465783036064, + 4242950592000400368 + ], + [ + 9858795744730421725, + 17583456972769146574 + ], + [ + 10075409852590876833, + 12525326800153494628 + ], + [ + 2428979396978023290, + 11981669419349088388 + ], + [ + 16055939008560418899, + 8085028362114130467 + ], + [ + 13255863685008842479, + 18067663219818774400 + ], + [ + 18267642759948778756, + 2687650789455611394 + ], + [ + 17177536134596323490, + 1128981831129990572 + ], + [ + 11498317883993427899, + 8192196083706076311 + ], + [ + 14206427075440988037, + 9203396065770995277 + ], + [ + 8989342776536280016, + 4513324189552984974 + ], + [ + 13264690582556037330, + 15317810909692606677 + ], + [ + 11493112400124167743, + 6592705222200651866 + ], + [ + 16992072346439629027, + 8726117167401154995 + ], + [ + 5026458082117228084, + 3430514090190863790 + ], + [ + 3240572003105097231, + 12344201361016512130 + ], + [ + 6933076248909991347, + 12937694052964975282 + ], + [ + 3079570528461927838, + 13600172869096676993 + ], + [ + 11698516873912371020, + 14228851262447264279 + ], + [ + 1587827162030330516, + 7743956232642710625 + ], + [ + 724546768477760208, + 4799867436937504241 + ], + [ + 5617652500844763803, + 3703614031567183529 + ], + [ + 17968138465539307663, + 6879605331032700939 + ], + [ + 9907245800957303696, + 10074396331877665616 + ], + [ + 1327265967400942125, + 11410071961459452485 + ], + [ + 13624655886323555022, + 1358947350719848026 + ], + [ + 16967200648572589292, + 15243280931989046981 + ], + [ + 14309740074047053213, + 6132164478158698519 + ], + [ + 15477641729975353698, + 12278278591728369675 + ], + [ + 894130286263506126, + 10020086885648826267 + ], + [ + 14190093174675855835, + 5101926534725923006 + ], + [ + 14772161092221199994, + 11561658294837452240 + ], + [ + 3902737865627673028, + 18345386866927631668 + ], + [ + 15360475577404909402, + 18275179134142927603 + ], + [ + 1065895896519506332, + 386456052682918403 + ], + [ + 14166692994809899200, + 11908352620354652271 + ], + [ + 10918813134054935367, + 2160178206740858612 + ], + [ + 15416700559695659461, + 16335008902413689790 + ], + [ + 6238433494259308920, + 15873661599300606587 + ], + [ + 7627550618031343634, + 187024067300165115 + ], + [ + 16627765551852071935, + 1889926873591344070 + ], + [ + 3158522743781736714, + 15697450966364830661 + ], + [ + 9805341300184601923, + 11841314649536757290 + ], + [ + 11821389082596613218, + 4517357081149944255 + ], + [ + 15181168140120512147, + 18055253778867551052 + ], + [ + 18321424504676695313, + 4116944739274653584 + ], + [ + 11045861181063608805, + 354445644457480837 + ], + [ + 15463289931778576439, + 2399308083987829788 + ], + [ + 5730352411462840386, + 1862350280544473679 + ], + [ + 10584802906667783810, + 14687582021598030890 + ], + [ + 1067891088156789366, + 6438392717957245024 + ], + [ + 297112014658406191, + 13240992152291595431 + ], + [ + 8648723291548955376, + 16045438615592456129 + ], + [ + 9853975978696811709, + 11828071861269333647 + ], + [ + 5430682674135701493, + 12372104573257793437 + ], + [ + 7180674658865554007, + 11090552638997656353 + ], + [ + 8883600212536715243, + 9024950222900506471 + ], + [ + 9736426328926945310, + 10862182263871820183 + ], + [ + 12842775695364401507, + 152245303795075655 + ], + [ + 6417880389063200615, + 8789279533171635219 + ], + [ + 18101369823082769819, + 14020989944115723866 + ], + [ + 10414673886588885693, + 3867443839417628654 + ], + [ + 3266135482371763688, + 15899167106971876094 + ], + [ + 1039302002474078008, + 12764358640831003500 + ], + [ + 12892766653712469943, + 13435112284283607470 + ], + [ + 12469374685619243752, + 16414661197459568811 + ], + [ + 8845148690743699485, + 9656517561068379974 + ], + [ + 603081674290964704, + 6503040530325081506 + ], + [ + 12092936614471951226, + 18385653593070936657 + ], + [ + 18220665901146936678, + 12871315770149229383 + ], + [ + 3374085037750672369, + 15545855237270868180 + ], + [ + 8692422983430541588, + 14387670452546506774 + ], + [ + 11140689932807628955, + 11699458282151498401 + ], + [ + 14033680480702064873, + 12903780030574847642 + ], + [ + 2321834029180810154, + 12134601462022895410 + ], + [ + 270198062908351956, + 410307794781743693 + ], + [ + 12337814362968328840, + 3267402361346238862 + ], + [ + 2493078769146730883, + 1919974419340649778 + ], + [ + 8715269513153009995, + 1954338991358113464 + ], + [ + 16920897652880417631, + 17304630379161042710 + ], + [ + 4145328838087323243, + 17859178075891086084 + ], + [ + 5084040272352848320, + 7179498608139513730 + ], + [ + 10407054277530863477, + 13829910822188377137 + ], + [ + 15576612145295175256, + 18360207339694541123 + ], + [ + 10992283701739948032, + 141160388112380069 + ], + [ + 2578170392627883352, + 10168226622106153788 + ], + [ + 1864398453328274513, + 8007904368792752347 + ], + [ + 15780501774931663640, + 13804537746485898999 + ], + [ + 5323503468666484931, + 5665736936554571099 + ], + [ + 11094362989608779998, + 10328206296998178506 + ], + [ + 7314530724138235701, + 12784663082018300390 + ], + [ + 13296200311425177018, + 17047288225559359104 + ], + [ + 8140198372701007454, + 14737213903970119981 + ], + [ + 14335274686817790367, + 7467895796420979452 + ], + [ + 101900689373764372, + 16181466980890904708 + ], + [ + 17937530508240098732, + 1495700293020590165 + ], + [ + 3022500489988580207, + 2717567675947384603 + ], + [ + 9451980796047068673, + 15505897269823808597 + ], + [ + 11132799505272869141, + 11845231162236461011 + ], + [ + 16427950670315719057, + 16266852145544789988 + ], + [ + 18400840851906884768, + 10044906846077532689 + ], + [ + 6725255219439572606, + 2540837652549593069 + ], + [ + 7225775394671142286, + 11816869813220877516 + ], + [ + 809835429280262491, + 10948581723747407279 + ], + [ + 16455231345514979633, + 17872768647896216848 + ], + [ + 10880072973697977369, + 2621795347368323103 + ], + [ + 10326423379670708851, + 8757498958049346786 + ], + [ + 4246936580778286042, + 15066822171770334495 + ], + [ + 15435469464943881906, + 12851860174094760925 + ], + [ + 9774180001914748797, + 681263910580832859 + ], + [ + 13531563707520517151, + 7282847209684835696 + ], + [ + 16334933511990794194, + 17126079116200068165 + ], + [ + 17886673359237972961, + 12101889583865080843 + ], + [ + 3080138674491846197, + 14005849811316674438 + ], + [ + 6842998975920903066, + 3508263844035038117 + ], + [ + 6496653806849189431, + 9189643642548163477 + ], + [ + 10168309917901539095, + 1974959297658199457 + ], + [ + 16604764982552503611, + 3221691119912539990 + ], + [ + 9511847471150777478, + 15698787525091246275 + ], + [ + 12041425184939375247, + 16178739432496019109 + ], + [ + 16886888352048991281, + 2901551915504992614 + ], + [ + 11347443395759726066, + 4028573491070531359 + ], + [ + 17020503082099214569, + 11806806181636662530 + ], + [ + 10292804843162160052, + 12139324382698104480 + ], + [ + 16296371342968482596, + 16035131534987423262 + ], + [ + 14942108866913026622, + 6770828530180900801 + ], + [ + 15336538817044122065, + 7117323302676553723 + ], + [ + 3673106523234642789, + 16233270852809078549 + ], + [ + 3571814740691343987, + 3506218134845878184 + ], + [ + 17511203212448019745, + 15821897037377704758 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 3275862204882487170, + 3291687743339570167 + ], + [ + 8518208564144020751, + 9081931134795620022 + ], + [ + 846318825736075559, + 16768967981182230038 + ], + [ + 15704827840443220285, + 16840100324861052154 + ], + [ + 5490520493439854492, + 16178000029039244064 + ], + [ + 12854996239044160021, + 13331874516152814771 + ], + [ + 12613980873046345963, + 2490035936404368238 + ], + [ + 9893483314373044481, + 5593890238230244152 + ], + [ + 5818404151972705492, + 4051142198270141813 + ], + [ + 6103652576269254541, + 10369067775678942101 + ], + [ + 14293051061566903851, + 1351687503655266298 + ], + [ + 7028998975401646419, + 14269256937893505532 + ], + [ + 14533145110669327619, + 15452859739934989459 + ], + [ + 13343915371809794088, + 2013612433729955624 + ], + [ + 18028229775225041935, + 9836242998945237306 + ], + [ + 6027713050948998599, + 7223465637114402565 + ], + [ + 2749341549700013898, + 72689169365133964 + ], + [ + 16765301396820640864, + 821765807792458734 + ], + [ + 6349506839463233317, + 9247749421944613514 + ], + [ + 17010420024643554879, + 4644844067652561791 + ], + [ + 2042927409551628019, + 15474569951089248216 + ], + [ + 230247939936382813, + 6190356365537785008 + ], + [ + 10850332327782780605, + 9158802180195676023 + ], + [ + 17764344294362910205, + 84377605908595284 + ], + [ + 9539321305060172798, + 1866670326027310564 + ], + [ + 7005655998258956747, + 16134845742486772715 + ] + ] +} \ No newline at end of file diff --git a/testdata/noop_constraints.json b/testdata/noop_constraints.json new file mode 100644 index 0000000..10b45bc --- /dev/null +++ b/testdata/noop_constraints.json @@ -0,0 +1,565 @@ +{ + "vars": { + "local_constants": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ] + ], + "local_wires": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 13597845780641116715, + 5794519841706870331 + ], + [ + 2564699397432927335, + 9202972711496503989 + ], + [ + 1334904055344306525, + 13939093292472900774 + ], + [ + 16913322879853687962, + 11410101842033138711 + ], + [ + 3157482939284104197, + 8425205082054324616 + ], + [ + 13320555666980042946, + 11651293987230516712 + ], + [ + 408177287192507067, + 11750211807543242514 + ], + [ + 17866689650919099884, + 1917874887186368543 + ], + [ + 1973382631907517378, + 3819956364743440119 + ], + [ + 15975286855612669831, + 7233323354071520393 + ], + [ + 10445664679672268815, + 1635115048487402766 + ], + [ + 11146545769040777869, + 7027394792408047825 + ], + [ + 4301919144161646355, + 8901883004773392456 + ], + [ + 9740935339523968998, + 11944762337027545121 + ], + [ + 13339577525870109331, + 16541208835650673341 + ], + [ + 2662093315010745398, + 9572623004617965902 + ], + [ + 299060270163836356, + 10253750237668902461 + ], + [ + 13367910229292836999, + 9123763080007549265 + ], + [ + 7654235376442549962, + 7747003095223070640 + ], + [ + 17160136000570881746, + 9212888847477368809 + ], + [ + 8372611092037042117, + 9452184831823293473 + ], + [ + 13548032129287400189, + 6368930577702906581 + ], + [ + 17426662546211620373, + 1639446740057705130 + ], + [ + 17960570051373316910, + 2876906864997806442 + ], + [ + 11459215736453520492, + 4306102461555961060 + ], + [ + 9390818981068322754, + 8737502300930546449 + ], + [ + 8589183424107777376, + 12036047603054099063 + ], + [ + 12258598837239888573, + 7987945991011126153 + ], + [ + 16793708930351352967, + 4856974326590063231 + ], + [ + 11945286871436875585, + 12980763676512117743 + ], + [ + 10510134750964333475, + 5644403503900887406 + ], + [ + 13482498728236410085, + 1537435927644926457 + ], + [ + 6629470988053194195, + 2115807479590352442 + ], + [ + 12147939103737883254, + 7191547076142651802 + ], + [ + 9223393374317104104, + 16201423120924048300 + ], + [ + 9038818050604485271, + 3681834032659831218 + ], + [ + 4487820852896398798, + 6168984764891941972 + ], + [ + 101579699746147565, + 8693770418778066369 + ], + [ + 17000986603341265907, + 13455308606194882485 + ], + [ + 14125483171132910927, + 9657433637207868862 + ], + [ + 12487294896845672846, + 560482201622393669 + ], + [ + 3830564605465236277, + 1697606982083424397 + ], + [ + 2429402811361780718, + 6012277620442053650 + ], + [ + 9228081823247050877, + 6991289227382618954 + ], + [ + 8933009930545186963, + 13702576762848990070 + ], + [ + 3714148727573094328, + 11684141999746445895 + ], + [ + 5915497179620542530, + 1006197227240934488 + ], + [ + 12032647098369155982, + 14919229681576893540 + ], + [ + 5023101747144938660, + 14388590065813370085 + ], + [ + 13562265633467700927, + 16334616061245104219 + ], + [ + 12197762204718012593, + 2011820391455884995 + ], + [ + 17213064276448265467, + 10131572990216314272 + ], + [ + 16749288032553602919, + 2417559974712004675 + ], + [ + 8421345644795530171, + 10720543670411388255 + ], + [ + 13240482989127612167, + 8307014916947213707 + ], + [ + 14506364447264785973, + 4951514010690959877 + ], + [ + 7007431076120079196, + 7180717699889380027 + ], + [ + 17596452609436092820, + 10400761847506970703 + ], + [ + 9577709356667350473, + 2429992067180434416 + ], + [ + 11997310745428350243, + 6713030393506174289 + ], + [ + 18145615762536732961, + 10410764186598823727 + ], + [ + 14994607273410152861, + 11208457209932847379 + ], + [ + 1164793184502631355, + 10445563871243389040 + ], + [ + 18036181744672000251, + 9896965479858849541 + ], + [ + 5895423321753114603, + 73709370693146641 + ], + [ + 17731313763276925768, + 11231005681457781115 + ], + [ + 12826354688256461438, + 16087085581991305770 + ], + [ + 17891514057802267362, + 8831796986439134538 + ], + [ + 5671476896260124231, + 8090139048250176202 + ], + [ + 12510922300046244600, + 11285144101763430310 + ], + [ + 13222630206323167661, + 13013373699790893254 + ], + [ + 9251217463323688761, + 1537283060871178220 + ], + [ + 7362502855178052497, + 18053607707818718530 + ], + [ + 17135064428456405216, + 8455759252121753497 + ], + [ + 17407673851422516509, + 237327570315010204 + ], + [ + 835445317255222836, + 5433836417602680503 + ], + [ + 7241641288614038795, + 16082218635275441184 + ], + [ + 13179018282147372611, + 17460994893505172003 + ], + [ + 18110894482341409279, + 16762545300353353745 + ], + [ + 6653781439040256586, + 16013031384352991224 + ], + [ + 1517280642304753753, + 6462782927149750407 + ], + [ + 3351516839877007467, + 6045241886472687864 + ], + [ + 1718566216278846936, + 15932850991492548185 + ], + [ + 3966789008520656317, + 9569948077031598497 + ], + [ + 10778186911550800491, + 1642550355644871936 + ], + [ + 6344869093736315753, + 4401973180927519442 + ], + [ + 2605275139610381078, + 6283618368333615260 + ], + [ + 11574570915842096382, + 1361331530452339709 + ], + [ + 359500016359094147, + 11266685836117681115 + ], + [ + 17089773121880699955, + 11341405004704022565 + ], + [ + 13762882309095243752, + 4018608487537203464 + ], + [ + 1335531485453457290, + 9285889461725160651 + ], + [ + 17040256582693781148, + 311948076888343083 + ], + [ + 6925158472163227976, + 12123327608774878260 + ], + [ + 10504669167444043197, + 13118165102708991317 + ], + [ + 5831788976330513696, + 867308106613472894 + ], + [ + 17789138304903892804, + 7020368121898719292 + ], + [ + 8845251304459704199, + 2530791501793427805 + ], + [ + 3176039620045223581, + 9782618685395879567 + ], + [ + 9056115341959249221, + 10898591645328959324 + ], + [ + 10035770894887437008, + 18006723081503323131 + ], + [ + 12538240035694847795, + 17142004535885120371 + ], + [ + 17852448614139053525, + 11530199041360735428 + ], + [ + 1804916647354999955, + 9402183318510274637 + ], + [ + 14061273033458646260, + 6689473306296316026 + ], + [ + 11000401495103905488, + 11994375771233763405 + ], + [ + 12747724218023013744, + 15185246118125573929 + ], + [ + 3483675373204024700, + 7951148706250270547 + ], + [ + 10801947610088528026, + 7140820311524670656 + ], + [ + 4820577146047051051, + 10529798804353284018 + ], + [ + 11064561718601255896, + 13391180756235194830 + ], + [ + 17649462192376073801, + 12842023204418722441 + ], + [ + 12100661889654861875, + 1888591669601254761 + ], + [ + 7172466195824118926, + 11814477984764596359 + ], + [ + 2705026272574695033, + 10417085138757799947 + ], + [ + 16502446930281452956, + 4763441474540259099 + ], + [ + 9297227276950929400, + 6100582860635701193 + ], + [ + 5776975907933809231, + 10299096020841232879 + ], + [ + 8240823340135832186, + 8961404819306049512 + ], + [ + 3109172772566217964, + 16849003346698318094 + ], + [ + 12646245033762821050, + 6690476236181167109 + ], + [ + 13363687329365339582, + 4807830820659142541 + ], + [ + 3613547718902649035, + 9727821322074703956 + ], + [ + 16441170937333130402, + 17494306847067140562 + ], + [ + 15035225445196275812, + 13303590479968230126 + ], + [ + 10063091883308389495, + 14277943025217665344 + ], + [ + 10316285434286644686, + 7153785129704440772 + ], + [ + 7283702656718846299, + 6857101256046440012 + ], + [ + 9969275018303302903, + 2623860432624438587 + ], + [ + 12189903759456735183, + 4482088099082240335 + ], + [ + 15267021975296317471, + 15246523526335438401 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [] +} \ No newline at end of file diff --git a/testdata/poseidon_constraints.json b/testdata/poseidon_constraints.json index 97f29df..280990f 100644 --- a/testdata/poseidon_constraints.json +++ b/testdata/poseidon_constraints.json @@ -2,1065 +2,1057 @@ "vars": { "local_constants": [ [ - 5278671796342368186, - 11371273739056714381 + 5671521104033949241, + 13994178996087158265 ], [ - 458126129829487610, - 3624577775722733584 - ], - [ - 15238637550264308059, - 6325606383653001885 - ], - [ - 0, - 0 + 6730294510300833864, + 9047460405896520658 ] ], "local_wires": [ [ - 15923052451034255905, - 8649718236772679985 + 4626279071220145054, + 2410362780825671395 ], [ - 1826973974293092365, - 16438418590087770196 + 10828304571283229693, + 4190013482540099697 ], [ - 15660692728738335948, - 12272915368578838050 + 4239268252799152936, + 14418135759337392240 ], [ - 8732644524747454966, - 11572089784401867263 + 320380793707227928, + 10053117851689494069 ], [ - 10688882177747150751, - 12002491229167607960 + 6110490738042708980, + 3485718970274343876 ], [ - 11606201795296517325, - 13778275187825152374 + 12797262412312915121, + 11932893837827739494 ], [ - 16476469630738624721, - 15281998602193775503 + 5210804974882336901, + 13845418156307579601 ], [ - 7231308166029449764, - 15053797417872012518 + 841999235762251316, + 14761015506092542363 ], [ - 8376535783559926389, - 14295358826350528620 + 13953275359607369479, + 10588425352289073548 ], [ - 16487089039139500373, - 14512976374062387480 + 14784533532151052641, + 4513905518361160172 ], [ - 17622308907614403197, - 3646473187133180563 + 5744749704996715538, + 5506474214247960898 ], [ - 17852957044345421916, - 3927495219154294856 + 329016459841621849, + 13169340664705683248 ], [ - 1706551000772873292, - 831584013988983523 + 287577334835741087, + 14555003739620982450 ], [ - 1564953835462408836, - 4318657514399691569 + 12925881865549991291, + 2603462541740227355 ], [ - 16889401760268156102, - 16150613599242900700 + 5324914091056701788, + 3112655579808894766 ], [ - 8185205448816317099, - 2067367386436967371 + 2264953688103527813, + 2344806500661722586 ], [ - 6870718104586074596, - 9234179743587323744 + 13057629453902085763, + 4941880019934872469 ], [ - 16160073950422878568, - 5095998104512648172 + 1593659916834711947, + 5040696498624389859 ], [ - 8602094708486105091, - 17367751195930229295 + 2474006281018575600, + 8066598904918651315 ], [ - 3518404938773162539, - 12008890424792515830 + 779529209117607057, + 10571743995859016237 ], [ - 9590647857769592840, - 11039714557326628708 + 12448512044125359325, + 3126454095732350332 ], [ - 14279649391090792744, - 2999905010790142057 + 2264398303831582267, + 16672182486225065713 ], [ - 11965762807677290409, - 9037558186831579036 + 6463511187528977195, + 13722499024478021127 ], [ - 16947009844153374989, - 12860131748778318635 + 14666463596123172168, + 10643500584795160418 ], [ - 774314856589586412, - 15352792731953512691 + 16562763614267864019, + 5786208429960992152 ], [ - 15448426479176755713, - 15096435885463059231 + 344632499512171298, + 9181356161134152250 ], [ - 1208828553289668853, - 10437467828295537360 + 11021452981680107710, + 5208477649111688252 ], [ - 11052870583538506062, - 14233874240613813444 + 908957594947101836, + 3168922325048196873 ], [ - 9305234899706352431, - 15534694550392008186 + 12188151605556931384, + 1043730175342881727 ], [ - 10055609621188755099, - 16760924457375589046 + 12769550483184220317, + 5141623339742163505 ], [ - 4193486303044500258, - 3081993797169457785 + 14991855026792704999, + 13857147576871798939 ], [ - 11944031681358800729, - 13901885714383964906 + 4766995796143332436, + 7975794165944269750 ], [ - 528290876973707592, - 15253352589668984716 + 15617463024172330759, + 1127240694865744804 ], [ - 15732236020913208777, - 17647828043498836010 + 659964898873994473, + 2744727579614311998 ], [ - 14341518089473557938, - 3801313784733477418 + 2913165601350990750, + 18169093339709096838 ], [ - 6204268142724665975, - 3399225441936121966 + 8862319864695561399, + 12492207165470255693 ], [ - 7326834190312867034, - 17434340878750151984 + 13030229801136506704, + 15528721249896831302 ], [ - 18217172938283767249, - 10926806052838392724 + 222550473473840744, + 2065190264470179630 ], [ - 16508241081915588626, - 17780895009395949255 + 3753921060735481503, + 8403521669716639156 ], [ - 437193995662505880, - 17287142054896902317 + 6346736910209235337, + 3892704053704411582 ], [ - 6376278754108736853, - 17430654608322044348 + 17518112898522426582, + 15219796323499993937 ], [ - 15249609608425741674, - 8382356494105453862 + 12742442351535692166, + 17768620911878238366 ], [ - 2469034063456592687, - 1467984916643977618 + 17337778570153555378, + 11512230085497997116 ], [ - 1092271409232364895, - 10306597374108739872 + 9692927508975164846, + 8670001602200653254 ], [ - 10528043082890703594, - 16402800009816501970 + 9067285744002046600, + 14246011591327693281 ], [ - 15569435621431023906, - 2912190547737197923 + 9779374514598016876, + 13549675478874481321 ], [ - 12102385181770480550, - 3224874814588004836 + 10063125577067715487, + 6129574276121621847 ], [ - 8448228645938950139, - 7244214153540189381 + 15502381100158796446, + 6603265408119679315 ], [ - 17339474424396045413, - 15704290108217088973 + 7108823483279745232, + 16597415110711019357 ], [ - 3575486584908908280, - 9806409086900815804 + 13775756305391802625, + 15822017648778459860 ], [ - 2982110222666132989, - 7768064699246408768 + 14438672172269729978, + 7478672580335296026 ], [ - 1791635769866044574, - 13391969731294733873 + 6375743419081803640, + 8696181936043027843 ], [ - 4359238073814237087, - 2518070169534047265 + 6923293077109985229, + 7540437278611762240 ], [ - 9770360512015467317, - 10838042911880163571 + 6443589346912986463, + 5658690668761216426 ], [ - 11696636716978471983, - 11291833592051804934 + 13426554739713696164, + 8335302220009843257 ], [ - 2741708599915708608, - 1819175822702175700 + 278684283312909952, + 10980443696993617445 ], [ - 15417269964448254744, - 5128746479161394132 + 13497504661410714810, + 6702551834825066033 ], [ - 17927211383101204019, - 8369775158925487174 + 11704141866566713763, + 7620780575248540799 ], [ - 8787192318743721087, - 3936406473420787324 + 924582935220778188, + 982322536054517049 ], [ - 14744900951129451813, - 722830670204802059 + 3475886398795208743, + 6756616468980340256 ], [ - 3143623495755350790, - 4980596039418984687 + 18266571592907729076, + 15529371928123545245 ], [ - 2273216764553030030, - 18384883011141966200 + 14129973080709959816, + 8986239296800859788 ], [ - 15827109565559668332, - 9912798189443375465 + 13660104148517883219, + 1077345263878707446 ], [ - 8951001716979795716, - 10197016400645951195 + 12974178810592492956, + 2417795679537381726 ], [ - 756319123123397196, - 10328578411448216797 + 9745027668265102363, + 13496765944205569159 ], [ - 6186837129926977304, - 11279839338698535270 + 6894326962916708124, + 18189902521513788754 ], [ - 2297466263567839229, - 10676993708741963429 + 10479887337941464824, + 3451357388843420939 ], [ - 5962145433805694241, - 11433138804528512591 + 890367388884679014, + 6931006293057856208 ], [ - 18018214915101338255, - 8200147046368741348 + 11076621004542595347, + 12551638351972048513 ], [ - 16786481651632616227, - 5342107363301918381 + 3837531858999324373, + 14805867908967157091 ], [ - 12185343110628272205, - 7801716887668598878 + 14585170268095871278, + 16339160817806913215 ], [ - 13692599259563307724, - 8919451802810764259 + 4643094533127821427, + 10915635247173825465 ], [ - 17878941805243812241, - 9858235924645482007 + 11334866080035573846, + 3743413312137889053 ], [ - 12223579618560460506, - 932018682224287901 + 4308911631190453145, + 11603949487495107993 ], [ - 9683075355075590575, - 15017995323691709686 + 3615541835254328595, + 2544002045217514904 ], [ - 16897465484489730460, - 18042662655983465875 + 11044992573115997676, + 11663609956933003225 ], [ - 8365503543354965379, - 13397160793328229773 + 5719026299579028541, + 50249542333817821 ], [ - 16487171632222605938, - 9457632644339517161 + 8823892315135606798, + 13151195694019807275 ], [ - 10145817495919948699, - 16172132822550608345 + 1939559330621920256, + 684681786340445117 ], [ - 3605581370738510900, - 16838853630526193101 + 18384923975311874509, + 15071239917731175783 ], [ - 2714422419657579870, - 13187621535755937816 + 17518844849252593871, + 8744653401946878581 ], [ - 6044422483595414349, - 449328631258868060 + 14015981762035783170, + 16359123085895717034 ], [ - 10859299731379236704, - 8076654114537959296 + 6920517764433290099, + 1860030508078323058 ], [ - 10881325991392090618, - 7660736615012615339 + 2390850619431155726, + 7672724519790942523 ], [ - 18084283041764367574, - 16160342877379908332 + 10242558037739840311, + 8762743859146749219 ], [ - 13415634359899764296, - 13960111744418938123 + 3968794778504140158, + 10215349361011051974 ], [ - 3811433299654682393, - 18130137595467575539 + 10749269453551415611, + 17668654819626611660 ], [ - 16459510895958902133, - 15708026273875497996 + 3082913157411479320, + 5317143207142874062 ], [ - 15254864512907503832, - 2095784689863432817 + 15504835511425227259, + 16438577018023975267 ], [ - 11550130983099037565, - 2063879548059780707 + 6187962609912734038, + 16943890536786976797 ], [ - 4708813593877077895, - 15127094311666732167 + 3626939980739351712, + 917284156956578377 ], [ - 1184247011312330325, - 14632083317115434808 + 16238480751721215756, + 11384527271748503515 ], [ - 670392458109359352, - 12883220665713688559 + 17937166880785607102, + 14129258658349796458 ], [ - 11861858296734021912, - 3694910416639416069 + 13006308973804105057, + 6742186464398553527 ], [ - 66128378783118050, - 14801696598245483509 + 9287243913982912090, + 7587467962566649679 ], [ - 16512795320465488883, - 4101875066126839645 + 9138873022259680090, + 5215162822733182867 ], [ - 8245823685040957210, - 7181423615036192925 + 3945235141924723864, + 1343067577085669151 ], [ - 4155901012189677104, - 2724768067628584855 + 8965209064543392219, + 3793734623309595557 ], [ - 3159179929142155105, - 6641841072468519800 + 8432934759154423928, + 15992825912947530864 ], [ - 7249704331398152051, - 5968127231002990917 + 1161242210033653609, + 16867712471620667806 ], [ - 4231999856541171948, - 7531264215096535853 + 7601714123664943186, + 9907411342301795347 ], [ - 12842041655531455921, - 6524771275793843933 + 10557582733329832729, + 13644671716027522445 ], [ - 2608472783429997963, - 17479935103987936060 + 331258276429416938, + 969064962973465527 ], [ - 11055628440821734424, - 6246938684686579900 + 5374579974877710982, + 7791793410870640439 ], [ - 1238661897156882158, - 17323333628212507359 + 16190631628900890105, + 2077967101325201787 ], [ - 214341843511057122, - 2943000200893073071 + 15021805731532754756, + 12664107281628007707 ], [ - 13552039337083292978, - 12063531598074364370 + 14505214283561828540, + 14066324410473719282 ], [ - 15713951912037622185, - 7183382110187093860 + 10602139160997079310, + 8502993613013139168 ], [ - 6222211879326417048, - 16341452850491064482 + 10332933084095880582, + 13171988075904432557 ], [ - 8635492700562094642, - 11263504146462485793 + 12368069946972438541, + 6213374970809057192 ], [ - 7937967953992072274, - 6286097067744261193 + 11168797383265938280, + 14246467895669005188 ], [ - 5907821951434045531, - 9881055186867221603 + 14856206076466719571, + 8532814142831366878 ], [ - 15773075107968569905, - 43831488797717215 + 10318895895219816241, + 7732925355700194826 ], [ - 4252247107756010295, - 1621394254386955783 + 16786921394408066461, + 12761445021509145491 ], [ - 14151202675120338086, - 6294257211814210622 + 12099562718803551730, + 5439570478755757714 ], [ - 7942472357914261964, - 1168720513263226163 + 4167853296669879307, + 10353300514118407422 ], [ - 13739632370409827496, - 12769411355540599528 + 9346093895250791755, + 2821160343123360425 ], [ - 7977739269721366934, - 4342740379325397352 + 11669763196025534326, + 12161993892663794223 ], [ - 8394230223311569627, - 1188565158474955411 + 7702384645420392756, + 2140380405224792865 ], [ - 11227555412812211425, - 9970969340048172634 + 11864219818141764954, + 7253443358942406963 ], [ - 3966760728499379174, - 859540510339397771 + 5978406980463667109, + 10775549687286223254 ], [ - 6403289464433905358, - 12550621557211447128 + 12371870485130753615, + 4141849862641385140 ], [ - 16655924406781725706, - 4894923055618437701 + 14691162044690393808, + 11353158344799041442 ], [ - 4686804948839710102, - 4167385033131746303 + 6994491607248702463, + 5631318197736133427 ], [ - 8265162517226891908, - 9297971622676506186 + 5430934726363198696, + 18069009183710884442 ], [ - 3682623218906305349, - 8337986946265893565 + 7945997048911566731, + 4815721831820241654 ], [ - 162045750010400632, - 5551446475711326339 + 264971971612591852, + 8733654203133601090 ], [ - 14510079126855780547, - 10733342872473011203 + 16148540810964604309, + 9106589755792867929 ], [ - 4560378551665803016, - 488869577770167675 + 11382580548661072035, + 6003460812585426569 ], [ - 17473449081476149797, - 221026947045464779 + 2082308333930199052, + 11237350972463788155 ], [ - 18155786310883881864, - 12630777648911222126 + 12992218180545149689, + 4657858594032136226 ], [ - 414479381533775123, - 12612302000580899523 + 7543943416096586268, + 5712696838541865660 ], [ - 7909867798681742545, - 6677715004438733616 + 10245358125426723698, + 9060238104030832924 ], [ - 17983334347318782697, - 6563907302688631362 + 5822404809850800424, + 17845742966710092162 ], [ - 981390791784208435, - 2242418520905538046 + 3376180043245377106, + 10268274765721112861 ] ], "public_inputs_hash": { "elements": [ - 1121265536131516682, - 6920313152058038740, - 12778544753048419364, - 4428236820696119190 + 3088010718041488795, + 5631489006697567630, + 15916936239878416887, + 12010325634035519436 ] } }, "constraints": [ [ - 4728123878718846029, - 18041051686197445867 + 13088699184185798127, + 12825166874214459760 ], [ - 5027056172067429572, - 4733286156581925142 + 5980770680820071949, + 8866472236809459246 ], [ - 71833708001929838, - 206641268854876528 + 9783972706105953677, + 7845321560467145627 ], [ - 2562768730649047397, - 5602527285611257075 + 12636202946041649973, + 2125142737384172886 ], [ - 13756344671509541945, - 750809410764464327 + 1060251657128287951, + 8293575932473125141 ], [ - 1438298088102023674, - 17597535013084393998 + 5581810385766149544, + 12066152943255395106 ], [ - 1813262784939238265, - 9525859923855512950 + 15394297045547786282, + 13047414098815756722 ], [ - 7975932914123021712, - 1669877525352272583 + 5139692697993997461, + 12408389327327647137 ], [ - 13210497965367018107, - 16449506634802997534 + 17789998899968562356, + 1883396148946627107 ], [ - 14471227716245594431, - 16894719200753006697 + 6407299876591269913, + 2980806293804102101 ], [ - 16255188537087924711, - 8917454644113478371 + 10706147500864168532, + 9430074970641161738 ], [ - 5250872843981270323, - 8551480450978356240 + 9098414120029918504, + 10145170794252496762 ], [ - 1013699762787008892, - 5902249601670756374 + 12500410820769439574, + 16516314640327225631 ], [ - 2554230218887732255, - 5324282349495086436 + 1028526417789030151, + 17136665472954189991 ], [ - 676355939972797799, - 2246211522122730001 + 9601300280853051359, + 17369059906276466944 ], [ - 2164940048580342780, - 16243040702388975142 + 15788750316090160532, + 13917653066225920988 ], [ - 6432422355160086895, - 1588161199785405466 + 14260099969135302164, + 5757896466721468588 ], [ - 12438724170204883092, - 1447967357805947721 + 3586770260652959562, + 372916890211967113 ], [ - 1992757441007457275, - 12641370228289898728 + 17673541085846609220, + 7147670748742269603 ], [ - 16909928836606553327, - 5675420300610011670 + 7455185691375924548, + 5299378458541693741 ], [ - 184978664679366063, - 12997616967709934839 + 4842720877202940906, + 5997555924582679943 ], [ - 4620107779729925693, - 7484566400275984112 + 17516393952836838488, + 9986221809446698786 ], [ - 9587064520738394230, - 10222969888597735691 + 271463755611447547, + 5607469507561508042 ], [ - 14396983686248248361, - 5860617261714717806 + 8997025470865985415, + 13840214863077379505 ], [ - 3564707486184914066, - 4401964427678810676 + 3375183952875260779, + 15828190470405456602 ], [ - 8581037693021464838, - 15755658627729545822 + 15360889110568802729, + 17400155590778559576 ], [ - 15164136027822032612, - 4589289796699349573 + 8342230163476012733, + 2506084605746601674 ], [ - 17572027296760429979, - 5922405929138975768 + 16381471027020233566, + 9231912644969783460 ], [ - 1842669410474894766, - 9836737063691300558 + 5147066927195623779, + 16479143012892026793 ], [ - 4651340464363510659, - 11006683764200882785 + 12453484112816604041, + 7059940507496603234 ], [ - 13429324645698727922, - 9145081005526138657 + 6568344949384785113, + 13254765880921996927 ], [ - 13070108593108575120, - 267251272242606776 + 10055753945222464731, + 15238519566847575630 ], [ - 9926792403828385123, - 17003047247768091975 + 14824373881067969084, + 13315236074202631770 ], [ - 303920921450146917, - 2834251985672902452 + 593565280220024085, + 13959198520517557224 ], [ - 1201133604426960640, - 5761125140013503781 + 13216419650367675183, + 3105260181178488075 ], [ - 2612505824387586940, - 10893065638046739063 + 2227774115918745744, + 415690794639967153 ], [ - 572998985991121225, - 12114429069447903268 + 5555943205323899160, + 14554925927208862921 ], [ - 17406975340851889378, - 15884763690009076434 + 17501892820956846674, + 14247030808847997534 ], [ - 2370563327117923785, - 9201387841776000755 + 3009006016413110734, + 7520413052466988121 ], [ - 14228296066667753704, - 3791720553618982390 + 12082037138035267720, + 1066055319054254856 ], [ - 17092544296386809542, - 13470858843376843201 + 8440637717351751365, + 4185859291761183313 ], [ - 8389965961984995883, - 16392485971769795037 + 18108271979721638954, + 8366046797100282428 ], [ - 15183448353405924740, - 8468831687591160591 + 1727412954812752399, + 1094149508896512006 ], [ - 14489889754898272589, - 4544108362703923900 + 6450784407426289676, + 1946824492583668331 ], [ - 12077449412795460914, - 7758587164717089233 + 11163231545295475028, + 1784178741032937634 ], [ - 6514358549424313882, - 4261068881200983228 + 3323920493615092308, + 2907718252100085276 ], [ - 10964012816109066285, - 4106807056490766196 + 6586629920885579747, + 8255964060788261742 ], [ - 11811576123786590774, - 1113089288195925767 + 17886252173382380963, + 15890676833716905602 ], [ - 9070812034850290429, - 11043332565055732290 + 8726630841200588801, + 5303117617628727857 ], [ - 17639545822306529083, - 10291424898264670828 + 16562199838456641786, + 2325441259601818788 ], [ - 15561510311564481744, - 17249971518452188661 + 2981683667164506695, + 17622705725898315707 ], [ - 4769282747033261263, - 13244124928344912737 + 16519754187235804707, + 18444865812321859422 ], [ - 128436361389862209, - 3648481300202045583 + 4802172335021673430, + 6681712194265774254 ], [ - 13537821502374099109, - 6416349163902575517 + 3128376955874845445, + 6367276879844029931 ], [ - 3071522685866695740, - 8405684012852163970 + 5478781933218803408, + 9455934041181190774 ], [ - 15065765648574504191, - 1123564229829642411 + 9961605225238503380, + 1007489917529398530 ], [ - 13963594550199799292, - 17617629385308195784 + 11985758537826910759, + 18264794428519930373 ], [ - 1480650345993922423, - 15856333720292940689 + 5346822221603398390, + 5596928333875496676 ], [ - 9873416418047354908, - 17797963390168736327 + 16708077968277535336, + 14981197770828895775 ], [ - 2056062987261865311, - 14101295043132149042 + 421006798992663881, + 1802844422174453096 ], [ - 8438304460316185351, - 8756115833520011894 + 17996458807513997047, + 11160096265706185130 ], [ - 12700098261900004236, - 10173841026163517885 + 6048844536683337057, + 10495474244758865900 ], [ - 14700206091228497372, - 7954306949711541035 + 15984172965755542040, + 3764100374210623336 ], [ - 8018055675422720515, - 133225577442174286 + 1555928527871885483, + 2987455410547372074 ], [ - 11587712428376000005, - 10913589899556556982 + 4858884482898259494, + 6164612627273180903 ], [ - 5500748932411320456, - 11028063146627633078 + 13137393865798852757, + 3957926544700013088 ], [ - 5728506247363073595, - 16007443421495221638 + 9232092027573201657, + 7770410464697873227 ], [ - 10689227804002166533, - 8719837528994255788 + 16871700189696142152, + 6176933904664380101 ], [ - 8622192013491349874, - 18047234284914053921 + 3489624564668535474, + 15002683888765812684 ], [ - 8229148188734138820, - 765898555218083203 + 16003528609496928405, + 14908395442767019615 ], [ - 13241094752434285361, - 148464921816109427 + 12180579271080424152, + 13336825700436476527 ], [ - 9046115209705619535, - 3974133011969053052 + 9387239850078538875, + 10563551374656152877 ], [ - 455599200444756636, - 18326579032097445515 + 8370024130219648152, + 17901084083204720914 ], [ - 15470632277784215924, - 15243498242291071881 + 14913947026706204528, + 2613487799135858859 ], [ - 2577115054854076590, - 4815577540259351279 + 15253696370097439508, + 9004998321540424569 ], [ - 10523904576298770276, - 3935730610692874862 + 13034147040233590119, + 15782821724507404663 ], [ - 16941362968100514085, - 6070912846715249576 + 38708009723345428, + 10246662009420640148 ], [ - 13818668795091312237, - 16777411713209362402 + 16556729565433617951, + 5902291673230421700 ], [ - 8210606601854250694, - 10899466960350314665 + 6381993060446056793, + 8298513897168499582 ], [ - 5390568525438722762, - 17480294701396008177 + 15017438845930228512, + 4665270998912196409 ], [ - 12539507738675656065, - 2965926832430859883 + 11353269771277461327, + 8180544827962229979 ], [ - 14988118931497588507, - 15327236373144838402 + 12612832221184317176, + 67349515991144574 ], [ - 8275289179086149270, - 4254310473911822574 + 1320601577499675075, + 13081893677367458939 ], [ - 12701533106270867379, - 8687917978068256549 + 9237596858362834319, + 10380898065522106810 ], [ - 11568791782646074676, - 16311393113017847726 + 18092078216883813312, + 10765296864249621375 ], [ - 507315082115982859, - 11507408263634091972 + 6460828406025391375, + 14051103896893265181 ], [ - 9497222321771957927, - 10278082354000825070 + 10424353949022361259, + 4977017432900220895 ], [ - 13889113560508293113, - 5272180713637714756 + 12246042761727114958, + 4600562467510199948 ], [ - 15332475590372930207, - 10741652221695171072 + 9317394860538560070, + 9383079323593177918 ], [ - 7139036260413063238, - 17446457714178305172 + 10437157977176919180, + 925510046887455467 ], [ - 13374581178561513736, - 6568308403976983544 + 14402004186137212631, + 6161116248861261446 ], [ - 17901493493924306129, - 2852735613109990167 + 14649004890929180545, + 12435910296891208394 ], [ - 9836319805542810940, - 6118342329838815102 + 17686400386925641371, + 7435711038967439166 ], [ - 1058842301735373062, - 1220019233903370216 + 10260355931476884361, + 2272084713621528491 ], [ - 169193274331778345, - 7712216734306910550 + 8215059403128406621, + 14034925569348048534 ], [ - 12602127177472268553, - 13041113902450852544 + 15184186088053076795, + 10505045030886972264 ], [ - 2900195592166735467, - 1860079910457569444 + 612952628991442419, + 3094429350097689866 ], [ - 1541624230472432102, - 2624533584963403197 + 6902901567170025480, + 3920908024781185677 ], [ - 15256159865888394494, - 634417912553447104 + 4795599198118217145, + 1830797575636899133 ], [ - 12462029334142507318, - 3705865466091220821 + 3409157087081722194, + 11715843682143881521 ], [ - 7423510292815120059, - 4372824222919850707 + 74855248971518303, + 2141916798056276249 ], [ - 4218808615438867155, - 5944175311751891781 + 7582656221276620334, + 9205029845095686055 ], [ - 4738210120813303523, - 15361940739734252416 + 8928545829028809732, + 3200901014233353514 ], [ - 5911481280368889342, - 3443142703850520531 + 18129337103990581777, + 1938913078474931871 ], [ - 1541124189336078131, - 1404767250116636347 + 3720118363609042146, + 4492654168485553973 ], [ - 1909967443985436315, - 10410099678739647708 + 10532841788734431798, + 17291861491091536289 ], [ - 7357501193194640168, - 18171624598213482480 + 5329190944731219458, + 6449127923891307852 ], [ - 16151399831172922918, - 10046815215298494180 + 12564777421271363628, + 4358971077965997043 ], [ - 16678010553598170108, - 3945797663708318210 + 10676383727397584508, + 9893488025204177577 ], [ - 420891132902295283, - 14607053866627775668 + 9841163703449576466, + 788003243671409851 ], [ - 13404265461757065279, - 2761368506025839476 + 10145161374524940921, + 5889775151927118399 ], [ - 2398192568707109496, - 3725256184104110966 + 8066347584226650697, + 9760287494819581322 ], [ - 12386411484892015960, - 10077085659094430383 + 3865126115214689050, + 15018448054147694100 ], [ - 704915610882308754, - 6662483498289975300 + 2094746260745285038, + 4257396596871228975 ], [ - 11543580673198682100, - 7297907389260892924 + 6354923855484335477, + 16257199704901879075 ], [ - 17866569607004437147, - 18111895373358722791 + 17387813100682381484, + 12168431089993370328 ], [ - 1191607463287233311, - 10615076639734039685 + 6775605522408892583, + 8204956557864544947 ], [ - 17679726170722888654, - 698399065089640117 + 11987637798161038896, + 2733497743138638878 ], [ - 10191583713615298137, - 9681449843253146413 + 12234097493465327133, + 13727865489365558818 ], [ - 7542480036064901262, - 16923066628378393380 + 7453268970500856218, + 15471297141133058707 ], [ - 814640235140447727, - 4956287982470977440 + 10475420625303177346, + 2043590016242050656 ], [ - 7113938102899990807, - 18137638867970393790 + 1584833658885400087, + 13013157503125773465 ], [ - 17178152207802595255, - 7103798715753812575 + 15105585428273160178, + 8246592570084679315 ] ] } \ No newline at end of file diff --git a/testdata/poseidon_mds_constraints.json b/testdata/poseidon_mds_constraints.json new file mode 100644 index 0000000..a3ab094 --- /dev/null +++ b/testdata/poseidon_mds_constraints.json @@ -0,0 +1,305 @@ +{ + "vars": { + "local_constants": [], + "local_wires": [ + [ + 7531615614346475815, + 11039436643386628597 + ], + [ + 2146592729327959732, + 4485955440878616215 + ], + [ + 5140976496123365157, + 15832839079026567956 + ], + [ + 16778423512849852559, + 4844175947340549416 + ], + [ + 14570762480920566929, + 14147028411147821295 + ], + [ + 15920010048118073947, + 637837626825798804 + ], + [ + 13814926746828794093, + 5922624910572496499 + ], + [ + 4378541425740901176, + 9931550725142267667 + ], + [ + 12102268078727499934, + 17873139347272498119 + ], + [ + 17373678181276540632, + 7768801131246275062 + ], + [ + 4543381209361436713, + 6291378546661381925 + ], + [ + 1357810742808732553, + 10765458931987930229 + ], + [ + 4941957598834180065, + 5973047751513043438 + ], + [ + 17476257422913421886, + 12239691544890572676 + ], + [ + 16851685807871701831, + 7233395362409889980 + ], + [ + 10774606550589439706, + 17480402031680894321 + ], + [ + 10636669287854653965, + 5934065499913150828 + ], + [ + 3074413654825573770, + 16134069881202014546 + ], + [ + 5743298011669703377, + 15539301568556153423 + ], + [ + 2504089486922550540, + 5617930327609156022 + ], + [ + 13725482270531436847, + 8305723217364242316 + ], + [ + 14034616048213637467, + 13159470446174950468 + ], + [ + 1286125120559043889, + 15345679515614817516 + ], + [ + 15779711668374838508, + 5085975013363318267 + ], + [ + 14811066269338489786, + 7410915031478048574 + ], + [ + 10764831906273672374, + 15609175813349863432 + ], + [ + 11806450257935442185, + 7914237563002565110 + ], + [ + 2397444331432215118, + 15564268207582239898 + ], + [ + 13170899945479030080, + 15670750718046132209 + ], + [ + 13315027983721817664, + 8260360483285975843 + ], + [ + 17734378727767397026, + 8613332732720719049 + ], + [ + 3752484153116440939, + 6519867697706575802 + ], + [ + 545420826492976445, + 16096837435699398850 + ], + [ + 883378317249117091, + 11405440917888111926 + ], + [ + 15572164094486305091, + 7832000616733722629 + ], + [ + 14402931622670040662, + 5930596461176485729 + ], + [ + 854884439106612049, + 1388025812826044573 + ], + [ + 4782275218454790481, + 1836220528585137020 + ], + [ + 1073962538822331399, + 17804333349428690486 + ], + [ + 11745219170393504494, + 16941703011795930635 + ], + [ + 12706775077123135435, + 7344414440247433912 + ], + [ + 2169561503658583191, + 3999671666240059459 + ], + [ + 15887140464346954249, + 4315822545221827805 + ], + [ + 14710406721604932647, + 8111683112535818549 + ], + [ + 3876582183674540066, + 8487333493379362189 + ], + [ + 13987515720591340527, + 575291586308866773 + ], + [ + 7666602274826778558, + 2572410813778154395 + ], + [ + 17813096667538293967, + 9656442187637200318 + ] + ], + "public_inputs_hash": { + "elements": [ + 8502948438224639869, + 6445658401642424990, + 2913175645558611570, + 14823140173841854319 + ] + } + }, + "constraints": [ + [ + 12834935959232630977, + 9887338484941866233 + ], + [ + 1395848162643461865, + 5653357540152667509 + ], + [ + 7638097988430032596, + 7915326090991610538 + ], + [ + 1596492086736716542, + 12131200853503274346 + ], + [ + 15232133673143589364, + 125429367557237460 + ], + [ + 5522838595983643357, + 12639135064594119677 + ], + [ + 17897368313782813693, + 18060516757271356257 + ], + [ + 13522437566969030919, + 17928246455226053436 + ], + [ + 6593551312718231604, + 10187942188825614610 + ], + [ + 11038559994011852633, + 915864316058890120 + ], + [ + 11368718834842414041, + 1601616372307981385 + ], + [ + 10743331827735675392, + 12542686062916337069 + ], + [ + 5114259829796331790, + 8072869476830583806 + ], + [ + 2799774608423381253, + 2224280765267534509 + ], + [ + 18391882921337778821, + 2766295820872456123 + ], + [ + 14670355979538773504, + 16133690366780640195 + ], + [ + 10527244712976598394, + 6862711937572501004 + ], + [ + 7619383526531645377, + 7211633737318153219 + ], + [ + 1056738614423261921, + 11466362991205136345 + ], + [ + 13170300356303052200, + 18156484836893156744 + ], + [ + 5770097583774888851, + 618955512804939529 + ], + [ + 4663718799028403705, + 11577696432905707426 + ], + [ + 285654228470831339, + 7667958870234441163 + ], + [ + 15632002327844014544, + 8574205739341634790 + ] + ] +} \ No newline at end of file diff --git a/testdata/random_access_constraints.json b/testdata/random_access_constraints.json new file mode 100644 index 0000000..418fdff --- /dev/null +++ b/testdata/random_access_constraints.json @@ -0,0 +1,670 @@ +{ + "vars": { + "local_constants": [ + [ + 1750253098399428664, + 4908957491295619817 + ], + [ + 3889534913973659936, + 7931775737480984434 + ] + ], + "local_wires": [ + [ + 1543773771025855436, + 6824594778596603012 + ], + [ + 11409130803620852228, + 406002925144698223 + ], + [ + 14723367810926319543, + 4265121457193607262 + ], + [ + 6096614376282793380, + 14389607662982986318 + ], + [ + 1221289440409290609, + 9065698257612467979 + ], + [ + 13205424436453183429, + 12954651924904264781 + ], + [ + 17677458888721852959, + 17269316318547389806 + ], + [ + 7407098484565831593, + 2238695105019355469 + ], + [ + 8524756782820548988, + 16192047832763076384 + ], + [ + 3136342925049001292, + 15610221495746523572 + ], + [ + 14802378721395772119, + 10968140997083810764 + ], + [ + 18010157499156746791, + 15904244671626823487 + ], + [ + 1648141826530197738, + 11246162601993987978 + ], + [ + 17879261747945429726, + 15549105521435854015 + ], + [ + 9450541579207977349, + 8676886222215906080 + ], + [ + 480213548705598213, + 12140385979318961515 + ], + [ + 3441309304611116365, + 13606661077893875916 + ], + [ + 5504622748766151043, + 16256648122253486921 + ], + [ + 9124211929408201438, + 2177470519031131965 + ], + [ + 4140789536762664038, + 13042484744782770057 + ], + [ + 17661785785211197891, + 6653673576472515642 + ], + [ + 83604663224071256, + 12549135133186982123 + ], + [ + 2800330562799285453, + 12173881400148295106 + ], + [ + 10538923717582980858, + 16590961678758368563 + ], + [ + 12178828752845804125, + 16331913337413373298 + ], + [ + 3883231815945212228, + 197461092885853616 + ], + [ + 3076894130109969968, + 16852689363556783151 + ], + [ + 2397137942341788751, + 5554477675911200131 + ], + [ + 10706295894471122059, + 7496222018023741724 + ], + [ + 6735677267506939524, + 17955668472036713994 + ], + [ + 1164601301059601965, + 12129138479721431085 + ], + [ + 4257108476812938506, + 9227604747770641420 + ], + [ + 11875272543932791284, + 6845834567330004055 + ], + [ + 3182690609466712139, + 5702168527143340453 + ], + [ + 6768086198063367306, + 4248111013034200525 + ], + [ + 5850736589516745125, + 12106847490347779236 + ], + [ + 1154814237992788321, + 7603138183484733258 + ], + [ + 8574155970891490847, + 2607734943312297907 + ], + [ + 6147924968281407269, + 12705717358620290565 + ], + [ + 866754858161766463, + 6410615958046560631 + ], + [ + 7194675391946811609, + 7114902404749579948 + ], + [ + 8433060291438753616, + 12339596129595010754 + ], + [ + 451216706024481560, + 11644785050983722454 + ], + [ + 4660599911892072981, + 2637852783528574676 + ], + [ + 9099868628023249075, + 1423581259105947661 + ], + [ + 937783568737272765, + 17545672666905896454 + ], + [ + 8791417238363423834, + 17279142779671067056 + ], + [ + 10170400818817067708, + 1736895527394708445 + ], + [ + 11328057845485231733, + 8005594702038527299 + ], + [ + 2375239805155904246, + 9955693612596736386 + ], + [ + 11362494306797445461, + 14156115278791822653 + ], + [ + 5780825873021529180, + 13065202185456739378 + ], + [ + 17212660167798582932, + 10467485153530335119 + ], + [ + 6464558561119079815, + 18009884767686645394 + ], + [ + 5414337089658535400, + 3394967422707208653 + ], + [ + 10217359163046002117, + 12178501855602606272 + ], + [ + 18388470772318043767, + 6391098511944515054 + ], + [ + 4689589872062887715, + 12866086765302811614 + ], + [ + 11896672106614393702, + 13381405402096995623 + ], + [ + 5267348954641749451, + 16578224543556706030 + ], + [ + 4532691889851406895, + 6081324919799788336 + ], + [ + 3385698698897315234, + 9302785562704065136 + ], + [ + 16179746770349526584, + 13272251809678036472 + ], + [ + 8712070100640864035, + 16472385640343197360 + ], + [ + 13556004811610242966, + 6143225974875076959 + ], + [ + 7008554113432737920, + 17146280293064891741 + ], + [ + 14115705323739484782, + 3552456563133825884 + ], + [ + 14645973995093273014, + 15790941679891639223 + ], + [ + 7236918587444365015, + 15115115845784501963 + ], + [ + 11990078326598058872, + 6787270428816059426 + ], + [ + 8290169879649185223, + 5898570320409175341 + ], + [ + 14149840212788493065, + 5631906152617265735 + ], + [ + 8939802221798660108, + 2016289883284705583 + ], + [ + 12385882452564787330, + 4748446111540985279 + ], + [ + 13570082320638374907, + 4108891050223660287 + ], + [ + 3434866808819072237, + 18118196350139496976 + ], + [ + 962593959133823074, + 17282072843905285271 + ], + [ + 3523712781145128748, + 1421828196011444896 + ], + [ + 6986449369791512554, + 15101048357282026820 + ], + [ + 12227211433577144045, + 4122560717353265837 + ], + [ + 13163645212600585668, + 10494997255340259520 + ], + [ + 5951460361359753172, + 11881680703684773125 + ], + [ + 17989334882222772102, + 339009976830533409 + ], + [ + 5537721581062647864, + 5762954919582019504 + ], + [ + 7717153187706090057, + 9907085752483575585 + ], + [ + 8719422438016512332, + 17580354852174264079 + ], + [ + 2596408452988100335, + 3968671054082802413 + ], + [ + 4500857598883769367, + 10956573785620217931 + ], + [ + 850899604341501932, + 6284173753699779360 + ], + [ + 2362582506910598614, + 4700248087297055991 + ], + [ + 4336523337391746012, + 3335232937789564693 + ], + [ + 13848003541941318651, + 17212131620656881290 + ], + [ + 8131655403739289362, + 3204411668869051611 + ], + [ + 14468504909951811436, + 10781233945829935415 + ], + [ + 14775567448280826071, + 956389345630544264 + ], + [ + 8372146400535946357, + 7098457107755150698 + ], + [ + 13401332841578674500, + 16101816627988599359 + ], + [ + 11786785718785974488, + 717913598151857212 + ], + [ + 14394642872976751925, + 799198041177030950 + ], + [ + 2276211192356011773, + 11426031262763480123 + ], + [ + 4535818567836421300, + 11657082573269266027 + ], + [ + 14740763700794840978, + 11675626115145241664 + ], + [ + 16440598610484713719, + 14336886922006824897 + ], + [ + 4729385797953111600, + 3349081014172083521 + ], + [ + 8093019066191255260, + 3718705127668289675 + ], + [ + 12903522368167202185, + 3841652138491438515 + ], + [ + 6113693380833919483, + 10660272770346640082 + ], + [ + 8772874809587724045, + 12770208695009188070 + ], + [ + 7506303526633811987, + 8483412907565462167 + ], + [ + 8628578591576470241, + 14342081858443697479 + ], + [ + 16626126086717747012, + 9936284837574074466 + ], + [ + 8214243252129560421, + 304759373588335102 + ], + [ + 8904352504305760079, + 1274414470985868886 + ], + [ + 13421236581925230880, + 5828224435366724458 + ], + [ + 12665763106665222845, + 12219781307116255881 + ], + [ + 3474412217499067203, + 3383776075401161345 + ], + [ + 12380191040231917676, + 11970273463863689555 + ], + [ + 18300707507739322581, + 4468464903099346975 + ], + [ + 16450626574453040477, + 16934570497576266235 + ], + [ + 7309256247109141171, + 15031277917202408766 + ], + [ + 15475928047953538465, + 13111226646782665426 + ], + [ + 9097952642563703501, + 2272366981749218173 + ], + [ + 892996222552152465, + 16213061901557022650 + ], + [ + 3121281965888094346, + 14297796195364126182 + ], + [ + 5289616090680820352, + 14003512489982587756 + ], + [ + 11335780839392555277, + 10290215944679837992 + ], + [ + 6283171911452458386, + 13537605640522889181 + ], + [ + 8854938475437379954, + 12046895464064083059 + ], + [ + 1834345460187583946, + 15300499073429131407 + ], + [ + 8072773874872057250, + 130799449534538377 + ], + [ + 6237171141373492432, + 4665949806203210586 + ], + [ + 6102201682748323658, + 15045268090688335503 + ], + [ + 12416961801489227527, + 3020119766256079470 + ], + [ + 4308131147618010483, + 8711217026399649512 + ], + [ + 709014244932647435, + 1587311099488528316 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 11307593316699083403, + 3553056626326948351 + ], + [ + 12859434175888085123, + 14669884683955236114 + ], + [ + 16219385177831601244, + 7657869837545733058 + ], + [ + 75951150485775909, + 11274762357885516929 + ], + [ + 14042632114117817583, + 3343141499131245553 + ], + [ + 2634227657561911527, + 7917531734328846216 + ], + [ + 4862380518315086351, + 315425149134176050 + ], + [ + 3622416520945667823, + 15523100634000230033 + ], + [ + 15221227367754985134, + 9974080972788899579 + ], + [ + 3662782748149835953, + 12977442735635138280 + ], + [ + 11902459632330461328, + 10628181368479975041 + ], + [ + 5246725775999795045, + 4702871088231257179 + ], + [ + 2957158979460465451, + 18037587391516513141 + ], + [ + 4141418573214177777, + 11563870428196269016 + ], + [ + 640285995365605520, + 18144044317896009860 + ], + [ + 8122755638578663503, + 3782516323049809569 + ], + [ + 17853491644824232467, + 65522765692410921 + ], + [ + 13440256301465883884, + 12382940375779220422 + ], + [ + 3472249965067161737, + 12385464818734412556 + ], + [ + 13368364869263449714, + 12598607913705151516 + ], + [ + 9151282771065168465, + 2213204138105201165 + ], + [ + 8872921545617027092, + 2339578903626876332 + ], + [ + 10041300964333315988, + 11438554638133257706 + ], + [ + 18235053456251191730, + 2834177697457804818 + ], + [ + 11257194946015352877, + 2892667608010914234 + ], + [ + 9950396530823456927, + 3183329625939999155 + ] + ] +} \ No newline at end of file diff --git a/testdata/reducing_constraints.json b/testdata/reducing_constraints.json new file mode 100644 index 0000000..9f0b04c --- /dev/null +++ b/testdata/reducing_constraints.json @@ -0,0 +1,910 @@ +{ + "vars": { + "local_constants": [ + [ + 14109131966485591227, + 10853620228980440038 + ], + [ + 7429555565331660554, + 12663812432778193535 + ] + ], + "local_wires": [ + [ + 1893820337925536955, + 2077214118219276266 + ], + [ + 10753752874492651504, + 16241003456002236652 + ], + [ + 6753914409905759782, + 5849421375296824887 + ], + [ + 5874696418603621778, + 10906283130959194572 + ], + [ + 11675372909915617636, + 6695420118612537693 + ], + [ + 1792200552773336938, + 13207382299232954014 + ], + [ + 11181375441928796055, + 2945181473847748728 + ], + [ + 6079971987926884125, + 12242811136356891694 + ], + [ + 13966244533117877798, + 5574064892949844645 + ], + [ + 5510834221516807529, + 9840114271785407056 + ], + [ + 13279438467541015184, + 1467965872610989066 + ], + [ + 3813873586466160980, + 12148199543294782544 + ], + [ + 10250983990802242376, + 17734881092845862987 + ], + [ + 13454394931460976398, + 16977963254604060628 + ], + [ + 17341100527689141905, + 1534697881124857522 + ], + [ + 968518707300339008, + 5713103239040698142 + ], + [ + 730953361611754367, + 8667600425907075972 + ], + [ + 3320243717061675, + 16173037142769000971 + ], + [ + 13512389548507291992, + 7031478482997714728 + ], + [ + 4653798902473612077, + 4747884635336357730 + ], + [ + 16731253426129568564, + 12983024257303839246 + ], + [ + 1903413918650268761, + 14773837903369663213 + ], + [ + 3439506562805289626, + 16986751850962752254 + ], + [ + 17269079688662221584, + 334668458503355404 + ], + [ + 16662140610236933374, + 15321016421412975221 + ], + [ + 11762345085374352667, + 3312916142250576641 + ], + [ + 7141031372444622838, + 4538466405468903859 + ], + [ + 9400911599821942600, + 15944138340761139698 + ], + [ + 17476976781497350701, + 11758288825582568947 + ], + [ + 4628630440276646181, + 3555214236074088984 + ], + [ + 16433044977956811254, + 806212875725716268 + ], + [ + 17467849349872127397, + 472005572415280989 + ], + [ + 10142072818339646767, + 7586034791796445114 + ], + [ + 6966200596418371583, + 1477553193792040959 + ], + [ + 10698509361184840840, + 1812375607396679900 + ], + [ + 4422196053275399052, + 838831116408113511 + ], + [ + 3474949823919796032, + 8139181069117854307 + ], + [ + 2599813989395659120, + 962501946698078010 + ], + [ + 14830709646415415789, + 7884299822569420052 + ], + [ + 9383279595093861414, + 1786886212461472067 + ], + [ + 11593388575994572446, + 3247613100199181932 + ], + [ + 683266763037679680, + 4723953499983805893 + ], + [ + 17696002543387297761, + 6060361055994625758 + ], + [ + 4490584505027404584, + 16255727501242878469 + ], + [ + 3066708817691752309, + 3407843462636322829 + ], + [ + 3966750603819188405, + 16119978449353631116 + ], + [ + 11342490217657435110, + 7585515211952643219 + ], + [ + 7300525943486193439, + 11635639669152729156 + ], + [ + 8433846124098573589, + 16188836046585807243 + ], + [ + 11396470778116192055, + 9311260172058848744 + ], + [ + 5024475299407240815, + 10865882524030418168 + ], + [ + 9730785393647191587, + 16774493344887135602 + ], + [ + 11450480502007892011, + 16241355295068283920 + ], + [ + 3221295516427904149, + 6565979681608728461 + ], + [ + 9689694505358104461, + 3813230266665414278 + ], + [ + 2453180846937322279, + 7668643592706602037 + ], + [ + 14420542647273804064, + 242739538458144633 + ], + [ + 3044287534926417390, + 2476495040523616681 + ], + [ + 11842627262654627723, + 11914627374667292114 + ], + [ + 2284065899941899772, + 4608217456517337556 + ], + [ + 12512597725683252463, + 615977216774075011 + ], + [ + 13885853805689498284, + 1667820802249673409 + ], + [ + 15904958358904224763, + 14663660577191187742 + ], + [ + 16340172213878704891, + 181660374953528220 + ], + [ + 5518292360964539769, + 12950416886788697243 + ], + [ + 11381548150792898859, + 5025385720385668129 + ], + [ + 15840258378591833872, + 15870064469940113114 + ], + [ + 2761624877330842718, + 4264221472471441516 + ], + [ + 6379385782600079827, + 14629675236111469312 + ], + [ + 9042746690742822926, + 14503500206945222779 + ], + [ + 8271310158799773152, + 11099450323607343157 + ], + [ + 972493645647162244, + 18177201401837227380 + ], + [ + 14822244397217048705, + 7085855089499376062 + ], + [ + 7026541869539328310, + 16147660892907745110 + ], + [ + 7521638555168934954, + 9546937354895976275 + ], + [ + 17648915371400079067, + 8090188189538643937 + ], + [ + 8874408592513773525, + 17302231804522362633 + ], + [ + 11728992979848954346, + 16144289892214776967 + ], + [ + 9465342377496412523, + 15762774122289722397 + ], + [ + 6200723761468119289, + 4610812689728484480 + ], + [ + 848208342767934691, + 13591712667197648758 + ], + [ + 8176410015655764500, + 7111417737653466023 + ], + [ + 14029364014148609860, + 12370893441953929277 + ], + [ + 8801198467301262162, + 16716813983704736301 + ], + [ + 12285811977387865338, + 9119682375748295005 + ], + [ + 5632958368963395255, + 12884638873134860648 + ], + [ + 6384298241356330448, + 1946982966950562945 + ], + [ + 15593694991938095189, + 14314544875159711170 + ], + [ + 17735125107652648791, + 14082700035264509989 + ], + [ + 7871489529663992875, + 6107226562394463720 + ], + [ + 14838576622867191492, + 385217769160544541 + ], + [ + 11080756548151783432, + 5608653104061339045 + ], + [ + 13872760315160340431, + 9313253907567732290 + ], + [ + 11509312269678106325, + 4467718120798343260 + ], + [ + 17096191927709258425, + 11079828974571199364 + ], + [ + 3264533178990364139, + 13142718080481011358 + ], + [ + 5996951672748890163, + 13256859119690351120 + ], + [ + 6195323046436344806, + 3010860041943146015 + ], + [ + 6785152510902513806, + 8436387251691625183 + ], + [ + 639924990599571898, + 5244413698512749179 + ], + [ + 1364661849368819648, + 5232115946905005310 + ], + [ + 2212695071648244816, + 16752957482155482150 + ], + [ + 11865606964228360599, + 4051728506079750107 + ], + [ + 12968702581035547548, + 4191858717341469567 + ], + [ + 10476349091128857936, + 16256743286619892980 + ], + [ + 7285546242605447135, + 11610754524610306903 + ], + [ + 15520550750324367589, + 3630303875730799545 + ], + [ + 13570403312231289568, + 1350019542469083595 + ], + [ + 18281457065939616711, + 10564854110074165361 + ], + [ + 1386299658370021629, + 17801616294747297252 + ], + [ + 15252516585071290295, + 17372368987047628881 + ], + [ + 15742565269171909967, + 15274953701683696940 + ], + [ + 5533944768151228223, + 3440735753284057053 + ], + [ + 15164341233905567622, + 15392589811827858528 + ], + [ + 329964130978413493, + 9546390932893253442 + ], + [ + 17008966871603415524, + 14492740947603439178 + ], + [ + 7240547032520920321, + 18048591947234898855 + ], + [ + 16332940554898505364, + 14979046091813779749 + ], + [ + 3989031141872937593, + 4089147581758538911 + ], + [ + 1219098368055583351, + 14908245739363841855 + ], + [ + 6033112104114884027, + 15395475558540437007 + ], + [ + 9779452741229590848, + 17470663988888358433 + ], + [ + 17192736736555397050, + 16180482800802546560 + ], + [ + 3127064610639359363, + 5343117413558516790 + ], + [ + 3103255152086023399, + 13098692305833432473 + ], + [ + 6050140158005589793, + 7590900430250010929 + ], + [ + 4825855581007554194, + 3839365646533271480 + ], + [ + 3245276723663128433, + 4282929111281685865 + ], + [ + 1226370415326003870, + 10954565401573099038 + ], + [ + 13956072605993963015, + 9399414597426116988 + ], + [ + 9590633976433701693, + 16977745352148794360 + ], + [ + 6803820521792799832, + 17111665965007113710 + ], + [ + 17429656994235790152, + 8058213358371663770 + ], + [ + 7763493343728905743, + 9604513093614956568 + ], + [ + 5988417203812555434, + 14386526087711250236 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 15929064167800008315, + 5636761512229999756 + ], + [ + 16066473096368098256, + 14628389802339964555 + ], + [ + 4032565659766206729, + 4134686278062936453 + ], + [ + 3043663320360236711, + 15823404818456558202 + ], + [ + 16281605289091263939, + 13846736157313706004 + ], + [ + 5728647975787331951, + 4218990858038780365 + ], + [ + 2001922949759370644, + 5954593636420209815 + ], + [ + 14253633391398815566, + 6182255688366760009 + ], + [ + 2405834837081892915, + 10124762988619471907 + ], + [ + 15520294923892418106, + 1444463297217020223 + ], + [ + 14687487824505297829, + 8691676877615898776 + ], + [ + 8144498561113020562, + 5586554791748870886 + ], + [ + 17478952849129711695, + 1937262092910729228 + ], + [ + 369163396432584691, + 4471914521383713489 + ], + [ + 2585545061516305229, + 2794453643005018776 + ], + [ + 10308477598611943101, + 11540753442427070807 + ], + [ + 2542189015929910344, + 9393413999915964811 + ], + [ + 17177095382720698236, + 12775677273784782634 + ], + [ + 994538069103926994, + 1813237299745151286 + ], + [ + 9972209082503701218, + 14523940535866994996 + ], + [ + 5486281462669173836, + 16843076103417683936 + ], + [ + 8558245820199424608, + 15908685134099586642 + ], + [ + 3708578104374010299, + 12495083593413789288 + ], + [ + 9402097762890199213, + 2476163540338490883 + ], + [ + 17879819811086307447, + 15928716372543738966 + ], + [ + 4467559445718559386, + 12510593609328482296 + ], + [ + 2760269080365935808, + 13007722559014472565 + ], + [ + 12754888057620226751, + 4688801919515342035 + ], + [ + 7084975450422559353, + 12172034262424530566 + ], + [ + 3469750751165513360, + 845835266869038261 + ], + [ + 15296232370874283912, + 18205405774469245823 + ], + [ + 9887365517383727646, + 12958385504646231817 + ], + [ + 15059474870443072789, + 13053537908101354081 + ], + [ + 12013824277218758407, + 23064261412730003 + ], + [ + 13845484315970334462, + 8725133868678812300 + ], + [ + 6721417786871553187, + 13442111806046242848 + ], + [ + 13686018210292189757, + 14422664905379938439 + ], + [ + 1669342896745604137, + 13006447230044330840 + ], + [ + 9208478291140673081, + 18344093761572873276 + ], + [ + 4589544306068197463, + 527848368385681599 + ], + [ + 8355928683295111951, + 13595013598236418815 + ], + [ + 14516673298846712852, + 16965073915488611559 + ], + [ + 17706499389166264353, + 6228524380640254512 + ], + [ + 15398609145464021491, + 3069684399307459147 + ], + [ + 7109248788024104738, + 9072404496265770742 + ], + [ + 10546654347335868294, + 15064122826847420039 + ], + [ + 17482851542698495935, + 11341423554152886210 + ], + [ + 6675071315667733591, + 17700276142174575838 + ], + [ + 13840210636143668768, + 7199359655684055027 + ], + [ + 12069931994936431284, + 17853622869542286637 + ], + [ + 3783707849482613314, + 16279638814479964172 + ], + [ + 16021907799352088875, + 16944911314083246001 + ], + [ + 15827058393071762188, + 18269928796129169177 + ], + [ + 769203706496828967, + 5487203826845356622 + ], + [ + 15050676017498798128, + 8800882945841223428 + ], + [ + 3059685414417849178, + 17387758702857652820 + ], + [ + 17283593976190780520, + 6691079243701166750 + ], + [ + 10904596632953175247, + 14914352717744950600 + ], + [ + 5363584319323254811, + 12768667463224241531 + ], + [ + 2603112962823388899, + 9375157380780194573 + ], + [ + 2852400752708644077, + 4570675093477142204 + ], + [ + 11527397708899795643, + 7675431378333905604 + ], + [ + 5670384951106751878, + 15644104757179181729 + ], + [ + 12710328904876950366, + 3745822914730604058 + ], + [ + 11776832982585228999, + 5898712170816321974 + ], + [ + 17871195993922575557, + 522852722664789115 + ], + [ + 14143969352429085077, + 8063031992061316909 + ], + [ + 4641965057589622868, + 14310527263717148369 + ], + [ + 3243176844638423840, + 8079151994026704171 + ], + [ + 17792284123555353600, + 11145119286619925769 + ], + [ + 4196048164184674331, + 16679903850892553008 + ], + [ + 16411423671271555497, + 1007447295421036378 + ], + [ + 13420579897067547486, + 9655106361800842756 + ], + [ + 8581689539024235254, + 11507932572599913263 + ], + [ + 15134047596315383256, + 15530243494037646882 + ], + [ + 17613515801214947045, + 2084753244922821671 + ], + [ + 6175548038045978485, + 1656893653330426433 + ], + [ + 11521550092355180341, + 15925532695971114405 + ], + [ + 7568267570782155726, + 1035382587620027052 + ], + [ + 4580873739043904707, + 4037703867612285609 + ], + [ + 12808515552673025655, + 4434962698819347174 + ], + [ + 4133108297474579922, + 14988794525259665931 + ], + [ + 4302617659217857107, + 9737262619850948793 + ], + [ + 275034030941462637, + 994046358218477143 + ], + [ + 2093781354641404796, + 3280185976909825673 + ], + [ + 11203408670540859551, + 15237128629362053937 + ] + ] +} \ No newline at end of file diff --git a/testdata/reducing_extension_constraints.json b/testdata/reducing_extension_constraints.json new file mode 100644 index 0000000..f1d4931 --- /dev/null +++ b/testdata/reducing_extension_constraints.json @@ -0,0 +1,822 @@ +{ + "vars": { + "local_constants": [ + [ + 12706656716187930774, + 5451460083875077774 + ], + [ + 7871514202606667376, + 4483486676513569438 + ] + ], + "local_wires": [ + [ + 16166130113519161349, + 679190506450448962 + ], + [ + 10714431458663322824, + 6897921071402656698 + ], + [ + 12250732822401462940, + 9273144492478559925 + ], + [ + 1664879466014066239, + 1894603429619479148 + ], + [ + 9175037075707830660, + 12114451160605854474 + ], + [ + 3982333423866786941, + 6241442247542718127 + ], + [ + 4778500562562641036, + 17691363453802317187 + ], + [ + 7907787529193834840, + 5263313189183832255 + ], + [ + 17237343241685427533, + 7595815431779221230 + ], + [ + 14881572856829086061, + 18183054926983419198 + ], + [ + 13472203028510776495, + 77150395476850461 + ], + [ + 14221648023411798924, + 15818713478514196685 + ], + [ + 5413242983918315392, + 16308771726208336305 + ], + [ + 13609294176264969047, + 12606928393923482802 + ], + [ + 12313756380998870271, + 11565179568310368836 + ], + [ + 6861828752631743175, + 14309493825974898742 + ], + [ + 10304231069692620253, + 17795561329422834897 + ], + [ + 6390638485871153913, + 7678656612331586535 + ], + [ + 5497398079373166728, + 6562761317804322938 + ], + [ + 17975931251099043860, + 17105458583841418363 + ], + [ + 17518885202721796858, + 12459537409574814707 + ], + [ + 7142248618068501357, + 4960960657401505735 + ], + [ + 5594949990438532711, + 18018420097323190322 + ], + [ + 7188649654229489674, + 11603469651216103632 + ], + [ + 7232813702161383864, + 13801958018864424394 + ], + [ + 8317538876223283107, + 12363964985890386666 + ], + [ + 16394650233267458487, + 11765696020149997792 + ], + [ + 14385431869711479884, + 12583212735429041460 + ], + [ + 8729773719945749736, + 15017149387382134354 + ], + [ + 10645580696768137102, + 13499148702097253142 + ], + [ + 6390648226829351677, + 5040159173860713976 + ], + [ + 5611041029560985042, + 5711586102314254039 + ], + [ + 16916756418414938748, + 17779594977182196450 + ], + [ + 7863236059192042100, + 11260901747374887397 + ], + [ + 3019043343614347620, + 11778553289291405294 + ], + [ + 4990864736627207901, + 3425979796561185770 + ], + [ + 9275904487020585338, + 16694125178001165417 + ], + [ + 5436354356788574369, + 18353876748865741833 + ], + [ + 10613997408319823024, + 17772854902665884387 + ], + [ + 16775050031017983508, + 7393999141078945271 + ], + [ + 8527931511117886000, + 981783849207038101 + ], + [ + 9420807713498401164, + 2499779200112956887 + ], + [ + 14715996134805139393, + 2724716164925464768 + ], + [ + 4583330281773774443, + 10306569006566699367 + ], + [ + 13711747562434127905, + 11488316894304713627 + ], + [ + 15139471323457844078, + 11794470862973611707 + ], + [ + 10702065618964425486, + 16456239733308350918 + ], + [ + 7616891906188961107, + 7973346150307218193 + ], + [ + 2567724326758124630, + 408344296308037841 + ], + [ + 15653779828108415395, + 9454952413072035435 + ], + [ + 6495701405215356165, + 8398726797325887910 + ], + [ + 10591248456204048279, + 16804286770381613211 + ], + [ + 17887110413310968266, + 4049341288566555863 + ], + [ + 1304912812600228204, + 5941850413906604418 + ], + [ + 2602021131263159660, + 11149916395458430128 + ], + [ + 12179912459227955553, + 222713016823766078 + ], + [ + 6032174800408439918, + 17784399043050532457 + ], + [ + 16433375651075403507, + 8399821562687061526 + ], + [ + 13617827082472499272, + 3910504061799546705 + ], + [ + 16814110448141995807, + 56835242106721233 + ], + [ + 13269067877751154268, + 2178989955713160157 + ], + [ + 8153186881385683819, + 7085006128492881987 + ], + [ + 663522109876482741, + 9557294979962377690 + ], + [ + 11848307559720324194, + 9409340791249531876 + ], + [ + 3345932424799860809, + 2633323905442463617 + ], + [ + 2876304478017548437, + 5754527591783797783 + ], + [ + 6032609425845985531, + 17621669388911773870 + ], + [ + 6734520555788577537, + 645151267399208031 + ], + [ + 5692132466123391085, + 14422630783049121459 + ], + [ + 14555628130456134583, + 14780256877845390009 + ], + [ + 2178725873529076058, + 5110137833940877678 + ], + [ + 2847595159148981781, + 821564077376501030 + ], + [ + 12062793512945678445, + 17192316476764479081 + ], + [ + 11508841317765451094, + 14780360603304839128 + ], + [ + 2572035722714659719, + 12329467524274207220 + ], + [ + 10063241754146136334, + 16599407876140868211 + ], + [ + 1009418000809335372, + 11503481665879240155 + ], + [ + 17399191316795506764, + 14127472916287516500 + ], + [ + 9905054392066170015, + 8567714904156045035 + ], + [ + 8076433323322156615, + 14676406571417591277 + ], + [ + 10834180602657641045, + 9621747531482526701 + ], + [ + 4075832774480519797, + 8215952394170525799 + ], + [ + 936017828852474451, + 12871145585181405084 + ], + [ + 1275270965244168678, + 11779484982413135503 + ], + [ + 2915280183034745419, + 9121072793679833989 + ], + [ + 5147762556427157768, + 15193918149188884369 + ], + [ + 4407066875498609885, + 8546511404494041080 + ], + [ + 10565574443260254945, + 10766562152389243774 + ], + [ + 10308743486480182705, + 5751264582527408990 + ], + [ + 627126385430183251, + 9142980567620623578 + ], + [ + 4257727192894407416, + 9064341241576311120 + ], + [ + 13431685469231570136, + 16888456455921002086 + ], + [ + 13944266195131386552, + 3275661607059128202 + ], + [ + 16109519304666386044, + 16469434222764326383 + ], + [ + 6727559056518789424, + 7474172597328329150 + ], + [ + 14244008483479104494, + 14512108378606940717 + ], + [ + 5674230584756597827, + 9952354539314511370 + ], + [ + 6647239675058344995, + 2917571806833235980 + ], + [ + 8153960399155998821, + 5974983895602123244 + ], + [ + 12084289188473610537, + 1495862321237486877 + ], + [ + 9405998363736706686, + 5358484627759159699 + ], + [ + 17199230779400895692, + 12830099341883203121 + ], + [ + 17414308509691028946, + 14515734194687682442 + ], + [ + 1275053005527139597, + 4929445020359304577 + ], + [ + 11346011063954506120, + 10058232872438027142 + ], + [ + 6411224864177359792, + 12385533067450051445 + ], + [ + 6548335874610842195, + 4937095964140646930 + ], + [ + 10982698291589167450, + 15443994928250080001 + ], + [ + 10622015224343974507, + 13141939306986898773 + ], + [ + 1419654535940960154, + 6937727716115334316 + ], + [ + 6624705426806091031, + 13010210232273684539 + ], + [ + 13859229247739585478, + 16882956060054499361 + ], + [ + 6793671045376271174, + 7456541610945702083 + ], + [ + 4521369424601992469, + 9958997887159603869 + ], + [ + 15554851611762996127, + 8183332002524340443 + ], + [ + 12785950424983622031, + 18240867941159929772 + ], + [ + 492108623856245865, + 10494423190951100884 + ], + [ + 3591408734158485830, + 6903465860602430593 + ], + [ + 1105495311394592191, + 1572273043444235721 + ], + [ + 1131023566953672138, + 12940453201755890698 + ], + [ + 16913937789793420417, + 13849120160429037789 + ], + [ + 9857715274730811304, + 16337434678578762705 + ], + [ + 5882987640526812604, + 8015455493978456739 + ], + [ + 4849525839173950256, + 1172134226737338492 + ], + [ + 2454042626588831833, + 10174292815114358381 + ], + [ + 17977990419753056236, + 3361030718557571803 + ], + [ + 505695486158099688, + 674719203771556332 + ], + [ + 2493923792952644909, + 257747878636112172 + ], + [ + 7914427840517315624, + 2683086844119353411 + ], + [ + 11983974189548275733, + 864536334691961229 + ], + [ + 1633328572978387822, + 10849541118361456271 + ], + [ + 17354512149828199062, + 1757927946185050161 + ], + [ + 954726098072653027, + 16228495905637518537 + ], + [ + 7697135310378201627, + 12601064127464295352 + ], + [ + 13537126959574806114, + 13899037719017238918 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 17036696834774602495, + 956995219832820145 + ], + [ + 13742253076403053117, + 7703740893278968569 + ], + [ + 640289778797789100, + 5949370688004355136 + ], + [ + 1021141702580380724, + 16359889654234736548 + ], + [ + 9185389749027616749, + 14083600828086566843 + ], + [ + 7084724175995848652, + 7733636729481042771 + ], + [ + 4246275710013097616, + 3329972481146417240 + ], + [ + 3705061465608941265, + 6459925555994902769 + ], + [ + 12254467524396168958, + 17147809511817506041 + ], + [ + 831952891404151619, + 12828751445046043528 + ], + [ + 8155175755064717221, + 6122419618478194579 + ], + [ + 6277284493080795580, + 14020488236055616206 + ], + [ + 1824001289652148535, + 11899309802584665607 + ], + [ + 5991442555971689490, + 14575263349037271183 + ], + [ + 17649213369093130597, + 12401893383771244536 + ], + [ + 4907962198837216224, + 12975689407869654856 + ], + [ + 8204042216186344537, + 5244773887133940357 + ], + [ + 4583108702265258208, + 12618262652682245557 + ], + [ + 11934542559739956730, + 10134135559857763244 + ], + [ + 12810124684674807462, + 5098208762977944641 + ], + [ + 887721124713728923, + 14184194698720268759 + ], + [ + 13754414857469663738, + 12641314019460897656 + ], + [ + 3963442416843060506, + 8218834255695908091 + ], + [ + 10597701083564210136, + 15237791833499418322 + ], + [ + 9923303222827967640, + 6739496299122005148 + ], + [ + 12919901540919305431, + 14717488652300585767 + ], + [ + 6095627398229390223, + 7639417245827336816 + ], + [ + 5317374485926779228, + 4672499212083055410 + ], + [ + 13471527299446644347, + 9965832561046901894 + ], + [ + 16840353283152149562, + 2871452588003013403 + ], + [ + 10219549861314223507, + 11434744917370947834 + ], + [ + 14979513887539001944, + 7853048938057326866 + ], + [ + 10147649265796452047, + 6752181433577938185 + ], + [ + 5909776980934371894, + 9040029089328543870 + ], + [ + 7326090962797898868, + 10944076112875478086 + ], + [ + 12562622064294956672, + 17217904002109567682 + ], + [ + 4909685093754351997, + 955719873466041288 + ], + [ + 4884913803373826780, + 16650355246454839497 + ], + [ + 3311791293669909101, + 13736785748123692824 + ], + [ + 5300296375317912560, + 1847043453306643049 + ], + [ + 7506456063074342365, + 7819578126085770994 + ], + [ + 5413683274662292288, + 11131035834019356132 + ], + [ + 17304666206885313464, + 6076850646346006712 + ], + [ + 14885237240118152386, + 10459372182465599323 + ], + [ + 15598264903705250645, + 15104694185704750890 + ], + [ + 691243876824193338, + 12515816255043850330 + ], + [ + 10298991833982273676, + 5973997701379899319 + ], + [ + 3764892128041247731, + 10639994051002736441 + ], + [ + 16384507128155917289, + 1031431985898448477 + ], + [ + 15359536554841704104, + 17598172181658242709 + ], + [ + 11708723652138910880, + 3015678018339804654 + ], + [ + 10238514159186659231, + 16871729260625951326 + ], + [ + 207658935490244057, + 10640354193312829829 + ], + [ + 418458110008057985, + 173000591183639177 + ], + [ + 5416253594725613206, + 11335189921121838655 + ], + [ + 5419125432380316808, + 10695094527713885956 + ], + [ + 6097960376084849923, + 11081452429168285941 + ], + [ + 4355556602698537070, + 4286372825410237452 + ], + [ + 14012951957752129305, + 17082309832503595427 + ], + [ + 4233230776138165152, + 2635828540347908113 + ], + [ + 16142004747422551269, + 5058242926212680415 + ], + [ + 16300780670661116108, + 17383373662511105039 + ], + [ + 8857570283732083128, + 898961758789075433 + ], + [ + 17030668019274106808, + 11354438495043844363 + ] + ] +} \ No newline at end of file diff --git a/testdata/tendermint/common_data.json b/testdata/tendermint/common_data.json new file mode 100644 index 0000000..4db4a46 --- /dev/null +++ b/testdata/tendermint/common_data.json @@ -0,0 +1,173 @@ +{ + "config": { + "num_wires": 135, + "num_routed_wires": 80, + "num_constants": 2, + "use_base_arithmetic_gate": true, + "security_bits": 100, + "num_challenges": 2, + "zero_knowledge": false, + "max_quotient_degree_factor": 8, + "fri_config": { + "rate_bits": 3, + "cap_height": 4, + "proof_of_work_bits": 16, + "reduction_strategy": { + "ConstantArityBits": [ + 4, + 5 + ] + }, + "num_query_rounds": 28 + } + }, + "fri_params": { + "config": { + "rate_bits": 3, + "cap_height": 4, + "proof_of_work_bits": 16, + "reduction_strategy": { + "ConstantArityBits": [ + 4, + 5 + ] + }, + "num_query_rounds": 28 + }, + "hiding": false, + "degree_bits": 16, + "reduction_arity_bits": [ + 4, + 4, + 4 + ] + }, + "gates": [ + "NoopGate", + "PublicInputGate", + "BaseSumGate { num_limbs: 32 } + Base: 2", + "ArithmeticGate { num_ops: 20 }", + "ComparisonGate { num_bits: 32, num_chunks: 16, _phantom: PhantomData }", + "U32AddManyGate { num_addends: 2, num_ops: 5, _phantom: PhantomData }", + "U32ArithmeticGate { num_ops: 3, _phantom: PhantomData }", + "PoseidonGate(PhantomData)", + "RandomAccessGate { bits: 6, num_copies: 1, num_extra_constants: 2, _phantom: PhantomData }" + ], + "selectors_info": { + "selector_indices": [ + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 2 + ], + "groups": [ + { + "start": 0, + "end": 5 + }, + { + "start": 5, + "end": 7 + }, + { + "start": 7, + "end": 9 + } + ] + }, + "quotient_degree_factor": 8, + "num_gate_constraints": 123, + "num_constants": 5, + "num_public_inputs": 260, + "k_is": [ + 1, + 7, + 49, + 343, + 2401, + 16807, + 117649, + 823543, + 5764801, + 40353607, + 282475249, + 1977326743, + 13841287201, + 96889010407, + 678223072849, + 4747561509943, + 33232930569601, + 232630513987207, + 1628413597910449, + 11398895185373143, + 79792266297612001, + 558545864083284007, + 3909821048582988049, + 8922003270666332022, + 7113790686420571191, + 12903046666114829695, + 16534350385145470581, + 5059988279530788141, + 16973173887300932666, + 8131752794619022736, + 1582037354089406189, + 11074261478625843323, + 3732854072722565977, + 7683234439643377518, + 16889152938674473984, + 7543606154233811962, + 15911754940807515092, + 701820169165099718, + 4912741184155698026, + 15942444219675301861, + 916645121239607101, + 6416515848677249707, + 8022122801911579307, + 814627405137302186, + 5702391835961115302, + 3023254712898638472, + 2716038920875884983, + 565528376716610560, + 3958698637016273920, + 9264146389699333119, + 9508792519651578870, + 11221315429317299127, + 4762231727562756605, + 14888878023524711914, + 11988425817600061793, + 10132004445542095267, + 15583798910550913906, + 16852872026783475737, + 7289639770996824233, + 14133990258148600989, + 6704211459967285318, + 10035992080941828584, + 14911712358349047125, + 12148266161370408270, + 11250886851934520606, + 4969231685883306958, + 16337877731768564385, + 3684679705892444769, + 7346013871832529062, + 14528608963998534792, + 9466542400916821939, + 10925564598174000610, + 2691975909559666986, + 397087297503084581, + 2779611082521592067, + 1010533508236560148, + 7073734557655921036, + 12622653764762278610, + 14571600075677612986, + 9767480182670369297 + ], + "num_partial_products": 9, + "num_lookup_polys": 0, + "num_lookup_selectors": 0, + "luts": [] +} \ No newline at end of file diff --git a/testdata/tendermint/proof_with_pis.json b/testdata/tendermint/proof_with_pis.json new file mode 100644 index 0000000..fd9a375 --- /dev/null +++ b/testdata/tendermint/proof_with_pis.json @@ -0,0 +1,17839 @@ +{ + "wires_cap": [ + "18174097644757311281219306493683808365506047673393695769118472462713062506254", + "16979672573428258461887577710259536958907416509633467048011270018736386056642", + "369204370822245468787132939026166769665649696926177394464484386640728915860", + "3113420709107167727869494383129475532892885304324204332888528131782565061249", + "13471559202476623685764899259106332133304813061767849851168207148183544530660", + "5516479177299078044557079237403017315033608058679584998134049839207633641049", + "4018263271786294455001172565527430764370347046070544319858102648688888278101", + "420454325522168213911472593382100913494847334757011323716349651589720110294", + "17057393585399569297511145354539619643075487854421702942228588729737903196533", + "5282450386553198069985051808676657534882235997603535230451905125390425340281", + "10743538791544967716736599505938317500923241359914973845965242268057316475239", + "21164821596188689440899178776563180224570087790723703262741865681234600184310", + "6132368515531406898656828934350550812870481293359450778232624350797435297758", + "11102195426297300687460543598206951836739752312674243062353447385063540415555", + "19719054033740954090655822996721227952259417018401876938154337171563000393187", + "2244313141719437147809109935251791686359118742471195437655397669325000066883" + ], + "plonk_zs_partial_products_cap": [ + "10864752899197257187736345975753615008007018691912493889361298106573029747602", + "4498187462496316057140259424586715153621746250560483797806478318050521781532", + "3334540659888492895352080932835702738365340077925540546407933546250007486228", + "8081517171912261517006071531851095709275998776180196717262408137373148758407", + "9808399775333941032661592309257362572371786502016127148921319839036031540345", + "13942001359536125287627454715997857392990566091366465966754593395959116357886", + "1407451244879601510178654637678933993694656916189152279421410952349793368625", + "4807644587266468085766371819044135776704075414466816911893958118786164533963", + "10889598382158928280481741692096663730549551303249559290030185712456735724511", + "18499337788178102910612536532163862095302026190033897138078565442082734316698", + "14501425235940152798164112712794807627323570567045180713576652096423030011386", + "5810687666037774937023694470036384170200698603445613082823087589786727588248", + "17300041570322800480460282130158154537879227362823539387284336755015384504588", + "563131828973090610375407877537533114434102121974431405181370379927147702086", + "13959122464058426527124729978932266502576713141363614699418901948963521852903", + "14758284115757722395539012725954403473540031302292967015222974992679909016327" + ], + "quotient_polys_cap": [ + "8299210290380354461451351942834011767342869366954357389259159760076643563710", + "3635437153080849093318171859564054661189343040562791446415311411770314580113", + "4206479766470160271381038566290221790644204402254455510520907620455861106985", + "2243081391861449966934165155835166748107891667250130200615582001005379605147", + "15071041736213237395203529957711273809170514927093147455677542956029390028199", + "13336867938470487497826164622233544379058539518280452151310810399053389133567", + "2917657266898530696483820610174615940274397153275316492769619623914942208146", + "4380704074836270619733425342973816996440392143069143596688472198311407752787", + "11877887360267117429243011547113153064423661891621271405015200225300877028637", + "2410226767331887646368594121164684578789710279168602160768692979041609760036", + "19160691443080302733068114450546286004992360242443974551330530538357261703651", + "1193142722675887784653785118075033063722672910172645101062607481993901576506", + "20031547331092003429910378350264741719345532232826511848083459081119289998110", + "13834000663038357111416017860687822352649451058387018139476299431527642943454", + "6143841836022429756032850581194517795425715226435193304244245451749770204350", + "8059282109789705111559890756093780405554445967755047637981281043249998879002" + ], + "openings": { + "constants": [ + [ + 2106583551891064973, + 9321326144382698676 + ], + [ + 4028820012024299631, + 9692146573288824730 + ], + [ + 6020418086349044363, + 6093256054970092127 + ], + [ + 1227495876638474056, + 6844492589509251655 + ], + [ + 7189342363601898951, + 7404873918203666604 + ] + ], + "plonk_sigmas": [ + [ + 7109956836731618802, + 12018487448654078539 + ], + [ + 219172501575852687, + 9196549407467616699 + ], + [ + 1147360977810750231, + 3904315406964951780 + ], + [ + 3613705272348348281, + 11580316477052593142 + ], + [ + 4991460186112695044, + 11046806382678118444 + ], + [ + 5214551706710747068, + 7564908933494059436 + ], + [ + 26730865610793056, + 17674315973767286935 + ], + [ + 3828691896713758492, + 12316922591225620360 + ], + [ + 2438076035673474704, + 7908920905584150332 + ], + [ + 1569595268912362928, + 17503781295113922812 + ], + [ + 9337617174717215975, + 4090372092774664748 + ], + [ + 1754208652827397099, + 9188090444827558919 + ], + [ + 7722604257591018095, + 15376591384605252778 + ], + [ + 346874891429777994, + 5808029370168315322 + ], + [ + 14112133071601475777, + 12567767030892309497 + ], + [ + 9321090746757704964, + 5803946143672918345 + ], + [ + 11848378638091561426, + 7505162053913609545 + ], + [ + 15090557274902524165, + 17683977480772648675 + ], + [ + 16639452482121490187, + 14274669430959233961 + ], + [ + 8180504987254550946, + 15125940969997870238 + ], + [ + 6973540241922935347, + 16749799147367426097 + ], + [ + 8242648000317656603, + 2362654229376336166 + ], + [ + 262976296899527715, + 1709881327371012041 + ], + [ + 18213578319692402234, + 3230365473552346448 + ], + [ + 11301898862932124883, + 8452226313409501156 + ], + [ + 2058883126393028579, + 13493954408113086559 + ], + [ + 13235741703275338152, + 12844592760015229692 + ], + [ + 5549704327681512709, + 12481428290919468731 + ], + [ + 13405555281448918245, + 2425164867015479576 + ], + [ + 16788401551578005606, + 3704525616376653637 + ], + [ + 2341612496540078264, + 3514364783972554826 + ], + [ + 2381539869842663183, + 8101231016272055960 + ], + [ + 8912489717164307673, + 14517343562121478428 + ], + [ + 3365536152185122214, + 14778835475529171091 + ], + [ + 1138985812142491418, + 11404444712782629889 + ], + [ + 2776858348731724015, + 10893497722602736967 + ], + [ + 7161127801863910667, + 5036884633316467421 + ], + [ + 968584555561429027, + 12792177586383770948 + ], + [ + 16631308574177965914, + 14396983104252320548 + ], + [ + 3786146151972372269, + 11791411894634224538 + ], + [ + 10602832213385174974, + 6038029341646092629 + ], + [ + 15040320024898750132, + 13319362327730781701 + ], + [ + 15991623469522868184, + 17517973826817328980 + ], + [ + 112863942319932675, + 5487450506741213336 + ], + [ + 15083730513127372107, + 14158680289887109612 + ], + [ + 438633344335438458, + 2179804366501670601 + ], + [ + 11381354446741744253, + 4301629159358632922 + ], + [ + 8714032585954542130, + 16956186651823179667 + ], + [ + 18266362972007362892, + 10074147884427372787 + ], + [ + 4705291230217302186, + 7249988695664066435 + ], + [ + 5980760776900170039, + 5121549133064138981 + ], + [ + 11915399253076983357, + 15474528480655943828 + ], + [ + 8351773637606809120, + 16746659098557415822 + ], + [ + 4325395738506833169, + 9829054431884370378 + ], + [ + 5973949206941611522, + 17251305074181597012 + ], + [ + 10320950404050570914, + 18390242515961573713 + ], + [ + 12762823959370051041, + 7329502700200387251 + ], + [ + 10293655015988425477, + 11043833183017866217 + ], + [ + 9296814102185749113, + 17690275492312505548 + ], + [ + 13136702294836755503, + 8133936939961339757 + ], + [ + 7360438424557265561, + 8218738383493879393 + ], + [ + 11489130521834358020, + 6963443517792828088 + ], + [ + 15355153527197248069, + 6436538091939484909 + ], + [ + 14635615346853290712, + 2287485886418746146 + ], + [ + 3204249167087137200, + 3860096674576695472 + ], + [ + 1922860846237365327, + 2067794460639782484 + ], + [ + 4383928373696335641, + 14060288890981528569 + ], + [ + 8707038749826250071, + 16087503057605129409 + ], + [ + 13579105101778027558, + 11893409583103099230 + ], + [ + 2440551830813980029, + 2692233873824876374 + ], + [ + 9058925564983012820, + 7059830641527355603 + ], + [ + 1072562390635525316, + 3585890121641802578 + ], + [ + 2225533630513987562, + 12693624308077462647 + ], + [ + 2021923498699865304, + 11492177161647982360 + ], + [ + 12282292523880591698, + 13222014718757290369 + ], + [ + 3273153206958538778, + 3362713934000700525 + ], + [ + 10184807728360898043, + 17538855271978430103 + ], + [ + 13453560766944300168, + 11483988469844760430 + ], + [ + 9712487125359902895, + 13572643779170672957 + ], + [ + 18133336732987156329, + 8161457158665057990 + ] + ], + "wires": [ + [ + 18440217004189980690, + 2764909547352431136 + ], + [ + 6143441882609056944, + 925122547412732378 + ], + [ + 3978234819474298613, + 494575785584878046 + ], + [ + 12349897043660150240, + 12140093659728437677 + ], + [ + 14614479191699211544, + 7135370193536908552 + ], + [ + 11263581356553704067, + 3788793449276892386 + ], + [ + 220896808762387851, + 17916224986166702642 + ], + [ + 13329099604199263820, + 7954914594821838597 + ], + [ + 9464282099394971232, + 10909383580840632055 + ], + [ + 16345581076415264618, + 2993818991097688086 + ], + [ + 149017765842526339, + 5491702953675720167 + ], + [ + 4547116612341221001, + 2102375182601222463 + ], + [ + 18331798003485916309, + 13634729979363115793 + ], + [ + 7404075890195546550, + 4709396526887144578 + ], + [ + 9049752715247389624, + 3526752720175732773 + ], + [ + 1606024989771702937, + 12622167985038007777 + ], + [ + 14427031980652987542, + 16512966606169849532 + ], + [ + 1489295542392160483, + 2394215640906737465 + ], + [ + 11709405171868371225, + 16405636692303805293 + ], + [ + 15690525535131463965, + 16273063486935325210 + ], + [ + 4480652487900126130, + 448087589668358633 + ], + [ + 12063626723272968748, + 1486828084056000796 + ], + [ + 1710615426334542711, + 6954754709456875531 + ], + [ + 12041386786052888699, + 10759949242091260153 + ], + [ + 4011867213900900065, + 12782337934859395312 + ], + [ + 12618319640710210323, + 419716948768599721 + ], + [ + 4883026421500227379, + 10715320565995744994 + ], + [ + 4167084768086931264, + 433353837301933004 + ], + [ + 17860171423339191020, + 8851046252798218486 + ], + [ + 1982333824463513919, + 6620286756548539976 + ], + [ + 7152112552581637910, + 2745542336641127479 + ], + [ + 17566693539323881771, + 4489452184847429402 + ], + [ + 12187074341246390676, + 7077615884587226181 + ], + [ + 585171880702194004, + 733239824172924400 + ], + [ + 2936551807769720048, + 9677036661084104777 + ], + [ + 10405034489934461241, + 13366238467472183158 + ], + [ + 2081595069035715499, + 1089931772386548711 + ], + [ + 12537535425499600065, + 8399114405789668487 + ], + [ + 12534514072651296530, + 10677878325288501469 + ], + [ + 8686576390118570403, + 4842720262678896349 + ], + [ + 11877393179402679397, + 9404660721743173180 + ], + [ + 6799306907365873959, + 8098419955694050299 + ], + [ + 9083309271977374712, + 11869745161276393683 + ], + [ + 13436415102410745238, + 14611678330653130497 + ], + [ + 4584579864986937450, + 2072146747955471488 + ], + [ + 8817729728819545116, + 13511062847784611452 + ], + [ + 8469547851399757193, + 17274890957975907281 + ], + [ + 7327420564430664214, + 4357536761423044519 + ], + [ + 15606487942571598684, + 14368343917332247423 + ], + [ + 5328141539045309750, + 6702706177674886193 + ], + [ + 3174968801188195701, + 7964581010712259544 + ], + [ + 17742181664338764605, + 6485680917337932365 + ], + [ + 5215575743476017815, + 17369457145872933414 + ], + [ + 16205388025799921065, + 5821710957759222839 + ], + [ + 17783012949787025493, + 1275659082179123234 + ], + [ + 17588536814639348658, + 16844307266427359633 + ], + [ + 2996630939750333756, + 6436653150867790465 + ], + [ + 4943778595595506576, + 4202901778442035015 + ], + [ + 2374865040265035442, + 10571961534410475886 + ], + [ + 4922181553511477945, + 12998171164039055786 + ], + [ + 5509275043322654554, + 18026633600806212128 + ], + [ + 10641143715755305181, + 835034218595246630 + ], + [ + 12509391307647975833, + 7068385478537032438 + ], + [ + 1031836556098675940, + 6914082984595572581 + ], + [ + 12031503435405108063, + 9547246051388463957 + ], + [ + 5467382250350669333, + 14037172222114096060 + ], + [ + 2466939306857373279, + 4322985839792464531 + ], + [ + 4562758436355376651, + 1132698895778712718 + ], + [ + 1690979362706845094, + 12703426079345911024 + ], + [ + 1996423874180717230, + 13485704466581742226 + ], + [ + 15652481287052543831, + 14432948156204775956 + ], + [ + 8128736404878987038, + 16654864001059926282 + ], + [ + 6420297406730524805, + 10531417507814672548 + ], + [ + 4647585966479511707, + 8652192406135385069 + ], + [ + 6634265521590703214, + 654336776081818334 + ], + [ + 18436663132445900196, + 303556699837360839 + ], + [ + 7427973728129305971, + 13149240862618459411 + ], + [ + 1596197670401591024, + 10121098347772007926 + ], + [ + 6389913511909455044, + 17312157480084868789 + ], + [ + 599869426147238012, + 18284154313200872869 + ], + [ + 14317044682354722496, + 16975943881611454707 + ], + [ + 4896823483544086405, + 4654927616600583837 + ], + [ + 6304524060564726760, + 1704047007961528270 + ], + [ + 17899342193639560116, + 1975604023277378817 + ], + [ + 15646220172995803865, + 11671238172873074893 + ], + [ + 20536963715018635, + 13100075579224056932 + ], + [ + 7649464179380273372, + 12769067077759635766 + ], + [ + 9417028639976434319, + 7920930751183659370 + ], + [ + 9385882927357954837, + 14995340722003192913 + ], + [ + 4608436062345441517, + 14952566081043467388 + ], + [ + 6838431188701944555, + 13467605437989391451 + ], + [ + 8165467842802189321, + 7146256942383903770 + ], + [ + 6582737637379847513, + 6124466262526447178 + ], + [ + 681091587609296251, + 10462594532150915454 + ], + [ + 13641807337391178314, + 9003216742283687541 + ], + [ + 12438617901709103636, + 12450610343460206895 + ], + [ + 7388830137494533897, + 1435083810397173990 + ], + [ + 10260095446759533993, + 13062466246400588549 + ], + [ + 16767650599453499352, + 11595973998901026286 + ], + [ + 18065471347131033598, + 8636068828254246563 + ], + [ + 17288902576508224237, + 15002763018417042416 + ], + [ + 2778498192875451251, + 11771635594727873167 + ], + [ + 6069803591249827813, + 3768303164879025483 + ], + [ + 12312690165818881812, + 11373865456079962313 + ], + [ + 3996958118874976689, + 1661440349858345692 + ], + [ + 8620769002067803855, + 3432926849431486923 + ], + [ + 7766472001707806095, + 16918103328712656630 + ], + [ + 14566103521550414968, + 12179860988282613003 + ], + [ + 11390249436759373706, + 11472626074361946939 + ], + [ + 17271408886803024886, + 8929117482942248391 + ], + [ + 12310179933907516233, + 16386597372333083519 + ], + [ + 5746545980892702005, + 3059178187682019806 + ], + [ + 2544142408344205611, + 16369831779309130384 + ], + [ + 4987672965980146206, + 631936158932167696 + ], + [ + 14598343960921923131, + 16798243346069691289 + ], + [ + 768659125951161886, + 16084562441578054199 + ], + [ + 13351311325671879467, + 1599348615826595279 + ], + [ + 8273920330929709129, + 9277245705445166686 + ], + [ + 13772302721810781784, + 12213786106775934747 + ], + [ + 1765459137367890333, + 7211357792226749923 + ], + [ + 6228679098937699034, + 3623695161450774985 + ], + [ + 6091468469312121587, + 11565599893575345122 + ], + [ + 3814014065737940398, + 6423899825972423989 + ], + [ + 17630430125213176159, + 6362262618614823260 + ], + [ + 14488988979445341158, + 11892415761189968162 + ], + [ + 14328851174504122531, + 11614269749993477050 + ], + [ + 8452930937968370117, + 7274837151977221533 + ], + [ + 9271278252564864914, + 14370133176199866740 + ], + [ + 7010202013161555983, + 963343378650196855 + ], + [ + 16200453092749416738, + 3355633210595684946 + ], + [ + 16872481034916643289, + 4753921311838891514 + ], + [ + 11951687816843129063, + 7152309951818548362 + ], + [ + 9153034664019569276, + 4754154170700902957 + ], + [ + 14515976075680225729, + 1662620094252153011 + ], + [ + 12383809723583897830, + 13297748660589259053 + ] + ], + "plonk_zs": [ + [ + 10801530600888840840, + 10950889259754753897 + ], + [ + 10462119074778700795, + 5477207578816296430 + ] + ], + "plonk_zs_next": [ + [ + 5122194280907106184, + 120024540036424751 + ], + [ + 12336440832686622703, + 9248393573758612896 + ] + ], + "partial_products": [ + [ + 4897374045697783315, + 2340766395869808708 + ], + [ + 12080531696403175067, + 1052644235100087819 + ], + [ + 454199240332126085, + 11834333440070102782 + ], + [ + 7894514020605604582, + 17833363413766486605 + ], + [ + 15770370678041201380, + 14630743592354835651 + ], + [ + 11865994035807365055, + 163624680244090994 + ], + [ + 11022510182364648245, + 10554015218384633115 + ], + [ + 15203756358193629780, + 13061267092358368425 + ], + [ + 15700698639824259680, + 14262081932078309480 + ], + [ + 7680340801364114789, + 795482004939114809 + ], + [ + 13452746188170020478, + 17065992467061350993 + ], + [ + 6112480606069316687, + 632227024017230938 + ], + [ + 10846981537997023036, + 10557164146541031216 + ], + [ + 16691007418378664387, + 11602059197249796383 + ], + [ + 210045465727451227, + 18024756443751123917 + ], + [ + 8870705599248647509, + 9812938000030175604 + ], + [ + 10846527878988355508, + 8660081358794029965 + ], + [ + 1196823892774140876, + 8379819272590165073 + ] + ], + "quotient_polys": [ + [ + 6875692611260248970, + 15827608690807470938 + ], + [ + 14199092331520264948, + 3279645681301114264 + ], + [ + 15094112759612679485, + 10762182416338196619 + ], + [ + 2431501931352241002, + 16453169778894549842 + ], + [ + 8106428460544504631, + 3325661012135938424 + ], + [ + 8312607497193830658, + 14255925615255953230 + ], + [ + 12169947612659752317, + 1095497317362906920 + ], + [ + 13919816618410259522, + 2072235824176461482 + ], + [ + 11881891446197293869, + 926729476621468123 + ], + [ + 2767931928225079381, + 6959158734631137391 + ], + [ + 10823591928270420208, + 16757044630302534290 + ], + [ + 4738749303001908804, + 877443477363089339 + ], + [ + 27727220302857242, + 15740412560401803702 + ], + [ + 13329444573013322772, + 4932978298193105865 + ], + [ + 15263000666202121392, + 778936359966237106 + ], + [ + 467895226335589672, + 14033534421537549865 + ] + ], + "lookup_zs": [], + "lookup_zs_next": [] + }, + "opening_proof": { + "commit_phase_merkle_caps": [ + [ + "7111406157399760332312811883290415174574961547139602624675621778839228652504", + "6912543707267733358039647189833552497432827314224132111044806060922226061155", + "12372092884468086325736579839329821744252489566205219608407872929221655698223", + "21014628517061023004932839631385351323577834834814520980486189584613428025234", + "4430541735880776073080528233510659634702540888265769717034338674401393899336", + "7511597708563434370872343082043552805891422644604021911229751048572786363551", + "16446477496553145808283593304960132197055675782282505378272248443936056082670", + "20972891434136342895330504203582150292733183799355706886930537028864226930749", + "2747410619989298795617570809569173803064951897613854482230917107805890726661", + "20491154471510772429983023479693724655657654828468905910678568868837264806568", + "13859467147186601772442596157292431799067535135138703626910604036914103478483", + "20007489410340481082798272537852941102443925412148390799053334831824044939531", + "20455058101861168558855945864556712684841245491442185519791150888781710291288", + "21120792450256637059207085175705705012210530119539049922238318549938013388248", + "16879859752766126147290723405537236406841963418229288090559542788997468730345", + "7019339515635984200979441251928883142569468819318102578153051916375386534003" + ], + [ + "4782890665696390207175325037348647495026687684639807255864069084436118620066", + "7985799665633224730247916061561769997458700678628826667172192419612920622729", + "11449844688207570899679955555874113472027034477124665506288694176497424860866", + "1643008476122867221933431818540255003270626302308103888455374075597814612326", + "7695260674680818614287530783198440773449676834954229142001893465324511481915", + "12886516441020872345853421847927511460271182937889510792068796649148112512868", + "2980773600824708618744620196331348599919347850527820404602471687641253050738", + "2050910532872154192532249813955505560063598005295917257357416017918686969937", + "17626947445255871336965092915489867492714620292337578100876284766238230519295", + "4321640349116367103571991920716123271091476310235579328150447334773685829587", + "7867197991873073865719880583350918180592565973284526061818588582911578044968", + "3144799867327422998296756798527324693796053979124584954166449242080730065588", + "931606816585479768256016893002220077217736208510316165421507136199306945591", + "20104782602196165229016955689340145267460111584090909790433169984230030806108", + "10844942766268865781078639091133807611374239025256031176267298708865377715892", + "19989145050523910172700342383252264740606938079133406515576539528170056445203" + ], + [ + "11670586924781198872310030454526127777598067815349821921644049278962902560083", + "3690218621220076252328692116333718158188628455763861999723665038950713210201", + "5189524452120908000081811037272731884860376730413430223613196452636709565332", + "14148336564365223206330191950577558923164050961682447515236459989906220763651", + "14984598958412610430413387601537024699639750032833112242273239893470154970768", + "3735197179995827274103530420325575954979211517449122261265524915455990475400", + "11634999002713931669600395343727907177457656165776121866141947247948197057679", + "4227191040916252737693491702946907426691915803057036515745339276731733019568", + "20629656230582208045453410387442421441973916067143532361203133842514463396099", + "16467502849997527551940771621202470953402030684224671297864589712856267959179", + "2859464660690863831362775912083103599147862270818412111250334905736176023580", + "15744266628510757045663661765498167738567734678751372135419044580854391556803", + "18432881760824363700055768420428061789329419146408751685643926533824342413872", + "13275178543754024126511024013091943651506905065884869833354789905864985175867", + "998376827287731429321251142454302432093845598945795128527128188609162159900", + "20096058142562508319827755469102299259202605545367327177741338283253386150544" + ] + ], + "query_round_proofs": [ + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 7826943128164522633, + 15080197995745895853, + 11705395163895257997, + 1536411155405129123, + 115340511818285185, + 7671042707543429599, + 5344678090447394884, + 13395110883224884606, + 11078682039402327781, + 6898061474989322273, + 6420651047426870272, + 6694236611262906958, + 16017010705857842025, + 7134642614213291889, + 9844976278706158875, + 15471920818053763309, + 18386324059803986003, + 185978765194065792, + 9733984404701424922, + 10850571858892149063, + 16043559807077383503, + 10648103995183551703, + 8246899187068876764, + 12873568165462327605, + 8830194365136530232, + 4303121853787736749, + 1970340353334061759, + 18228337648038004190, + 2476338722172833947, + 5680833729142322485, + 14437856205630074426, + 17784176189991010288, + 12409258845352282968, + 18217929884176300296, + 9107787897377714551, + 1447856251221703900, + 8499847221902865429, + 12495780111482463749, + 9550146315141877867, + 5464432648272128011, + 1804110162545376044, + 7297619470774256456, + 5253343742353094981, + 8946228450979062483, + 13330882561305312676, + 8271008321790004783, + 13193571192656647682, + 1820875156964010258, + 15541623000524800660, + 16227211810767305327, + 8882821939522138374, + 11679284576443456233, + 2367959547839252847, + 9995307463709108735, + 17149160509187091295, + 14139503127351982219, + 2470848617712965535, + 6181747532379407778, + 10008812323271173288, + 12317681721690661804, + 7742945527341149613, + 7173497389128904682, + 15914226567854017795, + 16299842193440074495, + 8227555122867384566, + 18300210837842181149, + 11681499186266566993, + 15843386974927231482, + 8903452003358183368, + 14287965855568507366, + 7644749685652020019, + 11196018009689012814, + 921451610464727427, + 10783881783029820019, + 6834375620273510283, + 10653247915687662865, + 16759639181043557420, + 9898435986182975298, + 2406489429287766373, + 10719372422242580918, + 2240092195671881837, + 17636809115396392474, + 6636968516492783937, + 5126089253488635035, + 15503103448372566140 + ], + { + "siblings": [ + "1214674596124530171556046551210277648286091567651305627321805644706396078050", + "12890101518412132067029360266249185591205230991781870479370895292395887459106", + "12659845787081056287914414041581680480405374265937286942836767605089926830932", + "15796070571569509828148167305231866824557491728506498028514065600776793824723", + "3579906882493907386756113042857793220207511821823975919468579846761390283126", + "511348313839974908206642154555831152952579272442235565597043655794066964272", + "6862021949146476768068398936181102018798250740999659344163081749276430409494", + "19263153111446779519666583609296894628850588777220061991481451716064401924744", + "17224532216404530848311280210394155831093367319022642509893854113320120094552", + "7059975751410499665730362236580307692745783182375090035807725882578460112705", + "11003345797240642592655714901939268163620819678062075353709465994322010989923", + "12718641476020866429205936221239366779087421330482394430082328980671022941474", + "19087922438941631908514505431913482221025588236357777575072396738582415214057", + "881525640104147817740154620998590779146903898237137902329993383719913111012", + "5792343401940677418825873558209885859240426374663762117218524770721085789971" + ] + } + ], + [ + [ + 11820147693231017204, + 5353444571347267560, + 5360597946514853298, + 18196745890877451907, + 15596915364310093686, + 4432520949860900438, + 17151283677752377088, + 2251704157059280467, + 11143973338840172357, + 13669631791366150573, + 13913681006310898925, + 9552551963477304905, + 5488747432587576255, + 590910085017902955, + 11278260592584420648, + 18002499804382983880, + 12193750955505495616, + 10911393913372460458, + 16800045194054452272, + 6437942476038493765, + 7318168686767270060, + 8910921400977926261, + 860363942868260147, + 8029290097520062455, + 2790600195031911991, + 11133313159630661903, + 10707113500965862073, + 4242370587783697751, + 10794881329561131249, + 14131373474080025912, + 13223247983276307702, + 4658329924544418503, + 7507679680874335192, + 10648487521162712457, + 17101093218718910354, + 4760023511535884497, + 15906244077962795538, + 14856097929951018872, + 14535100072875369460, + 2053757494136509693, + 16013687798219032173, + 11039370485292477465, + 10521292087518443266, + 10157911289279856360, + 4858233111984336076, + 10866020587416028703, + 3480207060950159784, + 3832115859996882522, + 3158075637726356883, + 15331676792206134211, + 9986617121017733312, + 14917953079713879747, + 2906786957190172632, + 4204406561859044904, + 4640143558182889787, + 2099909452597877379, + 16136513879773850809, + 1708686763668276537, + 15937343053449766071, + 9193790748159479154, + 1446745227770705601, + 9484484781021343394, + 11139984924693168544, + 14946043849454186532, + 12440035550479452912, + 10146390708955957032, + 5770445551209075647, + 14448150208922674756, + 12659331489781737839, + 2262456047045007641, + 18296371432467477506, + 385986448050207307, + 11089973017375610214, + 7108228774062335599, + 2540915591641235379, + 4666834553080171025, + 10748120562083442966, + 2667267048028712246, + 15056106104041145102, + 12578062973189356427, + 5811724901277241613, + 11802090218703186784, + 16591241285340706602, + 980970489633993145, + 17127951872968349165, + 17332912690818317716, + 5671358662231857099, + 16863830287760878775, + 15555102833628194285, + 11932485293427236718, + 15230393655436574234, + 4815672549700141423, + 6616280468641440442, + 4171884244361673661, + 10311553500409698885, + 4865563763553177551, + 16967091638127718088, + 15916110157187013040, + 6099099997671786391, + 13160962572663318318, + 10160651260255257373, + 13850613684333117492, + 2243303195641587448, + 8914838113842228897, + 5054539720337974126, + 17617733669436880167, + 13230940778104025716, + 2136024640696569341, + 6917483386137918181, + 5391364338149313041, + 2427618085318461160, + 14930681866750145507, + 2230013302156720615, + 10988964922591976758, + 15019331371935069208, + 9879121236518119616, + 14901815787314509834, + 18160095330518954216, + 10442832779731296901, + 2667954458974683474, + 15490926608278892354, + 14984202800880346083, + 9396285342853774058, + 6470035438147481490, + 12237882279268007088, + 12134279567832328022, + 4656582066960773385, + 15396784011949814777, + 5234622310229699642, + 12763986379023747817, + 8431398736017777024, + 13400253778157509522, + 10144321429609453033, + 4580382894176658517, + 6144219600791999211 + ], + { + "siblings": [ + "8206070999572437440698993584506398279806474472742434926495220715464714123484", + "11809314485299440545347993868904339956193327649309252087293970099375833787837", + "17629011712502697034922923735117187822009684046095625647495616063139643148672", + "267900288900431916126921393090102057018277623908189372766528572449161770255", + "8550026748755713394842720208445365403527186943732826743770094680721394620067", + "2760500576193676815255291972004628855743733953047340485969485431594809059537", + "3418717027913679129158673628738981489072481096788907933883375165742145870828", + "2740089660218305263094168102565651391044095947397764047565996375175666952390", + "292471013898848341673711969710171490951818712379592360008870252970784738435", + "16538590240001245450276697662439705309590576245487574685636282051896266268164", + "14645497366374606200097327287696603530334178304262352160801345357170975214798", + "11844414972378507805599971200383970335981374649203882124490832152210282675008", + "19654982359738252424997391798621733921475092386126826655645637056915076576041", + "17084566938894982086675639838112375476337972263817652878352981652170846134914", + "21291687736451699811283288491009751243819478949859991081542832987043413617358" + ] + } + ], + [ + [ + 2497678860873699543, + 11224066196417513170, + 1219965807007614122, + 11823059651013833393, + 12316204608745550994, + 15044459948987842837, + 12394611747463070034, + 15463124948011917122, + 6808883871272994703, + 2199010892819556382, + 12316956316830628812, + 9368345633398105470, + 8528484865465008838, + 17415354117526263099, + 15888062765704028223, + 6510152501136593659, + 2538196286982360340, + 3029680762077710797, + 15040958376815176574, + 9822179433106139898 + ], + { + "siblings": [ + "18255498667144655545247343564697828806461490635513887202297952246051399318485", + "8244564493781896062081614638811640676501387731770332629145681302336497038377", + "13475162901129147825380369589955038375985777873171018917194302699805277477366", + "10833022872826339109645554913778009700359816379962942504799122269968284572345", + "9292045366516801812561369095338453298377200148565464092043559730626955036881", + "9363749107350587290990289006005741988881910525799927996886856294067690537200", + "10294108645527888161975368695863200812454938805907500587444075505056749891868", + "5013920490183773476975164077475057819979239101491936142233705782967024484135", + "1642938328234024882692887402593717622697525202504024523371989884599578872147", + "9076263662329678227283200571565529243783397580247051841028766352303132057101", + "1166570444294763646221225964009934249021701212667198724139831581770238916282", + "20306893486181348056437736029053472607577531828878584368720954287431215567031", + "18286370042725855098738858493721746689197252800491722720362110959389837265047", + "10802698225250076282996918091190044132019168503643705987384898023222805464652", + "5328130957869398141172386715887796854433567016234072322605252928224854768389" + ] + } + ], + [ + [ + 3094181139681539542, + 8213909687322824219, + 2263688662320345082, + 16475103001941083785, + 10409087707571786671, + 8980564027985559350, + 13876466652992747765, + 16892326732149846031, + 12102729758352080661, + 11378102360404312064, + 16417368966474096881, + 10112358874543721922, + 17847079717844816035, + 15008018863456184949, + 4939668276710170372, + 12449413712293577814 + ], + { + "siblings": [ + "17096774858499307606284983093510120622419594655240090795425747346040969460844", + "5882561764489023823354545667840938027797995436808807123789736303308877591350", + "18049116969458623263842332209700826444768598290984876454322644004666192396871", + "8885280917830170652881247067030007754126649761983270376170826743816726153427", + "4402207197389421906208986345915566763071318422340349581720357931622767101402", + "995047893659007345867252012549045806562494004457541068548520789065832049794", + "5970170346888013864298984476704711290917345189965115703514188560020417805206", + "16123579050370159602367025469966076158616028319582028901164795846713458232284", + "21447735984690994215920316413266025745110239620516838840061601670972336105551", + "7622746169819503629331554048681858660107494164072937000753048481397170143051", + "19172960359749877415159225668415362198553301292225799397871340802634677987308", + "6198425261361212143497655663614951374946173242146237816489233347611503229384", + "16658358107895167021741134297706816969762724565685938620038888627100090743097", + "15362609727585990326719131510568308305712484127912909670835324721779988098555", + "11078444485870544134611602637379876223327665607373439056964850267337603518161" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 4433784376463397231, + 9629792944768878789 + ], + [ + 16354216658537088477, + 15325065437656365056 + ], + [ + 16414361779006370825, + 11351184710457920830 + ], + [ + 3513748856276362076, + 17707048730162127236 + ], + [ + 700357987393359033, + 3534798950599398246 + ], + [ + 13320011431501115326, + 3026140558402804940 + ], + [ + 3715926193584199306, + 6444903646185943195 + ], + [ + 12868442628361892152, + 2746014712144363786 + ], + [ + 17067403436210181590, + 10479966717449912592 + ], + [ + 17398607286366250481, + 15289256050319658064 + ], + [ + 17100503742690315964, + 6998155390029654559 + ], + [ + 2683983086172162790, + 10198301083911530227 + ], + [ + 6970462691331716706, + 7169750807847282869 + ], + [ + 16111465351580704594, + 6117554846251611034 + ], + [ + 17539021781035406211, + 10489113857417072019 + ], + [ + 5511627482963973078, + 6065910316396633990 + ] + ], + "merkle_proof": { + "siblings": [ + "16862143544812231346094491620906818600187506278851888568567281561903563269316", + "13878945111594268210430350004625303992017441197351467779836119822690449854720", + "13889749192157076021262852693776170490520698414660126360566081492263652891433", + "8529007418892227404595725171269628827283388726831992965347581543326985892675", + "479030550278289193689936490138247491386185751804390890162851471953676103487", + "7377024820218266902452897864359349840335747353216963501292307716956531074258", + "15941143876498277946580106105305514059030255928749657472892848060335492489576", + "8872086977459999644089247829898023872980389078046908452069112336114984934960", + "12659904316606085069249523401536003061076160388028935329338962759639170363392", + "6229311257357800719319443056979931359147182816249202156456443765950871519866", + "5562920880684316858432236391241115907783077153905710322216335816219610142053" + ] + } + }, + { + "evals": [ + [ + 12216587626892538716, + 748756139927745484 + ], + [ + 6853526318744011181, + 10705368097212422053 + ], + [ + 18183647568874057868, + 3202360154692225449 + ], + [ + 10115172944613642553, + 7847566792854933727 + ], + [ + 6324494583559841913, + 2852426150354299327 + ], + [ + 18397143991855430398, + 10918265900219229331 + ], + [ + 13576560244893580648, + 3505521886246178916 + ], + [ + 9735820022385018075, + 3552192255073489927 + ], + [ + 18243933256602311096, + 845519210831942800 + ], + [ + 9775029252742096648, + 17723001328743682953 + ], + [ + 4872260866559525579, + 8812036682469406952 + ], + [ + 3170398998646300375, + 14685753739689482373 + ], + [ + 6507959779858312797, + 7099854921216752974 + ], + [ + 5773657488961649737, + 15114826750541740714 + ], + [ + 2720121408843142463, + 14241913911695132114 + ], + [ + 9884559764766198988, + 11002385442062557787 + ] + ], + "merkle_proof": { + "siblings": [ + "20322131393128507401694007491895157545967330619511445797064097591809838243594", + "12733721943886289449138414269488523480942359150055696653963315394499028269155", + "3704693228297120284835030982255021655051500937116717743978858107922894223719", + "18909411216408113379316827933338262483650584824393521218487269047666999492929", + "4980026592513194792238559408706888516660486877844986696462195647887886412034", + "15789999173810247549552679585025339879005480244228521605824324708583529847931", + "10234939142868069271594454322670156489952830201376287391988758778192711092951" + ] + } + }, + { + "evals": [ + [ + 12938572748471460052, + 14937759327030161719 + ], + [ + 12561761099421589182, + 6088592646924565028 + ], + [ + 13750917738354883206, + 14257116169631198978 + ], + [ + 16786284225087324058, + 16162859178470662846 + ], + [ + 10124485290392302800, + 1487571884759955021 + ], + [ + 16424617092059157627, + 8615585694957376480 + ], + [ + 13248697905910138667, + 8564355388584732403 + ], + [ + 7853927869308271904, + 3342856059347586117 + ], + [ + 8971465274776198255, + 16131608200095078834 + ], + [ + 15715661225937860464, + 1149344808660519682 + ], + [ + 6395503952004051929, + 16828082699745409208 + ], + [ + 622431872795081174, + 3298640302599618291 + ], + [ + 7776050498732299008, + 446293346276558652 + ], + [ + 9646947092203408374, + 11502766392721312345 + ], + [ + 17796357211888824316, + 14337123996523937519 + ], + [ + 11128591117327190404, + 3250923460637745455 + ] + ], + "merkle_proof": { + "siblings": [ + "1271307001588538584171701423757234546529268854275915794387286762612142806037", + "2588424553363973972455667605867081739553534853398998481324193017937532598338", + "21214040344758356974768057629531956280206614964618055250868339770374981888593" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 6394296984206914552, + 9691403934767438156, + 4092213474946684508, + 3228754135306273354, + 6737694712456476669, + 17525213128006280367, + 12584662252828381712, + 6019947658907283444, + 6944664289455021991, + 2226199388887182069, + 13746157653532908643, + 2242159077170236727, + 15052990931125611373, + 13621734589037666616, + 11551220644113345208, + 5779543333020308536, + 8336707514099606678, + 1402786466976988073, + 10451606008493838902, + 9689248544993248305, + 17399950922175012517, + 1540284213491990421, + 7495066607952420250, + 12123932261765817496, + 17314894959313267771, + 12158366912549091146, + 351310488444825483, + 12131499262820929229, + 13383242116649344638, + 38886062199078991, + 2413154483869845069, + 4976665526271949469, + 17563427926320398245, + 8036279899792857671, + 17790552926604394040, + 5560320381357925943, + 5934114352723049133, + 17599629575772899061, + 3396987463177245645, + 13648322365987669258, + 2431525258476701252, + 1425714726876080929, + 17898765071316975859, + 3836427500858921495, + 14020722510901233986, + 16735852156508414673, + 13175523385003827982, + 4598369774534570985, + 10434497351743709433, + 14612958084885326100, + 12960752993756442149, + 11812391284809873525, + 3994326962926483228, + 1646634518242634120, + 15422648706231730676, + 4418643953035496516, + 16120377910863369728, + 12781263981242461454, + 13976913811372090544, + 8342102748538703742, + 1056311993769120720, + 1101951091111326702, + 6588260470544495897, + 1714305333475253934, + 8141634200734320911, + 18366163507867448059, + 14977138562447685837, + 3775148378145953269, + 7747941591559183535, + 868196390946009808, + 8228679991183063441, + 13699104990923276002, + 15623195627419295156, + 4067636872958873619, + 17263691481616557477, + 17899448487130166037, + 15258993423994117659, + 18073931782531163274, + 14789149531708943697, + 18117027208343078916, + 16559176808478104046, + 8428307293199557863, + 6287644397277645938, + 16337869775392451629, + 5800184464985811267 + ], + { + "siblings": [ + "2834037196282814928282403176959577638181998870891742279058350511834726739371", + "7076600392264378401696087879099529530624794837292758117453247567798383125055", + "18775101103225446894031560743271381373888849344415594393489208407963062277847", + "17483357336293305988542958517238424185939492612876262447077023260212419396356", + "2148718586003462168409112697000140905015056430171656013038259137605589524013", + "16762449508232023385071208056080686143026429274632539279713283073560808667657", + "16960098086466960199078540502572502364246410347525014929560069901697709369039", + "2172147473557999654624113586426137840426695225675545687173089588608768827824", + "16086595001099145449469966626606116687691569526591668406395624210716208788366", + "19870873813583213332142430901433829700387899651358225416345770229873194065049", + "11235364247753644125733567261869843530884851054038812629931580129969590374101", + "9878785102342457701770590571903784018787685322985193343040752804030351149540", + "12923307871218689927464215391237704373061999461320602501374982462922979253898", + "18828530245006475386506948710661514758931645924821071301317165297246486485497", + "14027354294417044613882526513461134627628135531007208069425511019488889539024" + ] + } + ], + [ + [ + 7890614999653477161, + 14168287487826410486, + 5161322513131179484, + 15203282552165813996, + 7391369205997488088, + 16051077865364092247, + 9693758955653592725, + 6593537349846858471, + 3267214776218357092, + 16732614243913283278, + 15183324040760592402, + 7527085888846380464, + 13601948531739072709, + 12193257404523074104, + 6428404196445470312, + 5233342661670796772, + 10433214342653970539, + 17167094778645547205, + 15285743874020758327, + 17152713328509815017, + 12398867832521213620, + 14092869260459520254, + 15708651548236501968, + 5651133557574474666, + 11855445866363668341, + 17392287001967127675, + 7542329611292181351, + 11777409769647425834, + 7822316287332785749, + 18085476339491697321, + 10168448244532561588, + 10524108709789530762, + 14384221057854959093, + 8288271199565487723, + 11093491470518914999, + 10039737551647040330, + 13073172538908885047, + 354856601444819269, + 10801118055850219136, + 9259844026808763988, + 10233423557448441070, + 1951399243503739579, + 11308727436875843584, + 4684302529571551251, + 4442505951927285751, + 10779572068276370949, + 505434231269488234, + 4555212192661093652, + 17104376489942713128, + 157948891582860937, + 249551780856371763, + 9163365109378935014, + 6094797235531946169, + 11572782211097755090, + 11233984208133057681, + 1847181181082170456, + 16452746832670453565, + 7388726886667157075, + 5835883665996716010, + 13832112221873300564, + 12527677040121193242, + 10257687875267069666, + 10407266422696568200, + 1796249277973609105, + 14609222480656565631, + 13485988674195184698, + 5213887390546037394, + 18138811246793571128, + 12281077642535786032, + 11319771228035910923, + 16782771891652358898, + 10382309121869360392, + 17684730857229791633, + 14622291547672077007, + 8579142408350140410, + 698248053203602477, + 13591217753159810672, + 3490352301798717401, + 4413135154485806992, + 8682215680775148990, + 13208687800359797087, + 18285982258732126249, + 18170314219979190219, + 1121985359978653064, + 10840587622509296738, + 8749682879333910081, + 2632004252096498299, + 17579447134864371688, + 8012231593727895567, + 7252111329673156138, + 16530944457029839396, + 5189933292084698800, + 15465798780644738959, + 4302587610332468126, + 3292454433190399009, + 9285750122429014448, + 16018106726699008163, + 9117182676084836631, + 5055554944517855983, + 2815559272643571168, + 443505434432167271, + 15969515122602362007, + 15778309992431430659, + 2218371834808511570, + 13858960589774425008, + 2653032863606654693, + 8090739232341074249, + 8106079839137659061, + 17055295574974622745, + 9075569696242360074, + 984739710662149801, + 8878598032957620536, + 2960723654558564119, + 1663373072091936348, + 5217091320245987856, + 6878770889205651636, + 7442992798400777836, + 9429415553480331189, + 5789372669854111809, + 9372212394937234173, + 11843268914431793546, + 17909265765903473329, + 3890350457576253206, + 6786873018341831315, + 2283439788860584143, + 13113322697853985476, + 6095052865392527260, + 1523629668046906727, + 11903416483209997972, + 13830052629075359820, + 10267671112820900311, + 825807014186265625, + 13563702426051084154, + 6627893258387274420, + 11124062927777796561 + ], + { + "siblings": [ + "11091828683344655498806336398574591699230779458256549803126677629879640926784", + "14228587946459892334779824362985088600464414662093884330781881982891647101024", + "240990187063853152854798053417801526104654090337990239180512112532838596810", + "21513766828327850132737787345586370416380260971370752464346701832718710782181", + "6766047974109390062126348040372729483388386642900314781330092212282016102045", + "1172275547131193866896288087739361548856385333065587849369421682504608342109", + "19825079259140875673560904930231591342499362650212960233710563848315833559173", + "15218629512024770205038592837522879031811857910478044644144664331783835612638", + "2423388596042485579920904953511006181611817748083816643249320969185651051041", + "20290298237116198112348334338903601105553536321799413743392632078368495387568", + "7841460623242905294231804256300334767971283987920487893163878989864574433745", + "6522245695394545065036678623308771827958537257618460695784018894599724164275", + "3981715884798145685069845134208230757941294936705440670085895021295106316205", + "16898716379936711855248679236512486777202565567487088156352471287102523437342", + "10244106528552948265779707197809879900429346093632080269552484766656787434497" + ] + } + ], + [ + [ + 9005671766550244909, + 10390057626401604451, + 2868118345911677060, + 8184541190074495651, + 6747408976520547783, + 3193079843526293711, + 11632225751193951587, + 18006718576897432378, + 12034913841758255666, + 6702476965583119616, + 5865120667392250723, + 1191530401963804346, + 7906897810305422530, + 17849672047606024999, + 14298286599188141203, + 6736244217370608609, + 7978836938025642163, + 11722112795624282466, + 16642153212948133231, + 4597403786038592849 + ], + { + "siblings": [ + "18024240272994067989432386498628498871618747891962811010906841322642218637697", + "9010057098635985325579643218205127489711573133121497760848900111243942344972", + "10844737211411203739503240745400056736140164362705285914576966554967970979686", + "18544884821670083863054427215397652724614466314365961551128273610552548406242", + "21776585692465230715356149051561231270610567723760911983673872304679987175888", + "16911929487415234218391733392593473113229038536252163981374644436377721120998", + "21618902353491020801562140017854664100298403038833872251337826763008828283909", + "13672012088482493141710482500179386806563656132225628470219113146475823046787", + "19373982154383773436989773317929576679229630670088934064872299530549882336540", + "4306881924530027892199112930398932427629747520100997542571849486355260285567", + "7958356001816959089696056726734928800172955359872837621341285639138376055071", + "15192131982242556195663547029638214899638567482040662956877265591732031659898", + "8885960792470665159622805298898653401472914871180424045596443879787711403947", + "15394193216625056468315048042994512371657976499699152778462958749004188384071", + "21575408396818076630323444177798092429133701777585077039344716523838184377" + ] + } + ], + [ + [ + 14526400958410977907, + 16339817487032064657, + 17538688945025883702, + 8978017397660474581, + 13927573800191826151, + 9935668532079269400, + 14245177621735205815, + 5908524379744319064, + 17709554203455097727, + 7290273966122235074, + 17367081725864112428, + 18086851900532339351, + 1727659858256273197, + 12246912937944131381, + 10669915372961986474, + 2863307139112520763 + ], + { + "siblings": [ + "10312826183971693155574008979093372592214403923375936091020329306852020533513", + "11329156116247119045408922761492215851075199744024968898362869048300342726459", + "10683136678371650240457756077719736408982763567978159255393128645336954590861", + "5485787828986695445744536527882430717146522489834720388456499936078374197877", + "15308839807639908937990998753450413067148308178719901041938008392730813784981", + "7454071973302291352314660766071785236074915072583677074687251473151129180814", + "7129787745456015285524920751824972473342077393460929328237529720621602537041", + "17096922439625768778179454072033150880526666499401689083542598485531055398417", + "2742916036211227558870894809450110049366274484997713554550602483830758101913", + "21385400068238136283254044943696557685818104973982927941431070742091347887801", + "12683073541674805261054228679330802769778027673884702862011648298499758638868", + "5049526812366577932696936881248045573173476632725134551741285679449860946217", + "2754002431066873802480029476061208040094555249083167496797748660905869722214", + "13993863087545655568517620341203460888569201532773825914942575685696959536553", + "8631992540439472974308983670342504890346317984145038420500899115881050501026" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 3749011061762699446, + 1745738628976347275 + ], + [ + 4015185823974718812, + 4052956121385222586 + ], + [ + 6564763082357697337, + 8257555783576769546 + ], + [ + 7307013306416084452, + 1285755273525814328 + ], + [ + 7278331723204970757, + 17879486657114767441 + ], + [ + 16312156308865814954, + 440513862959572167 + ], + [ + 14552061133618001304, + 107288394266978480 + ], + [ + 17317009056637027232, + 18182071284242428839 + ], + [ + 10196172417347865384, + 17523251098867185387 + ], + [ + 7821144039963536163, + 17439182190765226357 + ], + [ + 11703651128272047807, + 16405102153608801970 + ], + [ + 1029584276926768102, + 7672591288525889112 + ], + [ + 7570002403489466523, + 17814438573671945714 + ], + [ + 9716289119462488004, + 3674786510855713189 + ], + [ + 1738385725257970823, + 18182250271012015248 + ], + [ + 9153913828927178239, + 12988402926977706489 + ] + ], + "merkle_proof": { + "siblings": [ + "4369955034362149423720823659041422836209388561176195309687954130575443960854", + "16426359048232006873519267246571734129663772421490069420095414161558126800309", + "10203195205634718549360971570138311601826198578139852828628860562421696694803", + "14581170054962911714886774297902289016449888777941461195804427334695796218271", + "19868603602803215423379214000073326730400421410207350699929539891431176279332", + "1920992823797657853681468575542262732654336139418585491090489131278018792176", + "7826627413499549488612809384131984711848877570529521966383613318650713188636", + "3848886351180533316450918273170066239649532830990078308943213266992992133396", + "13551540931972735664312610183235383114551120001337569608320260425048678078635", + "18450090246026992101496477036627338015507042093126653552835739560176577854199", + "1286820767914954643893907136709523008047490860678310082625276824694212198664" + ] + } + }, + { + "evals": [ + [ + 9489527586016222719, + 14557974252929676398 + ], + [ + 759118297149572315, + 11796899579397037614 + ], + [ + 12761904263196956598, + 12157253522373752623 + ], + [ + 1119806178537172989, + 13082583869387397943 + ], + [ + 13346128733109438041, + 1069654257725388033 + ], + [ + 56350412514093057, + 10258230210018398803 + ], + [ + 15078754545569524360, + 474718540854259603 + ], + [ + 15509213389698029140, + 16265794332547876190 + ], + [ + 4005103320725035430, + 8668244336495923498 + ], + [ + 9242597121036984956, + 5553343759235092807 + ], + [ + 18297437128300740407, + 10350901936851700597 + ], + [ + 9727071420574147985, + 13923114485275401928 + ], + [ + 16862145996785457920, + 3841716198182139819 + ], + [ + 11893626099228785094, + 1073785869968050500 + ], + [ + 10987060684295515143, + 16428446792732946164 + ], + [ + 12606863037832943032, + 2876362347219084991 + ] + ], + "merkle_proof": { + "siblings": [ + "5923202505516945200211564157319977479505223912565056125412917993711258637246", + "11815066938149654694269397038010934524850596205851300647771861466838897559445", + "821664912656819058814443504925833464234176700582460467636944803858648311710", + "1025665320323149654239829256753545048443761926962077256146811766396368200881", + "171639422831815981498090288052975550919162817098966920676156761393015336214", + "9544985982632453589905725984785679671447072079684412687961643375966964970651", + "13684240820955496521770678850914143714708575767868122970825135245049210225572" + ] + } + }, + { + "evals": [ + [ + 10927545961651941627, + 8460158151150725380 + ], + [ + 12232293761166422937, + 3291203512034362069 + ], + [ + 7140499018677423875, + 13774086563230311762 + ], + [ + 393804849086608703, + 12779865972072879780 + ], + [ + 15601523955032727062, + 14413725356094147592 + ], + [ + 14703061232855821342, + 9076069268984840321 + ], + [ + 11914426730936462478, + 12393434744453163580 + ], + [ + 14013894521863026888, + 12642017487551977052 + ], + [ + 4810893593367976766, + 10415630538330837182 + ], + [ + 17236159157113294163, + 16007898130795831876 + ], + [ + 17886209262782644006, + 17559639610780589752 + ], + [ + 2894856406757498968, + 12328070073748389485 + ], + [ + 1706727750352818496, + 6009352750302202762 + ], + [ + 7536002551608138660, + 4988285747465461642 + ], + [ + 18202611815346450715, + 10969097878888586645 + ], + [ + 6459201002377854823, + 8510848048950649589 + ] + ], + "merkle_proof": { + "siblings": [ + "3567672203662086453139954333128580695568834774608541980876720125633182396260", + "15290887252618565955909944887843668772567324398662758678360949326549875476413", + "7530197132740574741504616555050724733320885203103430662455763958388956893980" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 10659860931161906003, + 16748111148897363607, + 2067620443383080397, + 13074657979455937440, + 516434519131923335, + 4623393106769981302, + 12957918347206637257, + 12894916872459149681, + 12653488652723949471, + 1141574279673248289, + 13026560092748773578, + 3516804523887673868, + 570584156492026886, + 9945360124850350482, + 10053621298678758260, + 15218019021425523831, + 6313636964034100539, + 9232672940335073090, + 12665591251454910270, + 4657060967746431213, + 16085941425690407758, + 1045502667666056502, + 15647513110338611625, + 4118878829292374074, + 8741695755606655353, + 9787217083174986202, + 10324574732248790706, + 3016828856929763609, + 14607243540352183800, + 9912597293606302564, + 16853111892412084079, + 6424763369629739009, + 2391079659633002534, + 14572222845609780710, + 11637634964501121523, + 8551218880688564484, + 53953316971715719, + 15633394146286153662, + 4967594851194418282, + 7022238592278091452, + 10425492439679554326, + 1998703388839269198, + 2928542716699385862, + 7823394345657896030, + 7797815526330556058, + 10856634355024289993, + 6038629947764745230, + 3710797008288925303, + 3728292257437429109, + 1663681485293031014, + 14613333242801224257, + 6451511760858875559, + 9557516225545839175, + 8793795395323734022, + 12008289857918413165, + 9825668597783618023, + 10431313414705213706, + 14119335155233290107, + 5486528259429990085, + 17679406848336449910, + 11824109543968829220, + 6969280446064281827, + 6001497340111607665, + 715672103220907857, + 8113067894648784844, + 12443780099374755774, + 5093044086247598518, + 4860366142157485260, + 13256906837752916305, + 13077445727390360322, + 17799175495455035790, + 3152977151498230762, + 2394600576988714532, + 6833447722447360736, + 10620389600123565401, + 12509379045759945935, + 5573612431740753859, + 10510269256040759680, + 10635757794891676296, + 12858431310995049613, + 10428465674326064060, + 1216323937881776557, + 1426560202842518422, + 2457650963689385651, + 7850844792498526787 + ], + { + "siblings": [ + "429023267051424910463496125902424813655913009985704990459121343305583505298", + "6522860938457363014375468201952523800769408160235595248776890801643625618244", + "7106378056651075414070877396224303552109693479707748342367007214450919001558", + "2298637064371038598090838518760996297283857777929079844955639956395392546276", + "10884868337934192108194061560762510655513840802203472462078686588530685610744", + "860399909459800830721982495150419595188145596309278047195809445655325553224", + "13482071719973832999280184967625351395019119093975727421865381114091473211243", + "15338126246212858575810316121188026584570647379390193239597122948487325670814", + "19526039419934435412104823169689670475711186178028091399052248792308790190488", + "7566286132971519560683001543368579201913488007769871860690099727902199624170", + "20681047310459441210422454051571557722061025579819972589740861073023718529067", + "5440786000506268307913977656683532927748664231124862969899733349613931242441", + "9656740966293036318031983851730271506131970770668155253078177377680957740429", + "6542328840682728663861164608834154662670865525636148907025336402974363633910", + "13794786528363753611493654252765450812418636362258902878352692032439049101504" + ] + } + ], + [ + [ + 11451455729143414314, + 5594289798204567048, + 6923260455893343518, + 4417403321745737682, + 1576506325650364524, + 12948318424104867182, + 5784722802936954508, + 6197394214111454142, + 9417486419410719961, + 8037064253687167662, + 864977731974464773, + 1315632015039951326, + 560623332419032310, + 13944830760080795088, + 14519279897652642660, + 18130248949971178601, + 2593237859923913587, + 6460398324207713222, + 1204375977907229519, + 4753482819019199611, + 3911496493941004427, + 14635417307792206538, + 9439659278011165411, + 14682374771048179550, + 15016913899781753782, + 7625813786034950829, + 11899378419876529855, + 16934475514857752083, + 13919721364423737810, + 1693197916675657613, + 18007003865610676369, + 6605219424463793708, + 13215234115182950740, + 1331838280529847548, + 14022570505517603058, + 17754953129776554087, + 3734477961562726594, + 14424383367833612456, + 1174287341677216127, + 3466261377793306675, + 15741385485967156900, + 6238384299781587744, + 14512070052440489758, + 15050753940874090296, + 12981066433634575198, + 14486583639480843794, + 5408956413879410129, + 1726774632175561960, + 16391390279828031009, + 14530676123548902911, + 17022722417491583231, + 5245884417910894180, + 10955438342246835287, + 541941097238887221, + 12625619666045268086, + 5131661675704814803, + 14910564765587757270, + 10072543817087104590, + 3282737687854912988, + 1147670052341804749, + 12630318225520504094, + 11495225240456500441, + 13569889577879129817, + 5859263184127446939, + 14862492911554687289, + 12645285330865309699, + 9785159748364643776, + 16151679508163803490, + 18192778758479456930, + 9271174588453439394, + 12745896053568981895, + 10227799821387708236, + 5570450694081556439, + 8968620538499079774, + 3757274296472051533, + 15584628487241516448, + 15221434340164745580, + 6771726903587742699, + 3082044162867035176, + 11261216337776946370, + 15969275956388913939, + 10329307655287516018, + 7587357843073790268, + 11035159482588351263, + 12296508868069591434, + 12915813261496613052, + 12567817833207822667, + 4426215569233841880, + 4329693508243936357, + 8506273361043001094, + 1102492233100936977, + 10063746920542920282, + 3478053841549667450, + 5680478094084756619, + 12353004577006616347, + 13943149585157395775, + 5618862919720716806, + 7354283559840150698, + 899447407545430201, + 461097552553702870, + 12356075943549921127, + 9173537887654576784, + 10451441038122557659, + 16636017898576073178, + 5880130268453570929, + 5608925140069326703, + 14952962851342138052, + 12957121749949816101, + 7499410020921016970, + 11435060785226261225, + 18356763493023394733, + 11940844253814971085, + 12818708228585628285, + 5460921354046922277, + 17929767003676129770, + 14351845578997345433, + 15089337644017109593, + 7976472331075498015, + 1263205605120565804, + 8536016070596059492, + 3200561948958613345, + 1816499933144190998, + 2652073099811249254, + 15877938264244513891, + 16387484617543731881, + 9442866424352846075, + 9009051639310793965, + 7167253406919016756, + 14943512158071058465, + 11266686777876449247, + 14576644575073783349, + 7609677449966068934, + 15845115246630660059, + 15154969954605906323, + 7943082780079508676 + ], + { + "siblings": [ + "19937118524422766938182098258532062358745613249160187817231914605137199298978", + "1838854443175189974268834257367547255467226402975583346871025620932653753165", + "6628663609598621984181777875061779855625643366252671452570230080522530734676", + "20936466327591372472593654285000333192445843399824397586844482324857423837592", + "8262873074975848650342798754433384231224087313709363330596488319854117169071", + "11241759424965932579993517919542457511928385375691293765835096445934789132239", + "17462761939290933892746721900479294690136804771538298292985924797251125699510", + "8791553029476128138662554401560398015705479725352073777066966751908981119960", + "9550600911377688744614225174588600978077508359610913683880177898622741356725", + "2420285371862230002529144100567003387766917707308039972384230831820037329097", + "13749169001879583671847583711346179352476470778299867932035137936615263698695", + "19945865852989892444964714262236652333571881707326734499213960170029269912245", + "18818506646132176956258463016703062498056921459666075273390126560056678334573", + "15841058007617070238239550805825416185704170501341518281679591329617089584017", + "2511878535145131648594931507434935211958627771215824804559170204418835606015" + ] + } + ], + [ + [ + 15568053133248779653, + 15133194238005268323, + 12346227505966555349, + 10285536774204229904, + 17577723846597845159, + 6921752860025780926, + 538093228536611876, + 13420261026679909912, + 8257572859297499410, + 11183951214024475648, + 2578285488488128483, + 17748121235154730704, + 13637902599044349189, + 15721528267029185238, + 8361653478706209520, + 18038154406064384507, + 12727996410473807157, + 16933088725837320443, + 6736316525048856856, + 13691486192998623540 + ], + { + "siblings": [ + "13343567164459408758913398499917324584333532595377997340935118594925087272093", + "17698364516307325199740444267590133872437955239156376240730213330774149556263", + "5673382961414722006385701082412060418192760679647377418908960576245137168363", + "9877615155572772678527570813125836171088687921199829432068914898947996377089", + "381013959453140421256261767549008219201145603924454626955181377524972839925", + "7468776986367534096456430417739959278075348493130382586689549626185806386008", + "8777485810551467663682239007407606543265954142981249501746395522969126436059", + "12131202785160366680584713331141606271602372544561257528295414506610946108956", + "15145741926623810499184433058296421800096038077523062843606337671401569718275", + "5118321678332346828686571309895390611597101720268174002613785966466215870406", + "5642983719697341364843272597679401848843858825439891180763273016920326937318", + "6460682546132754566166771493293728057755085542149268300099564222478458482449", + "15565809492514020622562877706752692727229992596317462411506530033369591749404", + "12868191862638689347031056135578630169478845473490369666825815601941324389080", + "9796346085685467217374233779852715423432132469978591417654439559234132486548" + ] + } + ], + [ + [ + 719350461032733123, + 10703797336242768699, + 13117657328998288522, + 3618751971397500591, + 910492855552316128, + 13053899388744376117, + 11173472289151078208, + 7011955585969527436, + 14350381691326817048, + 15625026151991513763, + 11788752739692723779, + 13116378407792587881, + 15907735985639477575, + 18126463247871803797, + 7245217924780607831, + 11777049572334581448 + ], + { + "siblings": [ + "3941427692535623374885385888884678373409972092187908442200330791993113425706", + "19368602689724756883126683154262847621140355553809781527039029672631300955287", + "859383428987293054221616328135590112652701021535372905350866344178643034194", + "14759821647073906212844086643184073671514549135578350270105843184212833823056", + "6267048161700104548797444829552183546343086243707632630393196621485870299346", + "13076920445340476649346747762531823548967061257622974792197892615716112490406", + "18604436646362976908339944778885678936711897837446000519791524847946501140313", + "21092512227461637050184369235751053539326033331441138336318350176755831873336", + "9267518524386494805853085011335467671977394106922812679921208506380342574574", + "4476086912613713445322557730760002662625751096294018110323228137436870131827", + "19569912404438709235417171114388976163878744655393398828225193296104060684334", + "620022823556196185169834671658846967459288531412067022149007638721188493237", + "21830427509717058761784266028610600383594234995084225638948915598839577673659", + "792806902835565095121498700571001844804321877994178341544779946062838565287", + "7579515045279012937343477342416688691073608846528562215561676543478176428969" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 8395166456277806455, + 726689822143527532 + ], + [ + 9358417863866255463, + 4601483417077679935 + ], + [ + 10632229996702013032, + 8071177946154964341 + ], + [ + 12280051111940236053, + 8080314782605503662 + ], + [ + 14535149931731819702, + 18265450479213319067 + ], + [ + 13382265004409786155, + 4174388336506032216 + ], + [ + 5455086500328258401, + 17484457858410491320 + ], + [ + 5721012663512638267, + 5252918086156626355 + ], + [ + 4074307292288961738, + 15655745749998043655 + ], + [ + 9967084013500652265, + 10680521972074685938 + ], + [ + 16841160376881543838, + 3430594274617889123 + ], + [ + 7226126024933170324, + 11046238019678035531 + ], + [ + 13345701310485158742, + 13361578622650076673 + ], + [ + 15841952328710194115, + 17506355198102002474 + ], + [ + 16103896237314053857, + 3717635794103437953 + ], + [ + 14365105284339299262, + 10225373857649881802 + ] + ], + "merkle_proof": { + "siblings": [ + "7303510042099599249944766188725882478717227943169202171497562949235932668737", + "18806570682614672016915742473794702523611824809560060170053768898492553878268", + "10942524270813169270856136121537286351064282701014459544349324209029863420726", + "11302812116192108074051177673818271397198083522767439375658388002458295165695", + "13794235296160987568178582124130832983037483273406432513259848895987074186216", + "13930059749864660689938790396512094373620984010691077240642247771447493859468", + "205100717744150229505424197294836404296170437323973027312811940982178383298", + "14292993821917327661684973291365738005312525817198929487368201090271455513256", + "1094204437710627381709977915825951449745161402312565302714332469439999964274", + "18015145870241893033477801397669468437811519855357749217507091146149067492333", + "13566855311065018833905881110001454335485479790256443088716616918701557528482" + ] + } + }, + { + "evals": [ + [ + 17294933337091993508, + 11738500788782928766 + ], + [ + 13254108202473348348, + 16934352062280737512 + ], + [ + 1065525053856078305, + 7605489617778476099 + ], + [ + 4873272204517035167, + 14210558125094442707 + ], + [ + 9711546713350495869, + 18262788305815559464 + ], + [ + 15349508755346310554, + 5088280328120370972 + ], + [ + 6150045094613982715, + 7620569226266577976 + ], + [ + 16308391940519418521, + 13260441597724818207 + ], + [ + 18423447580152934023, + 13011169715981859897 + ], + [ + 17312414510396865214, + 15083361486879538463 + ], + [ + 11621505870265666062, + 7200872828008973875 + ], + [ + 270836103381518346, + 15427855106481763634 + ], + [ + 2485456166685060616, + 9761781921985132046 + ], + [ + 11383342171145880176, + 17290196467502463429 + ], + [ + 16980913644243978835, + 4370531403465985732 + ], + [ + 591059162875310054, + 15652047754957879702 + ] + ], + "merkle_proof": { + "siblings": [ + "13597337252050324546384433652665132789148906117841469187852871845862048662225", + "6421820817792583721305002961301226852698815862077119781497131773330259483545", + "2738398573994065982505059395825272063050589448888593158114678933734371101213", + "9704478851683788423207086137804299340393576801299132850219368414163435529277", + "12938258154784981107211648858901693110498651893213132392527173067592267186172", + "20424604422038018323044693200248888656677600932692164058101203352873083230329", + "9810298976681631004754833004145796754139701786137810253184963590797195899512" + ] + } + }, + { + "evals": [ + [ + 8039837404002308160, + 10615193356361959926 + ], + [ + 456837952860272546, + 9146630834452095763 + ], + [ + 17829733447685719488, + 3456504326630191056 + ], + [ + 11568979637045871881, + 18032506338361077 + ], + [ + 4076619583119622402, + 3447852927804545943 + ], + [ + 14459024317866771935, + 2363955898475040621 + ], + [ + 5268548351970307923, + 5936495793283724729 + ], + [ + 4854123236665223579, + 6824890320507272930 + ], + [ + 9407853651459699927, + 17259681667530556834 + ], + [ + 6445453881163657842, + 7370347229121475382 + ], + [ + 11184096325700960956, + 4992984667682115704 + ], + [ + 5479562089657744064, + 3605716164793642738 + ], + [ + 6254678976495847462, + 1702084068369402135 + ], + [ + 17846950839535938021, + 10539995477414632485 + ], + [ + 3153452341882117520, + 13675319481473818796 + ], + [ + 14546233707476908020, + 11691115371568528944 + ] + ], + "merkle_proof": { + "siblings": [ + "4243086352740491411361521675523044009413186697038216900421695452050277290061", + "8205391010805631407036972173464189391935030360374083944849187968837471890050", + "12699563156079148352356685307466229191850081014285862348296929286058925502076" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 7585413202494243358, + 8488890351071373815, + 9070253363371943117, + 4775297530982499468, + 18384735825621332934, + 7517440888749986906, + 3620763245357259521, + 15465984458137170812, + 12998617340782215543, + 16470985034798063863, + 14688873948895468169, + 11809734824486762425, + 18440189948897996507, + 15309320731226738372, + 13096919193955906396, + 8505346408544832904, + 16922077122646422515, + 12350165298430418232, + 15545266331817727428, + 9859417044111987938, + 16008059392195710191, + 11845124752057067677, + 8095295860534332098, + 6267275840237930840, + 160705603249968090, + 13042958656811250631, + 1524962723335614649, + 14456870679617729382, + 9095273536552413584, + 11791323706097945312, + 12592475078128112944, + 14822205391434443939, + 2831787877137246425, + 3108673763960498433, + 9095218360808747692, + 9566424487633873100, + 1151570775754599827, + 10971285591072731316, + 4564985453510734615, + 12051376025426847338, + 18164594997668772280, + 16939440747969181239, + 8286939892961129521, + 16152235837975641806, + 3458479880054039161, + 6947186502440145317, + 6220770756485186724, + 17714303910320184691, + 17206307135538792128, + 6056734610028641278, + 16831468691775524529, + 5422132332278485238, + 5909959864220883537, + 15312117236648717, + 7043066604316747728, + 5793799958111362941, + 11065162435089138648, + 3441140737253338720, + 8095183620579367483, + 14909882372988239032, + 15717613860126257233, + 6999430606062033754, + 5418070881322434786, + 15510327899488968241, + 9377400387204168091, + 10974825880993455817, + 649580416783944576, + 12195183739847188330, + 8160803006062437625, + 600447039175669206, + 17556532443627548408, + 13193664685965263636, + 14169643721261463950, + 14137472868008029101, + 7162380594472801191, + 10188651895365658465, + 5380793007506654005, + 18350571496597735226, + 12694405899819403800, + 7265586419775763124, + 13166100417015414688, + 11835944500850432783, + 17724238511101328387, + 17601263170261060791, + 4771931386181428387 + ], + { + "siblings": [ + "3402411439860953957893446516252975347946192428597536493058779648732589598453", + "10152646603400908413711066275065420566871868963727835761318723671595557849815", + "4597613152224044641439275579832065031426478753314628801399755611349869846633", + "17666779483629310320306149965327565339786295905469675368884163355086625456698", + "1401625460471288353628723227806440220092141362036313582779993868560112616783", + "12886343655651784771507431682617493778940940364051968154321354044120828366643", + "11008355570108985891355826750484651090973905638368298366512611542317494064518", + "4596560550474185985809409706587166354485484244000561610354911974407434474325", + "12384796062037755970968315463075382420692009437647792362878681601376627762305", + "5208588363486481785879362853381881706794553116570548773170085183630670881543", + "21276665397503928098722412283719223300364995625672044475843744405333554090196", + "6134031648887848133342695100932904963911128915062147780543239934456913569403", + "17525414043268004415492934973945206429753531153854516455594897829419834845017", + "21272099351896404013402054471461473024519483966873944543240715469819456951864", + "6073906269791676875899573444933946542740534650277099541204639437452468772732" + ] + } + ], + [ + [ + 14926709266693177332, + 7419453238298665247, + 6124660520107107557, + 2906927931721052850, + 4613123688298146091, + 1946459076268903801, + 14440273990071882138, + 3878532412979982288, + 16771367449935657234, + 8111749431392610703, + 13175169451365964978, + 1663296972742490858, + 12116490222671025167, + 6663943204396389709, + 12799681239465725445, + 14922140080925743797, + 14827781408074052176, + 9077452594698305988, + 11070756263349644721, + 13853709371240973579, + 6114620817561260933, + 2778748846390482752, + 3957387435094895930, + 11501100054822152520, + 8535765231107488805, + 16687006993417945819, + 563074106656055277, + 9833622431263745217, + 14899012758163166975, + 14757988698275282764, + 10016007874135242302, + 14257993945274292541, + 9097834251742811799, + 17614978569051895918, + 7798955642645174761, + 8067314095623104622, + 11840100148535435625, + 4368437032513336936, + 17380865195667243583, + 4638260366643151645, + 14002932805269880650, + 15002596388799246236, + 13889403013432539999, + 7400885280495768820, + 11262858386538371620, + 5352916764681051453, + 6985952611949291718, + 6704394020833820458, + 3963492073681232965, + 11918310153948417485, + 2206285588406064467, + 14738387199510520951, + 5214317637432750122, + 14188574442613413034, + 5580349974182146412, + 15158286270759016640, + 1033277896109091806, + 14699881288565295695, + 2346753889361027277, + 17485951012566644260, + 10881142864087493306, + 1681261257350964834, + 1169248130472704753, + 1213647197303961146, + 1183279431273127950, + 9943130014858779629, + 11028570349712318648, + 10386663746001275076, + 13569155180415665948, + 11985626527464416961, + 1982092404699260548, + 12489068839857706499, + 8679512068246713357, + 8760623634775917091, + 13788948647643504861, + 4228006973106088891, + 12420347230522311984, + 4252432270929959581, + 9744011635746346164, + 11444640242036348382, + 6727406890269752165, + 11203084000181830270, + 4994493022705530819, + 2918254974890435596, + 16433508704178498863, + 703862935550643106, + 5028547332580177389, + 377657032354206411, + 9060364526339790094, + 13447754271837133244, + 66131837866573922, + 501156500614475493, + 458270363468677643, + 5813355353451541520, + 7777805211139745003, + 5265101839312061837, + 14856321289237735628, + 13938477173578176259, + 16611073297010453028, + 18192499723240815387, + 738779272421819263, + 2652398175137086327, + 2061309372735585300, + 13503091583307159576, + 1724992284893350599, + 581881665440302689, + 12161482531580479035, + 7776832850396611197, + 5522471422929435975, + 7058972678914171213, + 11352929648037529559, + 6067148411688785338, + 14751539524470092990, + 11499049556040053527, + 8412963110716798011, + 2976510229979429855, + 9126082892581055049, + 5250076629391858646, + 18113026587014170911, + 10110039599401514189, + 4956664447841219140, + 12524637792108888043, + 4531410490149091828, + 4015144486296261747, + 1993245428851356197, + 3085125618400340767, + 16931982152447034301, + 18349338209935907948, + 3413462475413177544, + 10582542809498174711, + 13077342308555072881, + 6042396335961269190, + 6833611919286784876, + 13293848046996334648, + 8267997662355258760 + ], + { + "siblings": [ + "9243840023056815800770002545122988653341167488112461522489040263537207203121", + "8852956351828249778682648851884289182157100420974558642590016586792959255877", + "12071207414079806824161266923129501223207850411796827876364736389715710468054", + "19819085984075668971623481525404895256108487530688925267632859253992391448948", + "17151708421001472192572232898642518648530189790050626311527105931124625552606", + "17484770656395679343722747393988043508474758963795211786749983136958456209155", + "16082270571447859642953193532435781165270907543575099376471977741661220196292", + "9147744322930960323617352695812010916744974516775126864718917054144096879715", + "9828408368196103238899939437694534889813060938989814087198483068977564133989", + "16798790195343821867062507692077161336088930052886883954309695843190121604784", + "3905483968728472078133848040024103809220986258261670954265772446128697695765", + "4652527548113937527956207611395587932977064777982796220492215816130565154190", + "3798612139798111505612216518353120415662554019225138222960022305287750964327", + "4895309818310407128608285132841508121477398638698911751043978059576046319449", + "21350147221983004238024545747142193098597111884234775353164264975765735566260" + ] + } + ], + [ + [ + 7052233064980102240, + 8083684303996815636, + 8377611390428121140, + 2655929654291590384, + 4654736847711612166, + 7128574515126416791, + 6239836774931920562, + 17379806278018346573, + 9810617988282379118, + 5334103525471437176, + 11372191123394155273, + 5592144001561879365, + 15953142944848303038, + 17982852672107109739, + 304956991003266438, + 11658413689797907448, + 14635109372447244539, + 9782328239395120353, + 8388625264961047028, + 9549713704980439386 + ], + { + "siblings": [ + "5517106674991211886301205045368937208179896853753845547608115411955682860521", + "14513842091222996238756923206150581104439176867391371987383436152439921051553", + "3051661773609664393130981106212921249958612640112656943793138940603562140347", + "416562782158584316141317491081437339685996441084133452812362498051467622837", + "5171453561017454662176752075233698939901285540252301246745340533788533264402", + "16696616771667457391287111363224745908408746126291457443816766937991343015004", + "12887520943875868758542721536207033468331470208585369449025738323175071434399", + "3035975660858429865950380849853390989292126843957287399052705793995255503345", + "11623580679089863734703165853531747175348692944367646953270819454716558483805", + "3871112927313565172001464032608166325947502738673701949728331941352991798790", + "12584400129863704870256829455000300940608705625784902887465769032299763215308", + "11424433539323595191427363985579602910322327573400553215353090414323962685488", + "5231235073410166965539233804298405183752571633435345396310595852528216096423", + "15104883784943486984663805564738802702484708593925526658961029282725791370973", + "658941663198432397803120141322894930474580764144221801577288431057619464403" + ] + } + ], + [ + [ + 16470452354303754709, + 11519719851514916457, + 4707979662279164650, + 1217853578315253247, + 6779797115226911600, + 5529407075458783624, + 14397128588601375007, + 13263441504370658529, + 15483597111779945524, + 11902653265264725296, + 4493725749856910453, + 8704131558871299261, + 12481322583457086194, + 14793008191157523861, + 15144378372092060555, + 10848206180719885699 + ], + { + "siblings": [ + "7583674818944922684814301716165105520928307032527476294226730927938885258369", + "13547658496120274168780994746762029338515304451015469672309255344415563540809", + "6841856747994402993655463100662924527178086687256969739757428203350581092045", + "19014251931870809854685861080077708415701147595801606273433459154835605040460", + "1011204663103138639196508525366478704761549851554716944961097158632904711303", + "10810218082557613500772247976242547369635794279331420784879458397513061837085", + "11528707787769712513369518784768385024440344260002286017528848160334320136424", + "14812235869178215271057580093724730492660923059155052591868477303571004092436", + "10513961487764782301654505544583488166574898398005202464638477324033109229625", + "17629547219562679550826395841451105342381860051468060440853832688908396721084", + "3824222326421181782371694212628308422166824474426230836129402381062393020059", + "20160152386131303546067351495952393090824201491957350226655498105629701630928", + "21023133626534848681557679015043911956713094366278461598938000954041049752351", + "18075087948815648121860410436394091177156722346889763841828889013163905713766", + "14659761136283264784834817663043427549295306546438220836876833506617108801610" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 8719917329577645958, + 11402077802657344887 + ], + [ + 1167493574360727060, + 14387480376454138848 + ], + [ + 12841592051329371851, + 6842521126488602977 + ], + [ + 8233132502311307210, + 591393018601397072 + ], + [ + 3945872960453818971, + 2827435945139192285 + ], + [ + 1689537815636202706, + 11367872329282969843 + ], + [ + 11372178818905079711, + 6953370333313682922 + ], + [ + 792036078064666322, + 8358465109956337568 + ], + [ + 17678423043009694006, + 5707047030446985467 + ], + [ + 4162576208856894065, + 8933598911892656207 + ], + [ + 10091380547077244566, + 7332177729861135573 + ], + [ + 5891124551862720073, + 16077704506248885096 + ], + [ + 12212665702123739726, + 15669705134420062174 + ], + [ + 4564348794748471453, + 493925071542585446 + ], + [ + 9180036534889573398, + 3041453021292580395 + ], + [ + 6867702906807253814, + 17924463399213570715 + ] + ], + "merkle_proof": { + "siblings": [ + "17799845774095747557741369502351491362037960348088277972742492378925350548152", + "5859273425031732795046486710842021399980293819294634134134204101975557564305", + "14562302733479421308599306221418043180902360813593468534757477675455012666936", + "2001118675480500771094547699525831174749328044821914035903492219260664144396", + "991430440919939170410036690723009217341614176980491586089903201833845692098", + "8775277926044257285841296944853829033269773171335069400267777808062329622964", + "7227139490599678088904341531835748428700470772752833856817112328424568138525", + "19490242859499974500363277752427122856392334589267174424752561384564359637448", + "4441830859389801247680419012341640634865915708267620020802249583384616609757", + "8868633061186295290814428575527691327583365013015761449251212834814336855195", + "1626546991392364225466239524177844634939380341555748275812186694828077150411" + ] + } + }, + { + "evals": [ + [ + 1618320447234055053, + 2965683598029842559 + ], + [ + 17448062865899764362, + 4782379584822510101 + ], + [ + 9451991494110796344, + 15995173948224230380 + ], + [ + 16564449981743082295, + 3867069501277966036 + ], + [ + 1985733910261952953, + 3504040634995586247 + ], + [ + 2297785561362941249, + 885819292960633394 + ], + [ + 17817184238196811219, + 7828642095847244745 + ], + [ + 18091497230257366635, + 8741752078413991462 + ], + [ + 8210398573855937953, + 13443103644953704684 + ], + [ + 14136948076062861637, + 17757884228165191482 + ], + [ + 6309377046714228965, + 9525502698338461257 + ], + [ + 16313544813466912072, + 7530933327277039678 + ], + [ + 14382478397821022918, + 1166445915626358639 + ], + [ + 10397435000263795069, + 9076627686062526957 + ], + [ + 6857005978045287706, + 95200508798752657 + ], + [ + 6839334409594129690, + 17972208027930629773 + ] + ], + "merkle_proof": { + "siblings": [ + "11942777177084932095835768811648249024583912781578838403306867292332001399365", + "20558074287049653498949669906524186874727852514092071275782048077682178636742", + "12428478158185673201720048151732901180960836869771449914049307730708545123218", + "10114173867978151025536187175888061197576768421161838369525382180483091443449", + "2324767660933883233051451353857995142059753010357436363157717275913984795677", + "20617212427351970472687573522961835557718384661857740134673080654098113430880", + "3139339184894030835778747528358446947002259386615235480033223465723993381025" + ] + } + }, + { + "evals": [ + [ + 6259603835932405470, + 8516969519590107116 + ], + [ + 17750939574178167943, + 7919754159279430930 + ], + [ + 7661820540856495560, + 16630977150231250939 + ], + [ + 6806585289825160382, + 7328865948684386078 + ], + [ + 6092261979936548022, + 2086178124302815206 + ], + [ + 932832882486666402, + 1385329549777108405 + ], + [ + 17531579413274012836, + 3026948653193754892 + ], + [ + 12368217172426835410, + 1071851978880135285 + ], + [ + 4107905421306022484, + 9258918883817143608 + ], + [ + 3364966774087737742, + 18311898939224565039 + ], + [ + 16583229977066500711, + 8987582562463684228 + ], + [ + 13645616028209372754, + 1664316301596472735 + ], + [ + 12771578938740640117, + 4234610588524382043 + ], + [ + 17353140638567439089, + 11467161303761658214 + ], + [ + 18143841664250044269, + 8372429561299132887 + ], + [ + 3080332054413518194, + 12281122286368360839 + ] + ], + "merkle_proof": { + "siblings": [ + "13231582024289789327419563501980689193323604333160178150315205606136147310005", + "17559554502290230769281301359293737450785980883105485235795101430253428980709", + "15133504688661133367561648604569841084340052563891220555897207477273160502148" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 15723250175826673754, + 13928450313881464877, + 8772186402015613199, + 6811780196094358982, + 15868817422538251563, + 2834000471558809555, + 42097953460785352, + 8437948403882013275, + 7716590661558045153, + 3131591729090359079, + 12890188663628947620, + 4778551445782635737, + 14421830810050614556, + 8120115228016448683, + 12970780306234577886, + 5471485506983537709, + 14469220403662230459, + 12331891153114621029, + 5367589730735813231, + 9474215932871972239, + 10615051672065808975, + 13093397904277590460, + 6409455267406216351, + 2806291545811791290, + 17784725944327678553, + 18434670803570290977, + 6770109416289043419, + 2386854444705549169, + 11879479205737690290, + 10159651797593973231, + 16932519289408614887, + 15087912519192004530, + 15941925809972523579, + 6008671364874727774, + 16379042395818770123, + 12511023629578434049, + 12309946886336866609, + 14193419392946610281, + 14111459680150378195, + 8025278707219301863, + 2703331565650503049, + 8959169902459990581, + 15504211651605108438, + 2732684642305796296, + 15683996349337899041, + 16165017052083078439, + 1221597020115874845, + 5942098050083142936, + 7106605087251542163, + 3764106227116460995, + 3692714023526172649, + 1193271345046719998, + 18030235844737628242, + 7920942542682258054, + 11761402264204405109, + 17919213294090227726, + 1092776913620236481, + 16546004814966625443, + 6315112267959858297, + 12925463656497127330, + 5211840036390428307, + 7887756807045118645, + 5630366189424087439, + 9313074971408765036, + 14043241536965773958, + 14917308894548756062, + 2238839280559372277, + 7243978212886023691, + 7018798098329756930, + 15135073462674454440, + 9067637983454346195, + 14569346659154053349, + 10168312655667329275, + 2112060373473896744, + 10414467638091332124, + 6554968223911149, + 6232088474107601797, + 410677664494407925, + 18177299792056573935, + 7194111554873999300, + 15055270928462896134, + 12718649691999998942, + 2769118775072835697, + 9005657305098864757, + 10818258406541770962 + ], + { + "siblings": [ + "7907176645602071973785508018244987202993334234256246694162615855904053255624", + "17650999651781756835238851304539800157346173691053689143766353718660474954930", + "16050909735367644265841638384306663179246807110304483685265896990694293713442", + "14458957514246315215535523921855544201559491776776196962068940064589641958402", + "17472476935996643406508793869799411936542726697221616677515410877920330283191", + "510581335242111505446442858817235946755673720463727873630620211968905070087", + "12897553922737970054904954986064085959040768160212520728813258516886672996119", + "21271898656189135406261616195814725095615028212361399783421538516330276345088", + "13163351914497335819701418452090299458348443900768340777705499753349693618133", + "6664184919440094176562562643175521490683175092819563103150830701582439590242", + "6404290930788256128428165313896326407724375345887817271327865347544660305921", + "14743471823442269912411785129887239793701337145114515371408471678150025308541", + "13554903890019143034405513911304263834840999114320099775878639569475157840341", + "9299950215770802774957825745161293322949388880777421177301626064377862441271", + "12944338707645351117769652802514495818562645239199690642906301291159346009130" + ] + } + ], + [ + [ + 2844935557106541335, + 17721913437272009971, + 16913618402242900061, + 6091257746489546156, + 6643337002531102591, + 8015665794107251610, + 16685699934725761079, + 12075643206841976453, + 12732216455964158856, + 17032586293676274878, + 13389867914203145659, + 8698781720221574691, + 920374955860307631, + 2871303369281520106, + 2956766530297119409, + 16831596597102464255, + 8658578931794544907, + 824682451682970771, + 3393050373518601622, + 5129853073028872485, + 14498751035891456024, + 2196484775965293910, + 4726804551353959032, + 17033910723810936420, + 11507278586767114762, + 1697425978259697305, + 11717010928823018833, + 6830776812287168121, + 8005153010105243307, + 2810537662888018358, + 17232429987268034736, + 6896096156358895847, + 9479647246888078935, + 9707293960183644407, + 7715255845534141192, + 15502758322849214956, + 17142571117345699773, + 11315550062235658451, + 17662008958802114988, + 3906335557125082802, + 7223865843596581522, + 344562541765137713, + 12396894551590530577, + 11446936766923530563, + 5157003792259994378, + 7702191366890944482, + 3250695745081304646, + 733893500340718220, + 2364614469539413495, + 13834347172624864868, + 5486288722085673933, + 7115443121971954595, + 7321306511750768463, + 1145630357767481824, + 5332527594539604853, + 17032148539388023748, + 14231726246688370900, + 1210948186464714513, + 9039447374801860297, + 6402936936930485824, + 2557596351284334216, + 2726289453485813838, + 16372456210492240113, + 4860159893877612017, + 5309201654430694036, + 13782559783275346594, + 308166027596641603, + 18268069626009065001, + 478969111443823207, + 12531546532699415051, + 9800836070533364876, + 7012766977994993231, + 6846604328104388212, + 13084641872839859354, + 1110497367280791088, + 12141403722832068176, + 5139309861641451856, + 4153744247375570655, + 12870292584872360180, + 10537252254675759860, + 15052744659772614820, + 9163255600315844366, + 9906690782886192515, + 14334099396537765861, + 3835479887588671531, + 6514123336627958514, + 5389680390412041284, + 13966583805630465950, + 13891993245641693287, + 14717441995289069749, + 9846785296939473823, + 4856909894835152226, + 3533130286327611422, + 5238976891477187563, + 18239054991666768395, + 10162287306241959932, + 8782118750348088730, + 13926980641598197118, + 15382913917801257880, + 2463293012726426552, + 15903399856070680239, + 4719557918593731161, + 8885060937668958844, + 10601111960848069769, + 11166853220033211341, + 7554589986331107817, + 1711523203146610606, + 14431998734404211848, + 1942822005763169526, + 14478514376086426808, + 5210051094194726880, + 9437240820260696538, + 11402692424565421644, + 13908844698355046897, + 1339353783752018623, + 4250770030518529929, + 9438404016261515872, + 13391161367141381300, + 6077056082684977755, + 12653309331712037175, + 731456571585537891, + 6094343699131267795, + 2678645396000084979, + 12427379338651028732, + 16267688530075747425, + 16146782979332903931, + 9961405361660830180, + 18410396134374224416, + 6522216419522395345, + 14079377457300709469, + 16849735467896248017, + 9882928353307733779, + 12165647980816102091, + 8384063160490460135, + 727740450030667025 + ], + { + "siblings": [ + "15933315412530023523957965656911957769892091230804125419160397035250994071257", + "114562159739105585408460503255548182597457489232173406117024590235003266504", + "2784463133394688749236992039310626026310025971458656278295676458304142729485", + "2447196683600012896041365679337993543985084425496739767637318094187307567684", + "1291790804309081443346798726714173149955941133781590900823876275461746406147", + "1579382617465597337263650034808964140887026651257265991013017509830530159812", + "20160885953641676896682109752820518539731227018048176097179702253228526435272", + "20602351184957923033987393746050808678299189761528357878304623845205413152774", + "1582002058962690951249162354726721693104888728959343920557944892141219184746", + "6737001487935824769539251528008199754048239211711799306235900295560733481336", + "11716032511116005403858916703003291545609674343174814419934534607328745055558", + "1117582656908364516212067440691190111645949901233262991818613885955952437073", + "4815749420207343677381345648427564629029043009156699892285398006583443248936", + "8639112265575288436815553874461886397576192616602112121530400126686903243511", + "12607015945465970102961547571073358292551410957900921292318921202781867054527" + ] + } + ], + [ + [ + 4961771285480081687, + 4813054528043543659, + 2644126822717144667, + 15806691683476329446, + 11631382466221795458, + 2638090579925118085, + 9459792070883720720, + 7695858822301069537, + 15465148150099321607, + 11427543450192853259, + 3316700278559662687, + 13174949099887577307, + 9239686414986595498, + 16590454578672462610, + 18153330615661552552, + 8314047355703444213, + 6982253760714559810, + 2260432728019113513, + 3213571362987129126, + 13244946382595257134 + ], + { + "siblings": [ + "9957330104408485714804258932607323478821101573467669280468513836992128826554", + "8123846270527716995247153312606369441731215594930269260062635728074244198666", + "4675410047295016064176474558447421295863423549748995555706164418410216916661", + "10854470101804636863821815099274395984575159135109947154491984227940714055794", + "18937531690985900750738500028657468367239578344619904778240850765245295623688", + "9700770322698733121435957898277478624166726333363823759969428911179067479327", + "4470500853894781653480232165601697311099364509288336114355203001700254477857", + "3789792809532401468067351807193223558496642204515618458384075998903777554119", + "8688634600968876807115541709053312084147116457278211503736741162892332204567", + "5018792701597670042613967954425520491606327070835553584598168154632609327315", + "6261911228478996379120965614669733768046140366732676598750890720779056194760", + "3004793315382281605085969896568209102111479634734953958376997840162575604576", + "20474424387286429175742122268574051024425644922344367782840448523066470148271", + "3827670720903648751434871802389048496524880388984474565743170333169276136639", + "13557141001344931236609142701083021488726090778826592045110683887101393095203" + ] + } + ], + [ + [ + 5558460222431000564, + 4381674658513888452, + 16778125462227620414, + 4009644461309190740, + 17468262046967840321, + 4094713283240733390, + 17757695799458929302, + 13768811906649617949, + 11206303911357263228, + 10271534716728238023, + 16984772309172335422, + 14011000650536716336, + 1103838407924055817, + 9859201026766987241, + 5807542662128174214, + 17188507155116801502 + ], + { + "siblings": [ + "14166703478555960389981194468514440825167921230705416399143339470226949924087", + "21569552664718036392549783070645658333691091073209093020353468318745101205765", + "7788250044114089669177029757731567701697775937734448857319810669159187269612", + "15778686564660245563129771024590016550609106497213908118118137088185145763836", + "17702498128777022862826434459815904924518083589544890581846787976729819233035", + "10010991725576289828524873033772735812274340241012361515328474554796190300627", + "6502991470164222981443835104129412409210622000383329161206173149810945668158", + "2095913366180169297140665636369489636411194455166241314316787984681604356202", + "20036060849912804927110803965906355721986342222517181550591289695274832189579", + "15048815025209818034152716213717224201797069248030347079771228803085906685163", + "14907913129432576004071730941296659064427889735056071677554450941841487942384", + "13380744450234524123325521862301410720304870984795718235074425296960988946130", + "2102053327383383569744734153254272438715260812363358982383787230310540209811", + "7938880654017300295203711570551563482372311804533313650980962180772379831968", + "21772192927816774311180112164919915594388485318734660940178986836126619269640" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 1869808484118472502, + 17191239923844962548 + ], + [ + 8822446245703521824, + 3646077115990525374 + ], + [ + 16298353537226181755, + 1759348653583868460 + ], + [ + 13128285185425155238, + 17065666217211438199 + ], + [ + 17361920393467397328, + 16341952760397862099 + ], + [ + 2900066117439736699, + 7663046127607486655 + ], + [ + 12988080733482712552, + 3647273565384528799 + ], + [ + 10367741131760230226, + 14738888614425345165 + ], + [ + 2396538102739333914, + 16793049038582922553 + ], + [ + 14329135102915428625, + 13572364956269554689 + ], + [ + 16918851341719920915, + 2677254512608987856 + ], + [ + 13291628938546373614, + 7547012711106300208 + ], + [ + 6986247541898222218, + 15294536358335385217 + ], + [ + 2666908065327855454, + 13695363752287007717 + ], + [ + 5312506960649685107, + 11151435115846876796 + ], + [ + 671596495145579250, + 14462790889231597320 + ] + ], + "merkle_proof": { + "siblings": [ + "2445781760792490693422010687946283873389603634581453005184448819440794943349", + "4717565242032151413364914027136921897049474896800104189387537590822374015224", + "7380392131457030856245571536343622042148105105155459358602606493273975884946", + "1173090097442206522444452728580168392686584724486900272849645829952120678426", + "2616886414437696698668425159892195175758016305297512477465072082848931579421", + "8439534048881519694978295834932547057092699057642887923450421551046849187603", + "18937531288043706300082457125152656031351686077328935264697259704536447658349", + "14625094569648036115397849630953036863473888028804829163562190005943594845656", + "9029495517140667621397591137210017475454978602693756427942564081209856074601", + "5921432483634605989687719313496666416343170153329009520776434537459218567343", + "13965137453864077483876976454968663558232272461179474757856058766371960611804" + ] + } + }, + { + "evals": [ + [ + 15971841843863268888, + 17041263399791697834 + ], + [ + 2192399649654816962, + 8996522912326951433 + ], + [ + 11688632935935313496, + 7042797403012520191 + ], + [ + 11532369681163392311, + 4406833281923048187 + ], + [ + 12433214662273955084, + 11767261433527403242 + ], + [ + 382188669986328761, + 14209333330720843131 + ], + [ + 106353952569887167, + 16265806691171172207 + ], + [ + 1734711523176319474, + 1901089624399715180 + ], + [ + 17705532517671163953, + 17252394089690712498 + ], + [ + 15533394382894361927, + 13962583197686926043 + ], + [ + 7909135292912940137, + 723748606388298255 + ], + [ + 12739620360983299278, + 9296564421937923990 + ], + [ + 7485565565212808569, + 9764390149523178525 + ], + [ + 10363336353003611303, + 5897206443574705316 + ], + [ + 2273420277467923870, + 90919116293497957 + ], + [ + 8711333739204654839, + 4680969529382944647 + ] + ], + "merkle_proof": { + "siblings": [ + "3162731077975728927654980605876922685239898868941790407970258753942214576314", + "7959177296206016454155606310372245123802638209511837418842536863660080381232", + "20397955259990699086192818883873483979631032506674462334313663976458692112096", + "11664503235810466113535961307468800931485092201937874629151395099771500248040", + "952823995994031787758151753732680101406032175273630041467703770094944991446", + "20367928660038000896614286345374877295581089550556441319956268214121161711763", + "5342991682576332094981373516149993497512200877346031670083677230209154398002" + ] + } + }, + { + "evals": [ + [ + 4912992123538308470, + 14489137762701075215 + ], + [ + 15125668983960675209, + 11814952027888469459 + ], + [ + 5547737389946196520, + 16864067405968695841 + ], + [ + 4288660820074262105, + 2777767267165528261 + ], + [ + 12650245068469502469, + 6985083843588560603 + ], + [ + 8498401754402279824, + 1976849725200750955 + ], + [ + 734408829079944127, + 18165424193222692204 + ], + [ + 2501508611504762594, + 17629644377976352462 + ], + [ + 5717700435065977529, + 14332030407206021999 + ], + [ + 3729821338289968472, + 3160942005153607783 + ], + [ + 5602930347722367456, + 120492235746995562 + ], + [ + 15341524220860927298, + 2119539810315672555 + ], + [ + 2606188553595769130, + 3392982072155845112 + ], + [ + 7728439298145417373, + 12037490890125309439 + ], + [ + 11811793768642626297, + 6133897199052812689 + ], + [ + 2389497255029042954, + 583666544301910471 + ] + ], + "merkle_proof": { + "siblings": [ + "9925511033707011462528440707263057840770438920554244625318450860515021719068", + "17142694270994178635734883513104895477056622687731581362062413628019326373361", + "21744271809996308951341468820713092894533666533952803152484745159849414551243" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 11017545369566275060, + 8749663069728785199, + 2900088596391130817, + 17251519419540980035, + 13535835665787273412, + 16676935924538734946, + 619540776992320915, + 17387623082995724431, + 13368465034634982416, + 7979036718811930287, + 14419370547481919951, + 6354157632228937696, + 2088836792016253796, + 3658601115813611888, + 1732236161690552333, + 6522715911996800539, + 6674670901244522070, + 15635602902891963961, + 4248779803278489706, + 2769057882991212350, + 18219603035387053036, + 16746167769231046860, + 11338255947619632295, + 3918795809140873244, + 3974402245989692606, + 11515792169166960738, + 620200125521203119, + 2726873310840233517, + 6081041340414830645, + 3439688493342323803, + 8102587996267517811, + 17225432190479897248, + 10415283907347332721, + 12761223895345167160, + 8302318289991100808, + 14507104620342414531, + 7062188601456753167, + 18110150739986821357, + 12117661433185601114, + 2745241244543671712, + 4641221138150849192, + 9641516618512437382, + 1204044181420441667, + 3542943519868373003, + 6418393739697963126, + 11918039689557314331, + 9737013582722795438, + 14361724332168265291, + 13489445706692431969, + 10671818688640126853, + 6531735149788064176, + 4661923392001647517, + 1006235148017516303, + 4576889039189903716, + 14170155409452782876, + 914018157315646938, + 6938645880804573508, + 1576343321838552643, + 10434508080493796116, + 18383174227415624596, + 11181394321164823551, + 14403410897734805551, + 13849948050354931444, + 3684671333872533976, + 15461824408296240180, + 7614578247924607410, + 13377524410991316165, + 15934531453807690419, + 134408483824056862, + 3210405117419683838, + 11542738507281501666, + 11206765143103298333, + 2614026676250216284, + 10464935947953290959, + 2889609447234158703, + 368219294629717680, + 1775301889137292614, + 2866518056338317687, + 6987891018098599415, + 7615632460412331984, + 11624257459792933452, + 11663047772931947401, + 1398910731898251781, + 14086116663362852140, + 7458347686490717179 + ], + { + "siblings": [ + "6524116808416065481663249683829491767904036352962049249012808601231383938017", + "10611216336730418851994539411997639804077230773978227655259960787096598718076", + "16025841801695976545910555495735368993283896785859672607884533296062532077591", + "6609349032274778115517691880130651365864886750634213611067016298319549264783", + "14868614723577123312834355017488628530234834544581180617011273413333304021264", + "6457486875576122587347593652660126324400365048845892502439530430330589616083", + "14247236028485320929248705834860674522621026018790136102897536483861337196375", + "3379447007585484687012882628408497740812521870906850406733108877176617195185", + "11577943446442918568457610214604884810877538814959828535292704473845753196120", + "2167211976661656525685756669080969343501334705046052594223040530812708178591", + "12925949385685383187664767095749630900770492562353707886334670734807048125109", + "11329300387956894035719615645211276638343359076184428084542035010373253679682", + "6404681899690369572720648680286594700849771271055606816274735655832328329713", + "6599224765364969927775285008721082583569943966252185924901337786098043177394", + "5065398598421838663879242494860268659227560380838444018964332175744996505206" + ] + } + ], + [ + [ + 3683664431021830495, + 9048422198983965315, + 11060004431513686980, + 12483098805777442910, + 9440182099836506568, + 7954138514364258224, + 10636358779627243564, + 10680727002338826494, + 16686058377393015711, + 16489776614137661614, + 2306270133943424737, + 1877083864942206853, + 12244581398036258385, + 906464316643555921, + 18234992951844384475, + 14098182014090973151, + 15220114645628022429, + 9165450062964922071, + 6642453081586564095, + 13044734114841985518, + 1206124915890629957, + 16375320374154687981, + 8126012444329169259, + 6417429366377212459, + 3032655008356691904, + 3134479795510806517, + 16701999410158736104, + 2459936635649992148, + 1289921353119690229, + 13627621888801979584, + 57408220815064721, + 595640099983736536, + 15457502357865446528, + 5844161133896667692, + 16226892060084152393, + 12379358793626067939, + 7343551880746151448, + 18221046015202353307, + 4765351020046293216, + 13359286577842876649, + 546638270789164352, + 16596524286981472008, + 8644867893747988166, + 503599685485201123, + 5540358925427359349, + 10985954422771047060, + 2001723288315273327, + 11803778946288997033, + 11103170014239801218, + 16987147600509905699, + 14838247512740205657, + 2716057983127084358, + 2790118162987025081, + 13280002285744144049, + 9129016476134675325, + 9725461741311236307, + 16779092440354987335, + 10275254610443813674, + 11883413428392589308, + 6970202278708455472, + 8227055510533566513, + 13244742586710406777, + 15407726732641749608, + 4103116329298227689, + 9086084453041877659, + 5158638793813817522, + 8255440086113920287, + 6523997192844904353, + 14448072691348628542, + 1888388254439677294, + 11112300556253070865, + 2720233136392135357, + 3962529672408822833, + 1396967379774514144, + 457523128311239800, + 16847655994746260499, + 819008168900032655, + 16907268052401323641, + 10387025612551988013, + 2882236607216153681, + 13266266894687631321, + 13001225486675502751, + 12677299334504676305, + 1062328617833858026, + 1584581894291580737, + 9572062353365980601, + 6124411180759386594, + 10212867672792668289, + 13432852876696845249, + 94217846358160942, + 15199344712547092160, + 11383291747686253816, + 4736913401257439687, + 2450926163316506282, + 9422446604622071228, + 6539843859351052636, + 7007469927571674776, + 2707793677976227065, + 3219597462576529040, + 17248629204282912135, + 11316842227575292008, + 18260907514464642795, + 1526977700647266244, + 9522389910360508022, + 8073486465923703238, + 16911738856825816882, + 8697617848693805123, + 820818599988118241, + 4431837378384100301, + 789438247452862345, + 3716905890912550285, + 16532603282688293320, + 13681420508787706499, + 8751709712641101806, + 9962333897888351862, + 12657931361235076939, + 16026690950334751662, + 9476093761758208100, + 5964109005112243174, + 17270340606134561901, + 6374302302917293788, + 15864511494195868116, + 8293521018893477676, + 3747347049357636364, + 700298868687261256, + 4655755648024039925, + 9279622097115959745, + 12467539875250432452, + 4135085573681108927, + 11466746327180816043, + 5442756802947336578, + 4990154631991543614, + 14690369563566774334, + 1216087286171355891, + 2111193684840252269 + ], + { + "siblings": [ + "14207746144030970711175187848633364295187117907643703198404189175147566586217", + "10628783375655663376905432281294529483965907099359706038723514617057588035128", + "11727750169201340059757253554576503645052810875590964943802908572273255152852", + "16750522706050647516534772081993679775697065056680741459761718305097946158415", + "1522221349726878236312183337293033321137186905054338176240796076210162493616", + "2457662726625535525273691422972694465732504630021082200276423397892302172339", + "3630671505530665515503158142148354219484281509545049756423221110562180869254", + "20607202308939016695889997351391071678275301064557406917420024512508311468252", + "13635026849345608574776807848739115147478627506379370988217187559332081535238", + "19011663834450883120704602650167853632398929313276207269047302020051667274111", + "17469433002604773720919525454912518056437285555725658704665429383552232900560", + "12404532564826675368834835899088693547666892918223017495373580271714743036384", + "17302748084091586183265071261141307422349821649890585144277138019971555369277", + "16765593322020803871504486251167237584234251453245236665888662607806798767046", + "519259279085882672600819800510768993854583075164377060083084914384245106408" + ] + } + ], + [ + [ + 10494410344405476405, + 10666315463520721904, + 2453652814851870642, + 8554176232807612970, + 5101855035792866453, + 18220791865632691324, + 18067640704372146723, + 8514031548682777887, + 11408988603442547282, + 3875520489092384478, + 11609043779074438122, + 17634677985373345137, + 8567755005670220940, + 4629855486359037471, + 1229417684186040932, + 6634704515224798346, + 9784179145995280886, + 6228342969942128255, + 5244030612622458742, + 13467050859937269472 + ], + { + "siblings": [ + "21539625069346766129730810463742442334090416078938291638199396896838847960183", + "14616119511447819492284198668911528848059141369267246161963738578830844188856", + "14381041339709876604818471760592982849670557264902836724608441630011665093082", + "2416609218055520680631648618586789122500903735375993679947600985281511835459", + "8858996175069255433932555296119338633007044694884991081686128213371882818969", + "6823148078641841254448295005623332209960169776396220730665211474374323213842", + "11378140460587737563952442942909780312181962375146333380337654982482846075580", + "11008892683198515950521592152859045420843378088726548130854414610241694003927", + "4314269683155322925438703261022731922212195923865116561844119285520460616337", + "19669822182715615932577224996781711365159715667924658165951475249024924081838", + "6427164015700980466503907969496324976198907624765042266627159853458157344919", + "21006880718333060963885712867938695394029151994749533022782364124151628900149", + "20337284248307347022112402192528255071385464174431408599070608648262789546117", + "18053311676044733737107155807344743970664725149581828152639178765109548739826", + "17657604999130598262208100755037018608977195508411168008046507642012892220380" + ] + } + ], + [ + [ + 8148211151756923142, + 1094998092977614251, + 18304023348684910101, + 3567562024520736476, + 9822609150851555392, + 562926283097347398, + 1208583385936273922, + 5854091130999473970, + 7805860703597262444, + 2512539600333341008, + 16289938078197290140, + 4106289234580422700, + 17652793568775009493, + 12799318193965735821, + 4330862753651102865, + 14253787076087152514 + ], + { + "siblings": [ + "6560748188242816028768525606832800454535335202396413696904160939955476508321", + "8779723559349036716751143509960178408353241217751127960891268221099925188299", + "2850282858238710445399992636318024500339650101721011529023166550122471988116", + "5986017664410824413005101794061291215010913234000992062395357254806948681082", + "21261357530421082846775279910744595418289100454538998160069778477391182076007", + "12779959959103864378436646100595110472076723065983673526359352097385988345954", + "18136983882478893066836918802279979501088327356143689325651566295305109817111", + "14677823858824501999726183934148090808876700834373397683764817079221488723749", + "18053512354124181370647400750994861007813546190037055330439908618771972136649", + "20081817060470218910970343192143633687218427544063978755900658734345657559994", + "13166783167556388918405332357796339144060970868958548980092686161989209068179", + "15460017246877090920068085233804410914355558405125824076665530546581475780347", + "12214291164947315552899881367297670300163655624739043859744996820856694017456", + "8391644777937455687098173186518818343541830090332400350029055798280773882337", + "19573927959838714385515868612204697573515638950753875863062728308231234910291" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 7981892683666552346, + 173766324643617976 + ], + [ + 17276874979844803684, + 834820400995598019 + ], + [ + 14726467264205128199, + 4659010382673073472 + ], + [ + 10366514108884652932, + 8901835111871893506 + ], + [ + 5838739736340552448, + 86958573077392654 + ], + [ + 2604408292001922913, + 17925372777744361646 + ], + [ + 18444539564876832882, + 11279061244115332957 + ], + [ + 6894906528105658639, + 1027972852906779907 + ], + [ + 14373164194979201186, + 8787456416731412057 + ], + [ + 17749979800961190885, + 7126557022526165940 + ], + [ + 6773811527717953151, + 15059523794014011332 + ], + [ + 6635781131802778403, + 17664227675797774524 + ], + [ + 14148946110544254826, + 7181818743763077894 + ], + [ + 17192200589884207557, + 17669801844441739673 + ], + [ + 16881051780470924804, + 4766886515010337923 + ], + [ + 3671834931817820259, + 11129121861241330289 + ] + ], + "merkle_proof": { + "siblings": [ + "7692818343907867822541580241365576579980931112667560651148741626439538610735", + "18727740664481629726243789813035124368325222801726709397334871161938831185659", + "2571189795914879536694868547105408504469066808781519133579962053284492840194", + "10739804543822537096593458491266029494688218200477735220191004572610883500602", + "6472315522936425640219101312965247070678015118803156717630130703397605082036", + "3703155641111905924984089794225764255267531914256703022001690711387877498804", + "15262033094137069165945289693815546704124832564800332666153940954923631093089", + "2761615004186500750324297749091173409775450680823512182247003868758746586122", + "10218348245391919487074263480937545178245950133010801047007445508701269603861", + "8794909275044438944209082845776523760785817866446855009068736967277096008222", + "19547069368266454330889261126109403907165402554156710286962195170101501288836" + ] + } + }, + { + "evals": [ + [ + 11722147473804312154, + 12332868389580499551 + ], + [ + 2032578454232617410, + 4043098081557612710 + ], + [ + 16432557062341872850, + 5157399451702387262 + ], + [ + 7081517299166772731, + 18290831589418885500 + ], + [ + 17658654110972938948, + 15131408141263062288 + ], + [ + 8658345949227261420, + 11359505995200909640 + ], + [ + 11349046098138713382, + 7789449860293987846 + ], + [ + 8529888414278240732, + 12181785665879559947 + ], + [ + 6446577958362111026, + 12118932503375055849 + ], + [ + 14718977830660556821, + 13025291072651966876 + ], + [ + 2353515931442749687, + 5715703129057812218 + ], + [ + 10312046801588098131, + 15176171694340249953 + ], + [ + 5785252437996999020, + 7064735419514654791 + ], + [ + 11358336808709351119, + 7379888685874730839 + ], + [ + 6558287273178191870, + 1836271399330113971 + ], + [ + 1705614434963002161, + 15101441616342488486 + ] + ], + "merkle_proof": { + "siblings": [ + "1231044798854663492664040422810515661775734253718131353208952730201266508756", + "18906004356345848746661457273048054671900972196159867807470404162962205965702", + "6485179366104981066836237750764021689202689707988708762286115862850624494901", + "8592121104982856711136305912227669168685402371133495041098946146437995375468", + "1373204183552580288778038925159152696724033736610139684604529521506619761227", + "9865680513117832409465974745060508015942948542027637981612621525081014062603", + "19057248945267543480090578304658019136899588192256385231096776309519511650306" + ] + } + }, + { + "evals": [ + [ + 7628733796680771159, + 4718281329090023126 + ], + [ + 9562665826067776329, + 8438184263787434324 + ], + [ + 10821159580716411070, + 11584767619156915811 + ], + [ + 3732292751952122479, + 17777685129356205150 + ], + [ + 7350633975160297293, + 8641515471565960071 + ], + [ + 8846681754401138337, + 14200746829605645068 + ], + [ + 938218018195631976, + 9426714199219601548 + ], + [ + 318086039799163930, + 3488707265529809230 + ], + [ + 44682274581543854, + 4073374817210417423 + ], + [ + 5877435225919482395, + 3494051021752254591 + ], + [ + 4535433261613191468, + 6139131028702961291 + ], + [ + 2914119937096978660, + 14141790782250149796 + ], + [ + 11744918553833269631, + 1369429357885735044 + ], + [ + 9891896666782901379, + 13374956864148708278 + ], + [ + 14610409636573493840, + 1964211962550156716 + ], + [ + 15776590419697337640, + 2825390945344134980 + ] + ], + "merkle_proof": { + "siblings": [ + "481493038422646864559111949871413819989231709173915263283280448451022482389", + "12494457646445000802165418777682031313136581663981612148304639216275848648305", + "6216228592672474501265435147792527411079364280512045929287739966109164339210" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 9077588586329456479, + 11160460917009284787, + 11623570953403260903, + 9263003831790845632, + 8655065397192117385, + 14906870775245373943, + 3897903914888566687, + 16028103695652623499, + 12784755433390283751, + 17371190749912933121, + 346221314253190049, + 7530768077768163317, + 18337972141132580022, + 4239071217327855123, + 12595245813173852669, + 13120721769608395214, + 12137153743428279183, + 16061673226409876648, + 8310067543829327724, + 3983287790782473206, + 6412610647427427274, + 12339388614327378504, + 3961534194741761928, + 18315512000919960433, + 16765196945505759018, + 17128309295781597796, + 10113573547759294991, + 3149186649117101821, + 12825119498312963967, + 865024696900026341, + 13248642064377982690, + 13798020296468596461, + 5319181458862467203, + 15469689709640701569, + 6614501556015453422, + 10387750420798685986, + 12134583123773702138, + 878883085219031930, + 10567685367982305718, + 3054112131721641548, + 7633532415215222863, + 13105705472868400467, + 15385261190870499149, + 1299135176824170816, + 7622153599149138908, + 17958165616231275935, + 6895606916634581820, + 1731099071262874670, + 14449637435773297659, + 11082112468116905497, + 387657864394680671, + 7864311398842081851, + 16112643180005937542, + 14807650910099604131, + 8960025861798739980, + 12728646783453899248, + 14704415522863944394, + 14899396775626444922, + 8714069439650044702, + 11417677172786678030, + 9501171942169313, + 15973476255256330075, + 57705424291045369, + 3830830738777985353, + 17198576643669266709, + 11452260719752611677, + 8227568617633967151, + 3445099071650588975, + 17464866274131942744, + 602885816919652465, + 17145467918472261568, + 14962481783584550116, + 9185404808015960037, + 12579837698769764401, + 12231167614228543793, + 15859614004003745180, + 5706980413785168159, + 10094387212568695703, + 17424370269702630110, + 1962843463132319675, + 7795219561053691506, + 5382459145627065203, + 16908716071875869882, + 10790582702125462220, + 4811808361950159205 + ], + { + "siblings": [ + "18793434569318540902373207482267899693214996153700663941433542469467950236291", + "17887587372065860614533363303969863445173502282900108304323069064180130567752", + "566060458797733975415140377229210871874110288385112982012364622547677212050", + "14768927413010956957050088080009790842852641067225863785810743521757265522943", + "11019869803749408434295076904288812977965941286098173573968867192521159498006", + "9838199870900998060367516797025192854440470388351232559459816958845359802393", + "13378544011481238444131129211961457086523954631508812894280274664413915006875", + "14203816030535403681569184502053683494950313420279794000004502239778560240288", + "13329024979385118038802195612872706916619167056790057271018962993593570446671", + "10709761089475263451446721807783202512739683643621828931478267000038996006172", + "9644143335884814261239654496962096558969328643445263481187882278904948430302", + "9104420967956245586073328397337310482507235467396374446854280247055301527855", + "10085295087114430078534652270508556615129224856183590526145406987865881212666", + "9390416991372640919644208203597680560655600280644793627950694423514914613048", + "9037358025481401642962297384592576401956676866924234307059044664981250312840" + ] + } + ], + [ + [ + 16349054258818142476, + 10325739678853897394, + 7265553230923139507, + 11258056737719854539, + 8068538351605776556, + 4124726669654544019, + 3980835659990908854, + 17162079769638252684, + 5855392470490027212, + 6667170586546709225, + 10132240166475467156, + 11662855315657982089, + 17397605801660432035, + 16394709630693534182, + 2993715882958254312, + 15410291806464603119, + 9011315160883055187, + 8165320990542372260, + 8029130751736508020, + 11411877134945436756, + 7221130022535043878, + 11793233525165087616, + 6021259080536037706, + 16804615954401321557, + 8281184912658997567, + 12156609623750862558, + 10338151212910038030, + 14407349250149796036, + 1191470286119074557, + 1698859980257000711, + 8232421292660530634, + 17306272738821722753, + 17593594341964896711, + 1950183349656332714, + 88117606560474398, + 11285824720823124491, + 3286184036514541268, + 17560022039858615044, + 16383603311348619283, + 7858501274778593715, + 3416581897577679925, + 5617055774171204274, + 13724971657244956840, + 7454063859607911626, + 356673030340185271, + 4094332812664752010, + 5889215239073584883, + 4929950255016378469, + 3517739852849592862, + 16187210838689260568, + 4668738509967577193, + 8617060470311109902, + 529848516283625470, + 7198574471911256415, + 1371227580487139282, + 17505321614996157608, + 6574283398026580680, + 5140414514252968794, + 14072195861830057345, + 9578751524722428263, + 697167352373363030, + 6234797061082822730, + 3364438217107519634, + 4355046011996759417, + 15305686128096630684, + 6976270381885556329, + 2513328644181042621, + 10847301420307205163, + 5293686069979451943, + 3080876242771481744, + 9631840166244744772, + 9392583479400027138, + 1588334997093770301, + 4909766642583490720, + 121926447457986264, + 8350390018308071037, + 2912109947566310314, + 14836455595789829005, + 10765504544018400103, + 3700690113027558137, + 9371736388132433935, + 6289450099150033907, + 17928187472794279654, + 5954611187994109694, + 13641301739960389989, + 1197219901482936498, + 4920284064233206231, + 7072878826107116112, + 5868596252982119035, + 9710722958337267901, + 6011418832047504456, + 1965644987242145331, + 12879711184218753774, + 1959419196206198045, + 4385047043181137235, + 4899463498857916600, + 10305862735009460826, + 13663993065205097425, + 15413866217973603774, + 1335722089878513296, + 4277692499972280079, + 2136228665961651243, + 10023433134414112761, + 5267814711463087632, + 2437429401503877059, + 4699590864592274534, + 16291871844291357087, + 16790553598605748034, + 3168363430584398591, + 12690778302645051485, + 7578891316615708973, + 13796686063990182738, + 3821408941481888908, + 15099141819453770434, + 1873632072215458974, + 9077562521093964135, + 14562655563223918369, + 8033601294002653015, + 15001393150741094319, + 10316231121458948553, + 14956817920332170620, + 15996850458357358543, + 13184124970124465828, + 317060821783960622, + 2497937855872343784, + 18267143566471312114, + 2435199985928789450, + 18441197888863867714, + 9123238497047411195, + 3891579484130003370, + 2699031451045402187, + 10752192709855875381, + 1150031571381548799, + 11429920202426720455, + 884537816769132240 + ], + { + "siblings": [ + "9238415200272100239022070240676511232670116420401405447637509813053665947596", + "6414097832483814673223872835777119260944894522485957962736405313334459116280", + "4746695429102969816310433439179917747202269971180399013732282532473626552375", + "17008336360827871050842865102107359367260909067051265984712741897220306205857", + "3152899791973396922865241896564180950773551635147397244687144284323713474281", + "10833950411727658379656937247923037485493990805164729339248211193672307961205", + "3161730363223663235913227410656767297949447767117420110384811674654875276523", + "13730962179667148804027430633404774208081458602669701481547757212863522092381", + "7697476193669237903829263770270705962637989305931971430939181534735975861631", + "12748267395098559698838490776718154506474229929135809184610235570954719199500", + "17574969511559171106359985640187539325898427827461492110818440626016252201348", + "17827062849247014356458947853035281011254378432930289167737319459853781134304", + "4018063112617785550432361459167600217503480148405807486544975817180612583942", + "21569991833047744672476077642965587913848544832942569283621399997335739507340", + "4851130195718388165518020831735291853093038846842367420609595184447479902149" + ] + } + ], + [ + [ + 11626844250162203074, + 16873376171227347122, + 1707046262099424176, + 7510649946527129157, + 11913960246570061964, + 8539350469650882850, + 14250526404560088318, + 15344250727767372070, + 11521424422955499375, + 17534413608839819389, + 15330869825841111203, + 7095271020819389362, + 3964301246851605034, + 4957279391816261568, + 5109946185744041914, + 8496341604052087110, + 17272177398163437227, + 2789624495952198663, + 12554201855953631553, + 5765887546282823301 + ], + { + "siblings": [ + "491033491617859434741891592955457959652201772662580507650943085379545415392", + "7091147631692269122182753451322456509833970005052491179565499024527948771530", + "21081031267711282905777679788638542118915761673636026174673941725399181903930", + "9208602577880493246556931681438674318128685886514551614016174362056039817377", + "16120589587325841471726323710403081353092428020503708997949318069298333441722", + "19582596993287414786291101683175923548906715664634148495259965433770520324717", + "17811418801623274035523565796066812779949874241589688602716691409782884336354", + "6702105095741754761132515840457703023540505459404175085280879492153810441281", + "15969184994345308622701284349105003838255152046945813030718126057529316831951", + "21451732965263062938423496725145425977923285789478379065837894137075783277577", + "3104318432045264263061520937497980407860238979202482953914838178721518532595", + "2547108322071512741866871818911604420519265909880521351212462501069954667808", + "20021798241639919957222662058116559625805654142609638926393206306391386572241", + "19989808163918814523868988952084437404930509322777563101571235365144031529076", + "1198565398290027521358782266609308299551537331512505578759430331517884432528" + ] + } + ], + [ + [ + 16993422980534882501, + 11433510958058383516, + 15050324683053925031, + 13987529598420740714, + 3120080305809626803, + 462174812225929846, + 12246642560092866531, + 14126554935538003075, + 9646776261687562673, + 2469040103412114602, + 18401821490912403161, + 18096686039982151272, + 360669747470849598, + 2197216014405241091, + 788843843157375392, + 11002568000821481327 + ], + { + "siblings": [ + "17622415373375278333919849804667641998191939130876337997069766367685326349081", + "7866142713945338639770219783808818005898075723789838785788228256913984045608", + "19481396228017897314527973271068035468944220090608536872864965028330862923654", + "7200407263839732334424283089770157213163837229404460658185904766420908240575", + "4813652450255498248028195816972038316651110131806193108341316866033587799429", + "8582361631741646204235092278974939955784018825779292241372942698532520551835", + "13946260607918060341829728360785389192767438413490986514580350625536414035235", + "19232335399098602418066236234806575080253482841719382718128626875046324495323", + "5704144980958587658971941877293140200329854667166123792748986861607234962979", + "10240753010259772954910339349052338789084328500998819149451674383971951031396", + "16984492721868688268606627177695988355551390354686013301054525166784148708713", + "6072855839719620573391619326595306090369457929343502577878846513875421950435", + "16299247186542502809726628918138519795949125936770182278633129615696473203026", + "3427774416927261976207711347440056967734540567955206681253831401981739203869", + "5428551957327182097472953916386755973093682206218788595274494773182078722098" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 10479665011713377542, + 5023866871807122614 + ], + [ + 8051610560915144603, + 15713078838376124778 + ], + [ + 7856630625281855264, + 18247481012432796867 + ], + [ + 6130480179919030897, + 23247606961130704 + ], + [ + 15394143153194400099, + 17338181242023036542 + ], + [ + 1558109637900912501, + 4911922544338271355 + ], + [ + 18013147001928607102, + 15208620093054945181 + ], + [ + 5587211586075734110, + 6217882588356866260 + ], + [ + 3651399564442075976, + 16531925043031190806 + ], + [ + 8604142858449407673, + 8012477574772010623 + ], + [ + 5333255357529943080, + 8277343570713995182 + ], + [ + 16820687427137050999, + 2127871460405781684 + ], + [ + 17469790157115719257, + 3883921547635960985 + ], + [ + 408446332370208791, + 8013097089473756023 + ], + [ + 12795626323332814294, + 1773716112330079034 + ], + [ + 983400324764240995, + 10350518888616157327 + ] + ], + "merkle_proof": { + "siblings": [ + "10585565633144997098730124030543885101065468430540544692837305573643041835884", + "7372039760937838020105818286488983811098051156918951331948021635915386041938", + "14035731151285822349177718758968888571801079947382755822508446595965566185762", + "15575273440303588560117947526441083369526363841163983293668659160625502581227", + "9261464301971280746237625636880667613707339803200919723348862928106394351744", + "5387681113115850777801812481560651922142180759514065270334739073534300840903", + "8289943835638681461846233697036396058084288589557265085522216540297139753674", + "2369222661259786499158415989720471423018715252363636844624934359036132746885", + "12687156733058623842883515331790096074711105753356718335912420812938533092405", + "5165362445375721307627024176354997326659037219014790873250123335654996322622", + "8135278379751067941870064934679370816913259994378349442227215028670979009747" + ] + } + }, + { + "evals": [ + [ + 17498916954819448012, + 9204582902964955285 + ], + [ + 13145437488748333043, + 13595425225195870497 + ], + [ + 15423368108006678419, + 6387933975339123212 + ], + [ + 1074618465508043381, + 6477323936796886138 + ], + [ + 11433007962996704757, + 10609825278802542186 + ], + [ + 7445461884876806508, + 7569983286775160470 + ], + [ + 7750584048480406824, + 3502159890947779927 + ], + [ + 15778623110076100736, + 1851122667765649907 + ], + [ + 14750550317891033463, + 18005317851739718315 + ], + [ + 16485664679937826861, + 14191304824434158988 + ], + [ + 5898593817182420630, + 2678858064310564140 + ], + [ + 11006562402658653687, + 3422437781775480880 + ], + [ + 3449885437461010165, + 1280929637751672877 + ], + [ + 46451304597731020, + 100168868952762970 + ], + [ + 6682846639287279844, + 18388202392282192498 + ], + [ + 934846956815194694, + 16764083453708835947 + ] + ], + "merkle_proof": { + "siblings": [ + "17013880836845938892632175083112975951250577052680753493758310514270322765399", + "21397985758860689768493949763892438590573647057005908638528350671849868687940", + "9051820093007629785244208006843395462118179677729750139928580175526328453592", + "5225035644434585995923966667602802369061488049976073933546034604733484474301", + "7127162233723199582600035490747392679819164782412372244292813290146888320003", + "8133976263940390500688819666166069849157804914463482418017527091745399654443", + "4421590412326431624852552071360956622110495787402419106344196020217073431321" + ] + } + }, + { + "evals": [ + [ + 14385552333960897780, + 2404513991841666634 + ], + [ + 16073357806695889095, + 15691041058286124311 + ], + [ + 8388503257626113071, + 11764178677886635693 + ], + [ + 1185347294779823961, + 16829868615718891001 + ], + [ + 7133363007051130894, + 8719308769256220038 + ], + [ + 4145310669093224981, + 17373951771498387247 + ], + [ + 13225917066265980517, + 231613774095533631 + ], + [ + 18062607792370133869, + 7830687542264442921 + ], + [ + 10051748092702369369, + 10895964233604116630 + ], + [ + 18329332392061633703, + 10195229306080516317 + ], + [ + 7792006050492764585, + 8180788760235478564 + ], + [ + 11999939479355618284, + 16207946338217800893 + ], + [ + 11988930798651789886, + 8426258601571258340 + ], + [ + 15865374174553538901, + 13755260848894498011 + ], + [ + 13544214023372594826, + 16952364687932091714 + ], + [ + 8038887291417182369, + 11637312729882425427 + ] + ], + "merkle_proof": { + "siblings": [ + "4750109925894967662918134533599931115692375863545151681445793202846193821158", + "3068337642169655398490386387870978272255174290365094950476682574542724447648", + "15093480883186766016716096249217267906771233132900099357651620585328768501074" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 13723644942807234480, + 3412319569145104044, + 5398895766241134053, + 7822171313542040533, + 2272659667717961344, + 16836249746427119543, + 17972798424216548346, + 12815834758601529621, + 17179614945907930741, + 3817477939967686742, + 13136608250193977876, + 14833888727335460353, + 5978860672953570050, + 4597101806169944602, + 11926812033178411818, + 9505131247625546789, + 9559495553977740680, + 5022249897748077194, + 10885906721464251380, + 5493456775437821617, + 4779118060440617578, + 1333085667102202756, + 17440290816034625638, + 6515822037683098623, + 9323167524925641704, + 15197543225835121470, + 1189499523037013477, + 11516237428138985787, + 1279902671191229484, + 15309622355386083577, + 2192904389853941022, + 14385582115074468250, + 8285962327482335413, + 3321581223033318178, + 17658498132831658180, + 2990562128569255641, + 13155559872590276986, + 4577179433865187351, + 16987320715782500426, + 11494085422214946624, + 5853672491288545684, + 18328541188147333458, + 8495300061753918630, + 4555061696917385911, + 8617614049859483089, + 5492629727995664798, + 10051135013267057977, + 18389593687912458213, + 15163170551877248828, + 5717427086855258883, + 10425963703596253250, + 1393955571512810920, + 635686223221337915, + 9474399308051468460, + 8012024456455336269, + 17876611023983750849, + 8423496016089627258, + 7041354508649592313, + 6451417511223306343, + 17244592523069077987, + 14390568916242675368, + 799441137050693369, + 8241147776028218396, + 11950642229702346793, + 7692631790104877817, + 4472392121275849107, + 2189566443482977772, + 3170548502598673091, + 9051635078330788474, + 10003529276882249760, + 11577069217621472051, + 1356264532518106755, + 12035790180010174416, + 7290470400574467360, + 9730223798703949054, + 4919439315078107500, + 7006732007125259268, + 8651238781158244804, + 8880492559216281683, + 16333824149946948008, + 13790497187718019643, + 7382807794160312555, + 6747016422563051260, + 15060501222354794789, + 6080732384987262116 + ], + { + "siblings": [ + "16098576320800461275140234163251020758418903219881410041914324177307511666339", + "13010652135607864576785134320080327503113507072796041482462703739009315850019", + "7110920363801440760228461131563493359465704564341298903415488023992515288962", + "21574242992848276071572657654443359314433021824125258867451940966320728653589", + "21628155351387849252579556058173710320408396605442859045864186233561719709435", + "13252222265745513064800072154873714627088789558813734460043992650132321760209", + "15906127549725151643802578394206982812687537937726343383842175590789831738746", + "3197624877879353994866181304985423471636865794487628019073926109539502264628", + "18843340925374217492222685124544767056070021847837690756572626172740874935529", + "14821077429276030163159773542801729889316830927461140776084196816156774959706", + "673925349471953599162107897329014244227327676351790088042881801296589459407", + "9641225028681283205559841166679581431197795100338638698723321591819285092148", + "6820075553169307886955018701587245799764945561178774581338598939993054537807", + "16764624565026491160058105860331758985628185675043486962922819103388825560157", + "8202776068377813129369873107087668973941685452090464570500891983014403488605" + ] + } + ], + [ + [ + 6883764507091677585, + 2911184707070057938, + 17216555944005553315, + 9182740647850274233, + 5394192163587691804, + 6174175705573467067, + 4263649961503382206, + 2703919427688480373, + 3789845793815969547, + 5421675553764401320, + 15365872029374916833, + 8514343746833564500, + 10820112304291856081, + 7478355987388922255, + 15425122477605008441, + 6949048038971876729, + 4247792235582184066, + 13298152142554985796, + 15212062228619820392, + 17927516974734467790, + 17915334546930668517, + 17045147632666469935, + 10565600843259818715, + 10585015650579941967, + 10572032908295567537, + 4650403245820828340, + 1711803010024762826, + 13708569163139391487, + 5344948379412272887, + 2303986198335664184, + 5211872940465439717, + 323616456542948072, + 1173534062397955561, + 14244107513227622466, + 1192774614516714587, + 1555574678542866198, + 804842532660403639, + 17653529621179723814, + 7433792664041026615, + 5101567263901931522, + 1243784943927808928, + 9500564043715086450, + 11458469220180271968, + 15877042487589079533, + 2439602690875340604, + 12217833317113913505, + 16070764494117741972, + 3552535238969915078, + 2410568504996021747, + 14056904588243476101, + 10190293535179499898, + 4755466626613728671, + 13370187026125655067, + 8446826891139121135, + 12483319237948533262, + 4705639661495274555, + 9444458987159758488, + 17482143070502155418, + 12424314462958152361, + 3676462094681593096, + 4126328204793962449, + 12196063877921559555, + 17603332148711198064, + 17748822974201001182, + 547711448757586499, + 13746120270129861722, + 5500272253582575676, + 10940549715437102012, + 15305872386278850412, + 5957688259926306032, + 9501906693819867200, + 15033881283726538627, + 9470063467954331645, + 16038279847356353529, + 9957901829383429324, + 9628244031408322483, + 17433809828566239918, + 15071062401568122823, + 15492760122219882967, + 10553280246512516360, + 6631492722699962636, + 18341174147662227807, + 7643298244288522767, + 16283803355866258289, + 7446920142932301873, + 16174372347337721663, + 2088226119120427192, + 15603365883881148520, + 1401564576801985864, + 6526320326101324327, + 12204386204203165661, + 14984410704709673527, + 14771202335807617832, + 15176919577208125055, + 7593037464291550273, + 1227201909822461918, + 2142788888328642567, + 3124363754544012191, + 2395504156941207963, + 6526129791096180860, + 2366443230766553017, + 14967551219648262076, + 14179667438425809608, + 11079110761616774343, + 1923687406128024591, + 16571737208542151796, + 6409506298359519989, + 12775947059651520586, + 4816295421961076149, + 11122813659770820975, + 2084200623760163250, + 3511993965467492702, + 14620479503018354193, + 9498023536908795653, + 11220934078255096655, + 17301128237332866940, + 3250319382573164724, + 2128254056979363977, + 16460333467798200509, + 10828942247461046062, + 15761839917416505548, + 17160312859668377090, + 2976687183524889233, + 6666337469598641045, + 12701186461039150018, + 16972236891956560849, + 2910262440278107963, + 5098633857327403223, + 8113538708650628550, + 7201173033041253198, + 9874121092313366062, + 9471966087915459270, + 6393783597356098855, + 2258010004059484100, + 9177291196913578602 + ], + { + "siblings": [ + "14594557319656095827483406293151370266401889087779226286176652714092449554131", + "1030809731548636963446734630218754854718702401116490700953196350569328059611", + "16563443613792929069194715632962283627729893906565689340039479469895942518348", + "10068160608606078447789473262416375053469972120741770167573737437373728369157", + "7489013912985248755944609744188000447340466313662926272407938403943657689487", + "758687537674191463346791150644680689345476949582501119036717441956275762748", + "9173476895718461613718327836145597152791419068411203431756403930686180597801", + "7760939573154570693632092395684691002064056232140668818719112452259175572255", + "8753357872040461526906782505419267255144031492627068873870734635075718569682", + "4610415051824367149816945844870126064315299457037492193735722548735119441232", + "2371205452459104729879096755153565839980668981546848146630435746650828269174", + "8037464694619956481702622943388894731305292394847049942141043356508403587705", + "9110104188221434226327183358528950588183305628762056318562407309958521396293", + "10093154066077213070647767647942487704981810830935702449948936516398525418254", + "2497471663736748409570312653258744536850930256338142348951847278601741281413" + ] + } + ], + [ + [ + 10518642243462505707, + 548815070445666282, + 7293008136536990744, + 8272748770049773714, + 9781850823124633397, + 6322611916773330258, + 10866175447095882907, + 16227929242678127900, + 1404858677622447893, + 13321464397818016168, + 15788423413925660595, + 6107167920809367687, + 8500674563609305044, + 14487915192433816927, + 13013662961172400386, + 13997817756370682305, + 3875623961526340094, + 12722675993254057481, + 7503803156806015570, + 6232443320808836240 + ], + { + "siblings": [ + "10064587806043149012392554638096870203173593684003523305221021259767543413446", + "11954296139233388462193471386504916972923491942922304810889440258258887590108", + "7026283867752590029201910774536859916960722414403383054116730975793428141791", + "9593192151601429251198486365410388361350350404839705915607249528615575813352", + "3356364672393883267543417046673208891754315995531601191141236988787146517478", + "14193648397186290387566662319880074104951609102234034174189777864852970211216", + "20979328491759835294500955845980978826697196338461260527109633469056681799710", + "18825702319509186970179625184132207746718325068260879023132997310552900765078", + "6766967502345323919855595485682471889707247140139060192685834749681722711480", + "20767665211610296348319808739551797610368403221012077050080510574454299882866", + "9964025429123904029505565013432602464986244301718231245659630986695637142325", + "12130805967095185064718469281715769567042904176058972496305766724060862659361", + "10740962831209658054248185024773801053264489437462975178954137483209335836350", + "11182850782514708507663168852334815987300351466394269125840641084010044664095", + "9756241381945036271968435680338247162172210779829357165655919521035672095955" + ] + } + ], + [ + [ + 13984968212846802566, + 8303708078769749620, + 9572258825527632833, + 1881343732015670857, + 10746584204957438152, + 4205503978992750066, + 3469495170103803895, + 18390830180789281064, + 5698278638177293297, + 679903702748029316, + 12697027001621944109, + 15295289528328663725, + 818150545718184121, + 8887820133214906278, + 8903406848664068966, + 5837655512507463027 + ], + { + "siblings": [ + "14951122998018115031013220969957465363229499329738416185427384697846205499204", + "17717701859182147135921512348816505637348601880399432763046741518538602699324", + "19898786841468366169062730561182929672678251733650594032806981120739639433684", + "8216794181524510424838692948566458412375934957482582256172176435819260327063", + "16454669679281815160348874322591584115902566875682823024699785159601064486030", + "6430504045371823638424896046058071696657621931886426006920872858132511713479", + "8007736176909402139660224564239538992786041724308895674871638856555556616460", + "8109857853628736268392701379784315834738559826956232623291483199443922248879", + "13540459981467504978449946121020976207309857856690878158554373288550720830173", + "19234482530672316436778660648593055103693363087656938460980484233613588923556", + "18614075084733851267823544128139608190029334092572667114575820997224566208705", + "916029228293750780871443848114243085263478471924198351701615007987711868187", + "14977848554645480037208110166582389499316191582828058157523479356447277204881", + "15041451182649754172399701864501771714825535979298038237583568741393971151514", + "16511584877074931376691137788532151200838010784485036100261305416481997496111" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 11678125066727359037, + 6650851045539071852 + ], + [ + 10181940271639889367, + 16409463926398433593 + ], + [ + 2930764738484027543, + 15322404136316045320 + ], + [ + 10658113776497449566, + 9861103382234896359 + ], + [ + 5302226060980925647, + 9102800616836517527 + ], + [ + 9998585869476289509, + 5317744650590167459 + ], + [ + 11679623045937318727, + 9293762620419767419 + ], + [ + 15146755789631279553, + 15835728571588058434 + ], + [ + 4561301672583407111, + 8450374904810782835 + ], + [ + 11292412217420759088, + 13777943886712943302 + ], + [ + 3032040626465615751, + 8494403973959452044 + ], + [ + 6110692975166003311, + 13858439303292566496 + ], + [ + 2227179713201696494, + 14156871298693776053 + ], + [ + 7170290976786804706, + 16060387032383617003 + ], + [ + 9149290391421961944, + 7565255440415677764 + ], + [ + 992446695504174732, + 122615573288738953 + ] + ], + "merkle_proof": { + "siblings": [ + "16809883936092299498034549811869622953928372820825617402744299712341093891769", + "7904904705327046897064136624710400028289170106140968078439042211406632469856", + "5355438188339931604015758705613280771085582910577358746898456987579797335652", + "18519282061323522978275677402856735354791164083646335323306428937730373852242", + "15519426444744079173384667243197601258223048864900792332712016101138025559625", + "14578658164623727035546222690398411739379476141629621732129163299120264798478", + "4994246661596132076035155452254914706730769858627918184603886950029386932156", + "644669670307289248655214378063031734669829221097983754089727043691926763950", + "12030104236046508456665241408714788575559622023403833033201698961050772046528", + "18117372382368967880371963742337875673332010806857560535668049492450950969836", + "2508173194060743267487444178949455021432130546557813875553202128821698246415" + ] + } + }, + { + "evals": [ + [ + 10186760231975833106, + 8331819443613419331 + ], + [ + 17961425423755134425, + 1780482394933796488 + ], + [ + 11398371838172184745, + 16542410678091899607 + ], + [ + 11455101241880928379, + 13089352379814724427 + ], + [ + 14202378298798919094, + 14123868806952405466 + ], + [ + 8708100035903582045, + 14953463212414891095 + ], + [ + 6631979421272640843, + 14867730721381622696 + ], + [ + 12304804124495706141, + 1030811052221934583 + ], + [ + 16012498338384998880, + 16610906023966315862 + ], + [ + 8329539130702913100, + 1890513892209401640 + ], + [ + 3937645969118545899, + 14085182144189313273 + ], + [ + 9909345251834260798, + 17898123956924534325 + ], + [ + 1851988947269536160, + 15707204029139359728 + ], + [ + 9930869836775099428, + 6073602330283856191 + ], + [ + 15121371187991763017, + 12430736051831469841 + ], + [ + 16159047967930914315, + 16086084237106109672 + ] + ], + "merkle_proof": { + "siblings": [ + "11545936526214609141075454292506159442503313650220184970061038583989705225149", + "14069535041943003360262458488300966911323609665871815080167488758486682215597", + "7667048906251892779270321859526869432518429304050181467398534390709094431463", + "1345865814281527116332983236116258862266719287245221759118749408698189999987", + "14409834343586051668325255907320907885900013319624584679016663833868448343400", + "4000810466364990937437813348135524648213984438531817482459461096166235939253", + "15363442323976642437421253418862231316165825327259227851739128814618412827037" + ] + } + }, + { + "evals": [ + [ + 12804797301910824549, + 11791514281755636842 + ], + [ + 823325388007709132, + 11425214548743866714 + ], + [ + 6361304756122161769, + 13496567826638459325 + ], + [ + 17013750942852313881, + 18345548039878240651 + ], + [ + 1935971027970177357, + 2964551127230049643 + ], + [ + 9346507936680111410, + 17838874349164658269 + ], + [ + 13154789094086939061, + 8589762577515263438 + ], + [ + 5706348371487598024, + 5077304017335421003 + ], + [ + 17471844892456379933, + 9457227514288813333 + ], + [ + 10071772028124635840, + 4647654186869000416 + ], + [ + 8044313103763928189, + 3788501423098972758 + ], + [ + 2110618491844977508, + 5231065785537502973 + ], + [ + 8200846100986208357, + 8358025172534175157 + ], + [ + 3604079530445442489, + 13706624990648286666 + ], + [ + 9614840307861140547, + 4078093401702293949 + ], + [ + 15273545139354039064, + 10207459611293733424 + ] + ], + "merkle_proof": { + "siblings": [ + "14684226644162424158560644593559064921696571332300351247536007705841797168053", + "13875808163015849766192671164194706993057601218759453900419384804360545228147", + "19822574360047158353849403289323614977115279617565808106495502774725808467101" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 4666296085875204158, + 12046698674550065857, + 14934793639057722968, + 12507059877972958842, + 13478386161875671056, + 16832669615826155554, + 13062788796267143155, + 17990678180766765206, + 5031205730410908809, + 16523753628137729267, + 12634461710053714717, + 13356892331423493587, + 15272374063670353198, + 387537529044226740, + 2460146741809685941, + 6915814827676797189, + 17370536090588766990, + 7891408836296786091, + 6248151692756427421, + 1917143091975556691, + 12947457537114541478, + 18174859624840925397, + 4981370882015735249, + 4303016077498835496, + 5648510514553810500, + 1050426612767097743, + 51903923112015143, + 1430278970976994017, + 15869594344016573399, + 14759316136322251794, + 2929694606650115906, + 14290426501073199839, + 11169156342832510460, + 12806669423324228232, + 6703584082974780318, + 15435493459189406382, + 12931828789259755824, + 14028414075663998223, + 11595213177709828295, + 10478602192007603893, + 1528520771632612815, + 8707630557246629099, + 6853129126086318580, + 8467355113427144642, + 9946401919676205126, + 11606584934603752028, + 2109476339482152733, + 15312687188717664218, + 29516952205502943, + 17486585279974683123, + 10956666805742507637, + 17048744608693209823, + 5864431028318390672, + 9327581544775938819, + 10467277905865397544, + 15750879850743425014, + 5382126547624244731, + 13981200981734479759, + 7218713207937065704, + 6041597012542992319, + 4647769157538563001, + 18310325315469366485, + 13820044870596922645, + 13564468871804187567, + 14001294522255725182, + 2247772350017674409, + 9211417561028149971, + 10940228647070596798, + 5924684515745247182, + 12419586788453581758, + 16149604206642025119, + 11862260685891541007, + 9829238128729898954, + 17056158650901878650, + 9856912488784883746, + 13079442177233644840, + 17203981494562106572, + 5793661134747705052, + 1519927531235794722, + 10422776993959301710, + 9079864647802299065, + 2388749471794050266, + 11061079863582956108, + 7418326394659037438, + 1576389625397021570 + ], + { + "siblings": [ + "12843310181597628167787872592035808099123495224466976074603761900732955879070", + "5616878777749686567127653552629129944809557276133622666253193754040982491149", + "6233489290222310540403421629350644883177201529051820503182516512196214175067", + "15857472926822580143577832354923989294017810853148113286849369762820104202222", + "3952392520961547667604722281950907922350372306047063509691005233623149039447", + "2034879329582062591391259314036871403882180328557377559231825776045427606941", + "6007326751856897895754805059515722099622226919106239083337764009077920358516", + "8502508721213662975008637492441948121642413762263627898456156219165893824023", + "7352334134258989150966437349061600419299444297367110633652220829393977044587", + "14711793733536355197459179060836425425410188027912529478764065525130818456179", + "4333442219549873123073755789919126924633058254603787902403934490540488148335", + "142299003768283495189735897930387223427294223812348030319259255776868241252", + "12571694684530635281079355794402406453870274086247415318427702475123687158339", + "7259261146491583556433147294627362324020764876258437374523104787569886277429", + "556014482225455206845071763625568440261408250139664067075792940067786262422" + ] + } + ], + [ + [ + 8244657107805834189, + 3810987191697070744, + 14295349848829839022, + 11269275848967928575, + 12175890901317351564, + 13243308750516574777, + 17200687938350894582, + 16925199505903961324, + 10233864376762831177, + 11726109009112504788, + 3457532773390641429, + 7947407638557268997, + 18425091614836452221, + 3328527237654513083, + 13074058728647133262, + 9660989735571027300, + 9427950892244931156, + 9579453845132736047, + 16055011413594392837, + 10691457944862183781, + 18429363493227670556, + 13372051591881197714, + 12051813711440890791, + 7746363211156197583, + 11536171855179714135, + 14746458406096121017, + 15320093723314293040, + 2047835827736500211, + 5684999219170441975, + 8938083629480533614, + 5625317044078482670, + 4685908138345509311, + 5113827983231011761, + 12590223984507790422, + 15546914884703766164, + 11177602691017404421, + 9936793966272348115, + 2484217608897180676, + 400420780486527711, + 10021050435366606930, + 8505115805352331750, + 1071861141667358161, + 226065077097896798, + 6921359724224822993, + 14417610032599902302, + 16498870338167168313, + 17758588190638487209, + 11024849192519144435, + 9942112880338630713, + 6346110132438169831, + 13502462268333404047, + 4552677191212758417, + 16144090787301556415, + 2969837251209667392, + 751164261909189464, + 15104815006387753206, + 17380808488371682749, + 13809686549372681893, + 16677310627083637359, + 9415302667454135971, + 9969498150121413915, + 1230795945907316507, + 10535384418693310284, + 12569370127902156508, + 5928093208958613500, + 2271099796234363462, + 14426944689196324367, + 3857297244901094624, + 17578991545295262811, + 8538723465307413487, + 902725073633923752, + 1483939468630563379, + 428456926944011634, + 10021367523555131815, + 15788766324700530571, + 16736636053937667522, + 4663814757951502843, + 3685847994707454536, + 762928829125044368, + 8965516031879417075, + 3693255494394337100, + 7161124226495109538, + 14316723401009934004, + 12202926995479621847, + 10313258644581709623, + 1163289960171225434, + 10335055306553098072, + 4871780602410529161, + 17899391190239228557, + 592692052348668860, + 1044575163767934483, + 14907887180042629656, + 7942846580395306071, + 14111566211387694397, + 878373099486838146, + 434173922587888479, + 6137272051039381162, + 15477081081363726057, + 1876046314749941626, + 6708558803541755430, + 14875128752935196907, + 4151290433946562825, + 9872198096364467673, + 2098033385947027381, + 14601474483835826958, + 15280279084269835972, + 1179125259608345171, + 6880658931738823247, + 6882921126229325386, + 4178946392955528504, + 3808293550484010242, + 7575181454541228230, + 7294444490658642495, + 15749639195070263567, + 17257588414181154193, + 13136144828324897252, + 915940319099719523, + 1947869690801068556, + 7988647625762103221, + 10416754432369870034, + 10631976906596107360, + 1956823693917462386, + 16853070633544177872, + 18181771909847886638, + 1485977679105140659, + 10355920963699383967, + 13928244044627964794, + 18426198827786163633, + 9185076818641208700, + 13464120702104976653, + 14331112949608113267, + 2819577204069669190, + 14169813884233137846, + 2211449607160511884, + 4541885386436171234 + ], + { + "siblings": [ + "3627775528008399269646766281829425923179670627925601443218870698384076139072", + "12145049874781727141303257973177571613883676952704365073427409992113434829745", + "10322159851742767392178209444854723997087341402303992677028318096890096885096", + "8933882383140792810345690326185333906725736135881577498979016025311973394248", + "13956583988695357782088988605669354823750884344337740728381575665781395191570", + "8120309308697684674454414725794913642969510474600998598005393334145822568748", + "1610463310363161575197611584902897990826417017353362514354644753894798499873", + "16477852681122300333953424460249293572985783133039225959093480645799756731598", + "12643713540637178600884485089656000181440298453967527389419836823531507177046", + "12647717414171957556039234284671782010502698054875228529435834193385462086212", + "5237502886889050556992317130257946553212247951014845220214042794199854968944", + "10005050274005085877891189691372088242850470884778897863043620105119094259029", + "20801834812438891647244614297627030319724592599682441036868465573068664379594", + "13961713414970689766038715535578914864491578257710659393624041707779688403041", + "11156197755500784698495700002620759364593708928467513960318566680797754678399" + ] + } + ], + [ + [ + 7050083555969663212, + 12482307847474650951, + 15241382120545349924, + 6720900298226146387, + 12791592441546285175, + 2768071809615766501, + 1651456146062664655, + 6100633486299505419, + 14277446534767525705, + 12898470245075326996, + 6843596264818360638, + 6752795523445982147, + 6640246532655598642, + 7101069532599557443, + 281105467371035989, + 12112477656385772720, + 3672150124246952310, + 13116166480260170070, + 2578779388086734808, + 17423230066246813963 + ], + { + "siblings": [ + "18483956883131028162052540528713674107502749538273045815680259282328191960064", + "17899795493677852166189076868574860190670869899917139123225897601521372006262", + "16739945623616605382921685684764970633896108252887032709464335131427420753807", + "17247168900851813673803635320054500879525283423062445593430133605219191577626", + "3577685617867214620388942614843824318323779099916308135245471780514665641799", + "17727989400965499599388975580530440226882281091665503416842417872376121629237", + "1613124408436345182072847548250066977516742622403189702676563611354718016993", + "17148769603311144427289884642954690960480647380701280171917180115348085501389", + "2246323029371892635213028484511321804302788360098149109952023243771530024592", + "76465848395849073197160333193627479976918230435596887733855429354591205397", + "19009200765711899170191519071021225829041241621993778194455736343430407756696", + "14900353967136987861639309293667346656444000069346104462503847065636247882634", + "12103148634962265800681253580182640717196242726957080225175404171015346947690", + "12564599192422984557089912730133046964519358458431323927877158097156712048314", + "16360379656170844829987379836695720016891273319464586825912596937064816939404" + ] + } + ], + [ + [ + 3307189124637146069, + 7003752248752928259, + 15392627954352024532, + 237411275744470772, + 13111199689468514785, + 12138729111912546655, + 4734636405381031939, + 2372134250684864854, + 17299760317657525932, + 17000546503177836574, + 6188625225824118206, + 15097662619717019569, + 5417560417271310602, + 5164782535951152114, + 11528276568404103747, + 3408343942710240513 + ], + { + "siblings": [ + "13572388751951533435968081562546321251989689208551843071661619057433683045675", + "1419279501089551677410948764831941717514988027860074124861234253912708669603", + "10368601496307830218895657118370537317372316225150152822871425511016652111479", + "6958675018153591698695030399715744871462009410633997070059125792512829263829", + "21620412618868136544574184860429739382729666235569002738935465313439576459452", + "15727037011715769786858048415528583336231560774852531665704059260742816466668", + "6331363424185524587969041245842702178987322628987779398415519148287528526979", + "12383833179582948977266380349012084300956104336140894327920334167533137569208", + "6734016002086473499307693204534990332928768860763778337368741547573651675511", + "21446603919358711117742511855937824555008387937542103219929237274213931958274", + "1765489810505535072963085017408303787471539345845924303981971111146329277628", + "20694890363332494324313002303704027378324983632491345494063636293543334898707", + "8305450246074449358240499695110405471673483133885311182542621110474748927264", + "4596559734310097090570266447455244665694379172980611410025612660591013992821", + "8089882554769363750909241339149308451214526495976726839199864230162139590943" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 4502505864342599775, + 17674918778524811378 + ], + [ + 3024883352624520881, + 16988971784598331955 + ], + [ + 6868411096920375129, + 14977236996292769171 + ], + [ + 7588582424723229088, + 1040119015357067667 + ], + [ + 8911881623807613605, + 4660760912071722021 + ], + [ + 16820007135298285742, + 4330225872664254870 + ], + [ + 7897895966163965829, + 5832547502185163331 + ], + [ + 10362036449126081406, + 11813572852501656827 + ], + [ + 16593988523649368644, + 1871031031013524542 + ], + [ + 18291193751791309976, + 12695265966774260314 + ], + [ + 5438457703892854074, + 3749430776254763577 + ], + [ + 7366216244694903868, + 10731081896042887088 + ], + [ + 303007043047231580, + 6536203047930969327 + ], + [ + 5745245283895341803, + 13492591859015046711 + ], + [ + 17263237054255557360, + 3429584619013770170 + ], + [ + 1237789932243440120, + 3262861172932544382 + ] + ], + "merkle_proof": { + "siblings": [ + "8037616331106335826942435339660243280366967246523756845898794048643902559340", + "6621038400452075764960152522346036690372768163894496262399971708095473548077", + "16679877896440944478804506579359473317405520707158086894741027616025335572962", + "11065166441738145556694030767391180343798085262520696875660981513473198585182", + "2905554611196877266327311419032090211165036814890205879873853137762178434194", + "19852654746524115531924628858301571447779429557312556416452373808118791224902", + "18251477794992037803406150204042323397822418652279402654364759950106577195581", + "15774610817966955190553489930980759044994913310947460582277380766492629630434", + "13164796371167406880310291208312265609729388783097653529656198215359068215792", + "13681465899142404842250467598726134513392894796334842880113935481224456953718", + "20502098578731645783537896829965160655654455763506023273127418871422568096930" + ] + } + }, + { + "evals": [ + [ + 6165880915041673008, + 10414976591791806465 + ], + [ + 12671951660117067992, + 8864087315657738321 + ], + [ + 9104098076315509823, + 8799969541640170023 + ], + [ + 10900135052944497662, + 2021448013995599161 + ], + [ + 9212282090741040512, + 9092590583999652034 + ], + [ + 9193757412324596460, + 12226514036281891713 + ], + [ + 14616726042497778970, + 3252487779437804219 + ], + [ + 6552281744677503809, + 5529542651192989778 + ], + [ + 6982827379808129104, + 14658886615987600769 + ], + [ + 15115842200327675876, + 8141186157571300163 + ], + [ + 13154357367762699729, + 10043239360142531571 + ], + [ + 1690924769297290171, + 18112677245414588492 + ], + [ + 10008693474354836585, + 6226564730800393334 + ], + [ + 4976818012676922600, + 2394056080735452130 + ], + [ + 14512826138631717568, + 4377445086729929930 + ], + [ + 3606896045298398458, + 11541304123915528605 + ] + ], + "merkle_proof": { + "siblings": [ + "20577353258283362135035532733960845654589511848053157566957299556904152368321", + "1499489475580319681197370394977125667928569714321761532383362015061797740014", + "12583292064756460028792713074490379622936491047551868675296495451735915546092", + "12945036903860173879617895219137115610837643608737274720174248175361918930891", + "20520963347445563456039935509205119427820765260906408881955631791153530870891", + "11052957557186527624512360917268218386725290652182320962585467881361459972849", + "6586843574814649770112479065357034701925116664107165362651349506544267534684" + ] + } + }, + { + "evals": [ + [ + 942105336686261919, + 11659473347355376567 + ], + [ + 5699774564841560588, + 16453810875613688215 + ], + [ + 13691203514633141856, + 5630645797405986568 + ], + [ + 3963923058773399329, + 17104413148780542779 + ], + [ + 5409870764106015603, + 17122263967147660848 + ], + [ + 8284685134848448167, + 14713398037869864711 + ], + [ + 18147638825231965210, + 2831068470352712188 + ], + [ + 18089236438755208947, + 5475698082777586519 + ], + [ + 13218710646732886303, + 6358867323963655622 + ], + [ + 8872621044650668049, + 9306538188603346357 + ], + [ + 17513220748882479720, + 11312142200589451123 + ], + [ + 15971034664574145709, + 13164634554544404533 + ], + [ + 7187274488395561469, + 14961388476321762496 + ], + [ + 9278089620141293099, + 12396448962094722068 + ], + [ + 1765730627576645756, + 14962484075598653481 + ], + [ + 6230687091102239503, + 8287535065326683828 + ] + ], + "merkle_proof": { + "siblings": [ + "3466255772891827503719189441256226659746958676342491594200031131970129891837", + "10498674348983749143748215814756840671510033648968898487784395331160393525529", + "21822757091224340489372163925123183667636108640071260672617680181040908990191" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 2762185170973325043, + 12534501259892774178, + 7758341132974165124, + 12609174679728770894, + 4661951602881992615, + 8938472510592906902, + 9284469196971844046, + 1880331365123696998, + 12291449544792471761, + 3252002322786228470, + 13366054649777643741, + 11091475829438524260, + 15258268881158583194, + 4984785643385176658, + 18181768474128108981, + 17133990194125370112, + 14980692100455225088, + 2205233202623792347, + 15709416786633061542, + 1166939267510210497, + 16164959322028397033, + 17502382356339368412, + 4434339884361538093, + 13820747606891621420, + 1249162768562278991, + 6077134350871662467, + 13362035232156932329, + 421377088247076011, + 17694959070031641765, + 48379899845581000, + 6277017271643522662, + 4505435996607252008, + 12415235242831712524, + 7103119757764854085, + 4100610074790307956, + 14411494031219679916, + 17582149725351637781, + 4647938168233072773, + 2933111480645995855, + 12490440409536572578, + 9456561651954687821, + 4443001115690515708, + 3284350705488809497, + 12171480337229767883, + 4165535348997572807, + 7499117377727078628, + 8909089119263314876, + 10533844700874059172, + 16619989792244076665, + 12143605219726583567, + 17519097519866319106, + 12366688474555266510, + 2340607593032475061, + 10183883583651688572, + 14588758026456231165, + 2037274121952940203, + 1839498540124917735, + 6630223321788336645, + 6800376934584558389, + 7445147743290318151, + 13916027374906767316, + 9243927947823283428, + 901918289399917413, + 11248726222192127915, + 16207639326215019464, + 2101319085223500649, + 375564392174021205, + 4065290667974944919, + 3381062472713330162, + 1715019340813955350, + 15671743379451450857, + 1999974074884638622, + 15371402796270694940, + 4635812962817381749, + 9011130005956230286, + 10249225402037716908, + 14089418645716701560, + 6508243700284313814, + 9906535383136840896, + 8710191744850799610, + 14813196253676549422, + 12388561559949053591, + 4818869848102910118, + 8304272235882635047, + 2441154987828035067 + ], + { + "siblings": [ + "21884372098957381448634451022513458513068910753238421015120665147402448444137", + "20584109177734454057380445262741444897224102446756772462040111624184565134732", + "10953036183181767751861117998224617168819606639714189694010097494397123752679", + "3591074258325080559990841389943386290029288436784470646488296256846768730301", + "3506812189008859673892771927525125826055251320268952881828099912761021783420", + "7783276736084442589211806802569021547686674246577722901883868878225256128895", + "18178535832797418793398045952838477412629731520009093165610728721820245122761", + "13788714983831677727061526151178571621804264996383372595594631778445916222858", + "16144349633909348557576891788715652024102026976010830111868083789141409590549", + "12392789522119309582950061935165521127035900564044418495870645784548645155529", + "4891223524086802306250901373598732817708044053551423019951751219910509531534", + "17213105790916510964590466443075827514586567180743151875458222454678957872718", + "11141760399352078151002503496181227964776221933623681872576921681875992014544", + "19806208784954409734469247277629097141142030413853646698178153742792967376318", + "6073906269791676875899573444933946542740534650277099541204639437452468772732" + ] + } + ], + [ + [ + 4166463855114648122, + 8773715898791166058, + 14116255282342850385, + 17709547176360426247, + 4110047542696016874, + 4637412135403936489, + 1653006827822224348, + 9481120191826539230, + 16362715027784901272, + 11348859016059592381, + 11442270568123687542, + 4006051492765324485, + 13689295073799357127, + 3940291743922639236, + 7119881234923858295, + 1069675265419730370, + 13873847998545558197, + 10466258917542948728, + 8880669262757468948, + 16558503278797202137, + 13101844011475561527, + 12350286598449591542, + 15981942006446542655, + 2745335378098913867, + 6920422683250837596, + 6146963603531335582, + 5309622160437369972, + 6357725873047267391, + 15416071263303253292, + 6821198968357265144, + 1149141088649893662, + 9238492507394593494, + 9372584748619235418, + 5792318350186041852, + 17102536076723015141, + 2520938311983582267, + 2619789087779461084, + 6554174067763342323, + 14669799944796196204, + 17515651995303753969, + 13257383353069153826, + 2489629940878583859, + 7537923184634146747, + 15728480569852630217, + 3512994597173464760, + 1755727682701329252, + 16204419122532445894, + 17661675499009761989, + 14827448938600316161, + 1314711999729270126, + 3209541717166060695, + 13170829093584511020, + 10248619486512941679, + 1185456609341560085, + 8467267612029564120, + 7871418985060226444, + 4999123016316238721, + 17959448919123709574, + 15254973152822083731, + 16892372419019831681, + 3656265524933641469, + 754972806066607518, + 9861595684984760063, + 16398642230294910640, + 1858817650967372632, + 6948448107967905971, + 6376499554129380656, + 17756103655715495488, + 6259760343927377291, + 13044636047644449039, + 9383279036684148816, + 14858414036578698095, + 4538361463348984924, + 5364141512743336314, + 14937972799892995839, + 15249802522834642721, + 3893552439648139927, + 5900324267024286475, + 1025832839767560360, + 12568857750475673254, + 11732337147273415628, + 17355262350544158242, + 10825461849861670464, + 4671871018595817484, + 4917534562290967093, + 11152981048101190452, + 5646414827163336951, + 11722619495093675371, + 15211611738959109248, + 14782483119343145543, + 15525034398591704928, + 11704901028784400905, + 6448612240565384449, + 16438377980858955566, + 12709874401942667693, + 5724007072111558564, + 403416987919912943, + 10282084828729078379, + 10549632177763933881, + 10818184557628670244, + 16639655754346723940, + 14834000215090030539, + 10174406824297994718, + 2460703670430694451, + 16723860476173490842, + 14111256360865590233, + 13049369735691371906, + 11695471343094300786, + 15749490291167952249, + 5460405456619068888, + 11434603335881466604, + 9049576726144893550, + 10739652685150547129, + 11519336221485041128, + 6946644433596056962, + 2254255159195969269, + 1360799587969225560, + 7509785891965171960, + 7929138617220024093, + 15469342198320935774, + 16579450672267573571, + 6173903004828390402, + 2628950407239482664, + 8079994043403348165, + 880426925276507384, + 15965441164996216423, + 2616553839511571956, + 15144665674357870804, + 317811715736546046, + 9936740136611322511, + 1182259730959249220, + 18157395316795347291, + 9773156753929329390, + 10306269297846929517, + 16086192172403657375 + ], + { + "siblings": [ + "6224698143773891277968290164262471568494793283807576545457544089542850648972", + "6834043505527233168471453654082675805237633358087882666256113669097839829696", + "7838589235146589662221501094012784123205542707877136401741025046676667269645", + "6865786208002134219327381497050603809445732383276791897180448944666181690915", + "11759655993728567050077533610839484882128748781352473242885073511313252181005", + "6093654665535299390941296627898190970055191460088190232210522310548532661838", + "15006186876824131003057713233515445425704312013727425189411630004890217825681", + "19803900423259261062613079659857238900296778537881515233622174464892779380079", + "8364982451693815275355917364040179920003714400592002457658753294116221058182", + "5597126858727341610849188658305095260284431292174716391828907788461176087702", + "10590010678055804387258900477932021442096386205776801011729071404172984705812", + "10315467197118066981351065314566374586211071547016157378904519036458640424675", + "19309254529121479095101915030111705332411934264492263067011811239974754723337", + "16250179922319819287823076944460187301860782014798617044944555627542808148420", + "21350147221983004238024545747142193098597111884234775353164264975765735566260" + ] + } + ], + [ + [ + 1744576801412836664, + 7775678339301919334, + 15577973435306362057, + 10403886516399101476, + 15302310100935294051, + 4390411226787806854, + 6735546033251603753, + 7424872367341648217, + 15793371594703246458, + 10734831717003514902, + 5252863590539448632, + 9115672055241143663, + 18198057874901010501, + 12859982114709301789, + 10567184098923760247, + 1434996925770874303, + 6264598661911756793, + 2445207775611912503, + 12092560594033128359, + 10875846623794801905 + ], + { + "siblings": [ + "3425687248716317261377347481402708591771028580915786262458275905758784674122", + "795165619853473609466926283959154018508602742396728884115264094220542441382", + "10485604699326910927039413683893472284112288045542900130078741920684578330631", + "17394147479786239904258434818235805764481853614139142824239632060635397058647", + "8809296321698747770777836279284580427066624572301571372471585289409856430904", + "14862735445513938606824958162149596929751511612001230229899733918291421051753", + "2876147175552660004410319980120003980813787640781708598574575681206914498307", + "2394544006907316373041879070193270036560361786136602386448990709905672220455", + "19977387945583885146202209704412181258422803562396305596644063245906432603375", + "7782576160408996830364751191820122338926421957249931304776893043255467873370", + "11352575994428692830597672167061838940628441755401025329625152913074249728113", + "2451699674296507157926711933662563811813878170214410584142389699213204862858", + "7290443706235617684379238555274793270467261999185530106030871518779189223213", + "20600058228735651882454980703270744736802342765883581289571746013667099646861", + "658941663198432397803120141322894930474580764144221801577288431057619464403" + ] + } + ], + [ + [ + 11687704647623257855, + 3200694280381345052, + 6566009103905067675, + 10210945673817922912, + 17522673471169379245, + 16964679685469091525, + 6699234772181651559, + 5121672822230765517, + 15961286883019380733, + 14701524253587509991, + 9590473053509283464, + 7174522001736169930, + 7454954361265537833, + 12397483745605211923, + 18280548868371125813, + 8615743458814904046 + ], + { + "siblings": [ + "3527926079375648211029701192748520595810829938967105798899568784737907311611", + "6153784635997544045416210399802888872036376848605085654515967539056855314513", + "20526613159569961114686165488476401197140985165351059353445848448038451826812", + "21640084471624318348487628298133863694899439618279163858964035840896033364677", + "5992102147782263899669887413620901762350965786032568851549918654042706685873", + "19061109806888890285677991566774208579202381591471262825181227449219645012379", + "11272064082825567999493924525724629359523050013390535040875931055033634559941", + "9723368513024773693592018691044005534548481461916691279664665444066125453060", + "8091865324757286760520506558239720709684864962198939857867109931116293455068", + "12322197270039036279657112461041214943178589686168314913829158041001764717983", + "1658070311584776210276380667699955780978337831029139070649222706954942204726", + "13172487790873371890681255786349787366857456340294160890959524583330161075605", + "3162661778081416512944129316199363483519916381156697574972537652594428645382", + "13025990743401626470378253476949955436541591760444800997694043019783663826047", + "14659761136283264784834817663043427549295306546438220836876833506617108801610" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 12930191052938751746, + 8414374791740863496 + ], + [ + 1005568129071102055, + 4948067719136373125 + ], + [ + 12678168089066024696, + 10643371652191750635 + ], + [ + 2360549506647732339, + 4967281327861517647 + ], + [ + 6858577499317296155, + 6552425515639353264 + ], + [ + 7332390389366934242, + 14246540800944207571 + ], + [ + 536466299311621503, + 6873740808570919165 + ], + [ + 455631288924733122, + 14315249918773144732 + ], + [ + 1025116125596673378, + 10692376170487538711 + ], + [ + 18019507397930178659, + 15767894927708763063 + ], + [ + 10334085970342973760, + 13814543596516957172 + ], + [ + 5383566919698734521, + 34105753280108993 + ], + [ + 10777015927069196260, + 5420562146678245143 + ], + [ + 16646595025735694541, + 11691057323072125316 + ], + [ + 722491026490877856, + 2229767640455572692 + ], + [ + 11593477452184901318, + 17438492982349311353 + ] + ], + "merkle_proof": { + "siblings": [ + "15870125825844413155144129431032470572733198096530402602698351428763561157086", + "18967358898141791067298780011587427273360627390382288581749510714759253980510", + "9717424222607306802604798431892186543109713422333950894435706141021031888016", + "10159481575541794965953629523482867691548046327428562937314023630189350882867", + "2163641389022996830667847354082194352265461563431947834980428637306590521961", + "15091065650728368470962986195151084575964052871071387711150768271761663171294", + "5428718849114767055459957028719143929525203338059629559266391641464466670813", + "1311895754888455734009315143176089230416439931709315763495416422260299718857", + "9793494668813368084952318734230672636969417622117134675047971357862118377930", + "9944272248565475640799826248401683184022120579315681958482411040959115389725", + "1626546991392364225466239524177844634939380341555748275812186694828077150411" + ] + } + }, + { + "evals": [ + [ + 9522235695854739240, + 1872230789812789983 + ], + [ + 9420340616011568233, + 3663437372833735776 + ], + [ + 1745278910321336478, + 3689116090393364692 + ], + [ + 6532553804376256650, + 16065673637024168401 + ], + [ + 14153953462186611346, + 4699336057474513384 + ], + [ + 7904261507744806780, + 17990400176054135379 + ], + [ + 4138531344776934999, + 159204241869736618 + ], + [ + 10099154292099506214, + 15883990520816096860 + ], + [ + 5971626440963069198, + 1833764977467167749 + ], + [ + 12634443255164097836, + 9261270434857562615 + ], + [ + 7931230010153659721, + 4650872666941794127 + ], + [ + 18272356811088093790, + 12607093854339729043 + ], + [ + 14085647124412327297, + 2088370355679371039 + ], + [ + 165231577534738449, + 12887670386644818605 + ], + [ + 16863231406675633194, + 5778125613286642670 + ], + [ + 403865080414040698, + 2290400710952153717 + ] + ], + "merkle_proof": { + "siblings": [ + "20315520948165101268305857257478171300190649339322378981204535263211205367459", + "20620012131868885209847710061066048936077649290125337046930752909259762190773", + "11055519993756587964202687608098466616594380208513791806162833846644428859038", + "14163697448748835083454969973222702788350535758567041519835945588351962779461", + "15540496879674720653777084403374066391028607544584023411613528601222631216216", + "8536504368037503940373400178978331753959401088574078468717572928309239475939", + "3139339184894030835778747528358446947002259386615235480033223465723993381025" + ] + } + }, + { + "evals": [ + [ + 5881370168849769487, + 2804713705817260586 + ], + [ + 14445762822570224939, + 8599445207686480587 + ], + [ + 11669431757619500988, + 12860346700293019670 + ], + [ + 7598866090172931794, + 13097920067702187279 + ], + [ + 10251085817287798224, + 922082209852608179 + ], + [ + 5643727378787900392, + 8161135110132713890 + ], + [ + 1590556815141091669, + 18296403764885363024 + ], + [ + 17154209342682017508, + 15349935923205235190 + ], + [ + 17946743270830966199, + 10510948575764269738 + ], + [ + 793817898917817645, + 257834190637872213 + ], + [ + 17115878006226010290, + 6570739481728658542 + ], + [ + 1754777906923721167, + 8219905260938089751 + ], + [ + 15157275663743466113, + 855591839005850576 + ], + [ + 967415607167454020, + 7759699075529343330 + ], + [ + 953419002200034727, + 9111645271667752558 + ], + [ + 3318325094527485884, + 6202139472704929986 + ] + ], + "merkle_proof": { + "siblings": [ + "3536499007960634519383246615229944909687338491625933249276686150387461774945", + "10306452748798346350840741253825574805756236339901263984704667137963364935599", + "15133504688661133367561648604569841084340052563891220555897207477273160502148" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 15734994344851545654, + 17926204639890615321, + 8336273181811317471, + 5603937978452080526, + 2558003012019982689, + 17871329070065246610, + 13097633630680643297, + 10262636100272395018, + 1977824770961919752, + 4619762321086389803, + 7279647874303933180, + 15490634383330176495, + 7427622235011487279, + 12281107279567175761, + 15468457960316183743, + 16388658367693306414, + 9730180944715691436, + 5403400508239171614, + 16789093182383418013, + 700520776081452673, + 8279502234034192154, + 14478926194712702466, + 14749718739034074831, + 10658274166327167153, + 13954333864532584726, + 14960307039426058144, + 115613559523262454, + 1155193724446520916, + 7645515980938872822, + 2165426652057530231, + 12248899724223031114, + 7534068378300948625, + 6515966788908096841, + 16689729021321289902, + 10134453356931534419, + 4497490132830403984, + 5285623818621159676, + 4435778161103505581, + 15804739600964572664, + 15504384073905213388, + 436234541329405505, + 7599563797701559682, + 6155295982335418179, + 18039655186232930095, + 10909327984097017390, + 75226129674889490, + 15563871488928572726, + 10560676420998590349, + 7789090067322060993, + 13425337492259516338, + 2196151825100024877, + 10291057427716959559, + 6964610462693312601, + 9955449441240293392, + 6919736095352508171, + 11575730673084724660, + 8296350000199230471, + 5982285724650255450, + 3318391941016187915, + 2172621499074014144, + 14472472589427192717, + 6030221012770892038, + 6793930490185344430, + 14702265840216215982, + 18418205581647675386, + 7466789549237577875, + 12372804722066424898, + 2136293420000751144, + 13882780184499903303, + 5557267148323800991, + 13135735575086726385, + 64749376791243672, + 1932340248586692344, + 8196064160230062259, + 17877174000381458080, + 4488667865660587193, + 6030345474649654182, + 5897201175915777182, + 5460741977952616621, + 2176839208939224542, + 11528888679987345889, + 7453366316309021169, + 44051059780835993, + 4266647619218023890, + 9337614108350258347 + ], + { + "siblings": [ + "7266285602338956589145393304370313196064393055269127481177763717949753066830", + "14246464971633317499896734667292506700953035780109391070684355602413773991247", + "6671085667208581651095948867747602759704384166101625550042150874446952437985", + "1697766995585060244077929437445651125108070525756672233125526063828826363777", + "10712539229836010112925916118238562861518884768748933933608506304757234499864", + "10597455498027278517342434603981974180313576414905459534716512897587634966180", + "19404852817428402625515705701492644005044456017940042517980762353989316889290", + "20601351738037398914499642306748215537140895529059788736931748618617266669510", + "15189913173570074064075063008094240239820147388455919778845674056811833967435", + "1069961814298726296342545039650442669387730064613337585451884019775697719463", + "12016888560880324670240521117527456920921074136444409194919545378804067572497", + "16426295232017832515441829236083994945833618936082823679074376084995406327297", + "10549379018772973921751775105424821955586753358481591921419354943136835109202", + "4184736268189830955994180597155920276418832968716611508967357003772473720263", + "13966503057241127585308245131050043160452726140594781457107986511168598424199" + ] + } + ], + [ + [ + 5945310056576053582, + 6400643531514596464, + 7608255419628041356, + 4421569385108344798, + 11615618412921838005, + 2623523310378049585, + 14265918776899976638, + 3948036310639887758, + 9150121558736230544, + 5532297547189401279, + 11456724661625669832, + 13381424480251675792, + 11050245058581790227, + 12167245816321494038, + 5130032504553667333, + 14485809765677845547, + 9027709751589976517, + 6677205305403617729, + 9770614104742811158, + 16221946297847860991, + 15530883869004212070, + 3003527330562334866, + 15270609696014802199, + 322313370492386708, + 10546670752045964015, + 6004091652883271503, + 16929492482300885197, + 18043311220852731226, + 4625807614928667937, + 5647492230969516256, + 12530437085489382810, + 12593458746635989749, + 14304482432958941937, + 7854940176154654127, + 4789058515501011816, + 2276194198339474863, + 177323405866817263, + 12140640509240566746, + 10946555197281808404, + 10517101784001717715, + 11241449948862367416, + 6271824449352415553, + 5951809379956224376, + 16593194159368143891, + 7673693345436858814, + 18050759288028826261, + 2431595705547132974, + 6406850932425360223, + 12447193238275568902, + 17396662910345834677, + 11856276661351895030, + 3683866233090958052, + 1075974024745541718, + 220960642544567954, + 12451837340303442988, + 7857773665097584634, + 9692441344466172409, + 6924580663173609853, + 5095220206630070873, + 10570764989919926325, + 8712298273551403141, + 6455955958583087375, + 872565136033885371, + 17285268526865251002, + 10735733524420655777, + 3966454871753338674, + 14572550454683978692, + 4399630582513392906, + 14551755196487418212, + 3681977498632832921, + 17938037582956055531, + 15769842595549893678, + 14336447678542035068, + 9677835776402346741, + 10068314860600242139, + 16935057794525727617, + 14403442513840532591, + 17685100710132919710, + 13163317560600246509, + 9487120710240777745, + 6157197708628486813, + 16669385953948316894, + 308573303144824394, + 9745779627888508877, + 10918081587628354720, + 9276825052590271124, + 10986619674905308488, + 6848745237317927270, + 13150549316364459330, + 15396675401850313171, + 11616357874965480815, + 9213856438460240801, + 6448465045563345792, + 13795923236779471769, + 16938426844605940769, + 2776404091266122549, + 5789345449022729864, + 7498779493279900885, + 14875300108856798826, + 1667979084875880404, + 10476857971389751785, + 13698647306983701462, + 7551242000272092815, + 4899496838134649335, + 555748634838398366, + 1273014901649650338, + 16849779927450441980, + 1636002576661132382, + 16654627817924512729, + 2438707161699649537, + 6018634919336858726, + 1335354663047297696, + 13056005364796505180, + 8648608449668382781, + 9250087481680171940, + 867969429417926168, + 8538316501830073504, + 7755230292686469483, + 5286819797739954281, + 3588498544231017100, + 3762285236507522795, + 16552639321224232929, + 752272654965103969, + 11228815461790873650, + 596178159901484532, + 887853681247018421, + 3404974340253111009, + 16809640262691075173, + 14572530766229268837, + 13411156910749688135, + 13838538247286524840, + 10049566575614233024, + 17150009391162646464, + 6758400346396741764, + 9891671762906005396 + ], + { + "siblings": [ + "4566830410924559680551822694539224360763057277154950531130976495429237533979", + "19013899131738449644377992511968201543638206347524029000321286651251926589741", + "8788709639676448543285594063858145022957746269826163571429766950774693765811", + "11412998381931301760412987480650533995279560213346329856000335278414482274298", + "17922463667635910179491918510578462343825109066264319977317543830289361623204", + "13498716049631726539264368976448146140027374735672275000511238553944884519297", + "14224705017945325761205038670834771818246224478305616410920980412276012240951", + "17174759558668566974382453589940377639329586106644461303540978416506594140490", + "10800551574011449455537705837682821270816935249111212627829450083688549354375", + "2612647236141492373603036870568865917873529947316205012460308153673444194101", + "6708780451568616254669393883072451427482888666847788639921531161080620943385", + "21531750539256904486252499076261828048828855763496271044391506476840104711496", + "18032542403216886207778670089411123093455722928396755198686574770921512712280", + "12353886619290071571120840935940339863268284834169327628065808625637747468815", + "6836802146916969474060360443238478994372931852681012735264144135733284519110" + ] + } + ], + [ + [ + 10145598623051869682, + 9390230906893237638, + 17072720143443282973, + 8087863815235729961, + 5867298599356278937, + 18370385567213920457, + 15458365148366622855, + 16857776485946361864, + 1737839711105419222, + 4606252126564418538, + 18324972533018984751, + 5872867898369104432, + 15397395722296545759, + 17176480895577065849, + 11641523977706674728, + 13652444251233432762, + 4468414102605784464, + 6859338368947098098, + 17852439450648834210, + 9519456522938942272 + ], + { + "siblings": [ + "7451587322056002761915421901062868830599836816369224910278712727716494941358", + "1342813483164853278413965385619684539445539285923930225149115080211335966393", + "4102359071483604735496486743820864043733356098847893838175562597787853690703", + "2406151465931148028235815382562176215193665585329554854957576024974242084322", + "7057158734409548330349857510885341830282555393399198748847443499152623316078", + "17468203366223941555582804788854406805780091641160254369988194346863197853821", + "10704912468547439310489055949239091378572936816970077167841291448453923531151", + "3977351539019937964114291105350190259001155743443702616364727922766886721687", + "19601506928443525414534740599316072315909303257638285480842128551373714778445", + "18553906969578022265765929980007270483399050826028200129300634477606251428209", + "20355595415381631179284331135267560046639806134340537188220251272037031570234", + "10166287663886054096821690351489474567693771502649428809087011363718366734501", + "12081595903669105518993369663669512066481230128882821934725584365790767075056", + "5723598732743470732065745824673558502699232930266373214982866674931012343845", + "3004169184258488657392706803470790382826902118749337446461103088236374328909" + ] + } + ], + [ + [ + 4364394700778543267, + 804337875044468943, + 16244687232795205097, + 13697887802879881741, + 9556366247268954813, + 8438823911133121693, + 12340822295690776712, + 8989115112923958710, + 17710949466545344655, + 6427753648532293769, + 11439675918231291150, + 2352309680268034394, + 17461713008673816026, + 9495563888386192314, + 8368399237391411430, + 12093650267984337514 + ], + { + "siblings": [ + "1612109379809430236014413154625283162276314875507977299175649470233357742342", + "17369581785420239841402214589404679766197771969136482605772607470694091503243", + "7736364704435580611692481079712138355281602298751071524759011706566876059379", + "20639846561750788955074248071988258151773330591532870109061568967419108121636", + "7300053736097218301846279783705197109153597202243826942356963843176278393857", + "13771907558165154167458886356799427033021044941587703258123800396354619866148", + "5519485600237704487168695159306030409112825001612409256030041074845938972793", + "12243929303773932297385023468571002836034828760889487245629754707316321319188", + "1683447327174355212958584228462175477464120317027730412394494809546905625211", + "3897075789830976959955724454252189873668742012402477741713185925170481478072", + "12485415763084974142092604193909329517474508628418273966881026518752062306528", + "4792162887583252698084408656697767337164543456124383768600055567486175571887", + "3425472945423004281554230884876171478758847074592924772890485404779399372209", + "14608678985862366303143553257960185789668047470439201114008268214567025508016", + "20252544568036743714461447767474147348862226212616014380285367022029635365742" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 7959937629027000776, + 9210244516536737949 + ], + [ + 7877647942693288376, + 2075906275824159777 + ], + [ + 3678964921848152092, + 17699924535312957027 + ], + [ + 7440911472814241324, + 11734296839877978143 + ], + [ + 6262647727992109606, + 18030846692655576938 + ], + [ + 15232879087158425355, + 15158767903246496090 + ], + [ + 8681837885967458657, + 12958029824447604900 + ], + [ + 11278406564366237497, + 8507160550163330944 + ], + [ + 11501842170331846653, + 15577639728990810176 + ], + [ + 18338470038372450419, + 1780454090073234584 + ], + [ + 12597075023851008480, + 17778265079327255666 + ], + [ + 12895648760946886670, + 13770059809427605312 + ], + [ + 15151841094438175197, + 15385027810838017737 + ], + [ + 12218036484176783749, + 15880254934428565015 + ], + [ + 8043146021804213986, + 11248337111216739597 + ], + [ + 138975899855404703, + 11486626072912945463 + ] + ], + "merkle_proof": { + "siblings": [ + "3171977907767374518765000835419247301670135842451613572186440616639591759897", + "4228059165978862378470956549776007553407363358551541746316993455717078912985", + "9320484951777335603722112475590108640798534173576263540127085804150213412688", + "17041492121756113047971864883529409138776517206391255327745259210830117102040", + "4499685150474925879289076475379888962942161766678688232031881416184688938477", + "55211155497850692548103907120022991565987534719572732031705526565986561315", + "7351354138237529748982256208650854891575756460403573091174878846748629081321", + "7187459492943401787006144403661493325630772550306118892161041113761535298700", + "10337877034380021779673924326323578348499624530858713216331641481442222031390", + "20973919490622552448628106565719204722006081639664473679054948310606743717825", + "16911611507470559820708758476395107198417862529341980699334691207709899080275" + ] + } + }, + { + "evals": [ + [ + 6098914904147018835, + 2305919367038509275 + ], + [ + 6347331182830161249, + 6490547265725251407 + ], + [ + 7836172946142172988, + 8727057767060347408 + ], + [ + 5558203587636970060, + 3888781598608819682 + ], + [ + 2899215389928688234, + 5219876826997513203 + ], + [ + 797816188320846725, + 18042757049761459937 + ], + [ + 4155856167778443074, + 17950783987011833347 + ], + [ + 9196239381183770431, + 789833891758158791 + ], + [ + 17002323778664003318, + 15820468330647307568 + ], + [ + 17625226814509679832, + 13636365755503902255 + ], + [ + 1200398715067317032, + 5109749410808814717 + ], + [ + 4793352709775090983, + 14933553329700321614 + ], + [ + 4270355871383976100, + 14784333904116114606 + ], + [ + 2607684961241152192, + 17150064698083713664 + ], + [ + 12132742449445114556, + 16399475538933554702 + ], + [ + 11377269788809971844, + 6888308865463075510 + ] + ], + "merkle_proof": { + "siblings": [ + "20347138042720863846500309611898825665590317089723947284335646789418909159428", + "1093151868186251305239744327348287535711697146100879906478508796172828216213", + "7055854452295923216550240953734227042357571431896908930206642979845805129860", + "1687840987626322454676381522430444498769380209808306814216643130318770908725", + "9592757306596908683279142993776102211118673032613458496362478047417860821064", + "11280536881850656646545229044703367612234428053533169795501899425919528870965", + "6113268617914276338414002013468801846011345575514640675894820754721208265470" + ] + } + }, + { + "evals": [ + [ + 15902629582131101322, + 15511793084462310760 + ], + [ + 16401587305413916569, + 15717224516290926483 + ], + [ + 12601862474502967366, + 5270796962965131052 + ], + [ + 12339886013194319310, + 4153633258070066082 + ], + [ + 4765482143437794896, + 905763552712208011 + ], + [ + 12330719148475987566, + 5220436970699428123 + ], + [ + 9998439843192438765, + 10302551353596906545 + ], + [ + 10892574140916257311, + 9181533851044041038 + ], + [ + 16901875457723175300, + 10413941533619555285 + ], + [ + 5036633600404191416, + 3633318320872759157 + ], + [ + 3269764398526841202, + 2439868867924139353 + ], + [ + 9675254068630128837, + 18112494620217608349 + ], + [ + 3436666348594615759, + 15227352785407075431 + ], + [ + 18360248664912092684, + 10480244510848050849 + ], + [ + 16861240553341566629, + 17949724659531712251 + ], + [ + 14191190827276896976, + 3094941747508086881 + ] + ], + "merkle_proof": { + "siblings": [ + "18116563887970184242457286494002671429036165036516067666207223208753710353160", + "3359092905428126106833152278630450797148235851827829097801079261371528332322", + "3068219811132893848880393180094784492773940022491825723501394225760796814093" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 5655281437439700755, + 8012722588644755973, + 17980509387805957823, + 16915268637562033916, + 4911769852431269712, + 7630283292662526889, + 15279758266566698182, + 15134619967671202067, + 18241229649606148800, + 9374859356464390415, + 726195213659268416, + 16588041238191022104, + 6228761417853286183, + 3553703211393099638, + 886873959900528227, + 8755453754927076110, + 1990478640788338335, + 16147661652368679438, + 14246324925211778221, + 5728064018988531445, + 8951184949069975584, + 7965711497528496342, + 9378690552191413268, + 561349044622743079, + 10205645377238046973, + 7930955131880554441, + 9063591193007004279, + 1750651625559414438, + 11704145384392124043, + 1765387312233000213, + 15593234886267906987, + 15869011138218812091, + 13992748003054929637, + 777633746178872635, + 11139355835809840598, + 12137793964795160018, + 5450735526275989179, + 7569049683993968557, + 3131536727396439056, + 1892662813433537514, + 12321586149091290515, + 169339877347678092, + 5703646452748659883, + 15354957678496643370, + 7366453968350849695, + 5235004051817638031, + 18311712745647158151, + 428098950411644331, + 17033370434555621206, + 91800168867026794, + 449617952111655049, + 15488154774815629231, + 4990732197765549986, + 4318071968155257515, + 4102544234826361433, + 9634274801208240496, + 2505980698136306827, + 2314685402056696190, + 9955642623624950316, + 16420983209463728986, + 295269172951874649, + 17609868472412744125, + 7448449854795719804, + 1864248619235960548, + 1095154362166270686, + 11450770537768082503, + 15952397874509617186, + 5092716361748312336, + 8557507998841503023, + 12319697293901300854, + 14624983173473608570, + 16115168836117433421, + 4833161912059090605, + 8783153247587703050, + 15066443182989579687, + 1548091289850932834, + 821168018777261820, + 7938994557217661214, + 999237707979227432, + 14380646610910515107, + 2197256443123686578, + 3278918470810150933, + 4386482227019711995, + 9196370996251815684, + 13839088210430668458 + ], + { + "siblings": [ + "12884850460888603812323159712901423807602632897116998464419650188919874944069", + "18676877527000856910301053679165219177860556968919636194178290507629292604804", + "2956392257210782189949312215690600107886901108892659318407914363604517553749", + "1488287803796308702270787056307458646939914195149240046481301937551825925811", + "2808095812501396130098337048471613038583649024694333219248782808356319110344", + "4612579955874472023740528789389436781846581225761562648805597896257343987169", + "9071096231272600846148993351463236105249841929300259587035737932879798129691", + "21860572562777247845372785068888009802234765163087986146330795915978750490660", + "15232500020176640665622153293258141468360081828949173555445566089190868390477", + "5445373865043785747696678275729488509272217368336106712029031640496527420251", + "3852271933488348726678759768864748668318210678150951801511857574836467316496", + "2695547569127136833823197380322137747374645112804536490322762254166772189535", + "20452953611991412722523718146570334787049024270761397285417776435975079690513", + "6914428791938135411115978320924516673856446389364951308307885679072517897241", + "8202776068377813129369873107087668973941685452090464570500891983014403488605" + ] + } + ], + [ + [ + 14135856229119658765, + 7278949905520449747, + 17368020871846659620, + 6125781822449898432, + 1167073762366570972, + 5312002884425549844, + 12600042452420396435, + 11253599050455645999, + 5572481862576760753, + 2744777379976720053, + 15485954299072165497, + 18296503714750716562, + 10023326869221582102, + 15080990903308940070, + 14183576775216692974, + 3164011513015315634, + 4261703476640019021, + 12755137253911151187, + 4456783275288640003, + 7683352149912471596, + 5656932673287588110, + 11305417024392459584, + 14231953394364289430, + 104827727094733082, + 1884268947522193094, + 12761352259514373626, + 6669060598277172250, + 6143925509762152324, + 12183893770769014713, + 16930763096136376785, + 12669581350386775592, + 14690891913040494396, + 8322982788748702918, + 15885167967162990509, + 10794887991721052759, + 15083007886880196497, + 10624984932927954037, + 3414740145321931557, + 11316722461117651539, + 1619442615028959527, + 1552965489415937669, + 3248468445210601199, + 13284487616374363139, + 5471606600980562647, + 11664417375290543024, + 3195234000501836543, + 1625237452076696940, + 7208146519099962755, + 15146535289362162504, + 15861186900850625986, + 8742174088916979682, + 12323087091010221586, + 17278176835589081298, + 8841227717776393789, + 5756452333280653990, + 935159105160417544, + 16450254628572648846, + 2583116267457860167, + 12312635458737031521, + 6235938931962503833, + 14204271957803346311, + 15653861896899215298, + 18002468677507461947, + 9674578132723912781, + 14007943063752225387, + 4337160223660853429, + 202733577546871298, + 1603319482923448525, + 5074152218420514323, + 13593636546828904072, + 3474172516240330070, + 3632515177099295051, + 16774950248499079911, + 13725780737171474015, + 11451880441455007715, + 10931432703373980590, + 10088278825691665325, + 6211620935904131050, + 4140098531573721383, + 4580653955886445922, + 15901846262309485451, + 559340426266855376, + 6757980816052117630, + 7447605828783495118, + 17147212156662675640, + 14297860597803415492, + 8387074734529084460, + 1553691651055084373, + 17204731098480843361, + 11656293256460091193, + 14572030827637514615, + 12513959108982712431, + 7525076696789347061, + 1813389840108492748, + 10733620316486267029, + 12514847793633572731, + 123327089530484123, + 11334848934595060302, + 17767665540376472785, + 5228515072732599624, + 4635849699982236075, + 11761823573410399781, + 743601974873282942, + 4519897748337828113, + 2178230025551347977, + 4199604172309577824, + 12672620339976347273, + 16684141537602649186, + 7814195145013670908, + 3039006393656038252, + 2035242745982857697, + 13404562981119174481, + 7907085001052074168, + 7918820618194460238, + 5209772707759484487, + 7355451085935536650, + 83134123046400738, + 4197885359787126557, + 10578105869781834540, + 1719004899125082573, + 15999272518576917944, + 15506478154009396850, + 9020010774911604417, + 3282348912032569017, + 4684110519144626820, + 457801938531654859, + 15693330937383576187, + 14984056420882062749, + 12680507958141475536, + 12782531763379327204, + 4611871085995282339, + 259336460862753424, + 1751141804457990018, + 1342834419592711088, + 6798828707236463448 + ], + { + "siblings": [ + "4595449407501852551679296300504341950075089002977072860143835200157986840730", + "14977087998685609011590448200130587208395051603623150079609115719222121943962", + "16084722055257084248921949269183392993923257294238996695679901562604188919962", + "14560319434815769783095977156269105491344345808263557826800491649867197834760", + "8197158993430042249636079940708941835085460229358242102620887780847737674605", + "64767049047931676546970164787176399206504654846635422315574671404634739540", + "19147019555246922220487709170147156297349197894391179514663306781083889623663", + "16278658073243992145646507587838304978250262179456231877210549693305352202293", + "12274636781154184091773421674138659284452384160202086830322765068643693059258", + "17856492944054335852168212952501465901309293451118560109836815118343393564502", + "9938151202411058730991358277253446338787517671580590230899467062810463134264", + "5808408259029062368100039125910990165089753758609383966652623588161766424284", + "638911677260002592971395374658275981609782529107112161578863926812990605973", + "16685525457064836002119710191192507478105115797303013018956204231270203838929", + "2497471663736748409570312653258744536850930256338142348951847278601741281413" + ] + } + ], + [ + [ + 8335077698918935082, + 2858987161491883514, + 18233771722841030462, + 1508070544922275480, + 12772541563446378153, + 18433473502028935250, + 10024421183129001553, + 4434412468409930474, + 17257570296071137078, + 6866749756239316986, + 4332119425357000553, + 13356666693871623818, + 8953124309271030236, + 8269845392374584554, + 6008856648871192146, + 12056741660085015050, + 12591132704806931911, + 6624492266300640271, + 13126689244131595250, + 10842557027892728334 + ], + { + "siblings": [ + "9643933431896973197849926692001305598598277185776066142855861512731067029474", + "12016794392521539653028756420282544939252500966665423661267196403471959185544", + "5298920764907002339104110768744107322133062698542695435982370775579433054984", + "10587109344604863537585449154751752384238566643550436955963856860250974842509", + "20686001406008258147025066392298482450564993991452187897054290972216664543181", + "19872490912540559879990374393431977977331642077085301628988914719037694250341", + "10282954354859391511775878628061749211634187568105875848183268786763981704392", + "18802815639580084027564050116377613293350760144999926771017340328304579083124", + "5264014957335984469971609679011080407508252623551567668366929059187670456846", + "2196015855699963527183391966715709829866496342567084509062992755065985683335", + "9209793512466366743753404360368748143148032602549168996749143421143699476559", + "1588372693010196817316087312645892040230861605569550935530725270610705467689", + "4953063563427199140124842804465488885258094475510482047534480797464796221769", + "16713382961560380216341189410330849476652822469160767352804244290784084435341", + "9756241381945036271968435680338247162172210779829357165655919521035672095955" + ] + } + ], + [ + [ + 11592277075508666315, + 4780513262009083094, + 12552938491791368015, + 7669754712546066641, + 6366696871457914333, + 13967491268104401224, + 8629203433329513264, + 198419873293678991, + 14365071171713228200, + 1076665780148120159, + 8416276797045260430, + 10177042922805725586, + 14655196423228414665, + 9024272525247667899, + 15155790383072579003, + 1098538520255786926 + ], + { + "siblings": [ + "9583228693074212339260452034553022668341923442539644984433527359461520170376", + "3944669178014997392353405438910205201893423515039004704258068631894858653134", + "20484532936771848071604603674241652169790537447286795724922092262128892336659", + "5071129335299848936990058018788328693051731931160606063879428726925595853065", + "14593219236554620416502723989040371076105090566474670627689508148903797383458", + "7540738104297173165398261299008365076568436163246422332487271194734400451775", + "16164990251021893509816112985946113955965721136993588351256103124425356779835", + "9569285708941821650359384861104103152354557799578834346520454607005752589543", + "12608109859302189292316441831111851468352043233910256359191705054539522157315", + "14513436345735831021536430229591510591485864687151969801602171375030009015807", + "20661784558833288513082636099421317388647063340796781488700234390761851922883", + "12001057621484231129511213530237163423897157022743908863974902066117162230913", + "17840191564250648219765514327758797549060115385630041588014811076586018754752", + "7161997775192704115213369379457646849785019822299406202406826416656526398479", + "16511584877074931376691137788532151200838010784485036100261305416481997496111" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 1810860831767448280, + 5547236098748985116 + ], + [ + 17570024993591621078, + 239609871956600223 + ], + [ + 3355814671394771602, + 17699603977978491678 + ], + [ + 15516344389722557073, + 17717705534163637948 + ], + [ + 137334102762742042, + 8866210007566687624 + ], + [ + 12262913127294766244, + 10451693439863193024 + ], + [ + 13992026945479623621, + 14793489179186763823 + ], + [ + 8844126997709765618, + 13917034606090370670 + ], + [ + 3174318953459989722, + 597867522600216000 + ], + [ + 12873345074155017348, + 15063938334503202375 + ], + [ + 11867427603174014583, + 4487661340773842099 + ], + [ + 12056782083137515348, + 5968564823507211398 + ], + [ + 6694193296004137983, + 958054574464932210 + ], + [ + 3379520762490595624, + 7405792910375308170 + ], + [ + 142786529891959378, + 1710721337999876891 + ], + [ + 5192517901534783684, + 15464114389792751123 + ] + ], + "merkle_proof": { + "siblings": [ + "7970335740959907940256730985415136135934842727448661435882946164752136684687", + "2166814227906473809416183681520426161683095312078615622605880208680863495290", + "21150840550466278298298981368529237563828559952961969442214505646758718345031", + "17806605088859965117015006995485394980826210219846855207690135268703698405500", + "11515259015180231909814656011545085032584583845711293548324501843988471334730", + "815654379620361641672191649285161182225352200152305603989559953509668879486", + "3541659009047992187435501528548722998627461871211104614023568774035010926281", + "13827414856002813468099268786889140632967905250748945096094266207766093556503", + "1023295006878003293235817959857094535029554681856244876900264486549560477828", + "11934574496985489869954462228378630658581963021169190676846714675636713318230", + "2508173194060743267487444178949455021432130546557813875553202128821698246415" + ] + } + }, + { + "evals": [ + [ + 1445342796817512953, + 9030628673502763620 + ], + [ + 13650539837447373513, + 5427425256841313459 + ], + [ + 4407237235705764525, + 8970333944707072604 + ], + [ + 10220123170690489591, + 10619646729304476548 + ], + [ + 3748886603876548887, + 13097380626770952857 + ], + [ + 9057102945584993750, + 758002981830365805 + ], + [ + 9896558232271115025, + 12088691411309215283 + ], + [ + 7189961452919808052, + 5337135245593635517 + ], + [ + 11134498418919023157, + 7182319037713265591 + ], + [ + 5311226970128490824, + 5842707705771779282 + ], + [ + 16173670143039112803, + 13916182152673930177 + ], + [ + 11628666082188309816, + 3731875056448012229 + ], + [ + 4527388629514636808, + 10915328084616010992 + ], + [ + 16551825873252187301, + 1996418729287020316 + ], + [ + 1246389981623164828, + 16367051178155219083 + ], + [ + 12491847120649677887, + 11984230701214600928 + ] + ], + "merkle_proof": { + "siblings": [ + "16151662236601785049764311385109677879722772989041324183265751672662552662606", + "7016968512004531555948764599083438053129017125468896185442002074629415821651", + "16532657732800074580151306218816973762236437508305273404387712015451526707658", + "8029389950625794115428602541260357638653801606356069943089170301658155079798", + "18076441237307043618559400795051301937377463640802320110123115509592606405741", + "20642599442461430058441518451709766285703297187012493443822156569760389836291", + "15363442323976642437421253418862231316165825327259227851739128814618412827037" + ] + } + }, + { + "evals": [ + [ + 15727804604068737627, + 13583983525736738488 + ], + [ + 8376000354802408059, + 13423090379709629686 + ], + [ + 16310901801336694711, + 10334893244139770746 + ], + [ + 9081638296443468666, + 13531703262865468208 + ], + [ + 17983687153580745510, + 7611202956961017079 + ], + [ + 16777791130092587322, + 637966713431032494 + ], + [ + 14460095618466053360, + 7394332505999686439 + ], + [ + 18221923573736609572, + 3122771009081547638 + ], + [ + 8897273723790935423, + 6014809093635451346 + ], + [ + 15690446713565101914, + 11018727873394827966 + ], + [ + 4985724254280082306, + 5705328544407065558 + ], + [ + 834830392493489910, + 7427923844149683154 + ], + [ + 7988041542335754682, + 15995879232571840241 + ], + [ + 6554017179614243822, + 5419794153010545468 + ], + [ + 15210106713867018280, + 15516369506026826480 + ], + [ + 694275954510092208, + 4045449220932890362 + ] + ], + "merkle_proof": { + "siblings": [ + "3755160725010932093889198901446743126879660001263399627105943944987484001383", + "5869141530070059969586148361010611238616565355385832724687623016254988992099", + "19822574360047158353849403289323614977115279617565808106495502774725808467101" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 731228367574054026, + 7183915731430412335, + 1540134743927008333, + 537602498673322827, + 8047873783278721984, + 3763319346666869517, + 1719469338291669078, + 17897117936932084526, + 14777320350583839923, + 13481197112125625619, + 1663781563331048548, + 15498649884843408304, + 16101446781035825447, + 1359829229188964399, + 11854396139172493354, + 9044957563604108410, + 3374182169467781827, + 3378278785551945948, + 1803458702022198822, + 4301869152946660347, + 11425802450621421333, + 4047510718709563977, + 10345366345903643413, + 11453087394668296373, + 16113543923030088329, + 17068003589934960926, + 11565324351715641133, + 6234820607957612603, + 8340528410887078997, + 8262379208580172923, + 6324309051427131020, + 15514282989268183858, + 10470938467861442914, + 14281011001571203556, + 4042782821616519012, + 7257527898742254401, + 14212213031264265974, + 5302896532341342401, + 14358137975035931696, + 11192022877367664934, + 8491394981852908048, + 15176964085070883806, + 18105431134716155792, + 7269828886900305375, + 10590052161826784807, + 10558343556410926999, + 14380488412212735777, + 3069616237376066697, + 17129451202531656952, + 3395747991459504621, + 14464658225190991876, + 1398436525183380470, + 8406316768542549395, + 4644400224177486844, + 3642047609405956434, + 18076873578134979222, + 2792536940534472020, + 11859479438250840810, + 229842466409517554, + 4072385827494498926, + 12680838769242915939, + 17905226351229375901, + 10979156423532993872, + 867214514387636159, + 4970520826128472598, + 5230507828666323276, + 17765807370963641192, + 795984982044041329, + 12125465904436887909, + 4161978223614047867, + 10276013989321938099, + 3980963461973984037, + 5494273901694923125, + 13763157491668107048, + 8111009340296440230, + 759088287261366309, + 15217641700071145731, + 10410206912251621746, + 5077122710270984315, + 13934110287254612639, + 17591452399870030267, + 1754229840684444213, + 17491772853646933480, + 6965722651332790111, + 5910568014029088328 + ], + { + "siblings": [ + "18870032505201501422479940594677795095429406886151411999458480930228794596733", + "14199677896678304264419547091037700677649396956292919444261727018337042565290", + "6053246523696412267107583878770571094176160024759179437698623281109180478839", + "8812626036888592573089547362271320370750152331464334323555491208169677380209", + "17712150253597058933590247583017230835365904512549487105180323534706250831096", + "19615414340866820518784167877795509953148189175688012679686893880645784072265", + "5908482332366329871411326872384691450153566937495945895710583989181880646544", + "14972563331846204543508798328151326849312822088836804289446586823991831073394", + "7230131853603405555746107328349155514561751712975201893849381772793649326550", + "15924808298763846792005945005043735893121176294303361137378538718956742863428", + "5398961941235402928002575929708748716354935322323640594933925937067439535175", + "7533385468815681668756285997028162309334010113304473758057489939418056212073", + "21680162836037941309876046042001398254655557905423133963064536997654960338548", + "19105214716052047717974828255951653874253980937740989255709809498436707759470", + "14027354294417044613882526513461134627628135531007208069425511019488889539024" + ] + } + ], + [ + [ + 7269379042881529937, + 5443846353119250092, + 3916857674063996067, + 3351643311694877812, + 8888571164801389425, + 6663647090655428223, + 3496393651664880372, + 15156827727505031989, + 17032918958450797073, + 13996322074732736089, + 1247390320921637415, + 6500531337875847486, + 6356183760382887124, + 12037987280388508043, + 12650514995855497534, + 9868169609246544846, + 223515356232701822, + 9790558625096101894, + 180290243940094661, + 3544121700997318700, + 5074797015976253121, + 13753609780270368508, + 12163224036906060677, + 833341490212527015, + 15678194989349232499, + 10364051353498429558, + 2326304386433170393, + 2756886251837734598, + 11163213181251092217, + 8005992357583759816, + 18430380550021150489, + 470315032777367003, + 9858086413880681175, + 8931549710043114333, + 18270561001467361591, + 6324347394536348949, + 5794899886452074879, + 2570173462286553430, + 6979641530521961509, + 922492655203833617, + 1046950877794998993, + 16534590463657866293, + 11716526240331015505, + 11532651585968622028, + 7052162804470776660, + 10162007207339295085, + 17598874838610612211, + 6124794165716214170, + 7864794795944970738, + 10757305802199707633, + 427597271177979173, + 13289403068989409278, + 4835247090785036165, + 6031118228798671965, + 6654500779757681632, + 6045695565886771948, + 12510846420053145601, + 11665331790993461688, + 16343340285849875866, + 7317478289453644291, + 18275107263037956777, + 9205710111702779275, + 8942283212173567380, + 10982488517276930171, + 9247577022829185136, + 6740913674362703111, + 12208809377030642537, + 2499404807886215045, + 14024323571879123006, + 1797437645371960702, + 6727751410904963033, + 3155418110590969037, + 13498395360719209363, + 15551641486834178592, + 14775350031280197532, + 17817667601374639848, + 7177713668066641298, + 14650931956340615679, + 103662523575513788, + 13687914086277427855, + 986581833590959714, + 15695074966829479971, + 6118557599389416407, + 10653138302143341979, + 9823325297508943322, + 515784532822381690, + 12896498733403963085, + 10407433836781645184, + 12239636195219996066, + 8122899391856996764, + 17649847533196950726, + 5318553740027739337, + 13487524381436863154, + 15893803613309634356, + 8112880244144462909, + 9379911431542429724, + 4608993277688977644, + 13913122146364342088, + 915734779328384392, + 7417275767634164567, + 7243390714233349648, + 15393238068226128484, + 17405294267168640222, + 9252319380565185612, + 369222129390705471, + 15075138516153286379, + 4183236744208622388, + 7191701161878770670, + 6229197869096761455, + 9059037122154200691, + 272144010110774345, + 1117220000626657045, + 6476233292874505717, + 13498755480839733060, + 15028485183442356855, + 11485263047197397653, + 4049557199490396638, + 11213927948052104966, + 18113498296197215432, + 11739415866801924476, + 14267222660991177448, + 16315531693989129311, + 15041227781492181080, + 6550750271979569441, + 4849360646390943501, + 8231257509212257361, + 5831787266053871652, + 165842980324763785, + 8602664546551308562, + 9495955944011266652, + 12269431112005249974, + 8842654027954625643, + 16780815123308816023, + 6538216352787055500, + 16139063486781310630 + ], + { + "siblings": [ + "14530433630338025200175952366660901819542500652279527954707867450917297231433", + "14504197717674102253582432289248082210109876357397304237557868687323344628945", + "17982542065409248072064018245841545401144190477699220427895490564886355142455", + "21706708798124005806528780346095435642532196688230954455107082444101686387317", + "2818723816479702401445165779979511095249869799136067644805165924398172641796", + "18544775171879369502418188408426530349364835744917866553280311747687531476872", + "3834799577166090009554025439100688067955558035858588144042879196563270622314", + "18993439262402998314437444076397238128231344259088507530439108800072601064587", + "18371272420175736063930412733127004736981009871382738810502521047239391629930", + "16596800319455352149731142257541326887354029052923674678378586065617203814450", + "11087473638754981407676214761586761693782336452914973540114934771502080689471", + "20592879546596416649964188513282026216106288823616753023891358579344598639868", + "21141850497454022550284537208504943274408391565547662025864515270356790630896", + "19249524739840711764051292605127555359957769722904165361237371117712698631332", + "10244106528552948265779707197809879900429346093632080269552484766656787434497" + ] + } + ], + [ + [ + 13181556110708516219, + 2248628778614018530, + 5949250088236570988, + 13552434618589236534, + 3951010400959854733, + 12743903885397163963, + 13505983494630597828, + 16658085940089852934, + 12580229587025785044, + 17334373399021299428, + 1797923020863526384, + 18171012538808324999, + 17260550995256418272, + 4721045679777969408, + 13451722212091566454, + 12205985561015548458, + 605808940444843394, + 4767469312966594409, + 14646132326971161192, + 6589538054912442884 + ], + { + "siblings": [ + "4373926765994677760452368642097838835938696380551081481002970059575649088996", + "20163510051594382004257474037385721772843802951335058707907497340349130708393", + "11305062629883843143044696467059334610945184754355518790740031660249011702278", + "19898834228515980092602867311228371650530342138960469073650148999534924559355", + "18131691792991398713647721740501469843477432719924513756880802805871449305421", + "12420126528145197159128256986535790734332879159756010112050249022464662053008", + "12836494091949418076674075430089583011154695113120861815224850789282565286063", + "14458751386107316512844128236489354657973034055478938411468412584721034099833", + "3317877211238433541516324343188479465936837987673845357231493950057386708161", + "15716377043988415685919936669219394025526407876144980006533093154384962183347", + "21596586031422543192368981452916745346957664448693805107382854497309723047369", + "5098711635377910963896617091333263559474290483029688233127389532124584057695", + "16119582373671308315018320991219970179311419928778598872843574714209592564312", + "2145757741171756048029070764440739278933536263887988219189357989528964149975", + "21575408396818076630323444177798092429133701777585077039344716523838184377" + ] + } + ], + [ + [ + 10943454097328943746, + 1263019497166101517, + 16217982677884597649, + 8098359200479642811, + 18039750629036614728, + 4198058997653363929, + 11601635161095806374, + 14404719547856974189, + 15309734514120725131, + 13840603459510148437, + 4262236159197707214, + 6241805599950148625, + 10397758703298475323, + 12518663035501744120, + 9235061771031219087, + 2532498832620808699 + ], + { + "siblings": [ + "17503147005716859039375745041735236400001314870994075553902344068797132671333", + "9215220605512281649877177445256578248656034430011223382563589897383028160241", + "3100362904516846907300288398988896613656830296199537162305783489309513732834", + "14972946212049565767342692024037992668806308670408197516179710555647813141813", + "1857946045845013026627234842609632330800663124440748038998307295586604884382", + "11878080315399481791302107837792416272275931377815782067815828792757013459870", + "13441376859293629242226095274377423348509826629911422546355228557244087251944", + "12108041600987299249828579809022431402398133581333944472874175135084227398270", + "1959576661207452667850630446015384685335678385807938664541734688212940448239", + "19901487818751992709330218819346751359640199284187822446096223115198411631596", + "16023518890434745575433340235481941149312917858193430530361579864574148996599", + "1556578960564149039147509220253890869467916081819517478459940222292711323049", + "1959241124028625085855562113407281175534516552961896151042607620696311050392", + "17164611988238664127080208226261449885435360909007984488550808232916119459515", + "8631992540439472974308983670342504890346317984145038420500899115881050501026" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 14643876291745224349, + 16754949480180412403 + ], + [ + 11044913496244247733, + 4011547970548288451 + ], + [ + 12658427587767285846, + 5077580609204339805 + ], + [ + 4490944427476757277, + 3185691996843082337 + ], + [ + 5143185677850046246, + 13814592184509696196 + ], + [ + 1087395103588794385, + 16839490088962189986 + ], + [ + 8453368791690676417, + 11427056258754411326 + ], + [ + 8978799506631125411, + 17665733027629026294 + ], + [ + 13055298368606492393, + 8282360391712111019 + ], + [ + 12877788504399617406, + 10641031851967774163 + ], + [ + 8765563170429470743, + 7708317176283575161 + ], + [ + 16026098241910718327, + 932077176308072737 + ], + [ + 18060215323064466157, + 14416190893304647790 + ], + [ + 3125524633885966613, + 3825940519739661140 + ], + [ + 18020560644956629961, + 9914152187169484260 + ], + [ + 18433144490101772844, + 5473122444805961026 + ] + ], + "merkle_proof": { + "siblings": [ + "3257131542389597846167138871007405193551949007610640674158549861340663051160", + "591336649929985146075084694173420918152406049596312118570224125935966569273", + "16839690311377222493548444342207080895141798742198426858783961740793322440650", + "15346058551593184668054419516805550995463805539779517229849663821266898824197", + "17512303652552231786046015535433863169971217388514104353297798943798293413193", + "9049884074338536586941655793234975686966743239929093476697286803069236925066", + "6862075804923367652781954095507716727219336784462570509332910963221514663742", + "16350737963907592209611250766559286427014508827602675910610674614845545273697", + "20369839216616122125595447317431064373886003845567296686235810311256162587957", + "15795334167755365931123830937203673247053762093001223487372589484287829426548", + "1286820767914954643893907136709523008047490860678310082625276824694212198664" + ] + } + }, + { + "evals": [ + [ + 12717741953669590980, + 2627222078320470606 + ], + [ + 17308688181949386722, + 12705914815179757923 + ], + [ + 14121862714305564745, + 10725516880957921177 + ], + [ + 5582867313715729587, + 4222179991935836847 + ], + [ + 7638491877757268506, + 6271812524742714370 + ], + [ + 2624455695204359250, + 16698441835735192634 + ], + [ + 3750618020518032724, + 14558590239001197593 + ], + [ + 7078094959663434777, + 13209224248621120016 + ], + [ + 17603618749615276418, + 17713417898614557321 + ], + [ + 10487920500821094762, + 18082999291883063488 + ], + [ + 3848613328847975626, + 1077965831174837775 + ], + [ + 598972239314469352, + 5655242290697602933 + ], + [ + 9004573328719798289, + 11624789613121947879 + ], + [ + 18185844609807206816, + 10136683315398998375 + ], + [ + 1316807332640594057, + 16083839317787116912 + ], + [ + 9270195009807227456, + 6670138764723162903 + ] + ], + "merkle_proof": { + "siblings": [ + "18271337725564597196958519375380406546197196697630978948246257189251518456775", + "2232001258134986812120733213970563326682102541025681211910002637065449660357", + "8510276483216624855694989257494790786655437156937353368466279619653448511951", + "16114026653207937029125265179475670112134198828572434281018312497153459893936", + "6383928437965117809621602697786927947969518465698448406022645812722029802092", + "10075543444654988535271823814664312110994544947654115801444720248017098167917", + "13684240820955496521770678850914143714708575767868122970825135245049210225572" + ] + } + }, + { + "evals": [ + [ + 15356866374737627518, + 1767445520079051105 + ], + [ + 5527397491600853827, + 11287996687660316964 + ], + [ + 4452452085709046282, + 14225256234710644523 + ], + [ + 2744120690942965336, + 12830792104293241735 + ], + [ + 5673071937649123475, + 871435990219593510 + ], + [ + 17556000555616532992, + 12164663769210218719 + ], + [ + 6586618117779993139, + 6794940389138475220 + ], + [ + 89970396587168632, + 17397779737566128958 + ], + [ + 356441030428122960, + 10939308052256580687 + ], + [ + 10940462721510041802, + 5476687336504521217 + ], + [ + 15368407202116431257, + 3666678302407470592 + ], + [ + 15790713762124057838, + 6230302237038156581 + ], + [ + 11746017144834517141, + 13387129469534378135 + ], + [ + 16967950032586693879, + 3525948127429694584 + ], + [ + 7318635408797868425, + 2024930376579757546 + ], + [ + 6304379590391724079, + 11492212846483956815 + ] + ], + "merkle_proof": { + "siblings": [ + "6682952923033425003196026846846270717839651125380115679941938418348104206489", + "11839122142685741961888298183991392190646611410660930994028399856669508621924", + "7530197132740574741504616555050724733320885203103430662455763958388956893980" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 415240431525902951, + 1523253500518255274, + 7253127732612816460, + 15027417816956343558, + 5636310450448669560, + 797353760445348564, + 6796492771922417210, + 395552563849332290, + 4411234678085938652, + 2479378950141805528, + 9487771170563398525, + 2814101193509608247, + 7127706301485254592, + 13569307939480885079, + 6245620512753642338, + 4326931123445158741, + 15557613538068192628, + 9201715678582816754, + 8742579626962832417, + 5494818946692399855, + 8292438184079192407, + 16856471208068393761, + 15043683915354335784, + 1711897458219534318, + 7408844273084887296, + 5023541701559462015, + 17150807272086990990, + 6719512703673711449, + 200436833387736160, + 8338914826758423391, + 16437034300153989413, + 5692214457415442604, + 2690364486787513551, + 15859931135900023310, + 5537558980077866220, + 18158597943033042289, + 8590276375553127214, + 17772255286292685543, + 12084601468519406531, + 10294675120184817907, + 2208176934641179237, + 924797563370294264, + 8321169534731292663, + 12587116697309244563, + 10187657336013291010, + 15118575136860960610, + 6655658948748879158, + 17708170388732704532, + 4466171157150486999, + 11741175896537402935, + 15692702475819807802, + 10355084048139338664, + 15376671696097157395, + 7212221607139476288, + 9178193758233010956, + 1528322506325042543, + 3350488285515921564, + 7728008042175235499, + 11236187228885511461, + 7462154695111078492, + 9268173908614731506, + 9402232215918393459, + 16358676648492284771, + 12490956537687031817, + 1066557250759584901, + 3568482060100235150, + 10802200709172089386, + 4672009378429990820, + 12925150366902303808, + 14857115434628145577, + 6105759838806313861, + 6760323233956421306, + 12091610968341396622, + 536898156620243475, + 17300117609564213689, + 16518058399094217756, + 1674786860499308385, + 18110417453761913569, + 15943756185184087988, + 3813164056247777378, + 430651482512221821, + 8300248334758790182, + 18406767002899104281, + 14395920146562916249, + 16022258335471251864 + ], + { + "siblings": [ + "236357875167211968655342544664706935947729138678351170142942309448084858174", + "15388226023621483106244302113738514805030758133927797927132716659500245835710", + "5277256431646994835188118311645783994113002468276678670452894884692899964636", + "3531620200075588143310808723141565456590199221911192140646757490764173043911", + "17144404971764323436767998676115539505901379029624616535039642396990282788181", + "16415018936283731674023760957378349051831371887980449964774979339401548478182", + "19667510887256551762403576683758536821092059596825330913195641020869103952115", + "6294723188926230790734231252141732753498835563607474561015424176131531803798", + "3914065709775539463575702097467271919487529742307674969555002353294281787113", + "2771786641415852632315745345679307063232942073537156842603046915321578826180", + "9048820289236132167895588729056233495724212901016008773364011405807116506858", + "6814014476405563217456857855883832687070723060258505348536401296303157858726", + "7191250313804576227261175346971220296699057394963266061336155218709282972954", + "2526931803430902310770896528286416265100575326099613662528357317966106776718", + "16739778394762880926521803015039061662439919445009545435323758993225851091678" + ] + } + ], + [ + [ + 14303039921827137208, + 4310799355196664993, + 3964138332723777292, + 3321967946938499763, + 11328766751964497026, + 18410456333709899885, + 9410824662263757566, + 3806670693197117180, + 16130511004701468730, + 10490572046564606486, + 2759958037606388128, + 11792576094414042421, + 11214073502697153510, + 4833417502018340949, + 14441006383222832174, + 13255067288865525983, + 17473507166961211990, + 17575036285104811427, + 18381236560181425361, + 15507150662227451072, + 10983417257655591512, + 1888860638767978836, + 5096279028674910827, + 14837806104696500267, + 16302726563243831050, + 8668266744712269698, + 14067357661718444447, + 15970745287022124326, + 18354151525967262853, + 7751856115198480644, + 13304348625963691653, + 15187273083511028942, + 10486689763429840174, + 17912317692013657723, + 14778425245891444736, + 10466500576813084785, + 7602584056503321279, + 13021878077348703006, + 5434602066742560380, + 15267813786661874166, + 11207141480933904810, + 10291993846148522288, + 460683306421684952, + 2586254723853881382, + 7913612719606421999, + 13926307097386560852, + 13160520703976475308, + 159662542707128701, + 7256805424545937890, + 13490028821415141823, + 11030801073720603730, + 15934445664528719902, + 4023082221936009816, + 6347567585625805207, + 9583180403858369411, + 3727950537348039351, + 10160858192897443381, + 5318845263593551417, + 16753857205585465468, + 14476650290201843622, + 12719349481421796481, + 6075179051000895853, + 4711767143687541970, + 5940410597603729125, + 11786137465605539113, + 4217731740450112654, + 15793685741705820119, + 5988259654574784009, + 15187865938033043916, + 6507799537366576125, + 8741401227576236570, + 14239037537014425884, + 2523469431864299138, + 13847337297157727824, + 15082440572766951167, + 5804016860941335677, + 8598577846987170687, + 8086888759569836106, + 11178301919751872440, + 14422646483865995896, + 2056167121398566756, + 5047901306714109103, + 4635053665795683657, + 7250143964451011683, + 17417108863085087404, + 15653058269826135189, + 8807059334212886917, + 9048943735617252668, + 15257755574900027678, + 10719727437866782670, + 6343982388489975067, + 3896426639469113523, + 2333608183183295908, + 8403458267659854855, + 16036102501196017346, + 12920806622337907576, + 9394917439748117705, + 9401697048218551520, + 9389440792168145853, + 5540517599064454220, + 2910387836319302490, + 15725092437671489111, + 15728462499580248509, + 16793367282267299042, + 2831632176534853261, + 15532457388064664177, + 406305380357195870, + 16266925069677395483, + 8937555628757611201, + 6174151937516489894, + 15598516499238825970, + 4814019055603370015, + 60402849575141028, + 4217370043662476662, + 4631577579328152244, + 14915247159963929759, + 7719171094220182350, + 9291454082417026606, + 11958639852200279368, + 3544664133542096618, + 10632117220305959362, + 942528156525687982, + 5125133888069452346, + 15479380454058883650, + 18096296319064383112, + 11509254505148126539, + 6075692162020725416, + 17300723312100245262, + 9656198778572041385, + 8860165313924577366, + 12370808201528494449, + 17120128122004244629, + 14654105882469015419, + 9504649405006090582, + 15039883810818185661 + ], + { + "siblings": [ + "5610271400312695925545209087202687968973336311457456456707417643992493614853", + "14801692808854175771306270204184540721774002371393555146838938690684183749698", + "19130411800856930495201943821212755362268184831824186849984376042919595220702", + "1001211138904828681155947790606204745935950948327778915872925668136892302976", + "6787106834460643559628838167286748330652310431118349498345041018198984115913", + "891970447481475062494298133063703784939091317936970744630494044900851633989", + "15166290950063639245762334247039873303690164206196325166616247409369513059435", + "5425239567346718703121286453977422069087709837367294154440610023683361931522", + "8096363008494290156884810934586022469742883111471668797344762803974488506160", + "7667957734481709424466430557068338237039995606965020290401429707021050442098", + "15256175744915485764415618459602655237131728776502512353741507341019983155470", + "4973847207948206311409744616150352279486706425794533437283422678828511499136", + "2418713364902033529004757014793752494584464682289697989892312851276157302592", + "2733419416148249156569906248468709588971866890837742928303409277626256335988", + "8909090632530898680674645036003757099952062394965805030722847901815593596838" + ] + } + ], + [ + [ + 2572778464868708225, + 17454887969063341786, + 5658008110959077112, + 10997363775933314458, + 17924277015353184171, + 3239098128546795117, + 15423852664336507189, + 17142263113385250776, + 7395020318395256482, + 3080128744049724882, + 13555155709032628597, + 15074106027675603773, + 369830779790187489, + 4794859841068616954, + 17585360235560182259, + 7687201674259206212, + 872959226004684694, + 13017103298949446164, + 8274499819456447704, + 8275595010417701724 + ], + { + "siblings": [ + "13266705077698057322708753238780056984041982634511557596152394779895498528291", + "277267364625100721726494293010008153491883269861712453730603215291944729277", + "6179927346611486723493580726489617060666702806033224809789381341266368730895", + "13062087227882702539995019849580604908521640006744227479864378091012165593794", + "17066398608225214742692060917182436028120516555036927589401983245658002667539", + "137222195042974857367888965449729191521160981502380788640177854208559963689", + "13098166710682647974999392685468269796172308818913895640958619280020547560310", + "20925170997296976616259510708183879451710803183773672353887814011845726754522", + "8231395303792676685603350964067421816573693305508312136505967628622753835631", + "16852157558568411715146643368480118149051266484429357002323276200685761079414", + "17540050057456966725814236975357128597556559468870537361135405961179007369299", + "15852781837018130761857233377675524245988389325310998671045841960477036224980", + "7766140178548152345784646500319895276058027719780470551442867037427694818652", + "14135980938226641278051105293203564129761022003442471097554493434298137602138", + "2617274238942627178818322226819913493489762340670323297756328854129334127747" + ] + } + ], + [ + [ + 11242950392506547579, + 10529266746273172631, + 13593089619702055078, + 13278335036993423009, + 7176633890943721805, + 14698516574764967202, + 16078877768855839565, + 6455299874612483241, + 12979402526882408080, + 10654802470134043270, + 15977671098216399620, + 3432392308563105070, + 17791376465088988548, + 147934827610454073, + 10793662652792641280, + 4890574277165548668 + ], + { + "siblings": [ + "2481260763663861525903448519864865270163681427374424237751880630442853648750", + "5409436339087546186507711628332781209789672180702852657294090383970662949270", + "14601360957694597053333320861214346491115466049900598899468908745007538012791", + "11143400336111557602617029858520169550520562288254651737291262804053154011510", + "17589833674356664515334172672734456763934823304702130772196195184511109101573", + "3712482393900491295931001197146039727914107051764129617082615085687495966788", + "7738363683748074914402861593578713153331631781828827281576630854496804120257", + "9523968470262534957506607721666259053807943799734645299824885640666336391662", + "649945778421695579529912319564766708119616702087670547973985428403392374897", + "11807203309727375769332531833810093018250992652770956289648748301811696208193", + "2991417003503905564673232862950982650895906611481812968975090216073942268506", + "13798851453800568974738920367570570394342829249990041296780235685051653947382", + "5270602967962223537011406702931704017377385753057007597519765791220151704856", + "844879530862183289150681905197094855545278515219832263590187144828806017750", + "13713479553266983549562198662020669249238170703538502657883316736874508714679" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 11963197927542522455, + 14999811005372848185 + ], + [ + 12809563922465228177, + 1712492792594649245 + ], + [ + 855331489675424210, + 18161950340702974222 + ], + [ + 1599139256630785703, + 3747547222962549695 + ], + [ + 15178270475977124941, + 17475490637839143345 + ], + [ + 3934981353018516209, + 12729871518355262834 + ], + [ + 13444763816775680541, + 5010604851176545379 + ], + [ + 5973305417329513313, + 16543802471977805405 + ], + [ + 3791218450097186133, + 15017366745056213316 + ], + [ + 16468632012033174291, + 11348786304524839783 + ], + [ + 3230003198782817975, + 8810862621681764816 + ], + [ + 8062055471912636076, + 8023204159076903561 + ], + [ + 2459849739828346175, + 13511147311293776493 + ], + [ + 18168357683012846588, + 3487746890600933769 + ], + [ + 7144191836869317141, + 13636676658254840571 + ], + [ + 11182177109651584809, + 13070693375573139189 + ] + ], + "merkle_proof": { + "siblings": [ + "7143992413901197470742826682829497848206999317581098429434777184817921796073", + "17852894524090514526728103149389055909587208522665041965678639572439202246350", + "8660987812507743179398497750122518314404742450996209301595108907201962719104", + "8188636025480697493372178590874791600007585763515870949063930175235968066759", + "8843113092598756037425152755952252200374938041373854812556805982543457376787", + "12490893731081079575027536133310740492042886044425576961875055018380635766027", + "12675531412776474180693821336631476804196028081969276923705098163239032964559", + "12269561423811100306753384877289634658142965104365882579189920598368876078302", + "17247549807105032537682954818441403837078090397339934605488098487154020629517", + "17264738817958941359862145365109531097509026938931322052286654998507950991080", + "13519477880041318361983704167319690731354729966443040884461625043615382999078" + ] + } + }, + { + "evals": [ + [ + 17579028129222442307, + 8698644920094936657 + ], + [ + 853447800499198165, + 11854650227815011584 + ], + [ + 3831694603629529956, + 831054532790000634 + ], + [ + 531786705720979088, + 10682042528955599923 + ], + [ + 15740255869313453047, + 200248320819890310 + ], + [ + 7995397419694064589, + 5520004606903365354 + ], + [ + 16064007791168004285, + 13914096237525781586 + ], + [ + 17407183798820470368, + 8180236249999486949 + ], + [ + 8767886051595367637, + 11008312366860486631 + ], + [ + 12011224410751216171, + 6381875265358056592 + ], + [ + 6342024283438866113, + 8287333075350431110 + ], + [ + 5755854353967772200, + 3572424383441400404 + ], + [ + 6812386328315728776, + 14855603815475984439 + ], + [ + 7022832218591976042, + 3132469230068762837 + ], + [ + 14441628828660881807, + 12647507950167553123 + ], + [ + 13460971694534971267, + 8746012517757317976 + ] + ], + "merkle_proof": { + "siblings": [ + "8612631765018906977995211387543479649509909219356707096082228820688134164270", + "719627278857172345269416620689447805288631387978153838078489791974251836910", + "17186705176888791738251706533707569556870777548352185888643483516501974578869", + "11793752245962337646974422857193318837719857533334750792186933462274976355398", + "5607728339951053073893973761246558332971248394353288048096950079181961062056", + "14938903565592835497544176133806443498631931970141509380227395817202585478293", + "7379476757655234398239456334883948094405412266791787284503650027619833938474" + ] + } + }, + { + "evals": [ + [ + 13469528749263366358, + 10352250544635533725 + ], + [ + 1583154529617863362, + 16783902725635799412 + ], + [ + 16911082427254616723, + 5441336547130216124 + ], + [ + 17406306232068313940, + 11648734705516181741 + ], + [ + 8816121592766087653, + 4146713667057851072 + ], + [ + 3595559831690179119, + 14453512957035693554 + ], + [ + 16448583383192582119, + 18025365701061952327 + ], + [ + 15549936512894625692, + 8127026056978543475 + ], + [ + 16894131540220847417, + 17602123892710479741 + ], + [ + 11928343981501715393, + 3908212508765507773 + ], + [ + 5584723001454908752, + 17094229601942848405 + ], + [ + 12488240242087071146, + 6065610477535917543 + ], + [ + 12984196317845443588, + 5640299050407484197 + ], + [ + 12785832944699788838, + 7809576089202523226 + ], + [ + 11863372372925197970, + 841341734419345320 + ], + [ + 12714811500176299821, + 17099389234673542340 + ] + ], + "merkle_proof": { + "siblings": [ + "134768679371913876124088757750472351214961342181618248617622494722549972368", + "1756301549557067714358203360012654880094186014661707607079777359581310632283", + "9609376409275349416965372203179343118247952855416048890253225318725013997617" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 10172298833912002575, + 17215925428788024437, + 3707080284931379394, + 6151830321840697102, + 17097938602437404041, + 4070180951876578006, + 9494154280097228124, + 12215446308570222468, + 13946612349568777848, + 4131796749871052397, + 8447180964082659382, + 14957301500117965440, + 15057214132456154022, + 4276529513352014926, + 4660582801744099881, + 2791081830510164361, + 9626165027939304708, + 5485852926639048232, + 7298560257893439818, + 7635227275242448585, + 11740762864334878269, + 4153302521552737362, + 7972024862563134940, + 9745315278360738971, + 15049637875051051926, + 14212516669089640468, + 14667056150041287861, + 2547761777409563781, + 6219540153283368101, + 2175093627140184147, + 15286885096234695119, + 201469229462044919, + 6267256348345606655, + 11571272440752619947, + 5252941024882569668, + 643468659194210308, + 4535850329461378578, + 607449352633309175, + 16477572999521607995, + 13749207522517241670, + 5046864077064578133, + 13324703176798768696, + 13831484694756479813, + 13689697425509191770, + 16755679786467688329, + 18227034477223823966, + 15897556822572728393, + 13722179894274689004, + 3349750296959867881, + 474576083597765638, + 12206632256243700666, + 8544199344506553104, + 15783496069367100215, + 17549925397476119196, + 1584565006256414104, + 1426678075718011942, + 15114815619613416917, + 16849443313094446328, + 9291062268937868467, + 7463425774155722516, + 14866759698842734283, + 6458229687671152041, + 6011953904624138487, + 7048740071938435734, + 14806363509761647957, + 17861550517220892459, + 5521790403014948419, + 17457973296102440492, + 1305914269271406355, + 8252395443874007251, + 6936538240872939995, + 6194287420936739603, + 3791029381666946849, + 16754901415477819878, + 9994290706513126233, + 10523316193054078630, + 2290153776282997282, + 12631006189807117219, + 12384474416096089871, + 11348686365659526673, + 967779168683023621, + 14663738541587278687, + 118736490796811478, + 15819369277836192948, + 17884393253317484750 + ], + { + "siblings": [ + "18788797284425353509135653906542119717116380025021387604652416182426929963456", + "15165341507191051288745553121861746997194560051639331136761483585942907534509", + "6826903931959214812077925566233243137430717376218004752304579620831133694871", + "11209197628551281404582908645717074077662068424154191643347686404217306049611", + "729984021559015200363700155439722323893672200852611050915576290006025528591", + "4890075963667264395045865288309634263972898075885007897290032703196229597404", + "13475941126273673107048017811771966559547015292274022450211186619207281605363", + "13005800381817468261429025385654877585493810431964900734661711925840590638367", + "17957326968971428012755094332062252999760784821493215062152564120436494110769", + "11924557951290253488816498157943287008555127659920470444916042720388900489763", + "13391515861356394260653298693360119331328915025891629399390936883546618069579", + "18802256795628343845361968697221775669091818356740799637445627590016871477978", + "5883060725923227609614801296596114793733469027500509139487472428199385605432", + "7017882405392264519958205972957995274586124123175092284646078201175583009032", + "556014482225455206845071763625568440261408250139664067075792940067786262422" + ] + } + ], + [ + [ + 6290067044419178418, + 915637864959250131, + 12528292730397999944, + 10431236648279134371, + 11694503872574090218, + 14710904289323080379, + 5529500441721695884, + 6270804274181474152, + 15411380821265737334, + 1295444079019550436, + 10422311038468957551, + 6124199744032588948, + 18372996396475381607, + 1129121757198575775, + 3587348127561055606, + 3455092571203783891, + 8036880414011188774, + 11465336312352502937, + 9934336879203096305, + 10901863703180424951, + 10330103997122080396, + 6274539202594797634, + 12123020437060686486, + 4553090960401288385, + 8032087955173723093, + 7599669206498320519, + 3137611539317978562, + 6766115531003106164, + 14987130621612022525, + 6124274790315066009, + 8850020142237226553, + 14278416599725073016, + 1443957931191362045, + 16035234907360396478, + 16423300921525251537, + 18102540114767681012, + 1244355710917854358, + 4125295997600693260, + 1480138092804291859, + 5185850386403200678, + 4564928392834219902, + 12476902992623139288, + 3400612234228164929, + 11098532754853908237, + 3436556678533313408, + 1502493845577553184, + 1657834353578325450, + 16406777577778064133, + 3151575902829620180, + 4396024896469197343, + 14234871742208508493, + 17208788476134737711, + 15886052765532635952, + 18446363658074437796, + 13506232582586045441, + 16240330085052282185, + 14139292299943831609, + 17675486522507605449, + 13357968702854883071, + 40901360807474524, + 3597259884541880866, + 15927520633385356018, + 286244555976910062, + 14145354564676106468, + 6204603748329940982, + 11232519177145707202, + 5048948661929470823, + 10287924428340484684, + 7568352953144495964, + 7076923354685444879, + 4914758359509790542, + 2815147524815517088, + 7293963165408807913, + 5552872389537469983, + 12286358482184095290, + 1236425291368418418, + 5616632446830584902, + 17212551598518257834, + 17753915053931546440, + 419244361373590755, + 16047180281436243742, + 14173020170366063271, + 11554327904823532095, + 4884397292714093277, + 13820205726675497294, + 2454075786887975945, + 11694313556156952995, + 11752047608083364695, + 2886283008427170951, + 12466240376529257827, + 17812738278344463489, + 10696297035951700351, + 4448950248112401886, + 7977986551168455430, + 7017816805188813210, + 17739683334376049225, + 16013846273603472880, + 18353316512031855173, + 15469526695357112738, + 14635863182494219591, + 1945033858897548419, + 3748641630880670886, + 13292202282779718817, + 10829342266701578667, + 13366837727370648257, + 12775203910173624004, + 112078424102402024, + 10001116492824119230, + 4335595095639083676, + 11131600224368372222, + 3006511524507062737, + 12718601741259959680, + 14801791288972567754, + 8401860972783021027, + 10022409160708153951, + 10031400172803822496, + 13569479877004686682, + 15139860473921652641, + 5674264052792035059, + 554710542310846680, + 7880713088791567364, + 9728893461193099011, + 98438802841782504, + 14952914054358200682, + 11285352780533312990, + 16220086740847147680, + 6469786172370988231, + 4418328354616550964, + 12112787740153969421, + 15214271434590024561, + 3892270606710447001, + 6252384050925072212, + 10549559115509416371, + 14751358377812241162, + 2084650386095027974 + ], + { + "siblings": [ + "16171262462013695902942426741902726968442459950327327182342471235351011171877", + "1431441717572179192981247389670688767798875388820863018490679949229279756995", + "15615691878945274138020998065413642373658386274160924241630718381503246798085", + "16106258828526611584923398533758562318546852625324682960771020587056426232816", + "19599677072041723664387313851626868728382127089843269128456640035964845433004", + "2442247217825502142797775653020358419726309617356774035136721391653315227636", + "5451306295830723173300577656629227280537830921016485631123305091938685881244", + "15564994568718188737035055096825038913893683011098215127200412142406234275199", + "4882204029129500222438973945777680144559809562771595179254165706422848698122", + "18121204832555560496181027783776017748990277427817621195072837359149022413950", + "18414075375520393861407027512579864578362577527326790751787979071744697095417", + "9500669793923410675183633406881761790936938845003549092244765227939065602437", + "18164895155490072352118315550551885486165603421490676610184199359885402411153", + "21566638238280107509281398688136996636283919287533771235920839134745281438215", + "11156197755500784698495700002620759364593708928467513960318566680797754678399" + ] + } + ], + [ + [ + 13606773345178636935, + 12499346625517516521, + 14161253490309313923, + 16328712894309174772, + 17917303119457289485, + 1799882562480899185, + 6057182368090194315, + 16917041798397957162, + 6287328592382453212, + 6959026170953450591, + 4061867559518671386, + 17470954415470095425, + 10753771430582850382, + 1203881097351308795, + 9291554100849533383, + 3847900955767702906, + 3550620032681806784, + 7285316243547217931, + 411043225923924553, + 16567503208657417383 + ], + { + "siblings": [ + "17300337488787024731977188554154256007226290011306926799946923474542342898007", + "3485439718041255769657527079798065656905973303438175621311016274426436820124", + "7881295120281091562524162648107539674308625488315677742250407790254384489259", + "17457323872465090396243295221726906799949307433328144541971084322286642370246", + "19710884083807217736168355880693649855337283917433206236382022295329027235372", + "6578138209091204895657874678716819346793696922817827367776986424683897647049", + "20187415006176248541636833967381502897029836149342773876001779090876248158602", + "3411580710191650422785579823077044099593628989985974210938421737219999760000", + "9173536524023030131284552349964042339165134735616188879151213125366031988503", + "4044779330708597822523818684569056536188231947854519267923806832778622800755", + "20755393689417451476079273560749510536198499859738431199618141060217820681364", + "20706115252334939612055012768554890181405467485940434220740207404937789191088", + "5104184182949845906207175876538249281518609739988546291357572752926735218792", + "15778446821335595858876296512315156545086095254755540738221695012720385544990", + "16360379656170844829987379836695720016891273319464586825912596937064816939404" + ] + } + ], + [ + [ + 12599202465975978032, + 12798215628277364163, + 17428054681390262099, + 15905663493706967842, + 7439396874201207658, + 3566456352496126373, + 5374575905830633757, + 10979553027655191618, + 9748868348105527131, + 11126676292377930824, + 6329413207902361454, + 12541738315716356070, + 13366990990290002780, + 3032279157805311637, + 5913168417753529642, + 7609489598768883244 + ], + { + "siblings": [ + "9780660155232653598870347939479483620984864477715550568232519774239729174359", + "266382678004129847800504605078513091772089867988044222044027755007785258257", + "11593570592177539940817489540707640548529360626059371731796595125798627436028", + "10991698098283391185970171885106482166551838909780683010996160029834234796583", + "19460300669059839171649457549383327594661723462294791334486182572125236767443", + "10774438814569164105873649194292728326602194068759310557095199156202093463177", + "14823944653734154650634219496156996174262375309096243707467902431389981690625", + "17942032573183260099591570009368369155161411471463699641648961816350887219866", + "21679081258819531806013914914280393893629773430453685061916585137387365163991", + "33917239910402969192915253778289836448159089284890324504408917358042120705", + "9613573920292098840725480240521250504963375666402757314919176090571616390605", + "18698322437664962193787595292977952917712226061946395026692178066823218056998", + "11442460108961500553267186275267997013159749607039696943118571796926439229412", + "14324875104550709091038981640481438366135840335665523559097557658332815672124", + "8089882554769363750909241339149308451214526495976726839199864230162139590943" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 7663015347384449381, + 1492912761691339255 + ], + [ + 5454807557270461577, + 14732871711317088114 + ], + [ + 1895270030727306410, + 12647740287067369442 + ], + [ + 10337670376409392620, + 212924885085820651 + ], + [ + 8437617161118485541, + 14152686674044112844 + ], + [ + 17715758085725736688, + 12845688855653788894 + ], + [ + 1966824029012931704, + 13823965717496334959 + ], + [ + 4089859354031171520, + 238382097631951569 + ], + [ + 7634491369151465230, + 10922362706595585659 + ], + [ + 7454651550222371210, + 9246382746099933982 + ], + [ + 12344169002592787592, + 9202383001151076464 + ], + [ + 1537672564139589045, + 707565517516022494 + ], + [ + 14055962940763726532, + 2810411480146354834 + ], + [ + 8526384480126697090, + 11823069372659361350 + ], + [ + 188864906333779524, + 11706492551684494814 + ], + [ + 9684115496201704496, + 15303764630057455633 + ] + ], + "merkle_proof": { + "siblings": [ + "14312362618768719594889531475420159040084337711827385240245210468832813694456", + "17834410680275667971655580682453741995384948071690699284903308163834827135575", + "9923016784384206906040906219021236572300034891001033623151468293936048228554", + "10509924372629641343263124608497320735534538406703133875177970769434926871951", + "1935592599501299549634553216786327773923527191882991832138642298651596361929", + "16260764289545795432833373675875577265018863422710767552001355783478217804260", + "12470355599199082359924737737507887859701421505315477709257306394972525612618", + "18076322397852970759380697672439013464852535697504696339970347986168277345553", + "282513926514839265269296347752439683302405323617604435110305507545938896784", + "5874499803503244850274043033799230238402309832053150560514557132549011598116", + "20502098578731645783537896829965160655654455763506023273127418871422568096930" + ] + } + }, + { + "evals": [ + [ + 12564213357759555262, + 5851074096715733049 + ], + [ + 17583200355631817269, + 10814165937204968335 + ], + [ + 672152181887379672, + 2458003838561841919 + ], + [ + 9599782310734014503, + 9665222379737862587 + ], + [ + 16403412966450034453, + 15270320970937727967 + ], + [ + 2001537656118362033, + 11251317092191184684 + ], + [ + 13608241094230646524, + 6741254619230664729 + ], + [ + 1068374591092862880, + 5723026862938818908 + ], + [ + 4379702103659888246, + 9469924565103522768 + ], + [ + 5902660953671838004, + 3120565278089432294 + ], + [ + 10622971114281381560, + 16192681617973545900 + ], + [ + 9004447947603741949, + 12457667582713993824 + ], + [ + 12065327928863869981, + 323420393716958776 + ], + [ + 4680324590343705791, + 17752646669214455715 + ], + [ + 13989934171514119911, + 5047277008967022088 + ], + [ + 14214115267698529840, + 11203511093690515772 + ] + ], + "merkle_proof": { + "siblings": [ + "14549247424485159793896585633003304545250141330454948506953132800735448529777", + "9468325095640404531445890349324241204348480436528527304596626853780465943247", + "9676800294879113210862505776188840884128024698699407653172170626327303162368", + "17478721569803523206005213086561583996163780532567774963551188162997714148786", + "3628982386867787008539123342166575307045441337779124764534137686490304186622", + "20717118790502309492736069714865125728493487315588689503804644438790687376644", + "6586843574814649770112479065357034701925116664107165362651349506544267534684" + ] + } + }, + { + "evals": [ + [ + 4685848897120191606, + 16402638703359750046 + ], + [ + 9733121550644258344, + 7229629209047256699 + ], + [ + 1080197713436523157, + 12268636832268070348 + ], + [ + 3209019047218959529, + 3759513416865422772 + ], + [ + 1925972045357716241, + 339605140539451915 + ], + [ + 12724801584574940253, + 16465149252887136482 + ], + [ + 2499046632779415222, + 10822171294540913568 + ], + [ + 324867965956128521, + 773656647030461485 + ], + [ + 7383820924020064834, + 602666443531259831 + ], + [ + 17355611238147529991, + 10178734958174658985 + ], + [ + 13709621795887257444, + 15758986789337509609 + ], + [ + 11662396749235788781, + 11284096538519563927 + ], + [ + 17787932007484732803, + 2536208486471284221 + ], + [ + 4475288721534600659, + 393509105849196545 + ], + [ + 8950530573976278169, + 659485156102546938 + ], + [ + 2162893214995122295, + 2987594660111937274 + ] + ], + "merkle_proof": { + "siblings": [ + "1901476270570047500919272771056734523464010331347836145079418651321414271448", + "4175539923956445381715578053693723661109618862647172688409553278273719137085", + "21822757091224340489372163925123183667636108640071260672617680181040908990191" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 6132444691932583891, + 40688204435059437, + 10687474702162071485, + 5536870349819672137, + 845380572027203624, + 720785013602656458, + 8839370688638910630, + 1067074471886076057, + 10822331166731874617, + 12496750063319333515, + 14125341582819941184, + 15133120030544696803, + 740717702908038710, + 7821002181879216339, + 6206124468364503792, + 3142525631389709659, + 2102836230854341298, + 3606272180284615606, + 14836733503682753580, + 13141891698116443051, + 16177766325646943844, + 17953045177121675254, + 4762898509513368565, + 14181775673815671242, + 10979050428534358206, + 8025034443887012307, + 14222071412711224820, + 14781201466667804841, + 11701315409430243746, + 14879154347503208158, + 1840243385138469998, + 5821707636339753478, + 6495349495061177761, + 4865718819362652111, + 1782941535929497171, + 9365344856700332485, + 15019690392583119645, + 14051431845175138308, + 4203724380003923484, + 9511062693075381306, + 10351323875254033629, + 13625383238108980661, + 2763331440192680246, + 9524165408154747521, + 4201484303932717432, + 7518791695071266201, + 4676650897473091642, + 7896603008014483260, + 5708047627915565927, + 15270989737377616101, + 1190852620091057113, + 13563312297810830042, + 7922895722791395054, + 16972638436424193206, + 2814909234232451990, + 8441183541246302890, + 17496421788977374369, + 2554156289520573804, + 17636176830672717933, + 7306513373439513135, + 11303598403451072417, + 16503524180567617757, + 3102587932313137458, + 14005104783045869253, + 1988254608120487995, + 10593112835088163799, + 6532425380947094366, + 16167762196523472128, + 10640148618040855354, + 13003717616534024059, + 16555324167575364032, + 11188248315304912835, + 13092080477851220706, + 12687701767564079436, + 946169010692455568, + 2968714497327444221, + 6363139696926941097, + 8426830836345978270, + 4464198604598272249, + 9028310041446800411, + 14971489867797356839, + 10140242379281302436, + 2845070647793021835, + 3017550791422898012, + 15183112027653174926 + ], + { + "siblings": [ + "13079266169618364705081298923978994352999047023582972406180696177652668400065", + "19466194033503741931575364848140415267896174874353324918049368470016307683523", + "5903088371168915529305424611219031001895310836120753905774585173924996909973", + "16786838001303918871575746535314566790558438646660440950305529335546907384765", + "19826312714019957536748763531151597110773028306772021154905538330409213007528", + "9239865988952347547048273126987115776751511969174320072400151931455162806552", + "10452676252762169592681883867107289460892918186480677060738822473046250252314", + "21603280755957270206072646838816995770619572479759841850394047060166587876017", + "7349700812782339021368266063129397669612970503733339051993931881024508080370", + "364489862751102158263635361400796722926848825930845347742523974045766706679", + "1054538531617416777674279210010225005263313698699071295750564347167527933112", + "10786977144233336476472276590606799752803606244631434220264165579000032474120", + "12708473107487272792898688594850995466775517813201568368854564111205814362463", + "20135103520217075792956986755151639841076882874769449341406783843571298095715", + "8512678705633116250983718422370542467441246427013239976362761773018681951666" + ] + } + ], + [ + [ + 14951326025221753151, + 7892774293373941278, + 18059776655810017382, + 6978127568695760975, + 12132926786591185972, + 8762338296046996889, + 16181086168231311955, + 18015154171572174351, + 14398264084284604377, + 15798935220500207709, + 15696053467860213913, + 10690491195698149284, + 15938567662135967495, + 9593993824597797382, + 3531814407907406535, + 12863691561366546775, + 6236699350659959625, + 4470269463697683588, + 3237363199892843496, + 1634777169979985030, + 8904438569118350871, + 5958814679807726859, + 13294157377940860673, + 11772518602723652058, + 7945612888815188772, + 2469337223479567747, + 14864101677691656737, + 13697731849438384338, + 3408487209226625436, + 3192875943939244218, + 6961214316121600467, + 13093461121832485924, + 4595275833056807260, + 6975190987176505010, + 1581816130419024185, + 18431994908842989041, + 17949853759299682142, + 15628388129426185544, + 11477574168295715297, + 5642303172083947011, + 6080803480505857331, + 4248924381812755330, + 5337908013623806567, + 6719570223476596059, + 13511161192785629502, + 11730095194675893248, + 15140875381042900660, + 1115531519167242411, + 18412571226149830602, + 15358887819595231278, + 13678559135036518676, + 8985846213787249148, + 8856483836774387521, + 9136610704667212934, + 14801646759859638641, + 5195239286842992403, + 7042203988107164873, + 13290278370095865094, + 6790037745055847583, + 1173887738527455083, + 10545761214179577070, + 14428304639991215920, + 15634376916184459236, + 3133741096833484819, + 2283676560686916045, + 9571807122123472537, + 696999470472584648, + 17700628545255563990, + 16138350753232714663, + 9503210797846485703, + 9107270897625060217, + 15038837536062251702, + 18306587005753384660, + 1851971428261411190, + 12447567392747513938, + 4001796403438924799, + 12261529247854909729, + 8406179443274605006, + 6160774946993484365, + 9063101528976806305, + 14916986120208666757, + 354172763552486551, + 12425798695324751095, + 3202722458785262007, + 15373481856942700952, + 2986820847513680219, + 5891194492436190896, + 47085470944079841, + 13821938985640567658, + 9707748717831785598, + 13506245634886804639, + 7976597497931657361, + 1402337273584881913, + 16834823990209184783, + 16885602719792978917, + 1830919946795938188, + 6965727719128351969, + 16994110553386995946, + 1504339914744004307, + 3071482453414765907, + 18024850947736036929, + 7174923247785039472, + 14208010997720489794, + 5650211766380193884, + 13349583265453012360, + 10741976536022674402, + 9211086695460597675, + 4403660033915440480, + 10836320877614969801, + 14380695553652050427, + 15717987097742367977, + 11501786347103220326, + 11279655112555702872, + 14717939025795004426, + 18175157460833055193, + 8658956766468419398, + 15488863069331182038, + 9750269834269770695, + 8712915821192120258, + 16144862944121064544, + 980342454654396456, + 2264511686539893323, + 7183081522575527577, + 12996427219688920502, + 9096279288203597392, + 2887611239630057698, + 12476026524688377114, + 10583395935162674143, + 3476613864246662579, + 2379592262926984148, + 3319050903270474342, + 16699435899061505554, + 12799830962953950978, + 4706615944403135261, + 2668758972887320319 + ], + { + "siblings": [ + "21628659555811527603567687102967293190863122180126193232856125719393464645023", + "8509204701242360847269089432490704385677497963679658716927306838659879124337", + "21192767446836216869402401214040540163450598169338513190560948674472761569893", + "16214655910949344595687579444955448902398466660289092984221613001474048009953", + "5262372213284774915583596344872500625963706404168281931819112270112289317534", + "5892461335111319724219736284542889747399311201412006519295547141472151095259", + "3402149093562266553135493353527038190053647343786592895827848418227151964565", + "10619246554601471345397987521527196586698134771586528830259827267186382786004", + "18123754438313564270277769545000429958678004598709018298570945914962312452675", + "18058335315903199184707231398338688748053766551798875233755201858222486645222", + "11379908091995581754605701346448579058343908768022616619989883503187884437459", + "6548490835228807268136738196103011438124328952129604060293565588819672662335", + "10438060790114266652591553922341819884797138062376923812918919044610328541671", + "19961372299404278620396839049696099522039262134083519486187030652829196271621", + "624815852475597816378803502445456239701877726272351778837367632337702425220" + ] + } + ], + [ + [ + 14201290314558006904, + 5633754027822272318, + 2292610135289329377, + 16398310170680053588, + 13010468298625142933, + 17856561741711198468, + 14024142658106925807, + 10641378233129499234, + 6116705313984049032, + 5959740562175425314, + 16881857207665354549, + 3004741466409404493, + 13242606765120044975, + 16188072548645026508, + 1786580244864397655, + 290859548219551357, + 2359753413001852049, + 4564940772339377602, + 10812165232588405591, + 15228638385707498746 + ], + { + "siblings": [ + "11642992372141214298570166517253850675675774667601553406321368021588353526300", + "7153485345813594909259930444955474412648716644403718853630006209162451453308", + "442741145016964623998891777668550918148217164531146814412744734986960947035", + "7042777021946847821903646365695922029383486549465822482282709171129664363161", + "5304855159926477042504315360859536054804724078510367674423377489451519780330", + "13925550196101170486593170874147711677239346678527530022377031535082407900629", + "16699788295121899385966089858741623264027967500705390381290400482486856739377", + "10951595229829519937337030525375316288120182835236795785797825703244478143902", + "1778000352990099646379410723050209347496875032777929111064764805605453769076", + "5787987883594605906458974076182495818582315836828356596398004493974166884020", + "6727092520981208188403220407050032445457179368305910794971416518983236500836", + "11658439546409830915188239474420088090290628997427120613731519654325333579773", + "3741251068630798815564539538206107885955591687423544456389085109656401375903", + "8768367026022616651375931080586100302351804794427792757583444311004906453997", + "4512218248480967896765823041567963377312093928465414147961535372272774314130" + ] + } + ], + [ + [ + 15935805080369948077, + 13046419081447855393, + 12040374030606151936, + 7118023445615555745, + 16010772477128540350, + 17977617218875415888, + 18365333844776395555, + 7758006243120049199, + 18319263354990052064, + 10876431691626863706, + 4605031918167170465, + 7295154025810129416, + 6658031032681843255, + 16826862173697883449, + 16003643287123288278, + 12996414655693242507 + ], + { + "siblings": [ + "4357168811901278284977953370718069384214070145436755717923206562035260635229", + "6776266880759721939395585949928706090306362616045163166360717055669013633798", + "4323342572489112537394512291476253442938214382017076592293645154384241831385", + "10588370161699748709672758531674889895254119388321516717371606384463583726197", + "5284213296077567404510144635689592615538682195836372353986897433270251978630", + "4586910747382835810370078235029929709832447800096310419962477443109115529295", + "11108859107367406040890618276229868929942913172453385578144172299411045130888", + "393642501914528174743478792122682235845578584088637251428819160824118340411", + "10767017928201089671527808750894851695430596852066143823132955682797974161707", + "6404897866278747116118572819104985841905908523983877783095499299416176737598", + "17004685930454183577156145499498141190510136804756779428289066623419002941778", + "15138248815813719058409367231085000402075956247876583511618964630558464597779", + "8022554106473589103639579917330303743711476395522383072316701370626388791174", + "8368828407618556448885389758586579692395925902248038770564702811941813940548", + "19565957379762846420379703339787477331552553664468041113821683985486095109087" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 3433432125037026691, + 5159198228771421975 + ], + [ + 7256995703206056600, + 10214627249719004815 + ], + [ + 12229886578143260252, + 7195945153019899296 + ], + [ + 6743693592684602958, + 17893366424818776386 + ], + [ + 12380586500982319755, + 7337507852453306893 + ], + [ + 5397356758178063324, + 11132824187738935254 + ], + [ + 11932733921046084897, + 12749647526755043129 + ], + [ + 17159629571999167550, + 17408589240378926847 + ], + [ + 2265469319580848708, + 8850718402332088214 + ], + [ + 11187493847718234164, + 6302611626098246624 + ], + [ + 1245527325879822459, + 14933651045376371160 + ], + [ + 8804971239622103030, + 16104679098538448666 + ], + [ + 16992704500275559858, + 16032138541224520118 + ], + [ + 15216617971544475677, + 8640590730992361341 + ], + [ + 5134032757486349479, + 7631669799052615307 + ], + [ + 10377529444082342386, + 16723757956818996492 + ] + ], + "merkle_proof": { + "siblings": [ + "17681188126217548412474710072188758682696004867884850121319473766998323905434", + "17590569089373687941517629165741016175811346398642271010218169122655181020841", + "18449234099410674803101684259478021746476983710716161385261876272618041847844", + "21695750088893856059551697985175433529406372012564674600178816825250199426184", + "2969117525143541760084754380481261326297955634689920643700814976510840604185", + "19020298296521249845437777982631440749231371137564062481349549501096094867690", + "12222261576461496129573936808337090852600393725835351500545404836260580262178", + "14439354346705740536314168233599371373856737359330579361921776789313969666151", + "2676211242365797444105316496638832482515249049926202620179812819314390655685", + "8958302756763060644717627708710149595487178750052571607480897119979028359950", + "3469159439497702809773181971521502509793845363444996800014560084610329628706" + ] + } + }, + { + "evals": [ + [ + 931129153727010433, + 9911581100219644713 + ], + [ + 14503062790074688665, + 7296489598998655720 + ], + [ + 16480602151816267129, + 2609028632543334858 + ], + [ + 12974073255285387291, + 16359754447480962106 + ], + [ + 16512628456565301478, + 9684205797233651907 + ], + [ + 16748522272265419292, + 943832063347914675 + ], + [ + 4071091736153400498, + 2542615683181738130 + ], + [ + 16210967207082691428, + 15602859391189745009 + ], + [ + 9753315200211759260, + 4336724800081581944 + ], + [ + 12932092173056216053, + 12931099434461773968 + ], + [ + 8788745573162902076, + 7980158220574106169 + ], + [ + 13175330153072920178, + 16437410433529168922 + ], + [ + 13975091221986931445, + 4327588166082563219 + ], + [ + 13331810757473637219, + 4142727724769800211 + ], + [ + 276573029376908296, + 1189033493359464852 + ], + [ + 18022585573050079927, + 11130955384796759684 + ] + ], + "merkle_proof": { + "siblings": [ + "13039242901314697235187099144438934130243892036678201844190839000688568244502", + "5298891569977273645896372877531603205116688596872564665413507148808916963547", + "35362361495773780955779370852357429086502913051207647778248904109368802562", + "529563370589237293747304795279118551289854233848076138307243771899721056029", + "8718260671426783185214437433855226779419632493137250540472680428825771601277", + "13115986951076622126138352239187846774533395081336789598567954430706314452858", + "19370895137678698194073367468113061966179778466734817403559934920138759831636" + ] + } + }, + { + "evals": [ + [ + 13328744594847075120, + 2502145057941153610 + ], + [ + 14377336131224178886, + 12910636185216643659 + ], + [ + 987808991352052348, + 16905356616148767629 + ], + [ + 9841659521219056347, + 834060886588993859 + ], + [ + 9999333294347448895, + 16829258434876546261 + ], + [ + 14207327853099393471, + 10816809023980514658 + ], + [ + 6599222542227174629, + 4633213606650835970 + ], + [ + 10844268567762996844, + 4757290878553593928 + ], + [ + 4574055892515490684, + 4203688180472377965 + ], + [ + 9113201926977712328, + 12981102382022534918 + ], + [ + 15325774164714451697, + 10069983152858086191 + ], + [ + 14215036591501444593, + 9596146905736977067 + ], + [ + 3242489078883815558, + 12566975931812139911 + ], + [ + 8924287034869250663, + 12581469604731751797 + ], + [ + 12924683360802178874, + 12489098564279791270 + ], + [ + 11005867223387898438, + 11297525015793463136 + ] + ], + "merkle_proof": { + "siblings": [ + "21498200428324706849936275048643690423266985769539200538742423378746476755166", + "7019602043950521621195839238475942193319242214021636479275047839637920942799", + "21814991800575246174591453754012484422416138376692796202115629458366646578674" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 9280555068696826287, + 4001885808057027637, + 16231544483669576552, + 1140246101465519184, + 16300991421565453828, + 5482472459805223577, + 2189995884062942771, + 3597354725718083606, + 13513884255577687119, + 3141858321949732204, + 13588812399445957562, + 3050199297584333792, + 15277049550676944495, + 14020726270659966982, + 469116937498997644, + 16502392576418859688, + 6945738550002833966, + 829168331352508287, + 6151878327973095011, + 6248286114105741491, + 7510126297739671648, + 9313156472865838698, + 3851034692562639772, + 5587784848558537888, + 434128066439850913, + 15350235806115315229, + 9942255330106291180, + 9410396087520460724, + 9578527147981968541, + 17126336133059297535, + 16701170669840508760, + 15749964795193485234, + 12931739317469231863, + 284128450879582829, + 16615162948902827968, + 7622707978140891993, + 10519580768568852133, + 15649138937288111166, + 7584061966013165776, + 3767167105323535731, + 5504266062908096897, + 17333181647782643563, + 5323819998244210557, + 14047358260532292447, + 12267202936913821902, + 3087083511538464571, + 18430404485388647539, + 15326229421722974847, + 11403129053356004043, + 13045687092673374497, + 5701996247644922806, + 1654966914837517997, + 11663588865662730289, + 17696796052155447396, + 3244926571644059361, + 9379046376200039094, + 9773369078285065600, + 16985595101185999947, + 6742405911925007763, + 16685556914241608378, + 8777806288373607941, + 11168789582736490205, + 13640110138947571805, + 9129638107443387485, + 13431852219463485636, + 5642598412955770389, + 5399572031366389180, + 7426815913029030928, + 8763087693493024953, + 14989341079829258364, + 4452754083278562222, + 1643554529176044199, + 8824932834547263673, + 937215362627950629, + 12203345454128356762, + 7711043317899880180, + 11957576335334111669, + 3897196634600772074, + 12480338747799925085, + 15370917339256225088, + 11831310807445812087, + 1412683660443317261, + 15667791362292636161, + 17913583536106425898, + 10753245081409166454 + ], + { + "siblings": [ + "10872363806754187592611217723118795807418254148649058745786099933807888534291", + "6301836468722617344529959686380091376891224918739574774722278888301213855345", + "12784565580427879658463797847274136280584425780271712482979717121277901993888", + "19710812836801813674117768135260924859377858880128643852289474994296221659653", + "10665003950468450265631581927702679457280957900007234241732852517543895328685", + "16483447496173364627192183773852227135421359018098324755368830064858098597032", + "11093008888603605170826886721337658880228962211392379838004703668930503739103", + "9915791100938904840585818796225789157101374202934379052720397486064293123804", + "11917707253005676328481268928020821972478641503112474707081668115132080942455", + "1593075303204509141551890313129238391083374053951902630372951239865833666737", + "10791494797524972430968348527033059684715870207127745483842151655060086131787", + "16377856146392705051703843775182662034541744697460113611130312265971252275281", + "3365186494193400003557284429970909966603854475624806485079166556116472758801", + "2958779343749316688648742272583250689669296363662505133611762784557370200036", + "12235235678120191549890789760852589134711592164560648451026060190774778056356" + ] + } + ], + [ + [ + 7627365366242934446, + 14193547472724347270, + 8564037460041252105, + 1036226407906357736, + 4367023868771201390, + 12555811121294109670, + 9135732953785180029, + 18320595970774888087, + 16887358185691211156, + 3252552979182453247, + 1732693599211588683, + 13057207017940908879, + 10293520466105157262, + 17292958868756535430, + 17767112463087802631, + 4532970065484402547, + 15709635952624614423, + 8470720578619224198, + 220797404262374758, + 17559016292476185709, + 13826325343824589751, + 1536075703960779071, + 8417648672175738234, + 11357130587298929029, + 4115445267821712899, + 8181790206455646527, + 1982384685026736463, + 4554188502567060333, + 6671308721795910439, + 4171109668694282713, + 12254375084699507919, + 8646369097942794457, + 14701140094029284475, + 16763857981288522048, + 15944686896258910833, + 11270493280211757689, + 11794555743745335640, + 7443238531842316523, + 9901605965309368035, + 3194966545439521617, + 14138622457167246428, + 2440098611200767333, + 4332086778397034494, + 2386803540903346417, + 5188083140523546314, + 17343355883340295217, + 16494283140949750984, + 13128307066885296312, + 16605708119103430703, + 15175871670558487105, + 8253735754266827290, + 11885010142730458943, + 2442470863853516878, + 12890211846337597574, + 1870921821569744075, + 9287366054259698240, + 5983762710369494540, + 3860330858609607504, + 10430291850782481239, + 12325942022203025338, + 14475193057973790675, + 5276875562796451327, + 3366209204947589226, + 17531270664032710339, + 4285564656212164269, + 11408299929906980206, + 14565776212191234447, + 4600834676315614171, + 4964950992205371851, + 3302465115615629820, + 18115372594860813724, + 8923879902249679623, + 8172047585307365839, + 9311768749452002177, + 5087079040780078952, + 2924300585890752021, + 6435244334123570700, + 6432225671504639924, + 17762449936403782032, + 889299577197009809, + 4714683978815472593, + 9079788294309697288, + 8409100259347312102, + 14094520310303803784, + 13554132643787072178, + 14787090497146037216, + 18188902467076281066, + 6261125066747867390, + 13212168453791507706, + 7566468484666350942, + 14674770014326133195, + 16421012149924979555, + 15605118736310065363, + 10274999558022238550, + 8287664549674742817, + 12092792490515261106, + 3231522153399790943, + 3314160461015527025, + 15114387218545952918, + 647229366146466841, + 16560902436053944595, + 15108966110212598365, + 17552201075754793937, + 228067722509179428, + 5567063840211510676, + 14090792739561002483, + 7344295930412925614, + 3110208861572963152, + 17758788500176348795, + 4180035729469149178, + 11549904923767463563, + 949036400162208862, + 12204520489107863385, + 10831330171306726310, + 10584648881023064481, + 7300805956955513718, + 15476795068848193631, + 8406195091002958924, + 18150865515655338761, + 1224851220927689801, + 12132591365205880307, + 6050717807418597827, + 1613132533806778268, + 15263824903395345847, + 15817602632567677489, + 9792596179140943936, + 8575281931791771671, + 1707587194612579288, + 12795987340245190620, + 1971579973932823111, + 17569077865591871428, + 5852728381012128902, + 9231308119436205027, + 5952508193939371724, + 14525917058187426231 + ], + { + "siblings": [ + "18931797776153243623423108110517958881400728833857646069476308952844017345863", + "13943631948322582458883277880632953784887619008946937587556229688940368724905", + "6675584812860358304530518558694197261710630772080824389472959100875620653620", + "17729575420042003925039558195766715469157946593163413676831126930586133746107", + "17840565959272287354488662224609890652313198073130665576039952442380826414342", + "6392788273606418797665055986275390503356738567785976808713911463082990943708", + "20459465307036915031173815644585925634181565577870070676709139553873120205751", + "8028457656266256220284712737623999027150418292639306640585948956612056219333", + "19541461724652550322495246915583703188601149547665331479217173354328123991932", + "6284509275073581601399992229653696109146565184442605654908373586546576889682", + "5160699194127008737885115944944121404105597288803826675180428603830192885470", + "322990203792631507923075393103408468514644402428585450854294428051708254403", + "6631170496176920763461409909295024585015702420005764999311097655363096388379", + "9545935295437365949421595382150108874167943036619679750892876001138648572881", + "18770968892418868841578749491830032160758628589274695657987823293050970614052" + ] + } + ], + [ + [ + 15117631458214346686, + 661244023996834323, + 2698393221155709721, + 2384307264530848055, + 8442852439276583898, + 1688479887049549005, + 1835653352512347078, + 6361896548274532113, + 6030859995227548330, + 8429109366353439832, + 7921159707223855042, + 13259083348805761677, + 4309359755094427434, + 4192148481744790653, + 13656024978858638169, + 10548909474640312096, + 4886309699360201139, + 2056924930820742613, + 13255727999774481302, + 17456860875159309925 + ], + { + "siblings": [ + "288481005866207064131411340683068299226696435880004028938883335079424428480", + "10695835536390476261819855662195384128931732252537552905462782383987671530412", + "13351062494580022400583315258821743636834913767742505092543562212908024484055", + "12700725750622272170079372910182716792471914999888617207483925638764415056380", + "2280128502694477059296155833027681360205035716608995986070796973127924141212", + "21779959320528215730809797971818003896302795854229764271101721683535809854076", + "15637185465246433065600716963398568258463822010902981699146612003013250341268", + "7591310004410346282908171003225803810756959883186554618556895093854188892810", + "4488936370063637601699034566348754266448854910974021591411939296129677292204", + "8419234091127373620399311622196192651537289903964815216358503595077312900783", + "5713418345858577142877254761786896309978440574146657658096681342969789211254", + "5487490507734547226085631887915093302244112007842336752639374513154136290264", + "7938508758156208591161034634325789752018450275596360621511709241368231779922", + "10575105728072189292112226770374712961880013320025658815357394823816211559139", + "19478302924232635870478547819825042610052788492241372659723250886001482452562" + ] + } + ], + [ + [ + 7971736607890373515, + 3441565521260218387, + 17358384630219900974, + 11932585938441243453, + 3534872388674182986, + 2256561573070451899, + 10725558682273763923, + 10850186371506675971, + 7639543984282801734, + 16633873553952373180, + 465855025102311253, + 5786113829390610582, + 1599196709873750184, + 1894988121366381904, + 14052572394991225621, + 3949498037015218427 + ], + { + "siblings": [ + "2795672346122202678443383851333070411822040593129509103341199953172575650674", + "12681955609136561624602587792013598989796359467565979523599192437503895875054", + "2071611250402863030995904357056229280623361443193320014322574382029285845841", + "2765910417343032050582178946718053755585388684356080892958056727969663581808", + "6687304685394957070924523752164007152849676419019139317282871890425812466961", + "16806272916476281792713424976937078273376640770926918961080110148492413197017", + "14658343862759492890390306535615024818613395760892512257491523389462128098671", + "4826481120364116135633200646653437845531815516940208349476939205195511409156", + "9236508895381902906511378394344023692881518506071907756677883973589251459883", + "6686185126819250720169399802731579437083656166424860364907355278587598146069", + "3385882484269681605597539575878227490665478457385741336802910298095714444652", + "14607603121638978695481979531732099289095609545816419397167501167979418253830", + "85388769810786483909951309649485757144810785532239899819620662875631867637", + "15498437723587448058463171478561473500562746799635543001924717550179176797799", + "9648335207598405360268433533814114817851849642239166981722636893352368198140" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 7155246379028123890, + 12721222575342838195 + ], + [ + 1638125659982855962, + 8719541070199515592 + ], + [ + 6725134164751408912, + 4350654749438066059 + ], + [ + 11531578425032333031, + 3406209750290996835 + ], + [ + 17258191368515181632, + 7852011714657936001 + ], + [ + 11361820729790621845, + 2868413280628959335 + ], + [ + 13314691611571286708, + 3450858285839908854 + ], + [ + 297314649871681782, + 9314640749811147747 + ], + [ + 3668159313046083371, + 17303172046040553238 + ], + [ + 7346726060592446574, + 9491750798077572102 + ], + [ + 16184112751225958528, + 6114517062331318814 + ], + [ + 16408605135440173465, + 18429045311455504292 + ], + [ + 4722388289678903121, + 15773812376792806070 + ], + [ + 16242306952194910642, + 9691509692265857659 + ], + [ + 15618912259583359692, + 3245367727222118941 + ], + [ + 3557214268093584476, + 16497424287097755832 + ] + ], + "merkle_proof": { + "siblings": [ + "458467884933593850358818255253299945218341738860117701450291241643915296550", + "15743032144589822516617856011281078925128180049570082822896495040178588290636", + "20748980096316715819567547375834488682577938342489364244913057633467030615453", + "21729196861770635666139802968521442787124952177627705825491470811300165305755", + "21418587454443375975520049253173038849387378824544077470314225009528160402255", + "15410520814613054405560551052610983102196948211773401453716557248789185504399", + "21402770329782766743218315623861010884938286937579944688956326820786619615342", + "14151572691093372562172862672692206697102264148905972260270917537178790101079", + "1752984751511453668618624986719220933401826418184419391807047366057384701966", + "10021621383265088671803370261078619380519463024455290755630525242079464878598", + "12576368533346950884011950685428271310558277935394125241017381736890135476615" + ] + } + }, + { + "evals": [ + [ + 111308129961675543, + 10884655181554331427 + ], + [ + 14629693239896611193, + 4632779337779782360 + ], + [ + 2815605208367870505, + 8523692561239748229 + ], + [ + 7714439543571162118, + 3455022746000318167 + ], + [ + 11523414880785288449, + 5089405471511037158 + ], + [ + 7849442206409332787, + 16749452052066313535 + ], + [ + 936041015711788240, + 10413890706681529886 + ], + [ + 11333539235824831494, + 3433323482599673082 + ], + [ + 296654680918848387, + 1328245617592267660 + ], + [ + 592253879825001188, + 16520371183283078238 + ], + [ + 14645575442512957812, + 13843565030966252124 + ], + [ + 12518169788349495476, + 5049420874666417461 + ], + [ + 18290298288385362373, + 12258736603130777333 + ], + [ + 7196221787006839085, + 9402205046837165263 + ], + [ + 17161346405979055986, + 13778849226459137222 + ], + [ + 1484078336531286041, + 17317968417301285543 + ] + ], + "merkle_proof": { + "siblings": [ + "13360920134899662407175021402436166762289612681462063381638441467313009530391", + "20441531042813507748316871063534271131907438836745448167633798783561767343257", + "20908828464419001754019989573868984745982769585979079505762295888281128264891", + "13641349512603618346813303570409022828495405440809963214982159165264045939452", + "20572242205580258384537214863380300734742663416329179378420606908657735344991", + "18156383956019187403323707388777099853391857061125238402383600737272109369495", + "6948564961487418334226172574037007001327529854561390080836035767638501739243" + ] + } + }, + { + "evals": [ + [ + 8517851445184695015, + 14129019583412350846 + ], + [ + 10863745190316010050, + 8374062882921335722 + ], + [ + 6758686908360170917, + 13660441213389958515 + ], + [ + 543417933387861051, + 5432175668990141630 + ], + [ + 225044390617386869, + 15972370604038322653 + ], + [ + 13321039908710738663, + 10159895410941266008 + ], + [ + 15157863918611908783, + 8451194409865276677 + ], + [ + 942142629367555517, + 3406761152655335902 + ], + [ + 8171216536952856414, + 14473801245828549146 + ], + [ + 8841355278551390274, + 2527116504175688243 + ], + [ + 9661860849775391630, + 581201637340133418 + ], + [ + 11514985101581811696, + 15809614685412618348 + ], + [ + 18251252417385755157, + 10962647655186196732 + ], + [ + 13155274402832692670, + 11464385227783888568 + ], + [ + 10489819200820774774, + 5032427252668448764 + ], + [ + 46694390160987980, + 6497521366919468305 + ] + ], + "merkle_proof": { + "siblings": [ + "1326961531719798533114356807193884253537879127996043045520848318808312026727", + "18834669719457560212631146312636550810511308731829120651626751540107892727257", + "2234462496520727550788941489381782444228482746153190656146014005041904418510" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 15493987180642096148, + 1956555179229441985, + 12674596434481074873, + 2950852950719289795, + 13104932209188022897, + 13626781452809010982, + 8064356737754111390, + 1396880379060034041, + 2126866887018339048, + 4430242921000982923, + 18170016998174202263, + 10919124616991285777, + 12935809832706743015, + 7947518963926618790, + 15268182595472451076, + 13065441347099990613, + 3891182045006809736, + 615125855132396572, + 10919118642263917769, + 12147609497226773831, + 14017114783015652677, + 2977856954075037246, + 5403658462466916401, + 9770908205463591991, + 42863035478673176, + 11706758872004674986, + 12344398022613391019, + 9217226103005598053, + 5614761403586170741, + 1188081975512719006, + 9087014759374348319, + 3595589408102593113, + 5658040311249451891, + 9917656281455842181, + 6170907415801702315, + 15058674022954071351, + 9347847720968869683, + 6624290774005708371, + 3221134530161548843, + 15841662944732254894, + 16874605425091788311, + 15340251726581185573, + 8775797637681347873, + 9439387788680256288, + 1370537198185563806, + 1431283865451663952, + 16685663309605289827, + 8790542115891517192, + 5052603748309394987, + 10994882130474024262, + 4082749586968370041, + 16903808404143512137, + 10340546890474130425, + 4343775823774160865, + 12910988800260564251, + 8765551682554994428, + 9466716138845830395, + 13738117647604426230, + 13793978893982569073, + 15686047546325874363, + 10213443939849030286, + 2766564051797380608, + 2492601746631242827, + 9026876314660218287, + 4612126962468355604, + 14730078212434620389, + 11398214234503215031, + 4738997525805167729, + 679290946798766835, + 17054659323660681146, + 628211285865094937, + 8730501734555522797, + 12275053855012820936, + 3052515932882607758, + 10192126743574756326, + 8540596386107928895, + 10780445995619360297, + 17622653077060892723, + 13229491167622300796, + 13795005611294170608, + 14291719684955922511, + 11854650957351490027, + 3341820548035626527, + 13708631486990608718, + 16717987210753838414 + ], + { + "siblings": [ + "19113000044750339352119766149263357847562126963317144304490267242382686715937", + "19037486056830313796665407703191885995648239232757154678617904550214580842429", + "18005794327197977666841034619719338726596347299235738339831875857549941707796", + "13119330431414900154828731781424107642587501136484296019811816918824825413265", + "1169039261741103079506178187124144892185916179108232865713003658757372427661", + "4602275705116431772590363917470533176986086071951632257033073769930737811390", + "20069971515820550293855501348640117752924432310746204025763958632926689072676", + "6093864408750219347044370487155255492252012157832836464250653782975137217840", + "3557910103348688858454575188891760238575365766601835111937982038338119557084", + "1816562968191905748610987285608305068448811085076822664196307922802187463287", + "6464745059811231970063417766079921911312139745979856040961672472610523468548", + "2981000169502582097410053859615874782785217395608045167491116796719190269954", + "19457110815839685725341144388336798438677302129002258432455730563586305937962", + "8749275596085141418488651624545701957430230987885140666570458310292917244395", + "13834636827453796702156669041371965867523940794881726476769469883562443867150" + ] + } + ], + [ + [ + 7432309957198031047, + 6079924557420006227, + 4070180031267582283, + 11436144883988094257, + 3104417780072427885, + 8205065033269371134, + 5090551308404573590, + 12083328476937899992, + 15643386402182458648, + 9003105519384574480, + 8926382181654541390, + 325626970200554193, + 11731411010180503306, + 10883861954397079976, + 2877224145548538245, + 12628163063548310002, + 14952868469372584526, + 9336476045542561021, + 10771003818149289231, + 15743288447329376461, + 2692711096278681347, + 15717669586769093615, + 1807586553100330388, + 7740843382445315345, + 1679994378714926631, + 8953989951199557800, + 18009843559337855324, + 14955768068964779031, + 3853240283583745097, + 876248690751438436, + 10845277338982082739, + 17180339167129052182, + 17503550346859556479, + 12067652712251979801, + 9906943000120616123, + 12973864180737335521, + 6040525570743083402, + 11730004865143542640, + 11043700163727545544, + 10622757029251632649, + 4834319235796616779, + 2372578868135643320, + 12206672371933537393, + 8214410952680499456, + 10357654982170411289, + 12076662990509263383, + 15514318011313080752, + 12606988199181019216, + 14162866605748928946, + 15137683950454671317, + 9866476445483149031, + 6059434396232136343, + 8683916032580719357, + 8139008376545053835, + 7692103042979555399, + 17581644876265738812, + 259302843373001584, + 1234776813487352117, + 5152716247765203236, + 2262853129066322563, + 11029601023507432165, + 11768885370584562341, + 12084349918873302227, + 14503757867593541813, + 10449086046253696717, + 7474870484758360537, + 10725665288761426981, + 4632020866798375510, + 15919492186417830654, + 15589340779558583396, + 3027898722612882725, + 8179024574845364121, + 4042813432462009807, + 6455508898142227758, + 9047766497644045337, + 293635808497283640, + 6750684921231638819, + 2644837644749864621, + 8629510785882954183, + 15603309658225735338, + 2927158207962583476, + 7318210943725325490, + 14192027357821926014, + 12555615390735530952, + 14009185751405288881, + 17002095134697557353, + 16673325527243926316, + 2190616166397130617, + 11691118943076334951, + 12752575536018919095, + 6031262635909690675, + 14281434346279080847, + 10167264097355799565, + 17109455919660238476, + 3492510801255011486, + 11769102185322791867, + 5282434283684232197, + 7167583093902041190, + 16238070437831066766, + 16259512141897262060, + 15866847045072068675, + 16777745247772976229, + 2904511597826971783, + 672756030586063297, + 5201758959103999313, + 10811989980349257728, + 17218206606759573576, + 14033480998107102703, + 7309840370594216139, + 3408124284085783085, + 13236946023260304934, + 1702395523085763941, + 4981653633781361214, + 12656411785178942166, + 5262395002620800501, + 2071125264639465005, + 3169410397483887159, + 11929018532122150838, + 7791226113017173402, + 3792644366773904424, + 4070934200492553543, + 12371511821472704552, + 7481981162881133562, + 7031731107357423981, + 12781646804232647632, + 3149335629482826628, + 10400033071478980290, + 9165036614220845793, + 12598025210146347269, + 10628673118138351466, + 13960159527238984774, + 11895155354016220344, + 12874426105550535154, + 1965383143206752910, + 2962281735730383071 + ], + { + "siblings": [ + "4837996116117950345118184778224870191535431079309095097850726980861259492247", + "37700766342971445693480714455515003417206015401735315064293653850513715847", + "15700112629684878623083299973492624205591442966275239431720279373327328353511", + "5849190087357238799578265057622647598617768026550181896359127618034070820300", + "7825251651602297068983132035335195748611655648478161958416421222086087364516", + "19537607629721695464247443174053948587028956115303576668059501191449728405497", + "17287904614164261643681165676914217666353768977918738463205476968900549883493", + "15752418566124391421348412492348131219085509766784345560558327621222915232184", + "15972072042572297857954936929832387182194788045778927160521852174966640740728", + "19307954687882769708773046111035148094818627139271788489857484818130416712433", + "19898675446067400631061757411710620494530950020961701211628412020478631515923", + "12944709418146415794172121726934656291284774849620198405451901054686970957031", + "6036754530898429950164238563711392876344403974858986967434797919113133872996", + "15324886096458625806120382403677809438546688142133864881063403695517188725974", + "2003025186830378469992411409134711797452700796392175270468640510215277652313" + ] + } + ], + [ + [ + 8071172871782640028, + 318770854451630692, + 690091808887388893, + 4943279219535269008, + 10364869390065690107, + 6862733766993431819, + 17124479352095008847, + 4183933582255138867, + 4145666611839303258, + 12913085146161962530, + 817450982318209693, + 10601647554951529126, + 1908752495723832532, + 14671114221653832998, + 13259897240498869532, + 13838892725029981857, + 10298655066512898053, + 2945069496408462920, + 847926755666570388, + 12493039924313803055 + ], + { + "siblings": [ + "21716443962158363509418681525828147154113880890681806137164278331665275205546", + "9468076412838231275148149066056024851139014520660642774013955777371289856401", + "6880090235736861508919481566500449636512738595829069876444250580006434554138", + "10202471014052166485780340664106054009722863292670179111003528223709235992296", + "19497483263762697402462000247645051672272555831056989581911490789736221811960", + "19784942028906437754644944945192103602093151953150228790223657074754454193605", + "4216079610815392551468687026382070416944110500928775243546823070262162695050", + "7731985178161221167484054674993669851872494102262282697490222928256699200689", + "10342531799017757453748397419147537011399150476368288408391242794785205009192", + "9364282145637873165657899520989555311371965797858126585282238830411632577538", + "20539031754125231456458094400131146660384896933608990349302580009789779476836", + "6630207748738866777710714646683285821633527872400664062112269591179630256955", + "12025464580649593217416525056005999307816941651808516791553328664111780566658", + "16168573023910919283925740057378350475356044906819021383931652470666294331391", + "13378107205391483814326972421756341927396172117078213453314878273200476620564" + ] + } + ], + [ + [ + 18144125613395727108, + 18279661036301833172, + 4791302741501942641, + 7607840053603517760, + 2326653254615853751, + 2385078573735405913, + 6873760128456675292, + 932913160165978881, + 16034649110513801020, + 9390638208354849827, + 17532315330999043946, + 10304161607832680683, + 12197436736430714811, + 2383013343553445269, + 12588306568505228189, + 15302650873333087942 + ], + { + "siblings": [ + "20757172759335468792830266249517268168330439585791408666061257476250561240953", + "6629379934210973768318944189368166448433448277891192568465648446307345222074", + "18193291958773220142746927708414503812120144180201638557617061521158775446361", + "19361955101045559211460332736101649499000992723895282661142051184201780140695", + "16597882074955702918940186666637711998960342729722653971644881234234770938294", + "7362420529707355602123929375165321349827363930803665659955549922568934960814", + "18119894346729364124830136359805110693980301488521318139598980469711267234751", + "2036996576244953474447942975972320183135997414346084028182844733075186442624", + "18189023305375950058164309476495710873704907176041049545010845943436150438219", + "8897922861476907033861389662318139161376751460859847897741390451487431878246", + "17535028254889892921273071516902444228312395845436187179109504487646608489377", + "7927549566448589767739510918760348073793746432600558030638286035008621045797", + "13480679526037918241260681233282733321810046282942611816404346706048540095718", + "10529918359741077486781399161426946358358463713638162597399502803871057126507", + "2047455986166700687911161481396156325900358907625786095417544084807993775919" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 16733625134684578841, + 13786205175165428638 + ], + [ + 9158733314384454596, + 18285074258405339554 + ], + [ + 2233678890184950972, + 16771874437255734327 + ], + [ + 8249647438719540170, + 16846885828041891879 + ], + [ + 8364910021888650730, + 14839060789193778555 + ], + [ + 2573067138698094638, + 994584658014033891 + ], + [ + 584387087621447172, + 3113837359639120284 + ], + [ + 6765982126805884480, + 1936312426409076422 + ], + [ + 10810662675108929513, + 17216214088646379541 + ], + [ + 2414960346654347660, + 4118398178078403591 + ], + [ + 8871246426173617598, + 13495746264850532628 + ], + [ + 17991382199971689009, + 5239657184966772673 + ], + [ + 2727118581774766017, + 5682738137101842881 + ], + [ + 10428828775722667659, + 16833485810213678496 + ], + [ + 18178509870640949949, + 5603065274448302666 + ], + [ + 10678473201982244903, + 4884730612718078020 + ] + ], + "merkle_proof": { + "siblings": [ + "5742950477408124257592608343548272898973895985801885228052328689348974847922", + "5700054200307974873183309306294716046527488232822328200462658168491844743320", + "17168415240920367014291487920613245192384784990372217063985623822871662759577", + "7595618876976269446562170506728180573111428444558820705686440271941472383430", + "2526635778806893408852851719555505745816497062702186192569663978717301264259", + "13699339116440592154888418119758351824475457528060869648815271837565563201643", + "13108389823924868470786782580679085784728329053823976515662562162701240741263", + "3923284857941659548368645932963239721250628833334581347839401229776985819240", + "17940593994585375056772211860490018551011355593011295350439457965961538253455", + "944782074572522575390265935197556586376268451700118012749529619567327481591", + "2975931611919643479796411290061009393472897419500223725924364957275744870424" + ] + } + }, + { + "evals": [ + [ + 7233978541325732109, + 8931819169752089650 + ], + [ + 9269949596212653633, + 1701577252937336807 + ], + [ + 10782970697025907600, + 12172438613658194203 + ], + [ + 9561871531249450850, + 5756328709661636094 + ], + [ + 15986745123108153963, + 10062666762139987858 + ], + [ + 12541684187035501732, + 3936999910847680536 + ], + [ + 15746366287226272571, + 363087879452210358 + ], + [ + 4849120825487088481, + 8867082458729363094 + ], + [ + 2606766711816160290, + 13343735094777441171 + ], + [ + 6588473421974885006, + 14146322027464441851 + ], + [ + 3703555075815013792, + 4651651549294528618 + ], + [ + 13064495230645776128, + 4290792765117398288 + ], + [ + 8039160000556410012, + 17612772593706760184 + ], + [ + 897459327445495542, + 7869487584468276823 + ], + [ + 7643290025274666047, + 14441030306493495152 + ], + [ + 6021523814726761720, + 9289439879627499933 + ] + ], + "merkle_proof": { + "siblings": [ + "7920267665984031325787540748525587486439786881709854398711666289713545942253", + "11365013842595329107258205666469796049048671570053138800386244524492391816989", + "3637150886174944176649355005053859849890595862828632206998667697281527788379", + "12803781331098734857342278506334551951377464059618464314776718848385319961969", + "1672757949155388597172901318424920762869209478397445493108863176673907235780", + "17747942611784469887111012033103075625881141472509834889375497767690896191408", + "8759568187531003623558766371445723215293036328492345899014924791238882641187" + ] + } + }, + { + "evals": [ + [ + 15061151467764657332, + 13510079721825724486 + ], + [ + 9731105611503825052, + 10502464307717878970 + ], + [ + 5056546005700534732, + 15277006182004110369 + ], + [ + 8744838535491790194, + 16974767349141914059 + ], + [ + 8938336011362077137, + 18261974825896042629 + ], + [ + 15084981173809703386, + 6266986059996938417 + ], + [ + 13513833462226109860, + 2744197715047639121 + ], + [ + 5824778689887058774, + 9051243531911150778 + ], + [ + 11871483028916918172, + 5031929616261578180 + ], + [ + 1687762193239191787, + 10636791172902129472 + ], + [ + 17000896546682970831, + 509671096056188157 + ], + [ + 3824557258074134788, + 15653702525390899278 + ], + [ + 12645236597117575440, + 3679939700809237780 + ], + [ + 6751323028298305960, + 13178365290705747078 + ], + [ + 17435338272658462440, + 8580545689319340355 + ], + [ + 10515375895578194027, + 12725262340443856799 + ] + ], + "merkle_proof": { + "siblings": [ + "1430699785567361745125702841816949144026190442928019362907183048030051226895", + "7007771603463773719581354487507451275206463742768425875356270326866824576824", + "10422508754058646717135289003227007390740549750370316713991205660061255832447" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 9131773311907459613, + 13415000488317280806, + 12560250440030121032, + 16395524730605627496, + 17672965794443134982, + 1905284606243206821, + 9711251133796663772, + 10212269920956420985, + 17987558172486975205, + 4055007161978158912, + 5117379640570218740, + 16241841588822287164, + 17730622395406565547, + 2477264775880940719, + 5324305860791360224, + 3973071749163396621, + 14392831729485316149, + 713816913008527057, + 7472522039784360129, + 10390506420927093890, + 5283546913348367976, + 18068904573956220383, + 12758439399763472878, + 16219497185516933652, + 10121619443166779346, + 11932673341293521573, + 1111923642344172470, + 12512721510938403095, + 366691796852434435, + 7493519774769713642, + 8560694888581787634, + 7456305194094480161, + 10300435335298337210, + 3614397163745387227, + 15137023191198799635, + 13128143361118803873, + 2243000156207716239, + 17112260696830620070, + 8782057512041340090, + 4791022907440038727, + 14256443526562363886, + 9584561289062725933, + 12912507514320708073, + 8316705976777532635, + 7307570580588952842, + 14343305842736063043, + 6170884671314078078, + 96858560922048783, + 15593607692620593272, + 1935491439945406228, + 6210326324379796831, + 1505054497329796130, + 2905585637741009755, + 8345609710739954330, + 30454701826921816, + 11820720998378061579, + 4884465617695078951, + 4405311312537644492, + 5843791445466032967, + 14359255921155561797, + 16118908420558378429, + 10756449275629244896, + 16724977823999989906, + 14603634577209710403, + 15220084218236186395, + 10180307494821884060, + 14282605634493353636, + 5659681563646646741, + 9377046649096907301, + 6021711792095027266, + 16026135840472487536, + 2323737741247686223, + 1339460154504975038, + 15619811516934990821, + 11186002109204745801, + 194717441912766324, + 1548304072695878707, + 13941028687588515893, + 14971049900109498254, + 9843316972728111802, + 12912982605680147596, + 8488571505631466133, + 11279679389520356839, + 16055078718305188460, + 10354343745802255933 + ], + { + "siblings": [ + "11848064732611882314424652134944707690682124539317439120235269517594963789097", + "1999575652410474967660660725712831805541821120091116715191486406553877899470", + "15732170824080035734736074359201158962378030161840663965386714893368339516838", + "4476322322968172058519388383598527733734006711003675402960544570081745259765", + "10530988693702419068307062309625776329566407187111913240487360662662984335940", + "10703322008614832356673668905473680850380915953913114170290736648961679552692", + "1539649436935169477117475746937039308314197982612024564966100087973630445366", + "19415083354211701555225807325711211219572546303326404678897289895710119405896", + "4889464150032331720332576020028802981273647562375332676368078663424040231489", + "1245593811026253980571968479277332583226368334052734102456808681112132015684", + "11526419424592429794804098745660565576567916917255667716439145709429814829083", + "7130479295805638633638231611657237943177558112553222810104019066121514426642", + "1397758338418510546814021271330752545923144259053751793020499858834357175918", + "17133641846889777726267451688119963837362515353925007410493412156705900150071", + "13794786528363753611493654252765450812418636362258902878352692032439049101504" + ] + } + ], + [ + [ + 17775425943149964952, + 6426920739361363676, + 2016855310456141580, + 5973217781567716816, + 8863969001134939891, + 7128498554825770984, + 15931354111134159207, + 6769255340825845870, + 15145088935452297148, + 577166510208495267, + 12026598090691878866, + 10504541563683983151, + 6311809387227744572, + 11071733497093351873, + 16521112579042677852, + 17186744439028696617, + 6311253191940129168, + 10778275902744059397, + 8091729326149312559, + 10319611858571119902, + 10536438658089481563, + 13770929774462935220, + 12948363975652180392, + 13608809357830564017, + 15132362737185396324, + 16001011815859468555, + 3159911468895282238, + 376792818531801970, + 5101801335348310192, + 14014911723199763602, + 3783658614167010943, + 12367795228770656254, + 9088948808380917218, + 17748650961868785722, + 6322944743862139084, + 222101919051741878, + 12612653488321082908, + 8979899209736108121, + 18139951310721088410, + 6849583355810337913, + 18406123355570749881, + 909077371069257955, + 1210861614773726186, + 2190607837935011879, + 17112764470233028400, + 3322253954955796322, + 12812442455706990130, + 13864754595716295466, + 4528284773363081094, + 7000095491269059370, + 7123066333765485517, + 4104796442951587892, + 1904403673106498701, + 17175636428419182564, + 10242803527250787018, + 5053531826511595820, + 93904281369316748, + 10762230597211200414, + 6362736202495996655, + 1080965176415044222, + 13682899953897976153, + 5848335770975536636, + 5656783748064256964, + 16539355428393695638, + 11528440325716237354, + 3531982586770646330, + 173322983278264550, + 11544886311899234610, + 5104664456203256318, + 9948262459009837489, + 6351310952833466427, + 17739193016882095065, + 5547615749102465861, + 6586830343237263243, + 5957835798222576961, + 11045565715870322382, + 3575626961011945857, + 5504522252785528188, + 15396295229118979398, + 18069991229129154969, + 922131882141076231, + 11282520093153404427, + 11487478308557585293, + 1082518738024692923, + 16635646574448807173, + 1879938864085487054, + 8317538654351847724, + 4794211964991396962, + 12133822136734342582, + 6468579410717691288, + 18303014532748195, + 6176523844076140692, + 18297960352202924155, + 5815352216080554070, + 14598294701897871625, + 7356344768926436650, + 3619573569486512781, + 6254938164786582042, + 3139904019206329861, + 18440171136091647092, + 12378869557303385520, + 8725676109847411123, + 5058575740083095992, + 10422546802839136028, + 2191956870737662666, + 14087123451546279360, + 4433350433782740328, + 17417224877531008627, + 3520319657968238687, + 11948981698693362302, + 13216861435429307969, + 14769145593066335704, + 7682927435882900992, + 15110164165565164718, + 7962427291302936289, + 1732203469542626061, + 12952581401475809455, + 4528493605519033542, + 10955862660365617490, + 7608333611705793523, + 11584281667551461188, + 11463258000378442147, + 1336707893989174755, + 14038708844707354997, + 17630917919346607067, + 591898423100993367, + 12116832989301704226, + 2785005269733265764, + 4427422749009746843, + 4169436542445192080, + 3885292812246324875, + 5607541014709272434, + 6159573554531293352, + 5621750619563079510, + 566994158690700251 + ], + { + "siblings": [ + "10172724472986570080527929175396461651627946089341497433968179852335181772591", + "397426265032582928801806285558806702553974235565758532953276163080551792307", + "17437207715667305594510711089286339836547797568711664315571770493119271923804", + "4345641240136196299739049520021172101793008084546556620790812515767999061596", + "20553405930501148338789673550315667759379323218927699239526984983825517603846", + "6758579233008345067545043626758483615097526514581681789914343256432899826416", + "11739538318954722588728627191016578604205408771537311742355149574869864627096", + "13837948819822327515984541511077344067822683444147862520004007635113799834006", + "5762719087930225095348795299933241870400018421862358838333992615673201553317", + "4295627091148688740136621124072659530738304453021727474432509933490424791022", + "681809012915640451721807865917451240939392478354699791680820881105713956222", + "10459191613653947146479535992186827797446528817981172341701288205469568025495", + "7063986874320283811802414688857649299624883856187415309133992821711520213636", + "8458686930817474516025049670660008227476577190722823702536813785039776270778", + "2511878535145131648594931507434935211958627771215824804559170204418835606015" + ] + } + ], + [ + [ + 16787064563218442308, + 2119996106100204877, + 4547781008963015547, + 312641956419340622, + 2898560145083731651, + 8445698988288767945, + 11314894875964852035, + 3329200445552330287, + 11206292857477239279, + 4811911634945212514, + 10961079629394996728, + 2042542295684173244, + 17952545877405949202, + 3103334087088476328, + 16829300210750425288, + 15469866531964370836, + 17045339637764726336, + 11206264241207413510, + 8791961582134146700, + 10545111822324086552 + ], + { + "siblings": [ + "3839968505891602893630687820437977437028060909170641059094856472530564916986", + "18685905656087064596054891595154768451709188501864843220345442904903340931635", + "4719527020018478606606981907113097318903318827988484104726742798950239732435", + "19233729519287405873757350709017272040369210234039007219422413645397748536949", + "13440397479811036481107499640952595699658017982266244950587526898562555236203", + "7176896303950214125045695180369639978831782495246595660397216131693054631966", + "17800597786581302671525258420024378126017899057862821271260961591144108249123", + "2013993260174764625040773752224366942357437815347389783215151812577517028047", + "16120246821346863143024601552042421900459710336801271762014850743256426966420", + "11157533883981469120934399097664399626940012752164642255272477817119110481614", + "11097802491152481962704917740179646167316445860740559763159090528275563542412", + "4159834249890439128102828049124976230023546903293477407803023027056381101756", + "10109236121461116958032188089254876177398160784803682703232278735401035031332", + "19711719116943868623792511071104461516210784240969189205502527054985732356892", + "9796346085685467217374233779852715423432132469978591417654439559234132486548" + ] + } + ], + [ + [ + 15435214048847662140, + 14297456703858623952, + 387998471036441873, + 2709793765370168774, + 4395967188280744588, + 9856900205608215560, + 16952504903156235546, + 4570417640244703994, + 11441992022162388710, + 7810982924282481228, + 6007422719430454080, + 620634231701549364, + 15872261160444216560, + 16707604779186197035, + 2758176771189204614, + 12114405407683017345 + ], + { + "siblings": [ + "21783798483429669078979174932793399824260720063357996414516320501046041182296", + "16990034189451382332688683620740430853682338829892884653579628650772606310918", + "10194971536601067649816865257002749126393564320625033907671262781493761903318", + "9825307087655373569838702014917479186051165057367306120806409191866297908003", + "5528041532548599215610735491008077203616353767207365285955930267283485345687", + "14396029124175826879690002798186407383358513224278775226682709038085432208604", + "3428369851035659562944573834044450681517868941554864266745400622877776391227", + "6716072937353147204715727330040156274003686871756337390270539574156212171640", + "15845771912981692441238974052655775098391641800932801576599070626772287771986", + "21713123692191134164915282289303584025815581426614309096573311404480360982786", + "8990017490923217792349095884020770328908269968765619332992513180801214682335", + "4894639190873805953419902515622775202800301069908615244161341869564319837050", + "8399575586356176666272519501334073325824507221006660095026599627019099587550", + "12900315372417535587764799462145263131292909164590271801130285390668068439950", + "7579515045279012937343477342416688691073608846528562215561676543478176428969" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 11564139697868980227, + 6859316701412116531 + ], + [ + 11007946697178074889, + 9352117165919940798 + ], + [ + 14186474486095869715, + 9180263409155703234 + ], + [ + 8237938552107926020, + 17305377639784760483 + ], + [ + 1040396262991437505, + 7617062393685886920 + ], + [ + 6365740656540809048, + 10694834797577122499 + ], + [ + 4352589071349361275, + 15464761928010607249 + ], + [ + 12069736051991015228, + 13133770328169614794 + ], + [ + 10878218722706385972, + 2757523610604311153 + ], + [ + 5875144977321609114, + 522690829546955588 + ], + [ + 8736017892445976868, + 52443719348817194 + ], + [ + 5642713667385207031, + 5187616872304237237 + ], + [ + 7394752042871931154, + 2882479979455586319 + ], + [ + 3865566944532925679, + 18190316700264682694 + ], + [ + 7420357607741898464, + 13095962010868386880 + ], + [ + 5262707707718447951, + 10429701573839423206 + ] + ], + "merkle_proof": { + "siblings": [ + "1759364074137659870036491295237819318647739765921299010632980832195561842400", + "17398096611621814392286349722695387486903314015792217600771738346860517956759", + "20941417093772813474959742404214687950600123621180302213846713256625875196703", + "10281176834366102146688960848947020289253221446365696986333390814223963124035", + "21588850903579639821726326767622001256342036594921586679589709044249657458819", + "15687934643097676713511744365045080915692529091848600344699931981571236446601", + "11661513793362229861727722007323233787166079442098507192372709241126498188498", + "15038139344289251756679815447309080394860779954617994923480675175460846482166", + "7238659061814398694122544169762366939255428401326903368948768258290296432077", + "2326131303380504239866130121942384303300424170470030649487961965535715993526", + "13566855311065018833905881110001454335485479790256443088716616918701557528482" + ] + } + }, + { + "evals": [ + [ + 16122223939229677402, + 15359863771207552457 + ], + [ + 12809026603256656036, + 14300907976846951285 + ], + [ + 6518511526332655107, + 13331698463809291134 + ], + [ + 12329679775249901199, + 17155436391745431130 + ], + [ + 15286646066540112686, + 9712243283241555325 + ], + [ + 480482507249330707, + 18014725851434236690 + ], + [ + 309616802975845701, + 15068243247772167927 + ], + [ + 7985445089539542536, + 1330433106707450440 + ], + [ + 15049723736426571832, + 5868971484823407379 + ], + [ + 8079291754177760228, + 7999172972129937437 + ], + [ + 16985203205745211668, + 1024528335071044061 + ], + [ + 14854348971796181993, + 17114201517687459147 + ], + [ + 2579928548911830659, + 868819934582828878 + ], + [ + 16853929042435423911, + 12907218527933246295 + ], + [ + 11305487572004911054, + 13888623628499744669 + ], + [ + 5596799048559910207, + 947062801143746647 + ] + ], + "merkle_proof": { + "siblings": [ + "4983539512472185037185117365236592133827768152065547735559586146114211801929", + "8485848452084642043669115065145831062455851295320700538538437867431596552084", + "17952325318867027322330767804688949732676324112311884111761867980987985753330", + "12553719412055681710764320101921622083304691879956191965163888254157404701722", + "7908673840901688012521788185216723493671025731622599537306689322647068314060", + "11219878086304136412982541495400613853527813689301088155517796247782808767273", + "9810298976681631004754833004145796754139701786137810253184963590797195899512" + ] + } + }, + { + "evals": [ + [ + 11770536385150660311, + 3988876580900259103 + ], + [ + 16487154248414936846, + 3021485141533272796 + ], + [ + 6521532824560097908, + 1183606752243883917 + ], + [ + 13447801350955426201, + 9579210265333836196 + ], + [ + 15749427667349791406, + 2100677219800207349 + ], + [ + 1009826221927589954, + 9783446719602584597 + ], + [ + 10911114988707587422, + 7326207951264588072 + ], + [ + 8758542091130942926, + 15505335090573094549 + ], + [ + 6643747271914393184, + 17981497071318623220 + ], + [ + 18057699109721293167, + 13441839840276482097 + ], + [ + 15988556079624147295, + 14249798996740995047 + ], + [ + 4509800225718494700, + 223642806226683040 + ], + [ + 16287680573489082922, + 3657246170013381596 + ], + [ + 17488335697646435274, + 13641551008522931740 + ], + [ + 9708965052239722988, + 17121211047146785780 + ], + [ + 8702960383468854021, + 3387933663978116528 + ] + ], + "merkle_proof": { + "siblings": [ + "7949597065645996267274446035909766534130752312837728235768676868918979834387", + "18122203897417042451621234457052847783480248695240293280139335000284195360011", + "12699563156079148352356685307466229191850081014285862348296929286058925502076" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 15168685921533597050, + 13757276682165006554, + 771117820429028056, + 3648342409119144160, + 7415895853682520692, + 9594545580970228765, + 10011729375388987277, + 4885857366684435950, + 6780767190670075956, + 15484935996942758559, + 9187525437792527531, + 5452490103266141215, + 14113318521485767195, + 1263567682070785275, + 8322522799713853909, + 16728199233319062660, + 6776715881674165383, + 12477319635773277720, + 3522246076631775022, + 1585674462805474377, + 5823900322348162307, + 15689246596575851070, + 12946150574973588741, + 5014952808175567062, + 4992209085399816468, + 2597650213495700853, + 9975268226637838089, + 7560331204941925112, + 11835952689454866659, + 5888403328753600389, + 9435864283005159545, + 2260561270984673207, + 11392438553820255850, + 16804948781346310693, + 5231204152489329288, + 15542180829691108784, + 14085717630856302587, + 6195216487119349843, + 17871708064120122650, + 6701413799387818258, + 7067264655895032943, + 2034729142953250810, + 5491015219821548898, + 11002120644650600035, + 7338438039061858959, + 14820064257099256347, + 1194662152855034397, + 5189721111777545708, + 8139985089277500326, + 2415502061103652331, + 16082800561339604790, + 11231418077351151766, + 16524553097677989151, + 5990306168042245608, + 13752371828388154900, + 863372100472232507, + 3814833049871601040, + 10763573379413183403, + 14156555876848834853, + 12699816792331443709, + 14957039047775448967, + 530359212209828125, + 11794803598254942838, + 12508820719523535128, + 1903457470924214947, + 8941996241447502857, + 890734415683029079, + 7856930165398173939, + 7841645061413827529, + 8365506809879291797, + 16767363332266559493, + 1172918613031508109, + 3494125586393486783, + 3982133795928988051, + 17007787783788401302, + 2936443789676416079, + 17975707180610941937, + 16424975754872479363, + 7526541886525146987, + 14255959875329420858, + 15544051454729301009, + 3117404526488458043, + 3537393552546053906, + 11653413092380484398, + 17515272352100510803 + ], + { + "siblings": [ + "4791987157624076945680052316593922214607455669448725480191684533268762416382", + "343609112905438350184968096876592597915650469405946684185673233643500894490", + "311987059686284557352168575752668760364636079988718326327026813436065321396", + "4097665039806508446967651676822114331482267358984045983095586668885348722050", + "20284423206817316977682424620150744769073085278299988291097358074911367549715", + "16554296253715436616542772152029037780938361720976521331159081231193759033109", + "1287586007121510963599635808855960892326903958046326207186191540448553280738", + "21027070842007694788510558505489396167576483995061825829923308134349805296762", + "16310871844980346190523232201270827637342229400646088824614871914693984117127", + "3628141854013280185676414657189801752048503376676174485135189156811599502978", + "6113750785760199632038372040263053119726659177541175339090852134055087102232", + "5283877880265548207148605734737423582868994938457404614140087684694988536123", + "19151477078915093182612091857882869803464817491338683482819306929368970669581", + "9880482267048427104190155936841954727099997999081140123810337347460132010229", + "7522562318934661790672696161147530167564271271329082929504447434247961159812" + ] + } + ], + [ + [ + 13444333574867495233, + 14500723247337625315, + 518807007031713067, + 7372431237888628818, + 7132961463055576382, + 15791975711143639017, + 3298638996052572366, + 16846367779676338259, + 9306968355138475970, + 8605513984307533220, + 17810637959704879304, + 17470264168511573711, + 7863196378446014492, + 10908644480201513401, + 9639613181338347768, + 17469844875030871646, + 12333960138087231086, + 3402560130672500133, + 1721655636995241851, + 6383896396567070299, + 6657305077001430970, + 10714788657716115427, + 16490000797281536893, + 3513909902358819287, + 2931062753619729812, + 10347255805344843800, + 10784645636331552694, + 1320287832259607820, + 8302860209058262259, + 3886829201223118645, + 14690352862060874879, + 15278673827574393221, + 4106748961521517117, + 144055779325399450, + 3431789832172820633, + 4584393435268463084, + 621922221031544884, + 6280772230368010807, + 6275101163436306422, + 17166919393109886770, + 8413525831558295100, + 13502676861648539228, + 338193809704389952, + 14085891345794831389, + 4339225531609904096, + 13775881198345001175, + 16248121604233624313, + 1989688230774920198, + 11991855119099602697, + 6981020916608202576, + 5060005817207394569, + 9113892371211680611, + 6580456762538883088, + 11369101863681768497, + 970460730195494333, + 13380256281903460300, + 673332990303915954, + 8018491364618898524, + 18240089777646049687, + 6661608181121000572, + 659057248967897093, + 8842849943653109779, + 3828114637362751063, + 6339336397672782335, + 12086946942924983729, + 12093901705423627430, + 17165389592104042101, + 2888376526715487053, + 6737491611161767360, + 16897690091199709193, + 5142556080902312994, + 1015019822519351607, + 9898489949458052592, + 14541830407766800625, + 715393633498023120, + 8301092653277664360, + 14845539813855009359, + 7817384896948177234, + 340722936992013864, + 17149023567231546710, + 5098363648504339436, + 7590262564856836396, + 2809964081503125001, + 15746485246650649131, + 8146854469607592313, + 11391839670630870880, + 17272445405169698713, + 13783145510688865970, + 16957786637983201573, + 14186101869323890386, + 1366525203591023989, + 13358327450340538944, + 7340891576344963868, + 7809945057474785012, + 2191127255894267082, + 16470486828621831686, + 6602960062048061812, + 12517159243380563412, + 3526977213115286014, + 8574374273827236792, + 7177264315370100919, + 4087901002215788805, + 5618909886595436112, + 1996626053412979996, + 17026912655108248283, + 4909837084253824525, + 8465697110953409367, + 796271094234743827, + 12213586715718254872, + 2717706594406619414, + 6413255905400838589, + 2936967318778483066, + 947546264548353658, + 8881615614078968179, + 15293954960193532190, + 17675100552683498766, + 7785662184844395353, + 6591227995100597101, + 5361501954880767776, + 15194689483770212596, + 1073137192562320450, + 675445684796878599, + 14069842479354387681, + 13054539779198428635, + 15058469930705009367, + 5674510291321297685, + 6532112670691861904, + 16064092400754002612, + 5483033194001415714, + 16806205887614755561, + 6528169520353229436, + 6073298723499509235, + 11825848888065624819, + 12725220357736796281, + 13799676402742851934 + ], + { + "siblings": [ + "7789654828174121946510652243361330621765037859342325144930548290710218293022", + "18926567812022936291568238000546235341685612480493474129785490480076709394263", + "16248393160353797930077922423976710826544009100717455789107635488901290780438", + "2295588439694177347396268872136197001582467066205858603246832601450729072651", + "12366811611549668968743005936343861634637147097322238865059626008998747919187", + "7874488485410509095802723455428935318544279402650030177990343681515306596183", + "9192467051094190083346418020739319722659187842288402808655779000330620095337", + "15792767905064856131974717386278898375669370892490315632919028492302112430103", + "6389866895204404796665009446864125458268526449195068234622493568544113943281", + "5610540299806877509739965867979594211043359951309439921539447431906629459131", + "15203159252477273756568765963895716364535590960203186735532543016429457093521", + "16790709642989122267763196200285717718016035185234256903570034985210772861631", + "3657655652622194510541091289052422772402179622848410116803269265867893914920", + "8911022273583707853959316954385922236039257608578751947684655106346464037536", + "13489855259145749826096031254835969917837871784581434644138936855439541577304" + ] + } + ], + [ + [ + 7227568050875981681, + 15574349658452325348, + 14352782617099028147, + 17728881357650954169, + 8115224868129531209, + 15600965714481073090, + 9518116254858431430, + 13085878403151630140, + 2046809118052068406, + 11018369895494933146, + 9676566896932148209, + 12484693543130419462, + 8643916871846725658, + 9035363959528593212, + 18251437976805531096, + 16038873810591903538, + 8799824570760582298, + 10940315299255255446, + 10208368500094966874, + 1401299079045219361 + ], + { + "siblings": [ + "15285563539575989853730336991704185058004025083076428525414264028845618677961", + "14501792595804460530329867252864183837846578003782605391307881542424769895643", + "14486279239539823127167437218463159176973494885771994810972512535179271173614", + "12575775782626035368375648906962799595544734225478207928112572801334912185905", + "20631925190746264989469247790436589297128958775338245298187983625117087802207", + "1263740059458331653712682167115172291264940988315436295552610195807045178215", + "19981089009340271246634288711166321974250213662675032686484849164539674567144", + "9171368301430012752679510532126540782525954241429865586415573014825460082073", + "16158446164415830916849598077361623914096921209472614284788265301881646520054", + "18401994671300147571304585362186135187606494206792361651021090887823447375237", + "7767869645624427615300251392392434590795625934478716642874889459097031388202", + "11005657050706087473840082302434312577433269520363096454746826049923131505520", + "7129450509989280496979801561888863640425077530326886000837633713458817221349", + "9445237678108996783765493741863895340623401789665896223013562906592938049906", + "9517628271757890793156147035629999858492845365579098454001928264504164098258" + ] + } + ], + [ + [ + 2551688041334330967, + 6784289695025316633, + 10022344132450579644, + 12643313929447973414, + 9971115860527157739, + 9756180730995839885, + 16111471646947412651, + 7023457070668733324, + 13826369404536857120, + 11295333259908393399, + 5742009276368727036, + 17441035778198895118, + 4014654339308500344, + 9644822351669506474, + 13659256181562944597, + 17433174914527959292 + ], + { + "siblings": [ + "8991976837243859053426499167315543757235105575856729009443107990064359736320", + "14588272448928850324024640441969424531161812022808343305616217337479180585071", + "18536748456191181201217263473844940104401813989801845394629460401890490794523", + "6980250113114048525096319005735506603745815357633202585955571823281385673332", + "12374614001159496965003292767218248312156249932906631002815607300567705885718", + "6724310789332871487719815699271769521360410389926215987042523542533378113536", + "8227146940145151412407468080145529907499447528567673458734050120807287299067", + "19501003205356692422323417644996974590618588341884463684122689182080983276541", + "19097135710407708427531078464253328375719567587707157199682674954795010958072", + "10650112067844111396370511674796977349957438959152395461166384949521201907077", + "16527612400696762249769840328204195407300894537486543352438216872875637139355", + "4593729810784149117798078388707853981751212479278561040846347383808917410445", + "12573506581042436620497631051433756087926821007140685076034874356927737394842", + "14182929055657754247790165524293687068292664764205782734016514083526972203639", + "12848071432386719951640788670694998184642679907632842992767905915212503255548" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 6893961472170008990, + 15259370998871451810 + ], + [ + 1443127283220674264, + 3920154390248529562 + ], + [ + 17824406323422909728, + 6287189487870503307 + ], + [ + 2510528620506857843, + 12866762639160574659 + ], + [ + 3989582418547441486, + 10633264342943648271 + ], + [ + 217301063469671691, + 12859451857763678271 + ], + [ + 2111138817286007083, + 12388145499400365703 + ], + [ + 7352249642162218157, + 7592383204213490484 + ], + [ + 3467243944385570115, + 15577770030610126100 + ], + [ + 3151313500433383084, + 1451642538040645586 + ], + [ + 7743352279090741101, + 6652227239516845945 + ], + [ + 7188680201452590984, + 2894961006767998548 + ], + [ + 11612444840842337687, + 7871436654071671771 + ], + [ + 14777087377745982524, + 180800634939428728 + ], + [ + 2839121152241262012, + 6210286943881560136 + ], + [ + 14653588382300402615, + 4695880620730248363 + ] + ], + "merkle_proof": { + "siblings": [ + "13979060922876374038434902408153719321912077451478112439072185680290213978799", + "15999307500229808048044047154081000797678580144853699084723638011195068522941", + "15428289926139159004598391986201398989130088534521584612392585359332255649176", + "5403927726397931748050649366676796947155223838223622603304788032820079399833", + "20430675948256891556274217725926257606717103169552837281763814231528881918437", + "11642293566466590068071405481952816559411425731126853750575120246749072054251", + "9392331539872813686852106442794211360555728323336159308970974873403800713417", + "16807630961152569739031486119563306676057076191970418366663460429053600471000", + "11128021117122242612685852473472170013598430414778131597768327261432273615947", + "9653715651147229817850107919695761363051952595441379101888391632547803004231", + "18685119628518117639494283585423034984439458666872320546898913023514238614143" + ] + } + }, + { + "evals": [ + [ + 12548577779614886082, + 2660097323087965152 + ], + [ + 11137412379198691508, + 14894483376053551367 + ], + [ + 11397738333224467346, + 14265617341208896399 + ], + [ + 5820214377265237113, + 2883416524611922800 + ], + [ + 1731899294223005234, + 11577344348458456741 + ], + [ + 13776116270070692490, + 2455413605125024805 + ], + [ + 9072151382225069473, + 9229730348342029216 + ], + [ + 5892986374733918684, + 8853725298552627040 + ], + [ + 17416549837668046786, + 9803690731234624484 + ], + [ + 14995325423048876879, + 8533613731881144357 + ], + [ + 11489026654299228662, + 6040302714753152939 + ], + [ + 7146655739718445306, + 9813892227973370056 + ], + [ + 17445702561538570995, + 3989988033296326455 + ], + [ + 12646684079483693043, + 5934228858272113571 + ], + [ + 13615313661807667461, + 5631985337718879721 + ], + [ + 5304502251253216492, + 11196885213810383078 + ] + ], + "merkle_proof": { + "siblings": [ + "15249543533171736732874751057520109320086245195271864494394852181618494021083", + "8314546534194181223341941603119898531613623565237201225456909710729306549047", + "14940978041362541887484085605730465839814841344274906131163245470625828085162", + "16996634591351273025506737321707910570157765779481844843609870127758469481243", + "21774265461450720834490714312880212138246515306237423575419122720598439954048", + "17941817483191798778365938165611600448526959839750908820074387539646126846055", + "19022986877616145196847831463945858067609437866227559367470810687771706349496" + ] + } + }, + { + "evals": [ + [ + 76517836649538747, + 2266832312400412536 + ], + [ + 13048951874923315512, + 1424972038038320045 + ], + [ + 17640408474008705305, + 10045867066246263100 + ], + [ + 5404903233991158861, + 5822245818617250295 + ], + [ + 10799888507619857605, + 17088166910719921403 + ], + [ + 4732751437113362478, + 7568030055901080370 + ], + [ + 2207977024876710908, + 14632992137056315451 + ], + [ + 11434467403750260961, + 12588846162350308216 + ], + [ + 5702719873545412390, + 16347368079582758333 + ], + [ + 17718007974195766976, + 13071891553170365302 + ], + [ + 16244266883708469583, + 14771133077549147349 + ], + [ + 2662840160536141904, + 7591891992109291662 + ], + [ + 2862338803616775080, + 5505492492849441968 + ], + [ + 9540263406552140792, + 4393930364647191608 + ], + [ + 13653024402539891219, + 18356291486119933221 + ], + [ + 15279496004839097487, + 8053794199983853242 + ] + ], + "merkle_proof": { + "siblings": [ + "15231246804757910696340514071480002899509956163245753931388002865343254132437", + "6580447969374223439076431869317781388573261404675140463587764161742826934459", + "8350067740305987495648381149613056388104625790700569760288344785263853538180" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 1447782371532622741, + 9368128272551306551, + 8346903149428292197, + 17417519231994342969, + 16123361821188363079, + 2867668864260290164, + 14211899767886136963, + 7178184818782482528, + 9686986267920369076, + 9238023993428592883, + 14724591449844811860, + 11477565904562674170, + 2948774350065196075, + 4762667118728744725, + 1244030809827490055, + 12522115447938004535, + 12357943619612388851, + 15421177090441308691, + 3642705445103861297, + 11764559843202545288, + 8683868733666115176, + 1801207480428009873, + 5094820208678534971, + 16821272871703011791, + 10076401870201371930, + 11106747509779469784, + 13092215644311076975, + 8543082989151905245, + 6754881865407018319, + 11751430837659382611, + 6684815932025743227, + 8546327219508644333, + 8879781275635379391, + 12343099981466167375, + 18171061712066874051, + 17937837428530605734, + 8541048356275824702, + 1091727527225636518, + 1589300469813748440, + 11240791584686961623, + 366508992366146709, + 15113457825749251061, + 10493737859256499330, + 1492849869739977743, + 1036490011995476606, + 1990276441487690664, + 14827505849100097287, + 13370040538290247565, + 9738892331363821870, + 8711315637139870857, + 11615286570590958371, + 2035318381047171111, + 15760510585170199772, + 10871923410708841840, + 457957290978197663, + 365024993170000707, + 16150313290113940023, + 9773379938542152855, + 17033634723443295180, + 7392110983384140525, + 359455839787985595, + 3513252002153208285, + 2772545978164624101, + 382121421681909736, + 10764961683951897480, + 13376405630479021394, + 3440126033983270053, + 17245188700609788906, + 668286007056170933, + 15666025402423420757, + 11928799177761742529, + 1963788943645149661, + 12023246750609164316, + 12294479994223391094, + 10739570483091923983, + 14786817555908362774, + 12601487428047957390, + 11294202657355704956, + 9102557302849147936, + 16055434029106996643, + 17041537597542845566, + 1758394966638049858, + 7053279416425969432, + 11900557373180684168, + 7621712718745861324 + ], + { + "siblings": [ + "2845600940945614738970511302909725474108079921562865432805997306695951460464", + "10532241581175133911993710990000890650348761005107953740973535912596148926865", + "12963054178551844820154952172970471000454967626915968512566290142339065847642", + "15955952123866013150470880844273065539643407657777230367577357872579263942467", + "5368872770765584935548138547675120372446694094501504259938351978659996556320", + "15162545569866982469000555485309622770625166803456730393079267050800117372293", + "14199997821902639478048876706240788091600550506080731570012025579176536491892", + "4451135927295135922609659580357048884385577093603193226375032636876214620314", + "17919473225805839137410006354457301992685728739866801380677553827015103186203", + "1108605220707501652030281897186777140732122528546005485244940260401103204727", + "405639882943045404605075361322023549220016929815206065203818717864631916084", + "16335462057477033093853054682412771440470679780200895576988932927687918824124", + "20501732446106758236573406473580553893284755875197113261365688643841305222182", + "7152423117983453901156306437740730513835757563766567806379088945585947892458", + "5831185331648141843967139851083087588014531259284389761452969864331761501486" + ] + } + ], + [ + [ + 4323777127052363381, + 3664506819041371831, + 11496209641449499126, + 14158016264554505880, + 15749735573477085467, + 6725450206635351010, + 5054276255269442611, + 2155149162707083196, + 5426216511687640444, + 8724790766773923254, + 1942145324582360976, + 18162082384242668705, + 11647116538938512318, + 8771092258937757378, + 8295506472309772194, + 8329974164326270818, + 11350165831556473188, + 1465684116477853206, + 1616529064821834284, + 11435371510155289786, + 7080331475609067160, + 2314137327430248665, + 8333318102586117858, + 1815026854901217360, + 4270319525639971874, + 17699708079805658753, + 7515989447356451951, + 17080520032690213463, + 6255223041370086692, + 17086366383283586082, + 15396111158559147114, + 2266707431614134432, + 4704009593794723120, + 12220191091761398521, + 14077271263124853804, + 15553421023626989298, + 9313861778341365727, + 16795617817620002970, + 16840644294382195293, + 6304564006752548307, + 427238144909088424, + 16062999053577779193, + 9340838966748004089, + 13251864125733793490, + 10399778163767156527, + 14151822937812428164, + 6094911550299823585, + 12493469251569931083, + 16983965912233894894, + 3371487482330629109, + 11137487519151760798, + 17766546906523942854, + 16964457292419205369, + 901308667270813385, + 6227686698224823444, + 18426977216706972129, + 17510624596713156917, + 14026445705588994461, + 15458814012248102044, + 13344077360568332266, + 14287058426316194510, + 6601940903995729764, + 3489696962877164167, + 4455716900222701928, + 15213580485900290680, + 8776071440459332895, + 11247223692080650979, + 3915221431258479761, + 4669137676830710949, + 13940403583216632921, + 5197846725191258607, + 15960332592290198823, + 5841405876718632869, + 14374505117970825502, + 4114490416293194103, + 13376848113561557033, + 15956149294843307674, + 8596857787131967288, + 11331778722945948033, + 8270747855015619883, + 17001685854253330561, + 2073696505476581753, + 12694579730389911725, + 4815698374532702120, + 4398909915332896010, + 5784004551429744582, + 7471380093480950745, + 17311811766658342366, + 17945249933520200550, + 7120974656991698831, + 14894743161595758118, + 17555468723519174803, + 2617379715351426846, + 4507719974011334716, + 2440058447391673366, + 2133018578962971165, + 5168788469403749020, + 2460129597929985560, + 15991241111288486100, + 7103435339281620339, + 16956457249776788362, + 13563299917418143408, + 618036449309918144, + 13904274661673548105, + 12026566071535077913, + 17214000326430173258, + 13709483455857972074, + 12452874733739829471, + 9574588156380771329, + 8842697803516253824, + 14759002979998319925, + 11278798174952266259, + 4975366102486907759, + 15726880761134641754, + 8669930645544507848, + 10008806839876568268, + 17783195835086596575, + 14196735229321716364, + 5930480453217965443, + 18068894996395237426, + 4320199809040372024, + 12589233381192902220, + 6344059821359066421, + 9224601266994540380, + 16279064263137607893, + 11000871761484783313, + 4802528284285207270, + 8437269116459518562, + 15465682632285086562, + 9271448769703622077, + 1499922664492218411, + 13458497065306658155, + 11481441075677576605, + 9088900332191736887, + 7375919989035069408 + ], + { + "siblings": [ + "8431677872615656342615519000758371536954754059897583477784808709016485443090", + "13183131694111091026445660060113228694870319278990786153394765535970991234746", + "11181458557156321117666690601524275256116607356242774968133390628960883246216", + "13157507724239376813861175592125697436919103754475943970959199832414498487446", + "2563783986920406233858030652258569172558741278434463605841778742930327724436", + "20629225132757691215685879091152838871593489502575135680438612592651640821864", + "19132161489546689553320228973913450624120196520430372005772104758866298522145", + "14554470475290557038153353904555789797124747008221796477222024629557369970193", + "8529613605242128077935287043582517701329703847508353578914558862532857133508", + "18805815895757957945398807449465026104637576106721208380928225334306583746306", + "14016455939713499548219939332241723294386460912714683204570864861687863901457", + "18311582870603911828502999963716125620676876417807059332623445942566535149185", + "21162041542721437640930637999304858348224631087487474481433440768416240814755", + "19370446592423992478246454193185247769058060946630752909890171230719011177", + "19920131513939961138383101930482240040790604830930970332331949645606290817006" + ] + } + ], + [ + [ + 5859264427016632966, + 10724345980464188235, + 9198090536684408678, + 10319816581184726866, + 8908975934785260360, + 1825559563112352569, + 5396398288322140882, + 2679185408707521181, + 5435156806438281467, + 13268560781790184632, + 11118156148400603892, + 2419722633956713034, + 11538794508174687818, + 12985696804546772025, + 11027774671307000692, + 6586499722010009553, + 17802832799115418397, + 17342742665148387596, + 18273446359121142097, + 8052185447369697319 + ], + { + "siblings": [ + "14561373283612578427182056004190021712850730331609141722488382468614232596242", + "21710226420156348231425619896200399454943412613485340762273905235534088909963", + "17794179585805121410801619110352673664481251029775953835791398393009936912765", + "10008058617972321918264166647987362103229803760059059343904692904168470183140", + "12690692430088895389330251311595083805272715175690127970797924790204212448631", + "16156784688688160956687217479546908635126692390240615289760149400184151471676", + "10375796930768662900868683176420719312311818742744564188173974401651508880713", + "5189501416365577475533581712919452966142373636241643534302754246678734256109", + "4789906260868591881619924617332325215612877828129027048094587680245017462764", + "8698571622577534095078135433449937034048994128354604324043486276603498137700", + "11324303669691873579359830281700304791613107331800768222475457667622172978439", + "3437623296647107426054213180015368193424710427950208591991550306831067783624", + "8916506231663200297012697239180385955670553810976428821836641944824638614960", + "12976753029406242008485060540696752916401762476350371263883311936300457283070", + "7329104616790862146657090293728004884080097856090278774816184592896193494787" + ] + } + ], + [ + [ + 5627141658583802403, + 8353900148873389430, + 11996802692023559977, + 16141025485689931619, + 11501028299806026742, + 15382304177153245907, + 12685331093579037863, + 11365749993784922294, + 14785601875009171768, + 3826216114213075541, + 5660957484568944998, + 10775342448800601179, + 1766370120451889974, + 13357009285211115177, + 42573850048102545, + 3839048134161008643 + ], + { + "siblings": [ + "4575499309093161754034422712152620144793845712766388362370696852565455518395", + "14337418665768466049019870077807114007277938867374188735961017393481418928151", + "14471175000614836704392788792283964558260964653456015410624712085217073070735", + "2794363060813080733593901978342657922793980001203642454952550269855972452014", + "17584249175382649751618953655405115627966589247720895890675026104208632899129", + "17323368352558663135870222082475034913411429659865297295805078751624110999641", + "19621671348595384589084803723835154731431609338345937431925928905140944376975", + "10060595042492302187053328453970111743678229020967691778709828602535688544016", + "12973092025719581403001845503226409201653437671310420059794640049856117703363", + "20235256736159679193971115308955708183619766014497026369359827379732174841407", + "13017355991070862652913429538352418958128140536036606629036521324224431799151", + "12641715761844777183887278516068508238724292482154730237250424241998714853864", + "2288166558998148495044642446762963143580003200619710251407869190311066327650", + "17576582748583144207405248070064482300098114414947618763247199438250516587189", + "18386709070441773528905892160103853973951559156094045261552151233252693205139" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 15040921211757980732, + 4666596947488246130 + ], + [ + 14052924725154807705, + 16847825924468396529 + ], + [ + 2884606134652470556, + 9341345313710189127 + ], + [ + 13392037583317905112, + 8527069051725159516 + ], + [ + 4426754448318951897, + 4230885419892556755 + ], + [ + 4685372298002584728, + 2907911508560523501 + ], + [ + 1571083288520713547, + 15964287941301053135 + ], + [ + 7484171191786139882, + 63314575252079362 + ], + [ + 8679402821910553433, + 17054143780319728788 + ], + [ + 11282254202001067637, + 11725342576527132015 + ], + [ + 2515502620036868421, + 1484496872474774339 + ], + [ + 16815809152878496013, + 136594014617018135 + ], + [ + 79270509540852149, + 2550927873352927384 + ], + [ + 4976252657042134268, + 12090042766900986113 + ], + [ + 11629250781520052320, + 6927665373667156416 + ], + [ + 17504683338178105102, + 1169710939778362617 + ] + ], + "merkle_proof": { + "siblings": [ + "15285840640738230625204572657184243640890042043280882371397586285352478218313", + "13507985402547629915204018665810359257331705479670887341599598361587444973328", + "17399690624024504121006090082611670553506606096463226496476381659043599388638", + "18862188300073258592402321049578026861901084874802626460441765524686377985440", + "2478508913537425340619394326844802807108986616170053753010513379388402497893", + "8433647487750312959429387091986900290529468273411511098229044619639789721933", + "15117682334832855182854160045622697985341393506836765694020718591448618586543", + "14972116435045687258222922651448780937834231070362459440229899367621580223806", + "12054110617426131852249658936476870333781600584738644719010822788395022247667", + "17030263797733135145730407383568757785668121887635296039545666728210807615128", + "1698578612414129566937698680509056986568232704529257839479741187013058986208" + ] + } + }, + { + "evals": [ + [ + 12684490485611018488, + 4809363226563934848 + ], + [ + 1885630287673286934, + 8910692782040501326 + ], + [ + 11477871682193193600, + 8903717403096360641 + ], + [ + 11018559281226623388, + 696851967004477308 + ], + [ + 4648388387711183913, + 4934837619413133806 + ], + [ + 15650849498424235124, + 2292553458101802629 + ], + [ + 18154958834675074214, + 17219989375131440417 + ], + [ + 16183804166008680360, + 2569052648868493291 + ], + [ + 456747484991673791, + 13193510638962640461 + ], + [ + 3290030961253506502, + 16730590466119617274 + ], + [ + 2502254150178009484, + 1499900545014445420 + ], + [ + 6909008641873239208, + 5775062307490534533 + ], + [ + 2333198905760153570, + 4256094349951943698 + ], + [ + 7783389511452901599, + 6318027072229713392 + ], + [ + 17364029185526679106, + 10482367927028236797 + ], + [ + 15788612762046065913, + 6473662404603918711 + ] + ], + "merkle_proof": { + "siblings": [ + "6493446064463673654639446274678236922539867619734434901792270099779832471764", + "17958964540719934895017113414664411497360471510449604129930125544140110835755", + "869295432273646167085683711218134327559027822117034627223770314461767729188", + "14108963431650785471101058167532143624440351234357484999687722701165268345933", + "7382016757433723686098947309137238053830728793920900802573441771126915280762", + "12388710461032859900084488775850705120815444862342369881938985919128863248581", + "17256468476953012642959022934579855314724660736791242655683736783891172129540" + ] + } + }, + { + "evals": [ + [ + 2457693529803379044, + 7265594391658947871 + ], + [ + 3295150373940448607, + 538079013861381991 + ], + [ + 3288341263280646998, + 4353034497489694243 + ], + [ + 4662723233311767929, + 12674000288830282381 + ], + [ + 2991006601421384002, + 3970177269937705549 + ], + [ + 7901957009203749643, + 13509775584066768413 + ], + [ + 3939171876360711192, + 11316343896682052836 + ], + [ + 1026133188417958610, + 18219662541990312446 + ], + [ + 4942848206316256959, + 1162363965791589822 + ], + [ + 4626292963246015597, + 7728712541270846468 + ], + [ + 14291141582122372952, + 8550233478000854064 + ], + [ + 5152419235331483790, + 13473176767714001709 + ], + [ + 15589076576449247584, + 11676211749488861678 + ], + [ + 17385849684148192167, + 7773964623985494922 + ], + [ + 15811795897098131173, + 9054814481383514408 + ], + [ + 13261356841985192842, + 9749856863793417290 + ] + ], + "merkle_proof": { + "siblings": [ + "21674076326466238327960105042484401106754975235064432065977833326466552904368", + "3234224320142019804716377330458021503063667987394417154764942406032471453526", + "20711811165640854422725441541522311212682799970613491029563340185813642583977" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 15992170676265185577, + 8232195894252055804, + 18142422666642647116, + 11825760856829848384, + 15330580793092853866, + 14218156347168282023, + 13879364803263857092, + 17731992590396767429, + 16431766293982523990, + 4290718523915224121, + 14115763660636579773, + 11086352919923301231, + 5648824925722715064, + 17252430882552836595, + 3781149215486331264, + 13433748458073078616, + 17959271690958757285, + 736754921306780127, + 2581946343065032582, + 7902609713646407995, + 1190274999023152368, + 15123753272768199616, + 14824902076061720870, + 5079372830522099814, + 5917852365989666499, + 7613865148614314528, + 11731681925456437216, + 3820906084480126291, + 6001261837865493042, + 996125940241813898, + 4435016443243472887, + 10320795269327256051, + 12975012802482314369, + 5529399837913258299, + 15052247160231547719, + 17740460676556941003, + 18431349378543626870, + 8087321872375151467, + 5614111800435103131, + 7982769107835199423, + 6408604636125538122, + 16613198273838472217, + 12445430847385191786, + 6877078850274885621, + 11667654956081594134, + 5165967345570449741, + 11985597795429692277, + 6431332354630728946, + 1600088410266501343, + 12384740617451399849, + 8445035471999122949, + 15894434617336704236, + 17264415960360090539, + 16301926895584963720, + 1939521271764260130, + 14113517549351478673, + 13854909262225373364, + 8266876464056304161, + 8639017228925850567, + 15600821954505183124, + 16092200152415851477, + 11133599331358865883, + 9187181286321853552, + 12495386086839835555, + 15797795833076354653, + 17745416642066838338, + 14439855053268193152, + 3936697306043319176, + 5579385240572598186, + 2732341840944129041, + 13108313624357978832, + 1887207637387315863, + 2537367886836107150, + 15086258818110428207, + 9272219093118034072, + 4433808656552319845, + 2257335853330388468, + 13814747479446028657, + 5056638798461834189, + 2680101688022584389, + 638663676670320299, + 15343833175364301704, + 7654597064934468021, + 15945512663154450682, + 11733818349008039990 + ], + { + "siblings": [ + "6687118871285265927950362267034675422660253443365366427025607134706435663739", + "1366048954225211253288776220260531478183815395971986210315980895581683114811", + "13489785452168357665209399399574746764618691038104682918225337509595440427342", + "183423161815445199102480601494954002272678807993910378979998926874550409541", + "19009345388948063298098674398074285742779846324254079498796031838928751294054", + "12370677518570707831007132455748591125520154929086635187509100085012687063041", + "5403644982781388729649663647088596734090142287523745908585837146006492705219", + "12927182714130180164529241689254048815142896102792663646232230746885854745992", + "4110332288574108668373747463321013901049077655285209394261796710906119064261", + "11643982598409682869436687048172638128938991825105177950480514495313832393484", + "15500498999568263891908336162773793496314380578278193029735289915040557680174", + "9350114073083078826234626274886949468974939174571980216568308464688930006700", + "4437685418947976950464327010620861268891123512582796330449956119192765794132", + "18933043881618852202595140182442021766545871555570494388622505267780011284544", + "5738971035714449512683191598826064868224663409929730343854941206639506475967" + ] + } + ], + [ + [ + 14995516438428782483, + 12319701354074081487, + 12285907107763939402, + 13955123190739586748, + 587115275111458898, + 10145011584700825505, + 12901612326806851563, + 7087096188515872819, + 6336299215728524728, + 6581814829717516251, + 11196736886982532360, + 6254662483319594818, + 16245629208976307432, + 13663529896646245017, + 962924546115807570, + 9088754011321549468, + 8613031006780890354, + 878371524337576131, + 18202295504779626857, + 18064201677548215724, + 5482181130706256474, + 2803948715411893812, + 3849981421499514871, + 5048009203234074820, + 3908579010140644526, + 17416616913512350699, + 11596428253905039232, + 17749732393550227761, + 12771712108696346604, + 7781889328296845101, + 10985035792468280283, + 13069088314765391929, + 3224768239700984531, + 6680825616137741084, + 17243320586338594921, + 13669967487162752417, + 12991768868864116982, + 9076282072834350824, + 9085392010327757226, + 1459091106520910641, + 695247132696581248, + 14302315804843219576, + 13215367895268723667, + 6969180121216415986, + 14751499958696233270, + 180283065604304036, + 15097781932261519731, + 1549317576644910296, + 7758941347947746557, + 3805370830617007424, + 3045350853171317791, + 4868295393760214748, + 8597565672832051007, + 6589434847802187360, + 18062612627765441371, + 3735266601495775986, + 10108117656484109640, + 13585915703257864011, + 15619473165841035213, + 1766416582844416768, + 9812762884881446581, + 175393703593986325, + 13128382911084456802, + 628304857803607017, + 6844887381048039401, + 3833244378257391121, + 11153128679845255174, + 8892683854315251979, + 15341249360257395012, + 5872474759842702165, + 9273166091863725258, + 8675102187781068615, + 16043001252345855407, + 18261352800501643184, + 16227756335913122883, + 14487243318932374973, + 4147121110310690889, + 3323204342418987587, + 6478480384389500767, + 1133224757794168857, + 11648145503114940303, + 17854459546481070086, + 12488895338047563983, + 10295697193038344675, + 13062630201570397614, + 11344231647811561804, + 11648989252832348655, + 4686766850726661994, + 11681802193698433120, + 16346428476041809457, + 13071272271121107018, + 17497040344742470842, + 15595996038931074728, + 7142697459347542900, + 1461928886813828324, + 1827996039349235425, + 13781331055480160035, + 15688464188697130052, + 3237272738049902881, + 4136711410891862871, + 15658044197520339070, + 4574706810680717253, + 3794429140605306609, + 9138380754394870806, + 11068881618366344415, + 9875466069747128361, + 15140331504187562336, + 14597229375276106377, + 15108567734598487883, + 5928704443387923598, + 7969821864004922751, + 17842604216048385417, + 5103633850272299151, + 14620335404833062975, + 16288114650466125104, + 1273574962933107647, + 8750946609585942471, + 6304895184178091084, + 86558918612141628, + 9187934631189806959, + 10415279485504371424, + 11188136825363270562, + 327124768785111644, + 10585969622407816741, + 366223016779564302, + 3809382662454425067, + 16168674913767674192, + 7197509500490969395, + 2631844853394956510, + 8779957305134933733, + 16539889752126776137, + 9714678623785089960, + 2376867921871736300, + 5592462201243047223, + 6809861534603774380 + ], + { + "siblings": [ + "10897203076600749827568225870498450753745702662179614121341945307259625016036", + "10548581822575115361020161285389589383898095340499674841751918719871283930341", + "19526946692738463088395117190016528684521734166182567249546179058088484715068", + "4311570997749329233700571546427701583630759539471184857472567851598158181938", + "12936539843925933992985624537863351869989816404805368440195046638308183115882", + "10808844339875340219745644914668849168323139434680446476230005292993364865618", + "21323758845524457458696147356350561232551642688416922884347740869889712578151", + "7317053425664232845437442851779568969931084539588160335273755870323584118363", + "5799172905277126886127647481059245581401244084346831980830454167091310304962", + "17978473718280946037513650266853163095270348088082456587268138606253261040603", + "21279571019556248599726443383250545354799632776812534583816401539915247355999", + "20666441975124867204630633839462307169020801591694175392480324886910781433125", + "14537827658743023725949439030091697128197201152992472685016094612852920248662", + "10916516549880910628930112412431184351944399165561492987143447918707199490332", + "18665829481468426743762163782586104377037020983942741998234043524569864409535" + ] + } + ], + [ + [ + 5272537682117371161, + 848895352670496660, + 8491089919577301338, + 111437315760444013, + 13983205264469453653, + 5952283327911413324, + 15564723777742057214, + 7082914835979645970, + 7479542720664041345, + 10466460299932579587, + 674340550041856675, + 8451045870191902032, + 419735389109079690, + 11230652599956433367, + 5799859971206053227, + 17778630657960201301, + 11071960504357779384, + 704461918970783979, + 9938396981293761483, + 10973992520813505360 + ], + { + "siblings": [ + "4464384264428123582447004571878150238525260405443548901420028633038844632129", + "4841605465144567178067535867892562882210984403823866069387632889120834635243", + "6406902461913450340245210376584808329059698325214544339877721797504516394660", + "2712241290880982518770645355765363207235316464902854431644451844057829247066", + "15925696434426673913481525090138150032789789373685155422503553328181921977146", + "15125310910012007607347122594904315758100369966080235475762620273043620141948", + "6259614180644408702295331942738270863584631444532304865106271958767598871096", + "77920214645774599387673098733693407358280474900477691306946042129561221948", + "19756364749125023828948593205382194985562400198963396482634469258013947239549", + "1611167758271663312939695308423026984340205033634486788167254599169636286442", + "21743273616309578470978175436754489814003345900604604642623783387636682386308", + "16054659061144902736629662629555290891174662861468827912972000297366734278370", + "6747293098086700642595488740882865250369996446740771585319654959206920945908", + "7067783427199961605202194220996094900360203951440201659556761572286732470280", + "11466785664673632159576693395305169886916808308279379533136275143743142839877" + ] + } + ], + [ + [ + 18278362816946762898, + 14452544749318329250, + 382251844959661627, + 1714048905700395901, + 12040602698651221761, + 1076438628163127111, + 3754933661689605938, + 12581396160015669428, + 6527554848757984832, + 9824368565099694633, + 12024678752077941389, + 5582642354694298292, + 6254494510077017663, + 904926797804776377, + 8430820416153722661, + 12438924439438038420 + ], + { + "siblings": [ + "20925475266964838445508838831831370179631479557458716493646922903512376986775", + "9573842044054793860989596749618341480996221674252534891025815092588538674228", + "2683710278540192929658123150735912041349964575814398942656993935423069966528", + "314549381579821070470716025508997877003424563641936528223254115705268838744", + "19018316970583712072917236847033954873902829396055121328559092614306255001586", + "9246425819009146150701952755764789011000282060825085737596939944127197786411", + "6848924133767021329276138236745926506882211710892827396764529643131294412685", + "17702630885331362903455493935794077929561795848464949250475536323507328828827", + "13087561506718763178800432574468876935105720187396041094981955119325097869220", + "3872272457607579879086704337539770701678626170254065444025616295358538711721", + "14443155099923924781463459807229008332037817726397029916463298360189769062537", + "13706564833885763229777266194831945465729378853106864344157473930309282720265", + "9625637480762585167707739126696191270963066234133519075798326487142161981157", + "7670567678190435536338957481313939297676831838420067564724290523016250543595", + "3074132686086214466866903218146633936436624291604037516821925076138831992100" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 2468390632276667779, + 4797485306873546183 + ], + [ + 5326021420712518048, + 14409533731524982196 + ], + [ + 14111709132017971806, + 299146111321815368 + ], + [ + 3046073488214676694, + 10987396508141358772 + ], + [ + 10742567804738568942, + 8577195561040127272 + ], + [ + 10569391076819882795, + 17214951473785368054 + ], + [ + 2770241821700621574, + 6859967580345180585 + ], + [ + 6465316163001909093, + 361391806666903312 + ], + [ + 14714787749226907954, + 11703391848968154175 + ], + [ + 13180001103120109465, + 9016535125026981913 + ], + [ + 9682123135966797455, + 12257740975226723801 + ], + [ + 12087936330085163266, + 6924793704917107187 + ], + [ + 3074350144826743379, + 9019816929921412162 + ], + [ + 12016208063926260039, + 17015599055063103928 + ], + [ + 14133337351046018148, + 15453589046929316307 + ], + [ + 18154151857530938713, + 4838484453352976658 + ] + ], + "merkle_proof": { + "siblings": [ + "16095226426797579160161904620189325431839380087177433708728090282255113278593", + "21878386514294160145691574799774582299127396901248505699289432047402224941833", + "9614137216127226900390517164995194806179040825808105270377202021488303706885", + "13906329492712736487878162637193527659407401138043613657918601346355959148441", + "16199292479169232878405253754525226933653996576743075796788410793195340984801", + "11374869497569196624480156595532426457996313835438299156156839711064135814878", + "8531062739602361096715825474776796206798786080006565472253268236856673919348", + "4470736870013063339459926576783245388355294039745839536302160415404101620074", + "9421255562893510409949090056885438146951957961248814768057736803177041709900", + "12076621353513836180049341711193302458207929932836381053380762987775256474679", + "8896324179735313617620772068741747591823398204810591262869088220573979829882" + ] + } + }, + { + "evals": [ + [ + 18081724048268770188, + 884371371299494501 + ], + [ + 11650149554725482233, + 691519473617233633 + ], + [ + 13511693264267724133, + 9837929431222640622 + ], + [ + 150198426367230587, + 9520008467829955174 + ], + [ + 4888760152337295017, + 5891333179051016736 + ], + [ + 2549036445805629993, + 15826324482832123004 + ], + [ + 9889313393260035975, + 4643647474569706010 + ], + [ + 13541388439013271147, + 2019797728078531376 + ], + [ + 10882349644426992889, + 15614060076232502350 + ], + [ + 5094969066843473739, + 12975636863099755362 + ], + [ + 16340173613097779190, + 5445987014620554704 + ], + [ + 7331410447722882853, + 7056839069662780151 + ], + [ + 8441655622983408424, + 7016605078464997691 + ], + [ + 8951068162567547965, + 723285157701393023 + ], + [ + 7025271505090392785, + 14784676896491901163 + ], + [ + 7766354741107484013, + 1185653980756449283 + ] + ], + "merkle_proof": { + "siblings": [ + "14942849933190593007042985810494452706893705682522088453347106869625324507338", + "11756978347702736887070205414429561791528102019825246050833987213761956093309", + "11513991052192754183562143195117614025142296839657392596458969966767325568477", + "8906526997935649588663542258060518048283776549221441903634162054066857143769", + "11024368289442218971673990017533554841243045869277738724295773759397524483139", + "8124751400832667660899080831895138055450457383093982135377041981258081823768", + "10466429107788888586374746850323120061643873070109893292858571898749224854976" + ] + } + }, + { + "evals": [ + [ + 8213101440017475291, + 17418862471712005326 + ], + [ + 15542212337367533964, + 18299743262130874031 + ], + [ + 4487989170239149547, + 10533185185238838402 + ], + [ + 8162752807698381882, + 12274871944022339036 + ], + [ + 4923188857585668638, + 18228143407459729109 + ], + [ + 13061841948655857366, + 802429170155249572 + ], + [ + 4036848295290294730, + 301628100487094599 + ], + [ + 3859585711054136625, + 5438141118281588128 + ], + [ + 13562416222383977559, + 809083916423397906 + ], + [ + 2315230838590565838, + 8339792206507658126 + ], + [ + 6719831490782483506, + 3823185420389517366 + ], + [ + 7233452255798674878, + 7156128636676535803 + ], + [ + 1134086189001808815, + 1936647790968071662 + ], + [ + 7033930545982928978, + 17071991887245736242 + ], + [ + 5877391981939346988, + 18442992453230067265 + ], + [ + 16666235094449633894, + 5527694457428780929 + ] + ], + "merkle_proof": { + "siblings": [ + "16417947480799960728797978524388148897275768939726050895770237180002838715756", + "14174390941478814925261918087933981005498597174067867402381466023020562640534", + "3247259713618418481174355371645098705236601232012766241743008767907375469336" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 7058530108440969263, + 17324683331034085189, + 1625554210936624849, + 355960372138352665, + 13823381226030746692, + 18227024418795124761, + 6291664868695235200, + 1011290307426786922, + 127589657740867326, + 11533306708425248906, + 16365372292559957947, + 7965991124318311460, + 14246419290674438323, + 13989634492233305884, + 15795161430700910528, + 13942576415418894355, + 10529154498974447555, + 12191342932230442683, + 91327730863143586, + 1591190191698800215, + 15243339305443331080, + 3045171301709346860, + 14384240116358543390, + 10351898511851026820, + 9851163436459139149, + 1510991642962367273, + 9652437128481328344, + 13744525512176891555, + 17681437400940162179, + 5506887707826777074, + 14343445695336243049, + 10297955727926645626, + 12823696956706230585, + 17409174943719100537, + 11606661467629618003, + 8685385123917116657, + 8775768546129507622, + 10447859241213152214, + 6247378061024784547, + 12021287961146747561, + 12742950164902053794, + 3575109993275993044, + 9927005186568111673, + 10651793392068584267, + 13436398128506779384, + 16152307663448890756, + 7102913901829194812, + 3692780063759800487, + 4879916342535413701, + 14108183493587019345, + 13291084801609800392, + 323034010044951443, + 14189550785390222164, + 11099347470128706163, + 13301137628437760326, + 10826398817605049497, + 1669203451020795015, + 1724493708960087534, + 15598868774051566291, + 18166251113532774000, + 2374871520576095447, + 7924147178958389444, + 13706625275782945787, + 18121218220916513237, + 3883021513655687224, + 3786138077693868779, + 4857019821957502811, + 11811757456317008582, + 12100911580026322525, + 12676161981057871835, + 2811115303551392719, + 5266148130163064077, + 17279695857486602132, + 10491844316738784586, + 11056367950230614451, + 3757989316476279730, + 4926089071332912086, + 3753462151849140090, + 13517843481818863030, + 13125392518451284420, + 7410813252966295047, + 18439012329700003166, + 95604553278074539, + 8220740895098293112, + 368971196910994144 + ], + { + "siblings": [ + "7353254783675658578226952623417859840761122637590612558112695917405624534813", + "7123789164745337357830576512567219295887337649232985464599557211000795458249", + "18922204183907510362186971181329641026837808769792865009855695703638241519575", + "17719216523584223868364480509872640988112779097181152340475394164428698396639", + "19455885104522962665776260855861990341444599937984583036886999698029394407607", + "3702065697329830511126907251259105896912669447526926456733047040033125161971", + "12600173999858178712102613538808825869409775056838493065986633812886871131645", + "317755734936761861640556722150758996073247721598847845750850709954726183785", + "13845096636361431000830959657848812766012563599380935241460250601575432162715", + "17927233414815727198115740509453339630595894617464069768091055494806282352454", + "5088296334182744157414639375813221038388337084424190448033420418110481207789", + "10997051021201170840177178732466295442839553241684447032677983549035171514303", + "17021797947465108496265572108699612585437090719582298173753231963204658820306", + "14958121855433251732545393613332759604396121142573367285146564415891721704385", + "5738971035714449512683191598826064868224663409929730343854941206639506475967" + ] + } + ], + [ + [ + 16438113652985584125, + 1287149565497675309, + 5734234585796529737, + 11580247810202249068, + 13774799350936186825, + 1418379965735829080, + 15885384163085143254, + 17090921968660020382, + 3019400601388612254, + 16771464552698368124, + 1865168102076148045, + 11424410931265774711, + 5686735925688289729, + 14089269580760829411, + 12670677823991320098, + 14441364954706493072, + 11536611194951721095, + 12049500782610551664, + 607191538765748511, + 15428436935875357923, + 9318009948777169351, + 7004150853860348633, + 10439898436044505102, + 8649947303892875286, + 1745685972164457229, + 12723650737939886144, + 8432886439080421908, + 11098450957753919082, + 10042463075802371547, + 10479216714297619722, + 7466454982002879735, + 6434006981423505416, + 15207320850983265890, + 7705618735138016287, + 12869591918739997155, + 17855216192567813607, + 4490847844626292531, + 4164729953809784745, + 6226796070587529694, + 752274768954694610, + 8176418127715215321, + 7017483903731883368, + 13581018780368579315, + 4768255794869978267, + 7877346576589145701, + 12843836539773849785, + 14928284410046975107, + 2129575794319438335, + 18205108398825167702, + 6013221723349369946, + 794720395974928457, + 11025462840382941356, + 14119931092594070609, + 14763429413764614263, + 6827672284996390039, + 17227030540655782720, + 16782156049805937596, + 5604768459877737072, + 16368855019523736369, + 13909310390894432405, + 5936433843447329897, + 810674287693716451, + 2426219756661149013, + 3641353971613711219, + 6921907575850817893, + 1586625183177292312, + 4623652958871835167, + 765098380765934663, + 4360206767076628604, + 8085228302401262206, + 7838494458380408471, + 10967917720541059715, + 6251923018874148777, + 17667074441225416141, + 2940862889428967331, + 3781868899008830647, + 5311120286979427873, + 18080062817577568416, + 12042957791223353167, + 16956681592813250566, + 3422896956675666010, + 15955153703026956040, + 2588514453297009342, + 7797739033456276441, + 16724731564178723488, + 10610736626112031308, + 8689433122862328262, + 17468158100893430025, + 2598911423301355497, + 16204043974601419084, + 17302872633253442222, + 6735674982889169330, + 5473718047527989835, + 15232789356497375008, + 11695742439053692047, + 10693636369389445960, + 10550683701312828210, + 5623692146358568192, + 8461198351672439585, + 15325879886566473583, + 18051786756578993464, + 16873706012642378732, + 2135519641633878905, + 9023861770320340633, + 11540606826838449696, + 6328225859146488550, + 16992587769096893069, + 9439870967615438222, + 4657258396650250336, + 5697725650877142374, + 4412538495684141078, + 8156020323116818816, + 2929620114130767466, + 7164955188436916503, + 354773457571346907, + 4149856270790861613, + 688341088936003230, + 5198950290888839820, + 7660689204662362409, + 6331129792913902870, + 10417297028585290784, + 11690058288585874743, + 14427196942901975827, + 10617848878305806851, + 6888045078735538208, + 7520813486725775982, + 1308125775429784668, + 18051392771360943379, + 13294025986169202755, + 15647806887748478630, + 1067001432211370766, + 3404547124161842229, + 11242422810620084404, + 650739053411947869, + 10221688941234299394 + ], + { + "siblings": [ + "19565233186759613694684000727173263979648243640257341151655510029546417353925", + "11549745088997939503977638407618847123541330028323931348672782581564350466674", + "2565985539387831725020881482885679725869681214546550548021075002265866560901", + "12270989534467109706388365182657161011766771265797067833535695962826928685750", + "7396402512767325052412500075141104302517510878115699001282007753710643023869", + "10150853638629408023459689729130727623905945278731462034535298676009875266608", + "237103173075627064464200459158796808881167365108107409452704030471008570168", + "958777371415108862379864466554649125306620022296067918048478252421911035157", + "18319859073960445439191309601281190168759357485188145794101012931577309603762", + "10251363518075011992392470414881326220116757488211358973627947593319837052255", + "10924066058575731975092688319278173556224274575242331654791522141864562341072", + "11686959431321007813113743109527703263886522304607299793787094832742928107319", + "4696242058574442581551558721761209778321518973710636945185208528203795111649", + "15121974326596145932329633020163684348224303574240413064326556080797355075235", + "18665829481468426743762163782586104377037020983942741998234043524569864409535" + ] + } + ], + [ + [ + 11495892048335390490, + 12913756492873337159, + 3020434643910385900, + 13065222858606259680, + 4236466332742756459, + 6759695354540866151, + 4311098350370131854, + 18264032066201908616, + 3540134294677072992, + 5128057373911191669, + 16042564193631185401, + 1221131175140757614, + 17249557748653178050, + 9300913615773192695, + 6120242385588325683, + 9160359830300253748, + 4550472928188523342, + 17545357747837204708, + 1415552149601060453, + 15306695763129948439 + ], + { + "siblings": [ + "3479267576424374672826759106650980400596099118841920998875021602786046401214", + "8820448741301286633407151438910516756341812232053842641663394540905072014196", + "16869566604121053069203646205451172106875714113645626900799286375987270129906", + "1525538619150698698014924188094216156377689690686656090386784093261809350020", + "2885438656503488241806379194668144781980871093199967892466629743674635574889", + "9676558466689186137327916214587968824747878699023126103059614632628547557179", + "13098213208508842979815527028246726853316221125949882124681274279241743364451", + "1579357054971105341784078637042271117885839484920233726523891871923541002186", + "20214083530851002449172750120512178509946605273742462932173393749448587221066", + "10666213626959754491516787124997774799905478002513492583781052683121289718972", + "5308764338140619456940192683921619370397909181890580668009315038830800241651", + "19827169917043556819166421197172951918919748643753033682545776245661848994770", + "7759553614740532082671963773696780402289491174902786796314309280919267534854", + "891846294526604694231571484230921945805789023302513241068978636811249860364", + "11466785664673632159576693395305169886916808308279379533136275143743142839877" + ] + } + ], + [ + [ + 15437039899208091852, + 4993657992957309715, + 17732621868326398121, + 12925371919953909505, + 7630413213881650563, + 5840023240961522230, + 3049828831685792808, + 4860961458915788856, + 13225743907815739260, + 7002141714976262641, + 6038730404421613096, + 5268846212195710034, + 2427498138993921573, + 8533512312545507085, + 9707755374210279890, + 12305256648193931519 + ], + { + "siblings": [ + "16279387936760120723039073522297680246535637292479500831556158010963027779457", + "13864299413851151944484140254968563466919841667260000008032772502439813406609", + "12130582342786288037584019212638736953914350720889150312217813173671648769628", + "11055759915684604807179551444590314950983397372705253624453401944408944449418", + "8009548338482716537354889714694392068580599495517724873909293441365731817495", + "6131549568327006678408883831698786777232707847819765827043248033422376063349", + "6980044555641376242879200082021634022743841045388184764378608223163617881240", + "541250618928128631864884885990758274145177010288289466777616285724658624619", + "1720536684503347990503327389996590974249145951615794106982121174145536777210", + "8606763693219496887605399027780211120275734181800766233539794708694044411214", + "5565265410859093498066411059507133934084918129067140047080746920363641696583", + "3558104169107521758447835525744765555186043969683397661992620740967319111448", + "11658169744374780317071289562765405132762540730490155265332951856989352042680", + "21740996375604732175296710841012800624564298170563479446377984953134783717945", + "3074132686086214466866903218146633936436624291604037516821925076138831992100" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 17517692673376637160, + 17151903044506270072 + ], + [ + 11364489681629164345, + 9253552213335308444 + ], + [ + 1589888260502168752, + 13175741757492900496 + ], + [ + 3423221147118490116, + 18380988385877458808 + ], + [ + 2268324361269584453, + 2493146260718865136 + ], + [ + 11835330295763863791, + 15928751491866946304 + ], + [ + 10111387068242282729, + 13709167344516241827 + ], + [ + 9927344816206874098, + 4526649594499427724 + ], + [ + 17277768351449597639, + 17025187176486354790 + ], + [ + 16367204307960838738, + 9691206674484254900 + ], + [ + 7388282841971119523, + 1549912545382287905 + ], + [ + 2171213919287393494, + 5323434415378098584 + ], + [ + 5897475138571537400, + 18397759513425828128 + ], + [ + 4392042604154878982, + 2896721608448247372 + ], + [ + 5865404594451341158, + 16757394617954267407 + ], + [ + 1855002106738657956, + 2128011990336951461 + ] + ], + "merkle_proof": { + "siblings": [ + "19587878927461155599958259870751674845794823518893697584921706807974704663312", + "15393430624789567951133022544097498497547633710345860005896956568055083856554", + "10630057169556125806643318137366032896450656117892378178323159214952307417991", + "18471477625683544137424361073553805649748232440656154993152082550799816023420", + "9478053614435890691965814185717084856245970631682808474245266954126672061186", + "2138635032960924172861688223194939766015043006700609325718679183602815199519", + "18412059763564597698617208604868679396861480722399201195352793407463572090683", + "2803158103767922179023374445226355902467603316642016847084098373231592936145", + "275602424105083931422377513745910221033658821577225901051806311927849517463", + "20206115215800743200008512845097352586505075032424842327418173477340819639959", + "8896324179735313617620772068741747591823398204810591262869088220573979829882" + ] + } + }, + { + "evals": [ + [ + 16725751660851928200, + 18316775210845908929 + ], + [ + 17927203380266448012, + 3232155176693109532 + ], + [ + 16502022305852873938, + 10483724927690028147 + ], + [ + 305917724603639865, + 14721188645909375487 + ], + [ + 5288238562253203651, + 4618377500994363280 + ], + [ + 835494459521144006, + 15715726319170324735 + ], + [ + 14760482087357460065, + 11569140944616508060 + ], + [ + 13672578580592804664, + 18420230677704977788 + ], + [ + 10304934007903985547, + 15426394203128441712 + ], + [ + 17400100874794283107, + 6871198173875929016 + ], + [ + 17903983478145566662, + 10129082867746201252 + ], + [ + 542295639547229982, + 11548689206810818707 + ], + [ + 8603061304425110898, + 12309763631472546362 + ], + [ + 14089678964426146457, + 16953900406795078944 + ], + [ + 16862569548454528138, + 6039980901447154863 + ], + [ + 13389444104327438881, + 4848359330906979072 + ] + ], + "merkle_proof": { + "siblings": [ + "3486324005020611372658585247647887511220487571139285619408597362133931261698", + "7038837804073577692669821672353871106640721612720451609025377033519360171137", + "18454799489934687350676918999023851846586441178277797917843275566845650692790", + "17791850016269525616018494536451730083345574699552881524897142924508558322548", + "21270966087965754766833999733594199200410958517458081430941012202356171104676", + "1300600560448645447224370430985648237427496864440926415361346640050267861480", + "10466429107788888586374746850323120061643873070109893292858571898749224854976" + ] + } + }, + { + "evals": [ + [ + 528631487653869220, + 2085510050757011755 + ], + [ + 7712749740800848231, + 66506889969426290 + ], + [ + 12507751680474727618, + 11085110447035230215 + ], + [ + 8994646555061175154, + 16984772425033986129 + ], + [ + 15976355366901078244, + 7556194476435641271 + ], + [ + 374905077025568767, + 6908747676521288720 + ], + [ + 10628298888109458014, + 11300835455146654938 + ], + [ + 5102366675889679784, + 10981057301917868958 + ], + [ + 13226842987156513421, + 13692494337959523602 + ], + [ + 5958927442874145566, + 14373895074729749060 + ], + [ + 9296301240569583648, + 16674313902118520703 + ], + [ + 8737893185079738581, + 12667420660652549939 + ], + [ + 7572519865311188387, + 9542306024562965746 + ], + [ + 13114622494049232230, + 15694558598248510101 + ], + [ + 12726575185311296251, + 17818120978710143992 + ], + [ + 8537921525516722204, + 17702201887367047851 + ] + ], + "merkle_proof": { + "siblings": [ + "21624592607885868680611299439394696000794637309786006112699457630255251916794", + "2136683783535927729332305541717533732635927733669812757554420181566204653674", + "3247259713618418481174355371645098705236601232012766241743008767907375469336" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 17831709864981250920, + 5543899208622681961, + 11371043597537047660, + 6895291482690871205, + 5851577429313278278, + 2084124881701218560, + 10864992321352014601, + 1132948117041359562, + 16097186237826933589, + 5533197959283496078, + 3559282924911061846, + 16309201340733420969, + 8342349461783384244, + 4585989796227898735, + 11535376738119945872, + 1894775620350571164, + 8967537866030241159, + 12112214188404661613, + 15249650116171789105, + 12587323080283357915, + 2907806446271144750, + 3660563904875334192, + 11240234882625409003, + 1748999596417381841, + 5087972152837619030, + 1711951007056892242, + 9120689697328477861, + 14276839942029394016, + 4572263345130460421, + 10652151742206265729, + 7450282942389394001, + 7325217955194109895, + 16067883318607098281, + 7362321828125515317, + 10271495913980265658, + 8604675817534619761, + 11836339362664375177, + 4942495093210994459, + 7487341639808521024, + 10099379516320579414, + 11670575946544264173, + 3803381252598901300, + 14681117396583577203, + 662115009459115210, + 16005525322293593327, + 7336449152612053103, + 17856092820822305570, + 37381182001085107, + 3445637997051738156, + 11343800120577664212, + 10535043572821541836, + 17590981256788793937, + 6454495266532442874, + 361521460468450093, + 3114788688029690484, + 7991791932430873592, + 13704733512037414192, + 18345725624547863122, + 940201981480929394, + 1819143003083995915, + 14987608755707193774, + 18055537521263899929, + 13957947560752533405, + 14463530460384290011, + 15605053085792791421, + 10990162199175395236, + 4568756271435779882, + 9574126861770002036, + 9507909386728401126, + 10338182646975564472, + 9393683844363279495, + 881020429491661358, + 6735668317444775270, + 1706136890874771898, + 9255666076965895056, + 7228967020247359580, + 15752357608183874146, + 9638741456677453751, + 4766427793224062999, + 16625699757678143850, + 11142610858902923622, + 14994750799134691848, + 3194163446167959400, + 6500294180310562455, + 6078716823840421616 + ], + { + "siblings": [ + "7597019901613169253016106878907171781532073693097562187566893357554277506978", + "2727899741839687758034549213522728600582407803288634662231692108314843910768", + "4163952502863671796904257600101009062691276562503642042293094808248633488578", + "9010327381163533519161846576148008039961104202909161997080370775421079041360", + "9617738790049627438270567478910643947637903386986238411588106283429927870030", + "13483909063158256324775158279810790566591590549386888762176997103381525559586", + "6419317533477843736897916126128871164116681594459410926123214796476007235950", + "15420077617385148757586441584228261624133132799721216954213447986666232225467", + "16664377538983987235048703744891806880157324193206523526730302273064482015444", + "20785292413729326936703408930832310842261037887689368370748797338453199965373", + "4098825263872500661644459531875416019749012261911349081161179758755708636556", + "7520507740325164307067889690792300352938029635987311162838727081519640248730", + "1687025029985456001019239744908589435040851354643876189955559510962581118956", + "19539905400770416816111622398213187529165968740761565327052388142352803772340", + "18766145750604020603652514570055453805334296751125427881488112832043941907128" + ] + } + ], + [ + [ + 6220692184607524289, + 11618321251250516537, + 10213538358004767363, + 2911420612127360233, + 4189179085641882397, + 9462274237183970556, + 3595991987766904096, + 16582727893539119999, + 1242228740814248298, + 14918156028734861193, + 9440543422549066745, + 3573446241428296257, + 7439765180078182130, + 12432616896858458753, + 16614552828499366030, + 11520061119236988375, + 10916141460659634751, + 11059088791962699870, + 9735132146214262342, + 7146897984562020455, + 8058636562252684591, + 9785104849152296440, + 12454449362459604336, + 13335430108337625214, + 14778135189391496612, + 2958880874236935986, + 11210356507392220252, + 4920413065335056813, + 4778777320068483341, + 4514768325354908740, + 6797626282789912433, + 7704348008672183458, + 5508957928616530288, + 17740329725448629773, + 17953347312460721379, + 16335782957829885151, + 4625845718698730318, + 5167599517795873928, + 3565457272823206502, + 3871122225205067286, + 5711890951340872755, + 3989772878336170584, + 12386309522802586986, + 2284484594857920171, + 5486229199708126398, + 10192987339324131563, + 9313111133772610848, + 3055302627065747633, + 9104995905528471796, + 1053056072196537293, + 16049618874254522840, + 9083673828575657853, + 10214829064719555886, + 13518144622115659825, + 12967549302218813130, + 15900861384325369676, + 12402512237912846429, + 10617389187112519845, + 16893508812744272122, + 13640657918226422572, + 4194899964959970100, + 6653484408667504082, + 1124759487676491211, + 12393791904344288772, + 12662410375342542334, + 3012879930688716186, + 5815906093379309375, + 5089605565306331349, + 3972928796233525784, + 18374088289948445975, + 3684169473857536651, + 10546362622718567565, + 8812909636583919920, + 4932693285788080034, + 13722188266583322503, + 6302273205829661042, + 9716707196651039297, + 5187861030613219036, + 14761573137986936202, + 5197911738017331796, + 2990668993548812270, + 3680195131802992886, + 4560628093834574203, + 14486145835101693167, + 6008692163380160244, + 5330299406145127817, + 765845853450976386, + 9291662751343283154, + 16682807902650849001, + 16029048512600205286, + 1891867031553120867, + 1528059468638879783, + 18014729049432615616, + 9586296201576940954, + 16389679531376195912, + 6430587473105265988, + 6208988885019676040, + 546068294935413844, + 1584389627487578415, + 16402213668106421320, + 7765961016435775385, + 16657807576306977884, + 12491734036929338747, + 9196345924620216352, + 11018023844975815905, + 15318021341583769691, + 9548032411368850020, + 12784576087576471417, + 16371384329505813337, + 6298733794157200144, + 11362827820323389670, + 10572509355978808520, + 18029900520792338188, + 295560261687631546, + 14584387887476999393, + 3374433188025496339, + 2652690531942884090, + 13048533460527348800, + 7833815996879473758, + 1946607791162612797, + 16068320360445364492, + 15750273813500230501, + 6247602238810448824, + 17932232625969787614, + 13807547815304085608, + 15672660744316756693, + 6630534570223612410, + 4774448614249632272, + 17994429178319446345, + 14732866477721459106, + 16742842966638538513, + 9189324762068552627, + 14375495889991913634, + 12680093812237890803, + 13064842568306363691 + ], + { + "siblings": [ + "6956977117529741403596954288399034686056246114806705063431996261716856859386", + "20721563521802609729258642519167573955954756985079027332730287083247381936507", + "3821678309114965138982326223102328751778618530897623222858962765452508783683", + "8466672050008088458438289479706637064674818968736241578183583657372116279472", + "3110926581405912002175932228739972896637669388868569141777977746628815035449", + "1140973852676151883691982871008430244003693717576998739878506854106707296186", + "21329873007520277501153739554377784527850434048635280127146947425289968342766", + "9892260632668344350345500266367135841086579862634330852623478638704007580629", + "1599640185721404422634359464478603056092045521802352868682101179923088653952", + "5092856512364669830669183555855979829969728165123930899014948725056255826703", + "10828283668043580057178779574353339684100328805181070622715946853125763514723", + "18068031711062814971952554550419805921315035519076372074866967040401064634477", + "18421766972268915769243937228324156147217875056626882657906409636087602072384", + "12328580745707230381689101152914986471910473475445973177662905703189649987540", + "17534586559790469371491371026647443304652277136456730466504517646415250504209" + ] + } + ], + [ + [ + 3243320030544128068, + 10564845092130102551, + 10057684145459238414, + 15642716260057575219, + 7198710115628689951, + 18434727903793823994, + 7128437379243556614, + 4871401231525700638, + 14545431777689838414, + 14476596926392188049, + 5209842397330170813, + 16919606440799151396, + 16403724297972530040, + 5419528664973992628, + 15422618081783530746, + 4927226648794160319, + 7518383910736750475, + 7623473318547400236, + 17015845007217848903, + 12837797062928979295 + ], + { + "siblings": [ + "19879827123305534540008702981268390834063109510644302730678104396549711051621", + "2656050719267750590694785997321178099275668139165101039259868818388877832412", + "18097645723942417934210549247973766579347684979873963018455523861483194799352", + "5998392394857788227738253151035576008749574787422407659938993992861681343725", + "19887704969552394622910900229006441478949825024925876878198910523728574663768", + "863936864560167568721141019073348772676132172340148776812095042088657216088", + "20549781152655392165846029129720325397450144758767767517962783501462640703034", + "17289127024621931520066399250008581582632043146167351178314611209832226313912", + "10860721053885313345998794343197854897899514613919143329650676538616215696922", + "11139918314738949962210962283918738677550475258491841944710327356684732549434", + "16262965271430561522573635797990806899741854876692031693548088144243573894385", + "15469720176051469971384510434431705969616537726923781249755678442116717055565", + "12567930513744703831978186653013316856812512107038456937812900918721281110118", + "20280771167489599165299233696011110773131541720430064031839793555228420339031", + "20596518910570216730807720352251253818300242002053850886832383281141904218266" + ] + } + ], + [ + [ + 12887915020369659222, + 6876185310819954571, + 5396568138034367047, + 895370443089457775, + 14104379094681907717, + 7028976751291967005, + 6084106032532841296, + 13929938655739757964, + 5595508024913983582, + 12312008841043175920, + 17826003174884346541, + 7139552192342863912, + 8194416352915808160, + 7150384883166621508, + 6913284663532548747, + 15732700774259064751 + ], + { + "siblings": [ + "11292397901677640385199548860092081824907912014743927504882262535258811472694", + "10346459851247253230424984484502829576754782793022001303019375146085125028640", + "2079382863150973730357546344365997221162697083649140382407218825187259496257", + "7298526188407333873977853145086260802114733949579550634718611583391424676519", + "13042363474160091537955259339164344306192514819969504162530496717561143546547", + "3237702601287049162510906974002188635206396344131011408322282681760825473003", + "19427796748691445095262815325173375003893223911621834526417685407981645960451", + "20829491151093680436385706568041528617409181431271220629784337920272767580513", + "15551142726414529415319078425841053104780077965191976923756827145923503075853", + "2228993588624186723915056467346331304763629585410917283854807515638971729014", + "13040922193713755328718871794619559319311251459959301852232268936925708608955", + "18505721751369648524916326783117667088372885070905285445890807535738551433945", + "4006780590695615260174966224671814537162370879329938131927528458346663874669", + "7561674595397186079547752152379443839684461350578849957076333719388879663266", + "5404310279946474029468949598650573477410716652101235512325200196444982867044" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 5389918230269557889, + 4612939354927669072 + ], + [ + 9068473028152742928, + 7483874821216559045 + ], + [ + 2902811582363241469, + 1452321395721539264 + ], + [ + 11693896418245662502, + 3361532155846152089 + ], + [ + 17317682669721394597, + 15372801837346118986 + ], + [ + 14447907004322280293, + 7375086250107463016 + ], + [ + 16250081845666969979, + 1437346239873960706 + ], + [ + 5571276827391247483, + 10318726800183011024 + ], + [ + 9328939765790225282, + 10936547504310754459 + ], + [ + 10561265694984766587, + 1354577195764039310 + ], + [ + 17928856580802830566, + 17869160451523773900 + ], + [ + 5198255840757284662, + 5755859479098254820 + ], + [ + 13515291752960716221, + 5940052479140034612 + ], + [ + 8225389488550304146, + 5405499353040707704 + ], + [ + 9038521994437726479, + 14339219818070492873 + ], + [ + 10542545971015228717, + 14589288444613844519 + ] + ], + "merkle_proof": { + "siblings": [ + "10257519621754332471552435928979955301859272565976455088916010967419872039560", + "16429233133280020519280879759508330783898551849111123703756608922959418124668", + "5453610629255720053746031351636525632942774730568107112213167103693715634489", + "853345669804509470560518981785158066794814192015263011947206196538266280389", + "4057043646144656514019009187761882243658776813441431615086830209132115683211", + "1343661661180406197291283778819567815241912593382305147908208848906601987215", + "7639295673439790846138147854947198746603405353798826506834054108708812081277", + "628389467464207191915265233361032262826380165543082204652293710504070573938", + "13198822429037873980210867209716553864371363306953237431741895857165717540123", + "11783707421623029602260215500904902356858893799850883671368011727019286683834", + "4111788439634592259038108699555645308778938557160487409863591236672032657921" + ] + } + }, + { + "evals": [ + [ + 4130899778260082515, + 16641286219676023114 + ], + [ + 11308393908562708343, + 1843835245099126259 + ], + [ + 7112625832708792236, + 8026611414027763658 + ], + [ + 14645505832217314445, + 16377224622007934620 + ], + [ + 2608407130358121281, + 9011038377018839441 + ], + [ + 4714889611295742665, + 6495511769702830585 + ], + [ + 12977640074196285912, + 8679096585393920505 + ], + [ + 2083177590474716770, + 8145506759575405855 + ], + [ + 11813431412659113105, + 10329048231472466758 + ], + [ + 2984247586968975440, + 10862735314832366804 + ], + [ + 16986488415129786346, + 9710640697315484589 + ], + [ + 17332998933983059714, + 4351737051963547199 + ], + [ + 1240167804340010629, + 1327016993181156385 + ], + [ + 14326926245173837491, + 7398918564951881800 + ], + [ + 5464699773483243130, + 7063796950361639135 + ], + [ + 12792552620227289700, + 15787351926514348977 + ] + ], + "merkle_proof": { + "siblings": [ + "10140351208352685400524372718635700071861293589004263753926874204955695004668", + "9263507508184278720216937628189491185679697442276932001972749031483773342854", + "14282367919847369441852603389338027818848414040233800766504524181071093131831", + "15611248474482369395135820028230221804436892361223924297485650180882545971957", + "5749341050930713324674124501529190464130076480593996380733438711735987051757", + "2963658248919781871655887783776702981325285249992468878981675110566383463969", + "14449731244767504408303828516935802888502249030105471923409993371226286639814" + ] + } + }, + { + "evals": [ + [ + 5315401014004255967, + 16978810218101048969 + ], + [ + 2433125391337101469, + 18210595862985717948 + ], + [ + 17555843170965781320, + 6765041664713696480 + ], + [ + 3185150734365802886, + 4647821148304357860 + ], + [ + 6518839624656034114, + 15495929218346328409 + ], + [ + 2290693851321872490, + 4025640177089611768 + ], + [ + 17723506477791272308, + 12591165449135397202 + ], + [ + 10916310049760888247, + 2660974373274141295 + ], + [ + 11728046731972923850, + 5296245050374122876 + ], + [ + 11896289159564616864, + 7683761993842434812 + ], + [ + 17321391477427813458, + 14276962215310918824 + ], + [ + 18266604817127453005, + 5428890321535670146 + ], + [ + 4882888775742025769, + 15853531103652017861 + ], + [ + 6486365584555149500, + 13608464022327743315 + ], + [ + 7907445366328066102, + 8808288665563022629 + ], + [ + 9892060834029644894, + 7428684864193183799 + ] + ], + "merkle_proof": { + "siblings": [ + "2481940883187726994744517938267307539115493830146462148229577724132150195792", + "8282523804174362886087597109952702122832580254605205186320880793676981660909", + "1638902965031576191263386998147761600899021305587580097903530087951442886759" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 17706760651517036126, + 17884941971717554981, + 17913235614839170559, + 12069266143348076623, + 17354925491082136242, + 18137916504947073342, + 15658117169514434940, + 9365978377936466495, + 7953151109349144446, + 15410135554073172219, + 16142371062884359195, + 2621396817829785110, + 2347974693234116805, + 1940911208186289341, + 9323460902537018275, + 5532134882530836543, + 3138652732285191526, + 18427391085022697038, + 4873087646365353977, + 504728912442562748, + 18048986459498264523, + 13588089190484484864, + 15441759343941059516, + 13375179567321710685, + 16654997915307670, + 4665298347846613996, + 13652311699345725540, + 4744572145579600964, + 17937790336978015575, + 7646528810682456656, + 13149909373475392727, + 13337561529358714833, + 11998663525408077224, + 6027010835274067712, + 881352881267444644, + 17382268011979271524, + 1387174054288313687, + 5247820427526498265, + 1172571382172848022, + 9412978444414992874, + 9082528931188686691, + 3558760745034781182, + 10278868789908298716, + 7836729364080990969, + 8616328681889885538, + 1354679030922142049, + 3436220547850170058, + 9650518252087211312, + 1964911232899620814, + 17445045402091960830, + 18038240584535825801, + 813076539254546090, + 7477792692386240809, + 6075014905954620752, + 15186206156016742287, + 1531946954537134869, + 15537786403301532524, + 11137299718964115119, + 6852162199452979232, + 9883157783188889678, + 6740177738227422310, + 3129650477923659127, + 17079520340705268466, + 1610905277870608019, + 16994293048655896232, + 5198897741565461545, + 9342268443266212750, + 13157976153224991560, + 18308657279660988277, + 1558006642365776113, + 11281511931945065272, + 4867674455205495193, + 8610963904271306952, + 16134430960069845926, + 1411072509087754505, + 12495433036844917553, + 9059524295104727322, + 2896408065839871854, + 10204291169399806697, + 13886993321293619335, + 10515045829176508396, + 9386547617071931054, + 13872781933864850819, + 9627718493672308897, + 6001831611559927456 + ], + { + "siblings": [ + "21288029867480021017973232893402518859503299675995726619298397665810191189250", + "8248704633144362881731340303870532614465929625451424951504088180049364244842", + "409730860413425872347324664446434603942815903382732345221118303863006464217", + "4744059209971861787665707375896476948027679528510474686821616297211419901138", + "17177490338136599077204451943713397379531095284761989158073119680792017581503", + "7280571267999308046955314978693215756831283900749397134570192567077428538889", + "21309245578352193593699747940623118076844895323343586605686330129386008986398", + "10314318846066360228846006486156479124968660633144350844414097090434832773888", + "17204638786757481974622313405565101351783136464998801955391266437006574919881", + "9944220944220109433438194055737427358309890115695167498671441274173247732206", + "10033424162183482211047912413779484919550492188881552260001329767075376141527", + "6600140604874693303348306935477842129066673852359536411517639367455934391322", + "19713780302226874507361462297873322048979246100565206059108392047237223973984", + "2958779343749316688648742272583250689669296363662505133611762784557370200036", + "12235235678120191549890789760852589134711592164560648451026060190774778056356" + ] + } + ], + [ + [ + 267734153663348957, + 9287328238468192090, + 4949950815670289760, + 1080650665104380153, + 10610829101116712696, + 1672804102532493746, + 10266304845940614316, + 15443349478372615673, + 11448825883915889280, + 7955676152551340134, + 1242358695155135935, + 15160520517623869833, + 6541785554987712227, + 11045284684701483426, + 9623712374862336353, + 8998178640677724871, + 4369718219762651425, + 11017798007153813026, + 15410453298800153716, + 7575359385327153346, + 17006070343139757458, + 2619821608654996874, + 15975077019309995503, + 13609005188683182996, + 18092575953865555153, + 385117381760072439, + 10920604107711451602, + 15005037750342594826, + 10022080163466924021, + 17762734124480429834, + 15339371224310050272, + 5289233450911297138, + 7554572630833196504, + 9726035747425942742, + 671682215393507436, + 4487133809879924749, + 5832148402998044618, + 13657712964413563878, + 9802171919394404170, + 13108528212627845190, + 6004685498235392855, + 7607955733809720215, + 15004937866337758812, + 46416281398261724, + 13929571867522308071, + 9646982185454498892, + 10240227338735582029, + 950593363776730635, + 14935931379485492615, + 8512446929566411799, + 16352431047807588300, + 6918019463422954325, + 6702283242844865194, + 2330011876995932730, + 2008632813018610862, + 270165721880631194, + 9367480477406771309, + 1802820177768794940, + 14479778692912361511, + 1492338633338435541, + 6794845175410093066, + 6777957811043148595, + 16943541677164282134, + 11736005643571518569, + 10215482296906829597, + 2105499059069170399, + 13919447628953026460, + 10012906301943467530, + 156180983074051385, + 11451517302833160761, + 1788415138516975751, + 2605762156029073611, + 8404640939360302492, + 18443697047789634365, + 1741686099993602841, + 14439894703922391971, + 6723970038604783130, + 8261034378269370735, + 18227544726835538354, + 1825549810619686791, + 7194667721973686186, + 1989002941303389963, + 16252196415420240485, + 16044587478634914368, + 6302317119809906599, + 10804847306682750848, + 15986114181161177780, + 10815015154429269781, + 13212113960324502900, + 10136511484027571785, + 894240071908784613, + 7707219951628174361, + 10343096788603120328, + 13497874353567589735, + 17641769858446630983, + 1588575267342238064, + 16153820195666884565, + 2068351326315828466, + 9880091072563194891, + 13477941997657652397, + 8875105261515362486, + 5603337010252347939, + 9373233217978230547, + 6118546804762635252, + 9252234795659586907, + 10876759464645794845, + 15436128259101658555, + 16146135120463107664, + 13113117857858577700, + 4379257024722110399, + 7689472551959096046, + 11318713445154646716, + 254995093028798565, + 1164848577920775386, + 6096821517158094298, + 10068392519722579536, + 18082634262821511093, + 15831243393864554963, + 14440078357447070949, + 15507049274998617161, + 15860512087451153963, + 7928869875581875950, + 5611635071533293682, + 9025967887234266020, + 9474048601343569802, + 16166447584931583989, + 6500202035039332022, + 14029097668360815378, + 10245379728942283236, + 16173388167904641156, + 1964028568270395445, + 70993604497607215, + 4620797972867943450, + 9983895405445220081, + 9846642669662265179 + ], + { + "siblings": [ + "16079464442009671787980311211256310573099905433768793175361338495923829841585", + "17169204173547694965777956769213367517601574119564487955225941990276116531861", + "5186214800685397689525224693157709048370337574698050860147126120905094666224", + "9733924887239938407680781102029513838391240075431113722832184642728787448238", + "15959403033842228669618476341117776478044922945660673981860519629722804548504", + "11479806085620571476711767467285584522885683052855069913709848721216745520216", + "17587877840892991943717996259515313653410659057983729546242133435027908281173", + "13819066989574343074543595895029927285170718019123587822660843290566844071565", + "1637133770835640297469573595923297291465881696801356882903799475896231449186", + "19376652921791238811865980541788591505896574011597137594965560459872195368414", + "14295982442623272066603817255446671756678254844258690156583525479516027292328", + "20075519405545257742557571066480051830715208237778685904339417300028796649495", + "2927959049445449279288968657278414612334110702418092001816402045248188748999", + "9545935295437365949421595382150108874167943036619679750892876001138648572881", + "18770968892418868841578749491830032160758628589274695657987823293050970614052" + ] + } + ], + [ + [ + 13703535453841487225, + 6966202870014809023, + 13124818920441287285, + 8933668710396276236, + 2024183868755035959, + 5646167287724529795, + 14474432486731791791, + 597759243494833923, + 9438894158357222810, + 1592025173003578268, + 12127486170448605574, + 3391934615667158796, + 9070541202185942862, + 9369328425843729593, + 435312674696541726, + 4270178218869961015, + 12946065715409930881, + 740228312228826975, + 11610515952719498616, + 14625000127400694232 + ], + { + "siblings": [ + "12553097367587536617853349240873011613051038631407848122640454448916682838665", + "17912530672829872535686229649713675421577782326554514978597427480204224345430", + "3002107313939331626692997544639098358354996498433225863758356091806925137423", + "15882970804088116154160083794234401131903162461465729524350886391981195182198", + "14158802402408259261904132948961318586491427045303700326876395351462723439979", + "8492942706279174983830344742563372453709872905965025978216919942791478169570", + "15817499056706160917126439870176968704539628019202328424886859518525251968270", + "8968021222861628482711525464047167505247048174110434899122789451468806482271", + "8730255550712728942949569273875385906163234701636541119767964028708432864919", + "3761767099892540331074009248703824963567053570024569968600775369727465681615", + "21084458040982247829945527626396244006586500491664793205335578113965592136186", + "2014175155824964024455721235547408349919810612865930852024945966066255978581", + "12160978867278337482662729674874881507146240510002766993680968866978000395812", + "10575105728072189292112226770374712961880013320025658815357394823816211559139", + "19478302924232635870478547819825042610052788492241372659723250886001482452562" + ] + } + ], + [ + [ + 4200330347267150000, + 1118179205243498808, + 4456393367581859619, + 4211903318450569537, + 4669779173623091159, + 10316633333481984820, + 1197954994182854446, + 13510778738910346359, + 10006241933241085867, + 9503067301032113507, + 15458994122560901805, + 5151825012916981481, + 4501562495716384986, + 10710530853391824759, + 6628287180556710999, + 16800364459788392163 + ], + { + "siblings": [ + "14728007717079568777015523863674844329214991078478422125550339632445219555950", + "14373068122219977180800758990672402939379606716796623445674676037676576122963", + "9939606329465426039704578655684925764195328514591055779580222770251179596100", + "13868828088825130695727905586130426480614737216422083573461462757318392289432", + "14866524045085143822033277657459838364607356658686307189678072769936051531222", + "4697662328016689225798167182611808704177920362354692103785417200250517565937", + "14196687137170887154619379033060169169164046027229083914041691279591826678490", + "19625723870096516327020937813681958109240989007686474683029383104342885884262", + "1854546335443377780244465417587987921991836683058182980640619721974436120665", + "11557868140902666092681220756546792842500540750339327004599905170387064626098", + "17572517193904760931974813890676886391332741784356403251621162393171231041719", + "12944158150071867431645655600936856508865664426964296935802540754086082937552", + "18876710585619426783229448078408202549733953656038027059718867038908364789434", + "15498437723587448058463171478561473500562746799635543001924717550179176797799", + "9648335207598405360268433533814114817851849642239166981722636893352368198140" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 8942590493372757327, + 1660240725155172039 + ], + [ + 3006135370809965881, + 13234933830033352929 + ], + [ + 17970037778986736509, + 4113813065701952377 + ], + [ + 11555527444463954423, + 6435162482034596929 + ], + [ + 17664266945877789289, + 6145374549174115267 + ], + [ + 8975423776107299998, + 18055008118675926465 + ], + [ + 3395607319138103328, + 4301985147696905578 + ], + [ + 17551743425267486231, + 13528900995598469681 + ], + [ + 16575516886525684306, + 14793264564934814930 + ], + [ + 8779134400534434610, + 11542882575835225472 + ], + [ + 1980904513932047206, + 1472303513098369527 + ], + [ + 4572413424234722149, + 15075074413931701965 + ], + [ + 16684065085882873465, + 11278418075856919568 + ], + [ + 9283850686087607438, + 14921306247714147887 + ], + [ + 4009182733239073208, + 14887720309099758817 + ], + [ + 2919173801268508671, + 11834484319193486963 + ] + ], + "merkle_proof": { + "siblings": [ + "18885547203647629060079112753057031197376778865600629319028839567055050458275", + "4144320202886607646289304712398555537873879662832230953849844743005088833314", + "5348585423267010511199774107802834312555889069229676059186456904304859307305", + "1592909237819601052606046093932483177671517544682081229980390925267784228759", + "2001412840587926198059867924660166769727287303681458033345154325106308985124", + "553154907610789417913687498787769376427014231846972981348504408884372857367", + "5112831654971385043636545011182962374769027349090628082290582216598866865671", + "18893424343397091827157724811387039831425843940819609887997054298021256331067", + "20404736375898711889871274301674830678301403630601089918628367646623941895142", + "10021621383265088671803370261078619380519463024455290755630525242079464878598", + "12576368533346950884011950685428271310558277935394125241017381736890135476615" + ] + } + }, + { + "evals": [ + [ + 11678569731560141403, + 13289999551714977407 + ], + [ + 3573299975583351606, + 18414681104831140650 + ], + [ + 17767853528479882326, + 14749310761850691863 + ], + [ + 5358114354798093256, + 4579401091680296223 + ], + [ + 17266379275347558926, + 620296231910197328 + ], + [ + 1751268154085471084, + 9152602636874990667 + ], + [ + 17726231479577725937, + 12701162808889295607 + ], + [ + 3461091811990693436, + 3715256794382093251 + ], + [ + 11381464972091384942, + 12216061011914605297 + ], + [ + 1009069608840967286, + 9283823523886699524 + ], + [ + 9398912232192152643, + 1883770261292551586 + ], + [ + 3445809436503618584, + 16160905805287746907 + ], + [ + 15817346191469032683, + 10397014112038048534 + ], + [ + 8170444158734051702, + 15763348441001278112 + ], + [ + 2251058170693389793, + 8859359854367456916 + ], + [ + 8128756587372378970, + 4500888293891272614 + ] + ], + "merkle_proof": { + "siblings": [ + "20736632763629319498692797858862600597032896793193906948964129791531206855487", + "17199612020977705418387549242395736677455331968604100370110705767122278635365", + "17596321013226283662015839341642584879551093397144147633022486597142799527745", + "21722539385131592492686911772561392488831848447752095089314556735325262878843", + "1195358658853299457936244545404742125338215225166816970167395511623500995478", + "18156383956019187403323707388777099853391857061125238402383600737272109369495", + "6948564961487418334226172574037007001327529854561390080836035767638501739243" + ] + } + }, + { + "evals": [ + [ + 13932270894025980929, + 13807886260318283206 + ], + [ + 3538596108282370384, + 4369701276679154596 + ], + [ + 3673347933511592546, + 5887306135950061564 + ], + [ + 7284504285421923799, + 8134844146565357341 + ], + [ + 15463473822323999434, + 2803645190966563544 + ], + [ + 12363403111128803798, + 13134871975261460918 + ], + [ + 8142411031653541346, + 12611559998218442325 + ], + [ + 7497598368801727441, + 6443615163169459088 + ], + [ + 12713796570194126019, + 8150636911371331414 + ], + [ + 1403325261546011300, + 17700787968930969797 + ], + [ + 16649134819436853728, + 13851715574618354317 + ], + [ + 4590371615526190302, + 2195100406411179897 + ], + [ + 16168834136150291354, + 1881272575152922971 + ], + [ + 10566205928535232750, + 11415400196187329371 + ], + [ + 15133221427228859642, + 5029065384261587438 + ], + [ + 5454649243959950047, + 252351088453656997 + ] + ], + "merkle_proof": { + "siblings": [ + "15886325548071286109182642924679548496027960734973227769262223532182915404174", + "18834669719457560212631146312636550810511308731829120651626751540107892727257", + "2234462496520727550788941489381782444228482746153190656146014005041904418510" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 3867232528243930632, + 11055855138803836748, + 17990023487870695845, + 9688496170256616041, + 17482725218341865594, + 7190345658639132792, + 13071229266086628372, + 14652490320723406853, + 14351090857052620190, + 11729732378738136144, + 13780408059498447309, + 7433800111141763663, + 4926485585144452891, + 12653995900296304254, + 8787346972808266324, + 6956853175692304480, + 4074684184870594896, + 496516902731974156, + 7719454902377645094, + 14326686371904434888, + 5586946651285165657, + 11081758022842671758, + 2375015927475439544, + 5669419781661974126, + 2105587086646960999, + 13023382384712080676, + 11921694475640914191, + 10799030029774206627, + 16141881609099304367, + 4147945072705180238, + 13796454037329942700, + 13462239030455048901, + 3339277451340932334, + 4075158877146811582, + 15676030766122356813, + 5332045316691700350, + 7603340717468673459, + 3078387502140603983, + 8612287963349628724, + 8948505603966885306, + 15849683573714856764, + 537013235553621596, + 8277900338554168141, + 12295954342831069106, + 13005799818536380916, + 8063754955205384411, + 4160261496270083331, + 17571029176747020285, + 8013893480081665308, + 14542850034400206394, + 18169872357425379615, + 4008113874794717247, + 16715269930331416307, + 17081531695294844702, + 5373382058283529217, + 9027196677180960291, + 14657038243005958666, + 1031146223894940161, + 13558386336171816725, + 3315507074942980418, + 1716484129243292702, + 2614803755326759129, + 15387629337229181627, + 3643312941668898308, + 4623229715197409412, + 15889620040273992370, + 8941745378903250690, + 30146780609942038, + 3502838209402433887, + 9577482239416105227, + 1679914251584879263, + 1006866774487118678, + 4327875832669592855, + 15038082146677373360, + 5079869087083948621, + 4290273874735853850, + 15737031586486887108, + 15876002542606333738, + 16110989802706110576, + 16908848671642710292, + 12471290306336110797, + 6499746591650081265, + 16915435635119814837, + 15109787687879856512, + 11061690823403776696 + ], + { + "siblings": [ + "7880424558714360053725923048750855523301615128006046539239327405435748179556", + "14890008251306479506097644527863778943989317607959526360574351292309699820436", + "11904594431304154089981717002098900387448505494858165450151998168137779132752", + "19266747334329742505555896741742063870219131556224554509877034005765112694879", + "602716372269541275159361261162744421117619071417762054733136339626573626317", + "6812197873433317713233087309646926300626075747766780935843530229965074333618", + "9748495792488438213838760033850154891342861314865073889456610519753187783660", + "14046064193373462445603250963781861293328852964521325169862797915209608081653", + "10285044336643645830069232534837803103702796892393895700818973985912230707106", + "20306107877342935459433152516154187313347047615128206885358224347496888638333", + "12546837258607737295269844101781639639656914417735343356126078706777168013240", + "13848560904192088933723078959265670472675389158501239848287631056092497215621", + "39412175460274538410544457061288020522059785744616052549488645299194727017", + "20826889400614962059154325264009406020692345753494451493561716198992303939670", + "13966503057241127585308245131050043160452726140594781457107986511168598424199" + ] + } + ], + [ + [ + 12572589895125326241, + 13851415980413979753, + 6068817263822630488, + 10697834547601438183, + 7645197507310545515, + 5490558020777933051, + 17648573474465944612, + 17344721562748824960, + 12897343505423830768, + 16926807607158262378, + 9293489076412049301, + 7793018828132774342, + 3608467635272300625, + 15753179106670191282, + 15085970959939878202, + 14103488509986210831, + 10361236714115533290, + 5748956697295462946, + 3648426244913896908, + 16841325116604754118, + 10708137825753123283, + 4504559615891288929, + 621396297373789767, + 15138215358646618990, + 1686977259469674205, + 13502096093490242337, + 4612190198159125641, + 1020249982988302492, + 14007120994440851599, + 6991831330985205733, + 16713961882602448482, + 6846662731003202043, + 9282810510810283829, + 2616537040318557602, + 342180845076700967, + 11971956974877539123, + 4408334693573821829, + 7472420936938323538, + 15539166322835112522, + 14515107410261231352, + 11996383406183759868, + 15991298211522697113, + 515132067069359856, + 13640204139800009471, + 18430304783093065084, + 7696633068121606320, + 5552614837362880970, + 16970702868282308941, + 8790523413108284002, + 15272072813978589486, + 5469288124968658729, + 3456618740587125784, + 10356323710982849927, + 659583222369056155, + 13274763416767570498, + 9619099157398643265, + 1927450284257558764, + 1186873690094762534, + 2161148390836478639, + 9164690108729378252, + 5783625117736479195, + 5066365465327379352, + 6988029066399755102, + 13278619551843313664, + 13777572713150467309, + 4831340781312204843, + 8386657898724396845, + 1975870363933757608, + 8187529851705688022, + 10703522522326432216, + 3853066326319015881, + 15618674543792997524, + 15959201094435935078, + 15685152434536347438, + 4167684261228119261, + 12974970187007615878, + 2349019343657092272, + 16367205456488512652, + 12974367320959361622, + 15839267974019445910, + 13263014759107911526, + 14902106300699270110, + 18240520991378109441, + 10591954856974733419, + 12506077799148890177, + 13761748888724763965, + 9875013440347993195, + 16301921965017767115, + 10989660949605732783, + 17094376574749411153, + 2833955461786993643, + 3747979790299468368, + 12611322922730741513, + 1687594649379580797, + 6626104085145620434, + 13153422096353951082, + 11664608912273761208, + 5360056570238368335, + 2671548095606809888, + 175835851602383350, + 636143794910230214, + 9689032601854160454, + 18090447080994967791, + 12595019915863575039, + 6959906654550477287, + 10239202030587589167, + 15954887308646764516, + 13895278772138763917, + 2816151600277456833, + 468128320814377996, + 6454756858722543053, + 2290100219845931735, + 11558578156769048526, + 13630036492595372061, + 3851455581262600181, + 3054008447103500496, + 10110746818747571758, + 2583647830695530729, + 402990059817650337, + 8205547105555805413, + 3575305979689206194, + 10302428262725236940, + 14295455217412433917, + 16722327487048115019, + 12199586329993425303, + 15801486198873087541, + 8332315999184269142, + 4212300946631481742, + 377064967147795292, + 3740984778030334498, + 16534907109633326646, + 7084621095776083913, + 11876526140539510344, + 653962811189209933, + 6418428977945795072 + ], + { + "siblings": [ + "12650797703651307547175373602934251686448902171128819580866610490529860469580", + "8455010429167845433301769113323558808396853000231514378447559649839126198361", + "10366520226824064287701754540086126323722883739116052865217739492702952746988", + "9817367113472128527828247749491088533012457374842720057526075774715526967410", + "3325267951902269507536876267753155848844405523713575959499329650779147732365", + "11137625727889415440867193565709928832004695057381912634911439786728151248020", + "21725299276717505286780057121200539126338804288822397856401011947559352899256", + "6813005939373974291329849899122193528101155481459085543966508832726076912708", + "20866766052009014421069950754239622031832279063680571694927254681606233795682", + "10250705284654613827401793917097327339424686563014974031440190126319565481425", + "7996743127945846519133861307712145700900074426143085907519382158765117728515", + "9650585838372711716801506374068457771950866244806310588532566629601480788094", + "1739696581057495886631467761655720527916092748301556009276475394091828654948", + "982996010199636576195797881731252461440409406847259201592669744544069560581", + "6836802146916969474060360443238478994372931852681012735264144135733284519110" + ] + } + ], + [ + [ + 10037502835463363002, + 12006041200972700578, + 6781042568229487923, + 5267095054262025764, + 2518945534825777013, + 11736507639572366304, + 14642114265322067872, + 10099512983164358264, + 6025571334872138266, + 282062510923958698, + 16508846467859718443, + 16187259204446433990, + 6499260922895638587, + 5503996408361929197, + 8393703852381438955, + 6537587318982466103, + 2240223356467341440, + 11288440466368776772, + 3735923652767329655, + 3307847117388172335 + ], + { + "siblings": [ + "17392541631617463321595346221148316176375600391578763507668309640158226655360", + "19926905914337610857686016713999345128638702284231263377995974060730816101197", + "16764049000470337779063815861267048372370188766973444095617556915329452632164", + "5687339353105482540707264526851276687032803438408434870384468643191998737152", + "12533695613460448889915262507489019407110384413173082965056013464970008143573", + "20709010654475681122564915139758666099598055133798425292486207717817488899137", + "6751919949711294892846460111611349640974926147522497324397298227683144087133", + "18716138556440869139059829341239782207231412108139026624323593698991312268269", + "16761108402507460855876441912176279105275332603660980826784289465949532703177", + "15272029634920504544372828853124027072259630780075316609533220492834943053377", + "17357653825502085996233371215547496132366541071631844738588400954726015454238", + "6381736662074018108695388157544517443119831464779422043660804793458718564126", + "11899103129872535969153692459873659829245327954291015360407038061059930553954", + "3968830761877045041947032657426434982171852766853623749959281036658659976837", + "3004169184258488657392706803470790382826902118749337446461103088236374328909" + ] + } + ], + [ + [ + 9670365343839573701, + 3196938949064418930, + 6451288813791367475, + 2380271301531662084, + 108382528496980546, + 7888208168910759298, + 15965627481696655683, + 17085959406467522914, + 2061354148428098928, + 526468653070078801, + 13363410686862085986, + 18391816480159649114, + 15143496370406306828, + 6250781422873290239, + 11668313555106035869, + 17873600973712982496 + ], + { + "siblings": [ + "1170248088187616896650171830033817975083569592563064014710980571631746305871", + "3051223692274228989669583021224104142011432832759152218134520318256436749515", + "18843831242148049068890196879889061302214856863449750660907265965728887619780", + "1225206328636008901898840490992729030452902059063983288856317001988160210045", + "10348726846766403666442730408965686891567994308488027609989692252697708086505", + "13276657786102133589117758111848192957164857103964156768436218976300175287025", + "18570483834003156984330620573015808520547970754501517798291925941675758967063", + "20562903414387202541166216018803486166108875368477736245404450724103927494707", + "15235181483390114317279641449709362870585183890260700477090329289890740265917", + "3499828183808033395548208481458827936623543821148225993760940566598257817843", + "16553442076088696507860946274910712463109018562314392946211342562857448268283", + "13204649503325586680869341317550393576905846029784033114261532563957152250891", + "19959327757511676746404808479951316609047879544393840562905389436501209174891", + "20017661682196402058469463771508422322914641633268778805421060639231637844572", + "20252544568036743714461447767474147348862226212616014380285367022029635365742" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 13807995871791067239, + 12010659065108103472 + ], + [ + 5510970115956710547, + 9322854059600540692 + ], + [ + 18382642386959470160, + 6380843872319821994 + ], + [ + 16038157697071000686, + 17460449341804232270 + ], + [ + 5530163104768680772, + 4265378674207874607 + ], + [ + 3812191104960722114, + 15551730325295646498 + ], + [ + 9760899835911544602, + 17710738538341876249 + ], + [ + 14116668837700197204, + 16061056429880893219 + ], + [ + 11860237111078583674, + 15083353717199758890 + ], + [ + 5153783111649013903, + 15697273575534446414 + ], + [ + 15803096984414162561, + 14255914277305184763 + ], + [ + 5497972411989868736, + 15463654084865012202 + ], + [ + 5986591456011836046, + 14494246815163191838 + ], + [ + 2706632718002857900, + 6020750460774770314 + ], + [ + 776168751774734129, + 13289086923936888275 + ], + [ + 4740395504337209597, + 10979102843395383815 + ] + ], + "merkle_proof": { + "siblings": [ + "6786648779791990764260999858051762822410476961696376685691245718527713726173", + "21353073356168623388224415609352181646842715589433394223116926763650432615177", + "20885847055900370673820772470790489975577400046564626762082168063739414782262", + "8561911723961968119625656093106114170739679242878542745218819072696273230994", + "6618698195509181710072826403225482921493581524139209527571213328308939140711", + "4800686888764147637935928836060895591543781792028072884998663088616934171285", + "507641724199499590361084731120768411612964306530015281045498986543282934530", + "10670423686202347032359647847735828246704070292447221887076758357213773904834", + "16360279506322791213008920105344162647560199505962544741158861926272892707209", + "3252282016155900943072636812921444650776812952157872114076353758275367274679", + "16911611507470559820708758476395107198417862529341980699334691207709899080275" + ] + } + }, + { + "evals": [ + [ + 12475047845511536475, + 16508279551778255837 + ], + [ + 16410266983319009054, + 10352328894789586688 + ], + [ + 17687244922467972865, + 13599747311214115144 + ], + [ + 12348585011216868640, + 17013073968383085459 + ], + [ + 6710257648756042200, + 9927056766570619169 + ], + [ + 7675231691721778983, + 17570274602999077479 + ], + [ + 8431318267714688573, + 1187645345330848033 + ], + [ + 9254420692000650476, + 14759612591393016367 + ], + [ + 14578475286407414409, + 121127775138496425 + ], + [ + 16532625115520907496, + 3310975712410447011 + ], + [ + 8827763677878564627, + 15212721229102537438 + ], + [ + 12340099934661571256, + 13740726397366106445 + ], + [ + 13188149014170333561, + 6936988425441710005 + ], + [ + 17887869393789956627, + 16438453481494482977 + ], + [ + 5865420789859632196, + 4362266714212898146 + ], + [ + 869502774170703918, + 1288954198148702581 + ] + ], + "merkle_proof": { + "siblings": [ + "6322282760879944405602068494436334987339985701390518464595341723578067193297", + "3287356255949002637284462488084541496131069773679976285374948262453489372364", + "2556791438080182481380857165711141363850077550792560490694233145513651339578", + "15659119306273477275089529666858919456784158170048302776808655729933217022934", + "12605171834637343344097799681445074938905443734146290111348242492701586116048", + "18136570212091707190060560684208657087863197983472374593629866822802116151846", + "6113268617914276338414002013468801846011345575514640675894820754721208265470" + ] + } + }, + { + "evals": [ + [ + 5882195472624524649, + 18356721747871660381 + ], + [ + 2436404962816101175, + 10770150883886345468 + ], + [ + 8347114704620709007, + 3790066326228024902 + ], + [ + 153868011859633375, + 15224085647448228595 + ], + [ + 4948496961043520345, + 13078643765423572529 + ], + [ + 18051165777352032779, + 14525199345029363295 + ], + [ + 18445526305872520440, + 1621088457815993373 + ], + [ + 999709768003390027, + 12256447806516306086 + ], + [ + 5164651806259681727, + 5578151997187082298 + ], + [ + 16705544210398702431, + 6433772335740827943 + ], + [ + 5067929529443714900, + 3190568936702987255 + ], + [ + 2365832083681779273, + 5890514668702179819 + ], + [ + 12929169090218028791, + 8111824978973616961 + ], + [ + 10471364945747011780, + 15217270197175253311 + ], + [ + 9409885967313803542, + 4830769810471591148 + ], + [ + 3445478551841715111, + 16790711118208918638 + ] + ], + "merkle_proof": { + "siblings": [ + "8150185132442830080011235554503833894212693065877535453317427525764984080214", + "7255546648926082739636108781361603642962891715165949981978910206593244956478", + "3068219811132893848880393180094784492773940022491825723501394225760796814093" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 8322686854073475889, + 11405905344876596378, + 15311190020422921002, + 14738528602702553197, + 868077278329882585, + 4664864284636285313, + 13983905902668217844, + 7633805582330081514, + 3232265548242065281, + 3974943277704828356, + 4499120757407684475, + 7194000503833793775, + 525106263811375128, + 18201255005300208140, + 13437886948956938353, + 5670171966521456259, + 16655506637900354381, + 2099968688870096482, + 2927782760872029923, + 14943006403608076140, + 5245522664793661610, + 11834437438113997086, + 5334244259582017138, + 8270276765081190077, + 12178911930924493700, + 5171170451950415437, + 6063834603020797528, + 5500804772153608417, + 18170697531585931068, + 1027204614018132723, + 4102971360681379063, + 8250560436326432214, + 6751845551244321657, + 4154202753000902376, + 15192717404748611184, + 10774563905084457318, + 15014655495301469787, + 5522341017433356776, + 8950486884857885616, + 607489561349522726, + 5012187527724146179, + 9722285281591492393, + 3419352997317804249, + 15852289954737625627, + 8831769954772973351, + 3416747952658359721, + 4922672236727751321, + 894235390833878430, + 1028302985141942604, + 13821567356403479425, + 8283125029454058411, + 1966000237094383037, + 7475936807050124572, + 14888430528154424420, + 9805970094500358468, + 9924830447857893218, + 8873194249919886161, + 5848140993692040986, + 14572499833455015798, + 1059452777528642839, + 9383422263214966159, + 16506205243561645100, + 457780695493897354, + 13631756129100913679, + 15209082436823350726, + 17951651573752171412, + 10408442222415920247, + 14123217577235224772, + 16588086159327133181, + 5805086000896426760, + 16781899662341985713, + 11612473690474319512, + 16881948508385100289, + 12635898795617903081, + 4166320101940349242, + 17298656005965819452, + 15630478065079848513, + 70405555700636273, + 857932033489861461, + 11830091194183241700, + 1149795827781324588, + 17393853370518764701, + 1734300698246151340, + 11129986845306494492, + 5350690396540105469 + ], + { + "siblings": [ + "1954159178558947901339040453545680109595064864133725002058466873001424222338", + "21598960532595305494977878159004740644658756356724881890663581952384184725818", + "10814704292207330792432598426916395180518526889910096886260757058237066671881", + "13163089120474097514560371761698622470179742493270633343577392668513223674281", + "9233281309607715422939798746698398061397462494601325263731442516455606258033", + "1369564393533133718323968968884323899297227212507711052980279407047917037161", + "6093436281856821996815491988418430425594209696241685895267498890483680302091", + "7150620107436513642440451611742221648747342701373243422656604381135175308032", + "8190107666049239990939375245404058924554850712746872540146237590923362854310", + "2771786641415852632315745345679307063232942073537156842603046915321578826180", + "9048820289236132167895588729056233495724212901016008773364011405807116506858", + "6814014476405563217456857855883832687070723060258505348536401296303157858726", + "7191250313804576227261175346971220296699057394963266061336155218709282972954", + "2526931803430902310770896528286416265100575326099613662528357317966106776718", + "16739778394762880926521803015039061662439919445009545435323758993225851091678" + ] + } + ], + [ + [ + 15022745878278950842, + 1618620346970930926, + 3260991049895953006, + 15156946504964221536, + 3020521752722306693, + 260776230796830727, + 15837708428836221034, + 12793305152889392019, + 9930048361624181400, + 13937097274587675611, + 15992150372156760629, + 9448037886809224953, + 8500083734924907168, + 16341954370980152596, + 273198329905295112, + 5655226803878957693, + 10348468905801628041, + 8097104273261181925, + 18027797858097981975, + 8836031819925612954, + 4200347793820277019, + 11004713438109951277, + 12151638269593632923, + 17939052649939140482, + 5668758317340015538, + 12571978499714755639, + 1734980973119633002, + 18334265931160787278, + 1233040416579439946, + 12251524093287257147, + 11477856833242183081, + 5247477028276295045, + 15068513189311116338, + 15694119161911998182, + 4382801717588761264, + 9434686488361700291, + 6617607487869411489, + 277355572935519801, + 14640853151855523511, + 1124206050980553348, + 6692859679573689317, + 9945649080187823056, + 957222382165420266, + 7831078286130182087, + 9793103611237795422, + 17471751321420181456, + 8239394706737788929, + 9292822258064606974, + 6312821813707428178, + 6660216352842837521, + 1194994094565796155, + 11178985171520364822, + 18317489318810602866, + 7155944191830207413, + 5752588614729463184, + 2220172317460168926, + 3751024626608283526, + 11298516675391241747, + 4378911046719247039, + 14452277531404056426, + 12331206751926006956, + 7425156972995166592, + 14150281860736762463, + 9872845130339401327, + 134824084234747760, + 9175281881059543465, + 4352546882206236464, + 11732467204479066894, + 8250583685265353376, + 6366515930568546024, + 4436335352452306422, + 6361897563270484044, + 6155574246254841130, + 9132359923578654556, + 651733150107405320, + 11267020809292047589, + 8474897719115615842, + 1058293188287504481, + 10642989025724307244, + 4474710862969253475, + 16108821974767504687, + 17887201939642531872, + 1114452054712843463, + 9585890491329013652, + 7382174293340787168, + 15021865995846360664, + 17408495927904787186, + 6098350549411817910, + 1747149285923122755, + 16011658744766963419, + 14856020953216148007, + 957774467803067014, + 14916588162766286296, + 13604396395694612296, + 6238552637512313449, + 15197848950321526085, + 4614746343376357789, + 6858537407621416820, + 5752551860104623934, + 4006934145815495941, + 6914071110935319281, + 13722641778612010957, + 435826371764617023, + 13806808536543272268, + 4190598609645788256, + 17623123883221420664, + 17684962927764856626, + 17631445375477613328, + 12669489231955874243, + 8328555420783330882, + 14787279484691742496, + 6695147284131064016, + 15766559398540115383, + 3241081426309403336, + 13516526895066878449, + 17211092325371317892, + 110171155046395903, + 9803390480206044289, + 3979570951310143575, + 2362352442750489634, + 10288748735744737059, + 10554371639593483770, + 17884635372722612093, + 14614871428661020274, + 4388478769136490431, + 15790277379586390305, + 15123503587485994779, + 15421899291115687104, + 10812791366700101004, + 5799284171820935910, + 6331346518887351491, + 11909423966418550085, + 11688454114433806441, + 18234946469362315006, + 436786176614739580 + ], + { + "siblings": [ + "7540549124162088239282653686281697232582821574560242112606939689145767817470", + "2469828918793865384644171074099650408532283456729212012390569661880097175450", + "12444412856995657328566985924077805954697042607801617134602828203325552889215", + "959157670120783440988803237942231906872676087261513452749769477077111939535", + "18059462294317713426584574853338493911054932776030554226091445065563365366074", + "4802773234739697893355798758217910720031844154848566703021461664854971589175", + "7778728979673418732602754607645153277515220600066333794316135583369848104367", + "9717272063810870599470256382860857849349993306636587979806369058191596945587", + "14919087053440601923306899949451663169779164446631420630480213206050951233638", + "7667957734481709424466430557068338237039995606965020290401429707021050442098", + "15256175744915485764415618459602655237131728776502512353741507341019983155470", + "4973847207948206311409744616150352279486706425794533437283422678828511499136", + "2418713364902033529004757014793752494584464682289697989892312851276157302592", + "2733419416148249156569906248468709588971866890837742928303409277626256335988", + "8909090632530898680674645036003757099952062394965805030722847901815593596838" + ] + } + ], + [ + [ + 15910010649986156283, + 15599026257008247271, + 7896800203390719246, + 15741300181286686964, + 221376854395222609, + 10351938389628619495, + 5844116595747376301, + 6737050785394891835, + 114799207116398171, + 3845229494922133675, + 7701961463952889227, + 17924385118252644164, + 6948044741224550514, + 5769767916428887183, + 18337248094122258654, + 9508912387932261114, + 16375239714675743671, + 9680575512927339165, + 1991522120554562816, + 9788401340350595727 + ], + { + "siblings": [ + "13641631492614245995675020609159342766024913939048210418629682263777079594090", + "19407028196291498995121765407306884944324349641146281123728969488584392210207", + "20955772820631569612336862069251210685946275750406837555499145944142718277982", + "14375830618649469728654307152142432513767074782273886570206644669612493062831", + "387433316434741318590304086846802565750142957277686834281659277213000165585", + "18008980419596830038499928037446369580451278901560874715465248102561994222524", + "21106156813691274836624035586546311856565516062166390152148822418666486815980", + "2557847862225714251625324379546144539648847892802028772055223046537697916797", + "15568238085650244174276914795743568039004237733653294994941234629334580206748", + "16852157558568411715146643368480118149051266484429357002323276200685761079414", + "17540050057456966725814236975357128597556559468870537361135405961179007369299", + "15852781837018130761857233377675524245988389325310998671045841960477036224980", + "7766140178548152345784646500319895276058027719780470551442867037427694818652", + "14135980938226641278051105293203564129761022003442471097554493434298137602138", + "2617274238942627178818322226819913493489762340670323297756328854129334127747" + ] + } + ], + [ + [ + 15270362348395218361, + 10468439543763533544, + 9536228811680904312, + 17144811452151426362, + 1934084803388062949, + 3766074730214321229, + 8180356616007279977, + 13386624764188529411, + 17509781933967794121, + 2700398013969371192, + 11988474926854207017, + 10652926700774100106, + 1942504277326647299, + 3293312163996088222, + 2314927467496466488, + 193888449715788920 + ], + { + "siblings": [ + "18572547648093019458999503634786369032183225600922909270048044833550713104560", + "15482278094809133865275679482415338499321433741171841876986283092871264534544", + "14055716709256338893810376825160269048821303432459771763012611129369883676277", + "20083569147498960178077839291177082291024227526570434397880525791055600374774", + "10350561798650814413653478952005407601925610659423081209084487929173881197429", + "17044810546197506435268876565860508046062321142803253406252100334750731933188", + "7614153718587024544890296648539141850746375101447425966016511472691530372547", + "9256590449092394200541010316262839067382740019757079051854595732530405552231", + "3304598620328803076544121500949835956604934035428646304499674615972724183159", + "11807203309727375769332531833810093018250992652770956289648748301811696208193", + "2991417003503905564673232862950982650895906611481812968975090216073942268506", + "13798851453800568974738920367570570394342829249990041296780235685051653947382", + "5270602967962223537011406702931704017377385753057007597519765791220151704856", + "844879530862183289150681905197094855545278515219832263590187144828806017750", + "13713479553266983549562198662020669249238170703538502657883316736874508714679" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 4191264892625853957, + 14438242566718243527 + ], + [ + 8198872223039026790, + 7708144889145266364 + ], + [ + 10958896064546184537, + 8107926682630741083 + ], + [ + 729414328531153747, + 11285842790879282411 + ], + [ + 10378471854847402287, + 10048414982513511289 + ], + [ + 14042940906687635223, + 1148245747103476650 + ], + [ + 9472366753290619617, + 8709285172016420071 + ], + [ + 1769875422550519805, + 4250585125387279145 + ], + [ + 18035685064477379579, + 4279431539432206156 + ], + [ + 9491881836616981613, + 5739321663130476878 + ], + [ + 11836898049255784221, + 5367500604395153853 + ], + [ + 3271901567029095225, + 3979094158136674044 + ], + [ + 9135120983293998251, + 12775980797104738066 + ], + [ + 14072315788273240676, + 8199198749708739168 + ], + [ + 6323775366827802156, + 6930482946576779751 + ], + [ + 10355602263082413259, + 12416230422585390148 + ] + ], + "merkle_proof": { + "siblings": [ + "7953234203560901925026951249929824011521110965425587797909953181168666336884", + "294600144651458333586643145709321672805753379077501623089828498419889915915", + "918592693845609683710469400341202434233250386942777207546406697812285073675", + "906692999795398395960669018109971886110170806969113809437847561437412811988", + "9999112448091380248345748241542057257495553203854056197315560036971216924042", + "12490893731081079575027536133310740492042886044425576961875055018380635766027", + "12675531412776474180693821336631476804196028081969276923705098163239032964559", + "12269561423811100306753384877289634658142965104365882579189920598368876078302", + "17247549807105032537682954818441403837078090397339934605488098487154020629517", + "17264738817958941359862145365109531097509026938931322052286654998507950991080", + "13519477880041318361983704167319690731354729966443040884461625043615382999078" + ] + } + }, + { + "evals": [ + [ + 10904179332179502857, + 10660938685030151007 + ], + [ + 14668056536330566929, + 191811029601229561 + ], + [ + 10443046938156421681, + 14743034811271931783 + ], + [ + 14662149630696069922, + 12637065460868767116 + ], + [ + 13055594894789726428, + 18258940094391057542 + ], + [ + 2437596743756474149, + 12556396820915891514 + ], + [ + 974982234106806619, + 5534739805993519575 + ], + [ + 4865392022371499083, + 12466834487540240422 + ], + [ + 15940769585219501169, + 12477401205191395942 + ], + [ + 14727327661831834421, + 17370943769669119686 + ], + [ + 14373946900145626450, + 9059357659036128577 + ], + [ + 7267153868797104694, + 14802405531834226736 + ], + [ + 12357966522397988779, + 7679709863216788817 + ], + [ + 4845033279471335255, + 17529284352838391044 + ], + [ + 11989157599763607563, + 976704600612900257 + ], + [ + 1809561110400833796, + 4447333151273568420 + ] + ], + "merkle_proof": { + "siblings": [ + "9809559055757566380527865454779514813932719727302643144548726098702170747328", + "719627278857172345269416620689447805288631387978153838078489791974251836910", + "17186705176888791738251706533707569556870777548352185888643483516501974578869", + "11793752245962337646974422857193318837719857533334750792186933462274976355398", + "5607728339951053073893973761246558332971248394353288048096950079181961062056", + "14938903565592835497544176133806443498631931970141509380227395817202585478293", + "7379476757655234398239456334883948094405412266791787284503650027619833938474" + ] + } + }, + { + "evals": [ + [ + 13469528749263366358, + 10352250544635533725 + ], + [ + 1583154529617863362, + 16783902725635799412 + ], + [ + 16911082427254616723, + 5441336547130216124 + ], + [ + 17406306232068313940, + 11648734705516181741 + ], + [ + 8816121592766087653, + 4146713667057851072 + ], + [ + 3595559831690179119, + 14453512957035693554 + ], + [ + 16448583383192582119, + 18025365701061952327 + ], + [ + 15549936512894625692, + 8127026056978543475 + ], + [ + 16894131540220847417, + 17602123892710479741 + ], + [ + 11928343981501715393, + 3908212508765507773 + ], + [ + 5584723001454908752, + 17094229601942848405 + ], + [ + 12488240242087071146, + 6065610477535917543 + ], + [ + 12984196317845443588, + 5640299050407484197 + ], + [ + 12785832944699788838, + 7809576089202523226 + ], + [ + 11863372372925197970, + 841341734419345320 + ], + [ + 12714811500176299821, + 17099389234673542340 + ] + ], + "merkle_proof": { + "siblings": [ + "134768679371913876124088757750472351214961342181618248617622494722549972368", + "1756301549557067714358203360012654880094186014661707607079777359581310632283", + "9609376409275349416965372203179343118247952855416048890253225318725013997617" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 6227120640417065069, + 8655067060448063844, + 11755711557564312807, + 4895566253544859729, + 12319970428974537856, + 125184617286406023, + 8248655720161915798, + 4941322047592773971, + 2642862602392278637, + 14782979176866331530, + 3304426495739392286, + 7271572298943387056, + 17360995961163281354, + 18308664125747111825, + 14102055700797998157, + 8024019412862506118, + 5460952470000351298, + 11622592094453106832, + 5127320936578134785, + 6572266523747665247, + 9610872811651313265, + 14490318471340764961, + 17044486888185404021, + 3982897115529143099, + 11979504663967174965, + 2768420292432624216, + 226025791811247470, + 8077037917341989459, + 8556911357191319048, + 5107033439642251394, + 1093760031981012378, + 501614135078153946, + 1686788994576089703, + 3573032122608114915, + 12689674288270081632, + 14854484264836784249, + 13012087485930557274, + 2639134589702774441, + 15356879588055827936, + 6086535516924896752, + 3027659050380466338, + 1218467639284283162, + 1779139891233100809, + 12717375870506082871, + 7252151115226241867, + 9832469782950131662, + 18216972263455584242, + 11299710920820314218, + 5743120116151148305, + 7142547280931852962, + 17606004354117687427, + 5204496817771950935, + 10771259093638151648, + 16614752728708899667, + 4499492645672004995, + 11585239419207876125, + 15575987800401317647, + 1827634121791850231, + 15999146796814796912, + 6141033068057641092, + 7621776395733493053, + 13098222564617324945, + 10839638013717164113, + 14140318322563231161, + 10599139608548684212, + 15703686751313403191, + 12638325286882164845, + 7244658347919963597, + 1709501694858789642, + 11474178107995378023, + 4945180790590255790, + 462808493471392616, + 15711583210524569015, + 5587915318362214084, + 5869316356839539112, + 10932463110271868190, + 12331504582364318187, + 15097090864538976062, + 16052823013993092180, + 10962465137525496210, + 10765593207076661963, + 11038056633921037788, + 13461488897221808394, + 14023286542377667925, + 2075901009621678456 + ], + { + "siblings": [ + "2158221686107554479753689127508455091607146164829335694705248756422719241193", + "18036134628508553514425518578897539205984729261178750256216404746526023563886", + "18743827663090293823116699454280860745468086009356951972124511352038700038284", + "7896029900550273892015337594003796072327996203525895539127167575761084935769", + "5291241832191528731811909563738286785711769555659939146410336560805744479318", + "14982030023457985734216273903829108466584287017269793673922860696139217197336", + "19721311954435834087556756261749963642462835226792556152858412966637479761380", + "20728313974299882142350366364603301963297304256950183960451836858165539619739", + "19815218005131597110429731706913568272873497556060493964731293596892633375073", + "11999203703539790455109928121347557235778359169891961974259620370968251430372", + "21145133294640537778208236376674373369931014400904512567214752890434336932480", + "3822289493409408768425637111622578395656712901570225953253927443168929415291", + "7339127966174169222281817271277691084049539529378100287759481408728063810578", + "7121948324297482189433643586074161167584967325178608588959957061789591348183", + "8512678705633116250983718422370542467441246427013239976362761773018681951666" + ] + } + ], + [ + [ + 5711175712142320925, + 13160709459262819767, + 17326468371183826849, + 10180869711214877533, + 4673975124798814550, + 10978022398862909968, + 11675279772064860666, + 5807217380471006989, + 12207967629673851136, + 12871111994536769545, + 4073650521008921324, + 12486223541265857321, + 3222355361647113809, + 9836772933182936841, + 13171186152729139404, + 15780069656519420218, + 13002162206104607239, + 12541676529600668725, + 16347079869323891173, + 1097094444833067984, + 65690820823259992, + 5752753888079885638, + 9868869419069192131, + 2118874018784240715, + 14064076395271969034, + 2525907131917803963, + 10172151506179423934, + 12884172651193352868, + 1429098931378402051, + 4736669394934425606, + 1301346141164656593, + 16283710534501088116, + 16349439644286780442, + 4109830990411753064, + 12157802423049249019, + 10679743192190233204, + 10001257712392334025, + 10931288791347975523, + 10784845910998356186, + 16909522668905659509, + 11245802692983497127, + 4149593102750341833, + 3935717892950227054, + 3753601378030125992, + 11511480957298492314, + 10592040376327537277, + 8485058102363311460, + 10347162618174950082, + 7371006770363444945, + 926043632418440235, + 18136396069584450676, + 3763737402388981809, + 12150450619812436945, + 12768837771631864711, + 2305398159985212590, + 3440596203608175129, + 2474427445106060469, + 9194118841058516658, + 51617876025218714, + 8251635035164462626, + 17549360349180621749, + 9902681427323608488, + 209764629609673229, + 1255069042611585972, + 1120097467054143977, + 12265719687213833036, + 11853250011546434578, + 10262812687952788304, + 12955284893533248232, + 5804534477250561456, + 14571358244121788064, + 3589704872739556098, + 14139629075728180254, + 10917952786804822946, + 2384307742922435471, + 14583452802731525872, + 5441692900535325056, + 15142875588350195723, + 12190329576066535148, + 3419358793598443215, + 15547760625612023587, + 13299835068600446643, + 6265128580068931392, + 3692739543371083913, + 11491044376564053298, + 18423712927919205100, + 8423875619007760077, + 14231436524803286410, + 9990042893790360493, + 6745078500817754393, + 5376791649788499612, + 11835003560665515820, + 6329152339617805185, + 3346712163853352371, + 2050968383452337384, + 4979271109250750833, + 1863761836049623060, + 165864557859371586, + 14835191456586203889, + 9136951580629431623, + 11084711886548142005, + 16282909413556420091, + 15035407184313969324, + 10314343336706225297, + 11387875182582904748, + 5251998408173097512, + 2531299023486671444, + 755258891747355166, + 2355298471587697854, + 5964982020516898199, + 1391069755432994573, + 8318062822299480075, + 5193126223335699142, + 7714514276905156005, + 12847048802157067406, + 9125288300256325909, + 10426932206031253122, + 15042263312237405559, + 15032429179206396712, + 7638287597829385676, + 7035438815794678430, + 17878896581908543509, + 7493498385000494453, + 15661156666453724038, + 5725133104830012912, + 910629958363318466, + 7702506652965104136, + 15164372261959487116, + 2644583227933308348, + 17260890706615868233, + 6011384282246185579, + 9651900289961268708, + 10524394678188000323, + 10200432580919187720, + 17529322295108653482 + ], + { + "siblings": [ + "11179158813285925467248521765047519671094435790523125373091996156786760267768", + "15395855521012670380939382139447061621896784998139836520447027233555617991320", + "16099737506883511024651706692578146344279503862083367398174504647918002269211", + "20986989027704941639335386213049296587298309291546384995623642915130062618419", + "5234442071337344850464693024650369472045132678645993711968475887152844591023", + "8015451499321912106740162195999114990380919639496897019145847683190067218085", + "14285377127111594355374555191929836863714532833294462781008115693883973106459", + "5076361070120316996223182965212936645741847159819614221525358122368022865700", + "492501573126032437857247017522025377050432703089425975428748449187469057237", + "20164287861365356691534563906808465850380992276169345497117771127363490172458", + "14707814392222352318881945596696192065006165067989179144667022370947403435469", + "4172892300319651135894508194419169035390850289301239822640284282153526573309", + "17984225111025071988539940580436956628598035701421120457882858779418107014317", + "13827273627558944508043941197942719623768544365444361107526119283369864098216", + "624815852475597816378803502445456239701877726272351778837367632337702425220" + ] + } + ], + [ + [ + 17174972279951440008, + 4484266283305335173, + 9915185413490412359, + 8437164547965517816, + 14146657703409637824, + 15177583308623639151, + 16089629963122432574, + 12423110214698156282, + 5868113774906532540, + 1722087772981368002, + 11633078979644126584, + 15637819210499123321, + 11934886315179335551, + 7774809064326476044, + 9912642135516813406, + 4620366768951517400, + 6760093817784257403, + 15267035707254270002, + 18401015095734004924, + 10980893859234809256 + ], + { + "siblings": [ + "6522224223955411725277781892910118473508891298018143512601979264390246051860", + "2849948206796523708104815305838516449259577849957654888743716200633397006362", + "13144990815070053558202824544360845928582655415492267570186014508370435563444", + "14653015392641557581969055751537781000586517959286673880155519089091699445782", + "15409047260468304594968988557804391573649487815069433916010151854395872966764", + "9363157594630322723726650800989206341642541505076328988093973292266425870999", + "14660489359207362436229501836592460115426160883294393454110194498554488547975", + "285321184427858645953173195427006604136596262080827280353695152678986356916", + "8578176316450171781182250722943995532922485917792606225027471741104550421729", + "12407839541591240780428484096857405061455175391279609616464951531292306472024", + "19718876333263383668653365276315577121287867548027091778741930332082313173445", + "8468526076295973374026778002929554916805342479941331444972533871362129298031", + "4261051738289268914015380954170786165251491032695550577644565247235438397047", + "3137726520134665919749192689579888524462319960443753229266160953475751069793", + "4512218248480967896765823041567963377312093928465414147961535372272774314130" + ] + } + ], + [ + [ + 4253782110238561046, + 9919953997070842384, + 14334059657355215197, + 10153431952885987253, + 4662005436890232747, + 1555964223259964657, + 3263005656690625211, + 15773946104492548895, + 7414392503310512826, + 9934976569404610449, + 786407009640108750, + 287289595971933975, + 13306748662583950279, + 13924158868714532495, + 7059930827390953982, + 3922754376566690377 + ], + { + "siblings": [ + "17749440069797287791780001514190593241443390739219163577520817726357126773977", + "17573047462846810591665272871447225748152567212638987130492213358329572453662", + "6521701330662749759948310304058057157492934604570176125571619722610043861686", + "370516820426152897621284788557689351463404870401919502356191825493017960042", + "20120764006946867337465396320100841843693392189381522800569370565895873710883", + "18597369741582615832991969918608433308990088861870432673313793942125723362210", + "10801072703604939112498384642638005749249249980284311309385962361994554199163", + "10845717146662860561439352432177798584315699571641415159210294659670360854664", + "5032124716350789939446278184201705213267631086307344680293535600658841063612", + "12388506922086589064946617749833109534574067134863061767653975004217232889457", + "9402228987601109841838693783921641367495571375380392871279176417632878870391", + "7836620508853878596725031617117760970171544002186031974979589178701164375976", + "5989934067324449466167722754930231875741440763658146741150947059129927964346", + "789571469713295767474137410444848608252535197116335996440962068910808747464", + "19565957379762846420379703339787477331552553664468041113821683985486095109087" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 1839955136590548643, + 10466630956110687996 + ], + [ + 17498636922305368497, + 9529774515390975085 + ], + [ + 2039322345120303935, + 7774163371842165440 + ], + [ + 12202859420456280774, + 17105109147785091710 + ], + [ + 2102179836459269595, + 4231098537496661931 + ], + [ + 15669167159570262714, + 4249487738575369705 + ], + [ + 8875059363036621975, + 10799266435298279150 + ], + [ + 16876584532145575964, + 2388438203427886024 + ], + [ + 13273023323418876809, + 13579719614974905218 + ], + [ + 18317646482752165917, + 15241165084377615715 + ], + [ + 16160961573889322088, + 17438511634828519129 + ], + [ + 9447340589650747554, + 7550719253296221156 + ], + [ + 10584029241822417121, + 17013539273991059771 + ], + [ + 17037986991843894759, + 3615979112241973360 + ], + [ + 9584556800806308936, + 17914747537591833738 + ], + [ + 14609117016921965392, + 4470538002807406364 + ] + ], + "merkle_proof": { + "siblings": [ + "19516353826886555305771746603360766040143131485924775557159746168332065395706", + "19400230083598180111216419957182444742924056942327698056179225629185191766968", + "7161024123305460941153604063771193654359847516654298674318381153614800362896", + "331284264841835414268010251838465933714247715378100172956234069800013090760", + "5955250345988467650516470063300003584275443641754253079209342062319980025176", + "18749037392353573825622139894131054701095893862796331339644846826315572734406", + "7883932650380608552765975009021789988633498250033681275892560971299810051233", + "6454494762342562345484054563896232785831176099075669682654698292378855547245", + "11518239982159032041519247418405109184595124154416434111274381623614071442696", + "12270867239491383069546024318547592185586907035813299172022828602932274737481", + "3469159439497702809773181971521502509793845363444996800014560084610329628706" + ] + } + }, + { + "evals": [ + [ + 2115292220681053494, + 3137068506823531363 + ], + [ + 3499898706053628077, + 18308345225014846163 + ], + [ + 2117288220789427537, + 14165896423580199745 + ], + [ + 17586813392418224099, + 11704891683086533710 + ], + [ + 10448120629698358220, + 8308683922240162832 + ], + [ + 8827182047415048474, + 4846050068475909709 + ], + [ + 9427191110487577971, + 5778672053740382969 + ], + [ + 11731558701973155053, + 1003396491447719218 + ], + [ + 10436178953018293169, + 6697986056562417418 + ], + [ + 18380472645787148216, + 9690025246621522932 + ], + [ + 9649520123236571000, + 5613542007482649481 + ], + [ + 4180652017450354846, + 16422705586454246755 + ], + [ + 17131212185919570049, + 8332565831770250063 + ], + [ + 16150532496722751139, + 18260391463350580376 + ], + [ + 6405469640833225323, + 12672760855415597816 + ], + [ + 6930355924219258608, + 2121385232404975200 + ] + ], + "merkle_proof": { + "siblings": [ + "19668680919525584280911064887397270523487135702542884411385181440679593754722", + "11047128284808376237823126037997492654337023522692770901615585336922250153567", + "11240760249643572168903089869081206736053187066517374552961378667834673983489", + "20593550269816775819451406510877573344737020629991973243293073478239331448409", + "18766217033794863061409914895136670759767957854693039790659660683439727863530", + "2373591299441165191055109324892600119166777730673604028635528084293358168735", + "19370895137678698194073367468113061966179778466734817403559934920138759831636" + ] + } + }, + { + "evals": [ + [ + 2386808744200892364, + 8060374371752110752 + ], + [ + 1344267280923767607, + 286845270101854539 + ], + [ + 15884019222065162701, + 8402720521580577431 + ], + [ + 17390504611035140510, + 10908383434054439056 + ], + [ + 17796145958197075723, + 18132487119146399458 + ], + [ + 2481526891192181620, + 5468098844353752302 + ], + [ + 17140066538071793806, + 6198594558268921196 + ], + [ + 5041763616538660035, + 12322655777713190969 + ], + [ + 10533813743856360789, + 7508976993976595436 + ], + [ + 14924679836545974104, + 12406737819424133156 + ], + [ + 15716497397677523703, + 13409427322751056550 + ], + [ + 7405953292492268827, + 1289973150445154111 + ], + [ + 8033595059476840291, + 15820208501660855440 + ], + [ + 13592080712730910584, + 16161583235341845387 + ], + [ + 6517439032986384261, + 9965823082785282409 + ], + [ + 10980426138124330744, + 3739015863040763169 + ] + ], + "merkle_proof": { + "siblings": [ + "6323245022183029245377634159171093579387522553878506983675357056856407975611", + "18642215437769406727482811169235748188112643077779520327618211781020602782524", + "21814991800575246174591453754012484422416138376692796202115629458366646578674" + ] + } + } + ] + } + ], + "final_poly": { + "coeffs": [ + [ + 13394272532654910428, + 6177592591857607633 + ], + [ + 1018776059608764435, + 17442389010873577046 + ], + [ + 10848332510839095960, + 10330310346709352534 + ], + [ + 11170890301936339618, + 612952119987762148 + ], + [ + 9315516720062416779, + 423459792073508024 + ], + [ + 5485070214762137715, + 5653853747493152825 + ], + [ + 12317945324153524292, + 4294324763962560093 + ], + [ + 7636518831697075082, + 3416294320072842071 + ], + [ + 11965327258305553641, + 15737341109356118253 + ], + [ + 10900491400313233929, + 9224031323402826303 + ], + [ + 12042195432002611071, + 472401537624909842 + ], + [ + 17914141255493635593, + 7094970227427222065 + ], + [ + 1501242203319379818, + 7692777020988317390 + ], + [ + 6280967310659185848, + 6160019129557511507 + ], + [ + 7639765997275101982, + 11046478670181683384 + ], + [ + 11718789061132358688, + 17139566228590029798 + ] + ] + }, + "pow_witness": 13835058052060941563 + } +} \ No newline at end of file diff --git a/testdata/tendermint/pub_inputs.json b/testdata/tendermint/pub_inputs.json new file mode 100644 index 0000000..5839a48 --- /dev/null +++ b/testdata/tendermint/pub_inputs.json @@ -0,0 +1,262 @@ +[ + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 12975357, + 0, + 12960957, + 0 +] \ No newline at end of file diff --git a/testdata/tendermint/verifier_only.json b/testdata/tendermint/verifier_only.json new file mode 100644 index 0000000..2d5dbc4 --- /dev/null +++ b/testdata/tendermint/verifier_only.json @@ -0,0 +1,21 @@ +{ + "constants_sigmas_cap": [ + "10611895048552669086204243466995796684264851564121845477615109592939013578817", + "11047287164820338288332775095064076841420533842558292124519972979508920421148", + "11008143321500750527272397620467700110258792048079031823706982547294551677846", + "16571350429941462189268138095008619967892534137501416778974242441731762844029", + "3397711423636579019321734158622650372893589154717516438763580908119332962893", + "14512386210360705175069996584378259152656441284865892803605545315260604870890", + "4412669720907592120908231500504198143220775870430706731232154050161020727926", + "7644419580870704263452458894529266319803972845360383758531374840625111467778", + "9177517353921901961792194193967145091219618041602538145479089734527376491770", + "1377691917751839002911635857564117754536105488425803282721098497902602437516", + "3183884187383932624769838617617371301475720497366148086037703172986926643790", + "4050341661914000660225939457770795373004460436283040278035973931402242476503", + "13393599073507107920994800327769511972633017258326177833513302490130139450330", + "3408794008590515507149316410224627261594582084859306537040474937684085807713", + "9504456459568800701276879713015216223227337016062050256907035065005491362211", + "20158956672702777813242468182063120527030632041126053468537495516458606061253" + ], + "circuit_digest": "11795246398824688888660138146266074968815234269309708588280488651913235970519" +} \ No newline at end of file diff --git a/testdata/u32_add_many_constraints.json b/testdata/u32_add_many_constraints.json new file mode 100644 index 0000000..f179148 --- /dev/null +++ b/testdata/u32_add_many_constraints.json @@ -0,0 +1,986 @@ +{ + "vars": { + "local_constants": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ] + ], + "local_wires": [ + [ + 8844602344720031460, + 7483379645823710252 + ], + [ + 6170935961197996950, + 4679372024292890006 + ], + [ + 0, + 0 + ], + [ + 3168218308086501472, + 10972410079747781243 + ], + [ + 8495702511093392441, + 11294559160651314944 + ], + [ + 12276692348358401647, + 10781930397163421626 + ], + [ + 11282151467398456928, + 841884397077875204 + ], + [ + 9326548687654623104, + 1326062758033293462 + ], + [ + 263686172932442372, + 4504245564139393449 + ], + [ + 10184036452819278986, + 6600166471827183758 + ], + [ + 589399442703515388, + 9945681422644763263 + ], + [ + 11566895875471998953, + 2894657752390180464 + ], + [ + 8195157915822924762, + 8748206443309702917 + ], + [ + 2008171089245987853, + 12731794217812171553 + ], + [ + 2906869069907624961, + 13578842797404987863 + ], + [ + 3934067251835122339, + 1050552396370401973 + ], + [ + 13225289495676958599, + 1496574561265939033 + ], + [ + 3664839435369369669, + 7989868717904028647 + ], + [ + 2979642629739049646, + 7012230516290623007 + ], + [ + 7434966805232936431, + 15289712393507257455 + ], + [ + 16399395011657718571, + 8467899695379450715 + ], + [ + 3796842262202649882, + 10956159991251993980 + ], + [ + 7462722044913748718, + 18088750966696798009 + ], + [ + 11082636073632235073, + 9366883249767260874 + ], + [ + 15422541074048639049, + 10921094660361943855 + ], + [ + 6956474217936063687, + 2680636003237571914 + ], + [ + 12062769072442487567, + 18237635452462545456 + ], + [ + 8419336801344686701, + 11261346817678886613 + ], + [ + 6258788929222082275, + 2666047608051896206 + ], + [ + 14651806266627170442, + 13318939535308140637 + ], + [ + 6371488968802986613, + 14443622192689981125 + ], + [ + 2679790404733268895, + 13394635077197425018 + ], + [ + 10981008433257051124, + 15022047025945391417 + ], + [ + 7189908978289623624, + 4371147913506436195 + ], + [ + 16055287132900776977, + 13756332573312468710 + ], + [ + 12903443191385811379, + 9235829678570095260 + ], + [ + 4696836787473987437, + 631657788166366218 + ], + [ + 10850025523371299208, + 3967688100739091195 + ], + [ + 313846095656093124, + 298733685479260923 + ], + [ + 16387866518888441463, + 13145500118329957309 + ], + [ + 7568179980796618415, + 7065239957154572703 + ], + [ + 15015309775921002304, + 3785652900566176880 + ], + [ + 16216109943249870556, + 3233124899816916091 + ], + [ + 8595206714401218308, + 307732865690613021 + ], + [ + 15797193115359512000, + 6816850718162090914 + ], + [ + 9922799710831369628, + 11205582242661799886 + ], + [ + 6366686755066415548, + 7196632141960649021 + ], + [ + 15068208014154190964, + 14077703517115286032 + ], + [ + 13625642367969274126, + 10540216139483837558 + ], + [ + 10938456523220197220, + 16351737333662284448 + ], + [ + 3987437812285640874, + 3482590848635157377 + ], + [ + 3499334498346386562, + 2001759628336963001 + ], + [ + 6342505876939850009, + 16227471349055398182 + ], + [ + 14195392612025513362, + 17351741456716879864 + ], + [ + 9121537960957297080, + 8543378767473774624 + ], + [ + 3646245534586880324, + 16276567774624089936 + ], + [ + 16628924435205356262, + 6641772278594016871 + ], + [ + 18010027305996332683, + 7714625076454155712 + ], + [ + 10080889043069952900, + 7592302462593895683 + ], + [ + 16442595627378148807, + 7418157705010040107 + ], + [ + 11394692043210547305, + 8113439318506964969 + ], + [ + 15818124052882873149, + 11477032166790390057 + ], + [ + 11838717544166171695, + 3850007985597941575 + ], + [ + 8663987564633546616, + 3741501388175700698 + ], + [ + 10837924177046313724, + 2627198485528760932 + ], + [ + 17213972015286363403, + 14105854672366219881 + ], + [ + 389209305271563514, + 7786613227698865050 + ], + [ + 12504856658827174657, + 7124443081123283717 + ], + [ + 8590781777469471549, + 18355863552041752755 + ], + [ + 7567932121079688789, + 14371579362695454722 + ], + [ + 10592679714490060982, + 15732455845243909336 + ], + [ + 9102298592014705520, + 581294659919280682 + ], + [ + 4254662351294921744, + 12440222385022372117 + ], + [ + 543619996803008148, + 841692335822335888 + ], + [ + 5223437727635438413, + 11855931919089983243 + ], + [ + 5388542779406042981, + 8231873675320371766 + ], + [ + 15263812303848265023, + 12278154282719103621 + ], + [ + 1101399795556187086, + 17835498758629859003 + ], + [ + 1960139616526162703, + 7983998313410479274 + ], + [ + 7084198480304715138, + 1550006857325444304 + ], + [ + 1877526837818541588, + 2026046986129130244 + ], + [ + 6880660743257977314, + 1622694645121061575 + ], + [ + 10979677214675816809, + 8924284159525930104 + ], + [ + 4193765185241811874, + 17049687936479319384 + ], + [ + 5573045776052959416, + 18102178153163926302 + ], + [ + 5459822955285367175, + 15452551966316858198 + ], + [ + 4022697398649403481, + 1779118491644630167 + ], + [ + 14535471933532030990, + 10594063117100740806 + ], + [ + 8538059347353486555, + 2912390510221974109 + ], + [ + 10900464470427117549, + 5245999031171649100 + ], + [ + 16109711668836588418, + 13029927268568264830 + ], + [ + 3411557538832507839, + 5259273070535760268 + ], + [ + 15466209948344912375, + 17774915951132976161 + ], + [ + 16592963857779879595, + 9610631809954908292 + ], + [ + 13365571951908912815, + 3435189146992577257 + ], + [ + 6420193275540775012, + 2611066545744765873 + ], + [ + 10375520893279760645, + 9517721066646513662 + ], + [ + 5570217452941825011, + 18068721285785251968 + ], + [ + 13841229597056187022, + 18235377617648787548 + ], + [ + 10592539586111489860, + 5508932891267897400 + ], + [ + 654214508400178215, + 9183365631910611025 + ], + [ + 9413956630371586223, + 13066857321684887935 + ], + [ + 16732589119540118924, + 11306004042342094559 + ], + [ + 642965993974071783, + 13206423689960113524 + ], + [ + 10830460686819150593, + 3986220747695448986 + ], + [ + 12163528867648908380, + 8167294040437040597 + ], + [ + 17283632746659471688, + 6362236370514244479 + ], + [ + 7051203214773773275, + 11256745013273290944 + ], + [ + 18226440442413354266, + 15022465121929901497 + ], + [ + 14152045049813630791, + 3706828447378447258 + ], + [ + 10123854314681497207, + 12488369068298158324 + ], + [ + 366975195669494982, + 18368166365471830455 + ], + [ + 11435278920181572880, + 18304360840149107060 + ], + [ + 2161222245197584523, + 7550466323962075857 + ], + [ + 943873192425518068, + 8715932239743943994 + ], + [ + 16795704054976397199, + 6306047414646630464 + ], + [ + 11205751670531375241, + 7322134872556841569 + ], + [ + 17517496248443238793, + 12284585740243301499 + ], + [ + 432523452416441801, + 16417672081429865688 + ], + [ + 11343533820637581725, + 2738800221900830758 + ], + [ + 4993662602868700043, + 9967960423579748866 + ], + [ + 15706943142752580746, + 11599754305942450090 + ], + [ + 8220498718725096886, + 4501119361528283964 + ], + [ + 14444718020679180589, + 1068544379887213551 + ], + [ + 11862557557661496360, + 13515264295306082421 + ], + [ + 3044254374754741330, + 17430032172327196422 + ], + [ + 2803920968657411334, + 14009490527431084507 + ], + [ + 6215284396055291439, + 5211395618945327346 + ], + [ + 9126163106048583112, + 3606041151698881099 + ], + [ + 14917456184111327503, + 7723523128818952612 + ], + [ + 2589870207409965296, + 211011994799271739 + ], + [ + 14711668508249682609, + 1188603191290093026 + ], + [ + 9340005472660843791, + 7514807511538196457 + ], + [ + 12429979587455940921, + 18003858505633913152 + ], + [ + 13768813692686409970, + 6678106899916562884 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 14166721197466188155, + 13077005637885563650 + ], + [ + 1410648657089792192, + 7452885564494143659 + ], + [ + 14452446604468862230, + 92123545508148274 + ], + [ + 5883096532479569289, + 14824798122611564245 + ], + [ + 6477294519900104970, + 8725525626665249470 + ], + [ + 8995897198846608665, + 15360107199498851208 + ], + [ + 2868462920695266311, + 6072998362894854319 + ], + [ + 9291649663384704982, + 12605533896260347587 + ], + [ + 10874791019354431564, + 2838356906694778905 + ], + [ + 12343070154643388006, + 13916611691775776609 + ], + [ + 18019496603993580594, + 11391203455665618542 + ], + [ + 12211696832478776637, + 4540123620328631211 + ], + [ + 614460139598366515, + 10703713817327172953 + ], + [ + 14745965918428026107, + 9461968550620478258 + ], + [ + 10758683183023124283, + 16161090160367519214 + ], + [ + 13149769652680891017, + 8044533474476635713 + ], + [ + 1492126153598081064, + 8026476349854213875 + ], + [ + 4960801309253730488, + 1716637026980842797 + ], + [ + 13461389927781370718, + 15887343467036226417 + ], + [ + 11877655368232056158, + 1732989412954151819 + ], + [ + 16043814829583339124, + 5423593339182526300 + ], + [ + 1623968402531579268, + 13985769698003650278 + ], + [ + 11233737083582612236, + 13845187101249598069 + ], + [ + 13578001693957971705, + 18269611055291540508 + ], + [ + 6329777488746909390, + 9425588288836755115 + ], + [ + 17394211063079158201, + 4988056407183644664 + ], + [ + 13552720528055335979, + 4286582275630019558 + ], + [ + 14965767805190074093, + 968504661823460016 + ], + [ + 4011629626648111477, + 2265041592285499563 + ], + [ + 4461624762931473699, + 11843246543754588934 + ], + [ + 2649008879424244758, + 8502564210895497188 + ], + [ + 9957010716285139191, + 18316845925859556677 + ], + [ + 12254781123242661521, + 17494947167458998771 + ], + [ + 13243623214578596115, + 17022837272120952614 + ], + [ + 10175097948215599311, + 6125518017656292386 + ], + [ + 9500871486456631320, + 10065085523737943450 + ], + [ + 18091988174871650009, + 15204910163133572505 + ], + [ + 5879229460094396692, + 7135186855613704507 + ], + [ + 10684749744803603369, + 10374737500736520795 + ], + [ + 2948195642707161340, + 3852246210184107521 + ], + [ + 16541788245170955956, + 10105534800835310730 + ], + [ + 14943839208571890399, + 14825004437796131904 + ], + [ + 13416465282804513611, + 15688956641059784089 + ], + [ + 6219304636771274766, + 5100296265583613230 + ], + [ + 8327472469494974535, + 4700110316465689186 + ], + [ + 15267527330613925024, + 13545750559078629447 + ], + [ + 7650396409016565523, + 9475779975305107873 + ], + [ + 14229837270119593677, + 6320555416089353390 + ], + [ + 16702543707646162152, + 18379723584462790105 + ], + [ + 5194192956963175394, + 1012734824192670142 + ], + [ + 15756434182586203440, + 10629620403020408505 + ], + [ + 1000016802439898599, + 13926490641654229515 + ], + [ + 12277875906128146457, + 13883958088594827024 + ], + [ + 11159186775655533947, + 1617127946998600042 + ], + [ + 9078661746924375720, + 14465717165239965703 + ], + [ + 6719804114554000966, + 15938925533929243830 + ], + [ + 11899159805431469512, + 1034156476602693948 + ], + [ + 467645536536578742, + 14398722827148310642 + ], + [ + 3572849856461167076, + 18076090467717061667 + ], + [ + 9813155791633583241, + 14750395706172642285 + ], + [ + 3600138260943884677, + 17167862070404159899 + ], + [ + 8829907768045600095, + 18068709244758887754 + ], + [ + 6035089191753212937, + 17745905145452203915 + ], + [ + 4486884779032373589, + 9234835113073634496 + ], + [ + 18110704946793690558, + 8847392702373345240 + ], + [ + 4952908371226917811, + 16701771607394628475 + ], + [ + 11959437538409303282, + 3715849713503789337 + ], + [ + 793180380435999281, + 2827488713518988827 + ], + [ + 9491325198611030844, + 11490904398419243596 + ], + [ + 4926689519093402362, + 13859150153095658013 + ], + [ + 16652572217745401847, + 5775830198716890807 + ], + [ + 1363009962945850800, + 7689452752109405503 + ], + [ + 8419972198545901642, + 3152527247713114050 + ], + [ + 12929116198442977406, + 10824940978631781326 + ], + [ + 2876227179220698123, + 3578380011768250742 + ], + [ + 13915221306194406701, + 15590563495064468463 + ], + [ + 2223121773087342439, + 12803809041359658683 + ], + [ + 3571381265165084287, + 13264986068365834454 + ], + [ + 3233626809741618659, + 10663479052463188206 + ], + [ + 11637925227501713285, + 8657361125993117693 + ], + [ + 12451741655847783384, + 9971422496250535467 + ], + [ + 17123367234640512486, + 9211645955357307703 + ], + [ + 5154911144055417980, + 10733099915879636995 + ], + [ + 3593821904597712519, + 6945494349408978745 + ], + [ + 18196602436410190762, + 4485326907201627392 + ], + [ + 14310454282689509242, + 1373859527794053341 + ], + [ + 5868050581537216051, + 3900337956312244719 + ], + [ + 369270296214382401, + 14674029132147059168 + ], + [ + 342282432220714677, + 10485640044463405854 + ], + [ + 6877669460133036612, + 16519754342013233522 + ], + [ + 13560445771297899375, + 7472353893722310328 + ], + [ + 14525165798533330319, + 2288037283627533446 + ], + [ + 14241937448172934723, + 3015191048343524877 + ], + [ + 13181907856014710799, + 9270401336881663498 + ], + [ + 1720618484386227079, + 826343702201570349 + ], + [ + 2770727322946450066, + 15703176220766311689 + ], + [ + 346141327128352189, + 1100360331472897385 + ], + [ + 12561097110764935530, + 6008138284765787244 + ], + [ + 7898473050336265645, + 10694881082791875989 + ], + [ + 2862589484052891449, + 15119352432187180392 + ], + [ + 227954780565511474, + 17797271739188202509 + ], + [ + 11231978617213023803, + 13903346342156441882 + ], + [ + 11908847310245472367, + 12751909729376480546 + ], + [ + 2921469741953806343, + 14617365659917945286 + ], + [ + 8960918010265602067, + 13046356553161323657 + ] + ] +} \ No newline at end of file diff --git a/testdata/u32_arithmetic_constraints.json b/testdata/u32_arithmetic_constraints.json new file mode 100644 index 0000000..913da90 --- /dev/null +++ b/testdata/u32_arithmetic_constraints.json @@ -0,0 +1,998 @@ +{ + "vars": { + "local_constants": [ + [ + 1207559441604710676, + 12627587204804393523 + ], + [ + 13853018734138758258, + 7741870427235734987 + ] + ], + "local_wires": [ + [ + 18146111510025563091, + 4857378935626539593 + ], + [ + 15959632735738568153, + 6093963042393166121 + ], + [ + 2288484795024157500, + 16836865714806523773 + ], + [ + 9068396840963532959, + 15042188165069103915 + ], + [ + 11722989374223914900, + 13365061862711096157 + ], + [ + 14346263872025276160, + 16753264502250682710 + ], + [ + 9390089493429834236, + 14838297933187501510 + ], + [ + 13574090332766081339, + 963866520513564225 + ], + [ + 5736939328529783520, + 1828538255933871614 + ], + [ + 10122717369587846940, + 13373254933905482148 + ], + [ + 7139642074358971465, + 15992476331083733428 + ], + [ + 7769546270500446123, + 12076158675120231327 + ], + [ + 16198444024276947724, + 11355899811378214834 + ], + [ + 12540611258736548152, + 23053601631088202 + ], + [ + 9418593649220779303, + 8597938217832727253 + ], + [ + 4958013277280419484, + 8728069891044595067 + ], + [ + 6409693978638089537, + 13227060127991983128 + ], + [ + 1707286465367953044, + 2595298663631058147 + ], + [ + 8381006873166647672, + 4351013401599527704 + ], + [ + 5842222217111358933, + 11451799623487858821 + ], + [ + 3882558085043235514, + 13262548163305352654 + ], + [ + 246988514420357209, + 10670627578354528322 + ], + [ + 10531245154604210597, + 15978402371249858723 + ], + [ + 8908725675004295987, + 4454413396320621785 + ], + [ + 17611631916372185364, + 5034947958580309234 + ], + [ + 15820224156914126993, + 11185193224361223672 + ], + [ + 15248076322026477704, + 7464028752768661862 + ], + [ + 18232953301699262055, + 5509021826985031587 + ], + [ + 5934627855822728305, + 1244494823102249402 + ], + [ + 738131850461151111, + 5314503622700231326 + ], + [ + 2957355491791389258, + 6521417640767739695 + ], + [ + 3919417654661072464, + 13009063618338132567 + ], + [ + 8019533598550919490, + 3481776882050590563 + ], + [ + 3970498241100899352, + 14564473270156130452 + ], + [ + 13167024680542535078, + 10705317811919848119 + ], + [ + 10364802738373241819, + 4039317594284952394 + ], + [ + 5217802285451186864, + 9861019089567798818 + ], + [ + 16980206650469181602, + 13904477344189650061 + ], + [ + 7728842061526114990, + 15102572529855642399 + ], + [ + 5679689845589660625, + 15179796300251577570 + ], + [ + 9934990215137414057, + 15875391155021835003 + ], + [ + 16730308503923812904, + 16703585027195856792 + ], + [ + 1063554269326748765, + 2048118885245122908 + ], + [ + 14090031150134890028, + 4622667272621912028 + ], + [ + 9353050492510017494, + 2258319227331179185 + ], + [ + 16470347941711888195, + 8494455169838599136 + ], + [ + 4670140293048359197, + 18324765377829480648 + ], + [ + 8529987551249573998, + 13955994273476413959 + ], + [ + 13706801279883797929, + 16304360466636086655 + ], + [ + 8811042713960285964, + 4241579113401461460 + ], + [ + 9851525371561915400, + 18101676794795242121 + ], + [ + 15209438381969560813, + 16125597447444428975 + ], + [ + 59276809763161765, + 14995887885490829681 + ], + [ + 9536417241012603773, + 9206823774994254354 + ], + [ + 9214426493442922667, + 17137664643960624767 + ], + [ + 4167572642061582730, + 15186720387652288442 + ], + [ + 14477740581261103890, + 14565439852474626223 + ], + [ + 13608745756697837631, + 8486725759522851304 + ], + [ + 1398825165637387841, + 14475422443678208005 + ], + [ + 11327862172873098145, + 17128996373626509107 + ], + [ + 2864378588564097858, + 6882418105360397154 + ], + [ + 11675919894862424688, + 5385720075368316980 + ], + [ + 15126661534559419249, + 691391107916420449 + ], + [ + 23158037685807235, + 14974003789966432457 + ], + [ + 5682796899045999368, + 10031739980299937059 + ], + [ + 17322386996247471903, + 1363819566559283323 + ], + [ + 16611577057218484224, + 6079672313165001177 + ], + [ + 13631537450989544069, + 10290287062741462873 + ], + [ + 17682100670009246565, + 8854529046332603013 + ], + [ + 1721002159842093556, + 12801056445211794805 + ], + [ + 14733251773096445238, + 1301018306807863816 + ], + [ + 2316539184674299359, + 3579048795782111694 + ], + [ + 12391566293884466585, + 15634845951515970760 + ], + [ + 7173944764929137695, + 6434986088988617127 + ], + [ + 12049067833405304207, + 86617003273326 + ], + [ + 4439694644705481035, + 7913576881180403327 + ], + [ + 3471575783579761699, + 8108425131573170286 + ], + [ + 12231945108215085456, + 7362006051833908809 + ], + [ + 1926022918597288735, + 12737896403542753240 + ], + [ + 11477656164629761202, + 581196433158526775 + ], + [ + 682806244742762125, + 6869305993260899547 + ], + [ + 10341922988260954652, + 2815171060937382153 + ], + [ + 16825769574425866573, + 3454868576656018230 + ], + [ + 10870467685572338070, + 9251346094694100798 + ], + [ + 14469751661120380257, + 6881935268787441366 + ], + [ + 11991416420423127224, + 12093602297838710346 + ], + [ + 13906570617319437208, + 2657098524164255524 + ], + [ + 16425323920829274497, + 10184733385045646085 + ], + [ + 2516954719849887965, + 11118071113159004530 + ], + [ + 12074673701678297829, + 6272233243065190226 + ], + [ + 12489116883130349949, + 2691284166896402441 + ], + [ + 4476177347437113217, + 3354992821205226943 + ], + [ + 14364471301261826948, + 7628751003658077364 + ], + [ + 12894689419350705862, + 1835988607904843946 + ], + [ + 656511442920790840, + 5824703018218429619 + ], + [ + 18361084945779851132, + 5395422956964080031 + ], + [ + 14999843766592703685, + 6006873538649075754 + ], + [ + 5639406634112979297, + 3737658740290562288 + ], + [ + 14480707696365871534, + 15623285399854483675 + ], + [ + 11278928002598029145, + 9270032658369745382 + ], + [ + 13486169540543235997, + 4049392124686692036 + ], + [ + 7460099398805377580, + 5600832154500505477 + ], + [ + 10778139838092296917, + 8431943735675079152 + ], + [ + 14680085134552753527, + 9760934505373691285 + ], + [ + 2551423316853901551, + 1921861874475134524 + ], + [ + 12129379438750074854, + 11845465336565161854 + ], + [ + 14407303885787537959, + 4473566661539760678 + ], + [ + 566066344340985918, + 2732561692526857196 + ], + [ + 7146327991198222278, + 14033865963894953507 + ], + [ + 141878621791547163, + 1068366576194550141 + ], + [ + 9933712176684144666, + 17371623165274044365 + ], + [ + 11380979918173607034, + 15792008617288959239 + ], + [ + 12680514369509197789, + 14659031475097205294 + ], + [ + 16234524081478004254, + 16333511681070439961 + ], + [ + 3698858585287319349, + 1174579813328473085 + ], + [ + 6455416964410921151, + 10746372441595675773 + ], + [ + 1435741222006355140, + 5963721350118968772 + ], + [ + 8724531251665484393, + 11104300559629957682 + ], + [ + 3460241072077304736, + 18422160031194227133 + ], + [ + 370929960467492836, + 4438466282737258321 + ], + [ + 12846110755912681664, + 9265567677720333845 + ], + [ + 13550646845135625694, + 2540765269214071625 + ], + [ + 11803531888217254583, + 1843035387221994416 + ], + [ + 9374633085158374354, + 3806215064136765811 + ], + [ + 15348763739261534744, + 9284880267608264224 + ], + [ + 9986989755658679680, + 4972615698346188554 + ], + [ + 15812594360591720929, + 18011511484065618732 + ], + [ + 5445609051472485935, + 12084393200663991424 + ], + [ + 16728922431516625403, + 15993826972971614779 + ], + [ + 14123094773142543805, + 9193090404550724749 + ], + [ + 8284393954534973158, + 977420487859991502 + ], + [ + 5375570269322682819, + 4117791415563617432 + ], + [ + 908736009068020516, + 1298284431489518744 + ], + [ + 2150172352713722251, + 12239304304689309843 + ], + [ + 15606360566000782331, + 1493059286700481900 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 6231617767298668832, + 16294698404286550632 + ], + [ + 14466167435293499121, + 14312309691779920235 + ], + [ + 2689619432959686441, + 11344127195061472291 + ], + [ + 12151139725046297107, + 10949822004344963684 + ], + [ + 10544220715596412899, + 5059367660098887233 + ], + [ + 10921519652069607231, + 17496076728210580319 + ], + [ + 6528468719480777418, + 6694804921570438980 + ], + [ + 4148841141434467451, + 5439778597863394071 + ], + [ + 2305119292185634390, + 1821202442781211486 + ], + [ + 10844226659772752898, + 10989842463286165863 + ], + [ + 3850963029522644463, + 5573490144849160004 + ], + [ + 10291803005521897586, + 14665065726664880992 + ], + [ + 15893916268110656714, + 5852574393035429734 + ], + [ + 3878211033093954080, + 7075391446623289500 + ], + [ + 10305256354821082852, + 977024280097615060 + ], + [ + 13869461309291869555, + 7117925679841854074 + ], + [ + 17485249182731250196, + 14978969551980770095 + ], + [ + 2453437100782323478, + 9045593067556685600 + ], + [ + 5069058259461202017, + 8391591998289193408 + ], + [ + 5748310302255981227, + 14422445568262429827 + ], + [ + 2142377937607040254, + 18248777858756592304 + ], + [ + 7292062310633387643, + 4548623594503993879 + ], + [ + 2093645645668388225, + 4903067773825457463 + ], + [ + 13674123164032280634, + 12193031891656711067 + ], + [ + 16108896388136391161, + 13667522334385463258 + ], + [ + 13712129260537690154, + 1436838365376044221 + ], + [ + 6615782191220409478, + 1635663556364389127 + ], + [ + 414215299527472528, + 10366002906192951035 + ], + [ + 13230882050345089042, + 4712707727214818801 + ], + [ + 6941057005509379383, + 6296288488952581067 + ], + [ + 13238654509543046819, + 1350480451381400149 + ], + [ + 18099486253392099541, + 11011330058811027921 + ], + [ + 7833002324842765236, + 16653091759460072821 + ], + [ + 16257765682522354991, + 15720581524498548395 + ], + [ + 899492300726467553, + 3380699553585575592 + ], + [ + 8335127236589365609, + 14167745396971841915 + ], + [ + 14093970433174621502, + 14100962354963647678 + ], + [ + 15021685280232786986, + 709092921205628888 + ], + [ + 8364268433317504115, + 1647404923814878255 + ], + [ + 12288151409211419055, + 9672702722958085948 + ], + [ + 10057835596335240255, + 14838476999476171571 + ], + [ + 14320632133584855000, + 15536415976432881016 + ], + [ + 5127334807589537098, + 5869461848693887982 + ], + [ + 42042474795945075, + 14219840539352705012 + ], + [ + 11919262752529355059, + 4073749442338980448 + ], + [ + 6491678026166835042, + 12661723561106372309 + ], + [ + 12735991584937524005, + 9789958433479042610 + ], + [ + 10140430412568351986, + 3709155038299747193 + ], + [ + 5345242909083797776, + 18025348459230608885 + ], + [ + 10533525470420620335, + 14456981446508688922 + ], + [ + 15065772101064790832, + 5183009921167287993 + ], + [ + 10812707102765003232, + 12468361346576972399 + ], + [ + 8736296979231730249, + 3397942603549992250 + ], + [ + 17632556705425566282, + 2175280825086086469 + ], + [ + 16864603515254252780, + 2176628148870818286 + ], + [ + 9007523690339531565, + 17113888373915172877 + ], + [ + 3471369465514078150, + 12188248295062460726 + ], + [ + 7899151881317747749, + 11227922874250799055 + ], + [ + 16726410621531110281, + 1377144892667573048 + ], + [ + 16240792565941773047, + 14451830824672352242 + ], + [ + 9897583549490891963, + 8683172334854675364 + ], + [ + 7929088633773084812, + 16343908093469141120 + ], + [ + 15981184382627268956, + 9003052158706244073 + ], + [ + 17562501897433176311, + 16386505285525358132 + ], + [ + 4647870427668830695, + 10655454290411273394 + ], + [ + 1559623391943113751, + 2567568303715933643 + ], + [ + 17074473211219353869, + 15308013560196435084 + ], + [ + 1807097749583803966, + 8379069748132993900 + ], + [ + 3825596079156537086, + 2573000731592420022 + ], + [ + 1657043205927528057, + 4460695812671448644 + ], + [ + 16918994203918173983, + 916803837367873410 + ], + [ + 2145652858174632298, + 4248679416162006945 + ], + [ + 17919001150222188855, + 15275938846609407811 + ], + [ + 15119911960024298758, + 3540667708543678098 + ], + [ + 14921102110831785055, + 3200775798634456804 + ], + [ + 10826160848050576245, + 7711571831003964493 + ], + [ + 4724115861594555459, + 8110378592175231979 + ], + [ + 17000648900416551772, + 12117435971875323718 + ], + [ + 8448099425629503716, + 17940726861463161806 + ], + [ + 6445174291159735200, + 10460650338943642620 + ], + [ + 4527154306685770993, + 10689807307762078357 + ], + [ + 1776660982546885177, + 16156979064654561953 + ], + [ + 9405836095619309084, + 3738383883285415337 + ], + [ + 17495027930131470448, + 12514850130218630542 + ], + [ + 7719897975841964205, + 222244738657507523 + ], + [ + 16318907551983960955, + 1606665231987404926 + ], + [ + 12944972713951442965, + 4524243413779325700 + ], + [ + 490640723517053891, + 2817391937034158031 + ], + [ + 13598031299847060959, + 1173015070283404774 + ], + [ + 12478136804923005425, + 4928120749719656253 + ], + [ + 4489997959190940681, + 11912691511456401319 + ], + [ + 7599578052841753081, + 14457537335092238249 + ], + [ + 7601141690278672867, + 16307942544396821242 + ], + [ + 10522697280996128045, + 2433173276140268203 + ], + [ + 5976943154148285760, + 8942934429903926189 + ], + [ + 10133037878008057778, + 14093612863062691212 + ], + [ + 4505868014447208833, + 5693022825250466117 + ], + [ + 5297029774450359078, + 10701432090530923542 + ], + [ + 3382872130236314316, + 1723123812777382310 + ], + [ + 5747916245110502775, + 12399862417092960739 + ], + [ + 8021322818893086977, + 6167373609839554700 + ], + [ + 5855527351369227297, + 3819861766411381827 + ], + [ + 11303642736980367798, + 17095161760979927150 + ], + [ + 12895300665903813511, + 11499952195810585767 + ], + [ + 5115407727987124334, + 4189249528041067641 + ], + [ + 16979267888503520807, + 3691250870616229283 + ], + [ + 3639917366360331833, + 17961727890555745516 + ], + [ + 11443822895402070769, + 4893473046810432310 + ] + ] +} \ No newline at end of file diff --git a/testdata/u32_comparison_constraints.json b/testdata/u32_comparison_constraints.json new file mode 100644 index 0000000..3cccbfb --- /dev/null +++ b/testdata/u32_comparison_constraints.json @@ -0,0 +1,918 @@ +{ + "vars": { + "local_constants": [ + [ + 7380030187844018567, + 12515573191305837248 + ], + [ + 14477554001189158281, + 9053219828895779915 + ] + ], + "local_wires": [ + [ + 6280328842739851710, + 6203927082500661537 + ], + [ + 13897984427746215193, + 18040128259190790401 + ], + [ + 6605938469233488843, + 5585272561748898980 + ], + [ + 237802923933925552, + 10617140481457701076 + ], + [ + 17056690479220446793, + 13350102461680612520 + ], + [ + 6827484343823721938, + 12004065990681440494 + ], + [ + 2741072489696287744, + 17787751681315580402 + ], + [ + 16998988100055478336, + 15262912032679707332 + ], + [ + 3783927368038742251, + 16200977259853181241 + ], + [ + 2142464154099061955, + 16317044184807278361 + ], + [ + 15470280995176648735, + 16984893509684395874 + ], + [ + 8746507878818733489, + 5787594970786595964 + ], + [ + 10249241734779211726, + 2506377698512442292 + ], + [ + 13201873488764306232, + 10006178419069058108 + ], + [ + 12510403141749596392, + 15283177855549403989 + ], + [ + 10553861409503316964, + 9314997055910032818 + ], + [ + 14165512535979128912, + 6616765343329548925 + ], + [ + 8493039921077201358, + 18396314068605801300 + ], + [ + 13361767394978086692, + 14817093620872141990 + ], + [ + 1289932477521017356, + 10559777586183664098 + ], + [ + 13440486548487430567, + 2381670315560076776 + ], + [ + 2914472978281833991, + 7882469704065357356 + ], + [ + 11308025456246140573, + 10698969849719384675 + ], + [ + 14596690248220620529, + 16848960620061872040 + ], + [ + 5451232720190463674, + 16979850366843378939 + ], + [ + 12303359097683553489, + 10907111896474968066 + ], + [ + 4668273059075772426, + 5469248420678076678 + ], + [ + 2219020653834457164, + 14716677901275308529 + ], + [ + 6747225367945021751, + 12088848704038465739 + ], + [ + 16664084155411463118, + 1864242449334036356 + ], + [ + 102350107276592573, + 14476984421188961485 + ], + [ + 6427667295291311111, + 1120433368731514476 + ], + [ + 4963315809442191903, + 16971063723393691876 + ], + [ + 10726855262950801935, + 17126585858882115182 + ], + [ + 6158478527345429164, + 8741097379980989225 + ], + [ + 5782416913159300543, + 16443561679350034760 + ], + [ + 6875482008459212215, + 5552453660891557639 + ], + [ + 12996316470550238056, + 2432396385430394209 + ], + [ + 18060330748520184587, + 11284483892987406210 + ], + [ + 14036846754325968888, + 16256032546662272005 + ], + [ + 7587267260309867147, + 13862885990011191932 + ], + [ + 9861682662492000622, + 15745691966702459199 + ], + [ + 4335255198955593870, + 12020348190144112338 + ], + [ + 3937693272642673335, + 4534647053527582561 + ], + [ + 10575821625285287705, + 5841627579865295987 + ], + [ + 3978704495569543899, + 5665501767393267058 + ], + [ + 17025122272392854877, + 8392828756296873248 + ], + [ + 11102523693164318030, + 7748376733607176354 + ], + [ + 3169147196087466550, + 9056359439682667293 + ], + [ + 9636608243007553086, + 14664840408195645663 + ], + [ + 12694281907381538711, + 2431674168644582922 + ], + [ + 938385619891218111, + 4177005828393974143 + ], + [ + 8576119361637351156, + 6168246492143347160 + ], + [ + 13416452862087712368, + 14882705173591325503 + ], + [ + 11142123156389495132, + 2572207684883908968 + ], + [ + 14287646991969226080, + 1326087710455176902 + ], + [ + 5697613802526600130, + 11791937040495609445 + ], + [ + 15384087181058167771, + 11358162601335601015 + ], + [ + 17143261092822066211, + 15029540403742592352 + ], + [ + 2222694331017047164, + 7232607424444936980 + ], + [ + 7928683374734757342, + 13857969142492595277 + ], + [ + 4217357869655983654, + 4968119677162558661 + ], + [ + 12085529537436851213, + 12050725861536755017 + ], + [ + 686149095081531075, + 15806108881132637398 + ], + [ + 11693694377327631664, + 9087337652096089427 + ], + [ + 4342045769087728678, + 13139243491238296319 + ], + [ + 16457419568848746539, + 16415566173978733452 + ], + [ + 3523636690137351745, + 17046143320309859605 + ], + [ + 5252851260958892831, + 14745845178931915956 + ], + [ + 13127661040449143347, + 7488922810502264953 + ], + [ + 2063402669182675138, + 9317349936959288184 + ], + [ + 8996603011944579660, + 7975717703725111880 + ], + [ + 7801812812649651778, + 6558509090834839704 + ], + [ + 3567002195863065798, + 11540740567210749542 + ], + [ + 10743546223006554974, + 7984517001067659099 + ], + [ + 13392430329251461593, + 11426931553075262668 + ], + [ + 13934703946594101035, + 14187156334538368553 + ], + [ + 6409013627985193795, + 17984184837299182401 + ], + [ + 6645619338599853471, + 1294533475735241161 + ], + [ + 8033956603223339056, + 11008263378257432307 + ], + [ + 11728062292501860823, + 13405838058042269047 + ], + [ + 14394643342098578327, + 13001506920166866176 + ], + [ + 1082562062757943760, + 1917777087112780090 + ], + [ + 2768474993144564533, + 2768669494654491978 + ], + [ + 10294936169054701219, + 13978943694447503005 + ], + [ + 13412524256608659980, + 16607769851554418785 + ], + [ + 4402340630738889617, + 12615599597139798241 + ], + [ + 10071281155620079993, + 11752183446677106077 + ], + [ + 6797981796516714266, + 4626298350353166849 + ], + [ + 13823650537802808455, + 14026412841005804827 + ], + [ + 3100532966321403700, + 12799264656692540914 + ], + [ + 11882564279924058100, + 13488132180926882992 + ], + [ + 16875387344322608491, + 12413551958236210095 + ], + [ + 8405484310509165113, + 6476387747917081619 + ], + [ + 17712048953582779818, + 12712446679369566293 + ], + [ + 2969469218520244414, + 3017113397856346701 + ], + [ + 16375816393742366035, + 6014770515576126691 + ], + [ + 18353401909340302257, + 16780108731209655308 + ], + [ + 16254280202746164123, + 10388629545253332042 + ], + [ + 136670865180246972, + 10005270789836644356 + ], + [ + 14477805446952157877, + 11207806013587445912 + ], + [ + 10074319468379418839, + 17779223848539830574 + ], + [ + 18125654757288081574, + 7274278910348004569 + ], + [ + 6690725767274849958, + 3530329404223871404 + ], + [ + 9648923798414901292, + 16055190777518650103 + ], + [ + 10893187719127448804, + 1779191562015321823 + ], + [ + 13339985932312732531, + 15805888876947926611 + ], + [ + 7993404966206099662, + 12952910406630951408 + ], + [ + 15694032805426988132, + 13601468963304397472 + ], + [ + 12594815061706481391, + 9603895688712589527 + ], + [ + 18183075208093717929, + 14882993189447360475 + ], + [ + 9770854706217914310, + 17437016704332534774 + ], + [ + 8397200528935210626, + 12805336904223713423 + ], + [ + 2605224560884671298, + 14729654187883903413 + ], + [ + 8125532009913551116, + 8890005853205718168 + ], + [ + 10560594269536891077, + 1545395645973908092 + ], + [ + 16549480068820966292, + 6533349551556343717 + ], + [ + 16773242921642889176, + 4300794662070852894 + ], + [ + 12531272293868722558, + 4215854968940611493 + ], + [ + 11940028752366395912, + 13651547224246842706 + ], + [ + 14775749945767403950, + 1665164161541436806 + ], + [ + 15150899154138934742, + 9077243690539956774 + ], + [ + 2382940099788354444, + 16888884184769295361 + ], + [ + 18058171516798939501, + 9515965364114814981 + ], + [ + 586843672653313145, + 6213916176105640671 + ], + [ + 17971505658699626411, + 17220175110907278039 + ], + [ + 6122424430911668552, + 1702871877583014115 + ], + [ + 17014640356253791478, + 11998645733919895842 + ], + [ + 7063281656841812581, + 8874377464661786544 + ], + [ + 10707113602740707357, + 7920948562819622155 + ], + [ + 1104825360802402946, + 7111674148825556411 + ], + [ + 1163107146620437460, + 14750288192988295635 + ], + [ + 14417862883179475057, + 6346415058015219247 + ], + [ + 4377332865536952663, + 14400084890693177567 + ], + [ + 14209419625345306712, + 6346178035806325083 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 16343773549726174946, + 1785345028727934766 + ], + [ + 5569842249132338707, + 16948809566679286994 + ], + [ + 6848473219940373875, + 2549766926105950998 + ], + [ + 9941843870133438265, + 2656810783690048232 + ], + [ + 1125193832073286334, + 6934398673157105001 + ], + [ + 4445374200725104992, + 9111579192662353836 + ], + [ + 5252851260958892831, + 14745845178931915956 + ], + [ + 11096391464726253084, + 10626704218952831771 + ], + [ + 4400912032815414700, + 3226666673731296631 + ], + [ + 7065016394171745085, + 4626266130749256756 + ], + [ + 419795420056771076, + 16588574784737573840 + ], + [ + 12971523705004575341, + 15288795822738409190 + ], + [ + 17563408141989492992, + 15262191956018579633 + ], + [ + 3116698900996462289, + 11168973754088911347 + ], + [ + 9391477370897720233, + 10008577590968223398 + ], + [ + 14450612561226143733, + 3798893582385790273 + ], + [ + 13197613119599808318, + 13982076215472981578 + ], + [ + 14723209121534481380, + 4235868669739736506 + ], + [ + 14608223935436821778, + 4736633739575665368 + ], + [ + 3465839917468380654, + 16957911187208772627 + ], + [ + 12356225027936357840, + 10056461622152136780 + ], + [ + 15489662663013257212, + 6169432868171824183 + ], + [ + 3155523332604702095, + 17228107790790238533 + ], + [ + 6547440521031142098, + 17866663490811802945 + ], + [ + 15164783890040637716, + 12118982213311972464 + ], + [ + 13684207684844297825, + 8624140939758696729 + ], + [ + 4167325424490193438, + 1055856133354036511 + ], + [ + 9337854694395138564, + 5668083292791856583 + ], + [ + 9086558323367580738, + 7387464344861907826 + ], + [ + 5025482032416861353, + 14545796728653303922 + ], + [ + 9740688270704172245, + 4362492655384718279 + ], + [ + 2219183639021625674, + 8339659238558958330 + ], + [ + 157886113644146769, + 16882096373673713337 + ], + [ + 2551268102347823556, + 13932559710062299845 + ], + [ + 10203247216669025247, + 11025868585492953012 + ], + [ + 8265207564039904339, + 5323710996568648660 + ], + [ + 15070514205096423410, + 17221844355531664082 + ], + [ + 6669335276550862013, + 9392126044930087594 + ], + [ + 11583720113767561907, + 240455966611617158 + ], + [ + 6754111980814421710, + 2238060930142643772 + ], + [ + 9239071650372859931, + 7691873085055293597 + ], + [ + 15117214398548097887, + 13293961396626889634 + ], + [ + 12981910946161946283, + 1922539943626701526 + ], + [ + 14290574285563798226, + 6712547184934712951 + ], + [ + 14514815452665114790, + 289278249582527228 + ], + [ + 4831359624014283529, + 9758795548666048104 + ], + [ + 12245621269024923430, + 5458226107720903015 + ], + [ + 11609094442682330758, + 503267883545856476 + ], + [ + 2943080395863190867, + 18362956138623785009 + ], + [ + 2597162557176412634, + 3363462302769741915 + ], + [ + 9673708564164736062, + 12365668228270671069 + ], + [ + 9281360443511812685, + 12133449977864853508 + ], + [ + 3558150174064974667, + 7652224593390796961 + ], + [ + 15839766994388785750, + 4329183595514280184 + ], + [ + 4615755719665485112, + 12034245693710772486 + ], + [ + 1801025128469758063, + 3506989746855372137 + ], + [ + 7153215389461014973, + 4973793248022923561 + ], + [ + 9744641713590598972, + 3597750160687320633 + ], + [ + 5549458718704773582, + 7392475102749806467 + ], + [ + 8655559106003510316, + 4047290948507121605 + ], + [ + 16235200737045925258, + 1047556134293144882 + ], + [ + 3714309999279025037, + 2008456177820023510 + ], + [ + 643191669938387652, + 2607358189451675610 + ], + [ + 8408095409693674119, + 15422069056877624071 + ], + [ + 808979378462281029, + 8846057563621652231 + ], + [ + 1151975039424859810, + 14338807129991877792 + ], + [ + 17315689367564786848, + 2479134214536712547 + ], + [ + 5072735606206275045, + 1143698705155166270 + ], + [ + 4436709079022144804, + 8245389117913802436 + ], + [ + 9940854567644849450, + 1579216241780763063 + ], + [ + 6426633631430723470, + 13970547465783282487 + ], + [ + 8731286418638124829, + 10404923021399514019 + ], + [ + 9851326346239489250, + 16259784034226927006 + ], + [ + 15344280918478901463, + 10881632215977505712 + ], + [ + 10968170344393595956, + 692012794316668710 + ], + [ + 16327956500640453178, + 17524527864743173730 + ], + [ + 6750389832195606484, + 5838437935972936153 + ], + [ + 6960043460930880348, + 7375947841492341172 + ], + [ + 13546068796430103075, + 15372335876828595510 + ], + [ + 4124928931143824565, + 300355331355302572 + ], + [ + 12091735116749251077, + 805407549798074927 + ], + [ + 17063141038657883097, + 2247680739064742050 + ], + [ + 5068578611900328909, + 2770094443434913363 + ], + [ + 11108494334362368456, + 7112879633302290 + ], + [ + 1405460195173231723, + 393894593112660766 + ], + [ + 4127410831081244903, + 16301341132818575445 + ], + [ + 848687926950098872, + 5193979042415089142 + ], + [ + 2203597838494599226, + 11416417034023685060 + ] + ] +} \ No newline at end of file diff --git a/testdata/u32_interleave_constraints.json b/testdata/u32_interleave_constraints.json new file mode 100644 index 0000000..60e7984 --- /dev/null +++ b/testdata/u32_interleave_constraints.json @@ -0,0 +1,974 @@ +{ + "vars": { + "local_constants": [ + [ + 0, + 0 + ], + [ + 1069881597304990758, + 981683890193500616 + ] + ], + "local_wires": [ + [ + 16985067921198691712, + 12153144458901047099 + ], + [ + 15478632209238864625, + 8496272476316979460 + ], + [ + 14958918379051101892, + 16805564801523091045 + ], + [ + 11329388928038563656, + 2547970243150151952 + ], + [ + 7599988778263537792, + 1931221679587226479 + ], + [ + 3041926904458027925, + 14130389268378608611 + ], + [ + 1802260741640008996, + 16790737314260965592 + ], + [ + 9579725805183270157, + 8159297113520531490 + ], + [ + 1803075229435722035, + 2067267555185871205 + ], + [ + 170037703281152159, + 14158027908241970988 + ], + [ + 7471534594489043341, + 14368824356554142483 + ], + [ + 15555084073036076249, + 9698006419305208968 + ], + [ + 1409960037088582688, + 3048028304558614023 + ], + [ + 1180541413485359906, + 15935575054575392109 + ], + [ + 10288066273651094726, + 14731521054704981691 + ], + [ + 119996792213419269, + 2827793986044381417 + ], + [ + 5131811600440196668, + 1493284888630973602 + ], + [ + 382191126515173679, + 5841851603726681893 + ], + [ + 6331437087462656391, + 10547811079082768459 + ], + [ + 14407883492464090818, + 615462034968489813 + ], + [ + 5996162857170762451, + 11256011981503100304 + ], + [ + 7298584740978976812, + 3183514825036050202 + ], + [ + 7558438857448235924, + 6861337600609120186 + ], + [ + 6703572016680614110, + 13069652572001456258 + ], + [ + 9950178265046666723, + 5683771062110018159 + ], + [ + 4858573818079855744, + 3611862091705677305 + ], + [ + 4607160680655939302, + 4198398031139666586 + ], + [ + 11063466333487424966, + 6616667437875694116 + ], + [ + 11396824552689391981, + 8804030743174918002 + ], + [ + 9121066100211361382, + 17184420466853911119 + ], + [ + 6054306678841726387, + 1210256666481929871 + ], + [ + 4471477387956403179, + 9299574018346375487 + ], + [ + 6405751596309146491, + 10064196534926818373 + ], + [ + 1310571390074174292, + 5171931597236223963 + ], + [ + 4481046381018608909, + 18344139297752917406 + ], + [ + 6337823975876506964, + 14448394451137313865 + ], + [ + 3520725556460466308, + 5629986497605655465 + ], + [ + 14516253423948933245, + 13954420336370476706 + ], + [ + 6834625038806087208, + 17468795380704670988 + ], + [ + 3715400659840433053, + 6993227313023848674 + ], + [ + 13433939104019916472, + 8596818148426804349 + ], + [ + 1127946742558486127, + 4725701898957701338 + ], + [ + 3518038436933871224, + 3648546459126473904 + ], + [ + 429516799943514799, + 11237259872788460940 + ], + [ + 7757123384514369398, + 15875488970315286571 + ], + [ + 7152683514191196623, + 11140957397345292674 + ], + [ + 10303971808636420753, + 4464587667918705404 + ], + [ + 6681566653322556764, + 11221978904281446937 + ], + [ + 10513615903345509468, + 2616837926806720356 + ], + [ + 7717374747513909812, + 13118595714578346516 + ], + [ + 10233214151173037070, + 5927424673253762203 + ], + [ + 4798949197307195926, + 16694952262635564587 + ], + [ + 14801443691430864767, + 16781711648364982591 + ], + [ + 9057307445663943159, + 18023397943027764648 + ], + [ + 11762195135149440831, + 13830887927126283584 + ], + [ + 13962921643709030506, + 8061616044596163781 + ], + [ + 1211710890773626123, + 5603361530143664873 + ], + [ + 392638618721257500, + 16657711778207290537 + ], + [ + 13496247731231700623, + 530185816595542937 + ], + [ + 16174475896029429633, + 15914717791715398368 + ], + [ + 2683524691894231790, + 15489974153596019251 + ], + [ + 11448413936890104254, + 5599334550873974182 + ], + [ + 8734491367842444174, + 193731706021443645 + ], + [ + 8469504323497226681, + 14389353082283987935 + ], + [ + 8045643851394118800, + 16163649694583175470 + ], + [ + 14005776901057094015, + 6753197798135113696 + ], + [ + 8318791171274269652, + 14271122132002602853 + ], + [ + 147346981995172042, + 12518154990301964368 + ], + [ + 4765819847461129893, + 7360811881276254937 + ], + [ + 4529973792391864090, + 9354972073675039878 + ], + [ + 10203936841410184423, + 16257027743327507187 + ], + [ + 8613432502375737803, + 5740840441455404940 + ], + [ + 5003807553889361651, + 15633058379251889532 + ], + [ + 12703118903801820152, + 4866694498314915606 + ], + [ + 3249077529109124233, + 11839571170084616066 + ], + [ + 116961902290352492, + 3775226738198820732 + ], + [ + 7644834205930436807, + 2311559046971344807 + ], + [ + 11583103468670310830, + 2715585015825874133 + ], + [ + 16032624250148551968, + 1585851979619762884 + ], + [ + 7845279884321496541, + 126570717747332342 + ], + [ + 15489783383485405061, + 15851661596231211835 + ], + [ + 6846029444404732835, + 6311353052042922177 + ], + [ + 7474428377071739923, + 14898767943735552911 + ], + [ + 13845946185320048153, + 8977775985389857462 + ], + [ + 4084453304500841207, + 18109598919693023443 + ], + [ + 18331330400181652280, + 14016298283030844964 + ], + [ + 18262332021803407116, + 6072908916679593699 + ], + [ + 4901156704894801033, + 13953358684020299186 + ], + [ + 16694670359682271553, + 5214710692748458197 + ], + [ + 3690749236640654878, + 17948300720724889552 + ], + [ + 7206548944097691135, + 16363111799938810741 + ], + [ + 16984524860376115088, + 5984908709133796307 + ], + [ + 13977211367482675832, + 13231017763274372971 + ], + [ + 2330294636565483131, + 12483734344894047367 + ], + [ + 11605353605465674130, + 2948353804763267027 + ], + [ + 6134867207578780335, + 17016256234811010186 + ], + [ + 11394790655316581766, + 12493427194755926682 + ], + [ + 15560527906984854742, + 15075542182874537789 + ], + [ + 4674874619465922466, + 17221187647909826433 + ], + [ + 14010657720678680612, + 16673664997767083017 + ], + [ + 10435648042243547212, + 13418800165496127591 + ], + [ + 13120538686821309395, + 17709606493952113984 + ], + [ + 12515013021979162042, + 5154202896954330966 + ], + [ + 13897232311738154508, + 2081940269800976624 + ], + [ + 15354068379482800855, + 7201337357404520131 + ], + [ + 1414841388179181355, + 3080402314922723603 + ], + [ + 13674237594743747868, + 18174810920678219650 + ], + [ + 14864144129102495493, + 14056435307526058480 + ], + [ + 6134938749466277759, + 1930749742291567202 + ], + [ + 8686927333332688316, + 15636403392398733595 + ], + [ + 8637650957059308198, + 523809706936044738 + ], + [ + 18003000255238532976, + 9064608647194483637 + ], + [ + 16506450724337153396, + 11315627532667008177 + ], + [ + 940849744040885202, + 8453005442220925417 + ], + [ + 12664658253055044409, + 9947562127886616883 + ], + [ + 8134464270711095082, + 13590651246588090803 + ], + [ + 12271782792303389738, + 11185095728913362880 + ], + [ + 3311169957817325831, + 18222198828849588999 + ], + [ + 11787247017177555924, + 4894157314091283860 + ], + [ + 3042758405683128886, + 11199198752827011169 + ], + [ + 6082054506546750350, + 1615440111627316854 + ], + [ + 11844449043278203180, + 17584115782138223290 + ], + [ + 3778715792914677124, + 11772797659140548747 + ], + [ + 15852537531001825375, + 11738411575489443158 + ], + [ + 13916861000746456882, + 6734321768724191387 + ], + [ + 13490533251248679575, + 3315350705543842190 + ], + [ + 4451017764672111817, + 2394711209904550249 + ], + [ + 9044320278866542378, + 18325601534211925688 + ], + [ + 14865035635537468004, + 3483617232790266577 + ], + [ + 14751470204409674898, + 3926024961703063893 + ], + [ + 13474194254437934171, + 9927058904571314814 + ], + [ + 3547716906200151872, + 14868062386143342576 + ], + [ + 10062097378181940314, + 16656103289388013699 + ], + [ + 1100144855791189484, + 875938238683737834 + ], + [ + 10235772269930735232, + 314078020965454482 + ] + ], + "public_inputs_hash": { + "elements": [ + 16937455440760004602, + 9154872814969815821, + 16868041439722828482, + 8638055851059469575 + ] + } + }, + "constraints": [ + [ + 11965715747875447641, + 13802138883514399681 + ], + [ + 4782557809107810601, + 7224395376824608759 + ], + [ + 10878976503355786676, + 11187698125289906905 + ], + [ + 11921501563801521504, + 5379115909318469266 + ], + [ + 15621573249587840688, + 4353110860088544433 + ], + [ + 15415947902641837974, + 7338181793543228345 + ], + [ + 7703277273770535097, + 204116463560368696 + ], + [ + 2801758838461656948, + 2061980559429969889 + ], + [ + 11373227911499761856, + 1087461157456400047 + ], + [ + 17680132900556411009, + 6540104875743338045 + ], + [ + 5271712694575572619, + 2161033041414621216 + ], + [ + 13111589238978924983, + 1016998224370806629 + ], + [ + 12564451596420733721, + 11805016196717396542 + ], + [ + 11748609259147540613, + 13637303988749997204 + ], + [ + 1605829872565417672, + 15621987990979459762 + ], + [ + 1429008673708907198, + 1715423478130491378 + ], + [ + 8981474613678573336, + 13819161646823324287 + ], + [ + 11269855723689790169, + 14044705862775921343 + ], + [ + 1382962213513752843, + 13846849646781912495 + ], + [ + 269112960790741839, + 9544634887875144048 + ], + [ + 8175162125616858475, + 4424698055548124989 + ], + [ + 4293007109138486492, + 10005071199126441921 + ], + [ + 16432073664406246676, + 12134436121043550327 + ], + [ + 7826924872006476378, + 5523064420648783870 + ], + [ + 14382319693873730309, + 15493295614872101872 + ], + [ + 1857141971160537860, + 7794671962573215501 + ], + [ + 10872986184929944378, + 2119190934925634515 + ], + [ + 9515494752279347563, + 12497867145372782703 + ], + [ + 11619254755486783567, + 8743149309323850652 + ], + [ + 15499320528021020300, + 3446915259299352625 + ], + [ + 14592582681158010659, + 18035291352178538861 + ], + [ + 13841079381252616841, + 3066810155218468091 + ], + [ + 11011492648731945661, + 747251561498011963 + ], + [ + 17342296391025658066, + 4011661499129611483 + ], + [ + 13785050914823457246, + 5649121957684668518 + ], + [ + 16486725252720973175, + 12054766653720532159 + ], + [ + 6401905413521591887, + 9995928339508390219 + ], + [ + 7793731556839780479, + 1746757165249578339 + ], + [ + 17059962836132977206, + 10235660402812592121 + ], + [ + 17069317696351520358, + 1238462206817541926 + ], + [ + 186060688125123410, + 13578588631833966489 + ], + [ + 6965540732584517618, + 13252394015415605345 + ], + [ + 8925051948043388272, + 1195015017248938947 + ], + [ + 154987200094954514, + 13332792985909947008 + ], + [ + 7208828293881621972, + 14450153930371670532 + ], + [ + 6936566881419744307, + 4186426375874430281 + ], + [ + 17582563664244717953, + 3445712957007798164 + ], + [ + 8169860147079369334, + 16512936321884925678 + ], + [ + 8355506903720486716, + 7486482591299463811 + ], + [ + 10391111388847969651, + 4455957825071762906 + ], + [ + 3112057178458401912, + 15137650322710630955 + ], + [ + 5533861321345674212, + 14912698321158361444 + ], + [ + 15153537872400595322, + 8292238974926745777 + ], + [ + 5913331337596586752, + 5895496290900634673 + ], + [ + 187306529050362288, + 3552243385260906991 + ], + [ + 12677184654654836145, + 12918795019550871279 + ], + [ + 337849104585814381, + 6119472236512229013 + ], + [ + 8417556826059948282, + 14344357835663422570 + ], + [ + 15379754186405793367, + 4273916183479095985 + ], + [ + 5896993446794947159, + 8673485443773311679 + ], + [ + 1810666531137611893, + 7708074422873737817 + ], + [ + 16598896262200035875, + 2372329211672027017 + ], + [ + 10275688862566510494, + 1190632904805646866 + ], + [ + 3085937871199023571, + 1421125304865768591 + ], + [ + 7057402215464947380, + 3896234912027943713 + ], + [ + 5750978758269517429, + 9030377753552369297 + ], + [ + 16852121949062253891, + 242878538527153672 + ], + [ + 7868747954827259823, + 2449468465706461283 + ], + [ + 4180406408173448996, + 9034605791548960123 + ], + [ + 18638174949775128, + 8384908582941539419 + ], + [ + 10590973310485304169, + 13780498847808087951 + ], + [ + 10271792087981307373, + 658235287829701843 + ], + [ + 10062655469879763282, + 12145803421830374767 + ], + [ + 4144993670005512178, + 10526819139747331009 + ], + [ + 5346608888228918156, + 14750261650437890682 + ], + [ + 4617377038816164761, + 1310360538335551308 + ], + [ + 109471706856010437, + 3382716540591041084 + ], + [ + 3944466845954934933, + 11969189905794657791 + ], + [ + 1344322574417560633, + 6179751412025671505 + ], + [ + 2799551654252038654, + 5426469526515137939 + ], + [ + 9365875770380683729, + 16398756158814696609 + ], + [ + 6230431093854762666, + 2936965633584298458 + ], + [ + 11575270969824081778, + 11419600824392266817 + ], + [ + 8037723933909638037, + 5944209149925982457 + ], + [ + 17468155029727286752, + 3916184454431997463 + ], + [ + 16337009302374745856, + 13443891481970931251 + ], + [ + 16514347309029483674, + 7151091505508803236 + ], + [ + 1965933345553316997, + 7410394372693611392 + ], + [ + 16677554008695325058, + 6807852697976191947 + ], + [ + 5171785455601690180, + 15134283669687065689 + ], + [ + 16873335859264529572, + 14930512713406220519 + ], + [ + 6359674525379728338, + 17030103495865797567 + ], + [ + 8965567450613240219, + 8544464655082964193 + ], + [ + 15906790211440792177, + 17285721717767382622 + ], + [ + 1634786843699195731, + 15536536514753018601 + ], + [ + 5624497931573344481, + 11924554526629069943 + ], + [ + 10447734978026305217, + 9019684236879485559 + ], + [ + 809617479586605903, + 5054363367943114802 + ], + [ + 11003987990994183916, + 8765431161700953593 + ], + [ + 8461427609642469763, + 14222722574714482342 + ], + [ + 6864312347311547568, + 13856646173101521532 + ], + [ + 17389902608298626463, + 8145816874814938994 + ] + ] +} \ No newline at end of file diff --git a/testdata/u32_subtraction_constraints.json b/testdata/u32_subtraction_constraints.json new file mode 100644 index 0000000..aac87a2 --- /dev/null +++ b/testdata/u32_subtraction_constraints.json @@ -0,0 +1,1022 @@ +{ + "vars": { + "local_constants": [ + [ + 3650083143688426518, + 12373324257349756813 + ], + [ + 4192784734407064070, + 1852960991804562147 + ] + ], + "local_wires": [ + [ + 13926201042181563681, + 16694178145473449758 + ], + [ + 10043802053223792772, + 12818149032090164260 + ], + [ + 18293535507768603334, + 2857411730015934287 + ], + [ + 5174662986286399261, + 7704956363213330540 + ], + [ + 7007667119035702352, + 15949909263426273946 + ], + [ + 13612034093587951466, + 11705629435737063259 + ], + [ + 16017770726264587872, + 12499304303463757069 + ], + [ + 10442923791672676949, + 12261826472916952909 + ], + [ + 17571106257953580467, + 5408520842935354101 + ], + [ + 2492089308494441194, + 16074441388123355353 + ], + [ + 14618653399623459180, + 12261268029578304726 + ], + [ + 5918637729045146937, + 15487241510123323578 + ], + [ + 8255187187233788467, + 9501850958947899691 + ], + [ + 17995988284483376402, + 17373088092067568381 + ], + [ + 14609842182719818785, + 432289999118310394 + ], + [ + 9438036005915981837, + 15282387263976014708 + ], + [ + 8507699197167739456, + 16791984052686650163 + ], + [ + 1639428082852744436, + 9853244544315528109 + ], + [ + 18145069052615150333, + 1046147485050395506 + ], + [ + 13889906526256276694, + 10542738761669298132 + ], + [ + 14862435279503621915, + 9456669694021081278 + ], + [ + 131837614272955730, + 2143361619574635499 + ], + [ + 13941033261508010168, + 16040660669793941479 + ], + [ + 13028710252949441037, + 2269223932109869353 + ], + [ + 6141075393585695231, + 631452365088664255 + ], + [ + 3238592605127004460, + 5885257012925868102 + ], + [ + 7811362947445553965, + 9782544131559465104 + ], + [ + 11258438640976119187, + 16980659991254119541 + ], + [ + 7258882926171252177, + 6760848678410594173 + ], + [ + 6660375978956098125, + 16293682043669657962 + ], + [ + 11699320673642159164, + 1236802955914494363 + ], + [ + 8735537742146073730, + 12316823428577466694 + ], + [ + 14956294965575027516, + 3769083533977400909 + ], + [ + 486143368408455393, + 11664771649217840260 + ], + [ + 4564459545728931571, + 5857343577262742414 + ], + [ + 10793681615596499294, + 11102329898414779372 + ], + [ + 6092357039583625982, + 14850944752351076570 + ], + [ + 9461281341759978298, + 14505494612388918729 + ], + [ + 3250690701565725971, + 9542105029649855486 + ], + [ + 14210754288315308588, + 17537820441974768381 + ], + [ + 18363881820939430323, + 7286913601681603155 + ], + [ + 14252611955531919303, + 3611888518820768137 + ], + [ + 3473100019969611805, + 9246642168005986899 + ], + [ + 5717774117620139354, + 12339093748113066037 + ], + [ + 352058701919987133, + 869936072934489660 + ], + [ + 15168973897304912266, + 3218865234981527490 + ], + [ + 5576621095076146026, + 12028752176094148565 + ], + [ + 3945531294941345947, + 8410686182557788518 + ], + [ + 75615826234140358, + 3204800113499071868 + ], + [ + 14987519734012161242, + 4353170868530158558 + ], + [ + 1081402574206191542, + 17198428434079754333 + ], + [ + 9409825682171568662, + 8102996970333840744 + ], + [ + 14434627369862070876, + 7141493201960088995 + ], + [ + 99776547394178160, + 5816339868072537454 + ], + [ + 9041465208232157910, + 1774945081884933136 + ], + [ + 12338594256708120511, + 10256239229411072455 + ], + [ + 6153619966812032759, + 7172245950395103438 + ], + [ + 14370152618137668073, + 5081930852141195226 + ], + [ + 12123165253113702149, + 4679858194251967979 + ], + [ + 14812946917706289488, + 12673517155733342949 + ], + [ + 9504215587357542029, + 5116530750143250362 + ], + [ + 13300007891790185645, + 4302030621712120608 + ], + [ + 6930632798539085933, + 9559674304408498422 + ], + [ + 15891226296693277964, + 5549845655748867902 + ], + [ + 4783907357369379418, + 4769606441023628412 + ], + [ + 6062228740842636751, + 4614482853383498458 + ], + [ + 17134915687518282588, + 18075808586513752685 + ], + [ + 2124024871292130313, + 1930772924790335217 + ], + [ + 1679135182691389278, + 6815683591710685579 + ], + [ + 16673598315643084896, + 2509922444033530347 + ], + [ + 3232626667166884713, + 3267026250519105399 + ], + [ + 18166722595180183928, + 9664322151757913572 + ], + [ + 4608629319893797623, + 4088789356854301923 + ], + [ + 14072607673895364423, + 15281848107653366376 + ], + [ + 11642149209107609804, + 5377321441202155032 + ], + [ + 4833103341710129430, + 11372310122485476558 + ], + [ + 15522051080277526454, + 5711469753641528119 + ], + [ + 9135893302100765883, + 13811676953526507506 + ], + [ + 2758272036503815458, + 17258743512935529987 + ], + [ + 15110319525773483678, + 10154371131266146144 + ], + [ + 12531330765534715589, + 5830929157645276613 + ], + [ + 11946545497139018216, + 5507535805646275438 + ], + [ + 18266255112588893317, + 11053887661698295584 + ], + [ + 16480700502233635622, + 14486745356186650434 + ], + [ + 8522214707604028561, + 5984136195769058348 + ], + [ + 10601156389645696245, + 12847448840497860898 + ], + [ + 85077685740923859, + 13630850668373392158 + ], + [ + 6879876353962262482, + 10635872366636082617 + ], + [ + 7014193655830543401, + 6074556193852149358 + ], + [ + 17263011159905387980, + 18358276782971356462 + ], + [ + 13963822073882701829, + 5430177474802677186 + ], + [ + 12524184374797770892, + 5124692171362076912 + ], + [ + 9197631368623195810, + 9285320991114446709 + ], + [ + 4475409796846973796, + 15485026876044673951 + ], + [ + 9376819291437113461, + 8690744393348586145 + ], + [ + 17159233738057781849, + 7921009684749214666 + ], + [ + 7191063798302616369, + 2103077317616936783 + ], + [ + 2776987520935589072, + 272855335647472443 + ], + [ + 6357087125606821531, + 13578889903672302902 + ], + [ + 17640509803822229346, + 10297669749824096388 + ], + [ + 17810746197591261243, + 7344325430661783376 + ], + [ + 1298114493952351939, + 12338129939499858556 + ], + [ + 3433250787282429638, + 4066701818605783755 + ], + [ + 14916073537378783725, + 91898959281530963 + ], + [ + 11215254529579100236, + 2185667466653856856 + ], + [ + 1084466245360782761, + 13556229902668511690 + ], + [ + 10625411578408040960, + 10723864287586886145 + ], + [ + 727239606947059319, + 17205804268930420966 + ], + [ + 17755633968989602097, + 17320817370367032959 + ], + [ + 16427709088223685132, + 11034892977854414814 + ], + [ + 11463041116399131213, + 8297464938166421440 + ], + [ + 3540410999701581370, + 7537257001957976185 + ], + [ + 336278541048823082, + 12559326957311119835 + ], + [ + 15816241438739831705, + 2615560868155785122 + ], + [ + 2564723507964366361, + 8905747364028788634 + ], + [ + 15198013899688310582, + 7514774851126872496 + ], + [ + 7684475118720464117, + 11926464807517292225 + ], + [ + 14738271358321940554, + 12058344393096412725 + ], + [ + 8600166551235698971, + 4416296790279353433 + ], + [ + 6664428203091412678, + 8772095246940425688 + ], + [ + 3687893833663895673, + 8540689600920933114 + ], + [ + 6042041981992272844, + 8987272107359578582 + ], + [ + 16899723045539635979, + 4320629949118519075 + ], + [ + 8202008861635603089, + 3952304548594923769 + ], + [ + 7538036396794718742, + 1072126857315758023 + ], + [ + 15115210549173918250, + 16330739781946918727 + ], + [ + 10639798613437915075, + 10856564223694317742 + ], + [ + 13106518321721469693, + 11400638018083203892 + ], + [ + 1227295045374001348, + 18349902195405268784 + ], + [ + 2615435210198150794, + 16551097655749944518 + ], + [ + 477983574156908466, + 16360659719517557349 + ], + [ + 18386109271712589883, + 7681913366675577213 + ], + [ + 14518006997191437422, + 14907902976083824762 + ], + [ + 16786137182049936907, + 18323766633508872067 + ], + [ + 1158812525371422299, + 17223640795254391463 + ] + ], + "public_inputs_hash": { + "elements": [ + 0, + 0, + 0, + 0 + ] + } + }, + "constraints": [ + [ + 15582354052247701860, + 8733866497629926074 + ], + [ + 8166854418229239773, + 1945087535007479347 + ], + [ + 506886504133134276, + 16047996234610544597 + ], + [ + 545742409798316766, + 7184428507941812877 + ], + [ + 11097645323643286079, + 16293927883180732790 + ], + [ + 16422287881145816228, + 14089143762631407815 + ], + [ + 7145411454818183809, + 6971265675837057211 + ], + [ + 10864570765880245702, + 205294698828284880 + ], + [ + 18398163544596565001, + 10563482019122108551 + ], + [ + 4962966655857989150, + 10092065318568460397 + ], + [ + 11153330449456022248, + 4234158079929354958 + ], + [ + 7246594548207907507, + 9061847197680061303 + ], + [ + 907978007117462400, + 5052331079676571056 + ], + [ + 18342065750207687626, + 580970813686528587 + ], + [ + 3698544251623103498, + 13620151679672700282 + ], + [ + 5430532655254508842, + 17347491689878294068 + ], + [ + 13957647696921432070, + 12768968092928767034 + ], + [ + 10712050145623135233, + 13106047965678511332 + ], + [ + 15575691695957331365, + 1321215870912334050 + ], + [ + 14282849222029147395, + 6573995666089739067 + ], + [ + 5023840276034292672, + 6748294313619986741 + ], + [ + 15087133213456792539, + 13349817261064124581 + ], + [ + 10318011536679938894, + 16122200241134003845 + ], + [ + 15889081100351355097, + 14860569732765888052 + ], + [ + 11697557889582225040, + 3679745993657908092 + ], + [ + 869698125128213585, + 8119187398523605645 + ], + [ + 11399739535585484929, + 2899401135738796710 + ], + [ + 14988607247195011226, + 5173100586092586195 + ], + [ + 1119102936129843234, + 2615526209508811748 + ], + [ + 6414406781767931157, + 357488029653576681 + ], + [ + 15219056390553490858, + 6278395268325939185 + ], + [ + 9714472877379370594, + 8342396144816897469 + ], + [ + 16395254950452891416, + 2567592624055351002 + ], + [ + 11452028642570836441, + 15307020032289989705 + ], + [ + 5743040328732681023, + 9457793499783268252 + ], + [ + 14499965895727611318, + 11074315470292622069 + ], + [ + 1899764114411127614, + 15714031581695771666 + ], + [ + 7799321815077406218, + 13556998579209285264 + ], + [ + 1389743845935139105, + 16020855316883449218 + ], + [ + 3152652625132983647, + 16143600739890488985 + ], + [ + 5458659567033129269, + 3409540063227147021 + ], + [ + 15076145141205263569, + 14982879499612013757 + ], + [ + 1858322570525153209, + 18319714848984367695 + ], + [ + 12230747536510475511, + 12390755737819858425 + ], + [ + 3136389540314645609, + 6710714641493566074 + ], + [ + 11525166177221403776, + 4327978026572680890 + ], + [ + 14413937766839452692, + 5429173500318074388 + ], + [ + 15608109574565171330, + 15871625505394625845 + ], + [ + 8194777246668501154, + 13968222864086116938 + ], + [ + 8515199113541235870, + 5391544687229054775 + ], + [ + 4372363682317406826, + 3869108789859927789 + ], + [ + 2489414264778907645, + 7086983139724066890 + ], + [ + 15798109694157870399, + 16359090857926979678 + ], + [ + 3934954650162213342, + 10994158701320724250 + ], + [ + 6852536599400023139, + 8557985387154303940 + ], + [ + 7918440971464639654, + 12197429441848562131 + ], + [ + 16406983579171315498, + 15005261113883117955 + ], + [ + 8647454109045497481, + 6402984756569357290 + ], + [ + 6790453491057390539, + 5401035576857746151 + ], + [ + 13578183771407397552, + 10775415308652517488 + ], + [ + 16111362316588015889, + 5160157095601626917 + ], + [ + 12593651382906560308, + 12248910621932479352 + ], + [ + 9159645212475196970, + 1812468506830515680 + ], + [ + 14600145247916434429, + 16761670437475099629 + ], + [ + 5860648117084158826, + 14206008204388949513 + ], + [ + 17679945929793954662, + 10938766945740699048 + ], + [ + 1462517378085361640, + 1921518749834029110 + ], + [ + 1799558763939142433, + 9933261279168200042 + ], + [ + 7006515232366893151, + 9105349200224384270 + ], + [ + 9642784421816431291, + 16091002717136595326 + ], + [ + 8803053617552256487, + 9489962641462797596 + ], + [ + 1867764307630548453, + 11848777065217067768 + ], + [ + 15239559865701581097, + 10502219556051158180 + ], + [ + 13340608337991800346, + 2393357786650054208 + ], + [ + 16315593621396003271, + 2292386213973424501 + ], + [ + 13794087703976043694, + 17998701319305589105 + ], + [ + 13190877033985830021, + 17737329013489273554 + ], + [ + 9819634253428232583, + 3910140366125518808 + ], + [ + 1973368108235309358, + 3125896016476073511 + ], + [ + 10144829939673823862, + 17349841167097872672 + ], + [ + 4204880416434807900, + 1134416350350256809 + ], + [ + 17914272506746323722, + 1557617711677360548 + ], + [ + 13639265865900449082, + 7079359736577266709 + ], + [ + 6597513263411029269, + 4917442218881371379 + ], + [ + 12734457912317978898, + 9620065234289142470 + ], + [ + 1146681206788582787, + 5381605252144092320 + ], + [ + 15651877330423959642, + 15264078415671171322 + ], + [ + 5816286017345673512, + 7149501016843274932 + ], + [ + 2022395760506385326, + 3521519956337940767 + ], + [ + 13952188253427851976, + 14639932818605432526 + ], + [ + 4214683452035558995, + 15771429467675358946 + ], + [ + 7661703935791928769, + 8725649356244969432 + ], + [ + 3380559003195614955, + 3056133369973551050 + ], + [ + 4257685999329328447, + 10387677235672784970 + ], + [ + 954818826389996336, + 17037067211724808328 + ], + [ + 13531356771717004815, + 16526723466053033402 + ], + [ + 3262750893853107362, + 4500122140401752662 + ], + [ + 1981708926907010184, + 518106555474060825 + ], + [ + 6979498442182764203, + 15835686504953639664 + ], + [ + 13241458020512235759, + 6482862847649034723 + ], + [ + 9500632668315064146, + 14701233899895049867 + ], + [ + 3778433357600680684, + 34250723801852041 + ], + [ + 6341927970260622178, + 9421283023145126855 + ], + [ + 4384984012533895008, + 472585630760800188 + ], + [ + 9839467626019517481, + 6600228484669262675 + ], + [ + 8367841384413696278, + 15556837022492413679 + ], + [ + 552170065715699851, + 8027615383938183619 + ], + [ + 8708093739912666609, + 2689072685713431390 + ], + [ + 2897387872738611639, + 16162038073498960790 + ], + [ + 8164315985532763300, + 10454971276196387507 + ], + [ + 11026140184962472313, + 5719321029989813894 + ], + [ + 956042379881558267, + 13087928654037767967 + ], + [ + 70563475436157197, + 14682583266849733054 + ], + [ + 11372420028060427934, + 7763954825124551799 + ] + ] +} \ No newline at end of file diff --git a/testdata/uninterleave_to_b32_constraints.json b/testdata/uninterleave_to_b32_constraints.json new file mode 100644 index 0000000..46ca119 --- /dev/null +++ b/testdata/uninterleave_to_b32_constraints.json @@ -0,0 +1,1102 @@ +{ + "vars": { + "local_constants": [ + [ + 0, + 0 + ], + [ + 18267035144934022991, + 13042795627243926785 + ] + ], + "local_wires": [ + [ + 8742544683758397522, + 15717037835701249410 + ], + [ + 10636228096106306688, + 13473335069920077979 + ], + [ + 17563786981926746459, + 15669254335394539144 + ], + [ + 840552382725971255, + 9399089673404723013 + ], + [ + 9398459563066029691, + 2535727005663668267 + ], + [ + 10537358721852986866, + 3706429779127232346 + ], + [ + 1746128496236079032, + 1062236654546958008 + ], + [ + 16619826977472405775, + 17191229787994591895 + ], + [ + 4367801244630741139, + 16019067195750332063 + ], + [ + 16650541539209770894, + 1958733508845078980 + ], + [ + 12640139919513286028, + 13781098312957937517 + ], + [ + 2328802995733027280, + 11855265508262788860 + ], + [ + 2638729792935942787, + 11542106175438411214 + ], + [ + 777835284428081751, + 7144673629896710504 + ], + [ + 6204639353999414920, + 18294953431267746905 + ], + [ + 10360000855178854783, + 16625581442797398002 + ], + [ + 14412628447314609858, + 13299314264894562041 + ], + [ + 12137052052244248644, + 9367311239854600848 + ], + [ + 1491676028459141615, + 1849623630519966420 + ], + [ + 13886733660203930110, + 13398539110223836839 + ], + [ + 11165719251926155349, + 3354983980356606794 + ], + [ + 867945752960865062, + 15541175448453441526 + ], + [ + 9546664301251770855, + 13684036272342125807 + ], + [ + 1786755255202382771, + 9621266417870060602 + ], + [ + 15455707761083428027, + 12776756611273005353 + ], + [ + 4208396437667363733, + 3772747048020446492 + ], + [ + 1753946373215712794, + 7127658088434192147 + ], + [ + 5091933303444050767, + 4623166993705336560 + ], + [ + 13740115326827960926, + 9987571578576201720 + ], + [ + 6516741744087389153, + 13345097891540461211 + ], + [ + 4194982783774390054, + 3853950269883162568 + ], + [ + 2556486761719754834, + 17874544777597992801 + ], + [ + 16869378817777766871, + 13036587176454367999 + ], + [ + 8131311364117760876, + 13231513516479472227 + ], + [ + 2930650138414619211, + 4556855084107385913 + ], + [ + 11109755543270654953, + 14705566454021360124 + ], + [ + 10527913785625631298, + 3237326570643915121 + ], + [ + 11566751133034777928, + 2572320207712319458 + ], + [ + 10192369072136823209, + 2330135419910408719 + ], + [ + 6302902099615916924, + 5548116969554930107 + ], + [ + 10456214771995683520, + 5686006061763374474 + ], + [ + 13592752015301041433, + 12982281534600799557 + ], + [ + 3058363974901426837, + 17748583021873709613 + ], + [ + 2804149910736033402, + 12894030319210154672 + ], + [ + 14771317990757140765, + 17939018297052735815 + ], + [ + 6349771892308448123, + 13090884852190086819 + ], + [ + 13883070079384496312, + 7440422705372724564 + ], + [ + 10553249230797545130, + 16661364048043578843 + ], + [ + 3987896850325406104, + 6148571234516011805 + ], + [ + 9014778833918770657, + 9271939750062165324 + ], + [ + 655385035392761406, + 13223009750610941429 + ], + [ + 16901035150209086115, + 5754672067623935816 + ], + [ + 14395907068145763887, + 13642536136831488815 + ], + [ + 3576219703808117031, + 1510944021317210287 + ], + [ + 15129094264490092712, + 17094100449569563002 + ], + [ + 12619776649196238043, + 7891138995192882805 + ], + [ + 17801161487098040741, + 2292813647291369403 + ], + [ + 3481954184392442392, + 3206757757262824092 + ], + [ + 538545062072432833, + 12024829127463063375 + ], + [ + 7418063677945914838, + 10431853141487937820 + ], + [ + 5446781599756881909, + 17855800021379409308 + ], + [ + 3640910837882708334, + 16164265067500790871 + ], + [ + 8757298660158870763, + 809550400638882649 + ], + [ + 5402373322842559824, + 9333409550342684693 + ], + [ + 18272452327763905336, + 14107872777950619084 + ], + [ + 17975603923544323001, + 5780215852137306137 + ], + [ + 18094810686563302922, + 6404003267984219452 + ], + [ + 5120057069533073027, + 13322110565504811642 + ], + [ + 2273669080249082794, + 13623164130767335218 + ], + [ + 2794221103846234735, + 14266503557844864393 + ], + [ + 17917471857463040657, + 4061930624848433730 + ], + [ + 7904823281075756298, + 11686524917762818235 + ], + [ + 6845643286031208329, + 2084277711707395657 + ], + [ + 16325219819342244194, + 8192455491654741127 + ], + [ + 6654553625338635087, + 1765785335216002797 + ], + [ + 11586421671575955379, + 12679197799708958469 + ], + [ + 16615540619569798717, + 6202324122869203520 + ], + [ + 12921547075901039421, + 6629584943822349317 + ], + [ + 17415295259766511386, + 13743523760013513675 + ], + [ + 7954413403211201963, + 5420159140089515400 + ], + [ + 18381118656456776758, + 16709240743060384153 + ], + [ + 18445217877947428901, + 11367860258894892686 + ], + [ + 1141895679135203173, + 7037832410783950749 + ], + [ + 6732163328120557261, + 15589035019914802131 + ], + [ + 17475952017002530552, + 15226969584467833812 + ], + [ + 17298478129245340680, + 16465012690573135711 + ], + [ + 15935718600351148239, + 1516156712734361388 + ], + [ + 7386783365518585882, + 1253914491684762284 + ], + [ + 9625555221514603260, + 7654743267716699419 + ], + [ + 4313562467752185831, + 11967294956999073947 + ], + [ + 2215523173057755286, + 12872978023523235073 + ], + [ + 16932688985625511294, + 12702029019469221080 + ], + [ + 3887535493892899250, + 12524776548869180490 + ], + [ + 17820740354267775468, + 8809613486922540531 + ], + [ + 9590397741762164360, + 1058939468522691756 + ], + [ + 7457636408506001456, + 17950167862093481678 + ], + [ + 16438065483711887045, + 15617661555124033369 + ], + [ + 1115328759399781896, + 15106206337486713769 + ], + [ + 13416702634679240264, + 7215165512226177148 + ], + [ + 8361031080930928217, + 7050886799467631536 + ], + [ + 3703992985477382584, + 2307164833681251743 + ], + [ + 13537094328907151854, + 12019410111230689751 + ], + [ + 12138541713299435618, + 9480531559645182574 + ], + [ + 4538173466746735061, + 2692407096877293589 + ], + [ + 927215798087747999, + 17713216791746925600 + ], + [ + 3740253728013627333, + 7964499271245247094 + ], + [ + 7448521628819129902, + 5288189583264617628 + ], + [ + 1347939699129390634, + 6801309363044850344 + ], + [ + 1313083961959985464, + 5146558567309353903 + ], + [ + 10746956839601968253, + 8281897764318191991 + ], + [ + 4535659107489045477, + 17384699327853172469 + ], + [ + 2720741267172460229, + 16001862214501119245 + ], + [ + 11740206014198992695, + 137545198739179070 + ], + [ + 2008955282976976885, + 4250974364015719859 + ], + [ + 17760933406633473385, + 12281777916588965018 + ], + [ + 6256799581435771766, + 15097549377954922610 + ], + [ + 17611915896045737310, + 11553676754945956815 + ], + [ + 8756407883847279934, + 11381162636736873340 + ], + [ + 563417882231976420, + 14311614997167876152 + ], + [ + 7973165840204026941, + 2139575366552089830 + ], + [ + 17403434366979641320, + 4413325760164794747 + ], + [ + 15830997235862468924, + 17426317312768816968 + ], + [ + 10306315549821512851, + 3785767662063278367 + ], + [ + 16435335948765919085, + 3663515024605948742 + ], + [ + 10122499529484398457, + 12989880547087416481 + ], + [ + 15358912607874550150, + 11922399696883244915 + ], + [ + 4484976785381662629, + 1243963509515209716 + ], + [ + 4382864703661780510, + 7662877663022348021 + ], + [ + 7840920678687908033, + 13441321671605805091 + ], + [ + 16399983872099238027, + 12527705432376695203 + ], + [ + 8097768994962801557, + 3798845234375642798 + ], + [ + 14847247748616991583, + 2269832473605036076 + ], + [ + 2907229755488784936, + 8491454295958141886 + ], + [ + 6493293086520416962, + 537677368853595886 + ], + [ + 869242128212352909, + 12398089334818876166 + ] + ], + "public_inputs_hash": { + "elements": [ + 9642813743118785945, + 16907385572225274251, + 2824447178184485264, + 6234668813039230199 + ] + } + }, + "constraints": [ + [ + 8379191970551974902, + 17257493415051119643 + ], + [ + 1035069689284199116, + 13442886094846550752 + ], + [ + 13108842240431782999, + 366322724653741089 + ], + [ + 1829259549956234943, + 10775022225849551518 + ], + [ + 9311094521761396581, + 822605635647739432 + ], + [ + 17117064602975791228, + 6890933936818293503 + ], + [ + 5656973897901721591, + 2887252726422536378 + ], + [ + 3317564693218049273, + 14031769835130538493 + ], + [ + 14668427919165545626, + 16653472211805395036 + ], + [ + 14954617938066702825, + 13049299459604872335 + ], + [ + 11365138608307184315, + 6455449395535937202 + ], + [ + 1185635877363080863, + 2839316470283370604 + ], + [ + 16185894971919201437, + 8700006617758248473 + ], + [ + 12746826070087209472, + 13910110315644953529 + ], + [ + 4917141423557640341, + 12166222143560685360 + ], + [ + 9890437718153048833, + 13950446908053808809 + ], + [ + 10139234983264631321, + 498627985027960388 + ], + [ + 13645285992020387978, + 11789374536705560545 + ], + [ + 2233364974562772119, + 3457943463895271512 + ], + [ + 14395618220676508611, + 16239081655617697923 + ], + [ + 17211801153945729412, + 14738968169375448713 + ], + [ + 18088974204091307408, + 5518678512381810956 + ], + [ + 8807993761378237888, + 1973216196787388287 + ], + [ + 10510028277496605974, + 5034319593150520500 + ], + [ + 13267555412292540809, + 9441080835475205534 + ], + [ + 17712858714347381481, + 2695920777433620924 + ], + [ + 9312521819858330418, + 14853095047483848113 + ], + [ + 3136199756260687448, + 2742918403618078613 + ], + [ + 6140415314697610936, + 8964255312527848904 + ], + [ + 10539143072736897269, + 2252515548781231092 + ], + [ + 14476999117034773368, + 17630500400366886851 + ], + [ + 16979283097186499257, + 9433026708847812864 + ], + [ + 4473631109998021072, + 13855370831877925380 + ], + [ + 9011790876413371538, + 15384274685293668867 + ], + [ + 3877411322125922484, + 12200085540150708309 + ], + [ + 16006546095371222910, + 10588113963110707334 + ], + [ + 14408569373294690171, + 9284032092817726245 + ], + [ + 17305141590484210446, + 1023712673784217570 + ], + [ + 2115847233913572168, + 9491909473277956047 + ], + [ + 10294023405791696113, + 14954680832668807722 + ], + [ + 9490048995057521649, + 9043141726901575510 + ], + [ + 16175638430496841626, + 3535123560599438272 + ], + [ + 3506817163738917628, + 16992597695094042561 + ], + [ + 8728932316317955559, + 9057192452598153181 + ], + [ + 2419569156737432668, + 816664787967278176 + ], + [ + 10633197126135599216, + 3253580841701281364 + ], + [ + 15467273133293957040, + 4812656020975587342 + ], + [ + 9516544879117365414, + 15529041378158730582 + ], + [ + 8541388157670202667, + 14154430420897817488 + ], + [ + 11972712875991986773, + 9591524132503567651 + ], + [ + 11294815801656511919, + 2210170846960502906 + ], + [ + 7466900574426720087, + 3955909412357393361 + ], + [ + 2726775248207027211, + 3071542316197511212 + ], + [ + 10938991438162107957, + 4443111253573121403 + ], + [ + 3016958649470033634, + 7101891663587553304 + ], + [ + 2728789218247275931, + 15738250957122728929 + ], + [ + 3042993332115422454, + 4208178456930634179 + ], + [ + 3483333381881157276, + 4508025465417739211 + ], + [ + 17264748236447307858, + 6856353825462682864 + ], + [ + 10159998634200764390, + 11483094332552122668 + ], + [ + 12480444013259082647, + 7322950064996958318 + ], + [ + 12704131178149669745, + 16825010039636688638 + ], + [ + 11974501245827033481, + 9459334644897754226 + ], + [ + 12895823268733712739, + 6025420442615129905 + ], + [ + 8260590726526170336, + 4519018432205229659 + ], + [ + 10938529181428544727, + 17464855016091982345 + ], + [ + 12229434101885146213, + 6449440324981992198 + ], + [ + 9276317892091032157, + 17999868776379550155 + ], + [ + 10830769702397117214, + 7548058918956081228 + ], + [ + 14461285230281475699, + 3524956821417541832 + ], + [ + 5396919598237041033, + 8355687449475339111 + ], + [ + 9792660688666492713, + 13871672500697470094 + ], + [ + 14223412507636656698, + 11866386795264110616 + ], + [ + 4837301264121874138, + 10483473284670857393 + ], + [ + 16435995004226721004, + 4570689585314243204 + ], + [ + 18101866249817121109, + 11999200730833095823 + ], + [ + 12843494830997905320, + 13703520292339295863 + ], + [ + 1984013661674656179, + 3789774947272313263 + ], + [ + 8156308155785424524, + 18147800062681643549 + ], + [ + 15181898167767044119, + 1825886861285567417 + ], + [ + 1079683019493270079, + 5610386031650953389 + ], + [ + 5793116755240162424, + 6280108528556262869 + ], + [ + 496792944706556245, + 13023324992157969445 + ], + [ + 12058727533523856024, + 4123803513473164833 + ], + [ + 125657207591154354, + 12154078046069376337 + ], + [ + 6460660495878364386, + 16270849970686530493 + ], + [ + 14845081048956788549, + 8325946987940072948 + ], + [ + 7470720151530387495, + 14075533300210528667 + ], + [ + 12698350027965818975, + 10882149932308149657 + ], + [ + 18427788714386130770, + 5669628360332677619 + ], + [ + 9126206072805721310, + 1998867797311523879 + ], + [ + 5022454429670489894, + 3870656107588462967 + ], + [ + 2341148727412921082, + 4685562864905582786 + ], + [ + 6690080770377142148, + 9764617229879177178 + ], + [ + 14180778999643679772, + 1395870659781124664 + ], + [ + 6335688816500881586, + 15578965441037599010 + ], + [ + 6557614129406666783, + 12439426544881323575 + ], + [ + 2393895237242124458, + 1511818226401390496 + ], + [ + 18446656628150474855, + 10054973273958754515 + ], + [ + 1627399491494051082, + 10890030421956728986 + ], + [ + 11686266365876097852, + 3574788465204227289 + ], + [ + 3460931444908683913, + 6392321150210527638 + ], + [ + 17112998020153094395, + 2876663614155041862 + ], + [ + 624359031022716708, + 17595624247594261641 + ], + [ + 4317547087462174871, + 3116553762298205800 + ], + [ + 14395411113236891528, + 12899408987180527972 + ], + [ + 6046878428603374686, + 5174397992741528230 + ], + [ + 4397423685612692853, + 16859704474116603881 + ], + [ + 9689426048988037457, + 18342802536404846047 + ], + [ + 10261116104517290955, + 14207337487688495758 + ], + [ + 5978668834225837090, + 934163396688454496 + ], + [ + 15948410944125885450, + 3167011038586852129 + ], + [ + 13614131626953577148, + 7623104976898845993 + ], + [ + 8026609209061883910, + 5576654285093187631 + ], + [ + 5125006070897941062, + 4149364828184206553 + ], + [ + 13031817686187565068, + 14302997283852255181 + ], + [ + 7417412736189864717, + 10541940573002699793 + ], + [ + 2657754147785564710, + 3055704654324103315 + ], + [ + 15541344340392990968, + 13844845369914074456 + ], + [ + 10297611452439355232, + 2187150986238601015 + ], + [ + 12104434612562403872, + 284464991466107355 + ], + [ + 5765802706907083034, + 13359672771518517632 + ], + [ + 2683161507309404262, + 1889384141929345779 + ], + [ + 12188183691620592275, + 7218818011173402473 + ], + [ + 16545796682898604949, + 15862187450797245906 + ], + [ + 15326151206675304285, + 1058154756725549181 + ], + [ + 278050667040901086, + 11323452292061548065 + ], + [ + 14119234500929630590, + 7137627061600029292 + ], + [ + 10675021242443920488, + 3945448136281663760 + ], + [ + 4124048903509140021, + 7124249645101842251 + ], + [ + 11989672247301714407, + 12135559818321878472 + ], + [ + 8371108110654089475, + 12268589578286666968 + ], + [ + 9234253759907881662, + 17391036269694332582 + ], + [ + 14074371628882086746, + 16123229720596491161 + ] + ] +} \ No newline at end of file diff --git a/testdata/uninterleave_to_u32_constraints.json b/testdata/uninterleave_to_u32_constraints.json new file mode 100644 index 0000000..44b8026 --- /dev/null +++ b/testdata/uninterleave_to_u32_constraints.json @@ -0,0 +1,1102 @@ +{ + "vars": { + "local_constants": [ + [ + 0, + 0 + ], + [ + 560510247962254469, + 1722784589592745720 + ] + ], + "local_wires": [ + [ + 6648982783866037838, + 2710656683670844964 + ], + [ + 7599359950274188623, + 10327673181451874143 + ], + [ + 16750624603601294686, + 16230398916546083214 + ], + [ + 17749510412327005229, + 6942091375923865214 + ], + [ + 10353192257016555318, + 7922536551279868933 + ], + [ + 15070288773440015471, + 13448587729367151688 + ], + [ + 17656470761924838172, + 17254361314182930005 + ], + [ + 1530161896329102789, + 8007249522098633912 + ], + [ + 2913706634118961274, + 5600005500497616413 + ], + [ + 18125925260067998968, + 10975642480556345190 + ], + [ + 9525712697184292689, + 3219167557627688307 + ], + [ + 3183004528855722546, + 9272146561937896442 + ], + [ + 11965427016777709091, + 6989648692180511452 + ], + [ + 2514018450473083595, + 15038975579654882247 + ], + [ + 12148906707722065073, + 2349764368406187582 + ], + [ + 16984887535415310071, + 6480431680517875822 + ], + [ + 679710153215871770, + 598018990282126918 + ], + [ + 7702502622829164439, + 15460316479163763964 + ], + [ + 16644626910439885957, + 17629670704454574738 + ], + [ + 7833881568852385807, + 12432063805098184868 + ], + [ + 9946876497116227456, + 329157859023308382 + ], + [ + 15362521450153302122, + 10856277463191235512 + ], + [ + 8613949062804249949, + 875514873629698712 + ], + [ + 16424478756619827087, + 3599886742077320965 + ], + [ + 10026913021780473231, + 4967484417711253947 + ], + [ + 9316512329298361078, + 16255739735823410568 + ], + [ + 11724779611668268709, + 2098653191186156440 + ], + [ + 5263624639850367620, + 4966697179644187030 + ], + [ + 9904764893746821808, + 9813384033975989740 + ], + [ + 7742817164840237622, + 4161999760002830735 + ], + [ + 15515592430745612029, + 164738383012599133 + ], + [ + 2306869413958826874, + 8722133036205379873 + ], + [ + 1024877176016168671, + 16437845206930305703 + ], + [ + 10168860965752831836, + 10625290322327865880 + ], + [ + 14892046094401505248, + 6835938996873886872 + ], + [ + 5242037164468704201, + 18435717666868575685 + ], + [ + 2184725591433767525, + 13684757744847184766 + ], + [ + 13220936219834477371, + 8837115204956413898 + ], + [ + 1479175988608956090, + 649625460330244881 + ], + [ + 11512315252479674581, + 14039968977125255502 + ], + [ + 4386485770821150680, + 9769163303482479642 + ], + [ + 7787412294859656406, + 1532373355598487283 + ], + [ + 3181746437109952070, + 16729577396015768373 + ], + [ + 9423931984200436342, + 6756152226762143080 + ], + [ + 3647915512304802955, + 5032709371053443112 + ], + [ + 5285831160171169855, + 7884384465275826803 + ], + [ + 8966891942016460242, + 5788583062039534189 + ], + [ + 4588774827904011539, + 12867323526165604710 + ], + [ + 15272200069348330169, + 8084587233518659625 + ], + [ + 12511279327422539492, + 7393061138154932296 + ], + [ + 29299206144820892, + 9114671143990044344 + ], + [ + 15806106984635326577, + 5616012884473829286 + ], + [ + 15620372920198317597, + 3936030763020566823 + ], + [ + 304014531703164808, + 225255572498126501 + ], + [ + 16656144859963772936, + 5814540107248620489 + ], + [ + 11171948661515496160, + 15660457039720011119 + ], + [ + 18187436415839618415, + 9050468764568896989 + ], + [ + 11414915105049061679, + 4187741358590716465 + ], + [ + 17981481092302218333, + 7654687980380846324 + ], + [ + 8661189336377683995, + 709786269175396548 + ], + [ + 13256986009427195020, + 14673376986081476824 + ], + [ + 3114003012223563538, + 10576710894617349566 + ], + [ + 12984693790636871206, + 7791385735985740394 + ], + [ + 18125929990108075644, + 10297291092167106697 + ], + [ + 16164348820359665629, + 6312142283376051204 + ], + [ + 1516430512471383441, + 4872117661019604530 + ], + [ + 13725023173251042352, + 10705951150403643019 + ], + [ + 12490247342275646190, + 17206806339351751944 + ], + [ + 365634827524434164, + 1979409209787407979 + ], + [ + 11090064423675892287, + 7037798851595964192 + ], + [ + 1134062138339066425, + 7078501916969363219 + ], + [ + 10286374814448683258, + 16622595859936491635 + ], + [ + 13121723694392802352, + 6425214015377970274 + ], + [ + 12099381533819942397, + 14345459368235536274 + ], + [ + 1870772354806380885, + 2280636475314337305 + ], + [ + 3550901698245212809, + 12559570348779101443 + ], + [ + 7872599147926140476, + 9357926129238870240 + ], + [ + 8697687111331809348, + 17227765099839647173 + ], + [ + 4725644424608711931, + 12740472408530197927 + ], + [ + 3553886751592410995, + 10737162702927286591 + ], + [ + 2298772129394072650, + 12154865352819898550 + ], + [ + 9157045562397976434, + 12248496509646750026 + ], + [ + 4597013385963184650, + 709821656745541588 + ], + [ + 9118605336714291120, + 17356339949681638099 + ], + [ + 6561494797172805251, + 9350984445317054038 + ], + [ + 5769248435270057408, + 4211964415312302209 + ], + [ + 6934220794951583847, + 15608855835293779823 + ], + [ + 737098250356288912, + 8474899438122932583 + ], + [ + 18022552085416615225, + 3976581092959420087 + ], + [ + 4291470744694678238, + 9817155560203838189 + ], + [ + 10177882812111641903, + 15203336586192421824 + ], + [ + 6501054300549603848, + 4946726586704224306 + ], + [ + 14471310486078440808, + 16591681704780709604 + ], + [ + 14630207156434773945, + 2861673199014101611 + ], + [ + 4743872176004952557, + 1733843490473666167 + ], + [ + 7879898330872243628, + 1417204967328425949 + ], + [ + 13021547322394922953, + 1673552764140246318 + ], + [ + 8281026106453962270, + 11449340346436733106 + ], + [ + 17330039947655498799, + 6269979955215193959 + ], + [ + 11321555660964645733, + 2563272376251658434 + ], + [ + 6322905623291951355, + 10449603436196357684 + ], + [ + 6288614204303225101, + 10951280006797796026 + ], + [ + 14048121206796895875, + 1423993981715811356 + ], + [ + 8752867901249896327, + 4583810712775979719 + ], + [ + 10279347974240714482, + 1320258070675489627 + ], + [ + 5057203094270999106, + 16043123451788342302 + ], + [ + 6296772699160762164, + 9694492105297749050 + ], + [ + 10980033724268248910, + 15350217028931042093 + ], + [ + 3535932444425698752, + 7334387078523309084 + ], + [ + 2707084436892715925, + 10438717912327570857 + ], + [ + 13677930931797429553, + 1334536526327165420 + ], + [ + 5935110041805701656, + 10362384477587023102 + ], + [ + 11911827732713709458, + 6154479116135886163 + ], + [ + 9003454716214148814, + 4764676175824040921 + ], + [ + 8771871653493970790, + 6083065196619340356 + ], + [ + 9453132414859192628, + 12490003142591836363 + ], + [ + 9488641333368996518, + 3209831754016732035 + ], + [ + 18245753060832305378, + 8566445872115903764 + ], + [ + 10267077812337266804, + 17119344575600891683 + ], + [ + 9401885777907362819, + 16603164212909012571 + ], + [ + 16555718350676328421, + 1346835807591919700 + ], + [ + 13333270926509253068, + 14716873273750033378 + ], + [ + 11123183726265579050, + 1668399101221842425 + ], + [ + 14540739587831214455, + 14494475933465408392 + ], + [ + 18375772206763592194, + 8658561133984338717 + ], + [ + 2865079194965867200, + 7886950223541408401 + ], + [ + 8913014154770891223, + 17430376162730171754 + ], + [ + 5721265732440450448, + 17839605572634307125 + ], + [ + 12986254562405287207, + 11426775193592976034 + ], + [ + 5280191588754619509, + 545855757149427282 + ], + [ + 12161119383136354675, + 12726260963816394592 + ], + [ + 4565035353360794173, + 6994951584829094371 + ], + [ + 7561980183176222039, + 5234775523969563549 + ], + [ + 13722904484915490979, + 3382995425912511172 + ], + [ + 8916932927331650193, + 4516706541391708753 + ] + ], + "public_inputs_hash": { + "elements": [ + 5590467103838124966, + 17905406212257306322, + 2659961545038483817, + 377421210153078249 + ] + } + }, + "constraints": [ + [ + 5542367182399282255, + 10336662230523771959 + ], + [ + 14213751386261671752, + 2066055134102962194 + ], + [ + 317032013234471080, + 12079543431137989647 + ], + [ + 7176017026914797834, + 5348036522843281915 + ], + [ + 15044862972630527560, + 6200094799130415474 + ], + [ + 14426584306810350775, + 3631826357777514137 + ], + [ + 5935444551850935779, + 4503318930505284746 + ], + [ + 11903538669500051095, + 3298045345706248962 + ], + [ + 13019061633114315841, + 14061502398330753613 + ], + [ + 13290364183874840660, + 8380268921796162392 + ], + [ + 10075949919824047897, + 13199880470567462124 + ], + [ + 10872501555812280347, + 14554298200208549730 + ], + [ + 11133672579404702765, + 14025445127297007660 + ], + [ + 6512242996739504944, + 6431937319505651237 + ], + [ + 6622670898982467926, + 320349999829048674 + ], + [ + 8343077440830516885, + 12503761488511557029 + ], + [ + 9554203197278689187, + 1331219684134561685 + ], + [ + 12426373339695354030, + 2262802311803864264 + ], + [ + 6780457805124619290, + 3418603852154450274 + ], + [ + 9139594739951245217, + 9952907538082768898 + ], + [ + 4008018777863292592, + 12234331866455903946 + ], + [ + 4073092236116405014, + 16624039797505632390 + ], + [ + 11067111904146741281, + 1565034000031383141 + ], + [ + 4248355501679890300, + 2663228930886952091 + ], + [ + 12925563328092975118, + 12131634184580723571 + ], + [ + 9981246744512022445, + 3839985876475884140 + ], + [ + 2947306379365377193, + 6342344930004357170 + ], + [ + 15481496377817137125, + 3875750047941672729 + ], + [ + 3203395899498560072, + 54388969652913737 + ], + [ + 16684873924798313037, + 14265423989642177581 + ], + [ + 3464943556937779441, + 9464537783842917101 + ], + [ + 3787901379922794434, + 2039165660039604027 + ], + [ + 4983410628186871370, + 8876086995466952107 + ], + [ + 1261943483570588319, + 2727871274572696105 + ], + [ + 2211276010954200627, + 12559545039428703058 + ], + [ + 10197600882966379116, + 11172828303416154358 + ], + [ + 11848220579333094950, + 11727930894670545356 + ], + [ + 4827028276030812455, + 15698174738068206018 + ], + [ + 5706374965810788400, + 17581299190190455726 + ], + [ + 16802834984920958453, + 11062759757119454457 + ], + [ + 10028732015873501681, + 13850679482424376574 + ], + [ + 8361923463762963033, + 17061388653694397490 + ], + [ + 15552204415136985568, + 1608185813883811053 + ], + [ + 15812936764390544374, + 510032730461783599 + ], + [ + 8236920953103316886, + 14480890789409910558 + ], + [ + 13477149247663470279, + 17631660164849500655 + ], + [ + 7416914400772544244, + 11126319816076056055 + ], + [ + 6288571796410543213, + 7759836785495536818 + ], + [ + 3254804542379791867, + 17268571629052968128 + ], + [ + 4607212350397888708, + 8758826008192295997 + ], + [ + 18037580997879281891, + 5206542373559853054 + ], + [ + 15477624287079643649, + 7345912702822531975 + ], + [ + 11015810759792247155, + 3862849793402645366 + ], + [ + 2711849993694457669, + 6430829577867349392 + ], + [ + 15273022442917665774, + 7461441017509924224 + ], + [ + 5508901381989043224, + 11817107215336371455 + ], + [ + 16790209388845583680, + 986210790544368630 + ], + [ + 6379286132788707697, + 2176076758011904891 + ], + [ + 12929246030359306524, + 14118620255532914237 + ], + [ + 4284117178585280223, + 10533642291115229381 + ], + [ + 11541458801983071570, + 13945940388177127021 + ], + [ + 74225788801146491, + 5881072108479353122 + ], + [ + 8207144452856283720, + 11787630867974583253 + ], + [ + 9539955245560607846, + 9411249339519558895 + ], + [ + 10108553949602603930, + 1480732919255072153 + ], + [ + 12669550995831727853, + 9583589411345602658 + ], + [ + 17280058727626507034, + 1816384270712982750 + ], + [ + 13900137106908238617, + 682294391741797888 + ], + [ + 12948702190725360042, + 7021113438539494225 + ], + [ + 4108245214501098587, + 14259560202473289597 + ], + [ + 8769732544504667928, + 7136150726535156074 + ], + [ + 12841490429551541774, + 15247735459362113869 + ], + [ + 8728019791634616208, + 15532498641320295362 + ], + [ + 17822551886733190462, + 5279959357567320785 + ], + [ + 10628207962665122942, + 22032561909794887 + ], + [ + 17058808384663979274, + 17395419125788237787 + ], + [ + 1127540554675254943, + 13184457841979268733 + ], + [ + 5209998067589992433, + 9583919735581770533 + ], + [ + 11688169527771271321, + 13834733512184762354 + ], + [ + 8884799902060141849, + 15476315694743991308 + ], + [ + 6415574840500730921, + 9101348441157980334 + ], + [ + 16026500658073621831, + 13461849558366861635 + ], + [ + 10709083158341668762, + 140526484595839444 + ], + [ + 9641218518354208321, + 3582495688962458490 + ], + [ + 4612223232480884666, + 294542012251610382 + ], + [ + 12704504990312240302, + 4800183851642228908 + ], + [ + 16092532754699762232, + 4566296860635559398 + ], + [ + 14290711510841168600, + 13723612638917282566 + ], + [ + 16639002205123541070, + 1271927587461653125 + ], + [ + 16473598980716258099, + 17734019039715330653 + ], + [ + 9372080772868710824, + 99173988414881576 + ], + [ + 16730689749157049014, + 15227447529467868886 + ], + [ + 3953078239407378775, + 6171221950791925318 + ], + [ + 14347618076900877101, + 10057074904045168198 + ], + [ + 5303521604340921866, + 15943390167442609890 + ], + [ + 1572221029772572601, + 3436784124487062211 + ], + [ + 11052912264421126750, + 3770200164666673009 + ], + [ + 4003747417374185069, + 18106220269661006656 + ], + [ + 5978333965507401479, + 577795135419682006 + ], + [ + 918064390384605436, + 2445924300802593093 + ], + [ + 6202272985896038114, + 11108849606390913898 + ], + [ + 13678872372962815527, + 17932351882405311187 + ], + [ + 11334365176829938152, + 3631245267098432626 + ], + [ + 8155004850348604931, + 15794035214572545938 + ], + [ + 5679841687040939476, + 10791369244277366301 + ], + [ + 5646558975209228620, + 685512836142386581 + ], + [ + 13428935772224501222, + 4862293601339103724 + ], + [ + 966929403534152433, + 18119257262537324503 + ], + [ + 3510294810713794719, + 1554928599665089232 + ], + [ + 7197098257023065282, + 16892970959675715692 + ], + [ + 828838753584725810, + 13850581615212845724 + ], + [ + 8911825220157152352, + 5843649163918300184 + ], + [ + 14951526108087570147, + 9253295685830434344 + ], + [ + 18253903939310065888, + 12572303863782350848 + ], + [ + 2213337136815302342, + 4833156565460818802 + ], + [ + 9704655607221815104, + 15468923154223513272 + ], + [ + 9763779692032076913, + 2379827277979589342 + ], + [ + 9596332792140432082, + 1675468019948455418 + ], + [ + 16653634118308660682, + 146831673754631572 + ], + [ + 17514034410618465245, + 3601062188491269714 + ], + [ + 3161582980548218198, + 13009799391969293651 + ], + [ + 11994240005214638291, + 17033074875811942609 + ], + [ + 18207612762776623022, + 10652267385747755060 + ], + [ + 8654988300515180533, + 18262913805376524047 + ], + [ + 166606057555918215, + 10850207796126531316 + ], + [ + 13740954600923364844, + 18184045616322157348 + ], + [ + 17939478504568425851, + 13510703382975166670 + ], + [ + 13842555876048582481, + 17924480329043771345 + ], + [ + 15022019631521308709, + 14890145813930930211 + ], + [ + 7651469729249115197, + 9794587323478453634 + ], + [ + 16922638615430188391, + 8273636629538058111 + ], + [ + 13312089116370707527, + 11160184310933051256 + ], + [ + 2779880288178985554, + 18072020228919830066 + ], + [ + 5290569969309122784, + 15104772965855848166 + ] + ] +} \ No newline at end of file diff --git a/data/goldilocks/common_data.json b/testdata/verify_fri/common_data.json similarity index 90% rename from data/goldilocks/common_data.json rename to testdata/verify_fri/common_data.json index 282b943..3c04158 100644 --- a/data/goldilocks/common_data.json +++ b/testdata/verify_fri/common_data.json @@ -10,12 +10,12 @@ "max_quotient_degree_factor": 8, "fri_config": { "rate_bits": 3, - "cap_height": 0, + "cap_height": 4, "proof_of_work_bits": 16, "reduction_strategy": { "ConstantArityBits": [ - 1, - 0 + 4, + 5 ] }, "num_query_rounds": 28 @@ -24,31 +24,34 @@ "fri_params": { "config": { "rate_bits": 3, - "cap_height": 0, + "cap_height": 4, "proof_of_work_bits": 16, "reduction_strategy": { "ConstantArityBits": [ - 1, - 0 + 4, + 5 ] }, "num_query_rounds": 28 }, "hiding": false, - "degree_bits": 2, + "degree_bits": 6, "reduction_arity_bits": [ - 1, - 1 + 4 ] }, "gates": [ + "NoopGate", "ConstantGate { num_consts: 2 }", "PublicInputGate", + "BaseSumGate { num_limbs: 32 } + Base: 2", "ArithmeticGate { num_ops: 20 }", "PoseidonGate(PhantomData)" ], "selectors_info": { "selector_indices": [ + 0, + 0, 0, 0, 0, @@ -57,18 +60,18 @@ "groups": [ { "start": 0, - "end": 3 + "end": 5 }, { - "start": 3, - "end": 4 + "start": 5, + "end": 6 } ] }, "quotient_degree_factor": 8, "num_gate_constraints": 123, "num_constants": 4, - "num_public_inputs": 1, + "num_public_inputs": 2, "k_is": [ 1, 7, diff --git a/testdata/verify_fri/proof_with_pis.json b/testdata/verify_fri/proof_with_pis.json new file mode 100644 index 0000000..cdefb31 --- /dev/null +++ b/testdata/verify_fri/proof_with_pis.json @@ -0,0 +1,12011 @@ +{ + "wires_cap": [ + "12127233427908641708496705082755560863698945987941943861395794216836534454046", + "8773011236160750367404880203424388901730142877936666144562822830617126238693", + "4560068780555950680705922592225561826467220375527285515007661449599122170398", + "20437198017887739193888643206101914138533135415315544472839085387382743005667", + "11095559346028362502053912745056689765786102941953093165824110507912041870941", + "18476529832669310680930131440203703548115641949060817345829802069962382071905", + "17745625661469794181447719046637454166707217606632867329199070291834717306366", + "14185678924566946654890205491273640139903073351778834723578880976134027593910", + "16241787522991995554456203079630233605505884519918884945892157915837573941663", + "7380355686720946928816675461145081623358756732927833311103604798609889783838", + "20203149694732086723253025214294286688412709790421284522736541088531984585615", + "17758535827658832095467227645028880669642626062502180464852225617402045265831", + "9831694682556515392998458396868379192727111563585660518375881025674341331924", + "20358896559820383267721238619360623934765883363310855955595379461803787381785", + "4916012343487475373443283678065116797920183704549800971152812051687790810857", + "4688103639410217844807357029344205577718643287005454845724818991145069799536" + ], + "plonk_zs_partial_products_cap": [ + "18831523457840581464506196131717428163698885178315605568581809016025469694540", + "6190847325039258132618597652074072625208827162816553051701715864338418491989", + "2322581298187482413878756419634973442315874365358240502962628091232178006901", + "4587433735708154924624056185711920335317460685036236266862366047709451411683", + "8270011936669510165976382405060075010840888498082831199143201067853146502583", + "10958483090396823636185563916166386221035251272721930219065631825048586749963", + "10413680519291082883278055328747841459156928923335204573694348513519985450878", + "5054526445536899663055538820972807362649813278107854183881785658161066424505", + "21548215959687374957079632030055069751633252114890679448749307910985626119592", + "2537988732191679804911234250290272226248567327240357465704855970083524602316", + "3464888752522305081902710496431047334267375267449114876861007195897596148232", + "18827912092432798887637809886243286811660413115887968680612790091228600664840", + "428254886804126635590161715810913524219539108102690370380117132812214894525", + "15499484268333724859563197489925119011470393372473127722434311237356551685678", + "9048778468729267963456266747671125114775105652481682265153508944241985527446", + "3768741712571014633860025277222005741596240417708210890098989692289850840320" + ], + "quotient_polys_cap": [ + "7305948334777786524580999106339878065645272925017223799303075680105063889135", + "5796000549791307900778101292431401099883944042201497060225288447432830254139", + "14447173438241914789219278581060315119225324601481671468877057505693912146443", + "19918627226256117920989341249676290001516571293418775130257857614596169432018", + "21625370178828722677796759228642494278905853973316360195551493435457472344635", + "17172039031305662033378096179557801116856092895580814688818231982943519935570", + "7677704269888084644768877567379307574339051575194674723747115422646935967838", + "3177742652002097695362398203469053854910683509830911256296538227580407801698", + "3249688825012144765063278922856941937898828514537284488945522939873124542245", + "10500796108164850162258319169415185447562118854458948345595653476399284384632", + "15493896052875092724108344010358669853115777287653646915138750461944258006216", + "3572263409104318757066037336336236945388937714960150334610439817319099799534", + "4345581630603419200091856672762334417215160740137430177845145061006002830512", + "12193499726614806809666186514084686376353767752205256903807428573774956838136", + "2983186838465032425144654696096256037665474796751083334505420835676052658107", + "3080684075147136288180885113726757956347727559695443489926233045990682838143" + ], + "openings": { + "constants": [ + [ + 8924085612937078008, + 9498626577741202922 + ], + [ + 10651253042740019706, + 8362655446112922508 + ], + [ + 15809221916893195041, + 17143009286962060280 + ], + [ + 7818858293065492481, + 15664477482511668668 + ] + ], + "plonk_sigmas": [ + [ + 9326923568160245422, + 438218993731369243 + ], + [ + 9889141531635038510, + 11240687599783824106 + ], + [ + 2214456726998803772, + 10505421529628833733 + ], + [ + 17154643942199412086, + 14502768599557821249 + ], + [ + 1332668702404083082, + 17815000604954308448 + ], + [ + 957151701466170182, + 11467823864933977462 + ], + [ + 13071006595244603801, + 16543699574960311322 + ], + [ + 9832609915407563319, + 14307233336333338812 + ], + [ + 8450830463480392349, + 14263699592288127570 + ], + [ + 17855121213198755643, + 3915417467388525583 + ], + [ + 5575173108085796180, + 5582698030107441009 + ], + [ + 7650101824347636489, + 4781970010690022453 + ], + [ + 2301831381033548556, + 10277269179636947344 + ], + [ + 1271765221267553256, + 2659133113670621093 + ], + [ + 6622366675751050209, + 7560537359809487192 + ], + [ + 11965442337755007886, + 16595942461736134097 + ], + [ + 6117522917008124646, + 9260259472817087664 + ], + [ + 726392973903373542, + 356117660249725772 + ], + [ + 12309254325222977382, + 12129951841840877970 + ], + [ + 6914592300454996809, + 4235091117789209147 + ], + [ + 4564244482498155530, + 5556390589253374459 + ], + [ + 11591104388101091603, + 10555859031478955609 + ], + [ + 2835635658204611940, + 15052230723733947432 + ], + [ + 18313194988736033830, + 4297791564455201076 + ], + [ + 8424057343769156343, + 2990578438845740573 + ], + [ + 16950513257915880792, + 18430073876656351433 + ], + [ + 1512653735291653491, + 3234335702037099393 + ], + [ + 11390050540262788887, + 7267611454185148037 + ], + [ + 5031682691201217476, + 6220864875682103629 + ], + [ + 13935938737617698901, + 14031685475054007128 + ], + [ + 16319780830001504975, + 18007511436950227773 + ], + [ + 9436636298542153965, + 17361955901758253492 + ], + [ + 16899520176985013942, + 12880614356332097540 + ], + [ + 11179766189043643532, + 1452700238561018586 + ], + [ + 2909369397036347171, + 15313605479125818870 + ], + [ + 4762035558602123777, + 14861267314020653153 + ], + [ + 11357736298347552863, + 9612009214522871544 + ], + [ + 7799417539665961439, + 8032999363120059011 + ], + [ + 12526664045556684233, + 3605825037824555117 + ], + [ + 15112797236071493878, + 5899790715782143539 + ], + [ + 5637117737718797625, + 1557293231769591573 + ], + [ + 18377223940792135151, + 17255069788970873043 + ], + [ + 8327540235826400203, + 6062947261316789368 + ], + [ + 1080579269169441671, + 16744807351940462932 + ], + [ + 13256285381942790332, + 12818747457043333931 + ], + [ + 12264250500287391294, + 2494866733478162572 + ], + [ + 16600279043192067760, + 2655303653504243299 + ], + [ + 11926655557787647131, + 8827124754672264273 + ], + [ + 7707682304481633407, + 8643536577518120903 + ], + [ + 7162888998767003335, + 6469935418734338355 + ], + [ + 12302792768652558400, + 11257368115656570154 + ], + [ + 6553198516705895339, + 17064344280163718965 + ], + [ + 4060911437573736244, + 544244529600926978 + ], + [ + 17593615687082779117, + 7140064206467752470 + ], + [ + 5768182402043220479, + 4460783999058909489 + ], + [ + 17603691469628867447, + 1272038503297458024 + ], + [ + 10367492963640200356, + 15459030712804771708 + ], + [ + 3936292890659282640, + 4364222233348733500 + ], + [ + 14347895244834129329, + 11230821479982776909 + ], + [ + 4972555550098060836, + 10451674963790302659 + ], + [ + 7692856059846805727, + 2283673782113217056 + ], + [ + 18430399501247593768, + 14840878493076701275 + ], + [ + 9225305249715591622, + 14509288023939665528 + ], + [ + 4062462874208011549, + 6899653656682007699 + ], + [ + 5356586208181645206, + 4417762237702608119 + ], + [ + 14394908735575051024, + 3376892583448508759 + ], + [ + 13865021269634299222, + 9347742424401734680 + ], + [ + 14092492322535207661, + 892255359203765041 + ], + [ + 3782869462164867869, + 169292810576109144 + ], + [ + 11805444705810173587, + 17977879090900943785 + ], + [ + 11989767168042316938, + 12688772580430432344 + ], + [ + 4745443100685949347, + 2482805396148082205 + ], + [ + 6871496505872267537, + 643668666117199682 + ], + [ + 7070176308974083605, + 15891170110649464840 + ], + [ + 10510222182851427378, + 10168507009989343973 + ], + [ + 11760739320506577571, + 12340527332001570030 + ], + [ + 16935650153418858187, + 12659424248164275414 + ], + [ + 15160521146497042106, + 17375436949459852416 + ], + [ + 10941727221236300621, + 10953329295105897024 + ], + [ + 7688789887778926526, + 3026713269008194590 + ] + ], + "wires": [ + [ + 10997538433522354059, + 12962191615880243083 + ], + [ + 6088328747951324179, + 17174909252253375380 + ], + [ + 8850648986271284351, + 15431236807763756095 + ], + [ + 4986810906172534370, + 3011336183617949206 + ], + [ + 737985170809625070, + 15464099025400046431 + ], + [ + 7586399871878677038, + 4740665480024809034 + ], + [ + 10469754680268032095, + 3035237059767691732 + ], + [ + 15169859204631135348, + 9925328842941121585 + ], + [ + 10877581968735401596, + 14545545595663378305 + ], + [ + 10826271388287530568, + 10348155965187291744 + ], + [ + 4364532918262489731, + 3363592772768392650 + ], + [ + 1298039048612601041, + 2071335923272810775 + ], + [ + 12920763488773695302, + 12879747779036808012 + ], + [ + 12615156266618782647, + 2702575407741520071 + ], + [ + 2609090221567737885, + 17559945588999064407 + ], + [ + 9125791717330913041, + 13439552118654041214 + ], + [ + 10789065096654302096, + 3996621344059085606 + ], + [ + 2124966655916512471, + 16997963541055791549 + ], + [ + 10743281335484043713, + 9138155185568029471 + ], + [ + 10745703018798144744, + 568168051690450051 + ], + [ + 10446601509443950290, + 7453399442695277413 + ], + [ + 1407206410656697912, + 14594989790178270034 + ], + [ + 11170252490306254075, + 16083529900747436752 + ], + [ + 13144141306491020189, + 7819101013808018477 + ], + [ + 10002952006783521200, + 7895756543440558474 + ], + [ + 13106852365113376456, + 11705510810954006546 + ], + [ + 10860062081165480753, + 7722515376865854917 + ], + [ + 8558488504102975135, + 3297449239950059915 + ], + [ + 7431641920686614746, + 12977700663539230100 + ], + [ + 14726215838006215815, + 18203917650604276513 + ], + [ + 16783338803899821378, + 5840799927940419706 + ], + [ + 6726278281835123038, + 6220300153841546363 + ], + [ + 5333504187074404105, + 8518300213816923646 + ], + [ + 8950908096769915728, + 11177873498863192945 + ], + [ + 4799604441609681995, + 15696152467517489493 + ], + [ + 11235843916962962612, + 11489482848471378561 + ], + [ + 2006352933933837213, + 14105682051509677322 + ], + [ + 12173581363844097313, + 14566833326455344677 + ], + [ + 10032552732071845302, + 18358585547220375095 + ], + [ + 5424715417302526239, + 3136434036065993479 + ], + [ + 9156527182964717474, + 11836777665502294257 + ], + [ + 4020668391584548013, + 12838129430875418968 + ], + [ + 10087330335531617615, + 10240728335867464098 + ], + [ + 503224748535998786, + 2883232138967080380 + ], + [ + 282646374039112591, + 10938008848515567685 + ], + [ + 8802506079103827707, + 15397727056184384383 + ], + [ + 4565725195920520902, + 17326884448010556758 + ], + [ + 2584219831319770307, + 6369742943190550132 + ], + [ + 13825028023165457340, + 18053520111787828207 + ], + [ + 13898187740103539352, + 5508978750263089563 + ], + [ + 6198803386562370225, + 4899198324196286738 + ], + [ + 17557070789411393068, + 4486036033162168058 + ], + [ + 3450535433115722509, + 7464244535582553899 + ], + [ + 10603288018678259557, + 1119767900537374529 + ], + [ + 14345851833926129739, + 10938192438853870089 + ], + [ + 2682471095220756094, + 6744247620658516868 + ], + [ + 6835075004996902733, + 12376203047202577688 + ], + [ + 11467627581771362901, + 9846403760281175496 + ], + [ + 10594036073645596720, + 17933151759066101070 + ], + [ + 1044905977437177373, + 4110335938640701959 + ], + [ + 11083727292820716933, + 9075398063285665428 + ], + [ + 2122589525779804061, + 18099331606439106114 + ], + [ + 7377927623286723966, + 9801074283937828594 + ], + [ + 14411377172400882465, + 16351152201205348574 + ], + [ + 2510713129815406676, + 13254297880377278554 + ], + [ + 5104797546347820750, + 16931464996744065957 + ], + [ + 7491124528572615739, + 4720778703694738172 + ], + [ + 14433973981374242410, + 7387916865184375205 + ], + [ + 17228341401413269288, + 16892235021130266871 + ], + [ + 14404550014949170660, + 420555367154255443 + ], + [ + 14583271113559200722, + 3912186206909265563 + ], + [ + 17539518164193936942, + 4278711636893057477 + ], + [ + 14619380261545248439, + 7765600634570267926 + ], + [ + 10194367477112463899, + 13076824266976926963 + ], + [ + 16479602254804343405, + 8651479853493391207 + ], + [ + 14507331471002673346, + 15586059868699194610 + ], + [ + 812559136965464121, + 8399629758115912638 + ], + [ + 14216384530338350063, + 6871061390983072610 + ], + [ + 12585067105981714350, + 14408377315405997508 + ], + [ + 9319713688725844077, + 7248088476393646067 + ], + [ + 13713052446080180033, + 6241514373242930402 + ], + [ + 6205544206435427441, + 3698076281935975192 + ], + [ + 11948556910523341579, + 3490781676709509546 + ], + [ + 64520870374334367, + 3305958033590604579 + ], + [ + 14838137660135243920, + 6844770754914534381 + ], + [ + 4255070963407412447, + 14586282092195156083 + ], + [ + 5092274715073627024, + 106192325346234986 + ], + [ + 5902014047673718262, + 11579685571285284203 + ], + [ + 9558092833715296262, + 14443979909859628094 + ], + [ + 12802766099802312431, + 6111459807071394693 + ], + [ + 13547157128140107772, + 16826778464444407675 + ], + [ + 8106894032723559773, + 4430358991755089351 + ], + [ + 13533246402374129283, + 12826853503740409574 + ], + [ + 7398588466511921905, + 2432485164175490593 + ], + [ + 4710150011827861689, + 5216218155194826730 + ], + [ + 12135818189065557559, + 15649137090050318350 + ], + [ + 5221383152335858735, + 17625565423253145083 + ], + [ + 15298213415584702834, + 8468864166041499493 + ], + [ + 10210718241992401998, + 17681591343177936026 + ], + [ + 3603918590815076262, + 2407536664979506073 + ], + [ + 4994207413685099588, + 17447868275252836618 + ], + [ + 2853807428729635740, + 16008322309012416789 + ], + [ + 17457245855918927863, + 1619759462116074860 + ], + [ + 16518964538478025273, + 9199621884882452671 + ], + [ + 17715200265501181296, + 13804135157800908685 + ], + [ + 17396738132992054064, + 6739206730888468138 + ], + [ + 9111961152773915594, + 2511088218183292139 + ], + [ + 8751836944832753514, + 4962117051825899523 + ], + [ + 1971775993928190626, + 10782990407967216327 + ], + [ + 9542457454885353640, + 15274559776063384343 + ], + [ + 16896233065500491387, + 8222927932007472562 + ], + [ + 2729528245075615992, + 14231828065746815293 + ], + [ + 14649356274564916553, + 129454818410742058 + ], + [ + 14594253103550246425, + 14863182019240794419 + ], + [ + 8435995526325602811, + 7079403113530497336 + ], + [ + 12587438110592055139, + 3208264576794922074 + ], + [ + 5230842498485573624, + 13476726271239193388 + ], + [ + 1566594824704469843, + 13471094236653697677 + ], + [ + 6852897584935309336, + 922763332659405459 + ], + [ + 10617892927814983285, + 5489353818100157009 + ], + [ + 10220839938770910575, + 15018540132322885973 + ], + [ + 2640628570562339429, + 17906970432917368175 + ], + [ + 9719897731217198061, + 12814425617191896748 + ], + [ + 7942779077431226308, + 796457088412410737 + ], + [ + 1920223258355584836, + 7262238928413275895 + ], + [ + 13774812388282699016, + 9132186820625485193 + ], + [ + 12866271331868250918, + 4383473425028815282 + ], + [ + 12559925822813897782, + 10677859861364294826 + ], + [ + 8900668811600515317, + 18097910153983931474 + ], + [ + 10114268912587528834, + 11584590569358515733 + ], + [ + 9017127005660172404, + 1207986759724900067 + ], + [ + 14496601204748568306, + 17393342895466646749 + ], + [ + 4350724290625326799, + 18437233119341713250 + ], + [ + 11839347403550211112, + 9312586223991928285 + ], + [ + 873460374158798782, + 18052776268373650834 + ] + ], + "plonk_zs": [ + [ + 163693336441519710, + 1614621385410437247 + ], + [ + 1744048229735534830, + 15739515418330381976 + ] + ], + "plonk_zs_next": [ + [ + 9034073723191840633, + 15721123450408224717 + ], + [ + 3401630069801060972, + 7063500852221555514 + ] + ], + "partial_products": [ + [ + 551251885671735874, + 15537616340792809566 + ], + [ + 6269382424279009805, + 11791817528586797695 + ], + [ + 4960674058920131513, + 17848937127569096202 + ], + [ + 6446003299809613970, + 10454720576360413503 + ], + [ + 4190748854911203796, + 4759624194217303931 + ], + [ + 1083715829913408171, + 10554596474680889785 + ], + [ + 13620600400002342913, + 366588582805656934 + ], + [ + 15230252123429250238, + 6324630287103483076 + ], + [ + 13818099541610745057, + 3532799864462478311 + ], + [ + 16661812283156849155, + 12082718117660945896 + ], + [ + 13127336795519717823, + 10862328652353783980 + ], + [ + 7367062205745550866, + 11023586911328444890 + ], + [ + 4460386959996680199, + 14756384465123021834 + ], + [ + 5951864219791076483, + 2442152168633542510 + ], + [ + 10209772605841720510, + 1383472618122089885 + ], + [ + 1106043998722460666, + 15700367230359641756 + ], + [ + 14695361080090661137, + 7846958693682899731 + ], + [ + 3932916565928649337, + 14239098531630222956 + ] + ], + "quotient_polys": [ + [ + 6501727746624955069, + 2866277191412315120 + ], + [ + 7859370159597326025, + 14369938998878970692 + ], + [ + 5077007463198679692, + 17491551570206874758 + ], + [ + 5342920424474479924, + 4211718062818678333 + ], + [ + 1533954676880337836, + 9351381721049138947 + ], + [ + 15397011042902983332, + 7472043981796461047 + ], + [ + 886826352048022741, + 15950913151527277972 + ], + [ + 2723252060223847339, + 16754001038907396561 + ], + [ + 10422666539149109904, + 9802473718885261883 + ], + [ + 11077628860963063906, + 15898946292027282302 + ], + [ + 5835381487219402981, + 5480546276505515142 + ], + [ + 15141799047519187890, + 9287403116103568076 + ], + [ + 15688220576259153205, + 4484669506880172068 + ], + [ + 14209478303295427222, + 12667094885347116453 + ], + [ + 18147921811319265321, + 13181101210923361350 + ], + [ + 828749068403441, + 7824047278910911046 + ] + ], + "lookup_zs": [], + "lookup_zs_next": [] + }, + "opening_proof": { + "commit_phase_merkle_caps": [ + [ + "8413409354230672200592312756271901534142162885986361869017654602878637392925", + "20673687982345391071552343783210283977660058291826607593797605382903509877502", + "9143446657852155254516617772040125960245200829855549424921841736442508170987", + "19703853954160091385606745339565159304066670458380532293683720083129502964530", + "85710564359370185036797794566063918923718317325372366018882360837708544258", + "199540961865921799054343461626296639249663079927482899894316221059380462165", + "14252344442871486263275315345913710893662167841068763340679617621933989983721", + "8305330330283134069797627906546506595390267447398574101248077212917272983540", + "11460934088477116839795940412977786930983369334478236517709004700448023165089", + "15119641392831105342802673534862530498029356629909743506839926871066996785734", + "1526544909893066759990654505183100528117047066627868915393422144454250504766", + "13642671558653953100165923327798676043738297133224612026883049116613366274564", + "21353916223196113330117208882802715254182704814386338843194192186598306950360", + "6015905376552365036302798399788277598232642063558608847923244114064092275306", + "6942012873158693080058798425880703733648843813304744929927193182233881249316", + "2367067184611439874311934564241259005353159512016727827737249019049989766347" + ] + ], + "query_round_proofs": [ + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 761696762320992293, + 12395112707601435892, + 269314553285419471, + 15233542215385595401, + 1780567709832132453, + 8546822144666329845, + 2913126706415969034, + 12028490502470198262, + 11334971523788855756, + 18313509757659529869, + 17852272154898669594, + 10060820529876570755, + 6319126230530796681, + 15169165111394190569, + 11518970661626317511, + 3750416842081950290, + 3893383532006780838, + 15156218979058748198, + 13485140715391446557, + 263240970637572615, + 4464045824054712793, + 8635624228050102601, + 18033907015172664217, + 12346790073977809601, + 615719225491925492, + 11819960613033322240, + 4902412513537383630, + 725248071483848154, + 11540721512298617388, + 9241801605933537229, + 1669728716753298832, + 7326677107748491580, + 13206486462082328914, + 3751599719657023852, + 6075185861705697975, + 11604637552029425667, + 17267684205415859036, + 12967458168160795304, + 13593439117859224385, + 8151217606628701757, + 9875853228906576149, + 13871850604322077938, + 5557063185598084536, + 17524759936053538297, + 7857473406948481264, + 2280685928582129294, + 5512746434256506853, + 18372128199293199217, + 13221211141598338802, + 15482497798735961262, + 9788690879615995896, + 5314736532700208506, + 15728151584526431482, + 9028005911780295270, + 1494857523825721342, + 13982263047722857095, + 2806844356307883195, + 18069126905136331117, + 10484565239127583868, + 16786115317451005196, + 6171714158904274030, + 13731247737896296163, + 12082228463835853224, + 15773829598411318532, + 5550207789250736267, + 6772630991910016475, + 11148864550157038212, + 1799291277434184319, + 7499683873687897305, + 14375474202160967170, + 2198140206486897241, + 3560244876463818805, + 2718768976007132009, + 9714392406798343425, + 1965831922469159835, + 7305444250676410182, + 16063654889775688296, + 11332529942253631118, + 16042708147733761980, + 2025521068521408711, + 15285907809117776587, + 13782875440372065130, + 16415699318894130195, + 1543029649414734963 + ], + { + "siblings": [ + "15841620568634582532673827729783020030185241255472589159244580057691111782456", + "14196630668674649449607646310856006768047851127679482868102980270605048203900", + "1954644446622498609771613250944347848612467918317023437167995193326381102725", + "18897523150409647701869891732773721475418344337602269890760415488318713847405", + "1135145790203530437219945393245613716792806740399482603922846293014660170588" + ] + } + ], + [ + [ + 7729587386273208439, + 16862341945786328662, + 16783081106245981528, + 8918324545124181078, + 7583972182229966856, + 13616143552909545013, + 5364558159297494465, + 4218182190771463221, + 3127315172285261068, + 11594232525761107893, + 9707706065177709198, + 1629574475569066459, + 7595838826108659632, + 16653975123967173371, + 10895954206518408595, + 4595661731668315176, + 13090117039526090761, + 3290209906809310129, + 15306857019578443187, + 4447772364437424794, + 2046141037474026101, + 9667231879327462675, + 10234720091956393339, + 5610223116356828889, + 5084246602161365245, + 11351249923069568962, + 16195142939536258460, + 6900808987143028321, + 12573765729754442044, + 12561076015371119485, + 2626610213195206056, + 9313015214395625307, + 11936541355532137575, + 5763868152662179524, + 12203934343579740383, + 10947899214134712815, + 9008000333614537429, + 11245498035995404389, + 5222775991299212640, + 3962876900086430399, + 9191853052129323284, + 2383794241826215641, + 6751124050063436929, + 6137713488522730672, + 11278137491476442135, + 9269400174291380728, + 2680674319137790882, + 17594907150453247842, + 90102308381794805, + 11727503516001015877, + 17055487728261012152, + 10452054339298445166, + 13148431388154607708, + 532601915722675524, + 9552590906168984145, + 15540112258640642811, + 5649473396868242801, + 12043305793750740645, + 7415690444248409293, + 1817632425056451550, + 3416381574453530665, + 5499379797569629031, + 2150052534943920346, + 134881399443129095, + 7329479289948476513, + 4105498898798294381, + 4472260353530082828, + 1453008950506958533, + 9554931056432751735, + 18238224095780090493, + 17571796276238620127, + 8840132900026890292, + 12918607143600315551, + 3489076096649088871, + 14039505524825149204, + 10818911795866667860, + 1266034020211666762, + 41586462697443215, + 14829744279388475193, + 8222722806955124849, + 17847985845589594947, + 4053413202009201309, + 1235605451524657681, + 13239086120108907883, + 12770216824848072808, + 6959336782638538974, + 3812031814797370604, + 9275638713286173032, + 5457686639723829462, + 515011937754766703, + 6480758101309265827, + 11820580324858129387, + 8274281092136376361, + 17007336816527525818, + 3762405048815190563, + 3166329573431425507, + 3760821356129399358, + 12264569955451571552, + 868754392545403520, + 8536223419394171630, + 11320627152108103124, + 2634004096908913793, + 888294534924833563, + 9158599640329319818, + 16384984341184392829, + 18333183924160643381, + 3100388002749752751, + 8366220577837189971, + 7614965564895625683, + 12670168755807777265, + 4906508527272286396, + 7745776898559338135, + 5480685053897834473, + 3880876079033492820, + 1042668119138710393, + 17009841380254167399, + 3587253105003739237, + 5948426901253980819, + 8981951063501239883, + 416587086429859542, + 7561616670017812379, + 10022855597157138032, + 5325341028458329435, + 1278164115999244689, + 17864744634012176083, + 5238077492598129398, + 9669563087923346333, + 5912882453354143768, + 13410120206792572975, + 16235014148828237430, + 7806407710456319045, + 11459000729723196916, + 2442371588102054518, + 17649248446705000993, + 3381593240342423292 + ], + { + "siblings": [ + "15664730596468100099302741225632092615269919567167183857008470554696930569592", + "15451528443386167834184629344021481501220469104693135525516086851625459376314", + "14689922084543414255359084433524797277262743437915613671625153704448144352732", + "5794462053645381247801220324532804112936759076715609149983192225003970007047", + "8532238095140842407116607647190561193278534120595704369992885225439741657596" + ] + } + ], + [ + [ + 11384865737199822319, + 2764027724297015694, + 6180663109330226842, + 11911048924956967040, + 5241097126020690997, + 4150423280624423267, + 13415445163460694595, + 3399331200103366447, + 15915762914039096258, + 16456348046384833082, + 9211991406832696147, + 3902529071591848816, + 9132406503148634968, + 3771191845258620199, + 8349355159353171145, + 10363752268288751062, + 4613343809447016028, + 2148185949325101585, + 13006484201058540538, + 18052511671458487263 + ], + { + "siblings": [ + "4133639840701941997105546191055381220117119477627575781159804947569009736938", + "10645030811320069694690142651694262507770389973922375014202958847310986618937", + "20878569412535210386964211239125439265047787617058568052903630182045030357595", + "15476563112234940587046938408383833512530978067430054157389978775516552211148", + "17737152856419426304813227711550871349853619406081111608345754436295937744237" + ] + } + ], + [ + [ + 5740522395707807796, + 11000333651339420359, + 5250340373969585157, + 9283104684552445413, + 3272425546901869674, + 7188348794682562261, + 16703127738311995545, + 12445880785487210542, + 9586520154296812261, + 15640998072064341535, + 5921242564832314599, + 3121068130889180974, + 16843870219397087269, + 7259110237541367445, + 10973223075633727989, + 4452367280318372906 + ], + { + "siblings": [ + "19812315798760272286849648933123858422875405995731767078935651627661231777918", + "14149156091934844605953535964209408385657204083994166132016734591408909143549", + "7623042739840704558149259563933209011959611222985758760729668384443699360057", + "3164683326353804615455906482117896097312772251172420390434914152754343955731", + "6678557656097908104547261863955212049493806016139706959379539944622841015590" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 15357707789228591553, + 3948752484348819214 + ], + [ + 3204327861773822618, + 1476525400210726255 + ], + [ + 761922981944888335, + 7032439582004358967 + ], + [ + 7775713788442515254, + 7830544220990383580 + ], + [ + 14785963255068996795, + 6513471441500210252 + ], + [ + 11480634617639655210, + 7578660189934314005 + ], + [ + 15143595128603646845, + 4218374434721084886 + ], + [ + 851421238360634714, + 9276055162485206981 + ], + [ + 5295921984311934954, + 5809815676935439901 + ], + [ + 9639349466567304640, + 5322122009645104253 + ], + [ + 13397341817192612303, + 8514913232459655776 + ], + [ + 13051483575128440849, + 18207028847290935762 + ], + [ + 4876282576875249593, + 11940757813922682192 + ], + [ + 6678395248455498142, + 271347714911438285 + ], + [ + 12223817584063965065, + 14009286867902378595 + ], + [ + 8031124534380681392, + 2723672734988692804 + ] + ], + "merkle_proof": { + "siblings": [ + "7595204531794240086748764941578359740574808975143525446774281093860020789607" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 17714429907332755791, + 14513253095144588771, + 6148001565829494258, + 17473508860181769070, + 14751104834784602092, + 13729002843987277823, + 4143442558228201820, + 4458538169929942737, + 14155286848150597629, + 1850606212130062495, + 2029881383018712060, + 12184901677479698819, + 7941146547920587947, + 2173738334334088056, + 3804766302477395316, + 178369626291695104, + 8930941597657881651, + 4870929073574401120, + 3296525838493821100, + 4949251878272619183, + 14336038605079146948, + 5426921865503537214, + 12989120458536349306, + 11450118848007951780, + 17651001336832063483, + 1721737122617626996, + 11880743635127181216, + 6086690639361585490, + 16957620918465375835, + 17405552756287241817, + 6999136625414739350, + 4322922130815979258, + 921159431290354400, + 11917806760953618590, + 18389934453517447240, + 12265869078169810056, + 16541250267805380201, + 17561811991023927580, + 11174064786290543087, + 9348121900037368140, + 18148655620532403809, + 12050910693534592139, + 7363674954788349153, + 13599893581586369804, + 3712652941053379207, + 13457636416368220606, + 8202747947654536835, + 2607486525059651234, + 4302325941919248964, + 14575947488818487515, + 12121900253181470328, + 7128907136678528015, + 18154651745364127125, + 2751282746643769312, + 14167110421910783311, + 16374282817826098448, + 18109348662021060923, + 12521471317446232529, + 17882803076711826108, + 4641433677983185597, + 1570365902392031526, + 3285306858255154876, + 11036737657356770341, + 2248842911219688513, + 7312741482692492442, + 8824745611998975315, + 9682631634262503785, + 13022561569413497981, + 15038689931404663971, + 6907957437548539160, + 5101026401895343325, + 18385874573502812607, + 7616381458256678174, + 8423794195472658564, + 17373072928849918502, + 1426292871152789254, + 6208508484431233663, + 7680543662229089310, + 4659761222279173521, + 16388579410047452258, + 4608865118667983927, + 10146687779124313899, + 1087423912281480685, + 7141825954408762776 + ], + { + "siblings": [ + "4831217123042881063894173575282752208938185725410866851573357342406599629675", + "4300972548214730828689919506204380232212359270614541093996105875876839959716", + "7101080903095682094155261497308258824024555925371998547040086280017611063939", + "1230097361041355737708227838846405338012272775229469970948417240983672180938", + "9546300843384863712027301238287870346092721430294568688938221522988438225962" + ] + } + ], + [ + [ + 18127701103165144952, + 15042878218050600665, + 14690076711655768085, + 17059258693443531181, + 5429064835110311350, + 7973472240085054480, + 5268817987487998302, + 10973663894135357170, + 14368185907348993968, + 11334027998588348519, + 6440950413714398094, + 2061175915138008637, + 3206299010307860136, + 8107146652091710754, + 1218512623933219449, + 2102031999388493033, + 4918093171242372426, + 6442933275476757497, + 9638942173235445574, + 5319269000212657202, + 15356314735794615795, + 17372297180675231475, + 6489601271004529101, + 8101828826784708192, + 17019400476114367481, + 10239330035792385899, + 18381854561581843298, + 12892040624400347597, + 6009580183366997255, + 2634678384569844093, + 3262670658442802416, + 16864020101055254080, + 5020480203852164661, + 4763740915626087903, + 263641864667426865, + 12392306854167052503, + 11959789491013965576, + 11543308113067280110, + 1097718924631348039, + 13826102880341264379, + 14617437368038324944, + 15821992025489050374, + 12399356583008728849, + 10536774485664088475, + 4184105578487855232, + 8046532898496691969, + 9928520754054456594, + 5709531241143568629, + 6317107244213950613, + 8777756818511870992, + 1024657297164665480, + 15021944696318762784, + 9775283665485322821, + 9796609199958352206, + 5750823426648574093, + 284350606762288223, + 1840641283894405430, + 15973411963394391885, + 4547486878824178223, + 813378452093578218, + 1917925790913145335, + 5435617101955928063, + 6082296790965625323, + 4696118749684551138, + 16799895340191410274, + 7296319825764817404, + 3038465824094633024, + 1470862270840989556, + 7325015953338528118, + 13921436839855081354, + 11947381594501263848, + 6190176116949564439, + 8692579523503379973, + 10241970919782450920, + 1586234907457527392, + 4047067424027373902, + 11663725373721164963, + 15609918253869957966, + 1192777677094079506, + 2242075915159429643, + 2275114269519797239, + 13162529239542181856, + 6476625914346668332, + 4666395353508386552, + 3166494964583543206, + 11351772552266373819, + 7114395214026384765, + 9529986966958273207, + 6591653738117110137, + 14617852414403366953, + 18248640550720301679, + 2741427618300057401, + 5640835595110441793, + 14265275278210375736, + 9235343936103211984, + 6328491604192728667, + 5807801482418557560, + 15310215166418217765, + 884517702083612547, + 18178259777341235898, + 18377440364474063900, + 7091951025254846118, + 7831241311708711605, + 13475098190519261248, + 279384921828614315, + 16303973847756574941, + 9094798776878320646, + 3386270668595690433, + 16558857269680260344, + 11979489423824199457, + 16444936735315053492, + 20586595282936849, + 5361276770076011191, + 13266444158303025328, + 4513601578478632591, + 6828152767772661428, + 8653251870567805351, + 9108611552524225769, + 6941788470343248379, + 15283416969365419223, + 9571336776895375331, + 10641289168906794166, + 8272891925238546643, + 13330740787746997072, + 9393240754212822123, + 18419615999891706853, + 15367784776679259574, + 1163649565385028303, + 17853527679247712877, + 4787679760746045088, + 185994051742850967, + 3301176264492585443, + 13087555607385487406, + 13482871849439540007, + 6957365151424223639 + ], + { + "siblings": [ + "21014362991127667432494090007020676883616109886760019867165201389428627531381", + "5635357029499779032732504535045299618994555615420816760991897482840005692001", + "9048319045128832750120282592107626587230272291302822865255707941416343691662", + "10979411166340705011919476884314532376776997858801604053786924963466885406692", + "16361543052866798657168303459640615517939775133955535673628609955819025954073" + ] + } + ], + [ + [ + 7615984081498533762, + 487584145035905377, + 9134397146926623724, + 5475429317507888963, + 3242505209129323503, + 14724775321346369345, + 6437845642306260163, + 1287722456344096414, + 17578812509812067645, + 14073741325674094892, + 129270752524025560, + 2971945411027270731, + 11083618448987802983, + 8414293333355926817, + 14823582847937599730, + 8945564298190779854, + 2116005341191741308, + 5428761034236352319, + 10926238622422836983, + 5474311646699101546 + ], + { + "siblings": [ + "140120409010430730546928947541007527217808527651845094166621491144393932968", + "2410572131504820112111688417643622239509091921650058811741126650778683411675", + "9238882539968364413596966419181871469285460581536826319595363766474148328479", + "5923692584129930501738985619315926407145358520126912440575376146817528223023", + "19450932740374592093391346950982033858712259263659192004880251081669340977621" + ] + } + ], + [ + [ + 13189150755050265906, + 10205245744752064974, + 6798999996951022082, + 8896961835904020235, + 13960216425453377492, + 18007076170674893932, + 8255125929249874191, + 14747284004027858434, + 744890209833910775, + 13549148973380234561, + 6312185409969687420, + 86621511218978577, + 13598203480866366019, + 4923841810565458453, + 11375333084789543866, + 7135796216414671840 + ], + { + "siblings": [ + "3175367929480322486675938213141425896139091522245596780500055130165817446825", + "6794055796155413056110135282134207477626252382630547077200415555503167316432", + "7900128763015864482051477718894110026950310526991627322627042510808573454923", + "12569734437762826824816859098972573603835867527268587471867006800618043785290", + "19288342623363507285199919736756997919814119070462391994411806285983554574946" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 7395031713644479408, + 9064932414279781080 + ], + [ + 2421619733538266807, + 8003937088787680796 + ], + [ + 3658284482171788517, + 10249415232397937982 + ], + [ + 12188723996933100595, + 17065271350216263188 + ], + [ + 3531471348433981642, + 17521364280409805892 + ], + [ + 10286310899545087535, + 15873534769860394745 + ], + [ + 6738806587338614860, + 2707874288626648713 + ], + [ + 14037947704296988380, + 11198634794953188980 + ], + [ + 8084917536174739587, + 11759936514120667217 + ], + [ + 2987396295573972531, + 732770127118274756 + ], + [ + 12544469343809295820, + 7833881243173246736 + ], + [ + 3764087938022905997, + 12835756690026802966 + ], + [ + 3508093919235724963, + 5828197251125256034 + ], + [ + 3274854166175406705, + 9166100722132560136 + ], + [ + 7170040895415051139, + 16217416332816669046 + ], + [ + 12051798640355668058, + 16804803961951294573 + ] + ], + "merkle_proof": { + "siblings": [ + "7158784624418557796217682426374612162033285108339917557709662690626516228847" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 7891880157667735058, + 14743729190435043090, + 12582334945981319399, + 14358748603088658996, + 17529469001517096701, + 13574069925240957251, + 2597774616498749813, + 4313538370309607057, + 11215353068491346604, + 16498431731482514806, + 11799419582568662509, + 13422937627353602475, + 14263120171844671865, + 11689805186680593716, + 14654271195971751374, + 14231022888531850563, + 16346338128019733054, + 10491959356188204848, + 17867439525394225692, + 17196465139437077878, + 5693303754985686244, + 18407887105817414800, + 11388107320792348475, + 7319950105739332836, + 584960284425689983, + 14388713673356890761, + 4770966350014724753, + 13899849797453865644, + 10378203573917261694, + 15534866613414411677, + 18108883348311852933, + 3379342115748374555, + 4136264099538303657, + 8201524118092203539, + 453147686583647536, + 15679773438844789636, + 6821793646420715759, + 5449964743702304599, + 18096439461291843318, + 15778125060587901196, + 16864555485402244632, + 2180170387520575379, + 7468863090369730563, + 12112695963409160583, + 1194488085776776837, + 14989470545591075344, + 2505044506747121751, + 10514354748009669887, + 8720563190780615882, + 6759093235988110815, + 973294070684835505, + 9819863012066047559, + 1017702278705528347, + 9919213895405933590, + 12589310968052423059, + 2552171258741426921, + 8532954009248430775, + 16046604350551016627, + 11168848592778646861, + 3444161192524042749, + 11736659155293694465, + 14148303169869992103, + 13286338402140094848, + 5289680152492864541, + 11540437864090152298, + 4097373964403126711, + 6078007520551439039, + 9162126378133750093, + 1581719419750017356, + 9986178154906137442, + 1921497937068934728, + 9746503156949462661, + 16125792589801885951, + 7132576813466740971, + 1830529548866201678, + 10882599817966930033, + 16758950482530262893, + 13763755013204613861, + 4776358307079160480, + 7603437055170656588, + 10399041447631838781, + 12712291054261176427, + 17572762578630982145, + 12350216115824949969 + ], + { + "siblings": [ + "12410399270536157649491647649932554097904000677481493370252239540561033940090", + "18039033507229958780257000915170232625226812648292977019462654478936905054073", + "10248216396533462483389895031982573672939987936911030591641483327032940874389", + "16843879729046824366842194688474380277477453415066664370885451543182876434345", + "12669080728105965561449868796445415212311667748079045806777373584135226749990" + ] + } + ], + [ + [ + 318875569030742926, + 797146258450518292, + 16094225232507544489, + 13936489661810514631, + 7104101729913627190, + 13793189892239251716, + 1793049183292156425, + 16142522786621776554, + 13926573624196024496, + 11205923696687846496, + 587581654378857432, + 16591396985605527042, + 11884719307243500581, + 11889005973387977571, + 8918642064548656416, + 11822598745603919388, + 6638814360444333332, + 15704672927255882371, + 5584564509760389182, + 11557463516033751751, + 13235222232505056212, + 13684464009884414183, + 5795759939998736947, + 5119214004242933751, + 930368237746519044, + 3693453661316542373, + 11009768639984992085, + 429889714572668847, + 2937798422966931436, + 8966472476474001616, + 4407730667463183307, + 2018705413239729082, + 15515329040489955986, + 3392967731708638716, + 9342695317416455982, + 4306896703846921878, + 9771902907911284937, + 633777757663051086, + 6211802995934589464, + 16505845351207139612, + 7938003371790726637, + 3495257844996907135, + 5066218768484176861, + 17255853513416527025, + 11039710346404901755, + 6507036222659988800, + 10931140720756047424, + 7303284171027257598, + 15038568996165818553, + 9312982784483044297, + 8121036397144803340, + 11617396208862389081, + 11429782397779676541, + 11453247023702833622, + 15658177933677341534, + 5969044026143520925, + 17211092086889773636, + 7643244544105681990, + 445533052603759683, + 9406718945161034902, + 3124031639098954381, + 5569294551409490860, + 9136450203539043047, + 1275277386930251045, + 6543601720753293052, + 11614261785888190615, + 16698123082950019954, + 6432177716516967663, + 1760811418721044959, + 15194404962636016925, + 10578387560818236636, + 3825432300586100997, + 6733162156032659477, + 11682892342243522539, + 4476554760511702132, + 17382572174911157932, + 3162056053661400652, + 16334947268602598309, + 129099522769645882, + 2291417516568833315, + 16087864248880804889, + 14663762102309782240, + 16170272007598873209, + 5651351079443489030, + 17907321613083794665, + 7211798591877711678, + 7218750921273722057, + 16400558136262020930, + 17526956696728934533, + 16506484855851664921, + 12534708805512947180, + 4228871421942182591, + 6277557244072482930, + 8784591328365003849, + 11096695165839367516, + 12808655110176614264, + 12729403110616841150, + 10469324078498335830, + 6097320655769115913, + 7239113274366070004, + 6845758381093034645, + 14193294226519651628, + 7989602639764539855, + 1336339226364699732, + 15587183533940277742, + 16127456455475804944, + 3299870883588162123, + 4208000001694240530, + 18253226919616493855, + 9349824237834820367, + 15480514862718077719, + 6856059214063941561, + 15347674512428610406, + 5410357878270322641, + 330978321711311221, + 9812631407688851253, + 1396854819004454284, + 9423472374926604325, + 14420583908196619369, + 3200310939787465412, + 8659135188988734917, + 8030239469156587229, + 18236850702733369276, + 16198925221010097196, + 89486519388573415, + 10931549809563843615, + 5480411512867537225, + 8100706334896420822, + 15199557376741925964, + 16567755902764343603, + 12342716469482977214, + 17964684683564728368, + 7577560581141521839, + 3421327066220048987, + 47588389248541543 + ], + { + "siblings": [ + "2444407815307053475194594424842372676404622478680992712166500870068055749046", + "10089330016248739506926784481818396606802116887498600867678734197854061780600", + "6757386642140763092612771455979144170989463155626934204908508490510385843180", + "14384512274267672124744445715709603171811900799612230187278757805864119891118", + "11071378707540929757513348700510337424503492941710483687681585952612507905804" + ] + } + ], + [ + [ + 4405913435080128751, + 4862936201134313827, + 4745431836526320743, + 3074855623945078698, + 10230327358823498667, + 3073148443337981475, + 15539148358699022178, + 5557448125737163679, + 5281838511224660194, + 4576595314360806113, + 4719454765275577930, + 3518737914704039281, + 5729742712830850968, + 13280240930815217447, + 9206763355417971262, + 4969631861422468511, + 6621579924015585309, + 15814997463712863772, + 790182110922306493, + 3790852460301941264 + ], + { + "siblings": [ + "19365034454096514477580965347214312318692958815785313049040018838564155240612", + "18671934938440348722578960623643712863050000658166485782253393475079043411871", + "2738453136546797841838085004425558453538299091209504611331605671039545415895", + "7921711860375832964646967422739675933044620268767964798269400797368323238996", + "2795750985317399742104089184619547160712171696356603500463133215240008423330" + ] + } + ], + [ + [ + 5252028278641482802, + 14850001205678031180, + 1215926544129998582, + 2723512719758018277, + 1353194243312200705, + 8160449432573400551, + 17323198706568538468, + 10816351192405182107, + 3087959258669365858, + 17978970408866221112, + 14198995074922925342, + 4045564321619283343, + 14240746854946313045, + 11239008748872071111, + 7649664316651711611, + 12861287294243579145 + ], + { + "siblings": [ + "2647495794973926680106246186898462667207020708767447450340920556196134201648", + "6797920931820978410662628956787899003322680206686254663175901192875453267101", + "9219867624393220227026338509672345323643044764533990270204983979943565267137", + "297694807978508330254729567085267729308964712929277137446585260385267085521", + "14334291784154530318076502474044986399651187151182664699006349073388778116277" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 13187004852200580799, + 7723938070315474572 + ], + [ + 13848820720318636761, + 8670624387724064924 + ], + [ + 3535768655246098320, + 17978741304291625071 + ], + [ + 16475173735204830288, + 9438171253200094656 + ], + [ + 14218288785556210076, + 8120777065941812325 + ], + [ + 13931800110207344580, + 13118553545380130454 + ], + [ + 1578876310678659345, + 4569086263271842241 + ], + [ + 8749939002087380844, + 8398452420080699297 + ], + [ + 6602489169933916631, + 3492899084869294988 + ], + [ + 11682872982539904274, + 7570722145902334947 + ], + [ + 3892779006597079136, + 17962542749238856941 + ], + [ + 13984875223773914457, + 3614486791490059362 + ], + [ + 15498870136712453311, + 10118889715930486601 + ], + [ + 3902048234846063089, + 12962157042530934225 + ], + [ + 10760377177762733426, + 610712393483620787 + ], + [ + 1394339084707120436, + 13082986982966949221 + ] + ], + "merkle_proof": { + "siblings": [ + "15319795358522459434648942498573016926885920708738974693442168735796754709906" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 11159014841889103368, + 1034730127097958915, + 3879250090003687866, + 5717981703973351143, + 469151644644463879, + 11408547649245083947, + 3686733258013814852, + 15702427820215403671, + 14349682305818683395, + 9850089863176640411, + 4823755826426259490, + 17620572094704062543, + 13516038673629904088, + 9524265100631164508, + 15729207726504666223, + 248497436884064399, + 10822612674049669425, + 17600012414829505773, + 16940186122286526903, + 18327648678041210855, + 11417913617794616063, + 7771247050725099259, + 2895809743001314634, + 4363604629795026980, + 2548909174800866257, + 7299031003320089687, + 16863422846272731538, + 17710828779790468973, + 14635447253586442010, + 10485931089876145078, + 16921765605230422464, + 3954820276299144268, + 15703868327312484097, + 18052693674281083286, + 9428777307329661222, + 13897031715149046474, + 18289720063278549094, + 1615618896847448387, + 4339341726821632155, + 15059870571292131706, + 10366986725085690714, + 14655518200100007994, + 14795830948913247111, + 3130865619822956946, + 6477377290469155285, + 10741072505953056833, + 14807774717631495586, + 9383516943183808699, + 1577623899947256682, + 17069053708486062529, + 6591275271316915419, + 6349671829117230358, + 6292449543373507677, + 4267604451703115656, + 16792258943615157922, + 8551460374023440412, + 287960789247373578, + 11811763917525488495, + 12077931949127429337, + 830208771848079939, + 8864324414604340901, + 8259293618444192511, + 832932735231285525, + 1082901710464826871, + 14147007430006781188, + 4305778457254797029, + 7623137793541438857, + 17502837108007512331, + 6509007654031897427, + 13565285216509401913, + 3983725433727049225, + 2628906199614023493, + 3735150536432802340, + 14828238758116201043, + 9511338421890510947, + 3217313533482568911, + 2978820239670438334, + 618332636524276158, + 18101137093275978670, + 11396597914493241852, + 8864939031620406746, + 14371284834964591669, + 1807417199395717392, + 17734427658315311247 + ], + { + "siblings": [ + "14573117920878000229984323340563579713666354896347598779167040146728091106074", + "14947850105416674980661689652486028086917753252389493012561649117024016230213", + "5534010547871076548860693386715537729192267742330700569338451532991068041601", + "6331930890407001279194417166340835835986388338950426143854813081836378548442", + "8930008804104993066572806043607663233520009157801461582885391287953868035897" + ] + } + ], + [ + [ + 7466724364844221715, + 441411213462302744, + 16761605613854110269, + 5421690459966334315, + 7766582265339181213, + 13889737856459167826, + 16608001156763472808, + 7991227035080876586, + 14429212109026293614, + 14456760727964011970, + 17449998796570925695, + 12282136665894799608, + 4154153665534063781, + 14731004594875213333, + 17683603765507002725, + 14116635765450840449, + 3550339004185947904, + 10326835203230458612, + 12795867722664676419, + 8741415601075110623, + 2502984464695361238, + 15505677112457180444, + 17888921159456130811, + 12408466582136021209, + 18163062115583687498, + 524035108502637606, + 7817248550977007255, + 15939728167716547043, + 3686482113182916600, + 4240739698066029844, + 18236764569165983553, + 7170992035875676751, + 9464762898814792322, + 7050955576042453035, + 7083715492459591020, + 13919877122364599524, + 3276250611048054916, + 14503360245239709320, + 4241519983947576083, + 7021381870310518937, + 9353872620530736978, + 6799564579233582296, + 16311784228661753143, + 389514557969319459, + 4997603101631832915, + 9813457096774477104, + 8494742527041916157, + 2835341220746337361, + 812615098760699750, + 433763873071973862, + 15858476587016719006, + 1329085504260757840, + 9629260911587457899, + 4947312521396856703, + 3689880731824826950, + 5757887384775520114, + 3673864130876181676, + 17455025098974499487, + 10655990603432168161, + 5288616505968762809, + 14860209558292761346, + 3158740054377154115, + 11046644330613316272, + 8493928139331980538, + 1144704461707884177, + 15064054853559439980, + 6156589489756562438, + 10208275755348497026, + 9128092950538804326, + 12471632498503576388, + 16260926008524665363, + 7194265775458809915, + 11606524482005757478, + 4602604871792480715, + 16139017330168025979, + 17545422269356576139, + 11820942349991096467, + 12040890062041294931, + 16397130952866631819, + 5958463443215059999, + 6393754859764004962, + 9877293631246066256, + 2945652227061528149, + 1594705126204383925, + 11092881301217457960, + 14220509250592800835, + 316050712161960891, + 13059044149388145484, + 7009856926016752836, + 15575302372844939262, + 11269313239446721171, + 15639642408611622566, + 12938917984431111998, + 9525253519154608386, + 3211379174986411298, + 5050582648506525228, + 5070294781096016370, + 18237346872988815544, + 5518605452153719124, + 46833734569309586, + 17612622793467877246, + 5580407913205974725, + 8319092353513395140, + 5952030129850619821, + 14122936207582326628, + 5040057385826596566, + 13819915727154641649, + 4996662654751777570, + 2558477922173461053, + 2044340977981078034, + 9744316574415888022, + 7465269226961763627, + 13918479760415301324, + 18133995056203700911, + 12366497203087901737, + 4371263983638433929, + 11707511456974748607, + 14800637278259543666, + 16485047545009409438, + 6317310509769340370, + 8609449667643532726, + 3180839662361448268, + 12927621536588390909, + 18282987786352349261, + 4168640305890065088, + 3249480845946736146, + 6641820053629727890, + 17094681238648183710, + 7696959807824858159, + 17311975111318924214, + 16020871017179316920, + 2522577281414427860, + 7432733505703619827, + 7044881163116787519, + 15785232812026361636 + ], + { + "siblings": [ + "10272247764933133793901769823315226061079490260053345746010873600794511504174", + "14052890339630247480720081814191165667477738758331637544358771580694799441399", + "16334845379132669484423886396846191695175941093639505570303769616943409679737", + "3965325129527903957603447752219736540690026576439244825110434656380535759500", + "7283702501646065632011846831234739978944313975355498142841202912192506550818" + ] + } + ], + [ + [ + 11141300903287335930, + 16700348779878837728, + 5127078523454396487, + 3799592143933245198, + 13094899046264596818, + 8326593022457922350, + 12989621108183821279, + 12928086064993965616, + 8231693144358908171, + 10261478183905961976, + 6805864761148296252, + 9000868557453592674, + 2589990795647952809, + 14263439713390590845, + 13449515707658759116, + 4326059805337259451, + 6235783520903711107, + 12043034360614643090, + 18257392682291409667, + 1275675259353693716 + ], + { + "siblings": [ + "16096012191534979619808579611655969966925490817269640416597005430387543586678", + "15265231756960153962315362865362207903985377540743899622016809752391451006182", + "7767711519673663304305547165307616710698253005935437054594525865791165944178", + "10685647027979672001923190507168637008328315845190335205087972200891816169593", + "9871309029392449179989432881637216233186104427257248965389469460474847424017" + ] + } + ], + [ + [ + 2591321073222382419, + 6532954073051144358, + 9161310987178613482, + 15392769055436289004, + 15233049089262283336, + 4650862795967542075, + 3825321567674616146, + 5688972898440584235, + 6667719633737495833, + 1044659355514113889, + 10401213471909829906, + 5866532712410150967, + 2840636938880917437, + 8368039741973740348, + 5189150856910142663, + 12049379691364104016 + ], + { + "siblings": [ + "21693914219489350703861784821596750664566482051611532688138198817225072579729", + "4747159664992851460345644256160358470416946970424148722599530472737877668236", + "19866894235955027859966441716728165938698503442263052924587136924536031395013", + "9689138224580745318074281106655505392095421895986702107866079275001053857346", + "14793407566169202588694068884535260122165490626666798773827306840049001083687" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 700785640491201213, + 6455805001829192490 + ], + [ + 7371506388449587721, + 18394831551797281544 + ], + [ + 8609666258386415211, + 12942979679055151383 + ], + [ + 3380323447737923448, + 15603874464809186264 + ], + [ + 8473778129223173355, + 10729888526068274787 + ], + [ + 560264630504869996, + 17288996243954069924 + ], + [ + 6636476731749096597, + 18030725556562760250 + ], + [ + 11084172722055282386, + 429940764840754938 + ], + [ + 13573208566155794866, + 8324434484024887616 + ], + [ + 1826775308537616042, + 5264847960452538135 + ], + [ + 6627946695115419044, + 7658375454985167132 + ], + [ + 7532486482255637152, + 10395158614286211623 + ], + [ + 6367456916679122427, + 7608074896517112824 + ], + [ + 3411654291249854420, + 17252993870511590812 + ], + [ + 1011530485635228942, + 8085720386869024753 + ], + [ + 6279009353073351949, + 4529934838762853465 + ] + ], + "merkle_proof": { + "siblings": [ + "16340853027488306524651851617673824125371056390309739916347351231601282346073" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 7223122309685877669, + 17673963057654983909, + 6647626999888248893, + 1693039185462834170, + 14404130938306968499, + 13055027176632289924, + 6309725086340556561, + 5132856038543712866, + 16525966453557373757, + 1068303430743782979, + 12014006872039301469, + 4294225964961896115, + 18345705749898100407, + 9170688005190031076, + 13369519271367533346, + 7120649712116560024, + 4632981461520830222, + 6158330034526725573, + 15890324645440209694, + 10894248392185339136, + 1192182358425910776, + 15227366526034010722, + 6637238105191703357, + 12448798875378925595, + 3184511821351203421, + 7249076790382638888, + 16468558660493491134, + 5840707333173753575, + 2076386248576128227, + 11718098559209227440, + 9636803089418012831, + 4012814195098249615, + 6361564330418415268, + 9341817069956860567, + 5747154646760068697, + 5566478196484310053, + 211867859339240680, + 10112459288622868169, + 753742948815869389, + 9671443502669388849, + 10632640399323096013, + 6509234197083637477, + 1955901304273139531, + 15131810585655550631, + 17122550774383411270, + 6480699808710809078, + 10646037928503596397, + 9838143481660536982, + 11898622638876592082, + 4256202889239312342, + 12396530197935664612, + 9550090616281362902, + 13033136488921059974, + 10479301903620019273, + 9470821277806223639, + 464691409224016699, + 6882768172329989158, + 18051572574131861847, + 13053194493975073767, + 8919429381989035039, + 15690439638251001063, + 5514999444539307426, + 18148550168187937509, + 17326825634755316279, + 4494181696072368781, + 3721539190393991089, + 3459461861989792907, + 4300472517626742024, + 17631715731640199717, + 4459780937469385444, + 5133099400929825257, + 13704580019054964185, + 16918576431063088143, + 15704040591449309438, + 2146623263568115629, + 14151949984765163842, + 1771570131559956501, + 1226563681990136013, + 7400860460376599670, + 1245872980456935332, + 12676793402676481080, + 15444594056007527092, + 11564821565445599324, + 8856635242734961697 + ], + { + "siblings": [ + "13518897383191317922741383532332831881926244781681610918709595256016144682545", + "4883314198860738141670151643050227380434344552883952378215039369959559104728", + "19091480065563482249722603527486133754508768572080567154631490224224881961655", + "5363066580165303595056780286998212853482819839789707725125596126571676141582", + "16743908243277741268633009477346844094434715174010209780440403206666182729514" + ] + } + ], + [ + [ + 4289619977403408575, + 13703590395667538172, + 6426801093463791043, + 15547960388713877007, + 6737772331203528151, + 13567029710667757023, + 15220040186585936999, + 12373564620322211964, + 725040423311365843, + 13473244841336393963, + 17878427120929302297, + 13846343699604159402, + 2763158202529824339, + 8670437906746375659, + 4998622827428843696, + 1986572736205004519, + 685768368672091991, + 11018563977086533511, + 11976157225302570393, + 2744914611953048399, + 4174962470593761379, + 15019070716279566103, + 7419821825877686146, + 2551555192072934410, + 2003152193713963671, + 7619383416513307820, + 11008941870000004195, + 14113734333472486136, + 13943464138465330145, + 1072305672664615503, + 10730545945476366242, + 17601170822817075807, + 18244174898701188597, + 11756220094284268817, + 16900389486205135873, + 6240899292620110713, + 236517014485904720, + 6073173279299660451, + 13231483501605645737, + 5754902052487038697, + 17245915398408295226, + 9226693423434226237, + 5389960616194609368, + 16628420630957979321, + 17556274091470549557, + 15849803961227209336, + 15845094022168020412, + 4896097325624584666, + 16703543179787976893, + 625734055102269070, + 5957226640926777355, + 10093691022690544859, + 15201304764439750329, + 5572330507442074052, + 6339922804660961436, + 30692929114349809, + 12596225150308672224, + 1769030638191955089, + 15920038671474188889, + 15900998360935356789, + 3783920743512200100, + 9647613904831746152, + 15755228182217088418, + 18400623087615131689, + 9856004291484076410, + 11547773260800547553, + 12629514635792585530, + 6594520522217828405, + 7443042958415846207, + 7001995719296935095, + 14597409301162962200, + 9518966344661751732, + 9436330336660525051, + 15359062737969334452, + 14863814833232305617, + 17752562954194514991, + 16958661958915150347, + 4874456706411746838, + 6533605912623274899, + 7667366667633989036, + 11286591551949787517, + 815597031781136153, + 15514157942068517107, + 10695041889471871146, + 2379471077785033507, + 16068233807987108296, + 6963616874750745757, + 10009285807373830841, + 9577934142990859577, + 897229203003873100, + 1178843322191183046, + 15840192057708871804, + 14187075999860040684, + 12822942387684003214, + 4865044089943001238, + 3484966708239777169, + 15157851136670886278, + 16152725116575190691, + 14008316902692464884, + 2942469442857976318, + 1659113159896052357, + 14720853540086660826, + 16000926280890947887, + 13615257964521146975, + 3121310007854101812, + 12414902424790369881, + 9578936255183545859, + 821765419707039036, + 1040866182595027981, + 13074698726481266683, + 15361923990678627059, + 781567766349646368, + 3583450195488623973, + 14141401683488935890, + 9833004946418219972, + 12836296313272682856, + 18262192779055528605, + 1360706826691904976, + 18409458332511288559, + 3717826944540685889, + 9483722457974542954, + 16845383070076456971, + 9330323128664933670, + 9863937342896470393, + 7496834930104906512, + 17163452945460590690, + 13331745086322823331, + 11605655659141430922, + 7966784846716440224, + 8704142804161401263, + 15797789289694348287, + 4241856152454743294, + 11314597814779627194, + 15037295657222687633, + 5412574339640849966 + ], + { + "siblings": [ + "2031049262931910284250010249416173235250713722545720899331905656176686655257", + "14876592878865187594699055303124510088063644279553056936503785863732994881812", + "5576187957818669896302319784064756560095053519803143300624412876231915691102", + "13246156713593990005256760998550944475693196620601504988883904643135510064133", + "10522078871171427782304015403464769770185679736408012515664073082369138597767" + ] + } + ], + [ + [ + 10477109475937522084, + 11770086955345548708, + 6073987790511513374, + 18214148140192761329, + 6326294346791477998, + 12746600785873220645, + 1090663444391976195, + 4344033907811527133, + 11737899820263801683, + 16179969072611980547, + 5499946024515253957, + 6229950593485848874, + 14788655895739181212, + 778776568504778664, + 485896881010282073, + 6846827926434314821, + 8678593028899691407, + 14206419262113835298, + 11039687642338717957, + 11592150525039582997 + ], + { + "siblings": [ + "19820351750871002825903070140090278754153085012143683580810155905440730894802", + "16447834573940487019013229646063395325838544649533109316904213645232271872537", + "661320762641718616356388040573558394206738216017000004773439430845721783341", + "12183808800220228136132730968512987762729667643807186147909250150430011864208", + "15717650507785076971069345182196185014254303249184076468761738759680871986344" + ] + } + ], + [ + [ + 14415066920427563143, + 10003101978763271889, + 12423920549499779390, + 2745612515907048613, + 15228862387344729338, + 3207399113185811264, + 13262978676158031272, + 1805836468460133869, + 15315439051740679851, + 18008868898283930058, + 3514616267886895303, + 13067067771033116055, + 9839620599358379910, + 15524332999875221258, + 4512902706419572795, + 16119369088736065129 + ], + { + "siblings": [ + "7255340918933606974319156608171753549866285172825920209561552067769280611815", + "3655615078016022648379401972307954444682791732837542211688841441222825374581", + "13460812642303139549584907938554458383870608787961567555134343706089398016586", + "14297124197310824317476521974284898803791465982464333559515654591039495444107", + "10805692406905949745720894686472669428821566439717454766374659709234506082526" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 7666675935082382862, + 11871075424561098164 + ], + [ + 1715231995495295691, + 15375028550772054249 + ], + [ + 11535356511400136350, + 9957797059710030480 + ], + [ + 16433172478637083234, + 9551389219384057921 + ], + [ + 8246881116622731297, + 15580554624124810371 + ], + [ + 17191744996776146400, + 13549690663603598257 + ], + [ + 2446179628968574836, + 11126556446977758442 + ], + [ + 14576258132347903133, + 13693083371608378799 + ], + [ + 2381044414477096171, + 1243463888579501488 + ], + [ + 13770020775104230886, + 2148710693037441177 + ], + [ + 3828158694272339592, + 9164574345680475728 + ], + [ + 8144126090985198051, + 3624277730977810465 + ], + [ + 4677131048205017836, + 6856895278447554540 + ], + [ + 7932912623397975720, + 2981083479840154218 + ], + [ + 9551106087303553030, + 15695825905210726415 + ], + [ + 2142401393808821270, + 5236185690897524606 + ] + ], + "merkle_proof": { + "siblings": [ + "13316252927645787500400840986992937456606467006040722451755733678567956525921" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 4112227635703953664, + 1828222178010057651, + 1962269294470218860, + 3676149286192193882, + 15768243314672267903, + 8931669820626751936, + 10331303816117460208, + 13685380108708103166, + 13575904101254849298, + 17849415665591978611, + 9285625979781049754, + 9646374454763151350, + 348976457322669291, + 1265374923895132012, + 11121141601482599586, + 6706775217598150957, + 6039859113529365073, + 762495770665843770, + 15948579131268914627, + 12349093112000214251, + 3377047522417025178, + 4970159986255663481, + 195888348621099728, + 9494674230301743362, + 10170454850274935459, + 6422012277794252055, + 9159323303895838903, + 14983901227474175727, + 1093455250457652605, + 15498210659252850769, + 3016321911724695471, + 5195911807056494577, + 15003182357596888926, + 4549761205913379447, + 11065234840476772039, + 5385257818384478381, + 14596417092861716734, + 13880831781671213062, + 4317392027728243399, + 17283173350923568081, + 15630452142686252755, + 7432643398140983513, + 17434835633930596918, + 10171803454086824552, + 8038157400428355841, + 12222380091457160233, + 5378063565671375769, + 17457689426970692669, + 4321621820827174475, + 94867652593930358, + 9772586764196669, + 4909788446697520957, + 9143824795049526073, + 16148473884951863820, + 5017236751421617948, + 932600164828436638, + 2697890310556759283, + 16734535483374323903, + 661562835581131535, + 7116963353911664997, + 2827467282259941812, + 15810512618513121032, + 1992378260642563929, + 6144004464002576551, + 347127161553260484, + 7191655500003631139, + 5993489824418654390, + 12806206607933426472, + 3348831765722127639, + 13683387697534622596, + 1908694285813420010, + 15426446003459480486, + 16211399303484281604, + 3592724945536245575, + 7982451023204532402, + 16281506991141914639, + 939741200987213894, + 2282717285490456839, + 18144562661743772004, + 13532292099456345103, + 5234857017956467925, + 1660609727717813062, + 13252974009748864643, + 10170323098847782382 + ], + { + "siblings": [ + "16246300622423725943151879340409221505532123152144210665175526864651907358978", + "15762108857440478798770671424936289383972803092472515683766738103861577430489", + "6167970753571933329426539069277892047877905963672461624690177638357540138633", + "1370604212213130372177778056618063095464874475516260639563024487122945811489", + "16064696173021264654113868079121166333931962691693541899749608446895379752160" + ] + } + ], + [ + [ + 10208846225571014599, + 107945181486857389, + 9838830830655430668, + 11635594321299271411, + 3317014058603951203, + 10871158686857434930, + 2154834488770940494, + 16731398227497304962, + 14956221657125322615, + 1798894192262939758, + 4083552712419303064, + 14164132803815040353, + 15700088024175575967, + 15601561180243519372, + 16905846681496470033, + 1485873022755985070, + 9266173578161740213, + 12348313897140437757, + 7264060949511673497, + 1533281601214388470, + 6566461691905494287, + 15851969650759305582, + 4512107008732486333, + 10898061340083690888, + 1906910715018782918, + 15996849203060875107, + 6827308215507201877, + 10186004621635192415, + 8142177339096621216, + 2417234314513347523, + 1563712291147361838, + 14052803536061393019, + 15353475112321069731, + 4942785946679667161, + 6550388831152790505, + 6851768360832271794, + 12122908259863386975, + 6168660279407408363, + 2742486081087842473, + 15170791952215179803, + 13748469764299164066, + 1989148179604706993, + 2130507500811990240, + 11854133684733198165, + 123145525935554334, + 17649766507510774070, + 7993838170610258435, + 5414250572095275658, + 14485707022054113925, + 6227536246287825378, + 18382410033090658902, + 5289794234384131603, + 6332116377379039556, + 12184759236701206728, + 4700193947490927799, + 16155327772416723461, + 10116559199750511311, + 5208024070619323365, + 15467951418705427652, + 13008540323318061559, + 18341886097181259669, + 1204053522090788427, + 16321370150040862818, + 4143442059132001028, + 12367189350262850462, + 12810115956007694202, + 4427022822668354759, + 6304779153690239238, + 15123498207986326976, + 17968594398242613561, + 5347257397908723096, + 4938100933752140291, + 5770174883279903928, + 7692759346199187470, + 12432106073152579657, + 8274285241976253662, + 9970240484101264217, + 16057413022586552917, + 13817185434939955526, + 11983968016178511548, + 8265745336822683585, + 4073782790736006043, + 9230966203721090748, + 10435596386019298564, + 7892444712649931549, + 179640060616061220, + 16580888898846273309, + 1483606494163901976, + 10172572571561389673, + 12991616958817183334, + 12815997214400776273, + 7998815926255834356, + 10664608298363636398, + 11746062388217251267, + 2411925311193971914, + 5220620946887103248, + 46847177877339963, + 12784343015925393228, + 1332099463229536463, + 16304129412647720031, + 13697682377402866258, + 9891298742907517284, + 12526780756776372145, + 3714037844887889487, + 2255207361926794992, + 936260612107015275, + 1900444752119507993, + 8128145539657386598, + 15583046258108772333, + 7227573610485540524, + 8311883734182029640, + 14882671700468554992, + 9483349826989939622, + 3073858191213098445, + 10720504265125775937, + 11009319839520277009, + 7169920943162345939, + 5656361659757804736, + 5185085980910352920, + 13303131153416805680, + 7935615282154150640, + 1805103932336844042, + 10588276912897970562, + 5643466535277430927, + 11683616453149680759, + 2333052046879726429, + 2732002218290066932, + 12831146876997223741, + 7393341049663674909, + 10926387295964551758, + 5904940747445148846, + 11291719853260575392, + 16242912361071749362, + 15135379378677989311, + 14097407529439092469 + ], + { + "siblings": [ + "15366088448278510319706745965911372276533350135702096499878124386333451384206", + "4622809593713459857844620709986447843060473273878728262301998454340080862352", + "17619624184968564238427444440231367661248388406499055098530199429130302121347", + "17619785043052711798469912489925142994741277191559664185506179950951296769700", + "6800930822156850038974434215030619967228525955022440562388711041845908754142" + ] + } + ], + [ + [ + 3693751200563609678, + 354515604364667978, + 11814774597043384170, + 17680401470399675746, + 2866750029584186057, + 7747215560469587032, + 15133710085484229843, + 16083030080372635502, + 15668124486667337591, + 9249162541822631335, + 12736536492618824866, + 15874606145069388817, + 4376065066754816739, + 7128802387114151383, + 17837336803954975625, + 12373789670684115282, + 9764137747694729773, + 7149053258921747215, + 15560791605746303908, + 2851583170846039127 + ], + { + "siblings": [ + "2471849590256209257777261549795386235946938747300833166633172445763728177758", + "5814387612917523869720024289084560804153720569836171968676294743690964493392", + "9880682974298145144699158793462787231201500384738877275023612232696526283948", + "11169531223382051380932986308994229322599727961163552786593287811709664237841", + "13992775177504153501555865449994559853804708451562607701088731704325483703654" + ] + } + ], + [ + [ + 6897387276228479822, + 14959352877568347467, + 2503250904202142863, + 14833978384551078192, + 16986829939874919767, + 10631585888740496141, + 15509042951690016426, + 9173388057708401517, + 4841301257950767256, + 16424692042346082139, + 3041089562024993500, + 4669813248990491303, + 9402348020026823219, + 8673497844692591962, + 4006556287333760717, + 7491472156236029012 + ], + { + "siblings": [ + "16322393036238328517891547719807080392810567877279778129998134688725300862961", + "14462657809765674277627059360635098411833981662813888363536473807682202443948", + "8193075403435759754266940583804463324863875230843385413019475547512013542473", + "9859815673476774785105337908374844582094218064341060207295420395322754124527", + "21152935936096491834528706083913112278016591169879260424662310773620871207078" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 11351374231198931303, + 13448169393845736219 + ], + [ + 8090172273770400817, + 14391353797641110982 + ], + [ + 2215967328409563015, + 4413926362201209112 + ], + [ + 6329779843822357799, + 16373954340563369525 + ], + [ + 4739396073892123624, + 6153881941522215647 + ], + [ + 1759110328565921164, + 13632031362686187291 + ], + [ + 12042649846582760213, + 16555386069955203979 + ], + [ + 11216078868019548973, + 10939170481430752344 + ], + [ + 17493257524516873305, + 16793955871735512325 + ], + [ + 2251252715200858480, + 12232707506299623545 + ], + [ + 671338885452323392, + 859359580264056708 + ], + [ + 11241128051249912482, + 18260970411690400405 + ], + [ + 9568078020073932900, + 2120355939839617658 + ], + [ + 17141669840005451181, + 4198960567270386155 + ], + [ + 10953449330290360670, + 14302057525445224914 + ], + [ + 16408432909626206569, + 9960260172026118514 + ] + ], + "merkle_proof": { + "siblings": [ + "9010650667629533311230894435392584115686327356845689883385271605104465445014" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 15406201677951945255, + 1122158915097947696, + 10255218897167983580, + 7011985341727883801, + 2727929783669200442, + 10771572871288291734, + 1798292402186269720, + 5610152829470240578, + 2104215581735654704, + 2637888471236773398, + 2855860524472658808, + 10941411921915899145, + 16260480797125424671, + 3926894773922023943, + 13179069506043014917, + 4617332408357586244, + 6545205611338836889, + 8643294235595005967, + 4188648369201670132, + 20506903610032750, + 9932035234396467641, + 13144011847041019914, + 14513062542495995913, + 15863532592842374306, + 13623260102275863309, + 15918088179593821161, + 18410361478150989065, + 14261996142838670162, + 2577370222235864758, + 7890743474032963497, + 4879118723180711949, + 5895746122178559186, + 12345549584230933578, + 2464607628446375615, + 1081570278628345714, + 7033738109734431379, + 16193576258649101252, + 8191633105726975441, + 14306069268616254374, + 9234377958025087264, + 13486842759962941705, + 15209372596143083834, + 1034856697670746272, + 17201849851318751343, + 7873624848427550350, + 16559454840209524188, + 12827225805907500058, + 17828265666482264145, + 15107333994014045646, + 12907710956121918124, + 10553308130966407509, + 9219624182080587425, + 6410079158650820960, + 49842250690480349, + 11113215144120156376, + 224777877989222225, + 6015506028857801246, + 347413803924989271, + 8837636659006530610, + 4736107039099616916, + 17876113005375852624, + 17811089521196344968, + 5409938447908025460, + 8198654118796273580, + 13420620449099019578, + 13497204553771384546, + 2754388559301767476, + 2292617164491395073, + 14894553088881782312, + 3789716136307858049, + 9352554033122522958, + 7444079258293442615, + 12031959879694917014, + 17629103166410041276, + 5794701049628503501, + 16786039969238095887, + 1134458444256703928, + 15000594870865276633, + 4232191819440327867, + 10201963419206035395, + 8909907715618730110, + 16569168344651669584, + 8883265692363112803, + 12366291512065865797 + ], + { + "siblings": [ + "2870250313290276386173165355253936316836166000558564199593999920051739390731", + "4395193145060550616056879575223943315848762267027115463133354953780905289611", + "21184446372671218572241424301072221853716925311229136464571288922514231096219", + "12973900645905099030124838169363158428346980216243569818034843547981087524100", + "5508133008144923913386792857334712600561193430660753776159452942360003477924" + ] + } + ], + [ + [ + 7483972341868259530, + 6626348768748265976, + 14986889166263805739, + 15029334076010325930, + 12827451459902706612, + 5634374820625410319, + 6765092017557012097, + 13974035128161886408, + 8237098035910915100, + 14256711245039210793, + 18416542584906290700, + 4109391704462842132, + 4054245607147993596, + 13257398689957831921, + 10984892841157697449, + 13925677885367117972, + 1237711824828992081, + 11447389513841000946, + 12379075506083780955, + 14808219325155906273, + 4010565509333095324, + 6145654607806223198, + 13132652347628729362, + 2575922926553291266, + 4428313305659185822, + 17650449804832693267, + 16069440610216424994, + 10676466257108112532, + 12565964254412373449, + 5717688331506941910, + 676912767455392485, + 8252160566287393659, + 18344987086005907084, + 15360108256567285465, + 13056921181893359694, + 4540082701732843421, + 11756063805368411374, + 14931157356679164723, + 5185863907878341012, + 1071155472297616173, + 5931908890246929137, + 3946175119131949590, + 4732228971982565270, + 6963582497153365192, + 16734967092485557903, + 8494232236443485518, + 15708376170805510857, + 13398022019590453770, + 11677102394555346205, + 9291981317794469568, + 11088340148817323250, + 17469464023831041736, + 17219947537884445266, + 12299936000010509364, + 4468047943227939562, + 12794010470433615413, + 4486832669332481034, + 1179211204641982069, + 15378625000887807345, + 4095846102047786880, + 5961956090542304925, + 13691375211601112283, + 4554820891466951011, + 4604057883290694444, + 5596656019969748313, + 8167035459583705310, + 1131373717864296561, + 9111224411692412213, + 4541268523425252833, + 17375192533542231290, + 1229377865631939376, + 11563146613095618817, + 17185962881343300027, + 10860881729189631167, + 2915472451503128703, + 4245618159958878688, + 14346117876014122582, + 4475876952692301766, + 14844501441323844610, + 17293115143343734211, + 858904654956659053, + 10022523053702656795, + 16499513591377299451, + 7169002425853111644, + 7168756985022647402, + 11457858967265952865, + 13142884982691967720, + 235978260651438222, + 11376391747505963133, + 12157500850237389577, + 13108102375317242443, + 9991561435920847275, + 561328677460367019, + 9931704698466873319, + 12840327262169947474, + 9814272456044380085, + 1105975379030765816, + 2972932203442713315, + 15144630764668972060, + 4775901719040959758, + 8397961075323378727, + 3204465169490179394, + 180715031015911967, + 11459485125791924198, + 10736652469904306105, + 15817518721267703953, + 10879776233801461256, + 3245066252320039325, + 16623817143774596623, + 12545517309074563937, + 3744795063140145386, + 3532828161634604092, + 15807124834175143480, + 14243108602865548833, + 10563238700813644092, + 11875048362606620840, + 9757961954134217598, + 13150688240040679011, + 785746092417979338, + 13033607431768809410, + 16482704613304629218, + 8699707968676220642, + 11251731610640981392, + 4262752892612777483, + 7378682911455036704, + 9981285044857626943, + 15475937690554049755, + 81321320390322605, + 12912260365509615195, + 17800422931405559867, + 6494420868905936018, + 1725556427279379820, + 17820526617766987408, + 16111586539432374367, + 3013224965237116526 + ], + { + "siblings": [ + "5373073145351479795263149700048202072288290937528965014120091516161021480710", + "12536693496829867264746935971647278572743269785389166599121983980189925053450", + "16222063573395981530156486150325510951741086959099580653567107607856409047216", + "5066253835964399788036212556203392060567991667608572097755048888360076818874", + "16564874374550839419366266365113633695886836003782584561409574914597211801200" + ] + } + ], + [ + [ + 12662739292716255246, + 13187457184842099282, + 5802774758444624050, + 12479202244706314699, + 18397467090278500459, + 15548942314430717971, + 17113325613931564147, + 1569839328556865148, + 11418724207942114035, + 15168445063645410981, + 10397664970383658198, + 9698167369377830541, + 2411613984997076128, + 5485300135815745285, + 5187534573236148033, + 14832527068218226394, + 1303524554427159226, + 10200697615357564007, + 10804584350686420891, + 3367173653924322762 + ], + { + "siblings": [ + "14122990281622931890859264116894351775197472562790829501379376670633642410783", + "5182501226421956447110458649660864123669582167671797955054781943541037350296", + "408740194019657111726113502325655235754938599658997168049307367371174360255", + "10483865171531036393261162892646584228301713977729485508178370440163804974794", + "3638792157764150491654987327007151263862218376996784899576416265089020618079" + ] + } + ], + [ + [ + 1365591102846128846, + 4125072175889915184, + 15322862286780529338, + 8813821106129315851, + 979443467251470646, + 819922503071148827, + 14374865704519088143, + 9658533772326236538, + 10641889470348589710, + 6965900222877324771, + 2009779692651742961, + 8240732335915375599, + 1689133292224916131, + 3891896137084854141, + 6011855652046773231, + 14918480425459955317 + ], + { + "siblings": [ + "12507105139951822929302402937574541446871472967360197554056924611594791704914", + "1032542158155826672283837626572079094806915237429411309244413771487943729219", + "19225574830405374199676277794738732250686234206055785069916548887969803540269", + "15077323796470948541169547107535370098712704136349087746072951131047271640476", + "13672069054226836861884341506375470763795426026665958623938801821014623860651" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 17981820969038052644, + 11502363407655144767 + ], + [ + 5232357929360791906, + 16667703728384608129 + ], + [ + 9490483022306643598, + 16830608954592385530 + ], + [ + 5285494193201677520, + 14244793651887823879 + ], + [ + 13592859572091087816, + 3932426396857672918 + ], + [ + 1262711054158319183, + 12200071698977565519 + ], + [ + 5277453168227185753, + 11471648703599474463 + ], + [ + 478622793296015934, + 17075815554546124808 + ], + [ + 2740854970280032451, + 6930881406888922186 + ], + [ + 2118489208561642318, + 2934015631494703703 + ], + [ + 14379887647993105982, + 5145924411667945237 + ], + [ + 15168338215019536285, + 15340521302280531983 + ], + [ + 13742252546785220037, + 108188510475407931 + ], + [ + 748102385536775065, + 11708365096117863651 + ], + [ + 18109976513977254842, + 4330104791873198163 + ], + [ + 7032655512432077677, + 1255419085995228763 + ] + ], + "merkle_proof": { + "siblings": [ + "231492881052918559696406006814239611341823088827653325566148188741144946691" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 10421141331390121713, + 6371967318437287499, + 16868890931577695435, + 13845295975826310284, + 16969910973548243359, + 2485161858941229372, + 815070310901967754, + 655125731475014461, + 13738745887027433319, + 3749264895176794911, + 14167672475038276256, + 7468027963507661674, + 3950478639590632971, + 6110992434938383804, + 785548566407802732, + 14217470160109131037, + 11633727000130743486, + 3555529127445460660, + 17039873490889222390, + 14985974710936875113, + 8571005487456453193, + 15903336828090528643, + 8730684993792766630, + 12496824635564208605, + 10864537985682598478, + 8914284316748085529, + 6873407241464889974, + 10470093121550754659, + 16375169142853682548, + 13798655891612822022, + 11661588700562444600, + 14228162300698091057, + 1346910940705999356, + 1202464137034124722, + 15763716748505069643, + 16894411489721049686, + 5752956487552197581, + 13381545032499320640, + 14411826791359770472, + 17538522246983958528, + 14683962690717319873, + 8147880191178056267, + 15150995902463301397, + 14521948604403005206, + 4466503761014377642, + 12593531661878767818, + 561856928826373185, + 2852307978051132916, + 6517225865647227941, + 2611666374592135087, + 2406169044857361752, + 4649405547959348225, + 5020332555426782133, + 10921173574096115233, + 3380982975760674079, + 2942558654571574020, + 8094588251980339720, + 1309557532701424142, + 1172734258961362439, + 18427095109978011398, + 10684887911238377707, + 15570153362216851969, + 11829857215214399247, + 8163080601032164840, + 13441618397072668317, + 15150031847682271187, + 13948050900727322028, + 9114321359939231938, + 9970393965368651688, + 13507984394347320036, + 8429726658829646613, + 5647118888398878432, + 13488852819416838551, + 11150593143011293446, + 3695463702182517676, + 375560025987639297, + 12699777597233877596, + 1112818248652682985, + 18371195621224465996, + 18301833575385397087, + 12217997882429688835, + 2776876636801432034, + 12731730478009893404, + 2811694775940305645 + ], + { + "siblings": [ + "18712025227376794247908809305561163188031614335025854827431693779502043363280", + "20057288839016828243295887930491563301710980716727411786490355400238736089214", + "4493595253387511577189870758646505806984806914405635199310779996482592112812", + "10599816443944711697789652891076336564446847199862171321502087522025518187687", + "7466279708969085941471166701413284786975147025409585609433825080815902832738" + ] + } + ], + [ + [ + 6794681417720913965, + 9909798477000264399, + 5895820664881426452, + 9031023814713287629, + 16034651008445105896, + 239410548733509988, + 17416771982415748315, + 7323287096129207933, + 17339318619331129081, + 17344215516601798775, + 15200848557490789427, + 9187846528281851746, + 537078266516392940, + 8858286394439884554, + 18254383700141403606, + 6161293632109778219, + 16719615057403983418, + 13252269226926538992, + 14103979836988810157, + 4959615229592510882, + 16881841651587716380, + 9688374141346702967, + 11625956747326858379, + 17996989675695215788, + 13444199338982872522, + 18320747511321520879, + 7794959671547437905, + 4263981328016709596, + 12233143190401189469, + 15766396170231859423, + 13279472809011824828, + 17003140091868526601, + 12239118788997980870, + 11356684258539202763, + 13906268565690778782, + 3285711859888742766, + 13243170140093236032, + 5723382572371890407, + 3668150668783555808, + 4153633826079156165, + 7195864873884657109, + 3435888849610185619, + 2983171486208500329, + 1621340407667134172, + 2037655247082945726, + 4073479031327978308, + 342274860417032347, + 17542511876255986624, + 13082272864450149334, + 10339680934573315551, + 1613923593428691271, + 12100783561761750651, + 8230828776191712933, + 17682620054840935758, + 2197537311935205659, + 3132192025572357313, + 2500594650045027129, + 9773930373763231282, + 12118824004088059754, + 3133801692336678716, + 2713638290608134221, + 8186011127080403078, + 13109293749654988170, + 13322934532107999928, + 10838281881050169937, + 9137082262288699358, + 8433970902518162039, + 7019042552725575729, + 14698402860855151401, + 2112571246487262756, + 15967350498530292245, + 13863367997685382860, + 13372968847446459245, + 13916293493814297207, + 15455523896149818900, + 2396579955026535559, + 15685083898522323938, + 10025634895651156699, + 18083768239267645949, + 4588326491318458760, + 7174731709630114984, + 17979457075667935591, + 15065060302154494269, + 9257056441613494549, + 2911946321399943159, + 18073661113611410080, + 10487526340889752518, + 13415552726773921670, + 17625349776838069769, + 10444524492260876964, + 14643219427805789750, + 14794416833167948167, + 3999934669325954904, + 17322938766567841503, + 1058938900840367585, + 12847159018345174184, + 14003609732957287538, + 441341405632587601, + 14605142242634459638, + 16004479361604443375, + 16169121282627811547, + 16143910107072386459, + 1352865197238011209, + 6163562074958546206, + 3129953348944675401, + 15948196529905426718, + 4349277608808199922, + 8748643752089061519, + 17213233131147723635, + 12618586196881697552, + 14244360965667411566, + 202214148640103566, + 7950859034725663852, + 16127142324309355357, + 14867464930306729369, + 11116592665520395335, + 17251327309583079447, + 8244789940015982810, + 5841737745236096510, + 12194603456077208852, + 1471850665933430808, + 4237860492608118538, + 1927109809490257221, + 2340635936512343956, + 13393692999706184545, + 15116353107632660047, + 1456126972386909769, + 12437190458362830716, + 15687441528474405732, + 1020249097263682949, + 10323026477105036617, + 17359933914919181079, + 11058475278299196187, + 16928644824959624831, + 7906737903485947050 + ], + { + "siblings": [ + "6133878601323213865252365953184900121935363069658033314758563413001083444325", + "587686447092982995052284440400705600853680203952185583095908504743004408480", + "4420404488589092911488307220593531724497911817192103310465368247642639447718", + "428202057658338643695757425467918657513451485904452766951514439782430248674", + "545168182937580601452464828220502228032038863693151250250520162413164727031" + ] + } + ], + [ + [ + 10639457761140190738, + 9803737709029715262, + 14217682177395159792, + 4779751244447896382, + 15939612621231503329, + 15798838202657294094, + 18082203427520749788, + 4059179126496777726, + 14273727168480897624, + 8532331571200749206, + 692930863428985907, + 6563893956062334750, + 16938277322917913490, + 17737089199268282186, + 1095668342853219199, + 10170195480344079152, + 18283526313258392439, + 3591243674319986854, + 4179925041099289559, + 14164477294538923413 + ], + { + "siblings": [ + "9913338394856821299378047399887748502438471817540626162972954986447408672831", + "16184353335306219840129501490142779373979116905870765597334955291096450203156", + "11521148091845232113707824241652100960452127971733000490638991943842973913219", + "20052195436259603637377747332441939104776895946546692451353908528682362658181", + "10544519178227407031602243252409350043743011678648838384888262653943418616027" + ] + } + ], + [ + [ + 15651586391406459602, + 11317604376794772122, + 1368960859789222093, + 13465363184816374360, + 15481181083097417312, + 15988969033704969642, + 10590175335498965687, + 13364508459015906435, + 3820077951228700037, + 277624422513988253, + 4876566928746175189, + 11868090208890520597, + 10691187121843538000, + 14419373686278435400, + 4187221554738560445, + 3038997312381677540 + ], + { + "siblings": [ + "18109296698645350667878813846640897844682181021074532457871924396707014107229", + "13532715153700030215045413697861839527444743036696445932575277040143690615771", + "21223537511937940388664379327922936604525704806616376873839757109029762396456", + "3370011086246284420246675952884920583149216779605706492489477256456819162992", + "1516495456580061274205062019632766359152774967991607745798734612753637499211" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 17428914728948979451, + 7533863594967683514 + ], + [ + 13842723004896462480, + 17513444230266875374 + ], + [ + 6154612778263713708, + 13156519029626209739 + ], + [ + 8763147729445103402, + 14204082336534706369 + ], + [ + 14011088675865618721, + 6254391567919079426 + ], + [ + 16234006952485632729, + 8972205796048010278 + ], + [ + 15284513293897616709, + 4072439820384346833 + ], + [ + 2524959364114387739, + 13476795296600758616 + ], + [ + 16738760202947954604, + 9768964331552612106 + ], + [ + 5398052780576015538, + 10570251508677929179 + ], + [ + 13254041619204139595, + 14362309565343130639 + ], + [ + 14594776067291610190, + 16582370583150822953 + ], + [ + 17615452366734415300, + 17151365140441528304 + ], + [ + 1536831335195328808, + 16178695442935675416 + ], + [ + 12856289220977013315, + 3559717982344871840 + ], + [ + 773522141093900481, + 13690729331344420025 + ] + ], + "merkle_proof": { + "siblings": [ + "3455958417092795508137515403157682691325490629799236026872006266821282533638" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 11612647055172980137, + 13896547763629442023, + 3661430187915066970, + 10694715810345131739, + 2581184397441677029, + 9941524877776415791, + 10384386367921911416, + 4517433930621104152, + 1035720472065867716, + 12664567708036723485, + 10227055411678235902, + 12758401116909522150, + 14901148128594087102, + 7595638983979324430, + 2543687048632669451, + 7320863638330277762, + 9885456157638369701, + 11485597821500042395, + 5885522628994931961, + 15158396678824064342, + 8584262200635312208, + 18052466518279164565, + 13576207734010224743, + 14593729445196516401, + 5800418189293924851, + 4875166428622592821, + 1077998702979112736, + 9177410098540253222, + 2603550117639596337, + 17956252852202563087, + 5730716134807874196, + 9549227714134306748, + 9624128615007551840, + 9958180964034630670, + 16625107959840625451, + 16839607423556775266, + 12209229726072397948, + 11708853494133533774, + 16576789433595821528, + 15081167872463166355, + 2484246000052987079, + 8710838062243178167, + 11244472336309108331, + 17372197592647980553, + 6376311706311240996, + 15650153281311209763, + 10391505924632241108, + 2558079001426157972, + 17173573308599229287, + 7683473153104429052, + 10007743193492898316, + 17628651378563296200, + 5276518805153560652, + 2897358253479416476, + 10930629198660070774, + 9561064693417743826, + 14455219555294281246, + 10873643629223771197, + 13170639275291023912, + 8366706544260030902, + 8656557692736163845, + 6110006356548188754, + 4985564997150886518, + 18404865245266454454, + 13361198098707446399, + 17189703926921338723, + 16851401178627889710, + 10129407636827695259, + 1348698284616669780, + 15111594955094669923, + 6504485659379777757, + 7899052534874181781, + 10044369217071885605, + 17588198885499692754, + 11324585446108058991, + 2372232874717774193, + 6635991464735630058, + 3654755383413055261, + 18275641857766932558, + 9511627266463850104, + 11291063404636467784, + 7280238429505811875, + 1517556318062837204, + 15450433934746097971 + ], + { + "siblings": [ + "11739579040582608158642646968382255255171729996394103293472441915613748564505", + "14486707434181121746698697548694844747601101439175680812574987038601668774160", + "10773245004036992296197220160605319239130397312692239253297440989814140480627", + "14868921431116263251167002054585324163893982085045391591414352707922768088460", + "502541972714831138353810099412630188193515896867738402328717350645954431332" + ] + } + ], + [ + [ + 3671741307820221686, + 11214509106720047008, + 5786177106721212583, + 11294717753207114689, + 2303297811229954616, + 5864125557344892456, + 9204183059820536022, + 1771913727353252539, + 4956211081487108218, + 5761337751170714544, + 1308062422990219526, + 12345723086823489740, + 5350459823593719190, + 2833635511563148206, + 10250285664531473062, + 12882682867419947200, + 5530277385429820952, + 82217770709127937, + 9761570113517701823, + 10117542231915023601, + 9753720545036577664, + 17501653060262537731, + 1530639450290433984, + 13009167645132437288, + 10581377640915803340, + 10239553862128919669, + 13463332936437215699, + 14007998395939801952, + 12572584929149946583, + 17546406404347732423, + 16752449269271618537, + 14171455024851180949, + 15498590318052437061, + 8425340086457333919, + 10161775307531125977, + 6145588730404401525, + 18438340904883781999, + 3536186110579625939, + 6810877198993218934, + 7169510906760389129, + 9386319402258876617, + 4318516054663093461, + 17272623740696984128, + 17876065331880483481, + 5185496487164947599, + 8852717216030481913, + 14026550648849114094, + 12221130844671171879, + 9785706815279470315, + 2995227048350678177, + 384187915279007131, + 1453555507300077339, + 3937590647495793955, + 17393350314057094565, + 15019536930271622665, + 3508288523715538386, + 53009702747491691, + 3680605818980178273, + 445670520624862618, + 14592191432026273758, + 8966087392299091019, + 4012025148863750936, + 7294477665518685377, + 3126380724180737688, + 1616742465248859548, + 11184647742493505611, + 13350773870656364305, + 17665347685723873183, + 5184825869021646945, + 15419492052061721970, + 14474850255484581281, + 4070629440230256756, + 12356531566076749540, + 11788874934915988944, + 4062189171703589845, + 14691135480332787907, + 17469582664048888708, + 80139600366239519, + 16775195287871342540, + 9579344956332356048, + 9345628867792178146, + 1309876880204485280, + 11312964734793014720, + 1422394462764359037, + 14072576095818979832, + 1312518009136270295, + 6892956012015282123, + 1303209447466065279, + 17992105485386839174, + 12973321029153543727, + 1854677966261903764, + 15521422067927874017, + 13954477602881448711, + 8173601308429846821, + 15163457349702871461, + 16853413205724619596, + 1978661679887835078, + 17379292146358618349, + 620882399215886898, + 14135058705883431557, + 8298853730145801099, + 14009608460536873352, + 2163073948625206599, + 3816174724744847925, + 18297243523450679044, + 9447730299904498319, + 2794863040371225491, + 8629811626717158686, + 12661398535104377920, + 10483288389468166411, + 12515433132650045786, + 12966440515568340177, + 9905755055398548997, + 8385871348337412817, + 5729769142786929985, + 817070018458134203, + 17530091070401285942, + 17958079469981576224, + 6283312590803877734, + 18190447373800072164, + 7901468873015707376, + 12744852119662097904, + 1457029247063901608, + 8948019208291950649, + 17241980935703132268, + 11038520113356612275, + 12097749225586238722, + 8800992288333311160, + 11513011271860617716, + 16763683159523797945, + 731662906622514852, + 10717908721696586919, + 8600996325044560909, + 17563295947946315696, + 4661489729658116294 + ], + { + "siblings": [ + "3544433001162115324310284365780686574053386262315644614382743796363574944259", + "3683069364431098558032071399263814760084421152705808078869349978124620193174", + "11216428189815037097527095303740284750904851190997061175309443156366063167031", + "2529752459273598582024413329778051076639267129684855856127895374109828005876", + "13589054186000915627562342649126678657422580522962470685343132844676796994297" + ] + } + ], + [ + [ + 3610293651956098081, + 14814898793970725140, + 2843039045350644542, + 5897544800456866599, + 9685831629081224627, + 446807753374400516, + 16942036966320148166, + 671660663488355461, + 11603486859803345539, + 16541600195274874463, + 10345557336154519103, + 9509011999337964477, + 6390640717812190110, + 11380055408106433821, + 8231063575650380443, + 9670443182151535773, + 5933129296073700823, + 1700955039384297167, + 10011089944406413643, + 12995815798910514035 + ], + { + "siblings": [ + "6435204497211729429393432494951547860570222081158686823803310318034180805092", + "10411352160178408605596991830756243120211010235821405987673902023567565804441", + "9381885104752799327775261453782344492378511349210377705058442656905579539246", + "21129213859763373466256253352267091263431725720306967874319202546857765458465", + "15543144983132563240443637372490683144421062284157603850926777052477332042346" + ] + } + ], + [ + [ + 17485430166949831722, + 614579527842325866, + 4778766560033641753, + 14638832315609039650, + 9516039979252548673, + 9182548073923946601, + 353425242342086732, + 6061628903591402604, + 4604053210321124874, + 2616459670202201911, + 4663373860571666363, + 15847253884263304330, + 9582296182156901212, + 5452243274890309068, + 8060242730416442154, + 1423113069403578339 + ], + { + "siblings": [ + "481665637290699093163439506029823119154497195464375613086457142839035417475", + "21493476276590510648499305432405413954321257701141424727855162312203619239507", + "6597560146068332370113676734497522254635906596733372390368975401776306123041", + "21682074700143551229276149015433798153060883374704950654936484760253213575645", + "12276790578237054971638421738703582760338018124671496847730665201078176302953" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 11019157846955772780, + 13965916086960793884 + ], + [ + 628945202273860166, + 17793065289066075339 + ], + [ + 199387963001086464, + 739916456120293588 + ], + [ + 1099420757130251762, + 4039866770090282960 + ], + [ + 14628146771540223039, + 8470253418974756537 + ], + [ + 17717820794724586528, + 9629857823419258244 + ], + [ + 2623169634592143573, + 13840345414348580724 + ], + [ + 11817043803320501549, + 2926614981975131984 + ], + [ + 12842633260571352689, + 3915880810645422483 + ], + [ + 8961925129236772095, + 12197062419123696390 + ], + [ + 1856314187230428030, + 9147026574478089986 + ], + [ + 13130323468919669648, + 17657776636142072784 + ], + [ + 7175577651903970169, + 4246201727091256873 + ], + [ + 10429641941849643347, + 8043184300594299794 + ], + [ + 7049640565733050725, + 3746582917867000650 + ], + [ + 1984805509831554531, + 5981233954931345378 + ] + ], + "merkle_proof": { + "siblings": [ + "6929721603953516924113598733008339906458579190835154468281598180507521948148" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 14266914258915967770, + 7929003466650410736, + 984398237158104748, + 15142685973605677494, + 4400593523767723627, + 9037354731655153323, + 18189238869025149262, + 17898011236228183854, + 18210425226440030850, + 1113995061622170507, + 9761385998864721704, + 17643531206508332431, + 4447524169949230080, + 13310806382945397729, + 9722815117674723634, + 3229867028425473542, + 17962723525807939192, + 4887519433940378661, + 17648789817380419735, + 13020149559735674282, + 4014394131651385401, + 16428127890396844111, + 14245088337230622631, + 2063968754976359334, + 9359905860563332239, + 755320074316543314, + 2193592996085605897, + 11861570095130162906, + 2710466928070427762, + 14133227250789092614, + 9494723818383227212, + 16303699300817530003, + 13883246978924060611, + 14505962054941230096, + 15102962211116899577, + 1191105965141608041, + 409462964515658964, + 2561299547483966339, + 14360172492017693612, + 600091545740336686, + 5443142123124203551, + 9377711698215314612, + 1809487598624266463, + 1973763908210806048, + 8689436475687026683, + 9548991342508850692, + 9594867984436462228, + 16640661844011735072, + 69435616656198832, + 14650274721804033058, + 15741432002544576820, + 17028177189600852907, + 694218966802136743, + 12227374276628046242, + 16246383948460255412, + 6668574408928974371, + 6612773044617731053, + 7685248333211004610, + 11150897510641989618, + 17920047656022858464, + 13068180430629742193, + 1043998566410148392, + 7079278330855223047, + 8227252236072535492, + 17236295937217659693, + 2449457768212878986, + 7895984452558376206, + 15616464536552492822, + 8299597562688290890, + 8421692082809167288, + 13452511303883172939, + 11347403212099925350, + 4850153046835360210, + 17921859187015099959, + 17677519147975664789, + 17720865795994307554, + 5321957651097157659, + 3723663585635411794, + 16212114636027220089, + 402431084491804639, + 2146993010201870287, + 2744614330226279601, + 5669481832428679775, + 17337755720974557682 + ], + { + "siblings": [ + "11892188794168706064551174948441376663307113082914740175017786683151669604015", + "20187835507042708215865814803207177185288003751313038887322391716024622477345", + "702302483269492429484481874403044827668325643960744864795541129813657423677", + "16843879729046824366842194688474380277477453415066664370885451543182876434345", + "12669080728105965561449868796445415212311667748079045806777373584135226749990" + ] + } + ], + [ + [ + 12237572810295214521, + 6010810847918672963, + 10688329920976685032, + 7195190287319792230, + 6841183430169344375, + 3285944294736863558, + 9689606803362372852, + 11072656356721109751, + 11574650739187602977, + 16779944850582186927, + 4626413128233112055, + 2522787235604253765, + 1513850884077224141, + 7052121967840820897, + 10723868497433519200, + 8924684945659667230, + 1836585821131357096, + 17303324400753123305, + 1687429201902483693, + 5760639323232690363, + 3685989873209997434, + 9187107896764232177, + 14550568796897891956, + 4217354745620684194, + 8174399325059425127, + 12503530843381044924, + 8162780438085413776, + 9254803636314404221, + 6210997093932600215, + 4830117536468440782, + 6031033989258155855, + 5491161131429405704, + 15289982613881884970, + 1216363479108672012, + 9749419375093270046, + 7025485487472054854, + 14509740225251195775, + 9139681696262772102, + 5657393385725203835, + 14926379458624762931, + 17192239670224586729, + 6689211460843101178, + 9448191870718114534, + 14178913577481322386, + 238320260805815477, + 17824669935272445468, + 15568959858437232377, + 16944925722856180969, + 12677311930891178795, + 12290121393640591204, + 17747262719648550676, + 3689151443294978429, + 13863062608593675609, + 9978612196069855668, + 12938326930340321070, + 4105703430774479872, + 2449939122459206087, + 9919515495795043623, + 16710659264325480489, + 15946449069449353788, + 9988351372187632044, + 667218778232855315, + 8042333626149574076, + 3253943412072128839, + 16474970272720057930, + 335802042008710832, + 6259076339645420669, + 14466421512897086992, + 10484280882733129741, + 4137092319295465793, + 10492607527244863278, + 1741818272998510720, + 13828730539246918732, + 7883627215720300158, + 17193347607609884697, + 5276793152297343852, + 17721071897647894496, + 11768065507099667869, + 10917061179673969697, + 9352368207479895776, + 13238703640137220401, + 9341098314861507188, + 16162197969799221850, + 11722364942122353947, + 5933218913422214118, + 7688414990199998440, + 13583313805718409365, + 7235960806275090676, + 8395372679152769523, + 4298605636573103207, + 5318349519451424211, + 15977406879663706176, + 16460670932291326356, + 8153037671665260447, + 9086487992357852142, + 8247684955002706048, + 2706052565365552887, + 8967423096879698020, + 2826131767298440085, + 12569835576457563576, + 14077723941420126444, + 6706471081217335056, + 5340311108479915715, + 6096535568164136480, + 7966519552941980722, + 17177367266030829888, + 7993678648640732754, + 7549824061526012996, + 16997786272050600225, + 4450001720360691241, + 11893256373086229918, + 13675564022750945203, + 5005780955961626972, + 17489751082948393361, + 9639831386846657160, + 6249537291851456186, + 17767770309581723817, + 279846796621824545, + 5966952178698884437, + 92240921195512141, + 6593456860664137641, + 16542160490516921395, + 10510597275007890448, + 13960978141082463276, + 279274047661236897, + 10294122286083544391, + 9057038149461985693, + 6509764312445610513, + 8293093878099826621, + 8701018103672433418, + 6322668283570421931, + 1407570611272576995, + 10702864092844770284, + 3008813989927296421, + 11122135961594233781 + ], + { + "siblings": [ + "13247772439465542385719846054623365236050407502380040819344093368449912900183", + "7203053990811632821685605069626330855580285535517994024813219875725649260198", + "21633911773703990424718776544949629324958954763536095788076657329914472192893", + "14384512274267672124744445715709603171811900799612230187278757805864119891118", + "11071378707540929757513348700510337424503492941710483687681585952612507905804" + ] + } + ], + [ + [ + 11860895413331426600, + 8052000453358240046, + 9095030715614961966, + 4837920568444291379, + 10952987431288143055, + 16422634100521548398, + 11660056506720430943, + 18065548081497927173, + 675215681735078345, + 15413332701360287983, + 1907662878293536384, + 14197481711236188290, + 5128950592384737241, + 7127600252544556006, + 6924821980905718230, + 3898472971878683553, + 9617158527850846719, + 8467815781387215234, + 2265562402625461128, + 7377348451554856446 + ], + { + "siblings": [ + "19554081697469477859348457344255128275977555056063535277040138811067374203616", + "411548845480876075728106109201281069053843592518829472726278196657024303804", + "5296232896637958555835009414793983058388787116407418962500521673050296622924", + "7921711860375832964646967422739675933044620268767964798269400797368323238996", + "2795750985317399742104089184619547160712171696356603500463133215240008423330" + ] + } + ], + [ + [ + 7599589761539053178, + 3844487908241728679, + 2487064864669900405, + 16556367932744249613, + 4717424908455775449, + 10964945053619864050, + 8550364222722939764, + 474039198384717052, + 5423095517940893800, + 10154755483766434581, + 15793653232808776317, + 12987243248986067437, + 8632910690910746621, + 11611616272243123741, + 3982965821757956870, + 9014997912853946256 + ], + { + "siblings": [ + "7973648760120917507680525170867933603540772838112799194052913220024329953722", + "17578367945184381394899873403993895635471025549355461650865121736987282973215", + "2540182849293884027654780783849748955772482347127622371631577253600096701850", + "297694807978508330254729567085267729308964712929277137446585260385267085521", + "14334291784154530318076502474044986399651187151182664699006349073388778116277" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 13187004852200580799, + 7723938070315474572 + ], + [ + 13848820720318636761, + 8670624387724064924 + ], + [ + 3535768655246098320, + 17978741304291625071 + ], + [ + 16475173735204830288, + 9438171253200094656 + ], + [ + 14218288785556210076, + 8120777065941812325 + ], + [ + 13931800110207344580, + 13118553545380130454 + ], + [ + 1578876310678659345, + 4569086263271842241 + ], + [ + 8749939002087380844, + 8398452420080699297 + ], + [ + 6602489169933916631, + 3492899084869294988 + ], + [ + 11682872982539904274, + 7570722145902334947 + ], + [ + 3892779006597079136, + 17962542749238856941 + ], + [ + 13984875223773914457, + 3614486791490059362 + ], + [ + 15498870136712453311, + 10118889715930486601 + ], + [ + 3902048234846063089, + 12962157042530934225 + ], + [ + 10760377177762733426, + 610712393483620787 + ], + [ + 1394339084707120436, + 13082986982966949221 + ] + ], + "merkle_proof": { + "siblings": [ + "15319795358522459434648942498573016926885920708738974693442168735796754709906" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 7223122309685877669, + 17673963057654983909, + 6647626999888248893, + 1693039185462834170, + 14404130938306968499, + 13055027176632289924, + 6309725086340556561, + 5132856038543712866, + 16525966453557373757, + 1068303430743782979, + 12014006872039301469, + 4294225964961896115, + 18345705749898100407, + 9170688005190031076, + 13369519271367533346, + 7120649712116560024, + 4632981461520830222, + 6158330034526725573, + 15890324645440209694, + 10894248392185339136, + 1192182358425910776, + 15227366526034010722, + 6637238105191703357, + 12448798875378925595, + 3184511821351203421, + 7249076790382638888, + 16468558660493491134, + 5840707333173753575, + 2076386248576128227, + 11718098559209227440, + 9636803089418012831, + 4012814195098249615, + 6361564330418415268, + 9341817069956860567, + 5747154646760068697, + 5566478196484310053, + 211867859339240680, + 10112459288622868169, + 753742948815869389, + 9671443502669388849, + 10632640399323096013, + 6509234197083637477, + 1955901304273139531, + 15131810585655550631, + 17122550774383411270, + 6480699808710809078, + 10646037928503596397, + 9838143481660536982, + 11898622638876592082, + 4256202889239312342, + 12396530197935664612, + 9550090616281362902, + 13033136488921059974, + 10479301903620019273, + 9470821277806223639, + 464691409224016699, + 6882768172329989158, + 18051572574131861847, + 13053194493975073767, + 8919429381989035039, + 15690439638251001063, + 5514999444539307426, + 18148550168187937509, + 17326825634755316279, + 4494181696072368781, + 3721539190393991089, + 3459461861989792907, + 4300472517626742024, + 17631715731640199717, + 4459780937469385444, + 5133099400929825257, + 13704580019054964185, + 16918576431063088143, + 15704040591449309438, + 2146623263568115629, + 14151949984765163842, + 1771570131559956501, + 1226563681990136013, + 7400860460376599670, + 1245872980456935332, + 12676793402676481080, + 15444594056007527092, + 11564821565445599324, + 8856635242734961697 + ], + { + "siblings": [ + "13518897383191317922741383532332831881926244781681610918709595256016144682545", + "4883314198860738141670151643050227380434344552883952378215039369959559104728", + "19091480065563482249722603527486133754508768572080567154631490224224881961655", + "5363066580165303595056780286998212853482819839789707725125596126571676141582", + "16743908243277741268633009477346844094434715174010209780440403206666182729514" + ] + } + ], + [ + [ + 4289619977403408575, + 13703590395667538172, + 6426801093463791043, + 15547960388713877007, + 6737772331203528151, + 13567029710667757023, + 15220040186585936999, + 12373564620322211964, + 725040423311365843, + 13473244841336393963, + 17878427120929302297, + 13846343699604159402, + 2763158202529824339, + 8670437906746375659, + 4998622827428843696, + 1986572736205004519, + 685768368672091991, + 11018563977086533511, + 11976157225302570393, + 2744914611953048399, + 4174962470593761379, + 15019070716279566103, + 7419821825877686146, + 2551555192072934410, + 2003152193713963671, + 7619383416513307820, + 11008941870000004195, + 14113734333472486136, + 13943464138465330145, + 1072305672664615503, + 10730545945476366242, + 17601170822817075807, + 18244174898701188597, + 11756220094284268817, + 16900389486205135873, + 6240899292620110713, + 236517014485904720, + 6073173279299660451, + 13231483501605645737, + 5754902052487038697, + 17245915398408295226, + 9226693423434226237, + 5389960616194609368, + 16628420630957979321, + 17556274091470549557, + 15849803961227209336, + 15845094022168020412, + 4896097325624584666, + 16703543179787976893, + 625734055102269070, + 5957226640926777355, + 10093691022690544859, + 15201304764439750329, + 5572330507442074052, + 6339922804660961436, + 30692929114349809, + 12596225150308672224, + 1769030638191955089, + 15920038671474188889, + 15900998360935356789, + 3783920743512200100, + 9647613904831746152, + 15755228182217088418, + 18400623087615131689, + 9856004291484076410, + 11547773260800547553, + 12629514635792585530, + 6594520522217828405, + 7443042958415846207, + 7001995719296935095, + 14597409301162962200, + 9518966344661751732, + 9436330336660525051, + 15359062737969334452, + 14863814833232305617, + 17752562954194514991, + 16958661958915150347, + 4874456706411746838, + 6533605912623274899, + 7667366667633989036, + 11286591551949787517, + 815597031781136153, + 15514157942068517107, + 10695041889471871146, + 2379471077785033507, + 16068233807987108296, + 6963616874750745757, + 10009285807373830841, + 9577934142990859577, + 897229203003873100, + 1178843322191183046, + 15840192057708871804, + 14187075999860040684, + 12822942387684003214, + 4865044089943001238, + 3484966708239777169, + 15157851136670886278, + 16152725116575190691, + 14008316902692464884, + 2942469442857976318, + 1659113159896052357, + 14720853540086660826, + 16000926280890947887, + 13615257964521146975, + 3121310007854101812, + 12414902424790369881, + 9578936255183545859, + 821765419707039036, + 1040866182595027981, + 13074698726481266683, + 15361923990678627059, + 781567766349646368, + 3583450195488623973, + 14141401683488935890, + 9833004946418219972, + 12836296313272682856, + 18262192779055528605, + 1360706826691904976, + 18409458332511288559, + 3717826944540685889, + 9483722457974542954, + 16845383070076456971, + 9330323128664933670, + 9863937342896470393, + 7496834930104906512, + 17163452945460590690, + 13331745086322823331, + 11605655659141430922, + 7966784846716440224, + 8704142804161401263, + 15797789289694348287, + 4241856152454743294, + 11314597814779627194, + 15037295657222687633, + 5412574339640849966 + ], + { + "siblings": [ + "2031049262931910284250010249416173235250713722545720899331905656176686655257", + "14876592878865187594699055303124510088063644279553056936503785863732994881812", + "5576187957818669896302319784064756560095053519803143300624412876231915691102", + "13246156713593990005256760998550944475693196620601504988883904643135510064133", + "10522078871171427782304015403464769770185679736408012515664073082369138597767" + ] + } + ], + [ + [ + 10477109475937522084, + 11770086955345548708, + 6073987790511513374, + 18214148140192761329, + 6326294346791477998, + 12746600785873220645, + 1090663444391976195, + 4344033907811527133, + 11737899820263801683, + 16179969072611980547, + 5499946024515253957, + 6229950593485848874, + 14788655895739181212, + 778776568504778664, + 485896881010282073, + 6846827926434314821, + 8678593028899691407, + 14206419262113835298, + 11039687642338717957, + 11592150525039582997 + ], + { + "siblings": [ + "19820351750871002825903070140090278754153085012143683580810155905440730894802", + "16447834573940487019013229646063395325838544649533109316904213645232271872537", + "661320762641718616356388040573558394206738216017000004773439430845721783341", + "12183808800220228136132730968512987762729667643807186147909250150430011864208", + "15717650507785076971069345182196185014254303249184076468761738759680871986344" + ] + } + ], + [ + [ + 14415066920427563143, + 10003101978763271889, + 12423920549499779390, + 2745612515907048613, + 15228862387344729338, + 3207399113185811264, + 13262978676158031272, + 1805836468460133869, + 15315439051740679851, + 18008868898283930058, + 3514616267886895303, + 13067067771033116055, + 9839620599358379910, + 15524332999875221258, + 4512902706419572795, + 16119369088736065129 + ], + { + "siblings": [ + "7255340918933606974319156608171753549866285172825920209561552067769280611815", + "3655615078016022648379401972307954444682791732837542211688841441222825374581", + "13460812642303139549584907938554458383870608787961567555134343706089398016586", + "14297124197310824317476521974284898803791465982464333559515654591039495444107", + "10805692406905949745720894686472669428821566439717454766374659709234506082526" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 7666675935082382862, + 11871075424561098164 + ], + [ + 1715231995495295691, + 15375028550772054249 + ], + [ + 11535356511400136350, + 9957797059710030480 + ], + [ + 16433172478637083234, + 9551389219384057921 + ], + [ + 8246881116622731297, + 15580554624124810371 + ], + [ + 17191744996776146400, + 13549690663603598257 + ], + [ + 2446179628968574836, + 11126556446977758442 + ], + [ + 14576258132347903133, + 13693083371608378799 + ], + [ + 2381044414477096171, + 1243463888579501488 + ], + [ + 13770020775104230886, + 2148710693037441177 + ], + [ + 3828158694272339592, + 9164574345680475728 + ], + [ + 8144126090985198051, + 3624277730977810465 + ], + [ + 4677131048205017836, + 6856895278447554540 + ], + [ + 7932912623397975720, + 2981083479840154218 + ], + [ + 9551106087303553030, + 15695825905210726415 + ], + [ + 2142401393808821270, + 5236185690897524606 + ] + ], + "merkle_proof": { + "siblings": [ + "13316252927645787500400840986992937456606467006040722451755733678567956525921" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 5336302406143675161, + 719600825404282101, + 2250312679523212309, + 12659830592227815757, + 14210166530363675209, + 12324102907955173113, + 15888324557665464992, + 10852070028147784709, + 362768605471121956, + 5212434299543365169, + 3079679196636022258, + 5078036861106865713, + 4010450473678353269, + 13698700736805482914, + 15612123357255713058, + 15590917093611202416, + 4434251687487223118, + 9421537649267355928, + 2173665276084650873, + 4687463828997372582, + 12104434570989415972, + 3317110530060408843, + 8455485921680640205, + 16142646678880179434, + 9125495617617443197, + 10099033754361613829, + 10203221599174379105, + 1885386151269162613, + 3213660652475689368, + 18030594203578989256, + 658935435116252817, + 7359852190686275168, + 1717107240203284824, + 1462733061805046642, + 14130733813883346332, + 17471035407989483171, + 9150556248634558841, + 10236906099665723935, + 4329543480493976813, + 60000733984347617, + 413366298805850930, + 10352172994095996149, + 9716985585627355290, + 14934553810516538170, + 14815047753875113917, + 9010378495762597416, + 13797887351245469546, + 15839972177670810467, + 5607091222829943829, + 4946174273852194091, + 16821925741193523751, + 13033671524157645686, + 14949599411463163420, + 3459175447487595389, + 9520936657125447482, + 8167387775372283670, + 15070971911688867075, + 9586970909606988389, + 4253011753529430563, + 1009102881149958447, + 11338439842969993594, + 16192613233384724323, + 10431749837897652250, + 6332544547739685196, + 14646560584442745719, + 18174867215069696914, + 14399658596672128653, + 4322345925366675092, + 6897766942834755493, + 11697540476055903033, + 4381904526849878299, + 10882399794390507490, + 14808999481365802756, + 9071770699846632013, + 6308649400244732929, + 8052304040557084954, + 9531932997388430589, + 2039543439882855655, + 2290328998230034988, + 5130204400189530341, + 14075099825445394048, + 2279260570798186960, + 1038458841972907150, + 2109127024231225510 + ], + { + "siblings": [ + "14010942153649038332291946010320253397450409465151981108645255142073775350442", + "21665623091538038172152461017745163420939872796461483399015776500762039131979", + "20480889184916961286581667764925031192383788105822308998004081247083270808854", + "9755830307689782269100439382823008519773046022634282315867897605307644782021", + "9184701778822227923902291934230778081394177955821909178229854985613848634114" + ] + } + ], + [ + [ + 16639659145937397503, + 6753569442632345877, + 9664148430557529532, + 1536695204752109451, + 7263468806247406787, + 9901242921141110385, + 5757648731768607439, + 16523508534779086411, + 18349494544606605787, + 2351763548859369911, + 11648540669750186854, + 11507975303008311317, + 3634281086087532369, + 7624555145205328149, + 3472936405829096805, + 6175637147059728270, + 14805485378855723914, + 15371908477400929158, + 3627703880475293439, + 1074059605402455090, + 10133333878985757174, + 15918660481834383292, + 15788044747390602798, + 17736794309478160030, + 17968868981937649086, + 11202102710601316011, + 16220088535798058715, + 8243985583194297844, + 14892810512652984301, + 2307149724299659564, + 1459169150521968376, + 10539250429900028910, + 11789284139613154328, + 1063146993281717307, + 8114331863381376793, + 4112483920787977166, + 6556635390015806173, + 4064740056510331857, + 6488716836934954235, + 10283269079035748436, + 8713182194314046474, + 15938281708583339481, + 12805567396771511795, + 15093869354512676801, + 4222090658607838016, + 17051874464256680198, + 11054833828068604086, + 11696842262135324571, + 2802192360061276927, + 9806080892488186752, + 11262276355438069121, + 13981034361583359921, + 17004614751690116908, + 2382485453358824396, + 4205522466564035322, + 9284418884877448361, + 3767497380190967253, + 4494106567017805544, + 6583727640661401863, + 4227129467818304334, + 10314044835490524001, + 15322520594286633798, + 9444203061452942429, + 5003892690655717169, + 14843207560758431150, + 5426987857495053333, + 17922624688179329858, + 8931588759526977380, + 16847743598515451698, + 17017535523929614320, + 1962752690911466742, + 234240683456694668, + 10366689779259251281, + 297993706055934829, + 17812616035651762907, + 6067726928830026300, + 9312747798765758149, + 286856756730318532, + 406907187565436277, + 3327875588048315837, + 8501128699823608591, + 18261373249532320562, + 726747504689057156, + 2294026822595562335, + 1816676097500992815, + 15776120258591376324, + 9626201344192706147, + 11723072701256604201, + 14766167192888837330, + 6937697595846809546, + 10201548640231766122, + 17607820317917242064, + 7050322431392151850, + 9327087129652358861, + 2530180647144738245, + 1787788399059585761, + 14619184590203721475, + 11479221796256667486, + 3008383369952948539, + 17695313328839857029, + 17739382743603389417, + 13762448394012863767, + 2906338894528661869, + 12280546683385908795, + 5249470887897487541, + 1089295468370400089, + 15785832182827523357, + 6716572614702427691, + 7566022676833653888, + 10490484519009872572, + 8307048664557685518, + 17060355042768783531, + 2953562958596718571, + 8553320274297637577, + 11754308781438830730, + 5554158955153484104, + 12299647139082650021, + 2369811816248221675, + 3485245356468528899, + 15819374937926092466, + 18203047021541199125, + 12396658854761438439, + 3404719569277005649, + 14002061056757726086, + 16529369062800437074, + 8571948027902176130, + 10470191748433717600, + 7502869779020043211, + 14292118689360806703, + 14839685603640099930, + 13833611935382659156, + 6394808729578213880, + 5706285945679428396, + 10688480343729171464, + 6839016820599158607 + ], + { + "siblings": [ + "20402367372459153589194066603949377811903381203519610201742200679985555271042", + "20637764485810436068118063855738610184106127052241727375788800412820818784671", + "8267282979028523084176183538039773584887667015034943077557625764514480372916", + "6823557452382140487931050200655142209605231800490142804076500425445523503521", + "11894193215385372779282129424812336823134140138856231363187144008667911936443" + ] + } + ], + [ + [ + 783240933189239823, + 16031050776423330731, + 10278210200888702520, + 6347196804075313770, + 2956417428073356265, + 12878879277978860383, + 11217940400360843329, + 3844534729226135636, + 576885413987816821, + 17033871448980936479, + 10705655744965463515, + 12122636580360699434, + 10226348775153321452, + 11030632198089131575, + 13891910643047955528, + 5239757092115820929, + 13477853377136152818, + 8583304286516464452, + 14967014202597457258, + 10550691435153822261 + ], + { + "siblings": [ + "5915263361067892419826964106002589770408655784691576729698136270062934658476", + "3965810283109536112050421890379862239477642101952316201875810534134363021757", + "5484385233071365122666167872214380945883602292490959364516716700752458479774", + "6878403916459314431248147236833975236441078407235890807573019899453590273049", + "11881469373711945791224254844546015387687528352191016911622861808725354982640" + ] + } + ], + [ + [ + 11308758098930549870, + 3065405588909564232, + 11306902594118461689, + 7515690154877491255, + 3516237866234433388, + 9927742819086301410, + 12648000087224695458, + 7250100132698141380, + 9632422502173358213, + 12776790321495129894, + 14022725814399430196, + 1214264998923204896, + 13446153323573260795, + 13634985840401055384, + 1962744498644424516, + 4240534718901545967 + ], + { + "siblings": [ + "9609534488519394918406752048796409763277078340555100803817048232148264210572", + "16137545589257420416749061170444435993804467472385275850134123984501998752112", + "19895409109172316907932412095498975400025760330202336950916608278944333975223", + "1171139714091752241919812401443802211390610327404101206516619500725425409179", + "2044440684281624098566977872616781520637010085168243101566075315213322130636" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 3185514415753082959, + 3954765156342723268 + ], + [ + 6890711375376444087, + 4972142757741931266 + ], + [ + 10764434349395622328, + 9573312259568308169 + ], + [ + 3782469886654900323, + 7292032346034138299 + ], + [ + 5136826963710178529, + 1098095828466725759 + ], + [ + 10894337940426912775, + 11929453052005808951 + ], + [ + 8926013031089777555, + 7581049178503902206 + ], + [ + 14364421577811227327, + 1757164674889607057 + ], + [ + 16634798592812806181, + 9725490640602432737 + ], + [ + 4952404920639676688, + 11678066658301194853 + ], + [ + 11564457384117808999, + 6807927187387383405 + ], + [ + 8464485584203168502, + 11795219834931789210 + ], + [ + 5285829840441555582, + 9146266140290437514 + ], + [ + 9348213513600461323, + 15375861109413589579 + ], + [ + 6978644766076213905, + 4482652085472681159 + ], + [ + 8333670757522445950, + 9550564110216987074 + ] + ], + "merkle_proof": { + "siblings": [ + "5747678413375427270596407906737924128364113471916767669766738865219030221322" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 15895778008646694222, + 386103433458186853, + 15257314953008363301, + 14141524116515251590, + 16137826299850706965, + 12505745201466564558, + 13114034264819855357, + 831684095888919545, + 2516538319765660532, + 12057523923949616811, + 3115287956517228204, + 10072547455529173082, + 10123195058781864365, + 12419793344766492541, + 8875035484958267799, + 17735117009228143842, + 6515833699497459611, + 2616041249549954055, + 2013884292530520964, + 6685932040957650826, + 4763915530559639415, + 4951392605776690672, + 5937808759447330882, + 11348725941229808575, + 1179865836651956395, + 15049523264050397342, + 15792409844982351870, + 2449994367429346458, + 14202485633200320824, + 11790575545732315551, + 9516975155656060215, + 16371862124023031580, + 8281722489347013275, + 17101040236333178072, + 13188190794945186817, + 17276091926234219850, + 17272334162671559558, + 17452771653902964474, + 10233275547966852781, + 11616046844376306242, + 2593656530428945150, + 2815469903291275167, + 17478234277601795930, + 17098184462074378011, + 10816578167182388973, + 3668353704778753665, + 17344486673147281976, + 8735338993131490186, + 16035273738595784526, + 11909550303109681770, + 9811137557907211879, + 18047659653740147930, + 2337373500241168999, + 7453856860665695410, + 49099892791543562, + 1029009575236609901, + 4223576977013133015, + 16659012414058947141, + 7208378176008586436, + 17235028910960657608, + 13545827699925576786, + 1670798285948508928, + 4270063485735939738, + 5257467519626284805, + 1922513143397705263, + 4975449268828558260, + 14479470726897012783, + 5606571143134141241, + 4268039944244256213, + 2337877411422094310, + 11543388502650831219, + 13700888061841149632, + 9620947605364869258, + 10416438903712744364, + 8666202603940106677, + 5287560714396422089, + 4571625573991518566, + 10970599011263101304, + 18071885829959601710, + 15231709615964822917, + 60159086920401772, + 11993216766212577473, + 15337068468077231324, + 16343910301746545682 + ], + { + "siblings": [ + "18430063889913263062844048692648422386034480236038517828450138623219894376650", + "11749735425861323185286080862529696482836009381345113756463137742395612397927", + "18270838864964537972105501477088184652844297256420616264318922073292965298111", + "9755830307689782269100439382823008519773046022634282315867897605307644782021", + "9184701778822227923902291934230778081394177955821909178229854985613848634114" + ] + } + ], + [ + [ + 16886759559233133923, + 8856716004027870892, + 5981186818239940929, + 10356218661848244397, + 12340458316950240983, + 4554935200538369948, + 9681586652276749732, + 14917883299562545300, + 10386410214291414792, + 13905329081015258613, + 10773070216713948918, + 9945876832739948761, + 18410084563550670106, + 6916354439010668741, + 9685844902304174714, + 1185679100550708742, + 7877651696299461021, + 10164542199992243232, + 7435944518455863327, + 12989092481680729779, + 6918286163113732479, + 82165516732325421, + 317267035890920547, + 712849266944529970, + 17253014790555321720, + 3618688044737539894, + 9387230324511203689, + 16818579936875359893, + 17751715559353940149, + 7483246200991426036, + 9446002494153579739, + 15769421084246827910, + 3301381205032423392, + 17929818410874590152, + 4207598722539517303, + 10342766454022255483, + 5201921771554414464, + 8684305369245136040, + 9152262002850660716, + 15282356545786450014, + 9845131503721011799, + 13149248267254288523, + 16374679439555418748, + 17634886800805971960, + 12086367880954338037, + 4451722369108909435, + 3676487146999641516, + 10975141499020450666, + 13294001689901825439, + 14561616564620270001, + 1630483662297331273, + 4472945809264693128, + 6780058519046557877, + 6878301668039168545, + 8402778654579457549, + 14158429757192306232, + 1554200556321824651, + 1972699417780104878, + 12089292501410960638, + 18191157426551328689, + 5632282308247798790, + 7730864476726361108, + 10818452460413108505, + 4248866370896443324, + 7800629326118339765, + 10370059533270897038, + 15246853654199675958, + 3946552383255697657, + 11028564768738602427, + 8344370932497784654, + 7768038394750802884, + 15475985470318186029, + 13321734118926524642, + 1414971060952806111, + 1280243183313178643, + 11341533732639324707, + 17884429763656136402, + 1178925589966092906, + 4959016206261175119, + 17187138426711299671, + 4159836030004374838, + 6485061197676049861, + 18102936240870718080, + 16821041203205533543, + 14756475435486395022, + 9900036659393753098, + 1769861031521048379, + 6061846401207308158, + 18010587070202195373, + 10078236574505434400, + 519763838518621470, + 13141690642085671048, + 6792456117385592265, + 17686890779141308248, + 9523613694484781014, + 1683041778914610773, + 8868368868659661931, + 10712178000460974013, + 15209122634312326078, + 10013383870039036612, + 2400005704870874181, + 6208955783293479840, + 5441972515246609819, + 16085116275144388280, + 18091961528519736415, + 13553700078788515825, + 12504532522940993700, + 13020866712032886808, + 17468585382477422593, + 290874519893158107, + 475554656541874298, + 8131283706746599303, + 704405426850789729, + 10620239497857375797, + 17289368223856107614, + 13265766835619280723, + 3294439950180885066, + 9379997251592289250, + 16682261284176960009, + 10464800871070981519, + 11979639722609413609, + 12183465426627963944, + 1382975604948916205, + 9190272628911916534, + 9978526698481930355, + 4457276129234480808, + 560914873597522884, + 14762887022976754928, + 4967463566154506314, + 4070174450087811363, + 3049096715214228611, + 8239161651188584763, + 3168069659077810421, + 18022522910336893485, + 16387902413838077367 + ], + { + "siblings": [ + "4574807688453988498680471701232943285756183219609650295020057067044372310137", + "1336517277041099584975630000174565182183808078176170527566093007020702658359", + "8584652308303999120454689971354790986087123928356710800916593613557110458795", + "6823557452382140487931050200655142209605231800490142804076500425445523503521", + "11894193215385372779282129424812336823134140138856231363187144008667911936443" + ] + } + ], + [ + [ + 8743594678024172167, + 7510291398380348396, + 10923924394411804771, + 8042261021984397836, + 1835221276602318992, + 17750784693245176262, + 4660143991996273429, + 6809446842615850694, + 12925866303314035999, + 10540564748737560457, + 16497143950520263670, + 8684200206562394618, + 5155474165534652989, + 8072782910880139779, + 1591985431016564671, + 8530172238096304571, + 437101656366181986, + 4516200632624262438, + 9675992641391392786, + 7200094888736532805 + ], + { + "siblings": [ + "18193992858331380075991731071840729608679251659943821010793358352760866032658", + "617184085761898088352606720314050988951188604682987290605425457374608563626", + "16269718527556676794827630031529504233589613921921882478796481374437592552558", + "6878403916459314431248147236833975236441078407235890807573019899453590273049", + "11881469373711945791224254844546015387687528352191016911622861808725354982640" + ] + } + ], + [ + [ + 8075747463826464964, + 17048689793554552255, + 9706126653439379662, + 15127948821820692897, + 5092527600711005531, + 17887740532736366709, + 3089068606007066947, + 10732195758580456538, + 16920219241440885032, + 14497152074348680628, + 18353796210863174964, + 7191700197534319957, + 15713485346093715415, + 7749614888360667061, + 9473944026267150701, + 4779417691080479190 + ], + { + "siblings": [ + "11771567077013630324193499613786173265080268749775626860718953668624520316119", + "18880889333051573871762994854198679519696756258551963072216412749710429322858", + "19659351903795429347877832335183173212312557175831871203523244342335919875312", + "1171139714091752241919812401443802211390610327404101206516619500725425409179", + "2044440684281624098566977872616781520637010085168243101566075315213322130636" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 3185514415753082959, + 3954765156342723268 + ], + [ + 6890711375376444087, + 4972142757741931266 + ], + [ + 10764434349395622328, + 9573312259568308169 + ], + [ + 3782469886654900323, + 7292032346034138299 + ], + [ + 5136826963710178529, + 1098095828466725759 + ], + [ + 10894337940426912775, + 11929453052005808951 + ], + [ + 8926013031089777555, + 7581049178503902206 + ], + [ + 14364421577811227327, + 1757164674889607057 + ], + [ + 16634798592812806181, + 9725490640602432737 + ], + [ + 4952404920639676688, + 11678066658301194853 + ], + [ + 11564457384117808999, + 6807927187387383405 + ], + [ + 8464485584203168502, + 11795219834931789210 + ], + [ + 5285829840441555582, + 9146266140290437514 + ], + [ + 9348213513600461323, + 15375861109413589579 + ], + [ + 6978644766076213905, + 4482652085472681159 + ], + [ + 8333670757522445950, + 9550564110216987074 + ] + ], + "merkle_proof": { + "siblings": [ + "5747678413375427270596407906737924128364113471916767669766738865219030221322" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 8603920886445718577, + 1441524832058134548, + 11045971541555830021, + 5805031437758718233, + 248746588749667962, + 9364757919671779800, + 18056167918461502028, + 2915576879303622682, + 4687090480995948745, + 5043350593353946299, + 9061793145856741834, + 4709578494730890196, + 1190362528376500935, + 14746099105175039254, + 8654085362242228975, + 17629493654243537878, + 7231495280632427104, + 10357191966018245291, + 14000138043447312743, + 3153397317144489299, + 6349837043240673322, + 9018874017509655362, + 6006068127997432747, + 1191387925129838630, + 8948139484409996976, + 10230792562905980342, + 13662457109045670846, + 1277077477481980875, + 2702334872616080723, + 19645701138298688, + 5248563399524778508, + 4103507911415083589, + 8139828193771593549, + 5678436459459352150, + 2674522848832106465, + 1961162240227669775, + 8625523735551315210, + 14256642737997653093, + 2062423889612278757, + 4830801085916127920, + 12635643175544211048, + 10701491650127398692, + 8152348355972697529, + 14198131692264182332, + 11732014364074102524, + 14476992242583069690, + 1792945041572802548, + 131152848149953924, + 388294145849901957, + 2838051081128158064, + 6769676642700770955, + 1303339227991438067, + 9957040714885382707, + 5775323953020463700, + 2412093970302276154, + 11817738676378048618, + 18321186547917183812, + 205863003808317756, + 17606728969000153281, + 3298183224064046120, + 12131040064789311348, + 5164064327525529460, + 12265591540555348270, + 5284715198918060411, + 17665054022922488010, + 9607227514686240415, + 8681754087714619954, + 15688016914443618284, + 4730093452764358031, + 8781364778035587146, + 70766164322226824, + 17123965903960900723, + 12206777397254275016, + 17989362252685578838, + 3888863912935345535, + 15296348754428768735, + 15042948577154411668, + 16193748839227606268, + 3109755833984963109, + 8753702061113609109, + 13252712384333740607, + 4793650302349856067, + 5533525779587298968, + 3882029526255599056 + ], + { + "siblings": [ + "16612622165155885093816802183266262169672816157578897047776533673457152908003", + "4667819324795201826862271053170039807954968197930920757759647979642698710938", + "9544164821738439201749945037214919005970911972784570394441927812353134770151", + "9129055805718362420289266226024045670413159521831809597009502628900080323543", + "16961419233742169860802983899885545792262285202255320406908174080038915137834" + ] + } + ], + [ + [ + 10674545193027589613, + 2380715246816914117, + 10838379849282678310, + 12829148488080899331, + 12170743337256966380, + 10432772425067813081, + 15019456127297298517, + 6189186145417696991, + 12223448888486713100, + 5486437860162658022, + 6871211188319337202, + 3881949002662964825, + 7611807812875187298, + 13919081995769901521, + 5467964472763549972, + 4300235022939805262, + 8726575443829380576, + 14445353480557746907, + 2507761735801401744, + 2834585362108171358, + 5885687861376278562, + 15961614825749146510, + 7121065237509250850, + 9583013138224814590, + 4932866931988161246, + 6093319673935572075, + 130978988974510208, + 5664995744310315836, + 12470760009251682111, + 16650421404470279239, + 561143617445535583, + 4422940878767138109, + 515811617999515694, + 13847935536485710880, + 17201474214044826645, + 4699343039336238254, + 4376562339413986290, + 6290868284476464561, + 3924532957837353698, + 3543987805574048282, + 11026472614988249868, + 1699733575797920947, + 9942188483943707547, + 9679193811160762901, + 8460364827570785584, + 14919699875497514392, + 12980391976135411953, + 7017774097283458680, + 1921832940554447594, + 1072164198493406120, + 767241571244174179, + 9238280000464623262, + 5113535049768457253, + 10070962244810453180, + 10950573655644837776, + 18138191311164754420, + 17830844807271920560, + 508964217071168235, + 11899008909460829507, + 10399547934010397816, + 8456276221778337742, + 4655033079119531099, + 13326396054732095553, + 16914285239894149256, + 17402380244432372783, + 791872118383693627, + 9725864704273271197, + 323625538794614133, + 16599814116248404551, + 5031180077787489071, + 8825576457110209357, + 13842746816081568402, + 11636418935748861006, + 6407662250240887468, + 1298411605589940000, + 10054902370413680162, + 15392117522147813455, + 14786615001151726494, + 16431213886230702934, + 6514947419054514885, + 1210834327412762027, + 2572073202692095281, + 14052381558439132944, + 13106086707509159941, + 4342649819712881103, + 11640628810945585598, + 9318986649764375195, + 11612580872834327571, + 4388453908989457198, + 1034526540939914924, + 750435832811083958, + 15394851922755355787, + 12154779468268893033, + 607261787446797733, + 17492966890299653225, + 15109946672735583689, + 4828434061760814875, + 14611432670353885618, + 10612653952380780343, + 12214587672979689022, + 1284675153150840178, + 442852372981886603, + 16772194952157499285, + 9838426867648534578, + 8702415618696880909, + 17195727387747004661, + 17718569357478028749, + 9571366020387565565, + 12979206760472398264, + 11559345459787810361, + 9836805115557449440, + 10831723616544012490, + 8411014346853850424, + 3622019662168286376, + 6803972221447791903, + 4915522942105908065, + 9852040044307287648, + 7736478280472581489, + 10615085542877452871, + 2048939882744099902, + 12355670947581988443, + 6371283471634319240, + 3992064662565460670, + 11557232818594422596, + 2091678909202909068, + 8383836932214665964, + 14408483276144276924, + 8154978441272333086, + 2681105293273291747, + 11738462168570348597, + 12871646851634585868, + 14712208041664496387, + 17072053256866112684, + 2107924665103478308, + 13825689029125964586 + ], + { + "siblings": [ + "5544301314925002922656288036402552868282557115204565600497358336324560650495", + "20327494194545797894329413067181351562541783091420252535614219599511855878333", + "10957109284967383172557701567614963665368657585080058972215988688174861957230", + "7519825553537303385765016213712430492597517200966141113752990996654533582845", + "15809615768416268977715721772108416843283219859524757915083976308923698841389" + ] + } + ], + [ + [ + 17790927474258161103, + 396196047767475753, + 15869682129839861563, + 2312530745185099668, + 12495799345345999065, + 4922161028447990985, + 4695715660615244764, + 12924932366736767598, + 12417929498060320604, + 7040140491039482406, + 17307064881382837755, + 17158582705719020594, + 9018195588800791106, + 12096362114405660395, + 1467840120612972914, + 9141738371978663206, + 1959007076099993777, + 8288658803723225985, + 3125510404755612758, + 18113478922332404650 + ], + { + "siblings": [ + "14123397687028544910030254692488504831498922290654938133555749822095049282382", + "19296138447348799574025685887172334692366230079192913032972996174116284262896", + "16006860528692562917234051854815819752331783800805164366224400891114968341256", + "16338392572059518774810521064311979169198591208722454603452916822990774282328", + "17493666291311105632646120792831925542841151383448818236955993844749238971918" + ] + } + ], + [ + [ + 15024274648990937098, + 1681085303756685104, + 16148814110904332043, + 6775468059358077572, + 17421717564043793010, + 6014694164970230150, + 12704727440723331905, + 13144922006935874249, + 1271640647499348678, + 15057896676732801096, + 13352022499401472835, + 11334868737762567720, + 3954535518943139359, + 7084290934833648635, + 17164964542406841986, + 10487097474018499700 + ], + { + "siblings": [ + "20772198961766942761748464636802947866616974619183881547358048334014796525555", + "148639977072496289079037833341157321653178768382201518158968929336670356212", + "3721647216437602719398102018666664990583651847522205060653962085420357613", + "1125505016178191971538433197402886481094883103187554065252500873141055418712", + "17416376218429112995193128582294183824702731950106288814155498763565848631257" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 7918425972220734937, + 10394199920741901603 + ], + [ + 13303680738733944364, + 17863174162481025324 + ], + [ + 8709145410957863572, + 11877931246066120932 + ], + [ + 6515677288417484780, + 11804016810124244606 + ], + [ + 16822103963567052681, + 1886512932850493495 + ], + [ + 16016639910736444443, + 9099255142785518770 + ], + [ + 578292469240904044, + 17269500573001229368 + ], + [ + 15233647240277800020, + 11662781313889132163 + ], + [ + 9797836875616061587, + 9638124834911164941 + ], + [ + 6689061531080481568, + 6954676162027863828 + ], + [ + 6783760001797937325, + 7580744023308745069 + ], + [ + 1472808359991084862, + 6539984577918171025 + ], + [ + 5402287061811403056, + 2115909264722869953 + ], + [ + 32136134997284665, + 9167377081375204466 + ], + [ + 7329336195513242455, + 14130035329339215556 + ], + [ + 10262006979166748972, + 13953295158183989372 + ] + ], + "merkle_proof": { + "siblings": [ + "18128345839142570089944535670381859052994120400412338778903585949511143398679" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 9010168454153895657, + 9336453353857027648, + 6347837547566739810, + 16272968172355591806, + 5312644378204346434, + 5525489674226791029, + 6666696915772202054, + 8487230976595517632, + 12230524607704779414, + 17865734899355251943, + 17860337782615824969, + 11806961137461495017, + 16719768660571718303, + 8361721382326112957, + 12437798741101788565, + 7684790624571327626, + 3295584824221130019, + 9758698434524161672, + 16276527256813465417, + 3227196589638320748, + 4694428862904880120, + 15456112005894730107, + 9811956202412641814, + 1384163861085073453, + 363073422306147989, + 4471150780489516133, + 2014665350328817497, + 2963497970636182873, + 3675087851603541798, + 16256854412273997860, + 4164559952869718195, + 13362160772860114488, + 4658891847837737245, + 2737434835047993847, + 973161217488684213, + 3660078925172751469, + 7272420593169026719, + 17541995743104184151, + 12270330444093170967, + 7199322298434140273, + 10461954532636384653, + 6606457073064370524, + 1613117412612331130, + 973645498905286696, + 13134154386710290972, + 8912868901258242370, + 17725397174558920041, + 13433090125355732650, + 9619067861884019183, + 7062101483323548418, + 2040047976520989894, + 7940757642420699542, + 58361476470488491, + 14845377022034713731, + 9768013232031890429, + 10272475746833996749, + 10998696519740776644, + 18103064619870399628, + 7188057882632248038, + 917447341126957172, + 10579580565334558893, + 7464750097891825084, + 10821271297391199103, + 7628521785488635773, + 406353784393292076, + 10851855674141778333, + 8856735300534322335, + 16910690098946844541, + 16424744718735889784, + 15606669964985324826, + 14372288617306788543, + 1283230789873652420, + 15119993345904677407, + 14554171650846008738, + 12453560348326611473, + 430866894403878813, + 18358438978643094800, + 10213909898675160599, + 17273003880567546653, + 7651861067295122460, + 8369717583921093283, + 13337450806046045630, + 5189671225164174226, + 1913715422011431386 + ], + { + "siblings": [ + "16609943545896920225692018081354813783692681159825520623140442944343211929095", + "20025455898484133517327231057088371261592130442798521210344384971823432535042", + "18967270754816647337940200132444237769505624024629875854704853117929923621474", + "17942933080097363163908347881788005893642909939618598303126291219024690627186", + "19343040374781378021430966293822755502516861263151019075221864504050194116914" + ] + } + ], + [ + [ + 3396409809872761995, + 14763727190257929145, + 4806298415430369351, + 7060017944628858556, + 5987710856264899280, + 8047146112164342945, + 5980466665871165260, + 6622862246962744880, + 9260707709996886533, + 14366386905011981118, + 2073825972745928954, + 6918287845670441028, + 18429380019073333292, + 6675502557407556599, + 15586928260714797768, + 7053558273651270645, + 18109320555984067982, + 1872751430306664453, + 3387250624347549023, + 10685534544709336616, + 14268980868523385241, + 149915099339408514, + 865098232224305945, + 6742223394909011514, + 9177153594549648038, + 4182102624739111302, + 5861391779523993447, + 10520201706270615371, + 17902519387479504018, + 9209036072720870992, + 12299001254017963602, + 17227826309192687191, + 5419883747932948224, + 813198490024431501, + 15550917056790310777, + 14826984154248121520, + 16363923773726038589, + 1858373188731889080, + 17778570149594931907, + 13431361125471463322, + 6487361089530620323, + 5514352541220768497, + 1100322487099081388, + 11494949249627030910, + 11529979674694298998, + 14199898509312603426, + 8936432540628628, + 16800397119567069225, + 5839828865361971982, + 15258006097740361212, + 12269959985653698758, + 3403476914430682974, + 7598667108572381849, + 6023568450364609962, + 8343030841042020599, + 1642269038923056339, + 12567106764586817641, + 6290130212518433261, + 4929199520821330909, + 12867434878885068340, + 14014409945146837329, + 2522731244555110236, + 353820359142367127, + 8313747716297655137, + 13975439526738767188, + 9440121013679331595, + 4877822637913513384, + 15979858352879488152, + 15806001919363845858, + 14684496969816250396, + 16286707517660958450, + 13688329516865320259, + 17899720236476376023, + 18248363763515448072, + 3456513842410411674, + 728765237012598325, + 2664066652886186893, + 8571564735180745480, + 2301328763095452507, + 3559522354984953957, + 17287295324373214869, + 5801262466608326503, + 8815075489672577235, + 4254893978993027430, + 14765078135521561040, + 16728566359783243931, + 11777946768049520386, + 5045957265681205495, + 13870490853148892712, + 14463632609593138183, + 5449728665091343385, + 473726752261786077, + 5563770252772242, + 3015275587939235388, + 80646389779409877, + 17125050214841919930, + 1200231506913159980, + 17237623471651732638, + 16532015893765092710, + 4937036095128207520, + 14411058726695968299, + 14026525285199490655, + 1369407383604530939, + 18179493289429435958, + 9295610394376076565, + 6762576570837062210, + 15658902745580466035, + 15095545892929672635, + 12739303198053776935, + 8842853928124459284, + 15920758292617841759, + 13019305876934421623, + 11999770281545887442, + 12473855248478817583, + 14202782462118823136, + 15725329498426671318, + 9989255044088293278, + 3304246011385679466, + 18267333831339169318, + 13035077217716340682, + 15749268624865670206, + 17009007939976481537, + 3504588135781494590, + 17865057450125289421, + 10564594616671828774, + 13982958355083121336, + 5367214730789569859, + 1875424478613834560, + 18221195365453948451, + 13678198309574849598, + 4511675620942778609, + 13592827169945604916, + 12508789403819236917, + 9729059383955178879, + 14619342862019773702 + ], + { + "siblings": [ + "21136840732199432935941955339819100208489220931400668790199669223213699354318", + "10262065922487998775558599740432484742709520080978675569485742394592385241926", + "15865998530696567562187761385422767055680089652604434203631039186305767693701", + "8616038396128655479313578289245703874469888178324214123873233884597110065532", + "5637400766303484169980002186872410112164048193184412674411044206955363729721" + ] + } + ], + [ + [ + 6672675300148093416, + 11198221706261938029, + 17978603271804888850, + 17265282728817548908, + 17281886553171499611, + 12172302623258710946, + 14836175151752825992, + 12144789655884519090, + 16220331160895447881, + 9155086036827752165, + 2150660137986545860, + 3152713582618686668, + 2560603604161365041, + 1851335474083032640, + 4480774149689351540, + 6313349066078902005, + 2950149838985574981, + 16548088545800062631, + 537442506569403508, + 6056577639809663784 + ], + { + "siblings": [ + "17257680610218840100424816712770655696736238465260188486510478281154389668145", + "13306111888634803103095217919874417263416314077731161875777396789854283657098", + "18842044068513466589287126301293007047568092304937478473559297266596293577128", + "5582210188255102228488171441567365596506539734352082123860951687997888302861", + "15476063410012875221227308474637934894911181045510781236519019965328696628323" + ] + } + ], + [ + [ + 17908593667681753368, + 11484976941558779530, + 13354571784131754529, + 15927484729476429260, + 10759685584068547137, + 1169563020945884061, + 7175288666363683211, + 17912572164404551353, + 11558260965471817226, + 16253218096667164209, + 17949055361064871013, + 7231432905334137007, + 9965816280574755879, + 12950759907826650766, + 15068949196896437305, + 1033949637147097266 + ], + { + "siblings": [ + "16757942103682752191166991438473357561653976319089492746306915819148849513569", + "4365550757658164072028956971451026263302549527524606912182249397883146123096", + "4010616411024129245422496451345341236055505187495691497577819305824577929326", + "11341363644670650075051445190330708379536779769644052512040757803933309722690", + "17065515256049128408810736258856671219958143156772124479504971489642444988965" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 14495485543600245535, + 17673260672791773992 + ], + [ + 2589174884236123087, + 10076351000922495258 + ], + [ + 1392382413122619556, + 15592998181728764407 + ], + [ + 6096048269813274182, + 7452760610008507701 + ], + [ + 8438178880963561996, + 9588773458315229519 + ], + [ + 17850206110817535234, + 13285538441582700954 + ], + [ + 11225388348314282612, + 14790482532764243606 + ], + [ + 16925717318533325229, + 8688698820219936940 + ], + [ + 4883420426391589075, + 11300597111979292770 + ], + [ + 18029155391312506805, + 16052765697729513430 + ], + [ + 14915496537250962031, + 8843250537881442456 + ], + [ + 3721406419589348336, + 16730196441093540598 + ], + [ + 10868035067412824368, + 12565389832620154359 + ], + [ + 2903326055328178343, + 1279774553549809213 + ], + [ + 16937647668664168776, + 4563220908054722476 + ], + [ + 4162555317701317371, + 3821615598212211796 + ] + ], + "merkle_proof": { + "siblings": [ + "6563186504195743690942096791030613256092554826124198351264369794605173606553" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 12835828899525632083, + 101173098245822835, + 5802710787620512034, + 1193594925091389664, + 15307020414604052288, + 2416006118953019413, + 10747203282122610728, + 6829408285227343086, + 15782229240345249995, + 17951659771758133932, + 6287067889640073773, + 16441632491316796117, + 3520087491389042661, + 875571997891716730, + 5813354244687154395, + 11886629714140246440, + 168089883002056237, + 12313971489992993284, + 14992513211470693793, + 12717176085733015492, + 216726654128134405, + 8342666426296415002, + 17349144469080537866, + 249592776766065761, + 3851862618042345417, + 5713553882906460408, + 2547761524240019448, + 8976446794057193889, + 4259665958788244909, + 12896266705014238682, + 11303132724059284397, + 6651679455088040561, + 8639027533269616230, + 16638357569498785186, + 3661144357488301006, + 14248751622769949296, + 8164773358355791426, + 5847484385887551602, + 9757425288068578610, + 10989141576008928562, + 13178631693966664924, + 5266952297420099911, + 213148496135154940, + 6084904734581898332, + 5728618167950372009, + 8109451798017805544, + 13707449346313234273, + 34964754787112900, + 11587889534977874464, + 10101794489529541807, + 2594460662457060809, + 10163399966199735616, + 4832716804683431996, + 13450687699973376929, + 12747299166688086232, + 15727659079484741654, + 351028383146684487, + 5932129253032790284, + 3116888059299654493, + 1624339751210606167, + 12715664811533158842, + 2240223654615190082, + 12716882265563787688, + 7776744010188115236, + 949777609977328387, + 2071684089389917883, + 3872884737517187633, + 3857370214105348784, + 11466521017571585704, + 16613243325781251350, + 1637243793817009049, + 1280361220821101242, + 8574811622817468372, + 1904693382083039121, + 1865862169332266276, + 11987775668643084756, + 1556324918065458936, + 8531475789838770724, + 15823003768441922994, + 9732535083412503363, + 10726640317794305379, + 14695297711003624452, + 15866566672078359446, + 9014122413155988096 + ], + { + "siblings": [ + "12637970920103344263825539565460567851817336659420563252903444598228555412079", + "17494652651850448305527566318669412026074802082692995428516584410826145859745", + "13408803386859668890005244451936884733188288580786416498919384437877254463857", + "20619948696420510345137879906876215256039932074477912626046015161021265678927", + "2201894898491997928610982817667714480622432629275086760903320762118321319810" + ] + } + ], + [ + [ + 1338146118401444548, + 899605421396945710, + 8611249008682447650, + 17975935252342417049, + 2621947150288318499, + 15227972577391073493, + 12145973924503743435, + 11319152813906414690, + 14096295354054412345, + 9135102423992174965, + 2416471001326058299, + 12984528971769437367, + 11943447538590073484, + 9763149470326597448, + 13059484098235376328, + 16053828234472673016, + 11182523164374802391, + 17174473130373329613, + 17374522943318755648, + 18383312104442895541, + 9225075237309268669, + 6943298656434743448, + 18280653217356332742, + 9919792890572462709, + 8200154538224588820, + 5707023364136042467, + 5762753954586140470, + 3653126662968576938, + 7182736884207566618, + 12852959816144130073, + 17667510723711698497, + 16698442701876249547, + 10164250214621826015, + 16993486025177073118, + 16675271027605411313, + 15609746362402354307, + 1095151478874392625, + 1127377391956175159, + 2576125356429361708, + 14391340522081910608, + 1109263604866292348, + 240198209129962382, + 3800016201354658213, + 5336525285744677505, + 227504992235887486, + 15470353602304803518, + 11436805426743889858, + 225021711492140593, + 476267289361120823, + 2699177672740708935, + 11769521209282476037, + 4045855012172405707, + 17432573151013067958, + 17500926227922564434, + 7229307197090631393, + 18183829269688107649, + 2684472788883499602, + 10779045346657041741, + 14636833600591193473, + 5057959403550754544, + 16238119386550769184, + 8492996182943177435, + 68184415546892197, + 16235489041710625657, + 2080477124826419492, + 5026846131969586717, + 5305316287405617540, + 11219774668927231762, + 9905858350139157958, + 11469386899324342756, + 15558461494478797442, + 9914950005424161890, + 1169616094257098500, + 11699913516622562597, + 11958477498381645291, + 9432522583158366461, + 12449412364648626530, + 18215260002058902680, + 5070534753860302299, + 3717147337262911917, + 5837503785249345869, + 10269767918521720581, + 9893113028257637537, + 13247104744860695354, + 3704638946747465314, + 14698315227632571016, + 11632178060536268030, + 14412150039419999830, + 18033742526141571107, + 12188456603075779625, + 4563354907670204296, + 2941183924072697118, + 15462645238922424399, + 15001318400087556566, + 4436602426562816578, + 11203815469461228088, + 15753883557367083318, + 4103429819856908749, + 4001385748585083185, + 3369224511738248256, + 11152274425405087528, + 2968777243174448443, + 17562264985443650918, + 15706386938039429815, + 18386677614545420355, + 17549294313603521837, + 18015571996172299178, + 1274380926681421570, + 5358382587653593743, + 4892014026575400564, + 10270266211510678826, + 5835989749099699976, + 14825879713428621998, + 1594369063464051988, + 5018673338688106567, + 1612358367154990499, + 8057179276009578787, + 17674024195872153134, + 6187020188385490117, + 16074613222723339585, + 11997702806120437443, + 4666561641099627013, + 6281353667465450683, + 4339619922867069467, + 10344672405915453900, + 5960122328189174880, + 10616725830071619287, + 17995009435819627638, + 3955687344295567085, + 3137106288819105691, + 9293284111742943616, + 384266004247845947, + 8767256101705875719, + 5472181554785524075, + 2388340038009173455 + ], + { + "siblings": [ + "16277743599783729114169363430288903509607323519031956400019864398288147975633", + "7911112195647487991899308312425209233864028023553187848432174935334720764932", + "17096073761679034703710669135454372289865045072586141065940499829889085462243", + "6495822968580350248652495572657365091857431572770135094835332636193535448592", + "13906598617868828353412449068166730809943519527762596291471792229417858172346" + ] + } + ], + [ + [ + 5736973204000270154, + 1542155963406809095, + 5921599811114367162, + 9177219582624662597, + 8682002411675551434, + 16211312508371466739, + 2524176880680547808, + 3261490085581918291, + 3509221764525971727, + 3177944292796638239, + 12461530281212708834, + 9692484726656238099, + 6424358772920306915, + 9831155569622954736, + 17363560576843807573, + 10837479204939122012, + 11604129875377951964, + 16237921244249139648, + 6539555085760434340, + 12120374007870030167 + ], + { + "siblings": [ + "5782089794060129609995114624210120375049461623022525169452545383874218546399", + "3729820964864546697915723279792017232465916151294102585404956175461137469932", + "14160716956706631371493885404205865580134340382610874476284685974759154090619", + "15966218228847626368411076793613906821930093842998229669358086733401604323065", + "1593581887707458646792421953370132903452455171218750338143610746149117763971" + ] + } + ], + [ + [ + 2575433106359128407, + 5494033171099418703, + 14909849648378706780, + 7773196000886229475, + 13179485681410681467, + 17399385847600227253, + 9901180537678228398, + 1015769378524247740, + 1750320162394221615, + 6227375897535636007, + 12186802125213679014, + 9036921727294486768, + 7415750107348625127, + 17140943850667612883, + 12115767853735325860, + 1155194581423453322 + ], + { + "siblings": [ + "16331571014761244663119676345910426228995178382789481147801960073280685301663", + "21186297551548948763742589081032698054674697878138391834607500129749857125262", + "14797211459401354425347215857960815704944755391295903430685853990015971473228", + "20842283975604874326422939341260287253044451279457007421113397372421820648780", + "14067147000346725667487612333656361946498033209047438997513337192011937677946" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 9839483122014306380, + 5035128170919175983 + ], + [ + 1992050833512675797, + 6667793853731763405 + ], + [ + 436001544251496618, + 3721439132511010062 + ], + [ + 7541477536479619106, + 546694194832034233 + ], + [ + 5295991649112473604, + 1137986392546531410 + ], + [ + 13071146063599259647, + 5608789504412957607 + ], + [ + 9012641571756108055, + 16519779578326304724 + ], + [ + 6045631607700102005, + 6583037571911075677 + ], + [ + 11819320137494472395, + 5747000430106747665 + ], + [ + 5736368447726193422, + 16841860041687593277 + ], + [ + 18039901680774713215, + 2961886011113355273 + ], + [ + 18416560308726814574, + 13268442392529675309 + ], + [ + 16637445640635886854, + 8391247237470735678 + ], + [ + 17731933925064196459, + 9903881061498358509 + ], + [ + 6885949049151320735, + 11692455487443399248 + ], + [ + 15983569924686491462, + 6158919888155158020 + ] + ], + "merkle_proof": { + "siblings": [ + "13929934689212300004909381577161090241949322400124919985219040415524366382900" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 11818346683891822062, + 4328106177437107085, + 5294727899287142052, + 14845284551047393467, + 5834906830544190335, + 6158906859268179599, + 10891901148756093662, + 14087610010916657362, + 11706080621559771288, + 8837437374287875716, + 8954400356312765135, + 8653028385514334435, + 11908354646598941605, + 12676416567511456926, + 9058414638958355170, + 1991503143692528377, + 18162600960500585330, + 16769024972918277446, + 10815532281228191457, + 479322735926640371, + 5799450091632473102, + 17568250526118254752, + 6201617785765883979, + 11238602426791403415, + 15634641670971339868, + 15026240274931187214, + 3561839606317886532, + 14744597242037322113, + 12387604363484916215, + 730802461870707051, + 11134390630293022709, + 2476108925023081314, + 9330482355610407799, + 18375158909829415637, + 4339746751814843180, + 5285938628922083552, + 8140835551283759705, + 10861651483767895506, + 15768295957612918136, + 178728284688595504, + 11044189122262255766, + 71506374638526264, + 6959763789889417844, + 4851497940782365721, + 9126854802918424889, + 15317375857964979725, + 16089476704293432939, + 8551048017857389570, + 17293171412026569462, + 14507803953745974802, + 3351485654392918365, + 18286885686574592618, + 15730404092978556012, + 12403943513857204271, + 4136641932638230409, + 3561648258886191838, + 8215117149858879725, + 10519879566458215066, + 7728970919344847311, + 10674965446794062415, + 4926866606979580576, + 2510079660021266639, + 18281387585321151106, + 8064525335686236546, + 5043774863224413215, + 17925310986422411016, + 8807451218787705847, + 12290802166754994217, + 9039337065848814639, + 1998693333291564785, + 6721672760168106781, + 13872235384820785738, + 10077269471452786743, + 2855103120531408526, + 16281980495277684627, + 10864113661381857533, + 11842525955620925112, + 15968718341412172796, + 4384486072216613228, + 11250122070729649687, + 7222734897617069502, + 11181931898315446622, + 8478588418231413378, + 15206918381283975361 + ], + { + "siblings": [ + "12769215042749250639869413004245103037703391963256692979364484014390073701790", + "7002779711937996935775547633262343253448028702925868314143977781967792220009", + "4493595253387511577189870758646505806984806914405635199310779996482592112812", + "10599816443944711697789652891076336564446847199862171321502087522025518187687", + "7466279708969085941471166701413284786975147025409585609433825080815902832738" + ] + } + ], + [ + [ + 14930539285160554487, + 1105020494964487396, + 2554098184750867182, + 3914379724822753234, + 7942464852039096754, + 15728258025985911753, + 272488534074706109, + 1211080488661159442, + 14486148013158678961, + 10514670431289051768, + 2443141817530389827, + 17164411590155278758, + 5522446805928254545, + 13013402865539745025, + 5014039016521244795, + 7785162638797774312, + 16317651889375078595, + 17815345092759469612, + 15685697496225202028, + 1734221010086935745, + 17416248167535879301, + 5681096479288210627, + 10216048093909369298, + 1807342471981712364, + 15810442261253378390, + 15750975041303133236, + 10781870641993279874, + 14757271718564874127, + 1843023789718216927, + 3592561477479646431, + 17377226133657784793, + 4252125437501837930, + 2512657096647875380, + 3499464197854396359, + 6096792497109011747, + 247087239143322188, + 9066275339816708336, + 4541569710572190578, + 7380292685354255512, + 15186289124437136868, + 1760720712663212970, + 7508477448080244095, + 9535971167601410822, + 3978144406661166816, + 15751209999536179852, + 5317790055813387382, + 13716005276016080411, + 17087598502768798028, + 7167774096836616803, + 16985952117541908968, + 10926730762143359922, + 14675014688234397751, + 6649516115427392744, + 11570894903068369934, + 1806932172822492716, + 16030337798105950922, + 7480817814722705228, + 10711300924293551352, + 15956892947908048063, + 6165500985003872489, + 3147340378928660914, + 1125576578492459860, + 17448077085510515357, + 10749728729461078989, + 5381439865887403266, + 16136563884594369436, + 15373661182123232256, + 4743713047569096023, + 4223451191679873329, + 18413340639087823350, + 6885338845172155081, + 5923474788129503880, + 13856164241895359257, + 1600488630014353538, + 14193540419314101306, + 10796452737674913776, + 7666324781812800746, + 15115750785147489069, + 9496759175909036371, + 4369830356059031159, + 2420550443709490876, + 5735295242265210081, + 745056932997653619, + 5626818159473217497, + 12519091086125240356, + 9602303560917762407, + 14746649652915718738, + 11649450815971538975, + 3667884860485557986, + 13154851846119875338, + 5936020862805243467, + 7981377895904448816, + 11321270990065144360, + 9812490589740547535, + 744276022135840864, + 5914199424818653465, + 11686334722563342040, + 12692429477638285601, + 4681120836296847058, + 3710845375123109895, + 6236459223565841209, + 10709686283344883703, + 6131346894556730003, + 3256395409664090303, + 15367521739102485659, + 14281970351409383573, + 14636322637587903998, + 9107983456397814685, + 367498359423181702, + 7528099382315738775, + 1179430559774910086, + 2983285555115089556, + 16455695132327660985, + 13966078560852612472, + 15142638755182110706, + 5149925410592265976, + 3855075742109810441, + 2563297214253204216, + 18325270785954049378, + 15598304715402891167, + 15740609744406588064, + 13893111265434765227, + 12033073544608635700, + 4596234891134912378, + 7716752758982883500, + 17226480142117644906, + 13398334089573807530, + 9169613263796326529, + 9795779598508303882, + 12977381254605514733, + 9673761394221238710, + 6936085864194366086, + 332520358288084238, + 7379846642573013948, + 7305967371174128689 + ], + { + "siblings": [ + "8385816157646859740333120405870363522747454018459754887844126873327251476824", + "9985996229227184347448230573771091486705943391509749347609840118546711281941", + "4420404488589092911488307220593531724497911817192103310465368247642639447718", + "428202057658338643695757425467918657513451485904452766951514439782430248674", + "545168182937580601452464828220502228032038863693151250250520162413164727031" + ] + } + ], + [ + [ + 2451446965832607385, + 8655699824199844612, + 3421832589888070715, + 14149117540981168948, + 11797943072797857669, + 888006431539089457, + 5823694268243154707, + 16281590606587396409, + 12669543171243445758, + 7846324604708505655, + 8626654967948340512, + 12548851854243717780, + 17342377145199613751, + 14738636677800693114, + 5972974371373248603, + 4707158362102881324, + 2349335652663767755, + 15884670746335623718, + 13729268271391494318, + 11385372278065953554 + ], + { + "siblings": [ + "11845527431338380996205370500152314545404797684216295553271073988249128538653", + "21865121865297837465462056146991965473483096213458808639432209861554652086601", + "11521148091845232113707824241652100960452127971733000490638991943842973913219", + "20052195436259603637377747332441939104776895946546692451353908528682362658181", + "10544519178227407031602243252409350043743011678648838384888262653943418616027" + ] + } + ], + [ + [ + 3290045977480174951, + 15975938016283170180, + 7420469997451440552, + 14687015266347506828, + 7964145730598991569, + 7070270511385316996, + 6774948910782770516, + 4159956919284144364, + 17690494469961128568, + 12744915926181888473, + 14098043213667313296, + 639185919459607913, + 4709138052658579687, + 10096944699345969420, + 11117486541368409809, + 11063381734626378312 + ], + { + "siblings": [ + "990905412492344279083572821013486745478204048651309762455418647130185036160", + "9280871626916265255037260050704543605748582683368677302321215960605152539654", + "21223537511937940388664379327922936604525704806616376873839757109029762396456", + "3370011086246284420246675952884920583149216779605706492489477256456819162992", + "1516495456580061274205062019632766359152774967991607745798734612753637499211" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 17428914728948979451, + 7533863594967683514 + ], + [ + 13842723004896462480, + 17513444230266875374 + ], + [ + 6154612778263713708, + 13156519029626209739 + ], + [ + 8763147729445103402, + 14204082336534706369 + ], + [ + 14011088675865618721, + 6254391567919079426 + ], + [ + 16234006952485632729, + 8972205796048010278 + ], + [ + 15284513293897616709, + 4072439820384346833 + ], + [ + 2524959364114387739, + 13476795296600758616 + ], + [ + 16738760202947954604, + 9768964331552612106 + ], + [ + 5398052780576015538, + 10570251508677929179 + ], + [ + 13254041619204139595, + 14362309565343130639 + ], + [ + 14594776067291610190, + 16582370583150822953 + ], + [ + 17615452366734415300, + 17151365140441528304 + ], + [ + 1536831335195328808, + 16178695442935675416 + ], + [ + 12856289220977013315, + 3559717982344871840 + ], + [ + 773522141093900481, + 13690729331344420025 + ] + ], + "merkle_proof": { + "siblings": [ + "3455958417092795508137515403157682691325490629799236026872006266821282533638" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 12316377883333517427, + 2077591439748640622, + 2249392464677619586, + 6043133184109679225, + 4710238646096715811, + 17535568153819993040, + 11907826287452651001, + 13226424359045123164, + 11061248090252766718, + 16723626317780224348, + 8646532693120550648, + 18251625543301666840, + 13191948809306051999, + 17940308082403646715, + 7737918091034744723, + 11779179151375418806, + 8617923760666223806, + 2796985930379393685, + 16546767567799997092, + 11141908330278132643, + 10168834441118691927, + 11956233290533401213, + 11441515192048585564, + 11837708893053070209, + 10329089290484260044, + 14752727437502825437, + 3876056750337885195, + 14353185321961717469, + 14043045421626259314, + 624788185480032894, + 9253246576311855411, + 3480036363640131441, + 13645494284156107936, + 17444734635733753826, + 7165170149605319327, + 17638989724563476749, + 1414308978513400240, + 1391880278486549832, + 11208056507979116955, + 15936689370436657654, + 1554948638390461176, + 7719974020535609299, + 15190822451395868937, + 5443978452567145500, + 7189378753751250734, + 5871761909068707361, + 3951680568848115120, + 10697463468190646232, + 13992682854116672199, + 13154744766142099544, + 6358594125228062126, + 6742042500640228200, + 4910582330171901258, + 3851761636347236254, + 11527149266715931059, + 9849495160597458683, + 2838714386815539339, + 3383092093874516072, + 6569285263073991159, + 18358727674415782682, + 8904681130128338490, + 3788633545245218963, + 887737291183178304, + 10033564440852276613, + 363016986637486451, + 16240290641920054626, + 10081668148133910989, + 17587211900283608908, + 4606813654119505764, + 10012948784033510890, + 3957004597585655437, + 2298597690961477339, + 11359885961597331085, + 4865355036232197686, + 694843054647778922, + 3356579243546378960, + 10798459200436308647, + 4259881954533284385, + 8111207962004602832, + 17850762055085975114, + 5417360481282499695, + 17265221707875095892, + 16786434530014243113, + 11763245983539898935 + ], + { + "siblings": [ + "12107853612358150818382282065362309550986737731707809691760739506891503341356", + "7010936498118008717597000771736361167972000735971539400650931820305940588637", + "12503528387341544235420704749233470416304081714885618912553258815968788018193", + "795812070400164196995001299539544859492740568751154648905473650058150439607", + "2517593012782143345367459517681024656312686269776600254947028165566939087285" + ] + } + ], + [ + [ + 4778882782287711923, + 11777634221993924669, + 17110423818329418945, + 12049673242315997390, + 7629176461710994306, + 5669440073845715656, + 1740625446213547342, + 14948077701120765008, + 8401598123633386084, + 2185223497154672633, + 13880394319000107370, + 5900396915326606687, + 7430143659132770443, + 7618977098066802450, + 2229118173812376546, + 2648262913492602839, + 10529004288047648641, + 3027684513436103262, + 8626584655017279063, + 16023180000267970791, + 12173217955819116339, + 6392169823475606481, + 2813749836919142455, + 16575535078691214025, + 5276606120878006411, + 570825421119981865, + 276816298336232081, + 10871111631928137281, + 10703209083835513090, + 202491012574249884, + 9154905089684358076, + 11010085385230594641, + 17084722372865222372, + 8088508659756225195, + 7360580657596552147, + 16202900184481748629, + 3897172589524291979, + 4308338761775656781, + 834390579569409553, + 11639064476697233187, + 399980079112582044, + 2704548441613079393, + 4346731984432626797, + 6662102317763459394, + 15101242083102213491, + 5099233968965215055, + 7344712395185797877, + 7581223434705583813, + 8266517106715650180, + 7140560264925448082, + 3306397947984304599, + 2012861997988541767, + 9947379235821404985, + 7792200621199557189, + 17878070749721081089, + 10471514550609284077, + 12807432848340862762, + 13196422171424875713, + 9434282197804797065, + 5765732623200790272, + 9411320247821894286, + 11405023300238590087, + 3155010274405410742, + 2632042094013074028, + 4655045278353181218, + 3289525631073334753, + 5936852707872540894, + 11585976528304897987, + 4393443395341447543, + 12324600964175361714, + 17919897501398884634, + 13079094394297111352, + 6528784259047055254, + 4841455992335808067, + 17897286170079614079, + 11429385212980431470, + 5044115594227607376, + 174716268887363883, + 4633103206306862752, + 10956104821717214721, + 10310949238521458105, + 11887552170206318759, + 9176466345577545370, + 17439221126366348004, + 6981408587964215673, + 6726501634854078139, + 17090983599630583899, + 8931749245730156455, + 12103935877400116655, + 17085327201261587577, + 10578054828066036522, + 14348731136148665434, + 9846684280522303147, + 2448253616710055686, + 10609669639559426038, + 18200655723407221816, + 1796325384234546622, + 14062624782059804428, + 18199195085597803338, + 4636498558746889607, + 4135481954853254052, + 2481723867617205390, + 3440814466412660393, + 11823786063576146992, + 18171348480743499430, + 3711750580553006643, + 10321286327177966367, + 1801181080774699890, + 17399257419146608370, + 1002222851884172633, + 16508286377271079488, + 15505249735084591257, + 5403570956420464263, + 7982228608783997097, + 16582706840044210552, + 11935534106477697237, + 3446886504187887909, + 8972913450331373143, + 9339450927154990189, + 1854713999650773785, + 15262178740812269527, + 17520457856092084041, + 8661074403192888107, + 6665099409318927141, + 2937420159995532267, + 1632550847637437431, + 3101188900035507083, + 285163254666382826, + 11305328122823751555, + 17173120192997408205, + 7660448279783949749, + 4819109602968600221, + 9475028491465133278, + 1215675695551110765, + 13512662552410408965 + ], + { + "siblings": [ + "12228361538190401840687065102390844291368344740586292191660432218021150776714", + "21424069332373463181647637945361181800924020456832059168372815376016855213970", + "3589540390691754129608973496312603333674378730464183122628222776034648322144", + "16786739872931022415526066218778290689091894065626927081917726739074148008121", + "16234039175183559421953906082428824628300143462135880749902522816481196672265" + ] + } + ], + [ + [ + 12230626868003647315, + 10957611169366313453, + 6098908250225860411, + 15939168600812692641, + 3626774835787766942, + 5393164207805908820, + 1764172641194398310, + 12052698430986193260, + 8822230048917732868, + 18303072361897612579, + 5558161161665176588, + 5881334679482492084, + 989213053969481816, + 15990000502800392496, + 7960953450618758783, + 7478423685157082149, + 5544096077742264777, + 14013714161992340548, + 4237679147363529054, + 17773536870443980222 + ], + { + "siblings": [ + "17903433297421871148478994666616831305229755229384073979694088257734523434813", + "8349020771388596657306322849988780838154720583962569425785079394713868054496", + "19663403071319686784183012414817870160579273986256425985318661923612672569831", + "19135487677247506035286451853077620892394670676802754100526478141233714662442", + "4907983816350205139409835496533479124574880292727826624868519593093482467648" + ] + } + ], + [ + [ + 10665117710727676788, + 9787063608170203047, + 4388102181824962269, + 6577785997761272182, + 14523751850811873308, + 2757000070106960644, + 4300466029731648466, + 10171647300421681000, + 12457269700270718572, + 5971470319238423415, + 13299647669574123285, + 12157408521253139775, + 11938630828989116356, + 3306212906930056194, + 5675299315709626569, + 5368423069092148091 + ], + { + "siblings": [ + "12745682564008769961644930524831977816036986611033745293402959963353438777816", + "14259512751366798996846794299791162979283504822151423671337644584398774990456", + "6878648688020738647714648799921533292283395900156240871076788824690903539188", + "9579197707837673673090809976137400602370324295639902174817163270581159959951", + "12960299841765492075214662114165817087975901118611005194309345286385077669052" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 15621224111930442331, + 7069175956437963553 + ], + [ + 8288156586444171747, + 4948912848661808524 + ], + [ + 14002338924933832483, + 12534715371676281934 + ], + [ + 4009788659310215662, + 10721040036329101938 + ], + [ + 7789119470415706308, + 6896796653231575639 + ], + [ + 11540914354369465342, + 11653778655229485467 + ], + [ + 7193099566794093273, + 9843032853870229294 + ], + [ + 18339992543183501633, + 1372026165531550414 + ], + [ + 3874426690486418922, + 10738712422993889574 + ], + [ + 8193906062402941857, + 8317847237647702616 + ], + [ + 15190690441531305130, + 1708034944723434520 + ], + [ + 18112318185327467511, + 14027380698845435190 + ], + [ + 5858596269946999928, + 11789657952974148151 + ], + [ + 7512584327301219017, + 16001680387108081135 + ], + [ + 3939924978723100863, + 12523007940163158448 + ], + [ + 16814147427308799974, + 6100491662039681454 + ] + ], + "merkle_proof": { + "siblings": [ + "18272954038530743876612306100616501826999335540429769208544504844528476540124" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 5576195843774248136, + 5897138013231276716, + 3673642662124331187, + 15072415118956703550, + 489140349672162006, + 10485450806602305070, + 3635440458497462713, + 6157075628163960567, + 13948111174787864324, + 7862389681230327480, + 10340901404162146029, + 14123438051545823425, + 8574444678191699309, + 13971432934750377839, + 17633498030696703884, + 17438395614659704067, + 2948339759729686959, + 4268884787118497458, + 3450063498479168877, + 14567962451636931279, + 10329802982080806118, + 16417349430999273178, + 12463717763004369356, + 9009530064239581635, + 9432930682814161894, + 2392326780193095582, + 4767468383035055094, + 12297634885342681423, + 3498103035832900635, + 12510335312202546433, + 9710264630125001674, + 11830848644443183023, + 14305175273741244725, + 8655702649764791800, + 16107617259509021851, + 16328472479037168204, + 17335119072187163344, + 14928528967192283576, + 10013470588192727435, + 5331274662249175679, + 5766271722076960768, + 4785569784944585217, + 6235359803535201172, + 16796823955963870826, + 9760352645844563218, + 12051171143560451797, + 10789447992790129641, + 4591782528972527520, + 7241734516274198748, + 8744994116766701222, + 6235957231024881357, + 12163642622531735883, + 10571660185812763566, + 8139821649639793697, + 12223871395512253826, + 3710074815410874940, + 18283010691391880591, + 7652783341634038207, + 745406186317781515, + 16558990343681088218, + 12704528894609199332, + 15893220384334236727, + 386078615778738378, + 5402345589863599663, + 11105929214379713519, + 15089273417551950505, + 4637553014021629528, + 2970680464050013200, + 9790863421617815274, + 6815768325286610475, + 11378112808938151165, + 12160583390052145294, + 6711130870194047920, + 5070719840153519467, + 17667631526916152085, + 14811601701328455072, + 9417646736976943687, + 10462818667552941862, + 10918680541551802106, + 17081676905423274652, + 16777486487442395510, + 16861971665321786687, + 5889479251085549990, + 17363534593128269148 + ], + { + "siblings": [ + "6635898539920189799645135257510622370666169970892243398689537942953492401468", + "17655216997225297078325052152504559753376471736392232123221106554538288085648", + "12253570400323286504762140882348804647933115569114841476290212295171097851785", + "19716575504602780228328902628699086272917019816526677561893396775968311326801", + "2201894898491997928610982817667714480622432629275086760903320762118321319810" + ] + } + ], + [ + [ + 9162347021572748234, + 2406319059543780918, + 9553046847480655030, + 2762385490307822030, + 17599672958615004635, + 5979333222655191751, + 8641064484004098560, + 16948896911045298935, + 7702163498175999628, + 10555919057168398562, + 13229281835501546743, + 2228385875115335142, + 18311314638328586921, + 14147155443624799318, + 16407010561193032894, + 6727370957057733724, + 8062525585184659415, + 10833330004860289003, + 17357458625027820949, + 567675926152832945, + 9634491273949849836, + 16478579650780475171, + 13981884897528878964, + 4464619041930733979, + 8625999552288912925, + 2193364369969542715, + 1835355854168964027, + 8171996502081787843, + 12485946361420700283, + 14102859699974481914, + 16944374864894387948, + 16191121351239028009, + 11260297052163256251, + 17139704263469836534, + 736275549562035872, + 2412113016709362209, + 15333279753302786480, + 12790885466243568472, + 14817538698117892502, + 158111003718115617, + 1462656323245397899, + 17823645171542967029, + 10591187802099163863, + 11641165496287128859, + 12075126815172306827, + 15025447046057121782, + 3153587537691403900, + 11621929953173180227, + 1962070693089626076, + 5525660136653858411, + 10905402753882863922, + 1250145327962878396, + 5152975609568997401, + 12828603284119999477, + 7247223981018109367, + 1506518308410539364, + 11491658862797151173, + 5312280339068753063, + 1159692923769081175, + 3111584017285863398, + 8766804345915754240, + 5586101249544586367, + 2200081062928023516, + 5405714202494461318, + 12523952923936485939, + 14279856606169040693, + 17850177319278449958, + 1355349283761923904, + 5319871638812685021, + 2849474770923571418, + 10674193488434585061, + 16255904485532212624, + 17856028462338228811, + 1585717818010121208, + 15855446869137478944, + 17666076812153837713, + 12873787912872238349, + 17465710613580889323, + 3086373984507283707, + 8147375495733785274, + 15386498888273043641, + 16290685158982011543, + 9796395126395519489, + 9693440739464026392, + 5294557725143529003, + 13539886244825195664, + 17398504565425573294, + 16758037711627622815, + 14553501726314576187, + 10381282043776956731, + 4313750665568059673, + 8608338670633145292, + 15699061949049905587, + 1627810347311105908, + 17964909540277898660, + 16883745478436422896, + 12887908784905284845, + 13800144719716266050, + 12643961241560550204, + 4514231757712180471, + 17855497404531988919, + 9598232426649460093, + 16795135966281436844, + 12745228289877349588, + 8803301357506916456, + 4807288599978292837, + 11356510035312715641, + 16531107951810350177, + 6810402421823189592, + 7105444832147143523, + 18337230684114211709, + 5169888325699152158, + 16548214879379458531, + 14050169999026886093, + 1428073570956168217, + 13935336233158770310, + 5560067008613077144, + 18066726638754558138, + 11016420589892604297, + 14368330239045728314, + 1686649012722233799, + 8019996983358012671, + 2186635131877088606, + 2701244836559194569, + 18402270330221861346, + 910149814646648191, + 15005874557909201364, + 14473348900490897751, + 17408417906744227560, + 1522415796126855871, + 10545170373652848088, + 2997703471476638090, + 12894735042876862915, + 9211500382026529675, + 1484441139836609075 + ], + { + "siblings": [ + "11343105972904724063717082452577402062669322989531866161780501697911298250727", + "16203796427144212639139418714658963333867290996318254263008532451125746895206", + "13342924523443156985669129851183028159717686059118298350092550609587303335122", + "20799518627754539578074231445639457931868853097936778841489346568307736217", + "13906598617868828353412449068166730809943519527762596291471792229417858172346" + ] + } + ], + [ + [ + 5112240603830883390, + 18032683998587842203, + 7856943816473946410, + 13118285586221586144, + 16304420913355497088, + 366088313109792944, + 18233853910814518839, + 3555464899612563774, + 8002766130236413717, + 2382511478357330135, + 17991043024664496029, + 17283250521715682834, + 8684663560368616242, + 437600383997747754, + 4062263769188840873, + 5868243726665054051, + 6096924784660695587, + 4979374592784825316, + 5244537235148553526, + 5143132002869724612 + ], + { + "siblings": [ + "6601654590151943584999788608978490908606907460491417602815279266891054693481", + "13809087667817591923085438556132668540383031931041639944614546446319566962859", + "1900947926519002019520074794122116764910880015821123001976296206766869166353", + "7398009844684664052647215694184524794804705385608776025595294730560669779087", + "1593581887707458646792421953370132903452455171218750338143610746149117763971" + ] + } + ], + [ + [ + 4011867566939162002, + 8907822115447666354, + 17198745369732729781, + 7273939054220233515, + 18256178584431984720, + 6239254069770702611, + 11871946186286243491, + 3242403478190486521, + 5292037120520004074, + 4518674124729464886, + 7513432845016634979, + 8509391581432345904, + 16863598294638140962, + 8352716895412890820, + 17996368768088734559, + 5893971026523234824 + ], + { + "siblings": [ + "9193352239508158091779665317629758204973748055795835989355832251648540887295", + "16213630153027009362226008688120924090490002269601829912859969063033324178603", + "18893325303215886121938871721836660442058990790346447733736530594236390082467", + "15933842514262310673635724476006290275401479117474534163991122292167564992007", + "14067147000346725667487612333656361946498033209047438997513337192011937677946" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 9839483122014306380, + 5035128170919175983 + ], + [ + 1992050833512675797, + 6667793853731763405 + ], + [ + 436001544251496618, + 3721439132511010062 + ], + [ + 7541477536479619106, + 546694194832034233 + ], + [ + 5295991649112473604, + 1137986392546531410 + ], + [ + 13071146063599259647, + 5608789504412957607 + ], + [ + 9012641571756108055, + 16519779578326304724 + ], + [ + 6045631607700102005, + 6583037571911075677 + ], + [ + 11819320137494472395, + 5747000430106747665 + ], + [ + 5736368447726193422, + 16841860041687593277 + ], + [ + 18039901680774713215, + 2961886011113355273 + ], + [ + 18416560308726814574, + 13268442392529675309 + ], + [ + 16637445640635886854, + 8391247237470735678 + ], + [ + 17731933925064196459, + 9903881061498358509 + ], + [ + 6885949049151320735, + 11692455487443399248 + ], + [ + 15983569924686491462, + 6158919888155158020 + ] + ], + "merkle_proof": { + "siblings": [ + "13929934689212300004909381577161090241949322400124919985219040415524366382900" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 11818346683891822062, + 4328106177437107085, + 5294727899287142052, + 14845284551047393467, + 5834906830544190335, + 6158906859268179599, + 10891901148756093662, + 14087610010916657362, + 11706080621559771288, + 8837437374287875716, + 8954400356312765135, + 8653028385514334435, + 11908354646598941605, + 12676416567511456926, + 9058414638958355170, + 1991503143692528377, + 18162600960500585330, + 16769024972918277446, + 10815532281228191457, + 479322735926640371, + 5799450091632473102, + 17568250526118254752, + 6201617785765883979, + 11238602426791403415, + 15634641670971339868, + 15026240274931187214, + 3561839606317886532, + 14744597242037322113, + 12387604363484916215, + 730802461870707051, + 11134390630293022709, + 2476108925023081314, + 9330482355610407799, + 18375158909829415637, + 4339746751814843180, + 5285938628922083552, + 8140835551283759705, + 10861651483767895506, + 15768295957612918136, + 178728284688595504, + 11044189122262255766, + 71506374638526264, + 6959763789889417844, + 4851497940782365721, + 9126854802918424889, + 15317375857964979725, + 16089476704293432939, + 8551048017857389570, + 17293171412026569462, + 14507803953745974802, + 3351485654392918365, + 18286885686574592618, + 15730404092978556012, + 12403943513857204271, + 4136641932638230409, + 3561648258886191838, + 8215117149858879725, + 10519879566458215066, + 7728970919344847311, + 10674965446794062415, + 4926866606979580576, + 2510079660021266639, + 18281387585321151106, + 8064525335686236546, + 5043774863224413215, + 17925310986422411016, + 8807451218787705847, + 12290802166754994217, + 9039337065848814639, + 1998693333291564785, + 6721672760168106781, + 13872235384820785738, + 10077269471452786743, + 2855103120531408526, + 16281980495277684627, + 10864113661381857533, + 11842525955620925112, + 15968718341412172796, + 4384486072216613228, + 11250122070729649687, + 7222734897617069502, + 11181931898315446622, + 8478588418231413378, + 15206918381283975361 + ], + { + "siblings": [ + "12769215042749250639869413004245103037703391963256692979364484014390073701790", + "7002779711937996935775547633262343253448028702925868314143977781967792220009", + "4493595253387511577189870758646505806984806914405635199310779996482592112812", + "10599816443944711697789652891076336564446847199862171321502087522025518187687", + "7466279708969085941471166701413284786975147025409585609433825080815902832738" + ] + } + ], + [ + [ + 14930539285160554487, + 1105020494964487396, + 2554098184750867182, + 3914379724822753234, + 7942464852039096754, + 15728258025985911753, + 272488534074706109, + 1211080488661159442, + 14486148013158678961, + 10514670431289051768, + 2443141817530389827, + 17164411590155278758, + 5522446805928254545, + 13013402865539745025, + 5014039016521244795, + 7785162638797774312, + 16317651889375078595, + 17815345092759469612, + 15685697496225202028, + 1734221010086935745, + 17416248167535879301, + 5681096479288210627, + 10216048093909369298, + 1807342471981712364, + 15810442261253378390, + 15750975041303133236, + 10781870641993279874, + 14757271718564874127, + 1843023789718216927, + 3592561477479646431, + 17377226133657784793, + 4252125437501837930, + 2512657096647875380, + 3499464197854396359, + 6096792497109011747, + 247087239143322188, + 9066275339816708336, + 4541569710572190578, + 7380292685354255512, + 15186289124437136868, + 1760720712663212970, + 7508477448080244095, + 9535971167601410822, + 3978144406661166816, + 15751209999536179852, + 5317790055813387382, + 13716005276016080411, + 17087598502768798028, + 7167774096836616803, + 16985952117541908968, + 10926730762143359922, + 14675014688234397751, + 6649516115427392744, + 11570894903068369934, + 1806932172822492716, + 16030337798105950922, + 7480817814722705228, + 10711300924293551352, + 15956892947908048063, + 6165500985003872489, + 3147340378928660914, + 1125576578492459860, + 17448077085510515357, + 10749728729461078989, + 5381439865887403266, + 16136563884594369436, + 15373661182123232256, + 4743713047569096023, + 4223451191679873329, + 18413340639087823350, + 6885338845172155081, + 5923474788129503880, + 13856164241895359257, + 1600488630014353538, + 14193540419314101306, + 10796452737674913776, + 7666324781812800746, + 15115750785147489069, + 9496759175909036371, + 4369830356059031159, + 2420550443709490876, + 5735295242265210081, + 745056932997653619, + 5626818159473217497, + 12519091086125240356, + 9602303560917762407, + 14746649652915718738, + 11649450815971538975, + 3667884860485557986, + 13154851846119875338, + 5936020862805243467, + 7981377895904448816, + 11321270990065144360, + 9812490589740547535, + 744276022135840864, + 5914199424818653465, + 11686334722563342040, + 12692429477638285601, + 4681120836296847058, + 3710845375123109895, + 6236459223565841209, + 10709686283344883703, + 6131346894556730003, + 3256395409664090303, + 15367521739102485659, + 14281970351409383573, + 14636322637587903998, + 9107983456397814685, + 367498359423181702, + 7528099382315738775, + 1179430559774910086, + 2983285555115089556, + 16455695132327660985, + 13966078560852612472, + 15142638755182110706, + 5149925410592265976, + 3855075742109810441, + 2563297214253204216, + 18325270785954049378, + 15598304715402891167, + 15740609744406588064, + 13893111265434765227, + 12033073544608635700, + 4596234891134912378, + 7716752758982883500, + 17226480142117644906, + 13398334089573807530, + 9169613263796326529, + 9795779598508303882, + 12977381254605514733, + 9673761394221238710, + 6936085864194366086, + 332520358288084238, + 7379846642573013948, + 7305967371174128689 + ], + { + "siblings": [ + "8385816157646859740333120405870363522747454018459754887844126873327251476824", + "9985996229227184347448230573771091486705943391509749347609840118546711281941", + "4420404488589092911488307220593531724497911817192103310465368247642639447718", + "428202057658338643695757425467918657513451485904452766951514439782430248674", + "545168182937580601452464828220502228032038863693151250250520162413164727031" + ] + } + ], + [ + [ + 2451446965832607385, + 8655699824199844612, + 3421832589888070715, + 14149117540981168948, + 11797943072797857669, + 888006431539089457, + 5823694268243154707, + 16281590606587396409, + 12669543171243445758, + 7846324604708505655, + 8626654967948340512, + 12548851854243717780, + 17342377145199613751, + 14738636677800693114, + 5972974371373248603, + 4707158362102881324, + 2349335652663767755, + 15884670746335623718, + 13729268271391494318, + 11385372278065953554 + ], + { + "siblings": [ + "11845527431338380996205370500152314545404797684216295553271073988249128538653", + "21865121865297837465462056146991965473483096213458808639432209861554652086601", + "11521148091845232113707824241652100960452127971733000490638991943842973913219", + "20052195436259603637377747332441939104776895946546692451353908528682362658181", + "10544519178227407031602243252409350043743011678648838384888262653943418616027" + ] + } + ], + [ + [ + 3290045977480174951, + 15975938016283170180, + 7420469997451440552, + 14687015266347506828, + 7964145730598991569, + 7070270511385316996, + 6774948910782770516, + 4159956919284144364, + 17690494469961128568, + 12744915926181888473, + 14098043213667313296, + 639185919459607913, + 4709138052658579687, + 10096944699345969420, + 11117486541368409809, + 11063381734626378312 + ], + { + "siblings": [ + "990905412492344279083572821013486745478204048651309762455418647130185036160", + "9280871626916265255037260050704543605748582683368677302321215960605152539654", + "21223537511937940388664379327922936604525704806616376873839757109029762396456", + "3370011086246284420246675952884920583149216779605706492489477256456819162992", + "1516495456580061274205062019632766359152774967991607745798734612753637499211" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 17428914728948979451, + 7533863594967683514 + ], + [ + 13842723004896462480, + 17513444230266875374 + ], + [ + 6154612778263713708, + 13156519029626209739 + ], + [ + 8763147729445103402, + 14204082336534706369 + ], + [ + 14011088675865618721, + 6254391567919079426 + ], + [ + 16234006952485632729, + 8972205796048010278 + ], + [ + 15284513293897616709, + 4072439820384346833 + ], + [ + 2524959364114387739, + 13476795296600758616 + ], + [ + 16738760202947954604, + 9768964331552612106 + ], + [ + 5398052780576015538, + 10570251508677929179 + ], + [ + 13254041619204139595, + 14362309565343130639 + ], + [ + 14594776067291610190, + 16582370583150822953 + ], + [ + 17615452366734415300, + 17151365140441528304 + ], + [ + 1536831335195328808, + 16178695442935675416 + ], + [ + 12856289220977013315, + 3559717982344871840 + ], + [ + 773522141093900481, + 13690729331344420025 + ] + ], + "merkle_proof": { + "siblings": [ + "3455958417092795508137515403157682691325490629799236026872006266821282533638" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 720097533696385354, + 7036252402949733668, + 16686480074193873258, + 9005629127525272691, + 16733059453260880241, + 2119971295801350199, + 18348061961845362934, + 7551132816818758561, + 16377107417707527640, + 7802416719618429112, + 7351687748773332043, + 59310160517585485, + 11423297993294675589, + 9321638469632041026, + 16314954444427624367, + 8540172493284947274, + 6783664257132812482, + 14429411161261176012, + 8079681127861221718, + 7500115377499118309, + 5222400019423943951, + 15978745237007192292, + 16495530823769249899, + 18272184043262362756, + 13643223504386672392, + 4873337765580729457, + 609990836856470312, + 5156490805051461818, + 3070609147626520906, + 1441946656091128377, + 7295217808633057753, + 2969152351373745627, + 8149752300951842342, + 10957550861943578811, + 9857836653531144324, + 8491584854333702521, + 14006561005914082882, + 8344875747289956652, + 1493164069365838081, + 4643038552104078216, + 1338536656925782499, + 11136336125601367978, + 6418581080947874207, + 6102145675482866732, + 4093045200666108245, + 7657706082647637643, + 7981877394668062972, + 4536975719183072658, + 13733681870767037473, + 11049041133488417267, + 16767280545680670574, + 9699700803952702468, + 10238519667794791046, + 14091134729626820222, + 7445030716667059752, + 9190614689233212566, + 11622621915066985874, + 7506862267596449606, + 623747454878257503, + 4359961829100523050, + 14438185120981590122, + 10204508408848470834, + 3431369540114934702, + 8964464312286533043, + 4650369046793943763, + 3031093934131549222, + 11470410857053612336, + 14775228862560517957, + 5255919356435460758, + 12882552684181921262, + 17914316219163411804, + 2235653523557965474, + 1889431321965604394, + 1344098923322537354, + 12912816405955689153, + 18248329932445649984, + 17072307032842991349, + 15132952328081131954, + 13142154083107997073, + 7572085326471671104, + 16280989796439140792, + 4633895916375506377, + 6656851308578831856, + 18166346987115203405 + ], + { + "siblings": [ + "12726256308633809849880847026687048500947805716175498313660447636790811897681", + "8405853257677656384007552310240207746012886743228304619814452558254382174251", + "18967270754816647337940200132444237769505624024629875854704853117929923621474", + "17942933080097363163908347881788005893642909939618598303126291219024690627186", + "19343040374781378021430966293822755502516861263151019075221864504050194116914" + ] + } + ], + [ + [ + 126941883756838094, + 3660438811444702519, + 7357322613542101512, + 8843310878841440158, + 193452724530246535, + 2362976261283353250, + 14030351056972504238, + 9579038542752008135, + 13810147345423810933, + 13976959478082449100, + 3073801213809112431, + 10472564254880785247, + 9786859081672014213, + 17023550489207389030, + 4899508497550117443, + 18232058798264451817, + 2524681396051382345, + 10764185175136144038, + 9392236677935214326, + 10342525548086951968, + 3065799690617637720, + 15959620189069669518, + 10290123076558238362, + 6886814418929140860, + 6820767878079888747, + 9198805896941600750, + 6764619663038253930, + 6865672699213761740, + 5092290597303787420, + 1417645838723254042, + 16374017229405916638, + 8505856446180691033, + 16501507642663509702, + 1946488272105785620, + 7869294268255461259, + 15947380943797771945, + 1901833595795732927, + 17944708685312668856, + 3590746011633532967, + 14548122658443156737, + 9918500938171099688, + 11996110238530545627, + 14745358343570467528, + 8792102766952287938, + 3028025511655887158, + 3826979932145775241, + 2434136756301283612, + 9062804593735757254, + 16624476169391362606, + 17947465715460802730, + 3836045474094192079, + 4227481512581277628, + 5315172360389626362, + 1654672254471228180, + 10666468661382117847, + 6620346047348073681, + 9263599555431606900, + 9910477686880099875, + 4037591004540086819, + 9498505337648305225, + 7250308148391879543, + 17975010964531365253, + 4612140665053197661, + 14282896113293682409, + 687558645452514960, + 4096229390458463285, + 4196170017770167426, + 5611820335103199112, + 7154152679510454592, + 13632318657237333654, + 146802096248970022, + 8986300951764745302, + 18023880208963921366, + 3754514015389599561, + 11184287314154538001, + 2585420598276279070, + 4859272781464069022, + 12632115811325085688, + 13729297111752188808, + 9681538141036983274, + 7451855392938873429, + 8141872366034767909, + 14303338627620099726, + 2436514919903803039, + 9928573387807955207, + 12243772946703627666, + 17385606274006797763, + 8070490141899736829, + 556330324577025142, + 10955483188344665143, + 11402709051731684244, + 17529674042884420124, + 4737317924875963598, + 9611165645191110643, + 10993804658168225358, + 16763659950747797360, + 3894331607929935240, + 17741297483916986306, + 15711673396478634511, + 183655701148405173, + 1871773370371484822, + 13908801918600496041, + 4725138809429455381, + 3307326063926372382, + 11333888679801375984, + 17646140060499991402, + 2749136901279756085, + 12366564642556852582, + 12180885525942230413, + 7752633177130507352, + 14750217324064051118, + 13344429342497530666, + 1925398317181786329, + 16388775371299316497, + 2445084970987625079, + 8710897302933340025, + 16367307637008640646, + 16434170736452653839, + 5343516856341661327, + 3489698247433469339, + 2694956047082529434, + 2853751844321179723, + 8921158075615667864, + 13006431487456886644, + 5512683070844016720, + 4941507307819792150, + 18411008060813064699, + 12653136291915369725, + 31351713528147421, + 13931982496866127096, + 1077561240379849857, + 5935980191050474198, + 15078115389361902947, + 3637422776675816502, + 5420644990818183018 + ], + { + "siblings": [ + "18898252877596712499505640210497186339339095134101743522014057545764920959350", + "13040746735174991125950024983667058959454203751081783201897035355451839872696", + "15865998530696567562187761385422767055680089652604434203631039186305767693701", + "8616038396128655479313578289245703874469888178324214123873233884597110065532", + "5637400766303484169980002186872410112164048193184412674411044206955363729721" + ] + } + ], + [ + [ + 10869326988522799481, + 103853132074852975, + 9046917244001088155, + 2597116000874352758, + 1866444141945825545, + 7619198703269959826, + 14717520038998196731, + 225410766151920590, + 3616407211985954432, + 5718153619699581950, + 1566163647134805110, + 9407025887554658488, + 13011557099350659650, + 11354936325073034841, + 9617055154931790266, + 8154204322760729774, + 3732921870266792645, + 15257167053150601340, + 1874437489300993495, + 399024513215080820 + ], + { + "siblings": [ + "12935626548241563193183904009764910751420214681966499124389795751410726267105", + "6040405939280860803658454601463287820547811880727989247143191268215757853040", + "18842044068513466589287126301293007047568092304937478473559297266596293577128", + "5582210188255102228488171441567365596506539734352082123860951687997888302861", + "15476063410012875221227308474637934894911181045510781236519019965328696628323" + ] + } + ], + [ + [ + 13101579247709813717, + 11050299255676344641, + 10810925514597238639, + 16576093534882444084, + 316584256617699854, + 5231284963389617939, + 17333817736806192709, + 18264326078432757091, + 11838095312056869716, + 6920884698620246827, + 9105565487241179010, + 13170906916727886532, + 15830719658642147957, + 9081570756885352252, + 9974792091892509621, + 16341571592224261815 + ], + { + "siblings": [ + "10231887631595788195960455221028390863365759877616928400273004666475106868151", + "5336405127950466815779542776640634948347603666325574253247839015577465081267", + "4010616411024129245422496451345341236055505187495691497577819305824577929326", + "11341363644670650075051445190330708379536779769644052512040757803933309722690", + "17065515256049128408810736258856671219958143156772124479504971489642444988965" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 14495485543600245535, + 17673260672791773992 + ], + [ + 2589174884236123087, + 10076351000922495258 + ], + [ + 1392382413122619556, + 15592998181728764407 + ], + [ + 6096048269813274182, + 7452760610008507701 + ], + [ + 8438178880963561996, + 9588773458315229519 + ], + [ + 17850206110817535234, + 13285538441582700954 + ], + [ + 11225388348314282612, + 14790482532764243606 + ], + [ + 16925717318533325229, + 8688698820219936940 + ], + [ + 4883420426391589075, + 11300597111979292770 + ], + [ + 18029155391312506805, + 16052765697729513430 + ], + [ + 14915496537250962031, + 8843250537881442456 + ], + [ + 3721406419589348336, + 16730196441093540598 + ], + [ + 10868035067412824368, + 12565389832620154359 + ], + [ + 2903326055328178343, + 1279774553549809213 + ], + [ + 16937647668664168776, + 4563220908054722476 + ], + [ + 4162555317701317371, + 3821615598212211796 + ] + ], + "merkle_proof": { + "siblings": [ + "6563186504195743690942096791030613256092554826124198351264369794605173606553" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 18157493922813461067, + 3186988929628629555, + 7332407832607283054, + 9078394083282813594, + 8199003432723389175, + 215051712462021522, + 8713872163602415432, + 2050617559079658974, + 5654388542083298890, + 7119949417015010209, + 17136607264107651742, + 9401546966704846033, + 17829998522281158955, + 11584482249659560399, + 8754766327948796712, + 2629631645692417484, + 7611228681168516461, + 17101729198060271977, + 3373487954201149782, + 14133692817091126297, + 15436787447050167085, + 17556321724985903035, + 8564260420791913781, + 4676179971966548641, + 4217824913551270196, + 6290826603590106860, + 13116376993538054587, + 11887718487616019873, + 2478759471577756392, + 9297198119296815953, + 3829034994173627440, + 5299013381701770486, + 9667152940579480402, + 1606804414998198247, + 7034474442416491582, + 13124465639302339717, + 4830171007785369384, + 8700820083685477595, + 11002312727651634667, + 4803129404807640249, + 12685314100312937396, + 1010227193195943101, + 815351689890087795, + 3098657559029037224, + 1864696247883973825, + 5340705694263213878, + 2304536068154857769, + 5838939254640893461, + 13023626371091748143, + 4023300007440886926, + 17614622884852791390, + 18214401707115700222, + 2495719333566867248, + 16910435827357532452, + 12772139433324863658, + 13995054272231392252, + 15477041403722942444, + 7719621787623962097, + 7418136045958501356, + 10604357223614748511, + 8633854537811985550, + 6194385870090766582, + 9836619361287885991, + 4554878106884811931, + 14191155333999113067, + 2731774199043178494, + 5890677601546333511, + 15789845536999528299, + 1827660723133232980, + 2962568843965056149, + 13310964141175170025, + 3360071688896666244, + 16335051791635900903, + 7886879435405838196, + 9864174735523186053, + 6304966706722303567, + 2681460142391801657, + 3761318427087119383, + 16710898932258029410, + 3817350854089920666, + 764610183942089945, + 12046380041901974559, + 10251480588714809750, + 6872663936276502306 + ], + { + "siblings": [ + "17974122387754943164681637081752763113912580550894106679784731079014279112294", + "3067419043899359820122816025409573563084035040615089816545381593281946872478", + "3322912860548160520794194952438370913522590492398254601346933287221198202330", + "365793670497038509213086513967484866300656688522062536254406439931667986395", + "16822257792669224888618573115167534349203264435782507388220531117631473641005" + ] + } + ], + [ + [ + 6482944962267506937, + 6003866484131230271, + 12467924476829884284, + 10510874913383449642, + 13336487288538715220, + 12975653436771006016, + 6787256187474704998, + 12998559089869868334, + 4508389844621040674, + 11061797842556266517, + 15981197584106082993, + 10492123992486736968, + 11476637646291812139, + 10046345367571418256, + 15284221084535490545, + 1187020423702591158, + 2778302978476053004, + 16986450908674263869, + 11268071716271780216, + 6923333076326152847, + 10561217310675350451, + 7352241657106862683, + 17039213593253424755, + 8474679756493314861, + 2437720844343530138, + 1800999277281317949, + 8660615928184757965, + 17523360613371981322, + 12817913425918918046, + 12435348959527718044, + 839470774891734380, + 6317798718224703199, + 5653461780811624686, + 11761822999761802800, + 10707460538035570153, + 13036281833471979033, + 2672411458399235705, + 11887014293531976197, + 8045249008868294557, + 13759189016158117243, + 6829025609339642990, + 16272762791457533325, + 9832187867763631137, + 8003051605714834158, + 5155298358030133160, + 11413541261570310790, + 15613560237471419304, + 16061920204181958582, + 14657817121500191606, + 57481043866446376, + 5277702573507896788, + 11799261237800745298, + 6250339653064081648, + 11602951470420127405, + 7135931096791492004, + 4215149765437519386, + 1519993891142967766, + 8594814191178014304, + 15670545083502992999, + 8408426953653892512, + 14911907006771372804, + 6879102632976819553, + 13220007706968626313, + 9100045355685587394, + 1822400760378920886, + 8704728030065597621, + 18139473121200786329, + 6052390120830566103, + 8066158892893304477, + 3971874622103322044, + 13948719974342030771, + 418760907795890643, + 1424793588694552074, + 5564758944571509939, + 7609359005136525229, + 14721411337174639063, + 13393912504040546403, + 11731113666284210918, + 16993201210186085158, + 4220465581485412455, + 15081755927918644749, + 11947891962799368858, + 18014438769391992514, + 5638644988340758781, + 13729956240899613459, + 18420113150942310983, + 10797955986443818680, + 12526922148413522136, + 7706460628595196227, + 7827849136389725179, + 11880722234722692406, + 6136028597712098706, + 42525731109287101, + 1300866409988207629, + 16217771019904098275, + 10281837660613171515, + 16720030284626524649, + 11074288405385835090, + 6863978203129187190, + 4108204952846407908, + 11776476093268652408, + 15617103948726157954, + 14249580895551232959, + 15146122024553861296, + 7312682578785258684, + 9168705785749579828, + 395239792141590226, + 1146643129392779720, + 4966244881191345423, + 11594745514372927656, + 8390959263010849230, + 11654842970286763100, + 9707936475558242275, + 8216182050643960614, + 6112145098872175591, + 12161142524294211620, + 8927680796239211614, + 9849168420640977091, + 10911557666658237808, + 15628348496534852600, + 15275654768516433303, + 6323631144229218805, + 557016897271671337, + 11200160064843165479, + 15164534843579851476, + 7503240454722119964, + 2625257186829220117, + 5281734541993074891, + 10939322602676031518, + 5222851367081595575, + 12069709938710295035, + 658854588474274920, + 7010204513663479248, + 4061084475003087833, + 9492376621559385699 + ], + { + "siblings": [ + "12072018019153465232363537449837003063444807842306725854883533277288562710174", + "11970595571564996047586910069365742936304739781863857358932453624798139637930", + "10768451665823612902208215456175739359394315281488225271997904757987074644924", + "5017727087480310838103445171932533305788162193239719630948371715689540832140", + "4655072650355266887561165722776104799867733665591716282673535246971870650948" + ] + } + ], + [ + [ + 8849243743944165329, + 8132123214991537162, + 15253866547410352523, + 14276611644979485581, + 13224688902139272299, + 7630395221564629228, + 16476133052140147885, + 16590941858139520756, + 8490276437156629348, + 4764932532103681479, + 11149488242999157933, + 17476056008883310714, + 3425170801328684967, + 2136698434921490952, + 10501725509046453350, + 5710588770582103251, + 7376358466099619218, + 2141218544002296631, + 1394172999274944584, + 10586368370954493423 + ], + { + "siblings": [ + "21793474097897243643155101660715276068996897681008106488393407816671067686256", + "17401258096008158229461720774672065241033329664228576803678991182255653603689", + "1233614042726773575976901530888861509117892844860827402713479253338758864020", + "16556659786154386090775652891543170497704633064041788757937634468914170894486", + "19910180998524301529538705471200170149333287998262093353270301551576187598029" + ] + } + ], + [ + [ + 9502522484640767658, + 8958509695003547066, + 17235771434031501641, + 8201851434325730543, + 9546721855249063334, + 4272994221651450801, + 13198181329046420431, + 14160074975471971112, + 17356187816632651146, + 9364777048235232673, + 2610984221034788250, + 3411476641233976021, + 9785128558110082647, + 3691406269892684685, + 8913357341011115776, + 4430279886256941257 + ], + { + "siblings": [ + "2622333822117233395865448326100164679667247547969759524270758047757095989278", + "4524813558825161847380550515376908105459060945365669624811006889131763570016", + "2213616830876381987184751582182886100719768320610693267280169778240917210666", + "15720818929385882458518345518386241195077377039420760961565532959034495860223", + "14369100514734335373072005892663318921144541499003897992444926005025607178084" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 16844637506308886552, + 2842410901619625119 + ], + [ + 6712150866687840563, + 6072667656235812681 + ], + [ + 16606832516436801914, + 6970429156903925204 + ], + [ + 3310256730554726275, + 2248174264483944266 + ], + [ + 11963743533554135299, + 14752314521256434790 + ], + [ + 1385287549191200104, + 14143418191698791767 + ], + [ + 13660809733548080212, + 8897012925997918991 + ], + [ + 6600545287551966066, + 2325932505563060992 + ], + [ + 16222170808478890110, + 12648865666199428982 + ], + [ + 5782736518318176103, + 16265439348652122787 + ], + [ + 11330438863203801969, + 5105403137669345022 + ], + [ + 10266275010549566796, + 12653024228865546820 + ], + [ + 14148510391234964041, + 3183814856696824341 + ], + [ + 9678997915543724645, + 2686015529607705009 + ], + [ + 6294775454774293998, + 1495112617735222054 + ], + [ + 15644616751303742427, + 2007176871743670016 + ] + ], + "merkle_proof": { + "siblings": [ + "16958876974214566543522046314845633512183497399470560350451146961721831367724" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 2022208942268698800, + 17282470475660192645, + 9525020216208759957, + 6522737939638083688, + 17042759350422824921, + 483409349418364031, + 9335686955038408411, + 3113302816611987584, + 5240578499796815162, + 9292796576279411673, + 15028823010622110400, + 2616974570203599967, + 1949522671406697040, + 2635238885261271386, + 2372648728760138524, + 15140984145012817310, + 16660172142493210754, + 9770387401381083314, + 8800367006353046111, + 11039337453879648443, + 16784531284528575720, + 8359450528306736307, + 6696476055113611310, + 5685516053735451095, + 11970566551658146656, + 565827221383331266, + 11124923867677811719, + 333433652025681555, + 14805800874515194727, + 14674383713170346941, + 56793782107840511, + 7364203528834287752, + 11076202542820449889, + 9221273186019494821, + 7234662355022976664, + 9471854231953113034, + 12204101285484176928, + 13504895612938574753, + 12038145091043124203, + 15533317400656511162, + 8617604217148902380, + 619388364584933232, + 15985150891302164717, + 14625314689408387221, + 12067623560765590539, + 11907604813864501341, + 11119625634162097837, + 11226605173583754758, + 12975980417285500169, + 6703866308003539161, + 5782479180293394150, + 4385936359887480977, + 17224992730667571921, + 7716322480234059428, + 11780971684671944758, + 15989080523528762807, + 18054086774756718960, + 15533958496380959085, + 7254356484781599865, + 2107928540809527606, + 16460527136023652931, + 15862631351792253619, + 3983518433253676841, + 6728551464079678052, + 8799856906751071749, + 8759366621316495931, + 9014330285323416963, + 14351004517545721977, + 6934473629624221804, + 5388612491319081734, + 5376221638216719630, + 16690669030249539470, + 10708034115801493862, + 7561226286813637749, + 14034048837549391251, + 7968222860667122258, + 13675423344870803509, + 3688048278996484057, + 11996588205057423505, + 13208543947915022835, + 13222483595864185926, + 3101916563508129552, + 17189059451085895119, + 11358816334285167862 + ], + { + "siblings": [ + "18996605070690493255555379439890451788441513506842515671956390060743388489118", + "12912569792685614533856424572262547061290586015405254084230190273553206812251", + "5958824780322788686382827784897243513555593393376257122425088725866132270503", + "20619948696420510345137879906876215256039932074477912626046015161021265678927", + "2201894898491997928610982817667714480622432629275086760903320762118321319810" + ] + } + ], + [ + [ + 7143878234283924184, + 4893753323232500037, + 7282852199903180769, + 7470196671335977217, + 17042491402743205792, + 5240721127258333804, + 2683470855927346059, + 6545513231483486546, + 15203805931275649238, + 815955542513392672, + 1827915438654147358, + 153125182323644740, + 3243920394444494408, + 3698173749435390930, + 1318742571978101520, + 2066720881578836679, + 3499344778382805951, + 15121407980318326839, + 6127157284203711675, + 5023207326205292734, + 16778921783434274469, + 17109865188174041102, + 7218488135455920787, + 14316095952236141773, + 354577393501659400, + 1002719115420779884, + 3033034505092492154, + 11367172562923452794, + 10890961606172868805, + 12112618381669004086, + 4576450351864549585, + 10171778035919436104, + 12891768546892657614, + 7754988646099134661, + 7295380292220961724, + 5376482574624553772, + 1479885316073693256, + 9420632132984741085, + 188606437585130930, + 574340663860915168, + 3218163394018243444, + 743370283452278239, + 5058971890893725017, + 9443920730573403134, + 2791166646996142849, + 13136821635242633431, + 4460298364896279251, + 2007885580766658511, + 7926360680607348169, + 11835802854992823731, + 488624706265085798, + 12341929779287239725, + 1649538796972750104, + 9873109901852764061, + 6066157120179864883, + 5243582399616492281, + 17326476243570688558, + 2721292242660688655, + 13795787157158077903, + 16626260728516897034, + 18283324459529042276, + 18211722508463544348, + 4234898036455348234, + 15978816001589549632, + 8989584159216812667, + 812129774742859516, + 7318578665330533038, + 9008415507383590807, + 2620973472813982045, + 2727099060821107286, + 5557932195803443097, + 2887445601153759131, + 6986515809941996124, + 10855641118893983651, + 15770949766887505331, + 17796484594744910049, + 7065290409940880075, + 17194373232601987969, + 17577334351015273353, + 8680415022241744548, + 12009398446130134167, + 5935226592509716303, + 16894067741261810011, + 16707274485324848532, + 3800069185483145590, + 2199392554373926956, + 16730099836562795794, + 16201415841155870237, + 3742194201537833727, + 4426701751708718762, + 7805721586767516919, + 17418957789218159764, + 16133153422540311570, + 6909562249961480844, + 5382960739962341420, + 1857905675253160687, + 17245877765705075712, + 3002795054420617100, + 3618458922268987461, + 6806281458832639086, + 6938041038681062016, + 13680720235155581155, + 4863950351648363767, + 14737187667919512197, + 2164324975977484992, + 1225944957254215265, + 5274873708846623691, + 17331794466412444787, + 10933508585279055605, + 2035433236064201522, + 4438000404073154823, + 5978851729049906860, + 8236065081653842110, + 9311734234586302812, + 1031787403181802654, + 10556057421786470522, + 16075908746191400526, + 13393599425411712085, + 8115192909512627456, + 11117514707642178964, + 6139042510761171209, + 8458761028127527367, + 17816384277288841165, + 17683056835295468421, + 15672679328837216158, + 11747076630586364971, + 9843447604752838783, + 6202661684855089889, + 6667277192213897149, + 7442626271732965554, + 8332702953083400597, + 15926808267804498668, + 13714391777165430659, + 5732823493338374230, + 18207257774714673193 + ], + { + "siblings": [ + "18486945577661283015878386578419757155266752330756954530608976519420874070062", + "1856727363915851535904607479454439735517554504659512956739483048203317806386", + "457469037389828644780293751703763365844650384824456272728338575583419407265", + "6495822968580350248652495572657365091857431572770135094835332636193535448592", + "13906598617868828353412449068166730809943519527762596291471792229417858172346" + ] + } + ], + [ + [ + 11017121100344562806, + 8367601322416029022, + 2774892670666246917, + 3344763592905851468, + 14022551552390602949, + 14493536217497928497, + 4930089041676957358, + 9305305016460398182, + 3034968682714153573, + 4953083005644060774, + 5895519583083123336, + 1511641711160742206, + 15605041440335016042, + 11197393025676387719, + 14153586958583809038, + 15642897038337921447, + 11352069227659871044, + 4838171719909255760, + 6612005190471014997, + 1027844409299353086 + ], + { + "siblings": [ + "11627513087360918297920598233414050138521518895143602314033988305287535816074", + "15076545105161676167849437344997496302807165152462436853107553413174273608425", + "15897080510543273988739611181056960702262967417885258273900983668368215097564", + "15966218228847626368411076793613906821930093842998229669358086733401604323065", + "1593581887707458646792421953370132903452455171218750338143610746149117763971" + ] + } + ], + [ + [ + 12418120538091570560, + 6179900229404357742, + 13963299434588882171, + 7641855739277998213, + 15902525815144514710, + 12912576900782607450, + 17760485041082340225, + 11864958859410885759, + 1753185984607072549, + 10321382444898474219, + 12068783696248560904, + 4796327591372231463, + 13957197524253949582, + 5221294348447735832, + 13432150642692026296, + 17530559594227358689 + ], + { + "siblings": [ + "12732139370609240283165876667253859382186251235933214205887974091475282043955", + "10326323173193639290860376369236848405903147617479758854046726913867616686910", + "18803106003711903391283308904341626975835711149001088388680216249318943772803", + "20842283975604874326422939341260287253044451279457007421113397372421820648780", + "14067147000346725667487612333656361946498033209047438997513337192011937677946" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 9839483122014306380, + 5035128170919175983 + ], + [ + 1992050833512675797, + 6667793853731763405 + ], + [ + 436001544251496618, + 3721439132511010062 + ], + [ + 7541477536479619106, + 546694194832034233 + ], + [ + 5295991649112473604, + 1137986392546531410 + ], + [ + 13071146063599259647, + 5608789504412957607 + ], + [ + 9012641571756108055, + 16519779578326304724 + ], + [ + 6045631607700102005, + 6583037571911075677 + ], + [ + 11819320137494472395, + 5747000430106747665 + ], + [ + 5736368447726193422, + 16841860041687593277 + ], + [ + 18039901680774713215, + 2961886011113355273 + ], + [ + 18416560308726814574, + 13268442392529675309 + ], + [ + 16637445640635886854, + 8391247237470735678 + ], + [ + 17731933925064196459, + 9903881061498358509 + ], + [ + 6885949049151320735, + 11692455487443399248 + ], + [ + 15983569924686491462, + 6158919888155158020 + ] + ], + "merkle_proof": { + "siblings": [ + "13929934689212300004909381577161090241949322400124919985219040415524366382900" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 13226585091710351344, + 1551897625390554531, + 14851712307359088722, + 4773222288149060743, + 9358529047818335275, + 14701259391466062189, + 9553276028383957328, + 12569295141851017340, + 13956626057371140475, + 1894509550103047120, + 9140872114312916608, + 7708717338877742654, + 10571933691223153539, + 7050237936223961012, + 14055247931372018139, + 15374205716309086015, + 17704160842750388023, + 3100629629531827692, + 2354331862781512284, + 875885522012049419, + 627261474876751126, + 2383908058028942856, + 2283562496238747336, + 15067663036745685134, + 11868531556498123525, + 9612699453730772342, + 4150564853100810399, + 3393831104390153253, + 8088793516396050260, + 2473307593298980833, + 4264414811170234659, + 13574347028926274892, + 10962210469165081685, + 7633006348425649449, + 917003094639118104, + 15057189865830104806, + 15210293480163883939, + 11941722240117715011, + 6561885968187033505, + 15141235874910954367, + 13808132502022966280, + 8818714323564970529, + 1568774337012435371, + 14021518914470322797, + 4527044619134013443, + 18435122192443309537, + 3491393006282124287, + 358986961628649772, + 4301873655576111574, + 12757291694661343560, + 8012800569159131353, + 13377467677317223806, + 17068712235491253735, + 15410485510869634206, + 17226846221077516071, + 3518468387863055345, + 11759499244708440794, + 13193138676870040393, + 4057573179618038789, + 17680559536730848648, + 11039260340652335264, + 2709017323573134486, + 2352335612010610901, + 5065343967809081227, + 15739594226913883908, + 8924102484413968020, + 3254119196613971075, + 5486524965392958488, + 11833884659166573700, + 4170200674481405435, + 10167449707775383292, + 2171176346480124494, + 5171199760483599360, + 13314079042041976393, + 7004344533200227409, + 11012580323866131572, + 1391866205106815327, + 2132288368421056699, + 12447376977059692578, + 12945702704705776315, + 8845364080227604541, + 1959369911672293813, + 15922208320046097322, + 13018148832338916663 + ], + { + "siblings": [ + "8311838022492573897313324933840596735481935851932996792738334350150815081146", + "302033611905745090044625497091280554484397722825386118650705078287470269927", + "18334618361891325583060441602154258274083813547421993205817705794632362913158", + "927662805299904128963271268078529153318659212526279257426995484591731692546", + "12669080728105965561449868796445415212311667748079045806777373584135226749990" + ] + } + ], + [ + [ + 17087246604581258732, + 8383811044426171417, + 73823843605040920, + 13138463657285607296, + 3461409373240484306, + 2795483445565683870, + 14755215294038900894, + 13247134328069235427, + 4033588848041442186, + 6296970998149430321, + 9716198611694174212, + 10930480427883476798, + 15917758072298852962, + 15518278675534458708, + 18441970064091502610, + 10931217925857068414, + 837495593182988942, + 9760987284414534893, + 17187835956380978349, + 695569338675407012, + 13181592371655703928, + 5686301778774439270, + 16200173942308488071, + 16536391503892467229, + 17366758991550537861, + 17505557680144523959, + 11704290720141796192, + 15442489431307637208, + 14531364959326568809, + 1062908125960944466, + 7431493952196616167, + 7624304681665401633, + 13421681876578945571, + 11794776693828745288, + 7681219051237644593, + 10712674572799449241, + 10796458125942288896, + 2438343963684968235, + 9477351083749435933, + 13551576553989656842, + 536022433231945484, + 5865714941905590447, + 817703466640004370, + 2265574283265765743, + 17281247576048724884, + 7380876327248628840, + 4890213637528882177, + 8546436013046661943, + 16147877583473474283, + 14589443422027149711, + 7703996161973127714, + 16388448831372704626, + 8091867729471009800, + 13323590759580089747, + 10742468158770931181, + 8237914977979850538, + 8602502126621617903, + 11848394993878764964, + 11207734606180403522, + 17188014396894769151, + 898861052209319736, + 1671741634208124508, + 1511731967141730884, + 16518241988365420322, + 5630718313291498450, + 2942464418677979794, + 13718132427628617879, + 15572979087576490144, + 9840572297800275059, + 2494173399961331054, + 16049952535668646114, + 17138847122759085509, + 10724006380382744763, + 2196955053977859798, + 16177452021509550132, + 6661367945664805059, + 11678201050028072885, + 13375180279075342922, + 15975470055521580173, + 3442808462302973177, + 10499308504004764903, + 9839316966121739139, + 16584281455628433311, + 11838242236066284533, + 8949243969719268693, + 16966573712011068420, + 7939282077458199949, + 7311858401412524009, + 12947442319329356917, + 9757517797993656301, + 4086956866792061165, + 2479353550749684190, + 4837019530543582496, + 8218230953507582822, + 3508270929804285101, + 9101608730349307323, + 11817474807003021515, + 3211296815984288840, + 17742517307301034362, + 4723203154352035756, + 9930983327747165314, + 3232918219768399548, + 1289029559767422984, + 7234108403465496551, + 16564105416581332997, + 1192859712396977966, + 14446211132186459045, + 7175682791115120266, + 10161180760844087612, + 5598262563005394060, + 9617407602157238762, + 10568168350648358638, + 5724153305036302882, + 5075444640781694975, + 8956250407794340023, + 17589769372525465417, + 9200533826170045847, + 4331920273963002654, + 16257191392119575793, + 4905257996594746061, + 7647970841188178471, + 1373442731330615103, + 6320524568729626631, + 8307541456601298073, + 4613196204196116488, + 3433015895297050207, + 8929180989200926563, + 749020540346546176, + 16621319800978505154, + 15858634928941993369, + 213357500527286884, + 7245640682845152818, + 16564486678117443785, + 13588418667098823025, + 2390832443242029317 + ], + { + "siblings": [ + "5699288389517663142523627146965036240126113273064612525337381195643468743106", + "1022798394827886182882223814166879976635938315435277061989305241119689160306", + "7740596599700889959078011623321807897062288387584732657519890704966717381510", + "13560616383633435321053605930886465735418543633893322250859636821251913333716", + "11071378707540929757513348700510337424503492941710483687681585952612507905804" + ] + } + ], + [ + [ + 7539724848349580969, + 5944166842210022054, + 10006709076769328705, + 9381379386102797746, + 17074150265832947632, + 15411345163562332184, + 1623314016362488687, + 13872579374508085383, + 14422640570941614096, + 1324121570023037976, + 2033904585685395424, + 13288274166010039311, + 2491638857628194371, + 13288074303460858819, + 7411478922654826677, + 5305144272554882144, + 10069511430207220576, + 17494824275750365553, + 16606772088902437762, + 4653844118587021846 + ], + { + "siblings": [ + "3570350599400042373704546291950866260435290321428863663269538303463737580789", + "11009111509727090426441437443708744275225698611104158398860644012971433405322", + "9716910789281868959901817001542185078408235628424943224182013587120117977617", + "8132090853960038560517849343060438807906532815360407623939172337354198163823", + "2795750985317399742104089184619547160712171696356603500463133215240008423330" + ] + } + ], + [ + [ + 9742728617270519681, + 2754873213011091010, + 421595455292412194, + 2990340909010499549, + 18088083215056617734, + 6172589443101676721, + 15072673539089252025, + 3249837292105663984, + 8918835586771800103, + 15555477835232850198, + 8960870526458332512, + 7403191890548579254, + 2669394475673693576, + 16961948763504014186, + 7424349884824363279, + 12923833332556416515 + ], + { + "siblings": [ + "3329287053625900306161895423558026617490270163510061744490296207606634589235", + "13211419590830136811881000231439372102527910429441065039460246856086970207564", + "18242136005643309915580854097252864162642825339680642123164840535166367411400", + "2613465365221828844766163854105172923522454206498042894795311632403140279979", + "14334291784154530318076502474044986399651187151182664699006349073388778116277" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 13187004852200580799, + 7723938070315474572 + ], + [ + 13848820720318636761, + 8670624387724064924 + ], + [ + 3535768655246098320, + 17978741304291625071 + ], + [ + 16475173735204830288, + 9438171253200094656 + ], + [ + 14218288785556210076, + 8120777065941812325 + ], + [ + 13931800110207344580, + 13118553545380130454 + ], + [ + 1578876310678659345, + 4569086263271842241 + ], + [ + 8749939002087380844, + 8398452420080699297 + ], + [ + 6602489169933916631, + 3492899084869294988 + ], + [ + 11682872982539904274, + 7570722145902334947 + ], + [ + 3892779006597079136, + 17962542749238856941 + ], + [ + 13984875223773914457, + 3614486791490059362 + ], + [ + 15498870136712453311, + 10118889715930486601 + ], + [ + 3902048234846063089, + 12962157042530934225 + ], + [ + 10760377177762733426, + 610712393483620787 + ], + [ + 1394339084707120436, + 13082986982966949221 + ] + ], + "merkle_proof": { + "siblings": [ + "15319795358522459434648942498573016926885920708738974693442168735796754709906" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 10929454117347429086, + 11921916247743316464, + 11744115193865083665, + 9295357350249304755, + 11376323262307173791, + 9483909186340272836, + 16131201034442520670, + 18146298719542576322, + 3464999220241406617, + 4249536215067073052, + 13759910050666109168, + 1805511353999280462, + 18428296563054342967, + 10331506505934494695, + 17872147397222177778, + 16962492903442368821, + 1313415754913696727, + 4272572220298187971, + 6531210639767207860, + 4315939355610623076, + 310288168323853503, + 10093329543244903751, + 4786582901590258530, + 17076296570555633714, + 7132129368988887863, + 15900030850002660614, + 263991472924698547, + 11522743664870186052, + 672256727653452226, + 14226365383408537422, + 6654228132105344433, + 14438179300854813673, + 4298200772258884598, + 8903303022696345491, + 1921381071901961647, + 4636394922403689714, + 8250119390829284359, + 16958614825666509435, + 1549936282963834197, + 8597534834264657751, + 15180270899262769526, + 6881494406753999713, + 13601457443834458476, + 774523394523404952, + 15510892036105597951, + 10652567931253226511, + 6362319782720552706, + 14956263309236857652, + 16122246610909520573, + 9272552385439344891, + 2025708836771229318, + 12624246396914133786, + 8245055161960990315, + 8794149577477865729, + 12233226831685916095, + 2815092942673180783, + 3021057386488769882, + 3182226641385637151, + 4761064369866305063, + 7529825952569198497, + 3988365679604848529, + 1102567379524504953, + 12780973081370761564, + 1302924092352956717, + 2205824705072055530, + 10059217525339993417, + 10180980934744789341, + 10820998008384327268, + 1969568956019627403, + 5025996505167056242, + 2599332347914982416, + 8200568395035046500, + 6568581632991808427, + 10726795209341647270, + 5997471881743280318, + 6888794413785175993, + 17645065533277023093, + 15042094437172417250, + 11469613922240273138, + 15820312225769747203, + 2455128921690181743, + 15367078632196195075, + 5372364204265025862, + 9078625744420127829 + ], + { + "siblings": [ + "3007847398476261185946668684396483842014146875891670016138849048710030025663", + "13542291965768663621798186468110689295943258847329472570642795039992987469931", + "16428305687991064943444552617377646212747510968743872126364866258369726671956", + "3083609354918423077371864469488021302320805814379530004911394374902154871749", + "12727416750606656612763257360507050074204548574844168939430701993168391743717" + ] + } + ], + [ + [ + 8811082824163134193, + 7842688443864326928, + 7808995077062892100, + 13577379461145528162, + 7100546203222028761, + 9847874921576086637, + 14434238761340214072, + 17123830481138480710, + 4592845678506206684, + 9975722424840077115, + 6030225883083477476, + 10531786713088460640, + 13803132062610917773, + 9200754312350764647, + 9225250308947946991, + 4569517265823525162, + 17313054623992370040, + 16723842672472731304, + 163873663512738574, + 9604436050535649336, + 16580637049835616378, + 6832329843166919784, + 9720805510644558800, + 2384641253620615977, + 14545030931241459433, + 9819618085557702847, + 1841900897358604901, + 540470814006954739, + 13818117132298178324, + 9431475406606892115, + 759740981402134013, + 2627214438473836405, + 3998098398132585534, + 17376818823518108916, + 4573430211564057137, + 14532848903961564037, + 7978365239960869124, + 17994486721226955651, + 5728256981909595271, + 4628173445865905079, + 1533386213608860583, + 15439693661806326859, + 6654729566288550433, + 12757653319081293808, + 11361390544814883378, + 14654418849891969377, + 10039359411803023274, + 6792644821330532737, + 11822169186284684398, + 15011918889748721494, + 4741453737992762895, + 5002948588844887566, + 10456572143159921058, + 12298420670696426542, + 1160162862703105379, + 12153615070039254054, + 16921590864787828394, + 4213674765893541403, + 2360720856891763749, + 4073613209881994541, + 92992677356382998, + 12723693942318877059, + 1304549982905156047, + 10349567820755961271, + 4623816835856506280, + 7949452380320506738, + 14776978285402391017, + 4845377319898465508, + 16957196720624220257, + 11251883101921437483, + 6575811352421879616, + 524755425417529740, + 962840405759891942, + 737793401353631475, + 11081751822606570623, + 15002447841548092978, + 18370886361954393548, + 12775288958714874101, + 10666363790862785910, + 10675145159010185338, + 14269124601213969672, + 16483930081049982380, + 18241708330762876638, + 846244180849223522, + 12531811124647320203, + 17716284913779144504, + 6284301499318842576, + 12958067943465143035, + 12003635354564978337, + 9590228108529190304, + 14820401516664560037, + 12784153660027891185, + 10454427375444530225, + 3258216725023531721, + 5657380989100217911, + 9237049248910366710, + 3520555811518917149, + 9952733432627440577, + 15800742038694957294, + 5998851835262510539, + 2956636082864600595, + 6194521886087964094, + 7913786427982715270, + 3581993343195136412, + 11612325190813689223, + 15191445679637305414, + 4475714634590970597, + 2424215624316485206, + 12820906559519677079, + 6058874413795451689, + 15416841589649740013, + 8379633784184176628, + 7343909336865865410, + 11602236752477185029, + 2809779046155790011, + 2759328575015428854, + 16506994826474587180, + 3015307397749213501, + 16405094857729924477, + 13745002439519068226, + 17208901072412118976, + 10321603845035706854, + 9278717511581893210, + 10920362520837746735, + 7872760825024965309, + 7491058555231516417, + 2221458365992793322, + 4349730864616098700, + 14643309937904622740, + 15798036196724243127, + 3555651091529461456, + 16517753842151649628, + 15514974205589322304, + 9736156947683737390, + 869510144564792771 + ], + { + "siblings": [ + "1712571687650962325403439537826338784190708416996140824461887347859745595936", + "19218891428451549708160054765633130654093049916145338409338663671933067718424", + "2563940378492351861827830548816244391359782282896921555766570476134430275118", + "2799632056840165208417375036946959913404257031464940821398776535507121706277", + "11607669880775856500444062810262109825879219776325095597060172329402985523641" + ] + } + ], + [ + [ + 1976503399968934861, + 4227803434414774262, + 7179410118740021904, + 10478099472551363762, + 3703845914298185499, + 14212533876749443585, + 12825970295597498793, + 5030377279056653129, + 6266108624033850391, + 6098601617717741252, + 2632481936910356831, + 12941821247306545293, + 1596352403782647054, + 5279036268544888665, + 17997603211980967544, + 13040008340388520659, + 16475767265751178067, + 13552938767111464927, + 13255914576703338774, + 7979366015664538997 + ], + { + "siblings": [ + "10163346177467334183049580796530811904520529569079084983178154641627662300984", + "16609692741378034809450041249825848778573624776372927885071028530983305705671", + "15776784998782038580242695349466248942808041278882538102507638118797631524190", + "5266989219155010927200439762063322536927817890228200559979015832255330777657", + "8966911972433844320918127281495077440672720379193011333819457724549629102188" + ] + } + ], + [ + [ + 4126676749860426593, + 8385567352386802316, + 9142045118280116048, + 9011977080009463020, + 17929248224665422267, + 740027412592623741, + 6054106381229459489, + 8769792182780011215, + 3109080745186443483, + 5765283798088664372, + 9818655855079781414, + 14357414796576263552, + 4274360847453433490, + 5992200948011230082, + 9501382837296182508, + 14481398117009890749 + ], + { + "siblings": [ + "11102309779853187298860780927776382427094476086623621733670867037980566863823", + "12408018288930022710370001582487452636829696608024929440888387435673265733196", + "13890937424527228415935492551054216765377829197774628479864471618270151222801", + "17924860570268256056932694104490782526367850562714980730040984392687288359560", + "16350050116002221646473329985559204861711926948098493849399766965074265243740" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 7484354157670660105, + 10930945615335147386 + ], + [ + 13288411857164340181, + 9284025026405461651 + ], + [ + 15173968277880913724, + 14032650895792804858 + ], + [ + 3350195515485700252, + 18368899233815872032 + ], + [ + 17609007138201208108, + 7210004212794081802 + ], + [ + 5191921282367031910, + 3834146533492166077 + ], + [ + 4957244792529903645, + 1847544507416462464 + ], + [ + 17165334172147205771, + 15098783759241213168 + ], + [ + 6193050163479082886, + 8383926457310955123 + ], + [ + 16394418361441985698, + 1665723532804657387 + ], + [ + 6091041975213260775, + 8847826964636070160 + ], + [ + 18080081625685166062, + 5738916839360931606 + ], + [ + 18187346126327708639, + 5257525084114352964 + ], + [ + 11971987430090830868, + 13375178368817689136 + ], + [ + 8757089230393222059, + 9002295219264516889 + ], + [ + 1951087329542062606, + 11752118823226969645 + ] + ], + "merkle_proof": { + "siblings": [ + "21120545649218099944712172387809495034561523986019381310919227365846889987847" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 16387412985961008792, + 15606287392460499671, + 3850724637681090141, + 6853143048025877241, + 17789493863034219340, + 4373697382178695331, + 13773664326179848780, + 6541190014781148725, + 14357153758980345589, + 8023541823266682478, + 10099720720164162216, + 2463753397648333181, + 13008253645366247561, + 15822453809877009230, + 10407741903389682822, + 16739236114306177865, + 6511919524721649542, + 11146921105275720460, + 6781354731093898123, + 14032849785918837260, + 18417101451481030899, + 10095947681461323798, + 1459734733796373216, + 9091703724828085503, + 2615050619196571062, + 9152653721482739448, + 18388466725735654947, + 6682409194780040960, + 5501146348571707521, + 3318314559043902102, + 7650050382207247594, + 14243880345604570011, + 13768747331310137832, + 8583234593999856227, + 13260618612090073799, + 17739949171347849598, + 2196970084705831400, + 6698677278973874566, + 18111767888109237674, + 85904127911687609, + 17603113595544659915, + 1093571732213125034, + 7378927740104410677, + 3341626352401521678, + 3585079873915776504, + 8736936151864840544, + 7931197352689087317, + 17357945990123953564, + 11594040924583092518, + 11708555806006606489, + 5764964170647628845, + 5233469480066526025, + 1155459177397395329, + 3212309079564623009, + 6620921664018616095, + 3327510368397063424, + 7245874518958536779, + 5353078826428817410, + 14186271542740143714, + 1912212464834270031, + 2065062561493791676, + 15691166491258799780, + 8548421979762400748, + 16429598852265432823, + 14487799543485216048, + 13330945508418121287, + 11981768220506430996, + 8328023880922929725, + 13094133061512286163, + 3897276961071307593, + 9751493218603864957, + 17761510919959450082, + 5761586408547394379, + 13503094594887630738, + 4416993780772258408, + 14962174405535281051, + 16957658930770247550, + 31645196225662067, + 16770971790221037354, + 10243988504020269675, + 3317065882558916267, + 1638198641830594704, + 4507986685475067998, + 5084992010788497480 + ], + { + "siblings": [ + "1767610121721972026635997770365872851908915876234253014485347163118563483743", + "18736591963051209674496403426745870592208941342094274769482440348336565014902", + "677814406376680431281406082239389730081307343358216994705627013994961834488", + "4184070313852043059744023191829219291384117842505060381701005076097069492534", + "19939536666455486720996191834487452327725385795971675902965302090691536616996" + ] + } + ], + [ + [ + 17607411665741055821, + 2296231577079075953, + 14831460265380054484, + 9034781933786016758, + 3099306508175169566, + 816303729688255922, + 17039950872167026341, + 9531597980457624907, + 1266157106275045308, + 9197400914269527930, + 10946953270999479818, + 10840265542269888942, + 17007028947612835624, + 7265127914651184181, + 9063428374680324247, + 17360330293827108656, + 5189371042805679035, + 17899976823470921909, + 11905779889976707042, + 15799247910316515008, + 11974161383693131769, + 11027553273512570499, + 6742385996560826494, + 18290974415921147265, + 6972434276050077987, + 9297313738444424923, + 15161768620737879009, + 7335064531116877590, + 3886749165782790423, + 11253256683543936205, + 2393287168777524616, + 13407639866724717069, + 6096683463229708260, + 11328477475320393223, + 4965603752001212426, + 2418617018784342922, + 1036787412534580517, + 11336103259355869663, + 13986459403856572173, + 6214230602229972279, + 9957911878157463383, + 10630112082950582266, + 5455577955196582989, + 553741221728049973, + 11385125203412628081, + 12048437274954241201, + 4583030150671723949, + 15334138268488873724, + 5050968389541999592, + 8785830634144554365, + 17638993497871594780, + 928676409133488768, + 2778020449010324808, + 12777949587285391548, + 2171591794709398363, + 18340037748773814655, + 7670536947855214391, + 18038592526429401878, + 4500918134843862588, + 2469863000737852096, + 15552245725965708719, + 16903653996653723573, + 561963987222710037, + 11113390801529222191, + 6284507177177964199, + 12475835571258298531, + 17422400067024203769, + 17103990113006984803, + 12424508168782368158, + 17298064078362736422, + 1423326370336255153, + 7609357699475701508, + 465175825415177548, + 9193174574525277380, + 526605061281971356, + 18001722441789343876, + 4992983242182838705, + 6676836956929056587, + 14026799135845668867, + 3380955461917609959, + 2396971271987416544, + 8253038157768865600, + 18373863587298397427, + 524472157614873213, + 12309924903190088315, + 14374706395885928616, + 2203147341436885148, + 9301523773678651239, + 5122930524452494484, + 2062783474903842021, + 13311651269323561777, + 10372453264183912528, + 1004194733721916597, + 3233233807165628176, + 16473572421812519402, + 17562527277739928048, + 934278932087398214, + 11206903083215701311, + 7066246558984066270, + 8454432670322289449, + 2315030574261482523, + 12370537486419352778, + 5438877220284285955, + 17456835005792735296, + 4659618307666303097, + 10989527066083549365, + 2478673624331638026, + 11620314468453520918, + 8363401067875694869, + 17847136610969737878, + 16497472995644672977, + 13050285080091175887, + 8802622354623968477, + 5079256922742836195, + 11675128846329812668, + 8011551187311673117, + 4122903951042298655, + 13492185291419707871, + 16587981010729402643, + 9198386474834100277, + 6777180607129298499, + 9008139218442571146, + 9282902526288179290, + 14218429673976605606, + 14769364419000586371, + 17900861593456430322, + 14608181355401602871, + 7725437766078898693, + 11354908320017572617, + 1357962121303105183, + 3364787606708291507, + 3290925880740398663, + 1322405437767710411, + 1519993876733271145, + 13424838978264429720 + ], + { + "siblings": [ + "1253892568202849644599153721218996533870863187580795322467964881115948804764", + "20719476430055779594954833747600325752606073836187349202882046883267946075927", + "16164574827700342750928636864493101540847726663543444015692065338215712650750", + "14655188566641349086120999296753306252128003244792620952931415440800232122836", + "1211131444708276384512183555831002780807080805261964440605125566100725945549" + ] + } + ], + [ + [ + 11303542584150273288, + 10562734314595230877, + 8853602521797155563, + 15506236889577650820, + 16703650627678493631, + 10365106736542265607, + 9299612119791858046, + 10754542909148199564, + 5282386924296687744, + 6264649301343477855, + 12114470755784924875, + 3409860197202461002, + 7196166191987746763, + 13125751592359099961, + 13927521473343126781, + 15909278197291106359, + 10054441358937897429, + 15748647548568505611, + 115874160588255124, + 5156377450908617059 + ], + { + "siblings": [ + "4683629224481168750794860133285091709253570081521618074221291471420616995885", + "12567799531053014853354669381081405658645636036031913078569101014591249806805", + "18132788925792939982487697345864546985135150821009930330066728243597291475144", + "18583032591279672413698126341901324729180396703697625173842613338431290731265", + "15926939833672419319441726839573887452693060614398902813704745262902001406477" + ] + } + ], + [ + [ + 8327691661899008338, + 5122754029562803821, + 11160166279266508988, + 879828101626902074, + 4459014939841430657, + 14648753490596151985, + 10808340000345669327, + 8574018206286771716, + 14290631890533870151, + 5947792194333967475, + 4156695753540379607, + 15947562238050329384, + 14455678372726912541, + 10111014397518151554, + 1632782185735690762, + 3665338969710239734 + ], + { + "siblings": [ + "8743103777283776774403359434576470153360837658494257727966832735636189375508", + "2663212245593696322115696291382983963224166254729026623581224685419179293563", + "16195015216409750045908165614707862976848018168404589431170100481377166281506", + "7920708646778768972324711221410460305924704165863114364832585931267399495162", + "2325967665940639595293371750470580825203043366386367667581917212530098914826" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 8954918746945144387, + 10378297564356132978 + ], + [ + 15809487451234092997, + 15949316502465072386 + ], + [ + 14301545380513446873, + 10362621617595989894 + ], + [ + 15426426665052423387, + 7467077568214428325 + ], + [ + 16458196410671795599, + 16211851672736697861 + ], + [ + 7712082457961179346, + 12342495370521732836 + ], + [ + 1308265918194306180, + 16784669900639011578 + ], + [ + 11884413874664940919, + 2771031374825928935 + ], + [ + 57831895713479203, + 11888503767581039010 + ], + [ + 4085746794919997471, + 12142786514325769000 + ], + [ + 17938355842691649738, + 9118521548209281646 + ], + [ + 855407425910628256, + 5438990629441004817 + ], + [ + 3934824585088068759, + 5495210692421708811 + ], + [ + 16652149296071110265, + 11254262167438714272 + ], + [ + 15794369310058304379, + 926784436527362692 + ], + [ + 17741069249888281860, + 7142586277213593100 + ] + ], + "merkle_proof": { + "siblings": [ + "2678662363402169286676749611985883306319302634027501788879253024588808650406" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 10226639760780354946, + 9333285330811504318, + 11700170122878879732, + 5490344215962061519, + 5162065186114309763, + 1463847362241761951, + 15586793954059496467, + 1503505693678351243, + 15612234606763372749, + 10103199888757468409, + 10182544709513141861, + 11909624303456581200, + 1191341788422630077, + 14832945147721281310, + 6353955566729382936, + 12250267330741908491, + 9953588287982366734, + 16020824984129213279, + 6691823895749715474, + 16603116862544997671, + 17896333156380827431, + 5640981380357548169, + 16376964374316967871, + 4942314524606593180, + 6628970803799778222, + 13583430837413799430, + 11079850812560670220, + 5240736946852506777, + 2675530800667696615, + 12239987054245295796, + 2516852862338607338, + 2329954052122264655, + 16676146985293725160, + 171802450656493275, + 10878411776427145571, + 4856226112938387392, + 9994281060586132590, + 2856589897315808099, + 16923816979939701756, + 1456645295050837320, + 15501536228344731290, + 1022789983379981075, + 14354127984309241314, + 10970724297703968651, + 12105696246483251833, + 4019161641885122135, + 5743368660044883286, + 17205251732616904984, + 12154778478317345458, + 18336482592102622609, + 10110332915070281899, + 7549438593934571865, + 874008626074048836, + 17430597768455295705, + 17440877803568457384, + 11499387871785244643, + 14012631359943226963, + 17414966075641765422, + 1438568796759770314, + 13701152312154243627, + 15913456680900720980, + 5691511897284634467, + 4462540039681255887, + 5922025716135104084, + 5002523085026944189, + 16920746129920918643, + 15447075014236478507, + 14790810991154978514, + 2227537960798604818, + 12875785931721616548, + 10471529658470410097, + 2754856140028594189, + 17209607816635299249, + 15921952144660061850, + 17677287444790797695, + 10475215358233460871, + 18008396322099202130, + 13345078826189436468, + 15655795289161327395, + 16744729135720672224, + 11262813768312485235, + 14908912745093190668, + 6656250085498817452, + 4202073051347660965 + ], + { + "siblings": [ + "17765282395340662138569512099210969123661034869073401359320246739219315748287", + "6854541151885911154426043521026120618592085933602649183417429134998721524330", + "278657421648276331795627262447082303694390345479332925206445119769594274466", + "5779189049942498247224361098130938351675615458068199475892371100790402543582", + "16064696173021264654113868079121166333931962691693541899749608446895379752160" + ] + } + ], + [ + [ + 4419425499252520916, + 6107156885654887784, + 9278324568196981591, + 14148688727292663682, + 18136993481363267346, + 12225965628291845998, + 14298007322066091941, + 18154206922150238785, + 1442888484782980743, + 12544514839541609952, + 2392411211503839458, + 6707555212459422423, + 12038481367493278914, + 17093915883604436650, + 2815007008530949188, + 7666400154842309833, + 2089516019618309892, + 15000269855419935589, + 10079348141617482197, + 11792086433531144442, + 823531722933052032, + 10419592289835473968, + 16880130121210384267, + 15728596541493967456, + 1560637402562124962, + 5709417800476466701, + 11480587631797830980, + 11648861788883866970, + 17074093489627100567, + 8029443702658080767, + 3114649678697668080, + 11138086846749784382, + 10097719190311216850, + 12245969260024644009, + 8712802562796252289, + 16509819692791333887, + 4511524408538269180, + 6800070515629477421, + 18100943108954673914, + 9074835135410847300, + 1948230327978566251, + 17838697437932756065, + 12780113353348989612, + 2162854439035897340, + 9737517088493392970, + 17246549927995065553, + 9677948243722437626, + 895469140235302503, + 3357394987014700898, + 12909551805379283572, + 10573883181052902245, + 11791770569330974724, + 1930093998558325847, + 16236431378800097203, + 16529294380056658810, + 5010479279847352148, + 7904983802494353474, + 12539741658813334647, + 529705939971364701, + 10605791616940495073, + 9889447819475553932, + 3549349736549897329, + 4037030893667311937, + 14833451934742491068, + 7377715476931123888, + 11472004798369285627, + 2237756878316532684, + 1232112470599444972, + 4430218014004965510, + 3289510636433679449, + 13635949556937086343, + 10950317258919636971, + 15459830910092025786, + 3153157378969089130, + 13380810863173366633, + 641489915127486714, + 14213908166412174196, + 4035692088430128314, + 2943710154248752214, + 9298694809038935609, + 12126702757182001892, + 17580727371170761445, + 6975073030939648855, + 13996408088602732961, + 6408526655146110216, + 4142693585309004483, + 5126986280971164876, + 4255412407440909427, + 10121056261341598797, + 6778821885041199358, + 9599715499705833482, + 8457597803579238852, + 3389944126717107850, + 14892504679786467133, + 13278632044381892227, + 13985210809786614248, + 5328803885920701002, + 7155763798111191088, + 15658331301177421681, + 18148443984774165148, + 15827077946074085381, + 10964109675324565100, + 12224172862173264849, + 7371696880195738190, + 3967441686738329506, + 15769431172486456791, + 8756798014807789390, + 5784779308407001996, + 12317020733762264299, + 9710225865609948354, + 11073283820941342010, + 17747483518896857567, + 1620350162013168758, + 5816285240225703650, + 11008768364240518124, + 11868967473266774349, + 13306079275319567030, + 13996935663586358073, + 3935355918845482160, + 8934416068389283110, + 4514330973949800248, + 13427393866044725141, + 18193278320046604723, + 17963423352836680245, + 16993028697292014900, + 12186133460722333319, + 3589126724024248204, + 12921884366929713235, + 12595207687313030307, + 14026297335205959092, + 16614966310845168358, + 3729087320942207990, + 508174064074526149, + 15218346033723838852, + 3962852904962558649 + ], + { + "siblings": [ + "7352925552088181157187895168522673865888003350741929170084651825665778508066", + "2721056931638867006843369857457814111462522341503212025794787902336961012637", + "3576015600820363537831674240941428203181668578831918025016919076126291273233", + "10343160726058824665179835451618901395265858209303764338933668619202559672848", + "6800930822156850038974434215030619967228525955022440562388711041845908754142" + ] + } + ], + [ + [ + 14643210254301298286, + 5079669740456897499, + 12551580521030718831, + 5464105670655470241, + 13957231835035789931, + 16856678342170704271, + 6795037391809558242, + 7347380113897267027, + 2484613565725686776, + 13918090792286301730, + 3392276490250694505, + 10390517238070137577, + 7714011385957256116, + 2424763541571040812, + 3881385562535266823, + 14869314857993753403, + 6629146960129047399, + 8092498305321425370, + 13861101738106185066, + 6712789198285419769 + ], + { + "siblings": [ + "620447994650443901568113983709994799185742477917788177355930602694794951169", + "11446367275645909148090877412252677694491192925963946997412651827295565035286", + "10023342712853770511450920777225375576739961704290977576815124345254645172686", + "20311539585010297188214240088044654323272964591045467568116122265098925008865", + "13992775177504153501555865449994559853804708451562607701088731704325483703654" + ] + } + ], + [ + [ + 6146197474156582267, + 5372704759670624311, + 9699000287479326849, + 12963716452774996944, + 10713221422252551071, + 3710033001478441258, + 15815022431113677715, + 15308733636790748495, + 2483859248010907574, + 6743212289144300792, + 2135288799875804244, + 10228838953771586664, + 12884477381859332356, + 2753951416667951901, + 3986760612298973357, + 201389233260182803 + ], + { + "siblings": [ + "8091154908254431730831313038197028014706091370728312684870528290081701398271", + "14269796194019945129923033498921680633318029992780029542814571589258011999402", + "3524092898682028164622180034057514409087098451156827580721345703590839743775", + "17834445788443946968887972451268936649738403260300602292674096070922282908970", + "21152935936096491834528706083913112278016591169879260424662310773620871207078" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 11351374231198931303, + 13448169393845736219 + ], + [ + 8090172273770400817, + 14391353797641110982 + ], + [ + 2215967328409563015, + 4413926362201209112 + ], + [ + 6329779843822357799, + 16373954340563369525 + ], + [ + 4739396073892123624, + 6153881941522215647 + ], + [ + 1759110328565921164, + 13632031362686187291 + ], + [ + 12042649846582760213, + 16555386069955203979 + ], + [ + 11216078868019548973, + 10939170481430752344 + ], + [ + 17493257524516873305, + 16793955871735512325 + ], + [ + 2251252715200858480, + 12232707506299623545 + ], + [ + 671338885452323392, + 859359580264056708 + ], + [ + 11241128051249912482, + 18260970411690400405 + ], + [ + 9568078020073932900, + 2120355939839617658 + ], + [ + 17141669840005451181, + 4198960567270386155 + ], + [ + 10953449330290360670, + 14302057525445224914 + ], + [ + 16408432909626206569, + 9960260172026118514 + ] + ], + "merkle_proof": { + "siblings": [ + "9010650667629533311230894435392584115686327356845689883385271605104465445014" + ] + } + } + ] + }, + { + "initial_trees_proof": { + "evals_proofs": [ + [ + [ + 17853178709333885837, + 13894314917077881806, + 4961135611198117477, + 6983522590136666863, + 2626144736060824124, + 9773226122325921689, + 6453946326973097020, + 1417044664871773113, + 12529373806317721897, + 18366532764981118723, + 9144240173473897479, + 3939673634026619191, + 14833675823077831467, + 1571447809577221465, + 3695213907472505089, + 11040645342413359502, + 8273964429707945491, + 12419713293959455008, + 4463103734008145728, + 5196408643423537760, + 12311985892268675197, + 3772877191253098041, + 3941867751703752998, + 8801420892961446119, + 9394128134925065755, + 5678292909862137516, + 1244764231029191525, + 10689604520733084174, + 5496003078227526199, + 15336395552555144363, + 306379455926191523, + 6319453724448311263, + 10556887385679517832, + 11324304075608102154, + 16194054971617058204, + 9784767341607030601, + 1260261640883457578, + 2323123362374032603, + 14636232596027583457, + 10521186833714632368, + 622172377189816134, + 6253808413533844780, + 547010827444748752, + 7776956720266380119, + 18096352079581792054, + 3714339178955851809, + 3654167766406266761, + 4368087112019332867, + 7259059604536645699, + 14206404902558009362, + 11453374169518940686, + 10026524530934319339, + 15275708965118724275, + 5292202898013963773, + 13902717587245948796, + 684388187268194034, + 4850015253863354127, + 10974527832241790660, + 10264905406540022507, + 1455815453035871065, + 4991116725310552376, + 6046766003377325660, + 1187804364709386451, + 8978273619769990396, + 11734356420571030447, + 17062805760143606200, + 11119692977390883417, + 11037887991512453868, + 6011571794973845080, + 16536221755460040982, + 5944170272607571730, + 12444583942058652112, + 8430017449997098058, + 17452924808863516483, + 12619658873306043597, + 14167396500611705213, + 4393653295233437121, + 381565457297314074, + 10247192829063221315, + 7482862559519141594, + 16747018804353494641, + 12229767331569273300, + 3758962134454478016, + 7918290822626540759 + ], + { + "siblings": [ + "272281612108495394618836013535197455173051581450314658607482805961996709803", + "13189282823455791869158266623124755311558203116843567146227067948913776736455", + "9196502743259978436011909741699217034964946526945331086145282306828444062656", + "18125151499670444841383602548323850765808428367467562308939690780635695793261", + "7466279708969085941471166701413284786975147025409585609433825080815902832738" + ] + } + ], + [ + [ + 11915945781931191323, + 1988692384030315375, + 12006379270830457178, + 11176357107187239984, + 12478516669877485097, + 15919817997718325916, + 211473561632177405, + 9375714267449211252, + 13781350727667586969, + 8602016428011569631, + 13659771426856550671, + 13355666907702973451, + 1336495668610352698, + 11315908016323311818, + 18163119435024432732, + 7059654724237317115, + 3819795962542448803, + 6706925288461915431, + 8200062148236277744, + 5644270658534896477, + 14531333144413360185, + 14551476521618789960, + 17864275683796600217, + 3022643397692896544, + 12111528182849032024, + 12265653476397904995, + 11822847902157875368, + 5161505037922748619, + 7661242950148331071, + 17791632254043163742, + 3409869586147561600, + 3947572095849266644, + 6222487305087849023, + 1565676464561973669, + 15238775032011843322, + 9042187937386851207, + 1781815599647935738, + 2968556564659025437, + 4964581545000538934, + 7124755994703354013, + 13784658920204047665, + 4074437173243774472, + 7380140887458338439, + 9669579940651571030, + 12949136945272526634, + 6373347001064554836, + 15422853502337384497, + 2124615229737824289, + 1220719039538749498, + 16155783865786324765, + 11135050470845139374, + 10083951748172547516, + 15713693999798834905, + 6317753636442713042, + 2949079299848270336, + 1717987009769625653, + 11688740890541323571, + 1850538971777157586, + 9639573572591206441, + 577702860985070977, + 4688592374314048118, + 11919455571190869589, + 1283622389350985821, + 7810844597690204032, + 16001709644046044436, + 13848724887652398225, + 10219658417706504803, + 7279638295764632337, + 1836260032325006028, + 6574573608776022315, + 9402750159760465883, + 18283601563176968960, + 17021264659981437231, + 15121817480661669993, + 17253008860359456516, + 4544702184564337121, + 11937940173974326594, + 931483595669643375, + 15676128929078202435, + 16505249829656338875, + 12768491919279441905, + 1919028143029181837, + 11558619682375757326, + 3837554929312043768, + 12139508138541101120, + 667685334882100853, + 8734096903339826462, + 16641847928310403145, + 5190039819722778485, + 7129591160955613696, + 11057021542887870454, + 13552169816353515571, + 8556789506558649375, + 6665344155967223404, + 12489264601618041065, + 10427696450807232771, + 16037074468487593215, + 14036466329368545135, + 7750903292552384429, + 16392911425280811751, + 8176176216306776188, + 14007745864949831174, + 13650567844684346295, + 9131029607305296244, + 944824043841117046, + 6962592405368792498, + 4489579017468011282, + 11555318681118234292, + 8212921354276278979, + 17014821972686969563, + 18027935525823392948, + 6828818313219728042, + 17082419153770705964, + 4654170330135605933, + 18357740060404863448, + 321017674258549519, + 16242746515712618622, + 1525425893615682827, + 12889657499832709234, + 2401764654943605270, + 15589921498060007523, + 11150239782525300838, + 16625733029411243285, + 5420599812554070091, + 2243930750246190824, + 17417010621203661770, + 244126750600042948, + 5676715304030707258, + 9005030702856543548, + 1278169933663810333, + 15205521697155839297, + 16622005459086202920, + 1391042378291956688, + 15900228265880202736, + 11827982845570607665 + ], + { + "siblings": [ + "4839418152291740918385415039845667534513562514850681871180942840815458949173", + "16865322123191547193278150804294844148475560489101213655067489841237696944217", + "13358908413942699901186841184103237014873302507541666395626409472756820927589", + "7170340956363332606173059502061324401046162602551625685650682156399670157495", + "545168182937580601452464828220502228032038863693151250250520162413164727031" + ] + } + ], + [ + [ + 11827935124713889158, + 11429519959356981981, + 5777800174468457741, + 9367642940807175298, + 14107733154315808740, + 17732720785264152474, + 4506186217635721698, + 2725676994242382655, + 2002644717920498391, + 982034106037344699, + 2575641422198076074, + 6235150323017295261, + 7535880429286816837, + 4208863269065955725, + 631478351087515513, + 16461909764327494154, + 9327080700229552597, + 7917316263948470069, + 9677244211641228168, + 16407043180173026151 + ], + { + "siblings": [ + "19059382104668764028204482194855230925195132840746238439664113269801594470693", + "8439237705019084885685812853017912224609801279511759954227526851299901764529", + "1634779354329927511924130889773070936462480283845771651745927189174022729635", + "984630759464280258942327157963115196565142477692852219288826976147804924025", + "10544519178227407031602243252409350043743011678648838384888262653943418616027" + ] + } + ], + [ + [ + 9476494283125372232, + 10469474772904950685, + 12997966243846629697, + 17207112723033641146, + 16115219471548026350, + 17418180105502401360, + 7651610611737896597, + 8777970650276660210, + 15540470985431389572, + 874046695735249999, + 12790894863072834455, + 14846364613204884836, + 5811369700213928671, + 16588203427373143213, + 2998373680607650843, + 8907662111313214678 + ], + { + "siblings": [ + "17104268041662546300514781822608280084423990981096077034702551170640681549906", + "11041279770773542690745702844558188431512057820769496021415261624215554896311", + "18239400695540580834740376267434778296728777724968319329388451644121563686489", + "15395133581743939580702166284850115378231622244782830564347572869958269724200", + "1516495456580061274205062019632766359152774967991607745798734612753637499211" + ] + } + ] + ] + }, + "steps": [ + { + "evals": [ + [ + 17428914728948979451, + 7533863594967683514 + ], + [ + 13842723004896462480, + 17513444230266875374 + ], + [ + 6154612778263713708, + 13156519029626209739 + ], + [ + 8763147729445103402, + 14204082336534706369 + ], + [ + 14011088675865618721, + 6254391567919079426 + ], + [ + 16234006952485632729, + 8972205796048010278 + ], + [ + 15284513293897616709, + 4072439820384346833 + ], + [ + 2524959364114387739, + 13476795296600758616 + ], + [ + 16738760202947954604, + 9768964331552612106 + ], + [ + 5398052780576015538, + 10570251508677929179 + ], + [ + 13254041619204139595, + 14362309565343130639 + ], + [ + 14594776067291610190, + 16582370583150822953 + ], + [ + 17615452366734415300, + 17151365140441528304 + ], + [ + 1536831335195328808, + 16178695442935675416 + ], + [ + 12856289220977013315, + 3559717982344871840 + ], + [ + 773522141093900481, + 13690729331344420025 + ] + ], + "merkle_proof": { + "siblings": [ + "3455958417092795508137515403157682691325490629799236026872006266821282533638" + ] + } + } + ] + } + ], + "final_poly": { + "coeffs": [ + [ + 10879528161629211595, + 18097515331135460931 + ], + [ + 6247869990302282235, + 431166948811048043 + ], + [ + 15497274116614962654, + 15553010325430019869 + ], + [ + 18261567147721433140, + 11977758839373522517 + ] + ] + }, + "pow_witness": 6917529026030472666 + } + } \ No newline at end of file diff --git a/testdata/verify_fri/pub_inputs.json b/testdata/verify_fri/pub_inputs.json new file mode 100644 index 0000000..1fb88b9 --- /dev/null +++ b/testdata/verify_fri/pub_inputs.json @@ -0,0 +1 @@ +[1,3822706312645553057] \ No newline at end of file diff --git a/testdata/verify_fri/verifier_only.json b/testdata/verify_fri/verifier_only.json new file mode 100644 index 0000000..8841dd7 --- /dev/null +++ b/testdata/verify_fri/verifier_only.json @@ -0,0 +1,21 @@ +{ + "constants_sigmas_cap": [ + "13132195929203779292466513302801947474820654277319996846759787706492508371099", + "11920403180783160337654454632520127777948333294785125407423237044791895881256", + "2923225729628855171246442277674214574676604190477058818676572027848785664792", + "13243333857826006687018332218943429010148714808709824967278261278558464347752", + "8379398635035667561645878969402826446209429822989682442068159414217261741948", + "309223521462634369424349384087871217927024045040238749850899516038430403323", + "12611898212038272491905505788253375055505044738357759134688735707570447709793", + "4598965491417857676801587024334428350018746795798223905165198386636906272916", + "8368493813928951306328784090372958595256681999680126299850071676393931980333", + "18000358471409843068540786802866345745639265976392372251864599395722027197367", + "7009376186627087347660051314014236728498475233896848835791399675846399604684", + "2984941615804944698983328880462961339793632004900689512377919096677423675719", + "20544518741732511907005721012912988979416350776219787028536177307786767133808", + "11161542779241532837020446074277263015188695996006376533947976878232630875787", + "6774765367969472516713841147219124019866039401427001554619375402245289648775", + "14630495274690995533787028965143241529328312098897634976864161610446257326105" + ], + "circuit_digest": "17525063705925841194564400750155620431560717395305537640750983921719691923803" +} \ No newline at end of file diff --git a/verifier/challenger.go b/verifier/challenger.go index c1455c7..ece8756 100644 --- a/verifier/challenger.go +++ b/verifier/challenger.go @@ -2,13 +2,13 @@ package verifier import ( "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" - "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon" + poseidonGoldilocks "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon/goldilocks" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/types" "github.com/consensys/gnark/frontend" ) type Challenger struct { - spongeState poseidon.Permutation + spongeState poseidonGoldilocks.Permutation inputBuffer []goldilocks.GoldilocksVariable inputIdx int outputBuffer []goldilocks.GoldilocksVariable @@ -16,10 +16,10 @@ type Challenger struct { } func NewChallenger(api frontend.API, rangeChecker frontend.Rangechecker) Challenger { - poseidon_goldilocks := &poseidon.PoseidonGoldilocks{} - permutation := poseidon.NewPermutation(api, rangeChecker, poseidon_goldilocks) - inputBuffer := make([]goldilocks.GoldilocksVariable, poseidon.SPONGE_RATE) - outputBuffer := make([]goldilocks.GoldilocksVariable, poseidon.SPONGE_RATE) + poseidon_goldilocks := &poseidonGoldilocks.PoseidonGoldilocks{} + permutation := poseidonGoldilocks.NewPermutation(api, rangeChecker, poseidon_goldilocks) + inputBuffer := make([]goldilocks.GoldilocksVariable, poseidonGoldilocks.SPONGE_RATE) + outputBuffer := make([]goldilocks.GoldilocksVariable, poseidonGoldilocks.SPONGE_RATE) return Challenger{ spongeState: permutation, inputBuffer: inputBuffer, @@ -32,7 +32,7 @@ func NewChallenger(api frontend.API, rangeChecker frontend.Rangechecker) Challen func (challenger *Challenger) ObserveElement(elm goldilocks.GoldilocksVariable) { challenger.inputBuffer[challenger.inputIdx] = elm challenger.inputIdx += 1 - if challenger.inputIdx == poseidon.SPONGE_RATE { + if challenger.inputIdx == poseidonGoldilocks.SPONGE_RATE { challenger.duplex() } } @@ -54,15 +54,20 @@ func (challenger *Challenger) ObserveExtensionElements(elms []goldilocks.Goldilo } } -func (challenger *Challenger) ObserveHash(hash types.HashOutVariable) { +func (challenger *Challenger) ObservePoseidonGoldilocksHash(hash types.PoseidonGoldilocksHashOut) { for _, elm := range hash.HashOut { challenger.ObserveElement(elm) } } -func (challenger *Challenger) ObserveCap(cap types.MerkleCapVariable) { +func (challenger *Challenger) ObservePoseidonBn254Hash(api frontend.API, hash types.PoseidonBn254HashOut) { + goldilocksElements := hash.ToVec(api) + challenger.ObserveElements(goldilocksElements) +} + +func (challenger *Challenger) ObserveCap(api frontend.API, cap types.MerkleCapVariable) { for _, hash := range cap { - challenger.ObserveHash(hash) + challenger.ObservePoseidonBn254Hash(api, hash) } } @@ -104,5 +109,5 @@ func (challenger *Challenger) duplex() { challenger.outputBuffer[i] = v } challenger.inputIdx = 0 - challenger.outputIdx = poseidon.SPONGE_RATE + challenger.outputIdx = poseidonGoldilocks.SPONGE_RATE } diff --git a/verifier/fri/verify.go b/verifier/fri/verify.go index efe6722..6b83565 100644 --- a/verifier/fri/verify.go +++ b/verifier/fri/verify.go @@ -6,7 +6,7 @@ import ( "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/hash" - "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/plonk" + "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/plonk/gates" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/types" "github.com/consensys/gnark/frontend" ) @@ -22,7 +22,6 @@ func FriVerifyProofOfWork( func FriVerifyInitialProof( api frontend.API, - rangeChecker frontend.Rangechecker, x_index_bits []frontend.Variable, proof types.FriInitialTreeProofVariable, initial_merkle_caps []types.MerkleCapVariable, @@ -30,7 +29,6 @@ func FriVerifyInitialProof( for i := range proof.EvalsProofs { hash.VerifyMerkleProofToCap( api, - rangeChecker, proof.EvalsProofs[i].X, x_index_bits, initial_merkle_caps[i], @@ -66,7 +64,7 @@ func FriCombineInitial( B: goldilocks.GetGoldilocksVariable(0), }) } - reduced_evals := plonk.ReduceWithPowers(api, rangeChecker, evals, alpha) + reduced_evals := gates.ReduceWithPowers(api, rangeChecker, evals, alpha) numerator := goldilocks.SubExt(api, rangeChecker, reduced_evals, reduced_openings) denominator := goldilocks.SubExt(api, rangeChecker, subgroup_x_ext, point) if i == 0 { @@ -216,7 +214,7 @@ func FriVerifierQueryRound( params types.FriParams, ) { x_index_bits := api.ToBinary(x_index, 64) - FriVerifyInitialProof(api, rangeChecker, x_index_bits, round_proof.InitialTreeProof, initial_merkle_caps) + FriVerifyInitialProof(api, x_index_bits, round_proof.InitialTreeProof, initial_merkle_caps) log_n := int(math.Log2(float64(n))) // reverse_bits @@ -268,7 +266,6 @@ func FriVerifierQueryRound( hash.VerifyMerkleProofToCap( api, - rangeChecker, goldilocks.Flatten(evals), coset_index_bits, proof.CommitPhaseMerkleCap[i], @@ -314,7 +311,7 @@ func VerifyFriProof( var precomputed_reduced_evals []goldilocks.GoldilocksExtension2Variable for _, batch := range openings.Batches { - precomputed_reduced_evals = append(precomputed_reduced_evals, plonk.ReduceWithPowers(api, rangeChecker, batch.Values, challenges.FriAlpha)) + precomputed_reduced_evals = append(precomputed_reduced_evals, gates.ReduceWithPowers(api, rangeChecker, batch.Values, challenges.FriAlpha)) } for i := range challenges.FriQueryIndices { FriVerifierQueryRound( diff --git a/verifier/fri/verify_test.go b/verifier/fri/verify_test.go index db5b933..71babb1 100644 --- a/verifier/fri/verify_test.go +++ b/verifier/fri/verify_test.go @@ -47,17 +47,8 @@ func (circuit *VerifyFriTest) Define(api frontend.API) error { func (circuit *VerifyFriTest) Make(proof types.ProofVariable, fri_challenges types.FriChallengesVariable, commonData types.CommonData) { circuit.CommonData = commonData circuit.Proof.WiresCap = make(types.MerkleCapVariable, len(proof.WiresCap)) - for i := range circuit.Proof.WiresCap { - circuit.Proof.WiresCap[i].Make() - } circuit.Proof.PlonkZsPartialProductsCap = make(types.MerkleCapVariable, len(proof.WiresCap)) - for i := range circuit.Proof.PlonkZsPartialProductsCap { - circuit.Proof.PlonkZsPartialProductsCap[i].Make() - } circuit.Proof.QuotientPolysCap = make(types.MerkleCapVariable, len(proof.WiresCap)) - for i := range circuit.Proof.QuotientPolysCap { - circuit.Proof.QuotientPolysCap[i].Make() - } circuit.Proof.Openings.Constants = make([]goldilocks.GoldilocksExtension2Variable, len(proof.Openings.Constants)) circuit.Proof.Openings.PlonkSigmas = make([]goldilocks.GoldilocksExtension2Variable, len(proof.Openings.PlonkSigmas)) @@ -72,9 +63,6 @@ func (circuit *VerifyFriTest) Make(proof types.ProofVariable, fri_challenges typ circuit.Proof.OpeningProof.CommitPhaseMerkleCap = make([]types.MerkleCapVariable, len(proof.OpeningProof.CommitPhaseMerkleCap)) for i := range circuit.Proof.OpeningProof.CommitPhaseMerkleCap { circuit.Proof.OpeningProof.CommitPhaseMerkleCap[i] = make(types.MerkleCapVariable, len(proof.WiresCap)) - for j := range circuit.Proof.OpeningProof.CommitPhaseMerkleCap[i] { - circuit.Proof.OpeningProof.CommitPhaseMerkleCap[i][j].Make() - } } circuit.Proof.OpeningProof.QueryRoundProofs = make([]types.FriQueryRoundVariable, len(proof.OpeningProof.QueryRoundProofs)) @@ -83,36 +71,26 @@ func (circuit *VerifyFriTest) Make(proof types.ProofVariable, fri_challenges typ circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs = make([]types.EvalProofVariable, len(proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs)) for j := range circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs { circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].X = make([]goldilocks.GoldilocksVariable, len(proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].X)) - circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].Y.Siblings = make([]types.HashOutVariable, len(proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].Y.Siblings)) - for k := range circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].Y.Siblings { - circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].Y.Siblings[k].Make() - } + circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].Y.Siblings = make([]types.PoseidonBn254HashOut, len(proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].Y.Siblings)) } circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps = make([]types.FriQueryStepVariable, len(proof.OpeningProof.QueryRoundProofs[i].Steps)) for j := range circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps { circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps[j].Evals = make([]goldilocks.GoldilocksExtension2Variable, len(proof.OpeningProof.QueryRoundProofs[i].Steps[j].Evals)) - circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps[j].MerkleProof.Siblings = make([]types.HashOutVariable, len(proof.OpeningProof.QueryRoundProofs[i].Steps[j].MerkleProof.Siblings)) - for k := range circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps[j].MerkleProof.Siblings { - circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps[j].MerkleProof.Siblings[k].Make() - } + circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps[j].MerkleProof.Siblings = make([]types.PoseidonBn254HashOut, len(proof.OpeningProof.QueryRoundProofs[i].Steps[j].MerkleProof.Siblings)) } } circuit.Proof.OpeningProof.FinalPoly.Coeffs = make([]goldilocks.GoldilocksExtension2Variable, len(proof.OpeningProof.FinalPoly.Coeffs)) circuit.VerifierData.ConstantSigmasCap = make(types.MerkleCapVariable, len(proof.WiresCap)) - for i := range circuit.VerifierData.ConstantSigmasCap { - circuit.VerifierData.ConstantSigmasCap[i].Make() - } - circuit.VerifierData.CircuitDigest.Make() circuit.FriChallenges.FriBetas = make([]goldilocks.GoldilocksExtension2Variable, len(fri_challenges.FriBetas)) circuit.FriChallenges.FriQueryIndices = make([]frontend.Variable, len(fri_challenges.FriQueryIndices)) } -func read_proof_from_file(path string) (types.Proof, error) { +func ReadProofFromFile(path string) (types.Proof, error) { jsonProofData, err := ioutil.ReadFile(path) if err != nil { fmt.Println("Error reading verifier only json file:", err) @@ -126,7 +104,7 @@ func read_proof_from_file(path string) (types.Proof, error) { return proof, nil } -func read_common_data_from_file(path string) (types.CommonData, error) { +func ReadCommonDataFromFile(path string) (types.CommonData, error) { jsonCommonData, err := ioutil.ReadFile(path) if err != nil { fmt.Println("Error reading JSON file:", err) @@ -142,7 +120,7 @@ func read_common_data_from_file(path string) (types.CommonData, error) { return commonData, nil } -func read_verifier_data_from_file(path string) (types.VerifierOnly, error) { +func ReadVerifierDataFromFile(path string) (types.VerifierOnly, error) { jsonVerifierData, err := ioutil.ReadFile(path) if err != nil { fmt.Println("Error reading verifier only json file:", err) @@ -159,28 +137,27 @@ func read_verifier_data_from_file(path string) (types.VerifierOnly, error) { func TestVerifyFri(t *testing.T) { assert := test.NewAssert(t) - commonData, err := read_common_data_from_file("../../data/goldilocks/common_data.json") + commonData, err := ReadCommonDataFromFile("../../testdata/verify_fri/common_data.json") if err != nil { t.Fatal("Error in common data") } - proof, err := read_proof_from_file("../../data/goldilocks/proof_with_pis.json") + proof, err := ReadProofFromFile("../../testdata/verify_fri/proof_with_pis.json") if err != nil { t.Fatal("Error in reading proof") } - verifierData, err := read_verifier_data_from_file("../../data/goldilocks/verifier_only.json") + verifierData, err := ReadVerifierDataFromFile("../../testdata/verify_fri/verifier_only.json") if err != nil { t.Fatal("Error in verifier data") } proof_var := proof.GetVariable() verifier_data_var := verifierData.GetVariable() - zeta := goldilocks.GetGoldilocksExtensionVariable([]uint64{6433831523151700796, 16638450956802163867}) - fri_alpha := goldilocks.GetGoldilocksExtensionVariable([]uint64{3382174530905268205, 2495127857901811513}) + zeta := goldilocks.GetGoldilocksExtensionVariable([]uint64{16263632293919212639, 10013997701259715621}) + fri_alpha := goldilocks.GetGoldilocksExtensionVariable([]uint64{13172871457756936397, 1804723272509206341}) fri_betas := goldilocks.GetGoldilocksExtensionVariableArr([][]uint64{ - {1828208506809751845, 8202965097133682349}, - {1197028379089443624, 170112253994851017}, + {5393533806932209970, 10643556356350979542}, }) - fri_pow_response := goldilocks.GetGoldilocksVariable(257134902485115) - fri_query_indices := []frontend.Variable{13, 20, 15, 2, 15, 11, 30, 23, 17, 24, 30, 7, 23, 27, 22, 23, 10, 29, 9, 6, 5, 25, 4, 27, 22, 16, 31, 26} + fri_pow_response := goldilocks.GetGoldilocksVariable(60661718710665) + fri_query_indices := []frontend.Variable{486, 33, 62, 251, 123, 391, 447, 94, 477, 56, 123, 360, 365, 292, 228, 373, 92, 408, 379, 92, 231, 314, 370, 54, 503, 220, 393, 80} fri_challenges := types.FriChallengesVariable{ FriAlpha: fri_alpha, diff --git a/verifier/hash/hasher.go b/verifier/hash/hasher.go deleted file mode 100644 index 6cf0d07..0000000 --- a/verifier/hash/hasher.go +++ /dev/null @@ -1,68 +0,0 @@ -package hash - -import ( - "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" - "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon" - "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/types" - "github.com/consensys/gnark/frontend" -) - -type SpongeHasher struct { - api frontend.API - rangeChecker frontend.Rangechecker - poseidon poseidon.Poseidon -} - -func NewHasher(api frontend.API, rangeChecker frontend.Rangechecker, poseidon poseidon.Poseidon) SpongeHasher { - return SpongeHasher{ - api: api, - rangeChecker: rangeChecker, - poseidon: poseidon, - } -} - -func (hasher *SpongeHasher) HashNoPad(inputs []goldilocks.GoldilocksVariable) types.HashOutVariable { - permutation := poseidon.NewPermutation(hasher.api, hasher.rangeChecker, hasher.poseidon) - - numInputs := len(inputs) - numChunks := (numInputs-1)/poseidon.SPONGE_RATE + 1 - for i := 0; i < numChunks; i++ { - start := i * poseidon.SPONGE_RATE - end := min((i+1)*poseidon.SPONGE_RATE, numInputs) - permutation.Set(inputs[start:end]) - permutation.Permute() - } - - var hash types.HashOutVariable - hash.HashOut = make([]goldilocks.GoldilocksVariable, types.HASH_OUT) - for i, v := range permutation.Squeeze() { - if i >= types.HASH_OUT { - break - } - hash.HashOut[i] = v - } - - return hash -} - -func (hasher *SpongeHasher) HashOrNoop(inputs []goldilocks.GoldilocksVariable) types.HashOutVariable { - var hash types.HashOutVariable - hash.HashOut = make([]goldilocks.GoldilocksVariable, types.HASH_OUT) - if len(inputs) <= types.HASH_OUT { - for i := 0; i < types.HASH_OUT; i++ { - if i < len(inputs) { - hash.HashOut[i] = inputs[i] - - } else { - hash.HashOut[i] = goldilocks.GetGoldilocksVariable(0) - } - } - } else { - hash = hasher.HashNoPad(inputs) - } - return hash -} - -func (hasher *SpongeHasher) TwoToOne(left types.HashOutVariable, right types.HashOutVariable) types.HashOutVariable { - return hasher.HashNoPad(append(left.HashOut, right.HashOut...)) -} diff --git a/verifier/hash/merkle_proof.go b/verifier/hash/merkle_proof.go index f4ec063..f702301 100644 --- a/verifier/hash/merkle_proof.go +++ b/verifier/hash/merkle_proof.go @@ -2,45 +2,42 @@ package hash import ( "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" - "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon" + poseidonBn254 "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon/bn254" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/types" "github.com/consensys/gnark/frontend" ) func VerifyMerkleProofToCap( api frontend.API, - rangeChecker frontend.Rangechecker, leaf_data []goldilocks.GoldilocksVariable, leaf_index_bits []frontend.Variable, merkle_cap types.MerkleCapVariable, proof types.MerkleProofVariable, ) { - poseidon_goldilocks := &poseidon.PoseidonGoldilocks{} - hasher := NewHasher(api, rangeChecker, poseidon_goldilocks) - current_digest := hasher.HashOrNoop(leaf_data) + poseidonBn254 := &poseidonBn254.PoseidonBn254{} + hasher := NewPoseidonBn254Hasher(api, poseidonBn254) + current_digest := hasher.HashOrNoop(api, leaf_data) for i, sibling_digest := range proof.Siblings { bit := leaf_index_bits[i] - left := types.SelectHashOut( + left := types.SelectPoseidonBn254HashOut( api, bit, sibling_digest, current_digest, ) - right := types.SelectHashOut( + right := types.SelectPoseidonBn254HashOut( api, bit, current_digest, sibling_digest, ) - current_digest = hasher.TwoToOne(left, right) + current_digest = hasher.TwoToOne(api, left, right) } - var cap_hash types.HashOutVariable + var cap_hash types.PoseidonBn254HashOut if len(merkle_cap) == 1 { cap_hash = merkle_cap[0] } else { - cap_hash = types.SelectHashOutRecursive(api, leaf_index_bits[len(proof.Siblings):], merkle_cap)[0] - } - for i := 0; i < types.HASH_OUT; i++ { - api.AssertIsEqual(current_digest.HashOut[i].Limb, cap_hash.HashOut[i].Limb) + cap_hash = types.SelectPoseidonBn254HashOutRecursive(api, leaf_index_bits[len(proof.Siblings):], merkle_cap)[0] } + api.AssertIsEqual(current_digest.HashOut, cap_hash.HashOut) } diff --git a/verifier/hash/merkle_proof_test.go b/verifier/hash/merkle_proof_test.go index aa63000..91fd7c7 100644 --- a/verifier/hash/merkle_proof_test.go +++ b/verifier/hash/merkle_proof_test.go @@ -8,7 +8,6 @@ import ( "github.com/consensys/gnark-crypto/ecc" "github.com/consensys/gnark/frontend" "github.com/consensys/gnark/frontend/cs/r1cs" - "github.com/consensys/gnark/std/rangecheck" "github.com/consensys/gnark/test" ) @@ -20,50 +19,31 @@ type VerifyMerkleProofCircuit struct { } func (circuit *VerifyMerkleProofCircuit) Define(api frontend.API) error { - rangeChecker := rangecheck.New(api) leaf_index_bits := api.ToBinary(circuit.LeafIndex, 64) - VerifyMerkleProofToCap(api, rangeChecker, circuit.LeafData, leaf_index_bits, circuit.MerkleCap, circuit.Proof) + VerifyMerkleProofToCap(api, circuit.LeafData, leaf_index_bits, circuit.MerkleCap, circuit.Proof) return nil } func TestVerifyMerkleProof(t *testing.T) { assert := test.NewAssert(t) - // leaf_data::[2588089115216973342, 6893304834680000336, 4837607352643158074, 6969160038993304394] - // leaf_index::4 - // merkle_cap::MerkleCap([HashOut { elements: [3367108721306820270, 4687124867168389637, 10247866295117502739, 9167995917395761542] }]) - // merkle_proof::MerkleProof { siblings: [HashOut { elements: [14412397339032168335, 15798532326344121231, 11460043198242547402, 16510676616743767820] }, HashOut { elements: [12184998889475559148, 14811997910098371392, 13032553179532206176, 2352684615002827561] }, HashOut { elements: [2343746436952691736, 555716703628366696, 17298123600887713158, 3617455914999935308] }] } + leaf_data := []uint64{4681058518958200638, 11853218359596855979, 1040524120881239799, 5781735197978953753, 6924304365164022147, 240263503171896883, 15801615787590993529, 16226472532925720252, 1672186577990336709, 16833802611292761128, 6771725697693834325, 5128497884664881818, 1646281050279726603} + leaf_index := 9 - // leaf_data::[13248848056583115022, 11108192005797994995, 18365767924313734462, 3300777344031185801, 12679130458988620991, 6388068640045581874, 0, 0, 14168218603977143798, 7646098699093777243, 16759390691460476703, 6949381026158178250, 11136364229536591104, 5003776057579926307, 0, 0] - // leaf_index::19 - // merkle_cap::MerkleCap([HashOut { elements: [8866262423865053766, 13242341945743462539, 5940228160815572512, 7741880235118589104] }, HashOut { elements: [4670104104623373566, 17660732589555703363, 6239556977026079794, 4538833753894437311] }, HashOut { elements: [9303516144315242406, 5077605443128212933, 15717164098332827591, 9172171553810081175] }, HashOut { elements: [10392578618540616850, 9036223880735698764, 8761933074747290828, 4601972412203627101] }, HashOut { elements: [2393968428234670657, 13692442835667619088, 12837784471341259074, 1616813255192305386] }, HashOut { elements: [6127857059603958727, 9021139919367081564, 1169725727176792052, 11540745961079804356] }, HashOut { elements: [2745856678510870040, 17250437681511866104, 5107014066285900919, 1507597206157315994] }, HashOut { elements: [1112685397637744635, 11517078872091095566, 3662148105895758727, 16658481704626369403] }]) - // merkle_proof::MerkleProof { siblings: [HashOut { elements: [12857816478506792061, 10217997020342121994, 7508499252116501730, 1924797141091576388] }, HashOut { elements: [12839564860068395184, 12231160221969917201, 12300700918924157415, 14353369543909818633] }] } - leaf_data := []uint64{13248848056583115022, 11108192005797994995, 18365767924313734462, 3300777344031185801, 12679130458988620991, 6388068640045581874, 0, 0, 14168218603977143798, 7646098699093777243, 16759390691460476703, 6949381026158178250, 11136364229536591104, 5003776057579926307, 0, 0} - leaf_index := 19 - merkle_cap := [][]uint64{ - {8866262423865053766, 13242341945743462539, 5940228160815572512, 7741880235118589104}, - {4670104104623373566, 17660732589555703363, 6239556977026079794, 4538833753894437311}, - {9303516144315242406, 5077605443128212933, 15717164098332827591, 9172171553810081175}, - {10392578618540616850, 9036223880735698764, 8761933074747290828, 4601972412203627101}, - {2393968428234670657, 13692442835667619088, 12837784471341259074, 1616813255192305386}, - {6127857059603958727, 9021139919367081564, 1169725727176792052, 11540745961079804356}, - {2745856678510870040, 17250437681511866104, 5107014066285900919, 1507597206157315994}, - {1112685397637744635, 11517078872091095566, 3662148105895758727, 16658481704626369403}, - } - merkle_proof := [][]uint64{ - {12857816478506792061, 10217997020342121994, 7508499252116501730, 1924797141091576388}, - {12839564860068395184, 12231160221969917201, 12300700918924157415, 14353369543909818633}, + merkle_cap := []string{"2582597339673350977535791112778512319279563543510136642436236239229546141738", "13945976454061663208048138720048435896719276119045044553434024130384674966269"} + merkle_proof := []string{ + "7875969863634060413400044210918325875604893092267655190620100746004319936533", "21251302547127842287737520631409861730298604750824310355638193714607471652971", "700553277178616703505095854685555494643698627666687102698107722861753096060", } var circuit VerifyMerkleProofCircuit circuit.LeafData = goldilocks.GetGoldilocksVariableArr(leaf_data) circuit.LeafIndex = leaf_index circuit.MerkleCap = make(types.MerkleCapVariable, len(merkle_cap)) for i, v := range merkle_cap { - circuit.MerkleCap[i].HashOut = goldilocks.GetGoldilocksVariableArr(v) + circuit.MerkleCap[i].HashOut = frontend.Variable(v) } - circuit.Proof.Siblings = make([]types.HashOutVariable, len(merkle_proof)) + circuit.Proof.Siblings = make([]types.PoseidonBn254HashOut, len(merkle_proof)) for i, v := range merkle_proof { - circuit.Proof.Siblings[i].HashOut = goldilocks.GetGoldilocksVariableArr(v) + circuit.Proof.Siblings[i].HashOut = frontend.Variable(v) } r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) @@ -77,11 +57,11 @@ func TestVerifyMerkleProof(t *testing.T) { assignment.LeafIndex = leaf_index assignment.MerkleCap = make(types.MerkleCapVariable, len(merkle_cap)) for i, v := range merkle_cap { - assignment.MerkleCap[i].HashOut = goldilocks.GetGoldilocksVariableArr(v) + assignment.MerkleCap[i].HashOut = frontend.Variable(v) } - assignment.Proof.Siblings = make([]types.HashOutVariable, len(merkle_proof)) + assignment.Proof.Siblings = make([]types.PoseidonBn254HashOut, len(merkle_proof)) for i, v := range merkle_proof { - assignment.Proof.Siblings[i].HashOut = goldilocks.GetGoldilocksVariableArr(v) + assignment.Proof.Siblings[i].HashOut = frontend.Variable(v) } witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) diff --git a/verifier/hash/poseidon_bn254_hasher.go b/verifier/hash/poseidon_bn254_hasher.go new file mode 100644 index 0000000..ca0fc4f --- /dev/null +++ b/verifier/hash/poseidon_bn254_hasher.go @@ -0,0 +1,83 @@ +package hash + +import ( + "math/big" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + poseidonBn254 "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon/bn254" + "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/types" + "github.com/consensys/gnark/frontend" +) + +const GOLDILOCKS_ELEMENTS = 3 + +type PoseidonBn254Hasher struct { + api frontend.API + poseidon poseidonBn254.Poseidon +} + +func NewPoseidonBn254Hasher(api frontend.API, poseidon poseidonBn254.Poseidon) PoseidonBn254Hasher { + return PoseidonBn254Hasher{ + api: api, + poseidon: poseidon, + } +} + +func getBigTen64() *big.Int { + bigTen63 := new(big.Int).SetUint64(1 << 63) + bigTen := new(big.Int).SetUint64(1 << 1) + return new(big.Int).Mul(bigTen63, bigTen) +} + +func (hasher *PoseidonBn254Hasher) HashNoPad(api frontend.API, inputs []goldilocks.GoldilocksVariable) types.PoseidonBn254HashOut { + permutation := poseidonBn254.NewPermutation(hasher.api, hasher.poseidon) + + bigTen64 := getBigTen64() + + for i := 0; i < len(inputs); i += poseidonBn254.RATE * 3 { + end_i := min(len(inputs), i+poseidonBn254.RATE*3) + rateChunk := inputs[i:end_i] + + for j := 0; j < len(rateChunk); j += 3 { + end_j := min(len(rateChunk), j+3) + bn254Chunk := rateChunk[j:end_j] + + stateBn254 := frontend.Variable(0) + var k int64 + for k = 0; k < int64(len(bn254Chunk)); k++ { + stateBn254 = api.MulAcc(stateBn254, bn254Chunk[k].Limb, new(big.Int).Exp(bigTen64, new(big.Int).SetInt64(k), nil)) + } + + permutation.Set(j/3+1, stateBn254) + } + permutation.Permute() + } + + return types.PoseidonBn254HashOut{HashOut: permutation.Squeeze()[0]} // taking first element as POSEIDON_Bn254_HASH_OUT = 1 +} + +func (hasher *PoseidonBn254Hasher) HashOrNoop(api frontend.API, inputs []goldilocks.GoldilocksVariable) types.PoseidonBn254HashOut { + if len(inputs) <= GOLDILOCKS_ELEMENTS { + bigTen64 := getBigTen64() + hashBn254 := frontend.Variable(0) + var i int64 + for i = 0; i < int64(len(inputs)); i++ { + hashBn254 = api.MulAcc(hashBn254, inputs[i].Limb, new(big.Int).Exp(bigTen64, new(big.Int).SetInt64(i), nil)) + } + return types.PoseidonBn254HashOut{HashOut: hashBn254} + } else { + return hasher.HashNoPad(api, inputs) + } +} + +func (hasher *PoseidonBn254Hasher) TwoToOne(api frontend.API, left types.PoseidonBn254HashOut, right types.PoseidonBn254HashOut) types.PoseidonBn254HashOut { + permutation := poseidonBn254.NewPermutation(hasher.api, hasher.poseidon) + + permutation.Set(0, frontend.Variable(0)) + permutation.Set(1, frontend.Variable(0)) + permutation.Set(2, left.HashOut) + permutation.Set(3, right.HashOut) + + permutation.Permute() + return types.PoseidonBn254HashOut{HashOut: permutation.Squeeze()[0]} +} diff --git a/verifier/hash/poseidon_bn254_hasher_test.go b/verifier/hash/poseidon_bn254_hasher_test.go new file mode 100644 index 0000000..e16ac13 --- /dev/null +++ b/verifier/hash/poseidon_bn254_hasher_test.go @@ -0,0 +1,109 @@ +package hash + +import ( + "testing" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + poseidonBn254 "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon/bn254" + "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/types" + "github.com/consensys/gnark-crypto/ecc" + "github.com/consensys/gnark/frontend" + "github.com/consensys/gnark/frontend/cs/r1cs" + "github.com/consensys/gnark/test" +) + +type TestHashNoPad struct { + Inputs []goldilocks.GoldilocksVariable + Hash types.PoseidonBn254HashOut +} + +type TestTwoToOne struct { + Left types.PoseidonBn254HashOut + Right types.PoseidonBn254HashOut + Hash types.PoseidonBn254HashOut +} + +func (circuit *TestHashNoPad) Define(api frontend.API) error { + poseidonBn254 := &poseidonBn254.PoseidonBn254{} + hasher := NewPoseidonBn254Hasher(api, poseidonBn254) + computedHash := hasher.HashNoPad(api, circuit.Inputs) + + api.AssertIsEqual(computedHash.HashOut, circuit.Hash.HashOut) + return nil +} + +func (circuit *TestTwoToOne) Define(api frontend.API) error { + poseidonBn254 := &poseidonBn254.PoseidonBn254{} + hasher := NewPoseidonBn254Hasher(api, poseidonBn254) + computedHash := hasher.TwoToOne(api, circuit.Left, circuit.Right) + + api.AssertIsEqual(computedHash.HashOut, circuit.Hash.HashOut) + return nil +} + +func TestPoseidon254HashNoPad(t *testing.T) { + assert := test.NewAssert(t) + + var circuit TestHashNoPad + + circuit.Inputs = goldilocks.GetGoldilocksVariableArr([]uint64{12987097349963159569, 8519720078137958023, 12502395793199898663, 13163480486271996737, 2601359304611665310, 13601282488975293041, 9773553971628027046, 15299383659781289576, 12178066977565821860, 14838768266880835355, 10273198213592986101, 11149216025130692304, 1449463113422137075, 3961924183184968917, 2652090029460391324, 4448307069412668407, 6414348715848785040, 4200225364124476850, 16512985419737822652, 16020988038878674244, 4484940669602791493, 8087791266822289232, 167216383651069757, 3619986112681836139, 13890755247599715550, 18089130090147600180, 14104911688512215816, 3170199854819354548, 1228454578063911241, 8800768677968357273, 16117596742067945181, 11591294822461529496, 13056324960777388624, 9635869061589142629, 15527464142753058444, 13008812052939163828, 7218056891131324845, 194041175801402260, 571642463218411303, 3820029588041095575, 9061914426016275426, 15496851539579904967, 7454493050726298749, 3859238387622068038, 8945279025282383367, 13865771064821703072, 4896067461696504979, 5765845834464030096, 5604842904426314523, 10023114215288651280, 4882003316218242102, 8737796487198019746, 9551386924349199714, 3326615995741196321, 8007478161738243067, 5501358838063037169, 3577127080100202311, 15992096502494881611, 4447746003524741385, 893816488509868933, 10946127042804039446, 4090869640635088928, 16820082341274327847, 6231076860103526897, 13487474926130636742, 13833149889251367434, 5094933451136081978, 506100813340195366, 9391455817063334187, 12733252230375965050, 2743898155863424355, 16109688317861092901, 6964163944443342725, 10381544026824886761, 2611839447075273758, 14986081691515318485, 8207503718852487899, 14945357535548372652, 17580272896188208139, 17638096712363869995, 4871503912430491541, 15742731368593120619, 14193205077079543506, 946557235025511139}) + circuit.Hash = types.PoseidonBn254HashOut{HashOut: "2541485809695854931609921186711480233085658399528320855995727505901045388016"} + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log("NbConstraints: ", r1cs.GetNbConstraints()) + + var assignment TestHashNoPad + // assignment.Inputs = []goldilocks.GoldilocksVariable{a, b} + assignment.Inputs = goldilocks.GetGoldilocksVariableArr([]uint64{12987097349963159569, 8519720078137958023, 12502395793199898663, 13163480486271996737, 2601359304611665310, 13601282488975293041, 9773553971628027046, 15299383659781289576, 12178066977565821860, 14838768266880835355, 10273198213592986101, 11149216025130692304, 1449463113422137075, 3961924183184968917, 2652090029460391324, 4448307069412668407, 6414348715848785040, 4200225364124476850, 16512985419737822652, 16020988038878674244, 4484940669602791493, 8087791266822289232, 167216383651069757, 3619986112681836139, 13890755247599715550, 18089130090147600180, 14104911688512215816, 3170199854819354548, 1228454578063911241, 8800768677968357273, 16117596742067945181, 11591294822461529496, 13056324960777388624, 9635869061589142629, 15527464142753058444, 13008812052939163828, 7218056891131324845, 194041175801402260, 571642463218411303, 3820029588041095575, 9061914426016275426, 15496851539579904967, 7454493050726298749, 3859238387622068038, 8945279025282383367, 13865771064821703072, 4896067461696504979, 5765845834464030096, 5604842904426314523, 10023114215288651280, 4882003316218242102, 8737796487198019746, 9551386924349199714, 3326615995741196321, 8007478161738243067, 5501358838063037169, 3577127080100202311, 15992096502494881611, 4447746003524741385, 893816488509868933, 10946127042804039446, 4090869640635088928, 16820082341274327847, 6231076860103526897, 13487474926130636742, 13833149889251367434, 5094933451136081978, 506100813340195366, 9391455817063334187, 12733252230375965050, 2743898155863424355, 16109688317861092901, 6964163944443342725, 10381544026824886761, 2611839447075273758, 14986081691515318485, 8207503718852487899, 14945357535548372652, 17580272896188208139, 17638096712363869995, 4871503912430491541, 15742731368593120619, 14193205077079543506, 946557235025511139}) + assignment.Hash = types.PoseidonBn254HashOut{HashOut: "2541485809695854931609921186711480233085658399528320855995727505901045388016"} + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestPoseidon254TwoToOne(t *testing.T) { + assert := test.NewAssert(t) + + var circuit TestTwoToOne + + circuit.Left = types.PoseidonBn254HashOut{HashOut: "6281904892014791868705219699957496985005720033780326396876219596728127146758"} + circuit.Right = types.PoseidonBn254HashOut{HashOut: "4947177603646695235300728304109696766792913382766045508801307633864513106919"} + circuit.Hash = types.PoseidonBn254HashOut{HashOut: "325766602379896428695352943246037863354300800134188688297414800288559471759"} + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log("NbConstraints: ", r1cs.GetNbConstraints()) + + var assignment TestTwoToOne + assignment.Left = types.PoseidonBn254HashOut{HashOut: "6281904892014791868705219699957496985005720033780326396876219596728127146758"} + assignment.Right = types.PoseidonBn254HashOut{HashOut: "4947177603646695235300728304109696766792913382766045508801307633864513106919"} + assignment.Hash = types.PoseidonBn254HashOut{HashOut: "325766602379896428695352943246037863354300800134188688297414800288559471759"} + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} diff --git a/verifier/hash/poseidon_goldilocks_hasher.go b/verifier/hash/poseidon_goldilocks_hasher.go new file mode 100644 index 0000000..9aa7ed6 --- /dev/null +++ b/verifier/hash/poseidon_goldilocks_hasher.go @@ -0,0 +1,68 @@ +package hash + +import ( + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + poseidonGoldilocks "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon/goldilocks" + "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/types" + "github.com/consensys/gnark/frontend" +) + +type PoseidonGoldilocksHasher struct { + api frontend.API + rangeChecker frontend.Rangechecker + poseidon poseidonGoldilocks.Poseidon +} + +func NewPoseidonGoldilocksHasher(api frontend.API, rangeChecker frontend.Rangechecker, poseidon poseidonGoldilocks.Poseidon) PoseidonGoldilocksHasher { + return PoseidonGoldilocksHasher{ + api: api, + rangeChecker: rangeChecker, + poseidon: poseidon, + } +} + +func (hasher *PoseidonGoldilocksHasher) HashNoPad(inputs []goldilocks.GoldilocksVariable) types.PoseidonGoldilocksHashOut { + permutation := poseidonGoldilocks.NewPermutation(hasher.api, hasher.rangeChecker, hasher.poseidon) + + numInputs := len(inputs) + numChunks := max(0, (numInputs-1)/poseidonGoldilocks.SPONGE_RATE+1) + for i := 0; i < numChunks; i++ { + start := i * poseidonGoldilocks.SPONGE_RATE + end := min((i+1)*poseidonGoldilocks.SPONGE_RATE, numInputs) + permutation.Set(inputs[start:end]) + permutation.Permute() + } + + var hash types.PoseidonGoldilocksHashOut + hash.HashOut = make([]goldilocks.GoldilocksVariable, types.POSEIDON_GOLDILOCKS_HASH_OUT) + for i, v := range permutation.Squeeze() { + if i >= types.POSEIDON_GOLDILOCKS_HASH_OUT { + break + } + hash.HashOut[i] = v + } + + return hash +} + +func (hasher *PoseidonGoldilocksHasher) HashOrNoop(inputs []goldilocks.GoldilocksVariable) types.PoseidonGoldilocksHashOut { + var hash types.PoseidonGoldilocksHashOut + hash.HashOut = make([]goldilocks.GoldilocksVariable, types.POSEIDON_GOLDILOCKS_HASH_OUT) + if len(inputs) <= types.POSEIDON_GOLDILOCKS_HASH_OUT { + for i := 0; i < types.POSEIDON_GOLDILOCKS_HASH_OUT; i++ { + if i < len(inputs) { + hash.HashOut[i] = inputs[i] + + } else { + hash.HashOut[i] = goldilocks.GetGoldilocksVariable(0) + } + } + } else { + hash = hasher.HashNoPad(inputs) + } + return hash +} + +func (hasher *PoseidonGoldilocksHasher) TwoToOne(left types.PoseidonGoldilocksHashOut, right types.PoseidonGoldilocksHashOut) types.PoseidonGoldilocksHashOut { + return hasher.HashNoPad(append(left.HashOut, right.HashOut...)) +} diff --git a/verifier/hash/poseidon_goldilocks_hasher_test.go b/verifier/hash/poseidon_goldilocks_hasher_test.go new file mode 100644 index 0000000..72ba88c --- /dev/null +++ b/verifier/hash/poseidon_goldilocks_hasher_test.go @@ -0,0 +1,58 @@ +package hash + +import ( + "testing" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + poseidonGoldilocks "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon/goldilocks" + "github.com/consensys/gnark-crypto/ecc" + "github.com/consensys/gnark/frontend" + "github.com/consensys/gnark/frontend/cs/r1cs" + "github.com/consensys/gnark/std/rangecheck" + "github.com/consensys/gnark/test" +) + +type TestPoseidonGoldilocksHashNoPad struct { + Inputs []goldilocks.GoldilocksVariable +} + +// only prints the output; doesn't verify it +func (circuit *TestPoseidonGoldilocksHashNoPad) Define(api frontend.API) error { + rangeChecker := rangecheck.New(api) + poseidon_goldilocks := &poseidonGoldilocks.PoseidonGoldilocks{} + hasher := NewPoseidonGoldilocksHasher(api, rangeChecker, poseidon_goldilocks) + computedHash := hasher.HashNoPad(circuit.Inputs) + api.Println("computedHash 0", computedHash.HashOut[0].Limb) + return nil +} + +func TestPoseidonGoldilocksHashNoPadFunction(t *testing.T) { + assert := test.NewAssert(t) + + var circuit TestPoseidonGoldilocksHashNoPad + + // when the the input is empty + circuit.Inputs = goldilocks.GetGoldilocksVariableArr([]uint64{}) + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log("NbConstraints: ", r1cs.GetNbConstraints()) + + var assignment TestPoseidonGoldilocksHashNoPad + assignment.Inputs = goldilocks.GetGoldilocksVariableArr([]uint64{}) + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} diff --git a/verifier/plonk/gates/arithmetic_extension.go b/verifier/plonk/gates/arithmetic_extension.go new file mode 100644 index 0000000..43c04cd --- /dev/null +++ b/verifier/plonk/gates/arithmetic_extension.go @@ -0,0 +1,74 @@ +package gates + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + algebra "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks/extension" + "github.com/consensys/gnark/frontend" +) + +type ArithmeticExtensionGate struct { + NumOps int `json:"num_ops"` +} + +func NewArithmeticExtensionGate(id string) *ArithmeticExtensionGate { + id = strings.TrimPrefix(id, "ArithmeticExtensionGate") + id = strings.Replace(id, "num_ops", "\"num_ops\"", 1) + var gate ArithmeticExtensionGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *ArithmeticExtensionGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + const0 := goldilocks.GetVariableArray(vars.LocalConstants[0]) + const1 := goldilocks.GetVariableArray(vars.LocalConstants[1]) + + constraints := make([]goldilocks.GoldilocksExtension2Variable, gate.NumOps*D) + for i := 0; i < gate.NumOps; i++ { + // wires + multiplicand0 := GetLocalExtAlgebra(vars.LocalWires, gate.wires_ithMultiplicand0(i)) + multiplicand1 := GetLocalExtAlgebra(vars.LocalWires, gate.wires_ithMultiplicand1(i)) + addend := GetLocalExtAlgebra(vars.LocalWires, gate.wires_ithAddend(i)) + output := GetLocalExtAlgebra(vars.LocalWires, gate.wires_ithOutput(i)) + + computedOutputNoReduce := algebra.MulNoReduce(api, multiplicand0, multiplicand1) + computedOutputNoReduce = algebra.ScalarMulNoReduce(api, computedOutputNoReduce, const0) + computedOutputNoReduce = algebra.AddNoReduce(api, computedOutputNoReduce, algebra.ScalarMulNoReduce(api, addend, const1)) + constraintNoReduce := algebra.SubNoReduce(api, computedOutputNoReduce, output) + + constraints[i*D] = goldilocks.NegExt(api, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][0], 202), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][1], 201)}, + ) + + constraints[i*D+1] = goldilocks.NegExt(api, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][0], 200), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][1], 199)}, + ) + } + return constraints +} + +func (gate *ArithmeticExtensionGate) wires_ithMultiplicand0(i int) [2]int { + return [2]int{4 * D * i, 4*D*i + D} +} + +func (gate *ArithmeticExtensionGate) wires_ithMultiplicand1(i int) [2]int { + return [2]int{4*D*i + D, 4*D*i + 2*D} +} + +func (gate *ArithmeticExtensionGate) wires_ithAddend(i int) [2]int { + return [2]int{4*D*i + 2*D, 4*D*i + 3*D} +} + +func (gate *ArithmeticExtensionGate) wires_ithOutput(i int) [2]int { + return [2]int{4*D*i + 3*D, 4*D*i + 4*D} +} diff --git a/verifier/plonk/gates/base_sum.go b/verifier/plonk/gates/base_sum.go new file mode 100644 index 0000000..cd4f92b --- /dev/null +++ b/verifier/plonk/gates/base_sum.go @@ -0,0 +1,72 @@ +package gates + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type BaseSumGate struct { + NumLimbs int `json:"num_limbs"` + Base int `json:"base"` +} + +const WIRE_SUM = 0 +const START_LIMBS = 1 + +func NewBaseSumGate(id string) *BaseSumGate { + id = strings.TrimPrefix(id, "BaseSumGate") + id = strings.Replace(id, " } +", ",", 1) + id = strings.Join([]string{id, "}"}, "") + id = strings.Replace(id, "num_limbs", "\"num_limbs\"", 1) + id = strings.Replace(id, "Base", "\"base\"", 1) + var gate BaseSumGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *BaseSumGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + if gate.Base != 2 { + panic(fmt.Sprintln("BaseSum gate::base must be 2")) + } + numLimbs := gate.NumLimbs + constraints := make([]goldilocks.GoldilocksExtension2Variable, 1+numLimbs) + + sum := goldilocks.GetVariableArray(vars.LocalWires[WIRE_SUM]) + limbsRaw := GetLocalWiresFromRange(vars.LocalWires, limbs(numLimbs)) + limbs := make([]goldilocks.GoldilocksExtension2Variable, len(limbsRaw)) + for i := 0; i < len(limbs); i++ { + limbs[i] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: limbsRaw[i][0]}, + B: goldilocks.GoldilocksVariable{Limb: limbsRaw[i][1]}, + } + } + computedSum := goldilocks.GetVariableArray(ReduceWithPowers(api, rangeChecker, limbs, goldilocks.BaseTo2Ext(goldilocks.GoldilocksVariable{Limb: gate.Base}))) + constraintNoReduce := goldilocks.SubExtNoReduce(api, computedSum, sum) + constraints[0] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + } + for i := 0; i < numLimbs; i++ { + constraintNoReduce := limbsRaw[i] + for j := 1; j < gate.Base; j++ { + constraintNoReduce = goldilocks.MulExtNoReduce(api, constraintNoReduce, goldilocks.SubExtNoReduce(api, limbsRaw[i], goldilocks.BaseTo2ExtRaw(j))) + } + constraints[i+1] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 132), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 130), + } + } + return constraints +} + +// Returns the index of the `i`th limb wire. +func limbs(numLimbs int) [2]int { + return [2]int{START_LIMBS, START_LIMBS + numLimbs} +} diff --git a/verifier/plonk/gates/coset_interpolation.go b/verifier/plonk/gates/coset_interpolation.go new file mode 100644 index 0000000..4148301 --- /dev/null +++ b/verifier/plonk/gates/coset_interpolation.go @@ -0,0 +1,262 @@ +package gates + +// TODO: movie goldilocks_extension to quadratic + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + algebra "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks/extension" + "github.com/consensys/gnark/frontend" +) + +type CosetInterpolationGate struct { + SubgroupBits int `json:"subgroup_bits"` + BarycentricWeights []uint64 `json:"barycentric_weights"` + Degree int `json:"degree"` +} + +func NewCosetInterpolationGate(id string) *CosetInterpolationGate { + splits := strings.Split(id, ", _phantom") + if splits[1] != ": PhantomData }" { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + id = splits[0] + id = strings.Split(id, ", _phantom")[0] + id = strings.Join([]string{id, "}"}, "") + id = strings.TrimPrefix(id, "CosetInterpolationGate") + id = strings.Replace(id, "subgroup_bits", "\"subgroup_bits\"", 1) + id = strings.Replace(id, "barycentric_weights", "\"barycentric_weights\"", 1) + id = strings.Replace(id, "degree", "\"degree\"", 1) + + var gate CosetInterpolationGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *CosetInterpolationGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + numConstraints := gate.numConstraints() + numPoints := gate.numPoints() + + constraints := make([]goldilocks.GoldilocksExtension2Variable, numConstraints) + + shift := goldilocks.GetVariableArray(vars.LocalWires[gate.wireShift()]) + evaluationPoint := GetLocalExtAlgebra(vars.LocalWires, gate.wiresEvaluationPoint()) + shiftedEvaluationPoint := GetLocalExtAlgebra(vars.LocalWires, gate.wiresShiftedEvaluationPoint()) + + a := algebra.ScalarMulNoReduce(api, shiftedEvaluationPoint, shift) + + constraintNoReduce := algebra.SubNoReduce(api, a, evaluationPoint) + constraints[0] = goldilocks.NegExt(api, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][0], 132), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][1], 130)}, + ) + constraints[1] = goldilocks.NegExt(api, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][0], 132), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][1], 130)}, + ) + + domain := goldilocks.TwoAdicSubgroup(api, rangeChecker, gate.SubgroupBits) + values := make([][2][2]frontend.Variable, numPoints) + for i := 0; i < numPoints; i++ { + values[i] = GetLocalExtAlgebra(vars.LocalWires, gate.wiresValue(i)) + } + + weights := make([]frontend.Variable, len(gate.BarycentricWeights)) + for i := 0; i < len(weights); i++ { + weights[i] = frontend.Variable(gate.BarycentricWeights[i]) + } + + computedEval, computedProd := gate.PartialInterpolateExtAlgebra( + api, + rangeChecker, + domain[:gate.Degree], + values[:gate.Degree], + weights[:gate.Degree], + shiftedEvaluationPoint, + algebra.ZERO(), + algebra.FromBase(goldilocks.BaseTo2ExtRaw(1)), + ) + + numIntermediates := gate.numIntermediates() + for i := 0; i < numIntermediates; i++ { + intermediateEval := GetLocalExtAlgebra(vars.LocalWires, gate.wiresIntermediateEval(i)) + intermediateProd := GetLocalExtAlgebra(vars.LocalWires, gate.wiresIntermediateProd(i)) + + // set constraints on the following successive indices + // D + i * 2 * D + // D + i * 2 * D + 1 + // D + i * 2 * D + 2 + // D + i * 2 * D + 3 + constraints[D+i*2*D] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(intermediateEval[0][0]), goldilocks.GetGoldilocks(computedEval[0][0])), + B: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(intermediateEval[0][1]), goldilocks.GetGoldilocks(computedEval[0][1])), + } + constraints[D+i*2*D+1] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(intermediateEval[1][0]), goldilocks.GetGoldilocks(computedEval[1][0])), + B: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(intermediateEval[1][1]), goldilocks.GetGoldilocks(computedEval[1][1])), + } + constraints[D+i*2*D+2] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(intermediateProd[0][0]), goldilocks.GetGoldilocks(computedProd[0][0])), + B: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(intermediateProd[0][1]), goldilocks.GetGoldilocks(computedProd[0][1])), + } + constraints[D+i*2*D+3] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(intermediateProd[1][0]), goldilocks.GetGoldilocks(computedProd[1][0])), + B: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(intermediateProd[1][1]), goldilocks.GetGoldilocks(computedProd[1][1])), + } + + startIndex := 1 + (gate.Degree-1)*(i+1) + endIndex := min(startIndex+gate.Degree-1, numPoints) + + computedEval, computedProd = gate.PartialInterpolateExtAlgebra( + api, + rangeChecker, + domain[startIndex:endIndex], + values[startIndex:endIndex], + weights[startIndex:endIndex], + shiftedEvaluationPoint, + intermediateEval, + intermediateProd, + ) + } + + evaluationValue := GetLocalExtAlgebra(vars.LocalWires, gate.wiresEvaluationValue()) + + constraints[numConstraints-2] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(evaluationValue[0][0]), goldilocks.GetGoldilocks(computedEval[0][0])), + B: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(evaluationValue[0][1]), goldilocks.GetGoldilocks(computedEval[0][1])), + } + constraints[numConstraints-1] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(evaluationValue[1][0]), goldilocks.GetGoldilocks(computedEval[1][0])), + B: goldilocks.Sub(api, rangeChecker, goldilocks.GetGoldilocks(evaluationValue[1][1]), goldilocks.GetGoldilocks(computedEval[1][1])), + } + + return constraints +} + +func (gate *CosetInterpolationGate) PartialInterpolateExtAlgebra( + api frontend.API, + rangeChecker frontend.Rangechecker, + domain []goldilocks.GoldilocksVariable, + values [][D][D]frontend.Variable, + barycentricWeights []frontend.Variable, + x [D][D]frontend.Variable, + initialEval [D][D]frontend.Variable, + initialPartialProd [D][D]frontend.Variable, +) ([D][D]frontend.Variable, [D][D]frontend.Variable) { + n := len(domain) + if n == 0 { + panic("domain length can't be 0") + } + if n != len(values) { + panic("n != values") + } + if n != len(barycentricWeights) { + panic("n != barycentricWeights") + } + + weightedValues := make([][2][2]frontend.Variable, n) + for i := 0; i < n; i++ { + weightedValues[i] = algebra.ScalarMulNoReduce(api, values[i], goldilocks.BaseTo2ExtRaw(barycentricWeights[i])) + } + + // accumulator variables + eval, termsPartialProd := initialEval, initialPartialProd + + for i := 0; i < n; i++ { + val := weightedValues[i] + xi := domain[i].Limb + termNoReduce := algebra.SubNoReduce(api, x, algebra.FromBase(goldilocks.BaseTo2ExtRaw(xi))) + evalNoReduce := algebra.AddNoReduce(api, algebra.MulNoReduce(api, eval, termNoReduce), algebra.MulNoReduce(api, val, termsPartialProd)) + termsPartialProdNoReduce := algebra.MulNoReduce(api, termsPartialProd, termNoReduce) + + eval = [D][D]frontend.Variable{ + {goldilocks.Reduce(api, rangeChecker, evalNoReduce[0][0], 203).Limb, goldilocks.Reduce(api, rangeChecker, evalNoReduce[0][1], 202).Limb}, + {goldilocks.Reduce(api, rangeChecker, evalNoReduce[1][0], 200).Limb, goldilocks.Reduce(api, rangeChecker, evalNoReduce[1][1], 199).Limb}, + } + termsPartialProd = [D][D]frontend.Variable{ + {goldilocks.Reduce(api, rangeChecker, termsPartialProdNoReduce[0][0], 137).Limb, goldilocks.Reduce(api, rangeChecker, termsPartialProdNoReduce[0][1], 134).Limb}, + {goldilocks.Reduce(api, rangeChecker, termsPartialProdNoReduce[1][0], 133).Limb, goldilocks.Reduce(api, rangeChecker, termsPartialProdNoReduce[1][1], 130).Limb}, + } + } + + return eval, termsPartialProd +} + +func (gate *CosetInterpolationGate) numConstraints() int { + // D constraints to check for consistency of the shifted evaluation point, plus D + // constraints for the evaluation value. + return D + D + 2*D*gate.numIntermediates() +} + +func (gate *CosetInterpolationGate) numPoints() int { + return 1 << gate.SubgroupBits +} + +// Wire index of the coset shift. +func (gate *CosetInterpolationGate) wireShift() int { + return 0 +} + +func (gate *CosetInterpolationGate) startValues() int { + return 1 +} + +// Wire indices of the `i`th interpolant value. +func (gate *CosetInterpolationGate) wiresValue(i int) [2]int { + start := gate.startValues() + i*D + return [2]int{start, start + D} +} + +func (gate *CosetInterpolationGate) startEvaluationPoint() int { + return gate.startValues() + gate.numPoints()*D +} + +// Wire indices of the point to evaluate the interpolant at. +func (gate *CosetInterpolationGate) wiresEvaluationPoint() [2]int { + start := gate.startEvaluationPoint() + return [2]int{start, start + D} +} + +func (gate *CosetInterpolationGate) numIntermediates() int { + return (gate.numPoints() - 2) / (gate.Degree - 1) +} + +// The wires corresponding to the i'th intermediate evaluation. +func (gate *CosetInterpolationGate) wiresIntermediateEval(i int) [2]int { + start := gate.startIntermediates() + D*i + return [2]int{start, start + D} +} + +// The wires corresponding to the i'th intermediate product. +func (gate *CosetInterpolationGate) wiresIntermediateProd(i int) [2]int { + start := gate.startIntermediates() + D*(gate.numIntermediates()+i) + return [2]int{start, start + D} +} + +func (gate *CosetInterpolationGate) startEvaluationValue() int { + return gate.startEvaluationPoint() + D +} + +// Wire indices of the interpolated value. +func (gate *CosetInterpolationGate) wiresEvaluationValue() [2]int { + start := gate.startEvaluationValue() + return [2]int{start, start + D} +} + +func (gate *CosetInterpolationGate) startIntermediates() int { + return gate.startEvaluationValue() + D +} + +// Wire indices of the shifted point to evaluate the interpolant at. +func (gate *CosetInterpolationGate) wiresShiftedEvaluationPoint() [2]int { + start := gate.startIntermediates() + D*2*gate.numIntermediates() + return [2]int{start, start + D} +} diff --git a/verifier/plonk/gates/exponentiation.go b/verifier/plonk/gates/exponentiation.go new file mode 100644 index 0000000..7ce6dde --- /dev/null +++ b/verifier/plonk/gates/exponentiation.go @@ -0,0 +1,116 @@ +package gates + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type ExponentiationGate struct { + NumPowerBits int `json:"num_power_bits"` +} + +func NewExponentiationGate(id string) *ExponentiationGate { + splits := strings.Split(id, ", _phantom") + if splits[1] != ": PhantomData }" { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + id = splits[0] + id = strings.Split(id, ", _phantom")[0] + id = strings.Join([]string{id, "}"}, "") + id = strings.TrimPrefix(id, "ExponentiationGate ") + id = strings.Replace(id, "num_power_bits", "\"num_power_bits\"", 1) + var gate ExponentiationGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *ExponentiationGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + base := goldilocks.GetVariableArray(vars.LocalWires[gate.wireBase()]) + + powerBits := make([][D]frontend.Variable, gate.NumPowerBits) + for i := 0; i < len(powerBits); i++ { + powerBits[i] = goldilocks.GetVariableArray(vars.LocalWires[gate.wirePowerBit(i)]) + } + + intermediateValues := make([][D]frontend.Variable, gate.NumPowerBits) + for i := 0; i < len(powerBits); i++ { + intermediateValues[i] = goldilocks.GetVariableArray(vars.LocalWires[gate.wireIntermediateValue(i)]) + } + + output := vars.LocalWires[gate.wireOutput()] + + constraints := make([]goldilocks.GoldilocksExtension2Variable, gate.numConstraints()) + + for i := 0; i < gate.NumPowerBits; i++ { + var prevIntermediateValueNoReduce [D]frontend.Variable + var prevIntermediateValue goldilocks.GoldilocksExtension2Variable + if i == 0 { + prevIntermediateValue = goldilocks.BaseTo2Ext(goldilocks.GoldilocksVariable{Limb: 1}) + } else { + prevIntermediateValueNoReduce = goldilocks.MulExtNoReduce(api, intermediateValues[i-1], intermediateValues[i-1]) + prevIntermediateValue = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, prevIntermediateValueNoReduce[0], 131), + B: goldilocks.Reduce(api, rangeChecker, prevIntermediateValueNoReduce[1], 129), + } + } + + prevIntermediateValueRaw := [D]frontend.Variable{prevIntermediateValue.A.Limb, prevIntermediateValue.B.Limb} + + // power_bits is in LE order, but we accumulate in BE order. + curBit := powerBits[gate.NumPowerBits-i-1] + notCurBit := goldilocks.SubExtNoReduce(api, goldilocks.BaseTo2ExtRaw(1), curBit) + computedIntermediateValue := goldilocks.MulExtNoReduce( + api, + prevIntermediateValueRaw, + goldilocks.AddExtNoReduce( + api, + goldilocks.MulExtNoReduce(api, curBit, base), + notCurBit, + ), + ) + constraintNoReduce := goldilocks.SubExtNoReduce(api, computedIntermediateValue, intermediateValues[i]) + constraints[i] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 199), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 198), + } + } + + constraints[gate.NumPowerBits] = goldilocks.SubExt( + api, + rangeChecker, + output, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: intermediateValues[gate.NumPowerBits-1][0]}, + B: goldilocks.GoldilocksVariable{Limb: intermediateValues[gate.NumPowerBits-1][1]}, + }, + ) + return constraints +} + +func (gate *ExponentiationGate) wireBase() int { + return 0 +} + +// The `i`th bit of the exponent, in little-endian order. +func (gate *ExponentiationGate) wirePowerBit(i int) int { + return 1 + i +} + +func (gate *ExponentiationGate) wireOutput() int { + return 1 + gate.NumPowerBits +} + +func (gate *ExponentiationGate) wireIntermediateValue(i int) int { + return 2 + gate.NumPowerBits + i +} + +func (gate ExponentiationGate) numConstraints() int { + return gate.NumPowerBits + 1 +} diff --git a/verifier/plonk/gates/gate.go b/verifier/plonk/gates/gate.go index f961c57..e6a59f9 100644 --- a/verifier/plonk/gates/gate.go +++ b/verifier/plonk/gates/gate.go @@ -16,6 +16,8 @@ type Gate interface { EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable } +const D = goldilocks.D + func EvalFiltered( api frontend.API, rangeChecker frontend.Rangechecker, @@ -45,47 +47,100 @@ func EvalFiltered( } func ParseGate(gate_id string) Gate { - if strings.Contains(gate_id, "ArithmeticGate") { + if strings.HasPrefix(gate_id, "ArithmeticGate") { return NewArithmeticGate(gate_id) } else if strings.Contains(gate_id, "ArithmeticExtensionGate") { - panic("todo") + + return NewArithmeticExtensionGate(gate_id) + } else if strings.Contains(gate_id, "BaseSumGate") { - panic("todo") + + return NewBaseSumGate(gate_id) + } else if strings.Contains(gate_id, "ConstantGate") { return NewConstantGate(gate_id) } else if strings.Contains(gate_id, "CosetInterpolationGate") { - panic("todo") + + return NewCosetInterpolationGate(gate_id) + } else if strings.Contains(gate_id, "ExponentiationGate") { - panic("todo") + + return NewExponentiationGate(gate_id) + } else if strings.Contains(gate_id, "LookupGate") { - panic("todo") + + return NewLookupGate(gate_id) + } else if strings.Contains(gate_id, "LookupTableGate") { - panic("todo") + + return NewLookupTableGate(gate_id) + } else if strings.Contains(gate_id, "MulExtensionGate") { - panic("todo") + + return NewMulExtensionGate(gate_id) + } else if strings.Contains(gate_id, "NoopGate") { - panic("todo") + + return NewNoopGate(gate_id) + } else if strings.Contains(gate_id, "PoseidonGate") { return NewPoseidonGate(gate_id) } else if strings.Contains(gate_id, "PoseidonMdsGate") { - panic("todo") + + return NewPoseidonMdsGate(gate_id) + } else if strings.Contains(gate_id, "PublicInputGate") { return NewPublicInputGate(gate_id) } else if strings.Contains(gate_id, "RandomAccessGate") { - panic("todo") + + return NewRandomAccessGate(gate_id) + } else if strings.Contains(gate_id, "ReducingGate") { - panic("todo") + + return NewReducingGate(gate_id) + } else if strings.Contains(gate_id, "ReducingExtensionGate") { - panic("todo") + + return NewReducingExtensionGate(gate_id) + + } else if strings.Contains(gate_id, "ComparisonGate") { + + return NewU32ComparisonGate(gate_id) + + } else if strings.Contains(gate_id, "U32AddManyGate") { + + return NewU32AddManyGate(gate_id) + + } else if strings.HasPrefix(gate_id, "U32ArithmeticGate") { + + return NewU32ArithmeticGate(gate_id) + + } else if strings.HasPrefix(gate_id, "U32InterleaveGate") { + + return NewU32InterleaveGate(gate_id) + + } else if strings.HasPrefix(gate_id, "UninterleaveToU32Gate") { + + return NewUninterleaveToU32Gate(gate_id) + + } else if strings.HasPrefix(gate_id, "UninterleaveToB32Gate") { + + return NewUninterleaveToB32Gate(gate_id) + + } else if strings.HasPrefix(gate_id, "U32Subtraction") { + + return NewU32SubtractionGate(gate_id) + } else { + panic(fmt.Sprintln("Unsupported gate:", gate_id)) } } diff --git a/verifier/plonk/gates/gate_test.go b/verifier/plonk/gates/gate_test.go index f5a0124..cc6a9d6 100644 --- a/verifier/plonk/gates/gate_test.go +++ b/verifier/plonk/gates/gate_test.go @@ -16,9 +16,9 @@ import ( ) type Vars struct { - LocalConstants [][]uint64 `json:"local_constants"` - LocalWires [][]uint64 `json:"local_wires"` - PublicInputsHash types.HashOut `json:"public_inputs_hash"` + LocalConstants [][]uint64 `json:"local_constants"` + LocalWires [][]uint64 `json:"local_wires"` + PublicInputsHash types.PoseidonGoldilocksHashOutType `json:"public_inputs_hash"` } type TestData struct { @@ -35,14 +35,63 @@ type TestGateCircuit struct { func (circuit *TestGateCircuit) Define(api frontend.API) error { rangeChecker := rangecheck.New(api) gate := ParseGate(circuit.GateId) - gate.EvalUnfiltered(api, rangeChecker, circuit.Vars) - // for i, v := range contraints { - // api.AssertIsEqual(v.A.Limb, circuit.Constraints[i].A.Limb) - // api.AssertIsEqual(v.B.Limb, circuit.Constraints[i].B.Limb) - // } + contraints := gate.EvalUnfiltered(api, rangeChecker, circuit.Vars) + for i, v := range contraints { + api.AssertIsEqual(v.A.Limb, circuit.Constraints[i].A.Limb) + api.AssertIsEqual(v.B.Limb, circuit.Constraints[i].B.Limb) + } return nil } +func CheckGate(fileName string, gateId string, t *testing.T) { + assert := test.NewAssert(t) + + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = gateId + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = gateId + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + func TestArithmeticGate(t *testing.T) { assert := test.NewAssert(t) @@ -93,6 +142,106 @@ func TestArithmeticGate(t *testing.T) { assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) } +func TestArithmeticExtensionGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/arithmetic_extension_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "ArithmeticExtensionGate { num_ops: 10 }" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "ArithmeticExtensionGate { num_ops: 10 }" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestCosetInterpolationGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/coset_interpolation_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "CosetInterpolationGate { subgroup_bits: 4, degree: 6, barycentric_weights: [17293822565076172801, 18374686475376656385, 18446744069413535745, 281474976645120, 17592186044416, 256, 18446744000695107601, 18446744065119617025, 1152921504338411520, 72057594037927936, 1048576, 18446462594437939201, 18446726477228539905, 18446744069414584065, 68719476720, 4294967296], _phantom: PhantomData }" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "CosetInterpolationGate { subgroup_bits: 4, degree: 6, barycentric_weights: [17293822565076172801, 18374686475376656385, 18446744069413535745, 281474976645120, 17592186044416, 256, 18446744000695107601, 18446744065119617025, 1152921504338411520, 72057594037927936, 1048576, 18446462594437939201, 18446726477228539905, 18446744069414584065, 68719476720, 4294967296], _phantom: PhantomData }" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + func TestConstantGate(t *testing.T) { assert := test.NewAssert(t) @@ -193,10 +342,10 @@ func TestPublicInputGate(t *testing.T) { assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) } -func TestPoseidonGate(t *testing.T) { +func TestBaseSum(t *testing.T) { assert := test.NewAssert(t) - fileName := "../../../testdata/poseidon_constraints.json" + fileName := "../../../testdata/base_sum_constraints.json" fileData, err := os.ReadFile(fileName) if err != nil { panic(fmt.Sprintln("fail to read file: ", fileName, err)) @@ -214,7 +363,7 @@ func TestPoseidonGate(t *testing.T) { circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) - circuit.GateId = "PoseidonGate(PhantomData)" + circuit.GateId = "BaseSumGate { num_limbs: 63 } + Base: 2" r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) if err != nil { @@ -228,7 +377,107 @@ func TestPoseidonGate(t *testing.T) { assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) - assignment.GateId = "PoseidonGate(PhantomData)" + assignment.GateId = "BaseSumGate { num_limbs: 63 } + Base: 2" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestExponentiationGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/exponentiation_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "ExponentiationGate { num_power_bits: 17, _phantom: PhantomData }" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "ExponentiationGate { num_power_bits: 17, _phantom: PhantomData }" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestLookupGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/lookup_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "LookupGate {num_slots: 40, lut_hash: [36, 96, 153, 18, 161, 69, 56, 184, 62, 235, 132, 33, 162, 102, 217, 235, 96, 191, 181, 219, 152, 137, 120, 81, 73, 22, 207, 95, 245, 86, 119, 116]}" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "LookupGate {num_slots: 40, lut_hash: [36, 96, 153, 18, 161, 69, 56, 184, 62, 235, 132, 33, 162, 102, 217, 235, 96, 191, 181, 219, 152, 137, 120, 81, 73, 22, 207, 95, 245, 86, 119, 116]}" witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) if err != nil { @@ -242,3 +491,417 @@ func TestPoseidonGate(t *testing.T) { assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) } + +func TestLookupTableGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/lookup_table_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "LookupTableGate {num_slots: 26, lut_hash: [36, 96, 153, 18, 161, 69, 56, 184, 62, 235, 132, 33, 162, 102, 217, 235, 96, 191, 181, 219, 152, 137, 120, 81, 73, 22, 207, 95, 245, 86, 119, 116], last_lut_row: 3}" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "LookupTableGate {num_slots: 26, lut_hash: [36, 96, 153, 18, 161, 69, 56, 184, 62, 235, 132, 33, 162, 102, 217, 235, 96, 191, 181, 219, 152, 137, 120, 81, 73, 22, 207, 95, 245, 86, 119, 116], last_lut_row: 3}" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestMulExtensionGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/mul_extension_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "MulExtensionGate { num_ops: 13 }" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "MulExtensionGate { num_ops: 13 }" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestNoopGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/noop_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "NoopGate" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "NoopGate" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestRandomAccessGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/random_access_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "RandomAccessGate { bits: 4, num_copies: 4, num_extra_constants: 2, _phantom: PhantomData }" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "RandomAccessGate { bits: 4, num_copies: 4, num_extra_constants: 2, _phantom: PhantomData }" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestReducingGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/reducing_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "ReducingGate { num_coeffs: 43 }" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "ReducingGate { num_coeffs: 43 }" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestReducingExtensionGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/reducing_extension_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "ReducingExtensionGate { num_coeffs: 32 }" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "ReducingExtensionGate { num_coeffs: 32 }" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestPoseidonMdsGate(t *testing.T) { + CheckGate( + "../../../testdata/poseidon_mds_constraints.json", + "PoseidonMdsGate(PhantomData)", + t, + ) +} + +func TestU32ComparisonGate(t *testing.T) { + CheckGate( + "../../../testdata/u32_comparison_constraints.json", + "ComparisonGate { num_bits: 32, num_chunks: 16, _phantom: PhantomData }", + t, + ) +} + +func TestU32AddMany(t *testing.T) { + CheckGate( + "../../../testdata/u32_add_many_constraints.json", + "U32AddManyGate { num_addends: 2, num_ops: 5, _phantom: PhantomData }", + t, + ) +} + +func TestU32Arithmetic(t *testing.T) { + CheckGate( + "../../../testdata/u32_arithmetic_constraints.json", + "U32ArithmeticGate { num_ops: 3, _phantom: PhantomData }", + t, + ) +} + +func TestPoseidonGate(t *testing.T) { + assert := test.NewAssert(t) + + fileName := "../../../testdata/poseidon_constraints.json" + fileData, err := os.ReadFile(fileName) + if err != nil { + panic(fmt.Sprintln("fail to read file: ", fileName, err)) + } + + var tData TestData + + err = json.Unmarshal(fileData, &tData) + if err != nil { + panic(fmt.Sprintln("fail to deserialize: ", err)) + } + + var circuit TestGateCircuit + circuit.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + circuit.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + circuit.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + circuit.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + circuit.GateId = "PoseidonGate(PhantomData)" + + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("failed to compile: ", err) + } + + t.Log(r1cs.GetNbConstraints()) + + var assignment TestGateCircuit + assignment.Vars.PublicInputsHash = tData.Vars.PublicInputsHash.GetVariable() + assignment.Vars.LocalConstants = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalConstants) + assignment.Vars.LocalWires = goldilocks.GetGoldilocksExtensionVariableArr(tData.Vars.LocalWires) + assignment.Constraints = goldilocks.GetGoldilocksExtensionVariableArr(tData.Constraints) + assignment.GateId = "PoseidonGate(PhantomData)" + + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err) + } + + err = r1cs.IsSolved(witness) + if err != nil { + t.Fatal("failed to solve: ", err) + } + + assert.CheckCircuit(&circuit, test.WithValidAssignment(&assignment), test.WithCurves(ecc.BN254)) +} + +func TestU32Interleave(t *testing.T) { + CheckGate( + "../../../testdata/u32_interleave_constraints.json", + "U32InterleaveGate { num_ops: 3 }", + t, + ) +} + +func TestUninterleaveToU32(t *testing.T) { + CheckGate( + "../../../testdata/uninterleave_to_u32_constraints.json", + "UninterleaveToU32Gate { num_ops: 2 }", + t, + ) +} + +func TestUninterleaveToB32(t *testing.T) { + CheckGate( + "../../../testdata/uninterleave_to_b32_constraints.json", + "UninterleaveToB32Gate { num_ops: 2 }", + t, + ) +} + +func TestU32Subtraction(t *testing.T) { + CheckGate( + "../../../testdata/u32_subtraction_constraints.json", + "U32SubtractionGate { num_ops: 6, _phantom: PhantomData }", + t, + ) +} diff --git a/verifier/plonk/gates/lookup.go b/verifier/plonk/gates/lookup.go new file mode 100644 index 0000000..05c0c34 --- /dev/null +++ b/verifier/plonk/gates/lookup.go @@ -0,0 +1,26 @@ +package gates + +import ( + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type LookupGate struct { +} + +func NewLookupGate(id string) *LookupGate { + if strings.HasPrefix(id, "LookupGate") != true { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + + return new(LookupGate) +} + +func (gate *LookupGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + constraints := make([]goldilocks.GoldilocksExtension2Variable, 0) + + return constraints +} diff --git a/verifier/plonk/gates/lookup_table.go b/verifier/plonk/gates/lookup_table.go new file mode 100644 index 0000000..4134b7d --- /dev/null +++ b/verifier/plonk/gates/lookup_table.go @@ -0,0 +1,26 @@ +package gates + +import ( + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type LookupTableGate struct { +} + +func NewLookupTableGate(id string) *LookupTableGate { + if strings.HasPrefix(id, "LookupTableGate") != true { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + + return new(LookupTableGate) +} + +func (gate *LookupTableGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + constraints := make([]goldilocks.GoldilocksExtension2Variable, 0) + + return constraints +} diff --git a/verifier/plonk/gates/mul_extension_gate.go b/verifier/plonk/gates/mul_extension_gate.go new file mode 100644 index 0000000..6aaa496 --- /dev/null +++ b/verifier/plonk/gates/mul_extension_gate.go @@ -0,0 +1,62 @@ +package gates + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + algebra "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks/extension" + "github.com/consensys/gnark/frontend" +) + +type MulExtensionGate struct { + NumOps int `json:"num_ops"` +} + +func NewMulExtensionGate(id string) *MulExtensionGate { + id = strings.TrimPrefix(id, "MulExtensionGate") + id = strings.Replace(id, "num_ops", "\"num_ops\"", 1) + var gate MulExtensionGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *MulExtensionGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + const0 := goldilocks.GetVariableArray(vars.LocalConstants[0]) + constraints := make([]goldilocks.GoldilocksExtension2Variable, gate.NumOps*D) + + for i := 0; i < gate.NumOps; i++ { + multiplicand0 := GetLocalExtAlgebra(vars.LocalWires, gate.wires_ithMultiplicand0(i)) + multiplicand1 := GetLocalExtAlgebra(vars.LocalWires, gate.wires_ithMultiplicand1(i)) + output := GetLocalExtAlgebra(vars.LocalWires, gate.wires_ithOutput(i)) + computedOutputNoReduce := algebra.ScalarMulNoReduce(api, algebra.MulNoReduce(api, multiplicand0, multiplicand1), const0) + constraintNoReduce := algebra.SubNoReduce(api, computedOutputNoReduce, output) + + constraints[i*D] = goldilocks.NegExt(api, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][0], 202), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][1], 202)}, + ) + + constraints[i*D+1] = goldilocks.NegExt(api, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][0], 199), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][1], 199)}, + ) + } + return constraints +} + +func (gate *MulExtensionGate) wires_ithMultiplicand0(i int) [2]int { + return [2]int{3 * D * i, 3*D*i + D} +} +func (gate *MulExtensionGate) wires_ithMultiplicand1(i int) [2]int { + return [2]int{3*D*i + D, 3*D*i + 2*D} +} +func (gate *MulExtensionGate) wires_ithOutput(i int) [2]int { + return [2]int{3*D*i + 2*D, 3*D*i + 3*D} +} diff --git a/verifier/plonk/gates/noop.go b/verifier/plonk/gates/noop.go new file mode 100644 index 0000000..4b532bc --- /dev/null +++ b/verifier/plonk/gates/noop.go @@ -0,0 +1,24 @@ +package gates + +import ( + "fmt" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type NoopGate struct { +} + +func NewNoopGate(id string) *NoopGate { + if id != "NoopGate" { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + return new(NoopGate) +} + +func (gate *NoopGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + constraints := make([]goldilocks.GoldilocksExtension2Variable, 0) + + return constraints +} diff --git a/verifier/plonk/gates/poseidon.go b/verifier/plonk/gates/poseidon.go index c323b08..82c077c 100644 --- a/verifier/plonk/gates/poseidon.go +++ b/verifier/plonk/gates/poseidon.go @@ -4,25 +4,25 @@ import ( "fmt" "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" - "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon" + poseidonGoldilocks "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon/goldilocks" "github.com/consensys/gnark/frontend" ) -const WIRE_SWAP = 2 * poseidon.SPONGE_WIDTH -const START_DELTA = 2*poseidon.SPONGE_WIDTH + 1 +const WIRE_SWAP = 2 * poseidonGoldilocks.SPONGE_WIDTH +const START_DELTA = 2*poseidonGoldilocks.SPONGE_WIDTH + 1 const START_FULL_0 = START_DELTA + 4 -const START_PARTIAL = START_FULL_0 + poseidon.SPONGE_WIDTH*(poseidon.FULL_ROUNDS_HALF-1) -const START_FULL_1 = START_PARTIAL + poseidon.PARTIAL_ROUNDS +const START_PARTIAL = START_FULL_0 + poseidonGoldilocks.SPONGE_WIDTH*(poseidonGoldilocks.FULL_ROUNDS_HALF-1) +const START_FULL_1 = START_PARTIAL + poseidonGoldilocks.PARTIAL_ROUNDS type PoseidonGate struct { - poseidon poseidon.Poseidon + poseidon poseidonGoldilocks.Poseidon } func NewPoseidonGate(id string) *PoseidonGate { if id != "PoseidonGate(PhantomData)" { panic(fmt.Sprintln("Invalid gate id: ", id)) } - poseidon_goldilocks := &poseidon.PoseidonGoldilocks{} + poseidon_goldilocks := &poseidonGoldilocks.PoseidonGoldilocks{} return &PoseidonGate{ poseidon: poseidon_goldilocks, } @@ -70,7 +70,7 @@ func (gate *PoseidonGate) EvalUnfiltered(api frontend.API, rangeChecker frontend B: goldilocks.Reduce(api, rangeChecker, no_reduce_c[1], 130), }) } - state := make([]goldilocks.GoldilocksExtension2Variable, poseidon.SPONGE_WIDTH) + state := make([]goldilocks.GoldilocksExtension2Variable, poseidonGoldilocks.SPONGE_WIDTH) for i := 0; i < 4; i++ { delta_i := vars.LocalWires[gate.wire_delta(i)] input_lhs := vars.LocalWires[gate.wire_input(i)] @@ -78,22 +78,22 @@ func (gate *PoseidonGate) EvalUnfiltered(api frontend.API, rangeChecker frontend state[i] = goldilocks.AddExt(api, rangeChecker, input_lhs, delta_i) state[i+4] = goldilocks.SubExt(api, rangeChecker, input_rhs, delta_i) } - for i := 8; i < poseidon.SPONGE_WIDTH; i++ { + for i := 8; i < poseidonGoldilocks.SPONGE_WIDTH; i++ { state[i] = vars.LocalWires[gate.wire_input(i)] } round_ctr := 0 // FULL ROUNDS - for r := 0; r < poseidon.FULL_ROUNDS_HALF; r++ { + for r := 0; r < poseidonGoldilocks.FULL_ROUNDS_HALF; r++ { state = gate.poseidon.ConstantExt(api, rangeChecker, state, round_ctr) if r != 0 { - for i := 0; i < poseidon.SPONGE_WIDTH; i++ { + for i := 0; i < poseidonGoldilocks.SPONGE_WIDTH; i++ { sbox_in := vars.LocalWires[gate.wire_full_sbox_0(r, i)] constraints = append(constraints, goldilocks.SubExt(api, rangeChecker, state[i], sbox_in)) state[i] = sbox_in } } - for i := 0; i < poseidon.SPONGE_WIDTH; i++ { + for i := 0; i < poseidonGoldilocks.SPONGE_WIDTH; i++ { state[i] = gate.poseidon.SboxExt(api, rangeChecker, state[i]) } state = gate.poseidon.MdsExt(api, rangeChecker, state) @@ -103,35 +103,35 @@ func (gate *PoseidonGate) EvalUnfiltered(api frontend.API, rangeChecker frontend // PARTIAL ROUNDS state = gate.poseidon.PartialFirstConstantLayerExt(api, rangeChecker, state) state = gate.poseidon.MdsPartialLayerInitExt(api, rangeChecker, state) - for r := 0; r < poseidon.PARTIAL_ROUNDS-1; r++ { + for r := 0; r < poseidonGoldilocks.PARTIAL_ROUNDS-1; r++ { sbox_in := vars.LocalWires[gate.wire_partial_sbox(r)] constraints = append(constraints, goldilocks.SubExt(api, rangeChecker, state[0], sbox_in)) state[0] = gate.poseidon.SboxExt(api, rangeChecker, sbox_in) - state[0].A = goldilocks.Add(api, rangeChecker, state[0].A, goldilocks.GoldilocksVariable{Limb: poseidon.FAST_PARTIAL_ROUND_CONSTANTS[r]}) + state[0].A = goldilocks.Add(api, rangeChecker, state[0].A, goldilocks.GoldilocksVariable{Limb: poseidonGoldilocks.FAST_PARTIAL_ROUND_CONSTANTS[r]}) state = gate.poseidon.MdsPartialLayerFastExt(api, rangeChecker, state, r) } - sbox_in := vars.LocalWires[gate.wire_partial_sbox(poseidon.PARTIAL_ROUNDS-1)] + sbox_in := vars.LocalWires[gate.wire_partial_sbox(poseidonGoldilocks.PARTIAL_ROUNDS-1)] constraints = append(constraints, goldilocks.SubExt(api, rangeChecker, state[0], sbox_in)) state[0] = gate.poseidon.SboxExt(api, rangeChecker, sbox_in) - state = gate.poseidon.MdsPartialLayerFastExt(api, rangeChecker, state, poseidon.PARTIAL_ROUNDS-1) - round_ctr += poseidon.PARTIAL_ROUNDS + state = gate.poseidon.MdsPartialLayerFastExt(api, rangeChecker, state, poseidonGoldilocks.PARTIAL_ROUNDS-1) + round_ctr += poseidonGoldilocks.PARTIAL_ROUNDS //FULL ROUNDS - for r := 0; r < poseidon.FULL_ROUNDS_HALF; r++ { + for r := 0; r < poseidonGoldilocks.FULL_ROUNDS_HALF; r++ { state = gate.poseidon.ConstantExt(api, rangeChecker, state, round_ctr) - for i := 0; i < poseidon.SPONGE_WIDTH; i++ { + for i := 0; i < poseidonGoldilocks.SPONGE_WIDTH; i++ { sbox_in := vars.LocalWires[gate.wire_full_sbox_1(r, i)] constraints = append(constraints, goldilocks.SubExt(api, rangeChecker, state[i], sbox_in)) state[i] = sbox_in } - for i := 0; i < poseidon.SPONGE_WIDTH; i++ { + for i := 0; i < poseidonGoldilocks.SPONGE_WIDTH; i++ { state[i] = gate.poseidon.SboxExt(api, rangeChecker, state[i]) } state = gate.poseidon.MdsExt(api, rangeChecker, state) round_ctr += 1 } - for i := 0; i < poseidon.SPONGE_WIDTH; i++ { + for i := 0; i < poseidonGoldilocks.SPONGE_WIDTH; i++ { constraints = append(constraints, goldilocks.SubExt(api, rangeChecker, state[i], vars.LocalWires[gate.wire_output(i)])) } @@ -139,7 +139,7 @@ func (gate *PoseidonGate) EvalUnfiltered(api frontend.API, rangeChecker frontend } func (gate *PoseidonGate) num_constraints() int { - return poseidon.SPONGE_WIDTH*(poseidon.FULL_ROUNDS_HALF*2-1) + poseidon.PARTIAL_ROUNDS + poseidon.SPONGE_WIDTH + 1 + 4 + return poseidonGoldilocks.SPONGE_WIDTH*(poseidonGoldilocks.FULL_ROUNDS_HALF*2-1) + poseidonGoldilocks.PARTIAL_ROUNDS + poseidonGoldilocks.SPONGE_WIDTH + 1 + 4 } func (gate *PoseidonGate) wire_input(i int) int { @@ -151,11 +151,11 @@ func (gate *PoseidonGate) wire_delta(i int) int { } func (gate *PoseidonGate) wire_full_sbox_0(round int, i int) int { - return START_FULL_0 + poseidon.SPONGE_WIDTH*(round-1) + i + return START_FULL_0 + poseidonGoldilocks.SPONGE_WIDTH*(round-1) + i } func (gate *PoseidonGate) wire_output(i int) int { - return poseidon.SPONGE_WIDTH + i + return poseidonGoldilocks.SPONGE_WIDTH + i } func (gate *PoseidonGate) wire_partial_sbox(i int) int { @@ -163,5 +163,5 @@ func (gate *PoseidonGate) wire_partial_sbox(i int) int { } func (gate *PoseidonGate) wire_full_sbox_1(round int, i int) int { - return START_FULL_1 + poseidon.SPONGE_WIDTH*round + i + return START_FULL_1 + poseidonGoldilocks.SPONGE_WIDTH*round + i } diff --git a/verifier/plonk/gates/poseidon_mds.go b/verifier/plonk/gates/poseidon_mds.go new file mode 100644 index 0000000..9d47591 --- /dev/null +++ b/verifier/plonk/gates/poseidon_mds.go @@ -0,0 +1,95 @@ +package gates + +import ( + "fmt" + "math/big" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + algebra "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks/extension" + poseidonGoldilocks "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type PoseidonMdsGate struct { + NumCoeffs int `json:"num_coeffs"` +} + +var POSEIDON_MDS_CIRC []*big.Int = poseidonGoldilocks.POSEIDON_MDS_CIRC() +var POSEIDON_MDS_DIAG []*big.Int = poseidonGoldilocks.POSEIDON_MDS_DIAG() + +func NewPoseidonMdsGate(id string) *PoseidonMdsGate { + if !strings.HasPrefix(id, "PoseidonMdsGate") { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + + return new(PoseidonMdsGate) +} + +func (gate *PoseidonMdsGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + constraints := make([]goldilocks.GoldilocksExtension2Variable, poseidonGoldilocks.SPONGE_WIDTH*2) + + inputs := make([][D][D]frontend.Variable, poseidonGoldilocks.SPONGE_WIDTH) + for i := 0; i < poseidonGoldilocks.SPONGE_WIDTH; i++ { + inputs[i] = GetLocalExtAlgebra(vars.LocalWires, gate.wiresInput(i)) + } + computedOutputs := gate.mdsLayerAlgebraNoReduce(api, inputs) + for i := 0; i < poseidonGoldilocks.SPONGE_WIDTH; i++ { + out := GetLocalExtAlgebra(vars.LocalWires, gate.wiresOutput(i)) + // assuming computedOutputs[i] is always > out + constraintNoReduce := algebra.SubNoReduce(api, computedOutputs[i], out) + constraints[2*i] = goldilocks.NegExt(api, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][0], 82), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][1], 82), + }) + constraints[2*i+1] = goldilocks.NegExt(api, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][0], 82), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][1], 82), + }) + } + + return constraints +} + +func (gate *PoseidonMdsGate) wiresInput(i int) [2]int { + return [2]int{i * D, (i + 1) * D} +} + +func (gate *PoseidonMdsGate) wiresOutput(i int) [2]int { + return [2]int{(poseidonGoldilocks.SPONGE_WIDTH + i) * D, (poseidonGoldilocks.SPONGE_WIDTH + i + 1) * D} +} + +// Same as `mds_row_shf` for an extension algebra of `F`. +func (gate *PoseidonMdsGate) mdsRowShfAlgebraNoReduce(api frontend.API, + r int, + v [][D][D]frontend.Variable, +) [D][D]frontend.Variable { + if len(v) != poseidonGoldilocks.SPONGE_WIDTH { + panic("mdsRowShfAlgebraNoReduce::Invalid length of `v`") + } + res := algebra.FromBase(goldilocks.BaseTo2ExtRaw(0)) + + for i := 0; i < poseidonGoldilocks.SPONGE_WIDTH; i++ { + coeff := goldilocks.BaseTo2ExtRaw(POSEIDON_MDS_CIRC[i]) + res = algebra.AddNoReduce(api, res, algebra.ScalarMulNoReduce(api, v[(i+r)%poseidonGoldilocks.SPONGE_WIDTH], coeff)) + } + coeff := goldilocks.BaseTo2ExtRaw(POSEIDON_MDS_DIAG[r]) + res = algebra.AddNoReduce(api, res, algebra.ScalarMulNoReduce(api, v[r], coeff)) + + return res +} + +// Same as `mds_layer` for an extension algebra of `F`. +func (gate *PoseidonMdsGate) mdsLayerAlgebraNoReduce( + api frontend.API, + state [][D][D]frontend.Variable, +) [][D][D]frontend.Variable { + if len(state) != poseidonGoldilocks.SPONGE_WIDTH { + panic("mdsLayerAlgebraNoReduce::Invalid length of `state`") + } + resultNoReduce := make([][D][D]frontend.Variable, poseidonGoldilocks.SPONGE_WIDTH) + for r := 0; r < poseidonGoldilocks.SPONGE_WIDTH; r++ { + resultNoReduce[r] = gate.mdsRowShfAlgebraNoReduce(api, r, state) + } + return resultNoReduce +} diff --git a/verifier/plonk/gates/public_input.go b/verifier/plonk/gates/public_input.go index 77100ee..7432f75 100644 --- a/verifier/plonk/gates/public_input.go +++ b/verifier/plonk/gates/public_input.go @@ -18,9 +18,9 @@ func NewPublicInputGate(id string) *PublicInputGate { } func (gate *PublicInputGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { - constraints := make([]goldilocks.GoldilocksExtension2Variable, types.HASH_OUT) + constraints := make([]goldilocks.GoldilocksExtension2Variable, types.POSEIDON_GOLDILOCKS_HASH_OUT) - for i := 0; i < types.HASH_OUT; i++ { + for i := 0; i < types.POSEIDON_GOLDILOCKS_HASH_OUT; i++ { constraints[i] = goldilocks.GoldilocksExtension2Variable{ A: goldilocks.Sub(api, rangeChecker, vars.LocalWires[i].A, vars.PublicInputsHash.HashOut[i]), B: vars.LocalWires[i].B, diff --git a/verifier/plonk/gates/random_access.go b/verifier/plonk/gates/random_access.go new file mode 100644 index 0000000..7a249fa --- /dev/null +++ b/verifier/plonk/gates/random_access.go @@ -0,0 +1,165 @@ +package gates + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type RandomAccessGate struct { + Bits int `json:"bits"` + NumCopies int `json:"num_copies"` + NumExtraConstants int `json:"num_extra_constants"` +} + +func NewRandomAccessGate(id string) *RandomAccessGate { + splits := strings.Split(id, ", _phantom") + if splits[1] != ": PhantomData }" { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + id = splits[0] + id = strings.Split(id, ", _phantom")[0] + id = strings.Join([]string{id, "}"}, "") + id = strings.TrimPrefix(id, "RandomAccessGate") + id = strings.Replace(id, "bits", "\"bits\"", 1) + id = strings.Replace(id, "num_copies", "\"num_copies\"", 1) + id = strings.Replace(id, "num_extra_constants", "\"num_extra_constants\"", 1) + + var gate RandomAccessGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *RandomAccessGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + constraints := make([]goldilocks.GoldilocksExtension2Variable, gate.numConstraints()) + nConstraintsPerCopy := gate.Bits + 2 + + for copy := 0; copy < gate.NumCopies; copy++ { + accessIndex := goldilocks.GetVariableArray(vars.LocalWires[gate.wireAccessIndex(copy)]) + listItems := make([][D]frontend.Variable, gate.vecSize()) + for i := 0; i < len(listItems); i++ { + listItems[i] = goldilocks.GetVariableArray(vars.LocalWires[gate.wireListItem(i, copy)]) + } + claimedElement := vars.LocalWires[gate.wireClaimedElement(copy)] + bits := make([][D]frontend.Variable, gate.Bits) + for i := 0; i < len(bits); i++ { + bits[i] = goldilocks.GetVariableArray(vars.LocalWires[gate.wireBit(i, copy)]) + } + + // Assert that each bit wire value is indeed boolean. + for i := 0; i < len(bits); i++ { + constraintNoReduce := goldilocks.MulExtNoReduce(api, bits[i], goldilocks.SubExtNoReduce(api, bits[i], goldilocks.BaseTo2ExtRaw(1))) + constraints[copy*nConstraintsPerCopy+i] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 132), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 130), + } + } + + // Assert that the binary decomposition was correct. + reconstructedIndex := goldilocks.BaseTo2ExtRaw(0) + for i := len(bits) - 1; i >= 0; i-- { + reconstructedIndexNoReduce := goldilocks.AddExtNoReduce(api, goldilocks.AddExtNoReduce(api, reconstructedIndex, reconstructedIndex), bits[i]) + reconstructedIndex = [2]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, reconstructedIndexNoReduce[0], 66).Limb, + goldilocks.Reduce(api, rangeChecker, reconstructedIndexNoReduce[1], 66).Limb, + } + } + constraintNoReduce := goldilocks.SubExtNoReduce(api, reconstructedIndex, accessIndex) + constraints[copy*nConstraintsPerCopy+gate.Bits] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + } + + // Repeatedly fold the list, selecting the left or right item from each pair based on + // the corresponding bit. + for i := 0; i < len(bits); i++ { + listItemsFolded := make([][D]frontend.Variable, len(listItems)/2) + for j := 0; j < len(listItemsFolded); j++ { + subItem := goldilocks.GetVariableArray( + goldilocks.SubExt(api, rangeChecker, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: listItems[2*j+1][0]}, + B: goldilocks.GoldilocksVariable{Limb: listItems[2*j+1][1]}, + }, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: listItems[2*j][0]}, + B: goldilocks.GoldilocksVariable{Limb: listItems[2*j][1]}, + }, + )) + + item := goldilocks.AddExtNoReduce(api, listItems[2*j], goldilocks.MulExtNoReduce(api, bits[i], subItem)) + listItemsFolded[j] = [2]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, item[0], 133).Limb, + goldilocks.Reduce(api, rangeChecker, item[1], 130).Limb, + } + } + listItems = listItemsFolded + } + + constraints[copy*nConstraintsPerCopy+gate.Bits+1] = goldilocks.SubExt(api, rangeChecker, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: listItems[0][0]}, + B: goldilocks.GoldilocksVariable{Limb: listItems[0][1]}, + }, + claimedElement, + ) + } + + for i := 0; i < gate.NumExtraConstants; i++ { + constraints[gate.NumCopies*(nConstraintsPerCopy)+i] = goldilocks.SubExt(api, rangeChecker, vars.LocalConstants[i], + vars.LocalWires[gate.wireExtraConstant(i)], + ) + } + + return constraints +} + +func (gate *RandomAccessGate) numConstraints() int { + constraintsPerCopy := gate.Bits + 2 + return gate.NumCopies*constraintsPerCopy + gate.NumExtraConstants +} + +// Length of the list being accessed. +func (gate *RandomAccessGate) vecSize() int { + return 1 << gate.Bits +} + +// For each copy, a wire containing the claimed index of the element. +func (gate *RandomAccessGate) wireAccessIndex(copy int) int { + return (2 + gate.vecSize()) * copy +} + +// For each copy, wires containing the entire list. +func (gate *RandomAccessGate) wireListItem(i int, copy int) int { + return (2+gate.vecSize())*copy + 2 + i +} + +// / For each copy, a wire containing the element claimed to be at the index. +func (gate *RandomAccessGate) wireClaimedElement(copy int) int { + return (2+gate.vecSize())*copy + 1 +} + +func (gate *RandomAccessGate) startExtraConstants() int { + return (2 + gate.vecSize()) * gate.NumCopies +} + +// / All above wires are routed. +func (gate *RandomAccessGate) numRoutedWires() int { + return gate.startExtraConstants() + gate.NumExtraConstants +} + +// An intermediate wire where the prover gives the (purported) binary decomposition of the +// index. +func (gate *RandomAccessGate) wireBit(i int, copy int) int { + return gate.numRoutedWires() + copy*gate.Bits + i +} + +func (gate *RandomAccessGate) wireExtraConstant(i int) int { + return gate.startExtraConstants() + i +} diff --git a/verifier/plonk/gates/reducing.go b/verifier/plonk/gates/reducing.go new file mode 100644 index 0000000..14e53b3 --- /dev/null +++ b/verifier/plonk/gates/reducing.go @@ -0,0 +1,91 @@ +package gates + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + algebra "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks/extension" + "github.com/consensys/gnark/frontend" +) + +type ReducingGate struct { + NumCoeffs int `json:"num_coeffs"` +} + +func NewReducingGate(id string) *ReducingGate { + id = strings.TrimPrefix(id, "ReducingGate") + id = strings.Replace(id, "num_coeffs", "\"num_coeffs\"", 1) + + var gate ReducingGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *ReducingGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + alpha := GetLocalExtAlgebra(vars.LocalWires, gate.wiresAlpha()) + oldAcc := GetLocalExtAlgebra(vars.LocalWires, gate.wiresOldAcc()) + coeffs := GetLocalWiresFromRange(vars.LocalWires, gate.wiresCoeffs()) + accs := make([][D][D]frontend.Variable, gate.NumCoeffs) + for i := 0; i < len(accs); i++ { + accs[i] = GetLocalExtAlgebra(vars.LocalWires, gate.wiresAccs(i)) + } + + constraints := make([]goldilocks.GoldilocksExtension2Variable, gate.numConstraints()) + + acc := oldAcc + for i := 0; i < gate.NumCoeffs; i++ { + constraintNoReduce := algebra.SubNoReduce(api, algebra.AddNoReduce(api, algebra.MulNoReduce(api, acc, alpha), algebra.FromBase(coeffs[i])), accs[i]) + constraints[2*i] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][0], 137), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][1], 134), + } + constraints[2*i+1] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][0], 133), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][1], 130), + } + acc = accs[i] + } + + return constraints +} + +func (gate *ReducingGate) numConstraints() int { + return D * gate.NumCoeffs +} + +func (gate *ReducingGate) wiresAlpha() [2]int { + return [2]int{D, 2 * D} +} + +func (gate *ReducingGate) wiresOldAcc() [2]int { + return [2]int{2 * D, 3 * D} +} + +func (gate *ReducingGate) wiresCoeffs() [2]int { + return [2]int{gate.startCoeffs(), gate.startCoeffs() + gate.NumCoeffs} +} + +func (gate *ReducingGate) wiresOutput() [2]int { + return [2]int{0, D} +} + +func (gate *ReducingGate) startAccs() int { + return gate.startCoeffs() + gate.NumCoeffs +} + +func (gate *ReducingGate) wiresAccs(i int) [2]int { + if i == gate.NumCoeffs-1 { + // The last accumulator is the output. + return gate.wiresOutput() + } + return [2]int{gate.startAccs() + D*i, gate.startAccs() + D*(i+1)} +} + +func (gate *ReducingGate) startCoeffs() int { + return 3 * D +} diff --git a/verifier/plonk/gates/reducing_extension.go b/verifier/plonk/gates/reducing_extension.go new file mode 100644 index 0000000..a22cef4 --- /dev/null +++ b/verifier/plonk/gates/reducing_extension.go @@ -0,0 +1,93 @@ +package gates + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + algebra "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks/extension" + "github.com/consensys/gnark/frontend" +) + +type ReducingExtensionGate struct { + NumCoeffs int `json:"num_coeffs"` +} + +func NewReducingExtensionGate(id string) *ReducingExtensionGate { + id = strings.TrimPrefix(id, "ReducingExtensionGate") + id = strings.Replace(id, "num_coeffs", "\"num_coeffs\"", 1) + + var gate ReducingExtensionGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *ReducingExtensionGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + alpha := GetLocalExtAlgebra(vars.LocalWires, gate.wiresAlpha()) + oldAcc := GetLocalExtAlgebra(vars.LocalWires, gate.wiresOldAcc()) + coeffs := make([][D][D]frontend.Variable, gate.NumCoeffs) + for i := 0; i < gate.NumCoeffs; i++ { + coeffs[i] = GetLocalExtAlgebra(vars.LocalWires, gate.wiresCoeff(i)) + } + accs := make([][D][D]frontend.Variable, gate.NumCoeffs) + for i := 0; i < gate.NumCoeffs; i++ { + accs[i] = GetLocalExtAlgebra(vars.LocalWires, gate.wiresAccs(i)) + } + + constraints := make([]goldilocks.GoldilocksExtension2Variable, gate.numConstraints()) + + acc := oldAcc + for i := 0; i < gate.NumCoeffs; i++ { + constraintNoReduce := algebra.SubNoReduce(api, algebra.AddNoReduce(api, algebra.MulNoReduce(api, acc, alpha), coeffs[i]), accs[i]) + constraints[2*i] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][0], 137), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0][1], 134), + } + constraints[2*i+1] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][0], 134), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1][1], 131), + } + acc = accs[i] + } + + return constraints +} + +func (gate *ReducingExtensionGate) numConstraints() int { + return D * gate.NumCoeffs +} + +func (gate *ReducingExtensionGate) wiresAlpha() [2]int { + return [2]int{D, 2 * D} +} +func (gate *ReducingExtensionGate) wiresOldAcc() [2]int { + return [2]int{2 * D, 3 * D} +} + +func (gate *ReducingExtensionGate) wiresCoeff(i int) [2]int { + return [2]int{gate.startCoeffs() + i*D, gate.startCoeffs() + (i+1)*D} +} + +func (gate *ReducingExtensionGate) startCoeffs() int { + return 3 * D +} + +func (gate *ReducingExtensionGate) wiresOutput() [2]int { + return [2]int{0, D} +} + +func (gate *ReducingExtensionGate) startAccs() int { + return gate.startCoeffs() + gate.NumCoeffs*D +} + +func (gate *ReducingExtensionGate) wiresAccs(i int) [2]int { + if i == gate.NumCoeffs-1 { + // The last accumulator is the output. + return gate.wiresOutput() + } + return [2]int{gate.startAccs() + D*i, gate.startAccs() + D*(i+1)} +} diff --git a/verifier/plonk/gates/u32_add_many.go b/verifier/plonk/gates/u32_add_many.go new file mode 100644 index 0000000..a791a26 --- /dev/null +++ b/verifier/plonk/gates/u32_add_many.go @@ -0,0 +1,164 @@ +package gates + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type U32AddManyGate struct { + NumAddends int `json:"num_addends"` + NumOps int `json:"num_ops"` +} + +func NewU32AddManyGate(id string) *U32AddManyGate { + splits := strings.Split(id, ", _phantom") + if splits[1] != ": PhantomData }" { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + id = splits[0] + id = strings.Join([]string{id, "}"}, "") + id = strings.TrimPrefix(id, "U32AddManyGate") + id = strings.Replace(id, "num_addends", "\"num_addends\"", 1) + id = strings.Replace(id, "num_ops", "\"num_ops\"", 1) + + var gate U32AddManyGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *U32AddManyGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + idx := 0 + constraints := make([]goldilocks.GoldilocksExtension2Variable, gate.numConstraints()) + + for i := 0; i < gate.NumOps; i++ { + addends := make([]goldilocks.GoldilocksExtension2Variable, gate.NumAddends) + for j := 0; j < gate.NumAddends; j++ { + addends[j] = vars.LocalWires[gate.wire_ithOp_jthAddend(i, j)] + } + + carry := vars.LocalWires[gate.wire_ithCarry(i)] + + computedOutput := goldilocks.BaseTo2Ext(goldilocks.GetGoldilocksVariable(0)) + for j := 0; j < len(addends); j++ { + computedOutput = goldilocks.AddExt(api, rangeChecker, computedOutput, addends[j]) + } + computedOutput = goldilocks.AddExt(api, rangeChecker, computedOutput, carry) + + outputResultRaw := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithOutputResult(i)]) + outputCarryRaw := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithOutputCarry(i)]) + + base := goldilocks.BaseTo2ExtRaw(1 << 32) + combinedOutputNoReduce := goldilocks.AddExtNoReduce(api, goldilocks.MulExtNoReduce(api, outputCarryRaw, base), outputResultRaw) + constraintNoReduce := goldilocks.SubExtNoReduce(api, combinedOutputNoReduce, goldilocks.GetVariableArray(computedOutput)) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 101), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 99), + } + idx += 1 + + combinedResultLimbs := goldilocks.BaseTo2ExtRaw(0) + combinedCarryLimbs := goldilocks.BaseTo2ExtRaw(0) + base = goldilocks.BaseTo2ExtRaw(1 << gate.limbBits()) + + for j := gate.numLimbs() - 1; j >= 0; j-- { + thisLimb := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithOutput_jthLimb(i, j)]) + maxLimb := 1 << gate.limbBits() + + product := goldilocks.BaseTo2ExtRaw(1) + for k := 0; k < maxLimb; k++ { + productNoReduce := goldilocks.MulExtNoReduce(api, product, goldilocks.SubExtNoReduce(api, thisLimb, goldilocks.BaseTo2ExtRaw(k))) + product = [D]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, productNoReduce[0], 132).Limb, + goldilocks.Reduce(api, rangeChecker, productNoReduce[1], 130).Limb, + } + } + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: product[0]}, + B: goldilocks.GoldilocksVariable{Limb: product[1]}, + } + idx += 1 + + var combinedResultLimbsNoReduce [D]frontend.Variable + var combinedCarryLimbsNoReduce [D]frontend.Variable + if j < gate.numResultLimbs() { + combinedResultLimbsNoReduce = goldilocks.AddExtNoReduce(api, goldilocks.MulExtNoReduce(api, base, combinedResultLimbs), thisLimb) + combinedResultLimbs = [D]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, combinedResultLimbsNoReduce[0], 70).Limb, + goldilocks.Reduce(api, rangeChecker, combinedResultLimbsNoReduce[1], 67).Limb, + } + } else { + combinedCarryLimbsNoReduce = goldilocks.AddExtNoReduce(api, goldilocks.MulExtNoReduce(api, base, combinedCarryLimbs), thisLimb) + combinedCarryLimbs = [D]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, combinedCarryLimbsNoReduce[0], 70).Limb, + goldilocks.Reduce(api, rangeChecker, combinedCarryLimbsNoReduce[1], 67).Limb, + } + } + } + + constraintNoReduce = goldilocks.SubExtNoReduce(api, combinedResultLimbs, outputResultRaw) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + } + idx += 1 + + constraintNoReduce = goldilocks.SubExtNoReduce(api, combinedCarryLimbs, outputCarryRaw) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + } + idx += 1 + } + + return constraints +} + +func (gate *U32AddManyGate) log2MaxNumAddends() int { + return 4 +} + +func (gate *U32AddManyGate) numResultLimbs() int { + return (32 + gate.limbBits() - 1) / gate.limbBits() +} + +func (gate *U32AddManyGate) numConstraints() int { + return gate.NumOps * (3 + gate.numLimbs()) +} + +func (gate *U32AddManyGate) wire_ithOutput_jthLimb(i int, j int) int { + return (gate.NumAddends+3)*gate.NumOps + gate.numLimbs()*i + j +} + +func (gate *U32AddManyGate) wire_ithCarry(i int) int { + return (gate.NumAddends+3)*i + gate.NumAddends +} + +func (gate *U32AddManyGate) wire_ithOutputResult(i int) int { + return (gate.NumAddends+3)*i + gate.NumAddends + 1 +} +func (gate *U32AddManyGate) wire_ithOutputCarry(i int) int { + return (gate.NumAddends+3)*i + gate.NumAddends + 2 +} + +func (gate *U32AddManyGate) wire_ithOp_jthAddend(i int, j int) int { + return (gate.NumAddends+3)*i + j +} + +func (gate *U32AddManyGate) limbBits() int { + return 2 +} + +func (gate *U32AddManyGate) numCarryLimbs() int { + return (gate.log2MaxNumAddends() + gate.limbBits() - 1) / gate.limbBits() +} + +func (gate *U32AddManyGate) numLimbs() int { + return gate.numResultLimbs() + gate.numCarryLimbs() +} diff --git a/verifier/plonk/gates/u32_arithmetic.go b/verifier/plonk/gates/u32_arithmetic.go new file mode 100644 index 0000000..00639f7 --- /dev/null +++ b/verifier/plonk/gates/u32_arithmetic.go @@ -0,0 +1,181 @@ +package gates + +import ( + "encoding/json" + "fmt" + "math" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type U32ArithmeticGate struct { + NumOps int `json:"num_ops"` +} + +func NewU32ArithmeticGate(id string) *U32ArithmeticGate { + splits := strings.Split(id, ", _phantom") + if splits[1] != ": PhantomData }" { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + id = splits[0] + id = strings.Join([]string{id, "}"}, "") + id = strings.TrimPrefix(id, "U32ArithmeticGate") + id = strings.Replace(id, "num_ops", "\"num_ops\"", 1) + + var gate U32ArithmeticGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *U32ArithmeticGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + idx := 0 + constraints := make([]goldilocks.GoldilocksExtension2Variable, gate.numConstraints()) + + for i := 0; i < gate.NumOps; i++ { + multiplicand0Raw := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithMultiplicand0(i)]) + multiplicand1Raw := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithMultiplicand1(i)]) + addendRaw := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithAddend(i)]) + + computedOutputNoReduce := goldilocks.AddExtNoReduce(api, goldilocks.MulExtNoReduce(api, multiplicand0Raw, multiplicand1Raw), addendRaw) + computedOutput := [D]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, computedOutputNoReduce[0], 132).Limb, + goldilocks.Reduce(api, rangeChecker, computedOutputNoReduce[1], 130).Limb, + } + + outputLowRaw := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithOutputLowHalf(i)]) + outputHighRaw := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithOutputHighHalf(i)]) + inverseRaw := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithInverse(i)]) + + // Check canonicity of combined_output = output_high * 2^32 + output_low + base := goldilocks.BaseTo2ExtRaw(1 << 32) + one := goldilocks.BaseTo2ExtRaw(1) + u32Max := goldilocks.BaseTo2ExtRaw(math.MaxUint32) + + // This is zero if and only if the high limb is `u32::MAX`. + // u32::MAX - output_high + diffNoReduce := goldilocks.SubExtNoReduce(api, u32Max, outputHighRaw) + // If this is zero, the diff is invertible, so the high limb is not `u32::MAX`. + // inverse * diff - 1 + hiNotMaxNoReduce := goldilocks.SubExtNoReduce(api, goldilocks.MulExtNoReduce(api, inverseRaw, diffNoReduce), one) + // If this is zero, either the high limb is not `u32::MAX`, or the low limb is zero. + // hi_not_max * limb_0_u32 + hiNotMaxOrLoZeroNoReduce := goldilocks.MulExtNoReduce(api, hiNotMaxNoReduce, outputLowRaw) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, hiNotMaxOrLoZeroNoReduce[0], 201), + B: goldilocks.Reduce(api, rangeChecker, hiNotMaxOrLoZeroNoReduce[1], 198), + } + idx += 1 + + combinedOutputNoReduce := goldilocks.AddExtNoReduce(api, goldilocks.MulExtNoReduce(api, outputHighRaw, base), outputLowRaw) + + constraintNoReduce := goldilocks.SubExtNoReduce(api, combinedOutputNoReduce, computedOutput) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 100), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 97), + } + idx += 1 + + combinedLowLimbs := goldilocks.BaseTo2ExtRaw(0) + combinedHighLimbs := goldilocks.BaseTo2ExtRaw(0) + midpoint := gate.numLimbs() / 2 + base = goldilocks.BaseTo2ExtRaw(1 << gate.limbBits()) + + for j := gate.numLimbs() - 1; j >= 0; j-- { + thisLimb := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithOutput_jthLimb(i, j)]) + maxLimb := 1 << gate.limbBits() + + product := goldilocks.BaseTo2ExtRaw(1) + for k := 0; k < maxLimb; k++ { + productNoReduce := goldilocks.MulExtNoReduce(api, product, goldilocks.SubExtNoReduce(api, thisLimb, goldilocks.BaseTo2ExtRaw(k))) + product = [D]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, productNoReduce[0], 132).Limb, + goldilocks.Reduce(api, rangeChecker, productNoReduce[1], 130).Limb, + } + } + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: product[0]}, + B: goldilocks.GoldilocksVariable{Limb: product[1]}, + } + idx += 1 + + var combinedLowLimbsNoReduce [D]frontend.Variable + var combinedHighLimbsNoReduce [D]frontend.Variable + if j < midpoint { + combinedLowLimbsNoReduce = goldilocks.AddExtNoReduce(api, goldilocks.MulExtNoReduce(api, base, combinedLowLimbs), thisLimb) + combinedLowLimbs = [D]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, combinedLowLimbsNoReduce[0], 67).Limb, + goldilocks.Reduce(api, rangeChecker, combinedLowLimbsNoReduce[1], 67).Limb, + } + } else { + combinedHighLimbsNoReduce = goldilocks.AddExtNoReduce(api, goldilocks.MulExtNoReduce(api, base, combinedHighLimbs), thisLimb) + combinedHighLimbs = [D]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, combinedHighLimbsNoReduce[0], 70).Limb, + goldilocks.Reduce(api, rangeChecker, combinedHighLimbsNoReduce[1], 67).Limb, + } + } + } + + constraintNoReduce = goldilocks.SubExtNoReduce(api, combinedLowLimbs, outputLowRaw) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + } + idx += 1 + + constraintNoReduce = goldilocks.SubExtNoReduce(api, combinedHighLimbs, outputHighRaw) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + } + idx += 1 + } + + return constraints +} + +func (gate *U32ArithmeticGate) numConstraints() int { + return gate.NumOps * (4 + gate.numLimbs()) +} + +func (gate *U32ArithmeticGate) numLimbs() int { + return 64 / gate.limbBits() +} + +func (gate *U32ArithmeticGate) limbBits() int { + return 2 +} + +func (gate *U32ArithmeticGate) routedWiresPerOp() int { + return 6 +} + +func (gate *U32ArithmeticGate) wire_ithMultiplicand0(i int) int { + return gate.routedWiresPerOp() * i +} +func (gate *U32ArithmeticGate) wire_ithMultiplicand1(i int) int { + return gate.routedWiresPerOp()*i + 1 +} +func (gate *U32ArithmeticGate) wire_ithAddend(i int) int { + return gate.routedWiresPerOp()*i + 2 +} + +func (gate *U32ArithmeticGate) wire_ithOutputLowHalf(i int) int { + return gate.routedWiresPerOp()*i + 3 +} + +func (gate *U32ArithmeticGate) wire_ithOutputHighHalf(i int) int { + return gate.routedWiresPerOp()*i + 4 +} + +func (gate *U32ArithmeticGate) wire_ithInverse(i int) int { + return gate.routedWiresPerOp()*i + 5 +} + +func (gate *U32ArithmeticGate) wire_ithOutput_jthLimb(i int, j int) int { + return gate.routedWiresPerOp()*gate.NumOps + gate.numLimbs()*i + j +} diff --git a/verifier/plonk/gates/u32_comparison.go b/verifier/plonk/gates/u32_comparison.go new file mode 100644 index 0000000..adea321 --- /dev/null +++ b/verifier/plonk/gates/u32_comparison.go @@ -0,0 +1,227 @@ +package gates + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type U32ComparisonGate struct { + NumBits int `json:"num_bits"` + NumChunks int `json:"num_chunks"` +} + +func NewU32ComparisonGate(id string) *U32ComparisonGate { + splits := strings.Split(id, ", _phantom") + if splits[1] != ": PhantomData }" { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + id = splits[0] + id = strings.Join([]string{id, "}"}, "") + id = strings.TrimPrefix(id, "ComparisonGate") + id = strings.Replace(id, "num_bits", "\"num_bits\"", 1) + id = strings.Replace(id, "num_chunks", "\"num_chunks\"", 1) + + var gate U32ComparisonGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *U32ComparisonGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + idx := 0 + constraints := make([]goldilocks.GoldilocksExtension2Variable, gate.numConstraints()) + firstInput := vars.LocalWires[gate.wireFirstInput()] + secondInput := vars.LocalWires[gate.wireSecondInput()] + + // Get chunks and assert that they match + firstChunks := make([]goldilocks.GoldilocksExtension2Variable, gate.NumChunks) + firstChunksRaw := make([][D]frontend.Variable, gate.NumChunks) + for i := 0; i < gate.NumChunks; i++ { + firstChunks[i] = vars.LocalWires[gate.wireFirstChunkVal(i)] + firstChunksRaw[i] = goldilocks.GetVariableArray(vars.LocalWires[gate.wireFirstChunkVal(i)]) + } + + secondChunks := make([]goldilocks.GoldilocksExtension2Variable, gate.NumChunks) + secondChunksRaw := make([][D]frontend.Variable, gate.NumChunks) + for i := 0; i < gate.NumChunks; i++ { + secondChunks[i] = vars.LocalWires[gate.wireSecondChunkVal(i)] + secondChunksRaw[i] = goldilocks.GetVariableArray(vars.LocalWires[gate.wireSecondChunkVal(i)]) + } + firstChunksCombined := ReduceWithPowers(api, rangeChecker, firstChunks, goldilocks.BaseTo2Ext(goldilocks.GoldilocksVariable{Limb: 1 << gate.chunkBits()})) + secondChunksCombined := ReduceWithPowers(api, rangeChecker, secondChunks, goldilocks.BaseTo2Ext(goldilocks.GoldilocksVariable{Limb: 1 << gate.chunkBits()})) + + constraints[idx] = goldilocks.SubExt(api, rangeChecker, firstChunksCombined, firstInput) + idx += 1 + constraints[idx] = goldilocks.SubExt(api, rangeChecker, secondChunksCombined, secondInput) + idx += 1 + + chunkSize := 1 << gate.chunkBits() + + mostSignificantDiffSoFar := goldilocks.ZERO() + + for i := 0; i < gate.NumChunks; i++ { + // Range-check the chunks to be less than `chunk_size`. + firstProduct := goldilocks.BaseTo2ExtRaw(1) + secondProduct := goldilocks.BaseTo2ExtRaw(1) + + // assuming `chunkSize` is in the goldilocks range + // TODO: optimize here? + for j := 0; j < chunkSize; j++ { + firstSubNoReduce := goldilocks.SubExtNoReduce(api, firstChunksRaw[i], goldilocks.BaseTo2ExtRaw(j)) + firstProductNoReduce := goldilocks.MulExtNoReduce(api, firstProduct, firstSubNoReduce) + firstProduct = [2]frontend.Variable{goldilocks.Reduce(api, rangeChecker, firstProductNoReduce[0], 132).Limb, + goldilocks.Reduce(api, rangeChecker, firstProductNoReduce[1], 130).Limb} + + secondSubNoReduce := goldilocks.SubExtNoReduce(api, secondChunksRaw[i], goldilocks.BaseTo2ExtRaw(j)) + secondProductNoReduce := goldilocks.MulExtNoReduce(api, secondProduct, secondSubNoReduce) + secondProduct = [2]frontend.Variable{goldilocks.Reduce(api, rangeChecker, secondProductNoReduce[0], 132).Limb, + goldilocks.Reduce(api, rangeChecker, secondProductNoReduce[1], 130).Limb} + } + + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: firstProduct[0]}, + B: goldilocks.GoldilocksVariable{Limb: firstProduct[1]}, + } + idx += 1 + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: secondProduct[0]}, + B: goldilocks.GoldilocksVariable{Limb: secondProduct[1]}, + } + idx += 1 + + differenceNoReduce := goldilocks.SubExtNoReduce(api, secondChunksRaw[i], firstChunksRaw[i]) + equalityDummy := goldilocks.GetVariableArray(vars.LocalWires[gate.wireEqualityDummy(i)]) + chunksEqual := vars.LocalWires[gate.wireChunksEqual(i)] + chunksEqualRaw := goldilocks.GetVariableArray(vars.LocalWires[gate.wireChunksEqual(i)]) + + // Two constraints to assert that `chunks_equal` is valid. + aNoReduce := goldilocks.MulExtNoReduce(api, differenceNoReduce, equalityDummy) + bNoReduce := goldilocks.SubExtNoReduce(api, goldilocks.BaseTo2ExtRaw(1), chunksEqualRaw) + constraintNoReduce := goldilocks.SubExtNoReduce(api, aNoReduce, bNoReduce) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 132), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 130), + } + idx += 1 + + constraints[idx] = goldilocks.MulExt(api, rangeChecker, chunksEqual, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, differenceNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, differenceNoReduce[1], 65), + }) + idx += 1 + + // Update `most_significant_diff_so_far`. + intermediateValue := goldilocks.GetVariableArray(vars.LocalWires[gate.wireIntermediateValue(i)]) + constraintNoReduce = goldilocks.SubExtNoReduce(api, goldilocks.MulExtNoReduce(api, chunksEqualRaw, mostSignificantDiffSoFar), intermediateValue) + constraints[idx] = goldilocks.NegExt(api, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 132), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 130)}, + ) + idx += 1 + + mostSignificantDiffSoFarNoReduce := goldilocks.AddExtNoReduce(api, intermediateValue, goldilocks.MulExtNoReduce(api, goldilocks.SubExtNoReduce(api, goldilocks.BaseTo2ExtRaw(1), chunksEqualRaw), differenceNoReduce)) + mostSignificantDiffSoFar = [2]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, mostSignificantDiffSoFarNoReduce[0], 133).Limb, + goldilocks.Reduce(api, rangeChecker, mostSignificantDiffSoFarNoReduce[1], 131).Limb, + } + } + + mostSignificantDiff := goldilocks.GetVariableArray(vars.LocalWires[gate.wireMostSignificantDiff()]) + constraintNoReduce := goldilocks.SubExtNoReduce(api, mostSignificantDiff, mostSignificantDiffSoFar) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + } + idx += 1 + + mostSignificantDiffBits := make([]goldilocks.GoldilocksExtension2Variable, gate.chunkBits()+1) + mostSignificantDiffBitsRaw := make([][D]frontend.Variable, gate.chunkBits()+1) + for i := 0; i < gate.chunkBits()+1; i++ { + mostSignificantDiffBits[i] = vars.LocalWires[gate.wireMostSignificantDiffBit(i)] + mostSignificantDiffBitsRaw[i] = goldilocks.GetVariableArray(vars.LocalWires[gate.wireMostSignificantDiffBit(i)]) + } + + // Range-check the bits. + for i := 0; i < len(mostSignificantDiffBits); i++ { + bitNoReduce := mostSignificantDiffBitsRaw[i] + constraintNoReduce := goldilocks.MulExtNoReduce(api, bitNoReduce, goldilocks.SubExtNoReduce(api, goldilocks.BaseTo2ExtRaw(1), bitNoReduce)) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 131), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 129), + } + idx += 1 + } + + bitsCombined := goldilocks.GetVariableArray(ReduceWithPowers(api, rangeChecker, mostSignificantDiffBits, goldilocks.BaseTo2Ext(goldilocks.GoldilocksVariable{Limb: 2}))) + twoN := goldilocks.BaseTo2ExtRaw(1 << gate.chunkBits()) + // assuming `twoN` is in goldilocks range + constraintNoReduce = goldilocks.SubExtNoReduce(api, goldilocks.AddExtNoReduce(api, twoN, mostSignificantDiff), bitsCombined) + constraints[idx] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 66), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 66), + } + idx += 1 + + // Iff first <= second, the top (n + 1st) bit of (2^n + most_significant_diff) will be 1. + resultBool := vars.LocalWires[gate.wireResultBool()] + constraints[idx] = goldilocks.SubExt(api, rangeChecker, resultBool, mostSignificantDiffBits[gate.chunkBits()]) + idx += 1 + + return constraints +} + +func (gate *U32ComparisonGate) numConstraints() int { + return 6 + 5*gate.NumChunks + gate.chunkBits() +} + +func (gate *U32ComparisonGate) wireResultBool() int { + return 2 +} + +// The `bit_index`th bit of 2^n - 1 + most_significant_diff. +func (gate *U32ComparisonGate) wireMostSignificantDiffBit(bitIndex int) int { + return 4 + 5*gate.NumChunks + bitIndex +} + +func (gate *U32ComparisonGate) wireMostSignificantDiff() int { + return 3 +} + +func (gate *U32ComparisonGate) wireIntermediateValue(chunk int) int { + return 4 + 4*gate.NumChunks + chunk +} + +func (gate *U32ComparisonGate) wireEqualityDummy(chunk int) int { + return 4 + 2*gate.NumChunks + chunk +} + +func (gate *U32ComparisonGate) wireChunksEqual(chunk int) int { + return 4 + 3*gate.NumChunks + chunk +} + +func (gate *U32ComparisonGate) wireFirstChunkVal(chunk int) int { + return 4 + chunk +} + +func (gate *U32ComparisonGate) wireSecondChunkVal(chunk int) int { + return 4 + gate.NumChunks + chunk +} + +func (gate *U32ComparisonGate) chunkBits() int { + return (gate.NumBits + gate.NumChunks - 1) / gate.NumChunks +} + +func (gate *U32ComparisonGate) wireFirstInput() int { + return 0 +} + +func (gate *U32ComparisonGate) wireSecondInput() int { + return 1 +} diff --git a/verifier/plonk/gates/u32_interleave.go b/verifier/plonk/gates/u32_interleave.go new file mode 100644 index 0000000..941bdc1 --- /dev/null +++ b/verifier/plonk/gates/u32_interleave.go @@ -0,0 +1,96 @@ +package gates + +import ( + "encoding/json" + "fmt" + "slices" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type U32InterleaveGate struct { + NumOps int `json:"num_ops"` +} + +func NewU32InterleaveGate(id string) *U32InterleaveGate { + id = strings.TrimPrefix(id, "U32InterleaveGate") + id = strings.Replace(id, "num_ops", "\"num_ops\"", 1) + + var gate U32InterleaveGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *U32InterleaveGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + var constraints []goldilocks.GoldilocksExtension2Variable + + for i := 0; i < gate.NumOps; i++ { + x := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithX(i)]) + bitsRaw := GetLocalWiresFromRange(vars.LocalWires, gate.wires_ithBitDecomposition(i)) + bits := make([]goldilocks.GoldilocksExtension2Variable, len(bitsRaw)) + for i := 0; i < len(bits); i++ { + bits[i] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: bitsRaw[i][0]}, + B: goldilocks.GoldilocksVariable{Limb: bitsRaw[i][1]}, + } + } + bitsRev := make([]goldilocks.GoldilocksExtension2Variable, len(bits)) + copy(bitsRev, bits) + slices.Reverse(bitsRev) + + computedX := goldilocks.GetVariableArray(ReduceWithPowers(api, rangeChecker, bitsRev, goldilocks.BaseTo2Ext(goldilocks.GoldilocksVariable{Limb: 2}))) + + constraintNoReduce := goldilocks.SubExtNoReduce(api, computedX, x) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + }) + + xInterleaved := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithXInterleaved(i)]) + + computedXInterleaved := goldilocks.GetVariableArray(ReduceWithPowers(api, rangeChecker, + bitsRev, + goldilocks.BaseTo2Ext(goldilocks.GoldilocksVariable{Limb: 2 * 2}))) + constraintNoReduce = goldilocks.SubExtNoReduce(api, computedXInterleaved, xInterleaved) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + }) + + for j := 0; j < len(bits); j++ { + constraintNoReduce := bitsRaw[j] + constraintNoReduce = goldilocks.MulExtNoReduce(api, constraintNoReduce, goldilocks.SubExtNoReduce(api, bitsRaw[j], goldilocks.BaseTo2ExtRaw(1))) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 132), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 130), + }) + } + } + return constraints +} + +func (gate *U32InterleaveGate) NUM_BITS() int { + return 32 +} + +func (gate *U32InterleaveGate) wire_ithX(i int) int { + return gate.routedWiresPerOp() * i +} + +func (gate *U32InterleaveGate) routedWiresPerOp() int { + return 2 +} + +func (gate *U32InterleaveGate) wires_ithBitDecomposition(i int) [2]int { + start := gate.NumOps * gate.routedWiresPerOp() + return [2]int{(start + gate.NUM_BITS()*i), (start + gate.NUM_BITS()*(i+1))} +} + +func (gate *U32InterleaveGate) wire_ithXInterleaved(i int) int { + return gate.routedWiresPerOp()*i + 1 +} diff --git a/verifier/plonk/gates/u32_subtraction.go b/verifier/plonk/gates/u32_subtraction.go new file mode 100644 index 0000000..f943afa --- /dev/null +++ b/verifier/plonk/gates/u32_subtraction.go @@ -0,0 +1,125 @@ +package gates + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type U32SubtractionGate struct { + NumOps int `json:"num_ops"` +} + +func NewU32SubtractionGate(id string) *U32SubtractionGate { + splits := strings.Split(id, ", _phantom") + if splits[1] != ": PhantomData }" { + panic(fmt.Sprintln("Invalid gate id: ", id)) + } + id = splits[0] + id = strings.Join([]string{id, "}"}, "") + id = strings.TrimPrefix(id, "U32SubtractionGate") + id = strings.Replace(id, "num_ops", "\"num_ops\"", 1) + + var gate U32SubtractionGate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *U32SubtractionGate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + var constraints []goldilocks.GoldilocksExtension2Variable + for i := 0; i < gate.NumOps; i++ { + inputX := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithInputX(i)]) + inputY := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithInputY(i)]) + inputBorrow := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithInputBorrow(i)]) + + resultInitial := goldilocks.SubExtNoReduce(api, goldilocks.SubExtNoReduce(api, inputX, inputY), inputBorrow) + base := goldilocks.BaseTo2ExtRaw(1 << 32) + + outputResult := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithOutputResult(i)]) + outputBorrow := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithOutputBorrow(i)]) + + constraintNoReduce := goldilocks.SubExtNoReduce(api, goldilocks.AddExtNoReduce(api, resultInitial, goldilocks.MulExtNoReduce(api, base, outputBorrow)), outputResult) + constraints = append(constraints, goldilocks.NegExt(api, + goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 98), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 98)}, + )) + + combinedLimbs := goldilocks.BaseTo2ExtRaw(0) + limbBase := goldilocks.BaseTo2ExtRaw(1 << gate.limbBits()) + for j := gate.numLimbs() - 1; j >= 0; j-- { + thisLimb := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithOutput_jthLimb(i, j)]) + maxLimb := 1 << gate.limbBits() + product := goldilocks.BaseTo2ExtRaw(1) + for k := 0; k < maxLimb; k++ { + productNoReduce := goldilocks.MulExtNoReduce(api, product, goldilocks.SubExtNoReduce(api, thisLimb, goldilocks.BaseTo2ExtRaw(k))) + product = [D]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, productNoReduce[0], 132).Limb, + goldilocks.Reduce(api, rangeChecker, productNoReduce[1], 130).Limb, + } + } + + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: product[0]}, + B: goldilocks.GoldilocksVariable{Limb: product[1]}, + }) + + combinedLimbsNoReduce := goldilocks.AddExtNoReduce(api, goldilocks.MulExtNoReduce(api, limbBase, combinedLimbs), thisLimb) + combinedLimbs = [D]frontend.Variable{ + goldilocks.Reduce(api, rangeChecker, combinedLimbsNoReduce[0], 67).Limb, + goldilocks.Reduce(api, rangeChecker, combinedLimbsNoReduce[1], 67).Limb, + } + } + constraintNoReduce = goldilocks.SubExtNoReduce(api, combinedLimbs, outputResult) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + }) + + constraintNoReduce = goldilocks.MulExtNoReduce(api, outputBorrow, goldilocks.SubExtNoReduce(api, goldilocks.BaseTo2ExtRaw(1), outputBorrow)) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 131), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 129), + }) + } + return constraints +} + +func (gate *U32SubtractionGate) numConstraints() int { + return gate.NumOps * (3 + gate.numLimbs()) +} + +func (gate *U32SubtractionGate) wire_ithInputX(i int) int { + return 5 * i +} + +func (gate *U32SubtractionGate) wire_ithInputY(i int) int { + return 5*i + 1 +} +func (gate *U32SubtractionGate) wire_ithInputBorrow(i int) int { + return 5*i + 2 +} + +func (gate *U32SubtractionGate) wire_ithOutputResult(i int) int { + return 5*i + 3 +} +func (gate *U32SubtractionGate) wire_ithOutputBorrow(i int) int { + return 5*i + 4 +} + +func (gate *U32SubtractionGate) limbBits() int { + return 2 +} +func (gate *U32SubtractionGate) numLimbs() int { + return 32 / gate.limbBits() +} + +func (gate *U32SubtractionGate) wire_ithOutput_jthLimb(i int, j int) int { + return 5*gate.NumOps + gate.numLimbs()*i + j +} diff --git a/verifier/plonk/gates/uninterleave_to_b32.go b/verifier/plonk/gates/uninterleave_to_b32.go new file mode 100644 index 0000000..cbe09cf --- /dev/null +++ b/verifier/plonk/gates/uninterleave_to_b32.go @@ -0,0 +1,117 @@ +package gates + +import ( + "encoding/json" + "fmt" + "slices" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type UninterleaveToB32Gate struct { + NumOps int `json:"num_ops"` +} + +func NewUninterleaveToB32Gate(id string) *UninterleaveToB32Gate { + id = strings.TrimPrefix(id, "UninterleaveToB32Gate") + id = strings.Replace(id, "num_ops", "\"num_ops\"", 1) + + var gate UninterleaveToB32Gate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *UninterleaveToB32Gate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + var constraints []goldilocks.GoldilocksExtension2Variable + + for i := 0; i < gate.NumOps; i++ { + xInterleaved := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithXInterleaved(i)]) + bitsRaw := GetLocalWiresFromRange(vars.LocalWires, gate.wires_ithBitDecomposition(i)) + bits := make([]goldilocks.GoldilocksExtension2Variable, len(bitsRaw)) + for i := 0; i < len(bits); i++ { + bits[i] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: bitsRaw[i][0]}, + B: goldilocks.GoldilocksVariable{Limb: bitsRaw[i][1]}, + } + } + bitsRev := make([]goldilocks.GoldilocksExtension2Variable, len(bits)) + copy(bitsRev, bits) + slices.Reverse(bitsRev) + + computedXInterleaved := goldilocks.GetVariableArray(ReduceWithPowers(api, rangeChecker, bitsRev, goldilocks.BaseTo2Ext(goldilocks.GoldilocksVariable{Limb: 2}))) + constraintNoReduce := goldilocks.SubExtNoReduce(api, computedXInterleaved, xInterleaved) + + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + }) + + xEvens := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithXEvens(i)]) + xOdds := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithXOdds(i)]) + + computedXEvensNoReduce := goldilocks.BaseTo2ExtRaw(0) + computedXOddsNoReduce := goldilocks.BaseTo2ExtRaw(0) + + // NUM_BITS = 32 + for j := 0; j < gate.NUM_BITS()/2; j++ { + jthEven := bitsRaw[2*j] + jthOdd := bitsRaw[2*j+1] + + coeff := goldilocks.BaseTo2ExtRaw(1 << (2 * (gate.NUM_BITS()/2 - j - 1))) + computedXEvensNoReduce = goldilocks.AddExtNoReduce(api, computedXEvensNoReduce, goldilocks.MulExtNoReduce(api, coeff, jthEven)) + computedXOddsNoReduce = goldilocks.AddExtNoReduce(api, computedXOddsNoReduce, goldilocks.MulExtNoReduce(api, coeff, jthOdd)) + } + + constraintNoReduce = goldilocks.SubExtNoReduce(api, computedXEvensNoReduce, xEvens) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 128), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 128), + }) + + constraintNoReduce = goldilocks.SubExtNoReduce(api, computedXOddsNoReduce, xOdds) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 128), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 128), + }) + + for j := 0; j < len(bits); j++ { + constraintNoReduce := bitsRaw[j] + constraintNoReduce = goldilocks.MulExtNoReduce(api, constraintNoReduce, goldilocks.SubExtNoReduce(api, bitsRaw[j], goldilocks.BaseTo2ExtRaw(1))) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 132), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 130), + }) + } + } + return constraints +} + +func (gate *UninterleaveToB32Gate) routedWiresPerOp() int { + return 3 +} + +func (gate *UninterleaveToB32Gate) NUM_BITS() int { + return 64 +} + +func (gate *UninterleaveToB32Gate) wire_ithXInterleaved(i int) int { + return gate.routedWiresPerOp() * i +} + +func (gate *UninterleaveToB32Gate) wire_ithXEvens(i int) int { + return gate.routedWiresPerOp()*i + 1 +} + +func (gate *UninterleaveToB32Gate) wire_ithXOdds(i int) int { + return gate.routedWiresPerOp()*i + 2 +} + +func (gate *UninterleaveToB32Gate) wires_ithBitDecomposition(i int) [2]int { + start := gate.NumOps * gate.routedWiresPerOp() + return [2]int{start + gate.NUM_BITS()*i, start + gate.NUM_BITS()*(i+1)} +} diff --git a/verifier/plonk/gates/uninterleave_to_u32.go b/verifier/plonk/gates/uninterleave_to_u32.go new file mode 100644 index 0000000..41c1fc2 --- /dev/null +++ b/verifier/plonk/gates/uninterleave_to_u32.go @@ -0,0 +1,117 @@ +package gates + +import ( + "encoding/json" + "fmt" + "slices" + "strings" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" +) + +type UninterleaveToU32Gate struct { + NumOps int `json:"num_ops"` +} + +func NewUninterleaveToU32Gate(id string) *UninterleaveToU32Gate { + id = strings.TrimPrefix(id, "UninterleaveToU32Gate") + id = strings.Replace(id, "num_ops", "\"num_ops\"", 1) + + var gate UninterleaveToU32Gate + err := json.Unmarshal([]byte(id), &gate) + if err != nil { + panic(fmt.Sprintln("Invalid gate id: ", id, err)) + } + return &gate +} + +func (gate *UninterleaveToU32Gate) EvalUnfiltered(api frontend.API, rangeChecker frontend.Rangechecker, vars EvaluationVars) []goldilocks.GoldilocksExtension2Variable { + var constraints []goldilocks.GoldilocksExtension2Variable + + for i := 0; i < gate.NumOps; i++ { + xInterleaved := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithXInterleaved(i)]) + bitsRaw := GetLocalWiresFromRange(vars.LocalWires, gate.wires_ithBitDecomposition(i)) + bits := make([]goldilocks.GoldilocksExtension2Variable, len(bitsRaw)) + for i := 0; i < len(bits); i++ { + bits[i] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.GoldilocksVariable{Limb: bitsRaw[i][0]}, + B: goldilocks.GoldilocksVariable{Limb: bitsRaw[i][1]}, + } + } + bitsRev := make([]goldilocks.GoldilocksExtension2Variable, len(bits)) + copy(bitsRev, bits) + slices.Reverse(bitsRev) + + computedXInterleaved := goldilocks.GetVariableArray(ReduceWithPowers(api, rangeChecker, bitsRev, goldilocks.BaseTo2Ext(goldilocks.GoldilocksVariable{Limb: 2}))) + + constraintNoReduce := goldilocks.SubExtNoReduce(api, computedXInterleaved, xInterleaved) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 65), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 65), + }) + + xEvens := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithXEvens(i)]) + xOdds := goldilocks.GetVariableArray(vars.LocalWires[gate.wire_ithXOdds(i)]) + + computedXEvensNoReduce := goldilocks.BaseTo2ExtRaw(0) + computedXOddsNoReduce := goldilocks.BaseTo2ExtRaw(0) + + // NUM_BITS = 32 + for j := 0; j < gate.NUM_BITS()/2; j++ { + jthEven := bitsRaw[2*j] + jthOdd := bitsRaw[2*j+1] + + coeff := goldilocks.BaseTo2ExtRaw(1 << (gate.NUM_BITS()/2 - j - 1)) + computedXEvensNoReduce = goldilocks.AddExtNoReduce(api, computedXEvensNoReduce, goldilocks.MulExtNoReduce(api, coeff, jthEven)) + computedXOddsNoReduce = goldilocks.AddExtNoReduce(api, computedXOddsNoReduce, goldilocks.MulExtNoReduce(api, coeff, jthOdd)) + } + + constraintNoReduce = goldilocks.SubExtNoReduce(api, computedXEvensNoReduce, xEvens) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 128), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 128), + }) + + constraintNoReduce = goldilocks.SubExtNoReduce(api, computedXOddsNoReduce, xOdds) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 128), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 128), + }) + + for j := 0; j < len(bits); j++ { + constraintNoReduce := bitsRaw[j] + constraintNoReduce = goldilocks.MulExtNoReduce(api, constraintNoReduce, goldilocks.SubExtNoReduce(api, bitsRaw[j], goldilocks.BaseTo2ExtRaw(1))) + constraints = append(constraints, goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[0], 132), + B: goldilocks.Reduce(api, rangeChecker, constraintNoReduce[1], 130), + }) + } + } + return constraints +} + +func (gate *UninterleaveToU32Gate) routedWiresPerOp() int { + return 3 +} + +func (gate *UninterleaveToU32Gate) wire_ithXInterleaved(i int) int { + return gate.routedWiresPerOp() * i +} + +func (gate *UninterleaveToU32Gate) NUM_BITS() int { + return 64 +} + +func (gate *UninterleaveToU32Gate) wires_ithBitDecomposition(i int) [2]int { + start := gate.NumOps * gate.routedWiresPerOp() + return [2]int{start + gate.NUM_BITS()*i, start + gate.NUM_BITS()*(i+1)} +} + +func (gate *UninterleaveToU32Gate) wire_ithXEvens(i int) int { + return gate.routedWiresPerOp()*i + 1 +} + +func (gate *UninterleaveToU32Gate) wire_ithXOdds(i int) int { + return gate.routedWiresPerOp()*i + 2 +} diff --git a/verifier/plonk/gates/vars.go b/verifier/plonk/gates/vars.go index 14ef695..84c032c 100644 --- a/verifier/plonk/gates/vars.go +++ b/verifier/plonk/gates/vars.go @@ -2,15 +2,78 @@ package gates import ( "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + algebra "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks/extension" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/types" + "github.com/consensys/gnark/frontend" ) type EvaluationVars struct { LocalConstants []goldilocks.GoldilocksExtension2Variable LocalWires []goldilocks.GoldilocksExtension2Variable - PublicInputsHash types.HashOutVariable + PublicInputsHash types.PoseidonGoldilocksHashOut } func (vars *EvaluationVars) RemovePrefix(num_selectors int) { vars.LocalConstants = vars.LocalConstants[num_selectors:] } + +func GetLocalExtAlgebra(wires []goldilocks.GoldilocksExtension2Variable, range_ [2]int) [D][D]frontend.Variable { + if range_[1]-range_[0] != D { + panic("gate::GetLocalExtAlgebra - range must have `D` elements") + } + twoWires := [D]goldilocks.GoldilocksExtension2Variable{wires[range_[0]], wires[range_[1]-1]} + return algebra.GetVariableArray(twoWires) +} + +func GetLocalWiresFromRange(wires []goldilocks.GoldilocksExtension2Variable, range_ [2]int) [][D]frontend.Variable { + if range_[1] > len(wires) { + panic("gate::GetLocalWiresFromRange - invalid range") + } + out := make([][2]frontend.Variable, range_[1]-range_[0]) + for i, wire := range wires[range_[0]:range_[1]] { + out[i] = goldilocks.GetVariableArray(wire) + } + return out +} + +func ReduceWithPowersMulti( + api frontend.API, + rangeChecker frontend.Rangechecker, + terms []goldilocks.GoldilocksExtension2Variable, + alphas []goldilocks.GoldilocksExtension2Variable, +) []goldilocks.GoldilocksExtension2Variable { + cumul := make([]goldilocks.GoldilocksExtension2Variable, len(alphas)) + for i := range cumul { + cumul[i] = goldilocks.GetGoldilocksExtensionVariable([]uint64{0, 0}) + } + for t_i := len(terms) - 1; t_i >= 0; t_i-- { + term := terms[t_i] + for i := range cumul { + mul := goldilocks.MulExtNoReduce(api, goldilocks.GetVariableArray(cumul[i]), goldilocks.GetVariableArray(alphas[i])) + acc := goldilocks.AddExtNoReduce(api, goldilocks.GetVariableArray(term), mul) + cumul[i] = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, acc[0], 128), + B: goldilocks.Reduce(api, rangeChecker, acc[1], 128), + } + } + } + return cumul +} + +func ReduceWithPowers( + api frontend.API, + rangeChecker frontend.Rangechecker, + terms []goldilocks.GoldilocksExtension2Variable, + alpha goldilocks.GoldilocksExtension2Variable, +) goldilocks.GoldilocksExtension2Variable { + sum := goldilocks.GetGoldilocksExtensionVariable([]uint64{0, 0}) + for i := len(terms) - 1; i >= 0; i-- { + mul := goldilocks.MulExtNoReduce(api, goldilocks.GetVariableArray(sum), goldilocks.GetVariableArray(alpha)) + acc := goldilocks.AddExtNoReduce(api, goldilocks.GetVariableArray(terms[i]), mul) + sum = goldilocks.GoldilocksExtension2Variable{ + A: goldilocks.Reduce(api, rangeChecker, acc[0], 131), + B: goldilocks.Reduce(api, rangeChecker, acc[1], 129), + } + } + return sum +} diff --git a/verifier/plonk/plonk_common.go b/verifier/plonk/plonk_common.go index b0dd919..0e107ce 100644 --- a/verifier/plonk/plonk_common.go +++ b/verifier/plonk/plonk_common.go @@ -28,45 +28,3 @@ func EvalL0( return goldilocks.DivExt(api, rangeChecker, numerator, denominator) } - -func ReduceWithPowersMulti( - api frontend.API, - rangeChecker frontend.Rangechecker, - terms []goldilocks.GoldilocksExtension2Variable, - alphas []goldilocks.GoldilocksExtension2Variable, -) []goldilocks.GoldilocksExtension2Variable { - cumul := make([]goldilocks.GoldilocksExtension2Variable, len(alphas)) - for i := range cumul { - cumul[i] = goldilocks.GetGoldilocksExtensionVariable([]uint64{0, 0}) - } - for t_i := len(terms) - 1; t_i >= 0; t_i-- { - term := terms[t_i] - for i := range cumul { - mul := goldilocks.MulExtNoReduce(api, goldilocks.GetVariableArray(cumul[i]), goldilocks.GetVariableArray(alphas[i])) - acc := goldilocks.AddExtNoReduce(api, goldilocks.GetVariableArray(term), mul) - cumul[i] = goldilocks.GoldilocksExtension2Variable{ - A: goldilocks.Reduce(api, rangeChecker, acc[0], 128), - B: goldilocks.Reduce(api, rangeChecker, acc[1], 128), - } - } - } - return cumul -} - -func ReduceWithPowers( - api frontend.API, - rangeChecker frontend.Rangechecker, - terms []goldilocks.GoldilocksExtension2Variable, - alpha goldilocks.GoldilocksExtension2Variable, -) goldilocks.GoldilocksExtension2Variable { - sum := goldilocks.GetGoldilocksExtensionVariable([]uint64{0, 0}) - for i := len(terms) - 1; i >= 0; i-- { - mul := goldilocks.MulExtNoReduce(api, goldilocks.GetVariableArray(sum), goldilocks.GetVariableArray(alpha)) - acc := goldilocks.AddExtNoReduce(api, goldilocks.GetVariableArray(terms[i]), mul) - sum = goldilocks.GoldilocksExtension2Variable{ - A: goldilocks.Reduce(api, rangeChecker, acc[0], 131), - B: goldilocks.Reduce(api, rangeChecker, acc[1], 129), - } - } - return sum -} diff --git a/verifier/plonk/vanishing_poly.go b/verifier/plonk/vanishing_poly.go index b40dfb2..7a8b0fe 100644 --- a/verifier/plonk/vanishing_poly.go +++ b/verifier/plonk/vanishing_poly.go @@ -52,8 +52,8 @@ func EvalVanishingPoly( ), ) vanishing_z_1_terms = append(vanishing_z_1_terms, goldilocks.GoldilocksExtension2Variable{ - A: goldilocks.Reduce(api, rangeChecker, vz1t[0], 131), - B: goldilocks.Reduce(api, rangeChecker, vz1t[1], 129), + A: goldilocks.Reduce(api, rangeChecker, vz1t[0], 132), + B: goldilocks.Reduce(api, rangeChecker, vz1t[1], 130), }) if has_lookup { @@ -126,7 +126,7 @@ func EvalVanishingPoly( alphas_ext[i].A = v alphas_ext[i].B.Limb = 0 } - return ReduceWithPowersMulti(api, rangeChecker, vanishing_terms, alphas_ext) + return gates.ReduceWithPowersMulti(api, rangeChecker, vanishing_terms, alphas_ext) } func check_partial_products( diff --git a/verifier/plonk/vanishing_poly_test.go b/verifier/plonk/vanishing_poly_test.go index 471e033..4db0110 100644 --- a/verifier/plonk/vanishing_poly_test.go +++ b/verifier/plonk/vanishing_poly_test.go @@ -17,9 +17,9 @@ import ( ) type Vars struct { - LocalConstants [][]uint64 `json:"local_constants"` - LocalWires [][]uint64 `json:"local_wires"` - PublicInputsHash types.HashOut `json:"public_inputs_hash"` + LocalConstants [][]uint64 `json:"local_constants"` + LocalWires [][]uint64 `json:"local_wires"` + PublicInputsHash types.PoseidonGoldilocksHashOutType `json:"public_inputs_hash"` } type TestData struct { diff --git a/verifier/runner.go b/verifier/runner.go index 0a2d1cc..056af9c 100644 --- a/verifier/runner.go +++ b/verifier/runner.go @@ -7,16 +7,17 @@ import ( ) type Runner struct { - Proof types.ProofVariable - VerifierOnly types.VerifierOnlyVariable - PubInputs types.PublicInputsVariable `gnark:",public"` - CommonData types.CommonData + Proof types.ProofVariable + VerifierOnly types.VerifierOnlyVariable + Plonky2PubInputs types.Plonky2PublicInputsVariable + GnarkPubInputs types.GnarkPublicInputsVariable `gnark:",public"` + CommonData types.CommonData } func (circuit *Runner) Define(api frontend.API) error { // verifier := verifier.createVerifier(api, circuit.common_data) verifier := createVerifier(api, circuit.CommonData) - verifier.Verify(circuit.Proof, circuit.VerifierOnly, circuit.PubInputs) + verifier.Verify(circuit.Proof, circuit.VerifierOnly, circuit.Plonky2PubInputs, circuit.GnarkPubInputs) return nil } @@ -25,17 +26,8 @@ func (circuit *Runner) Define(api frontend.API) error { func (circuit *Runner) Make(constants CircuitConstants, commonData types.CommonData) { circuit.CommonData = commonData circuit.Proof.WiresCap = make(types.MerkleCapVariable, constants.CAP_LEN) - for i := range circuit.Proof.WiresCap { - circuit.Proof.WiresCap[i].Make() - } circuit.Proof.PlonkZsPartialProductsCap = make(types.MerkleCapVariable, constants.CAP_LEN) - for i := range circuit.Proof.PlonkZsPartialProductsCap { - circuit.Proof.PlonkZsPartialProductsCap[i].Make() - } circuit.Proof.QuotientPolysCap = make(types.MerkleCapVariable, constants.CAP_LEN) - for i := range circuit.Proof.QuotientPolysCap { - circuit.Proof.QuotientPolysCap[i].Make() - } circuit.Proof.Openings.Constants = make([]goldilocks.GoldilocksExtension2Variable, constants.CONSTANTS) circuit.Proof.Openings.PlonkSigmas = make([]goldilocks.GoldilocksExtension2Variable, constants.PLONK_SIGMAS) @@ -50,9 +42,6 @@ func (circuit *Runner) Make(constants CircuitConstants, commonData types.CommonD circuit.Proof.OpeningProof.CommitPhaseMerkleCap = make([]types.MerkleCapVariable, constants.COMMIT_PHASE_MERKLE_CAPS) for i := range circuit.Proof.OpeningProof.CommitPhaseMerkleCap { circuit.Proof.OpeningProof.CommitPhaseMerkleCap[i] = make(types.MerkleCapVariable, constants.CAP_LEN) - for j := range circuit.Proof.OpeningProof.CommitPhaseMerkleCap[i] { - circuit.Proof.OpeningProof.CommitPhaseMerkleCap[i][j].Make() - } } circuit.Proof.OpeningProof.QueryRoundProofs = make([]types.FriQueryRoundVariable, constants.NUM_QUERY_ROUNDS) @@ -61,29 +50,19 @@ func (circuit *Runner) Make(constants CircuitConstants, commonData types.CommonD circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs = make([]types.EvalProofVariable, constants.NUM_INITIAL_EVAL_PROOFS) for j := range circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs { circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].X = make([]goldilocks.GoldilocksVariable, num_evals[j]) - circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].Y.Siblings = make([]types.HashOutVariable, constants.INITIAL_EVAL_PROOF_SIBLINGS) - for k := range circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].Y.Siblings { - circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].Y.Siblings[k].Make() - } + circuit.Proof.OpeningProof.QueryRoundProofs[i].InitialTreeProof.EvalsProofs[j].Y.Siblings = make([]types.PoseidonBn254HashOut, constants.INITIAL_EVAL_PROOF_SIBLINGS) } circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps = make([]types.FriQueryStepVariable, constants.NUM_STEPS) for j := range circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps { circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps[j].Evals = make([]goldilocks.GoldilocksExtension2Variable, constants.LEVEL_EVALS[j]) - circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps[j].MerkleProof.Siblings = make([]types.HashOutVariable, constants.LEVEL_SIBLINGS[j]) - for k := range circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps[j].MerkleProof.Siblings { - circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps[j].MerkleProof.Siblings[k].Make() - } + circuit.Proof.OpeningProof.QueryRoundProofs[i].Steps[j].MerkleProof.Siblings = make([]types.PoseidonBn254HashOut, constants.LEVEL_SIBLINGS[j]) } } circuit.Proof.OpeningProof.FinalPoly.Coeffs = make([]goldilocks.GoldilocksExtension2Variable, constants.FINAL_POLY_COEFFS) circuit.VerifierOnly.ConstantSigmasCap = make(types.MerkleCapVariable, constants.CAP_LEN) - for i := range circuit.VerifierOnly.ConstantSigmasCap { - circuit.VerifierOnly.ConstantSigmasCap[i].Make() - } - circuit.VerifierOnly.CircuitDigest.Make() - - circuit.PubInputs = make(types.PublicInputsVariable, constants.NUM_PUBLIC_INPUTS) + circuit.Plonky2PubInputs = make(types.Plonky2PublicInputsVariable, constants.NUM_PLONKY2_PUBLIC_INPUTS) + circuit.GnarkPubInputs = make(types.GnarkPublicInputsVariable, constants.NUM_GNARK_PUBLIC_INPUTS) } diff --git a/verifier/types/types.go b/verifier/types/types.go index 92c01a8..57e5747 100644 --- a/verifier/types/types.go +++ b/verifier/types/types.go @@ -4,25 +4,30 @@ import ( "encoding/json" "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/consensys/gnark/frontend" ) -type HashOut struct { +type PoseidonGoldilocksHashOutType struct { HashOut []uint64 `json:"elements"` } -func (hashout *HashOut) GetVariable() HashOutVariable { - var hashOutVariable HashOutVariable +func (hashout *PoseidonGoldilocksHashOutType) GetVariable() PoseidonGoldilocksHashOut { + var hashOutVariable PoseidonGoldilocksHashOut hashOutVariable.HashOut = goldilocks.GetGoldilocksVariableArr(hashout.HashOut) return hashOutVariable } -type MerkleCap []HashOut +type PoseidonBn254HashOutType = string + +type MerkleCap []PoseidonBn254HashOutType func (merkle_cap *MerkleCap) GetVariable() MerkleCapVariable { var merkleCapVariable MerkleCapVariable for _, elm := range *merkle_cap { - e := elm.GetVariable() + e := PoseidonBn254HashOut{ + HashOut: elm, + } merkleCapVariable = append(merkleCapVariable, e) } @@ -30,13 +35,15 @@ func (merkle_cap *MerkleCap) GetVariable() MerkleCapVariable { } type MerkleProof struct { - Siblings []HashOut `json:"siblings"` + Siblings []PoseidonBn254HashOutType `json:"siblings"` } func (merkle_proof *MerkleProof) GetVariable() MerkleProofVariable { var merkleProofVariable MerkleProofVariable for _, elm := range merkle_proof.Siblings { - e := elm.GetVariable() + e := PoseidonBn254HashOut{ + HashOut: elm, + } merkleProofVariable.Siblings = append(merkleProofVariable.Siblings, e) } @@ -180,14 +187,14 @@ func (proof *Proof) GetVariable() ProofVariable { } type VerifierOnly struct { - ConstantSigmasCap MerkleCap `json:"constants_sigmas_cap"` - CircuitDigest HashOut `json:"circuit_digest"` + ConstantSigmasCap MerkleCap `json:"constants_sigmas_cap"` + CircuitDigest PoseidonBn254HashOutType `json:"circuit_digest"` } -type PublicInputs []uint64 +type Plonky2PublicInputs []uint64 -func (public_inputs PublicInputs) GetVariable() PublicInputsVariable { - var public_inputs_variables PublicInputsVariable +func (public_inputs Plonky2PublicInputs) GetVariable() Plonky2PublicInputsVariable { + var public_inputs_variables Plonky2PublicInputsVariable for _, elm := range public_inputs { e := goldilocks.GetGoldilocksVariable(elm) public_inputs_variables = append(public_inputs_variables, e) @@ -195,10 +202,23 @@ func (public_inputs PublicInputs) GetVariable() PublicInputsVariable { return public_inputs_variables } +type GnarkPublicInputs []string + +func (public_inputs GnarkPublicInputs) GetVariable() GnarkPublicInputsVariable { + var public_inputs_variables GnarkPublicInputsVariable + for _, elm := range public_inputs { + e := frontend.Variable(elm) + public_inputs_variables = append(public_inputs_variables, e) + } + return public_inputs_variables +} + func (verifier_only *VerifierOnly) GetVariable() VerifierOnlyVariable { var verifierOnlyVariable VerifierOnlyVariable verifierOnlyVariable.ConstantSigmasCap = verifier_only.ConstantSigmasCap.GetVariable() - verifierOnlyVariable.CircuitDigest = verifier_only.CircuitDigest.GetVariable() + verifierOnlyVariable.CircuitDigest = PoseidonBn254HashOut{ + HashOut: verifier_only.CircuitDigest, + } return verifierOnlyVariable } diff --git a/verifier/types/variable_types.go b/verifier/types/variable_types.go index fda8059..f404640 100644 --- a/verifier/types/variable_types.go +++ b/verifier/types/variable_types.go @@ -5,58 +5,82 @@ import ( "github.com/consensys/gnark/frontend" ) -const HASH_OUT = 4 +const POSEIDON_Bn254_HASH_OUT = 1 +const POSEIDON_GOLDILOCKS_HASH_OUT = 4 const SALT_SIZE = 4 -type HashOutVariable struct { +type PoseidonGoldilocksHashOut struct { HashOut []goldilocks.GoldilocksVariable } -func SelectHashOut(api frontend.API, b frontend.Variable, in1 HashOutVariable, in2 HashOutVariable) HashOutVariable { - var out HashOutVariable - out.HashOut = make([]goldilocks.GoldilocksVariable, HASH_OUT) - for i := 0; i < HASH_OUT; i++ { +func SelectPoseidonGoldilocksHashOut(api frontend.API, b frontend.Variable, in1 PoseidonGoldilocksHashOut, in2 PoseidonGoldilocksHashOut) PoseidonGoldilocksHashOut { + var out PoseidonGoldilocksHashOut + out.HashOut = make([]goldilocks.GoldilocksVariable, POSEIDON_GOLDILOCKS_HASH_OUT) + for i := 0; i < POSEIDON_GOLDILOCKS_HASH_OUT; i++ { out.HashOut[i].Limb = api.Select(b, in1.HashOut[i].Limb, in2.HashOut[i].Limb) } return out } -func SelectHashoutLookup2(api frontend.API, b0 frontend.Variable, b1 frontend.Variable, in0 HashOutVariable, in1 HashOutVariable, in2 HashOutVariable, in3 HashOutVariable) HashOutVariable { - var out HashOutVariable - out.HashOut = make([]goldilocks.GoldilocksVariable, HASH_OUT) - for i := 0; i < HASH_OUT; i++ { - out.HashOut[i].Limb = api.Lookup2(b0, b1, in0.HashOut[i].Limb, in1.HashOut[i].Limb, in2.HashOut[i].Limb, in3.HashOut[i].Limb) +func (hashOut *PoseidonGoldilocksHashOut) ApplyRangeCheck(rangeCheck func(frontend.API, frontend.Rangechecker, frontend.Variable), api frontend.API, rangeChecker frontend.Rangechecker) { + for _, h := range hashOut.HashOut { + rangeCheck(api, rangeChecker, h.Limb) } - return out } -func (hashOut *HashOutVariable) ApplyRangeCheck(rangeCheck func(frontend.API, frontend.Rangechecker, frontend.Variable), api frontend.API, rangeChecker frontend.Rangechecker) { - for _, h := range hashOut.HashOut { - rangeCheck(api, rangeChecker, h.Limb) +func (hashOut *PoseidonGoldilocksHashOut) Make() { + hashOut.HashOut = make([]goldilocks.GoldilocksVariable, POSEIDON_GOLDILOCKS_HASH_OUT) +} + +type PoseidonBn254HashOut struct { + HashOut frontend.Variable +} + +func SelectPoseidonBn254HashOutLookup2(api frontend.API, b0 frontend.Variable, b1 frontend.Variable, in0 PoseidonBn254HashOut, in1 PoseidonBn254HashOut, in2 PoseidonBn254HashOut, in3 PoseidonBn254HashOut) PoseidonBn254HashOut { + return PoseidonBn254HashOut{ + HashOut: api.Lookup2(b0, b1, in0.HashOut, in1.HashOut, in2.HashOut, in3.HashOut), + } +} + +func SelectPoseidonBn254HashOut(api frontend.API, b frontend.Variable, in1 PoseidonBn254HashOut, in2 PoseidonBn254HashOut) PoseidonBn254HashOut { + return PoseidonBn254HashOut{ + HashOut: api.Select(b, in1.HashOut, in2.HashOut), } } -func (hashOut *HashOutVariable) Make() { - hashOut.HashOut = make([]goldilocks.GoldilocksVariable, HASH_OUT) +func (hashOut *PoseidonBn254HashOut) ToVec(api frontend.API) []goldilocks.GoldilocksVariable { + bits := api.ToBinary(hashOut.HashOut) + + goldilocksElements := []goldilocks.GoldilocksVariable{} + glElmBits := 7 * 8 + // chunk size of 7 bits as done in plonky2 + for i := 0; i < len(bits); i += glElmBits { + end_i := min(i+glElmBits, len(bits)) + goldilocksElements = append(goldilocksElements, goldilocks.GoldilocksVariable{Limb: api.FromBinary(bits[i:end_i]...)}) + } + + return goldilocksElements } -type MerkleCapVariable []HashOutVariable +type MerkleCapVariable []PoseidonBn254HashOut -func SelectHashOutRecursive(api frontend.API, b []frontend.Variable, in []HashOutVariable) []HashOutVariable { - if len(in)%4 == 0 { - two_bits_select := make([]HashOutVariable, len(in)/4) +func SelectPoseidonBn254HashOutRecursive(api frontend.API, b []frontend.Variable, in []PoseidonBn254HashOut) []PoseidonBn254HashOut { + if len(in) == 1 { + return in + } else if len(in)%4 == 0 { + two_bits_select := make([]PoseidonBn254HashOut, len(in)/4) for i := 0; i < len(two_bits_select); i++ { - two_bits_select[i] = SelectHashoutLookup2(api, b[0], b[1], in[4*i], in[4*i+1], in[4*i+2], in[4*i+3]) + two_bits_select[i] = SelectPoseidonBn254HashOutLookup2(api, b[0], b[1], in[4*i], in[4*i+1], in[4*i+2], in[4*i+3]) } - return SelectHashOutRecursive(api, b[2:], two_bits_select) + return SelectPoseidonBn254HashOutRecursive(api, b[2:], two_bits_select) } else { // <4 power means len(in) == 2 only - return []HashOutVariable{SelectHashOut(api, b[0], in[1], in[0])} + return []PoseidonBn254HashOut{SelectPoseidonBn254HashOut(api, b[0], in[1], in[0])} } } type MerkleProofVariable struct { - Siblings []HashOutVariable + Siblings []PoseidonBn254HashOut } type EvalProofVariable struct { @@ -116,10 +140,12 @@ type ProofVariable struct { type VerifierOnlyVariable struct { ConstantSigmasCap MerkleCapVariable - CircuitDigest HashOutVariable + CircuitDigest PoseidonBn254HashOut } -type PublicInputsVariable []goldilocks.GoldilocksVariable +type Plonky2PublicInputsVariable []goldilocks.GoldilocksVariable + +type GnarkPublicInputsVariable []frontend.Variable type FriOpeningBatchVariable struct { Values []goldilocks.GoldilocksExtension2Variable diff --git a/verifier/verifier.go b/verifier/verifier.go index a2c8e2b..5b7d3ea 100644 --- a/verifier/verifier.go +++ b/verifier/verifier.go @@ -2,9 +2,10 @@ package verifier import ( "math/bits" + "slices" "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" - "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon" + poseidonGoldilocks "github.com/Electron-Labs/plonky2-groth16-verifier/poseidon/goldilocks" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/fri" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/hash" "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/plonk" @@ -38,6 +39,8 @@ type CircuitConstants struct { LEVEL_SIBLINGS []uint64 //= [siblings_len_for_each_level (0..NUM_STEPS)] FINAL_POLY_COEFFS uint64 NUM_PUBLIC_INPUTS uint64 + NUM_PLONKY2_PUBLIC_INPUTS uint64 + NUM_GNARK_PUBLIC_INPUTS uint64 } type Verifier struct { @@ -59,7 +62,7 @@ func modulus(api frontend.API, rangeChecker frontend.Rangechecker, a frontend.Va panic(err) } api.AssertIsEqual(api.Add(api.Mul(result[0], b), result[1]), a) - rangeChecker.Check(result[0], 64-n) // 64 because we are calling modulus with `a` < goldilocks MODULUS + rangeChecker.Check(result[0], 64-n+1) rangeChecker.Check(result[1], n) goldilocks.LessThan(api, rangeChecker, result[1], b, n) @@ -67,22 +70,13 @@ func modulus(api frontend.API, rangeChecker frontend.Rangechecker, a frontend.Va } // Range check everything is in goldilocks field -func fieldCheckInputs(api frontend.API, rangeChecker frontend.Rangechecker, proof types.ProofVariable, verifier_only types.VerifierOnlyVariable, pub_inputs types.PublicInputsVariable) error { +func fieldCheckInputs(api frontend.API, rangeChecker frontend.Rangechecker, proof types.ProofVariable, verifier_only types.VerifierOnlyVariable, plonky2PubInputs types.Plonky2PublicInputsVariable) error { // 1. Inputs should all be within goldilocks field - for _, x := range pub_inputs { + for _, x := range plonky2PubInputs { goldilocks.RangeCheck(api, rangeChecker, x.Limb) } // 2. All proof elements should be within goldilocks field - for _, x := range proof.WiresCap { - x.ApplyRangeCheck(goldilocks.RangeCheck, api, rangeChecker) - } - for _, x := range proof.PlonkZsPartialProductsCap { - x.ApplyRangeCheck(goldilocks.RangeCheck, api, rangeChecker) - } - for _, x := range proof.QuotientPolysCap { - x.ApplyRangeCheck(goldilocks.RangeCheck, api, rangeChecker) - } for _, x := range proof.Openings.Constants { x.RangeCheck(api, rangeChecker) @@ -112,21 +106,12 @@ func fieldCheckInputs(api frontend.API, rangeChecker frontend.Rangechecker, proo x.RangeCheck(api, rangeChecker) } - for _, x := range proof.OpeningProof.CommitPhaseMerkleCap { - for _, m := range x { - m.ApplyRangeCheck(goldilocks.RangeCheck, api, rangeChecker) - } - } - for _, q := range proof.OpeningProof.QueryRoundProofs { // initial tree proof for _, e := range q.InitialTreeProof.EvalsProofs { for _, x := range e.X { goldilocks.RangeCheck(api, rangeChecker, x.Limb) } - for _, m := range e.Y.Siblings { - m.ApplyRangeCheck(goldilocks.RangeCheck, api, rangeChecker) - } } // steps @@ -135,9 +120,6 @@ func fieldCheckInputs(api frontend.API, rangeChecker frontend.Rangechecker, proo for _, e := range s.Evals { e.RangeCheck(api, rangeChecker) } - for _, m := range s.MerkleProof.Siblings { - m.ApplyRangeCheck(goldilocks.RangeCheck, api, rangeChecker) - } } } @@ -148,17 +130,44 @@ func fieldCheckInputs(api frontend.API, rangeChecker frontend.Rangechecker, proo goldilocks.RangeCheck(api, rangeChecker, proof.OpeningProof.PowWitness.Limb) // 3. All verifier data elements should be in field too - for _, x := range verifier_only.ConstantSigmasCap { - x.ApplyRangeCheck(goldilocks.RangeCheck, api, rangeChecker) + + return nil +} + +func VerifyGnarkPubInputs(api frontend.API, plonky2PubInputs types.Plonky2PublicInputsVariable, gnarkPubInputs types.GnarkPublicInputsVariable) error { + // api.ToBinary reads whole binary array in little endian; however, we have different endianness for byte order and bit order + input1Bits := []frontend.Variable{} + for i := 0; i < 4; i++ { + u32Bits := api.ToBinary(plonky2PubInputs[3-i].Limb, 32) + for j := 0; j < 4; j++ { + u8 := u32Bits[8*j : 8*(j+1)] + slices.Reverse(u8) + input1Bits = append(input1Bits, u8...) + } + } + slices.Reverse(input1Bits) + input1 := api.FromBinary(input1Bits...) + + input2Bits := []frontend.Variable{} + for i := 0; i < 4; i++ { + u32Bits := api.ToBinary(plonky2PubInputs[len(plonky2PubInputs)-1-i].Limb, 32) + for j := 0; j < 4; j++ { + u8 := u32Bits[8*j : 8*(j+1)] + slices.Reverse(u8) + input2Bits = append(input2Bits, u8...) + } } - verifier_only.CircuitDigest.ApplyRangeCheck(goldilocks.RangeCheck, api, rangeChecker) + slices.Reverse(input2Bits) + input2 := api.FromBinary(input2Bits...) + api.AssertIsEqual(input1, gnarkPubInputs[0]) + api.AssertIsEqual(input2, gnarkPubInputs[1]) return nil } -func hashPublicInputs(api frontend.API, rangeChecker frontend.Rangechecker, publicInputs types.PublicInputsVariable) types.HashOutVariable { - poseidon_goldilocks := &poseidon.PoseidonGoldilocks{} - hasher := hash.NewHasher(api, rangeChecker, poseidon_goldilocks) +func hashPublicInputs(api frontend.API, rangeChecker frontend.Rangechecker, publicInputs types.Plonky2PublicInputsVariable) types.PoseidonGoldilocksHashOut { + poseidon_goldilocks := &poseidonGoldilocks.PoseidonGoldilocks{} + hasher := hash.NewPoseidonGoldilocksHasher(api, rangeChecker, poseidon_goldilocks) return hasher.HashNoPad(publicInputs) } @@ -172,7 +181,7 @@ func friChallenges(api frontend.API, rangeChecker frontend.Rangechecker, challen friChallenges.FriAlpha = challenger.GetExtensionChallenge() friChallenges.FriBetas = make([]goldilocks.GoldilocksExtension2Variable, len(openingProof.CommitPhaseMerkleCap)) for i, v := range openingProof.CommitPhaseMerkleCap { - challenger.ObserveCap(v) + challenger.ObserveCap(api, v) friChallenges.FriBetas[i] = challenger.GetExtensionChallenge() } @@ -191,15 +200,15 @@ func friChallenges(api frontend.API, rangeChecker frontend.Rangechecker, challen return friChallenges } -func getChallenges(api frontend.API, rangeChecker frontend.Rangechecker, proof types.ProofVariable, publicInputHash types.HashOutVariable, circuitDigest types.HashOutVariable) types.ProofChallengesVariable { +func getChallenges(api frontend.API, rangeChecker frontend.Rangechecker, proof types.ProofVariable, publicInputHash types.PoseidonGoldilocksHashOut, circuitDigest types.PoseidonBn254HashOut) types.ProofChallengesVariable { var challenges types.ProofChallengesVariable challenger := NewChallenger(api, rangeChecker) hasLookup := len(proof.Openings.LookupZs) != 0 - challenger.ObserveHash(circuitDigest) - challenger.ObserveHash(publicInputHash) + challenger.ObservePoseidonBn254Hash(api, circuitDigest) + challenger.ObservePoseidonGoldilocksHash(publicInputHash) - challenger.ObserveCap(proof.WiresCap) + challenger.ObserveCap(api, proof.WiresCap) numChallenges := len(proof.Openings.PlonkZs) @@ -224,10 +233,10 @@ func getChallenges(api frontend.API, rangeChecker frontend.Rangechecker, proof t challenges.PlonkDeltas = make([]goldilocks.GoldilocksVariable, 0) } - challenger.ObserveCap(proof.PlonkZsPartialProductsCap) + challenger.ObserveCap(api, proof.PlonkZsPartialProductsCap) challenges.PlonkAlphas = challenger.GetNChallenges(numChallenges) - challenger.ObserveCap(proof.QuotientPolysCap) + challenger.ObserveCap(api, proof.QuotientPolysCap) challenges.PlonkZeta = challenger.GetExtensionChallenge() challenger.ObserveOpenings(fri.GetFriOpenings(proof.Openings)) @@ -241,7 +250,7 @@ func verifyWithChallenges( api frontend.API, rangeChecker frontend.Rangechecker, proof types.ProofVariable, - public_inputs_hash types.HashOutVariable, + public_inputs_hash types.PoseidonGoldilocksHashOut, challenges types.ProofChallengesVariable, verifier_data types.VerifierOnlyVariable, common_data types.CommonData, @@ -290,7 +299,7 @@ func verifyWithChallenges( num_chunks := (len(quotient_polys_zeta)-1)/chunk_size + 1 for i := 0; i < num_chunks; i++ { chunk := quotient_polys_zeta[i*chunk_size : min((i+1)*chunk_size, len(quotient_polys_zeta))] - r_w_p := plonk.ReduceWithPowers(api, rangeChecker, chunk, zeta_pow_deg) + r_w_p := gates.ReduceWithPowers(api, rangeChecker, chunk, zeta_pow_deg) rhs := goldilocks.MulExt(api, rangeChecker, z_h_zeta, r_w_p) lhs := vanishing_polys_zeta[i] api.AssertIsEqual(lhs.A.Limb, rhs.A.Limb) @@ -316,13 +325,14 @@ func verifyWithChallenges( ) } -func (circuit *Verifier) Verify(proof types.ProofVariable, verifier_only types.VerifierOnlyVariable, pub_inputs types.PublicInputsVariable) error { +// TODO: +func (circuit *Verifier) Verify(proof types.ProofVariable, verifier_only types.VerifierOnlyVariable, plonky2PubInputs types.Plonky2PublicInputsVariable, gnarkPubInputs types.GnarkPublicInputsVariable) error { rangeChecker := rangecheck.New(circuit.api) - fieldCheckInputs(circuit.api, rangeChecker, proof, verifier_only, pub_inputs) - pubInputsHash := hashPublicInputs(circuit.api, rangeChecker, pub_inputs) - circuit.api.Println(pubInputsHash) - challenges := getChallenges(circuit.api, rangeChecker, proof, pubInputsHash, verifier_only.CircuitDigest) - circuit.api.Println(challenges) - verifyWithChallenges(circuit.api, rangeChecker, proof, pubInputsHash, challenges, verifier_only, circuit.commonData) + // rangeChecker := types.BitDecompChecker{Api: circuit.api} + fieldCheckInputs(circuit.api, rangeChecker, proof, verifier_only, plonky2PubInputs) + VerifyGnarkPubInputs(circuit.api, plonky2PubInputs, gnarkPubInputs) + plonk2PubInputsHash := hashPublicInputs(circuit.api, rangeChecker, plonky2PubInputs) + challenges := getChallenges(circuit.api, rangeChecker, proof, plonk2PubInputsHash, verifier_only.CircuitDigest) + verifyWithChallenges(circuit.api, rangeChecker, proof, plonk2PubInputsHash, challenges, verifier_only, circuit.commonData) return nil } diff --git a/verifier/verify_gnark_pub_inputs_test.go b/verifier/verify_gnark_pub_inputs_test.go new file mode 100644 index 0000000..631ff5e --- /dev/null +++ b/verifier/verify_gnark_pub_inputs_test.go @@ -0,0 +1,70 @@ +package verifier + +import ( + "testing" + + "github.com/Electron-Labs/plonky2-groth16-verifier/goldilocks" + "github.com/Electron-Labs/plonky2-groth16-verifier/verifier/types" + "github.com/consensys/gnark-crypto/ecc" + "github.com/consensys/gnark/frontend" + "github.com/consensys/gnark/frontend/cs/r1cs" + "github.com/consensys/gnark/test" +) + +type VerifyGnarkPubInputsCircuit struct { + Plonky2PubInputs types.Plonky2PublicInputsVariable + GnarkPubInputs types.GnarkPublicInputsVariable +} + +func (circuit *VerifyGnarkPubInputsCircuit) Define(api frontend.API) error { + VerifyGnarkPubInputs(api, circuit.Plonky2PubInputs, circuit.GnarkPubInputs) + return nil +} + +func TestVerifyGnarkPubInputs(t *testing.T) { + assert := test.NewAssert(t) + + type testData struct { + plonky2PubInputs []uint64 + gnarkPubInputs []string + } + + tests := []testData{ + { + plonky2PubInputs: []uint64{4150607351, 4265771468, 830697859, 4192583370, 1883634718, 3447779555, 2810238612, 3521942354}, + gnarkPubInputs: []string{"269495255991966090313185470945718789623", "109764766545983247653870208403606619504"}, + }, + } + + nPlonky2PubInputs := 8 + + var circuit VerifyGnarkPubInputsCircuit + circuit.Plonky2PubInputs = make([]goldilocks.GoldilocksVariable, nPlonky2PubInputs) + circuit.GnarkPubInputs = make([]frontend.Variable, 2) + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + if err != nil { + t.Fatal("Error in compiling circuit: ", err) + } + + for _, t_i := range tests { + var witness VerifyGnarkPubInputsCircuit + witness.Plonky2PubInputs = make([]goldilocks.GoldilocksVariable, nPlonky2PubInputs) + witness.GnarkPubInputs = make([]frontend.Variable, 2) + for i := 0; i < nPlonky2PubInputs; i++ { + witness.Plonky2PubInputs[i] = goldilocks.GetGoldilocksVariable(t_i.plonky2PubInputs[i]) + } + for i := 0; i < 2; i++ { + witness.GnarkPubInputs[i] = frontend.Variable(t_i.gnarkPubInputs[i]) + } + + w, err := frontend.NewWitness(&witness, ecc.BN254.ScalarField()) + if err != nil { + t.Fatal("Error in witness: ", err, "\n test: ", t_i) + } + err = r1cs.IsSolved(w) + if err != nil { + t.Fatal("Circuit not solved: ", err, "\n test: ", t_i) + } + assert.CheckCircuit(&circuit, test.WithValidAssignment(&witness), test.WithCurves(ecc.BN254)) + } +}