{
  "_format": "hh-sol-artifact-1",
  "contractName": "TokenEnabler",
  "sourceName": "contracts/product/TokenEnabler.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IController",
          "name": "_controller",
          "type": "address"
        },
        {
          "internalType": "address[]",
          "name": "_tokensToEnable",
          "type": "address[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "controller",
      "outputs": [
        {
          "internalType": "contract IController",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "enableTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getTokensToEnable",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "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": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "tokensToEnable",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b506040516107593803806107598339818101604052604081101561003357600080fd5b81516020830180516040519294929383019291908464010000000082111561005a57600080fd5b90830190602082018581111561006f57600080fd5b825186602082028301116401000000008211171561008c57600080fd5b82525081516020918201928201910280838360005b838110156100b95781810151838201526020016100a1565b5050505090500160405250505060006100d661014d60201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160601b0319606083901b166080528051610145906001906020840190610152565b5050506101db565b335b90565b8280548282559060005260206000209081019282156101a7579160200282015b828111156101a757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610172565b506101b39291506101b7565b5090565b61014f91905b808211156101b35780546001600160a01b03191681556001016101bd565b60805160601c61055c6101fd6000398061032052806104da525061055c6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063dc9a522a1161005b578063dc9a522a146100cd578063e7c42b9214610125578063f2fde38b1461012d578063f77c4791146101535761007d565b80635dc52ac614610082578063715018a6146100bb5780638da5cb5b146100c5575b600080fd5b61009f6004803603602081101561009857600080fd5b503561015b565b604080516001600160a01b039092168252519081900360200190f35b6100c3610182565b005b61009f610236565b6100d5610245565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101115781810151838201526020016100f9565b505050509050019250505060405180910390f35b6100c36102a7565b6100c36004803603602081101561014357600080fd5b50356001600160a01b03166103ce565b61009f6104d8565b6001818154811061016857fe5b6000918252602090912001546001600160a01b0316905081565b61018a6104fc565b6000546001600160a01b039081169116146101ec576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6060600180548060200260200160405190810160405280929190818152602001828054801561029d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161027f575b5050505050905090565b6102af6104fc565b6000546001600160a01b03908116911614610311576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b6001548110156103cb577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d580ded46001838154811061035a57fe5b6000918252602082200154604080516001600160e01b031960e086901b1681526001600160a01b039092166004830152516024808301939282900301818387803b1580156103a757600080fd5b505af11580156103bb573d6000803e3d6000fd5b5050600190920191506103149050565b50565b6103d66104fc565b6000546001600160a01b03908116911614610438576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661047d5760405162461bcd60e51b81526004018080602001828103825260268152602001806105016026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000000081565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220cb0e2515e034b08a85195da9c03359cd5aeb4b67ba394b2a610b2c0d6fc73a3764736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063dc9a522a1161005b578063dc9a522a146100cd578063e7c42b9214610125578063f2fde38b1461012d578063f77c4791146101535761007d565b80635dc52ac614610082578063715018a6146100bb5780638da5cb5b146100c5575b600080fd5b61009f6004803603602081101561009857600080fd5b503561015b565b604080516001600160a01b039092168252519081900360200190f35b6100c3610182565b005b61009f610236565b6100d5610245565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101115781810151838201526020016100f9565b505050509050019250505060405180910390f35b6100c36102a7565b6100c36004803603602081101561014357600080fd5b50356001600160a01b03166103ce565b61009f6104d8565b6001818154811061016857fe5b6000918252602090912001546001600160a01b0316905081565b61018a6104fc565b6000546001600160a01b039081169116146101ec576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6060600180548060200260200160405190810160405280929190818152602001828054801561029d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161027f575b5050505050905090565b6102af6104fc565b6000546001600160a01b03908116911614610311576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b6001548110156103cb577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d580ded46001838154811061035a57fe5b6000918252602082200154604080516001600160e01b031960e086901b1681526001600160a01b039092166004830152516024808301939282900301818387803b1580156103a757600080fd5b505af11580156103bb573d6000803e3d6000fd5b5050600190920191506103149050565b50565b6103d66104fc565b6000546001600160a01b03908116911614610438576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661047d5760405162461bcd60e51b81526004018080602001828103825260268152602001806105016026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000000081565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220cb0e2515e034b08a85195da9c03359cd5aeb4b67ba394b2a610b2c0d6fc73a3764736f6c634300060a0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
