{
  "_format": "hh-sol-artifact-1",
  "contractName": "OVM_DeployerWhitelist",
  "sourceName": "contracts/L2/predeploys/OVM_DeployerWhitelist.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldOwner",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnerChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldOwner",
          "type": "address"
        }
      ],
      "name": "WhitelistDisabled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "deployer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "whitelisted",
          "type": "bool"
        }
      ],
      "name": "WhitelistStatusChanged",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "allowAllXDomainSenders",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "allowArbitraryDeployment",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "enableAllXDomainSenders",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "enableArbitraryContractDeployment",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_deployer",
          "type": "address"
        }
      ],
      "name": "isDeployerAllowed",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_sender",
          "type": "address"
        }
      ],
      "name": "isXDomainSenderAllowed",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "setOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_deployer",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_isWhitelisted",
          "type": "bool"
        }
      ],
      "name": "setWhitelistedDeployer",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_sender",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_isWhitelisted",
          "type": "bool"
        }
      ],
      "name": "setWhitelistedXDomainSender",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "whitelist",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "xDomainWL",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610951806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063b1540a0111610081578063e426541d1161005b578063e426541d146101cb578063e7f1c10f146101de578063ec18f9a01461020157600080fd5b8063b1540a011461019d578063bdc7b54f146101b0578063d417f18c146101b857600080fd5b80637ec630dd116100b25780637ec630dd146101285780638da5cb5b146101355780639b19251a1461017a57600080fd5b806308fd6322146100d957806313af4035146100ee57806355423b2414610101575b600080fd5b6100ec6100e73660046108bd565b610209565b005b6100ec6100fc3660046108f9565b610330565b60035461011390610100900460ff1681565b60405190151581526020015b60405180910390f35b6003546101139060ff1681565b6001546101559073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011f565b6101136101883660046108f9565b60026020526000908152604090205460ff1681565b6101136101ab3660046108f9565b610472565b6100ec6104d2565b6100ec6101c63660046108bd565b6105d5565b6101136101d93660046108f9565b61070b565b6101136101ec3660046108f9565b60006020819052908152604090205460ff1681565b6100ec610772565b60015473ffffffffffffffffffffffffffffffffffffffff1633146102b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e00000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260026020908152604091829020805485151560ff1991821681179092556003805490911690558251938452908301527f8daaf060c3306c38e068a75c054bf96ecd85a3db1252712c4d93632744c42e0d91015b60405180910390a15050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146103d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e00000000000060648201526084016102ac565b6001546040805173ffffffffffffffffffffffffffffffffffffffff928316815291831660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015460009073ffffffffffffffffffffffffffffffffffffffff16158061049c575060035460ff165b806104cc575073ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff165b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e00000000000060648201526084016102ac565b60015460405173ffffffffffffffffffffffffffffffffffffffff90911681527fc0e106cf568e50698fdbde1eff56f5a5c966cc7958e37e276918e9e4ccdf8cd49060200160405180910390a16003805460ff19166001179055565b60015473ffffffffffffffffffffffffffffffffffffffff16331461067c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e00000000000060648201526084016102ac565b73ffffffffffffffffffffffffffffffffffffffff821660008181526020818152604091829020805460ff1916851515908117909155600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690558251938452908301527f8daaf060c3306c38e068a75c054bf96ecd85a3db1252712c4d93632744c42e0d9101610324565b60015460009073ffffffffffffffffffffffffffffffffffffffff161580610740575060035460ff6101009091041615156001145b806104cc57505073ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205460ff1690565b60015473ffffffffffffffffffffffffffffffffffffffff163314610819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e00000000000060648201526084016102ac565b60015460405173ffffffffffffffffffffffffffffffffffffffff90911681527fc0e106cf568e50698fdbde1eff56f5a5c966cc7958e37e276918e9e4ccdf8cd49060200160405180910390a1600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b803573ffffffffffffffffffffffffffffffffffffffff811681146108b857600080fd5b919050565b600080604083850312156108d057600080fd5b6108d983610894565b9150602083013580151581146108ee57600080fd5b809150509250929050565b60006020828403121561090b57600080fd5b61091482610894565b939250505056fea2646970667358221220e08463cbb9b9d9f5578d93ac296af02094e06517ed689fb4043c5a70aabe1e3e64736f6c634300080f0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063b1540a0111610081578063e426541d1161005b578063e426541d146101cb578063e7f1c10f146101de578063ec18f9a01461020157600080fd5b8063b1540a011461019d578063bdc7b54f146101b0578063d417f18c146101b857600080fd5b80637ec630dd116100b25780637ec630dd146101285780638da5cb5b146101355780639b19251a1461017a57600080fd5b806308fd6322146100d957806313af4035146100ee57806355423b2414610101575b600080fd5b6100ec6100e73660046108bd565b610209565b005b6100ec6100fc3660046108f9565b610330565b60035461011390610100900460ff1681565b60405190151581526020015b60405180910390f35b6003546101139060ff1681565b6001546101559073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011f565b6101136101883660046108f9565b60026020526000908152604090205460ff1681565b6101136101ab3660046108f9565b610472565b6100ec6104d2565b6100ec6101c63660046108bd565b6105d5565b6101136101d93660046108f9565b61070b565b6101136101ec3660046108f9565b60006020819052908152604090205460ff1681565b6100ec610772565b60015473ffffffffffffffffffffffffffffffffffffffff1633146102b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e00000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260026020908152604091829020805485151560ff1991821681179092556003805490911690558251938452908301527f8daaf060c3306c38e068a75c054bf96ecd85a3db1252712c4d93632744c42e0d91015b60405180910390a15050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146103d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e00000000000060648201526084016102ac565b6001546040805173ffffffffffffffffffffffffffffffffffffffff928316815291831660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015460009073ffffffffffffffffffffffffffffffffffffffff16158061049c575060035460ff165b806104cc575073ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff165b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e00000000000060648201526084016102ac565b60015460405173ffffffffffffffffffffffffffffffffffffffff90911681527fc0e106cf568e50698fdbde1eff56f5a5c966cc7958e37e276918e9e4ccdf8cd49060200160405180910390a16003805460ff19166001179055565b60015473ffffffffffffffffffffffffffffffffffffffff16331461067c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e00000000000060648201526084016102ac565b73ffffffffffffffffffffffffffffffffffffffff821660008181526020818152604091829020805460ff1916851515908117909155600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690558251938452908301527f8daaf060c3306c38e068a75c054bf96ecd85a3db1252712c4d93632744c42e0d9101610324565b60015460009073ffffffffffffffffffffffffffffffffffffffff161580610740575060035460ff6101009091041615156001145b806104cc57505073ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205460ff1690565b60015473ffffffffffffffffffffffffffffffffffffffff163314610819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201527f6865206f776e6572206f66207468697320636f6e74726163742e00000000000060648201526084016102ac565b60015460405173ffffffffffffffffffffffffffffffffffffffff90911681527fc0e106cf568e50698fdbde1eff56f5a5c966cc7958e37e276918e9e4ccdf8cd49060200160405180910390a1600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b803573ffffffffffffffffffffffffffffffffffffffff811681146108b857600080fd5b919050565b600080604083850312156108d057600080fd5b6108d983610894565b9150602083013580151581146108ee57600080fd5b809150509250929050565b60006020828403121561090b57600080fd5b61091482610894565b939250505056fea2646970667358221220e08463cbb9b9d9f5578d93ac296af02094e06517ed689fb4043c5a70aabe1e3e64736f6c634300080f0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
