"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.IPoll__factory = void 0;
const ethers_1 = require("ethers");
const _abi = [
    {
        inputs: [],
        name: "actualStateTreeDepth",
        outputs: [
            {
                internalType: "uint8",
                name: "",
                type: "uint8",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "coordinatorPublicKeyHash",
        outputs: [
            {
                internalType: "uint256",
                name: "_coordinatorPublicKeyHash",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "currentSbCommitment",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "endDate",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "getBatchHashes",
        outputs: [
            {
                internalType: "uint256[]",
                name: "",
                type: "uint256[]",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "getMaciContract",
        outputs: [
            {
                internalType: "contract IMACI",
                name: "maci",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "getStartAndEndDate",
        outputs: [
            {
                internalType: "uint256",
                name: "_startDate",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_endDate",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "element",
                type: "uint256",
            },
        ],
        name: "getStateIndex",
        outputs: [
            {
                internalType: "uint40",
                name: "",
                type: "uint40",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_nullifier",
                type: "uint256",
            },
            {
                components: [
                    {
                        internalType: "uint256",
                        name: "x",
                        type: "uint256",
                    },
                    {
                        internalType: "uint256",
                        name: "y",
                        type: "uint256",
                    },
                ],
                internalType: "struct DomainObjs.PublicKey",
                name: "_publicKey",
                type: "tuple",
            },
            {
                internalType: "uint256",
                name: "_stateRootIndex",
                type: "uint256",
            },
            {
                internalType: "uint256[8]",
                name: "_proof",
                type: "uint256[8]",
            },
            {
                internalType: "bytes",
                name: "_signUpPolicyData",
                type: "bytes",
            },
            {
                internalType: "bytes",
                name: "_initialVoiceCreditProxyData",
                type: "bytes",
            },
        ],
        name: "joinPoll",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "mergeState",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "messageBatchSize",
        outputs: [
            {
                internalType: "uint8",
                name: "",
                type: "uint8",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "padLastBatch",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: "uint256[10]",
                        name: "data",
                        type: "uint256[10]",
                    },
                ],
                internalType: "struct DomainObjs.Message",
                name: "_message",
                type: "tuple",
            },
            {
                components: [
                    {
                        internalType: "uint256",
                        name: "x",
                        type: "uint256",
                    },
                    {
                        internalType: "uint256",
                        name: "y",
                        type: "uint256",
                    },
                ],
                internalType: "struct DomainObjs.PublicKey",
                name: "_encryptionPublicKey",
                type: "tuple",
            },
        ],
        name: "publishMessage",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: "uint256[10]",
                        name: "data",
                        type: "uint256[10]",
                    },
                ],
                internalType: "struct DomainObjs.Message[]",
                name: "_messages",
                type: "tuple[]",
            },
            {
                components: [
                    {
                        internalType: "uint256",
                        name: "x",
                        type: "uint256",
                    },
                    {
                        internalType: "uint256",
                        name: "y",
                        type: "uint256",
                    },
                ],
                internalType: "struct DomainObjs.PublicKey[]",
                name: "_encryptionPublicKeys",
                type: "tuple[]",
            },
        ],
        name: "publishMessageBatch",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256[]",
                name: "_messageHashes",
                type: "uint256[]",
            },
            {
                internalType: "bytes32",
                name: "_ipfsHash",
                type: "bytes32",
            },
        ],
        name: "relayMessagesBatch",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "startDate",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "stateMerged",
        outputs: [
            {
                internalType: "bool",
                name: "",
                type: "bool",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "totalSignups",
        outputs: [
            {
                internalType: "uint256",
                name: "signups",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "totalSignupsAndMessages",
        outputs: [
            {
                internalType: "uint256",
                name: "totalSignups",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "numMsgs",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "treeDepths",
        outputs: [
            {
                internalType: "uint8",
                name: "tallyProcessingStateTreeDepth",
                type: "uint8",
            },
            {
                internalType: "uint8",
                name: "voteOptionTreeDepth",
                type: "uint8",
            },
            {
                internalType: "uint8",
                name: "stateTreeDepth",
                type: "uint8",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "voteOptions",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
];
class IPoll__factory {
    static createInterface() {
        return new ethers_1.Interface(_abi);
    }
    static connect(address, runner) {
        return new ethers_1.Contract(address, _abi, runner);
    }
}
exports.IPoll__factory = IPoll__factory;
IPoll__factory.abi = _abi;
//# sourceMappingURL=IPoll__factory.js.map