{
  "_format": "hh-sol-artifact-1",
  "contractName": "PerpV2ClearingHouseConfig",
  "sourceName": "contracts/ClearingHouseConfig.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint24",
          "name": "liquidationPenaltyRatio",
          "type": "uint24"
        }
      ],
      "name": "LiquidationPenaltyRatioChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint24",
          "name": "rate",
          "type": "uint24"
        }
      ],
      "name": "MaxFundingRateChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "maxMarketsPerAccount",
          "type": "uint8"
        }
      ],
      "name": "MaxMarketsPerAccountChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint24",
          "name": "partialCloseRatio",
          "type": "uint24"
        }
      ],
      "name": "PartialCloseRatioChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "cap",
          "type": "uint256"
        }
      ],
      "name": "SettlementTokenBalanceCapChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "twapInterval",
          "type": "uint256"
        }
      ],
      "name": "TwapIntervalChanged",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "candidate",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getImRatio",
      "outputs": [
        {
          "internalType": "uint24",
          "name": "",
          "type": "uint24"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getLiquidationPenaltyRatio",
      "outputs": [
        {
          "internalType": "uint24",
          "name": "",
          "type": "uint24"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getMaxFundingRate",
      "outputs": [
        {
          "internalType": "uint24",
          "name": "",
          "type": "uint24"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getMaxMarketsPerAccount",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getMmRatio",
      "outputs": [
        {
          "internalType": "uint24",
          "name": "",
          "type": "uint24"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getPartialCloseRatio",
      "outputs": [
        {
          "internalType": "uint24",
          "name": "",
          "type": "uint24"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getSettlementTokenBalanceCap",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getTwapInterval",
      "outputs": [
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint24",
          "name": "liquidationPenaltyRatioArg",
          "type": "uint24"
        }
      ],
      "name": "setLiquidationPenaltyRatio",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint24",
          "name": "rate",
          "type": "uint24"
        }
      ],
      "name": "setMaxFundingRate",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "maxMarketsPerAccountArg",
          "type": "uint8"
        }
      ],
      "name": "setMaxMarketsPerAccount",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "setOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint24",
          "name": "partialCloseRatioArg",
          "type": "uint24"
        }
      ],
      "name": "setPartialCloseRatio",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "cap",
          "type": "uint256"
        }
      ],
      "name": "setSettlementTokenBalanceCap",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint32",
          "name": "twapIntervalArg",
          "type": "uint32"
        }
      ],
      "name": "setTwapInterval",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "updateOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610f9b806100206000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806374283336116100ad5780638da5cb5b116100715780638da5cb5b146102bf578063a8549402146102c7578063bc5920ba146102cf578063c846961e146102d7578063fedf924b146102f45761012c565b806374283336146102515780637bce35ae146102595780638129fc1c1461027b57806385eacc77146102835780638af3a60d1461029d5761012c565b8063543ce73a116100f4578063543ce73a146101dd5780636c8381f8146101fd5780636e1d2dd214610221578063715018a61461022957806373f62501146102315761012c565b8063050a0ba31461013157806313af4035146101555780631d27050f1461017b5780632c47ccba1461019e5780633e742e3b146101bc575b600080fd5b6101536004803603602081101561014757600080fd5b503562ffffff166102fc565b005b6101536004803603602081101561016b57600080fd5b50356001600160a01b03166103f9565b6101536004803603602081101561019157600080fd5b503563ffffffff16610554565b6101a661064d565b6040805160ff9092168252519081900360200190f35b6101c4610656565b6040805163ffffffff9092168252519081900360200190f35b6101e5610669565b6040805162ffffff9092168252519081900360200190f35b610205610679565b604080516001600160a01b039092168252519081900360200190f35b6101e5610688565b61015361069a565b6101536004803603602081101561024757600080fd5b503560ff1661073b565b6101e56107e0565b6101536004803603602081101561026f57600080fd5b503562ffffff166107f2565b610153610934565b61028b610a51565b60408051918252519081900360200190f35b610153600480360360208110156102b357600080fd5b503562ffffff16610a57565b610205610b0c565b6101e5610b1b565b610153610b2e565b610153600480360360208110156102ed57600080fd5b5035610c1a565b6101e5610cb2565b80620f42408162ffffff161115610343576040805162461bcd60e51b81526020600482015260066024820152654348435f524f60d01b604482015290519081900360640190fd5b61034b610cc4565b6001600160a01b031661035c610b0c565b6001600160a01b0316146103a0576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6067805462ffffff8416600160381b810262ffffff60381b199092169190911790915560408051918252517ff95b3e2798060899824a0bebdd89ff5df3d51c51c5d30f5184bd30d7a6b017089181900360200190a15050565b610401610cc4565b6001600160a01b0316610412610b0c565b6001600160a01b031614610456576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03811661049a576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b03828116911614156104e6576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b0382811691161415610532576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b61055c610cc4565b6001600160a01b031661056d610b0c565b6001600160a01b0316146105b1576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b63ffffffff81166105f3576040805162461bcd60e51b81526020600482015260076024820152664348435f49544960c81b604482015290519081900360640190fd5b6067805463ffffffff8316600160801b810263ffffffff60801b199092169190911790915560408051918252517f0bd5e02c0d6277fdf7c7c72fae10042c4c832b26ea94623a04b79a50a35a217e9181900360200190a150565b60675460ff1690565b606754600160801b900463ffffffff1690565b606754610100900462ffffff1690565b6034546001600160a01b031690565b606754600160681b900462ffffff1690565b6106a2610cc4565b6001600160a01b03166106b3610b0c565b6001600160a01b0316146106f7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b031690600080516020610f46833981519152908390a3603380546001600160a01b0319908116909155603480549091169055565b610743610cc4565b6001600160a01b0316610754610b0c565b6001600160a01b031614610798576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6067805460ff831660ff19909116811790915560408051918252517fa7b4760b38e2a630f3073fcd5119972cbf81bd50e3761f86534a69661caf81109181900360200190a150565b606754600160501b900462ffffff1690565b80620f42408162ffffff161115610839576040805162461bcd60e51b81526020600482015260066024820152654348435f524f60d01b604482015290519081900360640190fd5b610841610cc4565b6001600160a01b0316610852610b0c565b6001600160a01b031614610896576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60008262ffffff16116108db576040805162461bcd60e51b815260206004820152600860248201526721a421afa4a821a960c11b604482015290519081900360640190fd5b6067805462ffffff8416600160501b810262ffffff60501b199092169190911790915560408051918252517f4757c16c46bedf5171cc1e2c53c99225da1bff2c0a5cb51b0f852909dbae1ebd9181900360200190a15050565b600054610100900460ff168061094d575061094d610cc8565b8061095b575060005460ff16155b6109965760405162461bcd60e51b815260040180806020018281038252602e815260200180610f18602e913960400191505060405180910390fd5b600054610100900460ff161580156109c1576000805460ff1961ff0019909116610100171660011790555b6109c9610cd9565b6067805460ff60ff199091161763ffffff001916630186a0001766ffffff00000000191665f424000000001762ffffff60381b1916610c35603b1b1762ffffff60501b1916613d0960541b1762ffffff60681b1916610c35606d1b1763ffffffff60801b191660e160821b17905560006068558015610a4e576000805461ff00191690555b50565b60685490565b610a5f610cc4565b6001600160a01b0316610a70610b0c565b6001600160a01b031614610ab4576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6067805462ffffff8316600160681b810262ffffff60681b199092169190911790915560408051918252517f0bcb070f78e3c4fec82334dff77e5369a878886b8be26c9f98daa534a8cf67789181900360200190a150565b6033546001600160a01b031690565b606754640100000000900462ffffff1690565b6034546001600160a01b0316610b73576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610b7b610cc4565b6034546001600160a01b03908116911614610bc6576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b039283169290911690600080516020610f4683398151915290600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b610c22610cc4565b6001600160a01b0316610c33610b0c565b6001600160a01b031614610c77576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60688190556040805182815290517fc6564be86420b541b7946583fdb54d45535a59a04e3b3525b536ccc547b4cd8f9181900360200190a150565b606754600160381b900462ffffff1690565b3390565b6000610cd330610dc8565b15905090565b600054610100900460ff1680610cf25750610cf2610cc8565b80610d00575060005460ff16155b610d3b5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f18602e913960400191505060405180910390fd5b600054610100900460ff16158015610d66576000805460ff1961ff0019909116610100171660011790555b610d6e610dce565b6000610d78610cc4565b603380546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020610f46833981519152908290a3508015610a4e576000805461ff001916905550565b3b151590565b600054610100900460ff1680610de75750610de7610cc8565b80610df5575060005460ff16155b610e305760405162461bcd60e51b815260040180806020018281038252602e815260200180610f18602e913960400191505060405180910390fd5b600054610100900460ff16158015610e5b576000805460ff1961ff0019909116610100171660011790555b610e63610e77565b8015610a4e576000805461ff001916905550565b600054610100900460ff1680610e905750610e90610cc8565b80610e9e575060005460ff16155b610ed95760405162461bcd60e51b815260040180806020018281038252602e815260200180610f18602e913960400191505060405180910390fd5b600054610100900460ff16158015610e63576000805460ff1961ff0019909116610100171660011790558015610a4e576000805461ff00191690555056fe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220a68b99ff504a2dc6e895d8094f9da9901d91a7ef06836ecda54d82f9227b119664736f6c63430007060033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806374283336116100ad5780638da5cb5b116100715780638da5cb5b146102bf578063a8549402146102c7578063bc5920ba146102cf578063c846961e146102d7578063fedf924b146102f45761012c565b806374283336146102515780637bce35ae146102595780638129fc1c1461027b57806385eacc77146102835780638af3a60d1461029d5761012c565b8063543ce73a116100f4578063543ce73a146101dd5780636c8381f8146101fd5780636e1d2dd214610221578063715018a61461022957806373f62501146102315761012c565b8063050a0ba31461013157806313af4035146101555780631d27050f1461017b5780632c47ccba1461019e5780633e742e3b146101bc575b600080fd5b6101536004803603602081101561014757600080fd5b503562ffffff166102fc565b005b6101536004803603602081101561016b57600080fd5b50356001600160a01b03166103f9565b6101536004803603602081101561019157600080fd5b503563ffffffff16610554565b6101a661064d565b6040805160ff9092168252519081900360200190f35b6101c4610656565b6040805163ffffffff9092168252519081900360200190f35b6101e5610669565b6040805162ffffff9092168252519081900360200190f35b610205610679565b604080516001600160a01b039092168252519081900360200190f35b6101e5610688565b61015361069a565b6101536004803603602081101561024757600080fd5b503560ff1661073b565b6101e56107e0565b6101536004803603602081101561026f57600080fd5b503562ffffff166107f2565b610153610934565b61028b610a51565b60408051918252519081900360200190f35b610153600480360360208110156102b357600080fd5b503562ffffff16610a57565b610205610b0c565b6101e5610b1b565b610153610b2e565b610153600480360360208110156102ed57600080fd5b5035610c1a565b6101e5610cb2565b80620f42408162ffffff161115610343576040805162461bcd60e51b81526020600482015260066024820152654348435f524f60d01b604482015290519081900360640190fd5b61034b610cc4565b6001600160a01b031661035c610b0c565b6001600160a01b0316146103a0576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6067805462ffffff8416600160381b810262ffffff60381b199092169190911790915560408051918252517ff95b3e2798060899824a0bebdd89ff5df3d51c51c5d30f5184bd30d7a6b017089181900360200190a15050565b610401610cc4565b6001600160a01b0316610412610b0c565b6001600160a01b031614610456576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03811661049a576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b03828116911614156104e6576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b0382811691161415610532576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b61055c610cc4565b6001600160a01b031661056d610b0c565b6001600160a01b0316146105b1576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b63ffffffff81166105f3576040805162461bcd60e51b81526020600482015260076024820152664348435f49544960c81b604482015290519081900360640190fd5b6067805463ffffffff8316600160801b810263ffffffff60801b199092169190911790915560408051918252517f0bd5e02c0d6277fdf7c7c72fae10042c4c832b26ea94623a04b79a50a35a217e9181900360200190a150565b60675460ff1690565b606754600160801b900463ffffffff1690565b606754610100900462ffffff1690565b6034546001600160a01b031690565b606754600160681b900462ffffff1690565b6106a2610cc4565b6001600160a01b03166106b3610b0c565b6001600160a01b0316146106f7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b031690600080516020610f46833981519152908390a3603380546001600160a01b0319908116909155603480549091169055565b610743610cc4565b6001600160a01b0316610754610b0c565b6001600160a01b031614610798576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6067805460ff831660ff19909116811790915560408051918252517fa7b4760b38e2a630f3073fcd5119972cbf81bd50e3761f86534a69661caf81109181900360200190a150565b606754600160501b900462ffffff1690565b80620f42408162ffffff161115610839576040805162461bcd60e51b81526020600482015260066024820152654348435f524f60d01b604482015290519081900360640190fd5b610841610cc4565b6001600160a01b0316610852610b0c565b6001600160a01b031614610896576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60008262ffffff16116108db576040805162461bcd60e51b815260206004820152600860248201526721a421afa4a821a960c11b604482015290519081900360640190fd5b6067805462ffffff8416600160501b810262ffffff60501b199092169190911790915560408051918252517f4757c16c46bedf5171cc1e2c53c99225da1bff2c0a5cb51b0f852909dbae1ebd9181900360200190a15050565b600054610100900460ff168061094d575061094d610cc8565b8061095b575060005460ff16155b6109965760405162461bcd60e51b815260040180806020018281038252602e815260200180610f18602e913960400191505060405180910390fd5b600054610100900460ff161580156109c1576000805460ff1961ff0019909116610100171660011790555b6109c9610cd9565b6067805460ff60ff199091161763ffffff001916630186a0001766ffffff00000000191665f424000000001762ffffff60381b1916610c35603b1b1762ffffff60501b1916613d0960541b1762ffffff60681b1916610c35606d1b1763ffffffff60801b191660e160821b17905560006068558015610a4e576000805461ff00191690555b50565b60685490565b610a5f610cc4565b6001600160a01b0316610a70610b0c565b6001600160a01b031614610ab4576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6067805462ffffff8316600160681b810262ffffff60681b199092169190911790915560408051918252517f0bcb070f78e3c4fec82334dff77e5369a878886b8be26c9f98daa534a8cf67789181900360200190a150565b6033546001600160a01b031690565b606754640100000000900462ffffff1690565b6034546001600160a01b0316610b73576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610b7b610cc4565b6034546001600160a01b03908116911614610bc6576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b039283169290911690600080516020610f4683398151915290600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b610c22610cc4565b6001600160a01b0316610c33610b0c565b6001600160a01b031614610c77576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60688190556040805182815290517fc6564be86420b541b7946583fdb54d45535a59a04e3b3525b536ccc547b4cd8f9181900360200190a150565b606754600160381b900462ffffff1690565b3390565b6000610cd330610dc8565b15905090565b600054610100900460ff1680610cf25750610cf2610cc8565b80610d00575060005460ff16155b610d3b5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f18602e913960400191505060405180910390fd5b600054610100900460ff16158015610d66576000805460ff1961ff0019909116610100171660011790555b610d6e610dce565b6000610d78610cc4565b603380546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020610f46833981519152908290a3508015610a4e576000805461ff001916905550565b3b151590565b600054610100900460ff1680610de75750610de7610cc8565b80610df5575060005460ff16155b610e305760405162461bcd60e51b815260040180806020018281038252602e815260200180610f18602e913960400191505060405180910390fd5b600054610100900460ff16158015610e5b576000805460ff1961ff0019909116610100171660011790555b610e63610e77565b8015610a4e576000805461ff001916905550565b600054610100900460ff1680610e905750610e90610cc8565b80610e9e575060005460ff16155b610ed95760405162461bcd60e51b815260040180806020018281038252602e815260200180610f18602e913960400191505060405180910390fd5b600054610100900460ff16158015610e63576000805460ff1961ff0019909116610100171660011790558015610a4e576000805461ff00191690555056fe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220a68b99ff504a2dc6e895d8094f9da9901d91a7ef06836ecda54d82f9227b119664736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}