// Code generated by bitwrap synth; hand-maintained for now.
// Source schema: ZKPoll Vote:1.0.0, extension: tally-correctness proof (size 256).

package prover

import "github.com/consensys/gnark/frontend"

// TallyProofCircuit256 is the largest batch variant. At ~330k constraints
// this is ~15x larger than the 16-slot baseline. Lazy-compiled on first
// request rather than at server startup (see EnsureCompiled).
type TallyProofCircuit256 struct {
	PollID      frontend.Variable                 `gnark:",public"`
	NumReveals  frontend.Variable                 `gnark:",public"`
	Commitments [256]frontend.Variable            `gnark:",public"`
	Nullifiers  [256]frontend.Variable            `gnark:",public"`
	Tallies     [TallyProofMaxChoices]frontend.Variable `gnark:",public"`

	Secrets [256]frontend.Variable
	Choices [256]frontend.Variable
	Active  [256]frontend.Variable
}

func (c *TallyProofCircuit256) Define(api frontend.API) error {
	return tallyProofConstraints(api, c.PollID, c.NumReveals,
		c.Commitments[:], c.Nullifiers[:], c.Tallies[:],
		c.Secrets[:], c.Choices[:], c.Active[:])
}
