"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Plonk4VerifierWithAccessToDNext__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
    {
        inputs: [
            {
                components: [
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "zero",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "alpha",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "gamma",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[9]",
                        name: "alpha_values",
                        type: "tuple[9]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "eta",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta_lookup",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "gamma_lookup",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta_plus_one",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta_gamma",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "v",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "u",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "z_minus_last_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "l_0_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "l_n_minus_one_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "t",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "tp",
                        type: "tuple",
                    },
                ],
                internalType: "struct Plonk4VerifierWithAccessToDNext.PartialVerifierState",
                name: "state",
                type: "tuple",
            },
        ],
        name: "compute_powers_of_alpha",
        outputs: [],
        stateMutability: "pure",
        type: "function",
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: "uint256",
                        name: "domain_size",
                        type: "uint256",
                    },
                    {
                        internalType: "uint256",
                        name: "num_inputs",
                        type: "uint256",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[2]",
                        name: "gate_selectors_commitments",
                        type: "tuple[2]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[7]",
                        name: "gate_setup_commitments",
                        type: "tuple[7]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[4]",
                        name: "permutation_commitments",
                        type: "tuple[4]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "lookup_selector_commitment",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[4]",
                        name: "lookup_tables_commitments",
                        type: "tuple[4]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "lookup_table_type_commitment",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[3]",
                        name: "non_residues",
                        type: "tuple[3]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256[2]",
                                name: "X",
                                type: "uint256[2]",
                            },
                            {
                                internalType: "uint256[2]",
                                name: "Y",
                                type: "uint256[2]",
                            },
                        ],
                        internalType: "struct PairingsBn254.G2Point[2]",
                        name: "g2_elements",
                        type: "tuple[2]",
                    },
                ],
                internalType: "struct VerificationKey",
                name: "vk",
                type: "tuple",
            },
            {
                components: [
                    {
                        internalType: "uint256[]",
                        name: "input_values",
                        type: "uint256[]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[4]",
                        name: "state_polys_commitments",
                        type: "tuple[4]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "copy_permutation_grand_product_commitment",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[4]",
                        name: "quotient_poly_parts_commitments",
                        type: "tuple[4]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[4]",
                        name: "state_polys_openings_at_z",
                        type: "tuple[4]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[1]",
                        name: "state_polys_openings_at_z_omega",
                        type: "tuple[1]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[1]",
                        name: "gate_selectors_openings_at_z",
                        type: "tuple[1]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[3]",
                        name: "copy_permutation_polys_openings_at_z",
                        type: "tuple[3]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "copy_permutation_grand_product_opening_at_z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "quotient_poly_opening_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "linearization_poly_opening_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "lookup_s_poly_commitment",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "lookup_grand_product_commitment",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_s_poly_opening_at_z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_grand_product_opening_at_z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_t_poly_opening_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_t_poly_opening_at_z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_selector_poly_opening_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_table_type_poly_opening_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "opening_proof_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "opening_proof_at_z_omega",
                        type: "tuple",
                    },
                ],
                internalType: "struct Plonk4VerifierWithAccessToDNext.Proof",
                name: "proof",
                type: "tuple",
            },
            {
                components: [
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "zero",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "alpha",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "gamma",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[9]",
                        name: "alpha_values",
                        type: "tuple[9]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "eta",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta_lookup",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "gamma_lookup",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta_plus_one",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta_gamma",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "v",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "u",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "z_minus_last_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "l_0_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "l_n_minus_one_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "t",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "tp",
                        type: "tuple",
                    },
                ],
                internalType: "struct Plonk4VerifierWithAccessToDNext.PartialVerifierState",
                name: "state",
                type: "tuple",
            },
        ],
        name: "prepare_queries",
        outputs: [
            {
                components: [
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[13]",
                        name: "commitments_at_z",
                        type: "tuple[13]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[13]",
                        name: "values_at_z",
                        type: "tuple[13]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[6]",
                        name: "commitments_at_z_omega",
                        type: "tuple[6]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[6]",
                        name: "values_at_z_omega",
                        type: "tuple[6]",
                    },
                ],
                internalType: "struct Plonk4VerifierWithAccessToDNext.Queries",
                name: "queries",
                type: "tuple",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: "uint256",
                        name: "domain_size",
                        type: "uint256",
                    },
                    {
                        internalType: "uint256",
                        name: "num_inputs",
                        type: "uint256",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[2]",
                        name: "gate_selectors_commitments",
                        type: "tuple[2]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[7]",
                        name: "gate_setup_commitments",
                        type: "tuple[7]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[4]",
                        name: "permutation_commitments",
                        type: "tuple[4]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "lookup_selector_commitment",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[4]",
                        name: "lookup_tables_commitments",
                        type: "tuple[4]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "lookup_table_type_commitment",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[3]",
                        name: "non_residues",
                        type: "tuple[3]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256[2]",
                                name: "X",
                                type: "uint256[2]",
                            },
                            {
                                internalType: "uint256[2]",
                                name: "Y",
                                type: "uint256[2]",
                            },
                        ],
                        internalType: "struct PairingsBn254.G2Point[2]",
                        name: "g2_elements",
                        type: "tuple[2]",
                    },
                ],
                internalType: "struct VerificationKey",
                name: "vk",
                type: "tuple",
            },
            {
                components: [
                    {
                        internalType: "uint256[]",
                        name: "input_values",
                        type: "uint256[]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[4]",
                        name: "state_polys_commitments",
                        type: "tuple[4]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "copy_permutation_grand_product_commitment",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point[4]",
                        name: "quotient_poly_parts_commitments",
                        type: "tuple[4]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[4]",
                        name: "state_polys_openings_at_z",
                        type: "tuple[4]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[1]",
                        name: "state_polys_openings_at_z_omega",
                        type: "tuple[1]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[1]",
                        name: "gate_selectors_openings_at_z",
                        type: "tuple[1]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[3]",
                        name: "copy_permutation_polys_openings_at_z",
                        type: "tuple[3]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "copy_permutation_grand_product_opening_at_z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "quotient_poly_opening_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "linearization_poly_opening_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "lookup_s_poly_commitment",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "lookup_grand_product_commitment",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_s_poly_opening_at_z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_grand_product_opening_at_z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_t_poly_opening_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_t_poly_opening_at_z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_selector_poly_opening_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "lookup_table_type_poly_opening_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "opening_proof_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "opening_proof_at_z_omega",
                        type: "tuple",
                    },
                ],
                internalType: "struct Plonk4VerifierWithAccessToDNext.Proof",
                name: "proof",
                type: "tuple",
            },
            {
                components: [
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "zero",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "alpha",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "gamma",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr[9]",
                        name: "alpha_values",
                        type: "tuple[9]",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "eta",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta_lookup",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "gamma_lookup",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta_plus_one",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "beta_gamma",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "v",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "u",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "z_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "z_minus_last_omega",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "l_0_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "l_n_minus_one_at_z",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "value",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.Fr",
                        name: "t",
                        type: "tuple",
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "X",
                                type: "uint256",
                            },
                            {
                                internalType: "uint256",
                                name: "Y",
                                type: "uint256",
                            },
                        ],
                        internalType: "struct PairingsBn254.G1Point",
                        name: "tp",
                        type: "tuple",
                    },
                ],
                internalType: "struct Plonk4VerifierWithAccessToDNext.PartialVerifierState",
                name: "state",
                type: "tuple",
            },
        ],
        name: "rescue_custom_gate_linearization_contribution",
        outputs: [
            {
                components: [
                    {
                        internalType: "uint256",
                        name: "X",
                        type: "uint256",
                    },
                    {
                        internalType: "uint256",
                        name: "Y",
                        type: "uint256",
                    },
                ],
                internalType: "struct PairingsBn254.G1Point",
                name: "result",
                type: "tuple",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
];
const _bytecode = " ";
const isSuperArgs = (xs) => xs.length > 1;
class Plonk4VerifierWithAccessToDNext__factory extends ethers_1.ContractFactory {
    constructor(...args) {
        if (isSuperArgs(args)) {
            super(...args);
        }
        else {
            super(_abi, _bytecode, args[0]);
        }
    }
    deploy(overrides) {
        return super.deploy(overrides || {});
    }
    getDeployTransaction(overrides) {
        return super.getDeployTransaction(overrides || {});
    }
    attach(address) {
        return super.attach(address);
    }
    connect(signer) {
        return super.connect(signer);
    }
    static createInterface() {
        return new ethers_1.utils.Interface(_abi);
    }
    static connect(address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    }
}
exports.Plonk4VerifierWithAccessToDNext__factory = Plonk4VerifierWithAccessToDNext__factory;
Plonk4VerifierWithAccessToDNext__factory.bytecode = _bytecode;
Plonk4VerifierWithAccessToDNext__factory.abi = _abi;
//# sourceMappingURL=Plonk4VerifierWithAccessToDNext__factory.js.map