{
  "contractName": "ProtocolConfig",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract ERC20",
          "name": "_feeToken",
          "type": "address"
        },
        {
          "internalType": "uint256[3]",
          "name": "_fees",
          "type": "uint256[3]"
        },
        {
          "internalType": "uint64[5]",
          "name": "_roundStateDurations",
          "type": "uint64[5]"
        },
        {
          "internalType": "uint16[2]",
          "name": "_pcts",
          "type": "uint16[2]"
        },
        {
          "internalType": "uint64[4]",
          "name": "_roundParams",
          "type": "uint64[4]"
        },
        {
          "internalType": "uint256[2]",
          "name": "_appealCollateralParams",
          "type": "uint256[2]"
        },
        {
          "internalType": "uint256",
          "name": "_minActiveBalance",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "holder",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "allowed",
          "type": "bool"
        }
      ],
      "name": "AutomaticWithdrawalsAllowedChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "fromTermId",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "protocolConfigId",
          "type": "uint64"
        }
      ],
      "name": "NewConfig",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "_holder",
          "type": "address"
        }
      ],
      "name": "areWithdrawalsAllowedFor",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_termId",
          "type": "uint64"
        }
      ],
      "name": "getConfig",
      "outputs": [
        {
          "internalType": "contract ERC20",
          "name": "feeToken",
          "type": "address"
        },
        {
          "internalType": "uint256[3]",
          "name": "fees",
          "type": "uint256[3]"
        },
        {
          "internalType": "uint64[5]",
          "name": "roundStateDurations",
          "type": "uint64[5]"
        },
        {
          "internalType": "uint16[2]",
          "name": "pcts",
          "type": "uint16[2]"
        },
        {
          "internalType": "uint64[4]",
          "name": "roundParams",
          "type": "uint64[4]"
        },
        {
          "internalType": "uint256[2]",
          "name": "appealCollateralParams",
          "type": "uint256[2]"
        },
        {
          "internalType": "uint256",
          "name": "minActiveBalance",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getConfigChangeTermId",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_termId",
          "type": "uint64"
        }
      ],
      "name": "getDraftConfig",
      "outputs": [
        {
          "internalType": "contract ERC20",
          "name": "feeToken",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "draftFee",
          "type": "uint256"
        },
        {
          "internalType": "uint16",
          "name": "penaltyPct",
          "type": "uint16"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_termId",
          "type": "uint64"
        }
      ],
      "name": "getMinActiveBalance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bool",
          "name": "_allowed",
          "type": "bool"
        }
      ],
      "name": "setAutomaticWithdrawals",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
