[
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "newMaintainer",
        "type": "address"
      }
    ],
    "name": "MaintainerSet",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "addedMember",
        "type": "address"
      }
    ],
    "name": "ManagementGroupMemberAdded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "removedMember",
        "type": "address"
      }
    ],
    "name": "ManagementGroupMemberRemoved",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "proposalId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "proposer",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "string",
        "name": "description",
        "type": "string"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "voteStartTime",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "voteEndTime",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "thresholdConditionBIPS",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "majorityConditionBIPS",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address[]",
        "name": "eligibleMembers",
        "type": "address[]"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "accept",
        "type": "bool"
      }
    ],
    "name": "ManagementGroupProposalCreated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "votingDelaySeconds",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "votingPeriodSeconds",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "thresholdConditionBIPS",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "majorityConditionBIPS",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "proposalFeeValueWei",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "addAfterRewardedEpochs",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "addAfterNotChilledEpochs",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "removeAfterNotRewardedEpochs",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "removeAfterEligibleProposals",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "removeAfterNonParticipatingProposals",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "removeForDays",
        "type": "uint256"
      }
    ],
    "name": "ParametersSet",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "proposalId",
        "type": "uint256"
      }
    ],
    "name": "ProposalCanceled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "proxyVoter",
        "type": "address"
      }
    ],
    "name": "ProxyVoterSet",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "voter",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "proposalId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "support",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "forVotePower",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "againstVotePower",
        "type": "uint256"
      }
    ],
    "name": "VoteCast",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "addMember",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_account",
        "type": "address"
      }
    ],
    "name": "canPropose",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_account",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_proposalId",
        "type": "uint256"
      }
    ],
    "name": "canVote",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_proposalId",
        "type": "uint256"
      }
    ],
    "name": "cancel",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_proposalId",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "_support",
        "type": "uint8"
      }
    ],
    "name": "castVote",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "_votersToAdd",
        "type": "address[]"
      },
      {
        "internalType": "address[]",
        "name": "_votersToRemove",
        "type": "address[]"
      }
    ],
    "name": "changeManagementGroupMembers",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getLastProposal",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "_proposalId",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "_description",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_proposalId",
        "type": "uint256"
      }
    ],
    "name": "getProposalDescription",
    "outputs": [
      {
        "internalType": "string",
        "name": "_description",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_proposalId",
        "type": "uint256"
      }
    ],
    "name": "getProposalInfo",
    "outputs": [
      {
        "internalType": "string",
        "name": "_description",
        "type": "string"
      },
      {
        "internalType": "address",
        "name": "_proposer",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "_accept",
        "type": "bool"
      },
      {
        "internalType": "uint256",
        "name": "_voteStartTime",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_voteEndTime",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_thresholdConditionBIPS",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_majorityConditionBIPS",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_noOfEligibleMembers",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_proposalId",
        "type": "uint256"
      }
    ],
    "name": "getProposalVotes",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "_for",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_against",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_proposalId",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "_voter",
        "type": "address"
      }
    ],
    "name": "hasVoted",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_voter",
        "type": "address"
      }
    ],
    "name": "isMember",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_description",
        "type": "string"
      }
    ],
    "name": "propose",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_description",
        "type": "string"
      },
      {
        "components": [
          {
            "internalType": "bool",
            "name": "accept",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "votingStartTs",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "votingPeriodSeconds",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "thresholdConditionBIPS",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "majorityConditionBIPS",
            "type": "uint256"
          }
        ],
        "internalType": "struct IIPollingManagementGroup.ProposalSettings",
        "name": "_settings",
        "type": "tuple"
      }
    ],
    "name": "proposeWithSettings",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "_proposalId",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_voter",
        "type": "address"
      }
    ],
    "name": "removeMember",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_votingDelaySeconds",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_votingPeriodSeconds",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_thresholdConditionBIPS",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_majorityConditionBIPS",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_proposalFeeValueWei",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_addAfterRewardedEpochs",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_addAfterNotChilledEpochs",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_removeAfterNotRewardedEpochs",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_removeAfterEligibleProposals",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_removeAfterNonParticipatingProposals",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_removeForDays",
        "type": "uint256"
      }
    ],
    "name": "setParameters",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_proxyVoter",
        "type": "address"
      }
    ],
    "name": "setProxyVoter",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_proposalId",
        "type": "uint256"
      }
    ],
    "name": "state",
    "outputs": [
      {
        "internalType": "enum IPollingManagementGroup.ProposalState",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]
