"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GovernorBravoDelegateStorageV1__factory = void 0;
const ethers_1 = require("ethers");
const _abi = [
    {
        constant: true,
        inputs: [],
        name: "admin",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "guardian",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "implementation",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "initialProposalId",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        name: "latestProposalIds",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "pendingAdmin",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "proposalCount",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "proposalMaxOperations",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "proposalThreshold",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        name: "proposals",
        outputs: [
            {
                internalType: "uint256",
                name: "id",
                type: "uint256",
            },
            {
                internalType: "address",
                name: "proposer",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "eta",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "startBlock",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "endBlock",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "forVotes",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "againstVotes",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "abstainVotes",
                type: "uint256",
            },
            {
                internalType: "bool",
                name: "canceled",
                type: "bool",
            },
            {
                internalType: "bool",
                name: "executed",
                type: "bool",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "timelock",
        outputs: [
            {
                internalType: "contract TimelockInterface",
                name: "",
                type: "address",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "votingDelay",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "votingPeriod",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
    {
        constant: true,
        inputs: [],
        name: "xvsVault",
        outputs: [
            {
                internalType: "contract XvsVaultInterface",
                name: "",
                type: "address",
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function",
    },
];
const _bytecode = "0x608060405234801561001057600080fd5b50610484806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80635c60da1b1161008c578063d33219b411610066578063d33219b41461019b578063da35c664146101a3578063f851a440146101ab578063fc4eee42146101b3576100ea565b80635c60da1b146101835780637bdbe4d01461018b578063b58131b014610193576100ea565b80631b9ce575116100c85780631b9ce57514610149578063267822471461015e5780633932abb114610173578063452a93201461017b576100ea565b8063013cf08b146100ef57806302a251a31461012157806317977c6114610136575b600080fd5b6101026100fd3660046102f0565b6101bb565b6040516101189a99989796959493929190610362565b60405180910390f35b61012961021e565b6040516101189190610354565b6101296101443660046102ca565b610224565b610151610236565b6040516101189190610346565b610166610245565b6040516101189190610338565b610129610254565b61016661025a565b610166610269565b610129610278565b61012961027e565b610151610284565b610129610293565b610166610299565b6101296102a8565b600a60208190526000918252604090912080546001820154600283015460078401546008850154600986015496860154600b870154600c9097015495976001600160a01b0390951696939592949193919290919060ff808216916101009004168a565b60045481565b600b6020526000908152604090205481565b6009546001600160a01b031681565b6001546001600160a01b031681565b60035481565b600d546001600160a01b031681565b6002546001600160a01b031681565b600c5481565b60055481565b6008546001600160a01b031681565b60075481565b6000546001600160a01b031681565b60065481565b80356102b981610421565b92915050565b80356102b981610438565b6000602082840312156102dc57600080fd5b60006102e884846102ae565b949350505050565b60006020828403121561030257600080fd5b60006102e884846102bf565b610317816103f7565b82525050565b61031781610402565b61031781610416565b61031781610413565b602081016102b9828461030e565b602081016102b98284610326565b602081016102b9828461032f565b6101408101610371828d61032f565b61037e602083018c61030e565b61038b604083018b61032f565b610398606083018a61032f565b6103a5608083018961032f565b6103b260a083018861032f565b6103bf60c083018761032f565b6103cc60e083018661032f565b6103da61010083018561031d565b6103e861012083018461031d565b9b9a5050505050505050505050565b60006102b982610407565b151590565b6001600160a01b031690565b90565b60006102b9826103f7565b61042a816103f7565b811461043557600080fd5b50565b61042a8161041356fea365627a7a723158200886ff91bd15082b1f66c9049a8fad05019bb72f42c822a727a403beafae5d496c6578706572696d656e74616cf564736f6c63430005100040";
const isSuperArgs = (xs) => xs.length > 1;
class GovernorBravoDelegateStorageV1__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.GovernorBravoDelegateStorageV1__factory = GovernorBravoDelegateStorageV1__factory;
GovernorBravoDelegateStorageV1__factory.bytecode = _bytecode;
GovernorBravoDelegateStorageV1__factory.abi = _abi;
//# sourceMappingURL=GovernorBravoDelegateStorageV1__factory.js.map