{
  "_format": "hh-sol-artifact-1",
  "contractName": "Faucet",
  "sourceName": "contracts/mocks/testnet-helpers/Faucet.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "permissioned",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "maxMinAmount",
          "type": "uint256"
        }
      ],
      "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": "getMaximumMintAmount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "asset",
          "type": "address"
        }
      ],
      "name": "isMintable",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isPermissioned",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "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": "uint256",
          "name": "newMaxMintAmount",
          "type": "uint256"
        }
      ],
      "name": "setMaximumMintAmount",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "asset",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "active",
          "type": "bool"
        }
      ],
      "name": "setMintable",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bool",
          "name": "permissioned",
          "type": "bool"
        }
      ],
      "name": "setPermissioned",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "childContracts",
          "type": "address[]"
        },
        {
          "internalType": "bool",
          "name": "state",
          "type": "bool"
        }
      ],
      "name": "setProtectedOfChild",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "childContracts",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnershipOfChild",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040523480156200001157600080fd5b50604051620012d5380380620012d58339810160408190526200003491620001b0565b600080546001600160a01b03191633908117825560405190918291600080516020620012b5833981519152908290a3506001600160a01b0383166200007857600080fd5b62000083836200009f565b6003805460ff1916921515929092179091556001555062000207565b6000546001600160a01b03163314620000ff5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b038116620001665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620000f6565b600080546040516001600160a01b0380851693921691600080516020620012b583398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080600060608486031215620001c657600080fd5b83516001600160a01b0381168114620001de57600080fd5b60208501519093508015158114620001f557600080fd5b80925050604084015190509250925092565b61109e80620002176000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063c6c3bbe611610081578063e2a4157c1161005b578063e2a4157c146101cf578063f2fde38b146101da578063f7eb06c4146101ed57600080fd5b8063c6c3bbe614610193578063ca51a903146101b4578063dd26b1d3146101c757600080fd5b8063715018a6116100b2578063715018a6146101505780638da5cb5b146101585780639420d4761461018057600080fd5b80631a678cd3146100d9578063222b15fb146100ee578063506f26cc1461013d575b600080fd5b6100ec6100e7366004610c38565b610200565b005b6101286100fc366004610c85565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460ff161590565b60405190151581526020015b60405180910390f35b6100ec61014b366004610cec565b6102b7565b6100ec610406565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610134565b6100ec61018e366004610d40565b6104f6565b6101a66101a1366004610d59565b61057c565b604051908152602001610134565b6100ec6101c2366004610d95565b610858565b6001546101a6565b60035460ff16610128565b6100ec6101e8366004610c85565b6109a1565b6100ec6101fb366004610dec565b610b52565b60005473ffffffffffffffffffffffffffffffffffffffff163314610286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b60005b828110156104005783838281811061035557610355610e23565b905060200201602081019061036a9190610c85565b6040517ff2fde38b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152919091169063f2fde38b90602401600060405180830381600087803b1580156103d557600080fd5b505af11580156103e9573d6000803e3d6000fd5b5050505080806103f890610e81565b91505061033b565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b600155565b60035460009060ff161515600114156106105760005473ffffffffffffffffffffffffffffffffffffffff163314610610576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b73ffffffffffffffffffffffffffffffffffffffff841660009081526002602052604090205460ff16156106a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4572726f723a206e6f74206d696e7461626c6500000000000000000000000000604482015260640161027d565b8373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f9190610eba565b61071a90600a610fff565b600154610727919061100e565b8211156107b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4572726f723a204d696e74206c696d6974207472616e73616374696f6e20657860448201527f6365656465640000000000000000000000000000000000000000000000000000606482015260840161027d565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906340c10f19906044016020604051808303816000875af115801561082b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084f919061104b565b50909392505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b60005b82811015610400578383828181106108f6576108f6610e23565b905060200201602081019061090b9190610c85565b6040517f1c02bc31000000000000000000000000000000000000000000000000000000008152831515600482015273ffffffffffffffffffffffffffffffffffffffff9190911690631c02bc3190602401600060405180830381600087803b15801561097657600080fd5b505af115801561098a573d6000803e3d6000fd5b50505050808061099990610e81565b9150506108dc565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b73ffffffffffffffffffffffffffffffffffffffff8116610ac5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161027d565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bd3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115919091179055565b8015158114610c3557600080fd5b50565b600060208284031215610c4a57600080fd5b8135610c5581610c27565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c8057600080fd5b919050565b600060208284031215610c9757600080fd5b610c5582610c5c565b60008083601f840112610cb257600080fd5b50813567ffffffffffffffff811115610cca57600080fd5b6020830191508360208260051b8501011115610ce557600080fd5b9250929050565b600080600060408486031215610d0157600080fd5b833567ffffffffffffffff811115610d1857600080fd5b610d2486828701610ca0565b9094509250610d37905060208501610c5c565b90509250925092565b600060208284031215610d5257600080fd5b5035919050565b600080600060608486031215610d6e57600080fd5b610d7784610c5c565b9250610d8560208501610c5c565b9150604084013590509250925092565b600080600060408486031215610daa57600080fd5b833567ffffffffffffffff811115610dc157600080fd5b610dcd86828701610ca0565b9094509250506020840135610de181610c27565b809150509250925092565b60008060408385031215610dff57600080fd5b610e0883610c5c565b91506020830135610e1881610c27565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610eb357610eb3610e52565b5060010190565b600060208284031215610ecc57600080fd5b815160ff81168114610c5557600080fd5b600181815b80851115610f3657817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610f1c57610f1c610e52565b80851615610f2957918102915b93841c9390800290610ee2565b509250929050565b600082610f4d57506001610ff9565b81610f5a57506000610ff9565b8160018114610f705760028114610f7a57610f96565b6001915050610ff9565b60ff841115610f8b57610f8b610e52565b50506001821b610ff9565b5060208310610133831016604e8410600b8410161715610fb9575081810a610ff9565b610fc38383610edd565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610ff557610ff5610e52565b0290505b92915050565b6000610c5560ff841683610f3e565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561104657611046610e52565b500290565b60006020828403121561105d57600080fd5b8151610c5581610c2756fea264697066735822122042ee87c362c023968f528f743b4b754d43798bad978b093bcdae6aa3c0ecb33b64736f6c634300080a00338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063c6c3bbe611610081578063e2a4157c1161005b578063e2a4157c146101cf578063f2fde38b146101da578063f7eb06c4146101ed57600080fd5b8063c6c3bbe614610193578063ca51a903146101b4578063dd26b1d3146101c757600080fd5b8063715018a6116100b2578063715018a6146101505780638da5cb5b146101585780639420d4761461018057600080fd5b80631a678cd3146100d9578063222b15fb146100ee578063506f26cc1461013d575b600080fd5b6100ec6100e7366004610c38565b610200565b005b6101286100fc366004610c85565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460ff161590565b60405190151581526020015b60405180910390f35b6100ec61014b366004610cec565b6102b7565b6100ec610406565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610134565b6100ec61018e366004610d40565b6104f6565b6101a66101a1366004610d59565b61057c565b604051908152602001610134565b6100ec6101c2366004610d95565b610858565b6001546101a6565b60035460ff16610128565b6100ec6101e8366004610c85565b6109a1565b6100ec6101fb366004610dec565b610b52565b60005473ffffffffffffffffffffffffffffffffffffffff163314610286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b60005b828110156104005783838281811061035557610355610e23565b905060200201602081019061036a9190610c85565b6040517ff2fde38b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152919091169063f2fde38b90602401600060405180830381600087803b1580156103d557600080fd5b505af11580156103e9573d6000803e3d6000fd5b5050505080806103f890610e81565b91505061033b565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b600155565b60035460009060ff161515600114156106105760005473ffffffffffffffffffffffffffffffffffffffff163314610610576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b73ffffffffffffffffffffffffffffffffffffffff841660009081526002602052604090205460ff16156106a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4572726f723a206e6f74206d696e7461626c6500000000000000000000000000604482015260640161027d565b8373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f9190610eba565b61071a90600a610fff565b600154610727919061100e565b8211156107b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4572726f723a204d696e74206c696d6974207472616e73616374696f6e20657860448201527f6365656465640000000000000000000000000000000000000000000000000000606482015260840161027d565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906340c10f19906044016020604051808303816000875af115801561082b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084f919061104b565b50909392505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b60005b82811015610400578383828181106108f6576108f6610e23565b905060200201602081019061090b9190610c85565b6040517f1c02bc31000000000000000000000000000000000000000000000000000000008152831515600482015273ffffffffffffffffffffffffffffffffffffffff9190911690631c02bc3190602401600060405180830381600087803b15801561097657600080fd5b505af115801561098a573d6000803e3d6000fd5b50505050808061099990610e81565b9150506108dc565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b73ffffffffffffffffffffffffffffffffffffffff8116610ac5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161027d565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bd3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027d565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115919091179055565b8015158114610c3557600080fd5b50565b600060208284031215610c4a57600080fd5b8135610c5581610c27565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c8057600080fd5b919050565b600060208284031215610c9757600080fd5b610c5582610c5c565b60008083601f840112610cb257600080fd5b50813567ffffffffffffffff811115610cca57600080fd5b6020830191508360208260051b8501011115610ce557600080fd5b9250929050565b600080600060408486031215610d0157600080fd5b833567ffffffffffffffff811115610d1857600080fd5b610d2486828701610ca0565b9094509250610d37905060208501610c5c565b90509250925092565b600060208284031215610d5257600080fd5b5035919050565b600080600060608486031215610d6e57600080fd5b610d7784610c5c565b9250610d8560208501610c5c565b9150604084013590509250925092565b600080600060408486031215610daa57600080fd5b833567ffffffffffffffff811115610dc157600080fd5b610dcd86828701610ca0565b9094509250506020840135610de181610c27565b809150509250925092565b60008060408385031215610dff57600080fd5b610e0883610c5c565b91506020830135610e1881610c27565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610eb357610eb3610e52565b5060010190565b600060208284031215610ecc57600080fd5b815160ff81168114610c5557600080fd5b600181815b80851115610f3657817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610f1c57610f1c610e52565b80851615610f2957918102915b93841c9390800290610ee2565b509250929050565b600082610f4d57506001610ff9565b81610f5a57506000610ff9565b8160018114610f705760028114610f7a57610f96565b6001915050610ff9565b60ff841115610f8b57610f8b610e52565b50506001821b610ff9565b5060208310610133831016604e8410600b8410161715610fb9575081810a610ff9565b610fc38383610edd565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610ff557610ff5610e52565b0290505b92915050565b6000610c5560ff841683610f3e565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561104657611046610e52565b500290565b60006020828403121561105d57600080fd5b8151610c5581610c2756fea264697066735822122042ee87c362c023968f528f743b4b754d43798bad978b093bcdae6aa3c0ecb33b64736f6c634300080a0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
