{
  "_format": "hh-sol-artifact-1",
  "contractName": "ComptrollerMock",
  "sourceName": "contracts/mocks/external/ComptrollerMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_comp",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_compAmount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_collateralCToken",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_setToken",
          "type": "address"
        }
      ],
      "name": "addSetTokenAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "allMarkets",
      "outputs": [
        {
          "internalType": "contract ICErc20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_holder",
          "type": "address"
        }
      ],
      "name": "claimComp",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "comp",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "compAccrued",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "compAmount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_cTokens",
          "type": "address[]"
        }
      ],
      "name": "enterMarkets",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAllMarkets",
      "outputs": [
        {
          "internalType": "contract ICErc20[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCompAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_holder",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_compAmount",
          "type": "uint256"
        }
      ],
      "name": "setCompAccrued",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_compAmount",
          "type": "uint256"
        }
      ],
      "name": "setCompAmount",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "setToken",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506040516105fb3803806105fb8339818101604052606081101561003357600080fd5b5080516020820151604090920151600080546001600160a01b039384166001600160a01b031991821617825560019485556003805495860181559091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9093018054929091169190921617905561054b806100b06000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80639d1b5a0a116100715780639d1b5a0a14610185578063b0772d0b1461018d578063c2998238146101e5578063cc7ebdc414610288578063e9af0292146102ae578063ed9cf58c146102d4576100b4565b8063109d0af8146100b95780632bcb08c5146100dd57806352d84d1e146100fc5780636ca208491461011957806375e9141d146101335780639c52fea714610159575b600080fd5b6100c16102dc565b604080516001600160a01b039092168252519081900360200190f35b6100fa600480360360208110156100f357600080fd5b50356102eb565b005b6100c16004803603602081101561011257600080fd5b50356102f0565b610121610317565b60408051918252519081900360200190f35b6100fa6004803603602081101561014957600080fd5b50356001600160a01b031661031d565b6100fa6004803603604081101561016f57600080fd5b506001600160a01b03813516906020013561033f565b6100c161035b565b61019561036a565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101d15781810151838201526020016101b9565b505050509050019250505060405180910390f35b610195600480360360208110156101fb57600080fd5b81019060208101813564010000000081111561021657600080fd5b82018360208201111561022857600080fd5b8035906020019184602083028401116401000000008311171561024a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103cc945050505050565b6101216004803603602081101561029e57600080fd5b50356001600160a01b0316610417565b6100fa600480360360208110156102c457600080fd5b50356001600160a01b0316610429565b6100c1610506565b6000546001600160a01b031681565b600155565b600381815481106102fd57fe5b6000918252602090912001546001600160a01b0316905081565b60015481565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03909116600090815260046020526040902055565b6000546001600160a01b031690565b606060038054806020026020016040519081016040528092919081815260200182805480156103c257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a4575b5050505050905090565b6060815167ffffffffffffffff811180156103e657600080fd5b50604051908082528060200260200182016040528015610410578160200160208202803683370190505b5092915050565b60046020526000908152604090205481565b600080546001600160a01b0383811680845260046020818152604080872054815163a9059cbb60e01b81529384019490945260248301939093529151929093169363a9059cbb9360448082019492918390030190829087803b15801561048e57600080fd5b505af11580156104a2573d6000803e3d6000fd5b505050506040513d60208110156104b857600080fd5b5051610503576040805162461bcd60e51b8152602060048201526015602482015274115490cc8c081d1c985b9cd9995c8819985a5b1959605a1b604482015290519081900360640190fd5b50565b6002546001600160a01b03168156fea26469706673582212204dbfb16cee435ffb07596a87c1bb19bd5904e5023f3201f82754407af86ecdee64736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80639d1b5a0a116100715780639d1b5a0a14610185578063b0772d0b1461018d578063c2998238146101e5578063cc7ebdc414610288578063e9af0292146102ae578063ed9cf58c146102d4576100b4565b8063109d0af8146100b95780632bcb08c5146100dd57806352d84d1e146100fc5780636ca208491461011957806375e9141d146101335780639c52fea714610159575b600080fd5b6100c16102dc565b604080516001600160a01b039092168252519081900360200190f35b6100fa600480360360208110156100f357600080fd5b50356102eb565b005b6100c16004803603602081101561011257600080fd5b50356102f0565b610121610317565b60408051918252519081900360200190f35b6100fa6004803603602081101561014957600080fd5b50356001600160a01b031661031d565b6100fa6004803603604081101561016f57600080fd5b506001600160a01b03813516906020013561033f565b6100c161035b565b61019561036a565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101d15781810151838201526020016101b9565b505050509050019250505060405180910390f35b610195600480360360208110156101fb57600080fd5b81019060208101813564010000000081111561021657600080fd5b82018360208201111561022857600080fd5b8035906020019184602083028401116401000000008311171561024a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103cc945050505050565b6101216004803603602081101561029e57600080fd5b50356001600160a01b0316610417565b6100fa600480360360208110156102c457600080fd5b50356001600160a01b0316610429565b6100c1610506565b6000546001600160a01b031681565b600155565b600381815481106102fd57fe5b6000918252602090912001546001600160a01b0316905081565b60015481565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03909116600090815260046020526040902055565b6000546001600160a01b031690565b606060038054806020026020016040519081016040528092919081815260200182805480156103c257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a4575b5050505050905090565b6060815167ffffffffffffffff811180156103e657600080fd5b50604051908082528060200260200182016040528015610410578160200160208202803683370190505b5092915050565b60046020526000908152604090205481565b600080546001600160a01b0383811680845260046020818152604080872054815163a9059cbb60e01b81529384019490945260248301939093529151929093169363a9059cbb9360448082019492918390030190829087803b15801561048e57600080fd5b505af11580156104a2573d6000803e3d6000fd5b505050506040513d60208110156104b857600080fd5b5051610503576040805162461bcd60e51b8152602060048201526015602482015274115490cc8c081d1c985b9cd9995c8819985a5b1959605a1b604482015290519081900360640190fd5b50565b6002546001600160a01b03168156fea26469706673582212204dbfb16cee435ffb07596a87c1bb19bd5904e5023f3201f82754407af86ecdee64736f6c634300060a0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
