{
  "_format": "hh-sol-artifact-1",
  "contractName": "MockOvmL2CrossDomainMessenger",
  "sourceName": "contracts/mocks/MockOvmL2CrossDomainMessenger.sol",
  "abi": [
    {
      "inputs": [],
      "name": "UnauthorizedEthereumExecutor",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "msgHash",
          "type": "bytes32"
        }
      ],
      "name": "FailedRelayedMessage",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "msgHash",
          "type": "bytes32"
        }
      ],
      "name": "RelayedMessage",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "message",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "messageNonce",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "gasLimit",
          "type": "uint256"
        }
      ],
      "name": "SentMessage",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_xDomainMessageSender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_target",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_message",
          "type": "bytes"
        },
        {
          "internalType": "uint32",
          "name": "_gasLimit",
          "type": "uint32"
        }
      ],
      "name": "redirect",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_target",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_message",
          "type": "bytes"
        },
        {
          "internalType": "uint32",
          "name": "_gasLimit",
          "type": "uint32"
        }
      ],
      "name": "sendMessage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_l1Messenger",
          "type": "address"
        }
      ],
      "name": "setL1Messenger",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_sender",
          "type": "address"
        }
      ],
      "name": "setSender",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "xDomainMessageSender",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610417806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633dbb202b1461005c5780635a860897146100715780636e296e45146100a1578063c36c8906146100c0578063ced32b0c146100d3575b600080fd5b61006f61006a366004610284565b610103565b005b61006f61007f3660046102e9565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600054604080516001600160a01b039092168252519081900360200190f35b61006f6100ce36600461030b565b610171565b61006f6100e13660046102e9565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600154604051637eb9ec4960e01b81526001600160a01b0390911690637eb9ec4990610139908790879087908790600401610381565b600060405180830381600087803b15801561015357600080fd5b505af1158015610167573d6000803e3d6000fd5b5050505050505050565b600080546001600160a01b0319166001600160a01b03878116919091178255604051829187169063ffffffff8516906101ad90889088906103d1565b60006040518083038160008787f1925050503d80600081146101eb576040519150601f19603f3d011682016040523d82523d6000602084013e6101f0565b606091505b50915091508161020257805160208201fd5b50505050505050565b80356001600160a01b038116811461022257600080fd5b919050565b60008083601f84011261023957600080fd5b50813567ffffffffffffffff81111561025157600080fd5b60208301915083602082850101111561026957600080fd5b9250929050565b803563ffffffff8116811461022257600080fd5b6000806000806060858703121561029a57600080fd5b6102a38561020b565b9350602085013567ffffffffffffffff8111156102bf57600080fd5b6102cb87828801610227565b90945092506102de905060408601610270565b905092959194509250565b6000602082840312156102fb57600080fd5b6103048261020b565b9392505050565b60008060008060006080868803121561032357600080fd5b61032c8661020b565b945061033a6020870161020b565b9350604086013567ffffffffffffffff81111561035657600080fd5b61036288828901610227565b9094509250610375905060608701610270565b90509295509295909350565b6001600160a01b038516815260606020820181905281018390528284608083013760006080848301015260006080601f19601f860116830101905063ffffffff8316604083015295945050505050565b818382376000910190815291905056fea2646970667358221220a19d0f6e5f12cd80a8bd80cf8293d0462f3f58a8867c69dcb528958d4fc1747364736f6c634300080a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80633dbb202b1461005c5780635a860897146100715780636e296e45146100a1578063c36c8906146100c0578063ced32b0c146100d3575b600080fd5b61006f61006a366004610284565b610103565b005b61006f61007f3660046102e9565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600054604080516001600160a01b039092168252519081900360200190f35b61006f6100ce36600461030b565b610171565b61006f6100e13660046102e9565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600154604051637eb9ec4960e01b81526001600160a01b0390911690637eb9ec4990610139908790879087908790600401610381565b600060405180830381600087803b15801561015357600080fd5b505af1158015610167573d6000803e3d6000fd5b5050505050505050565b600080546001600160a01b0319166001600160a01b03878116919091178255604051829187169063ffffffff8516906101ad90889088906103d1565b60006040518083038160008787f1925050503d80600081146101eb576040519150601f19603f3d011682016040523d82523d6000602084013e6101f0565b606091505b50915091508161020257805160208201fd5b50505050505050565b80356001600160a01b038116811461022257600080fd5b919050565b60008083601f84011261023957600080fd5b50813567ffffffffffffffff81111561025157600080fd5b60208301915083602082850101111561026957600080fd5b9250929050565b803563ffffffff8116811461022257600080fd5b6000806000806060858703121561029a57600080fd5b6102a38561020b565b9350602085013567ffffffffffffffff8111156102bf57600080fd5b6102cb87828801610227565b90945092506102de905060408601610270565b905092959194509250565b6000602082840312156102fb57600080fd5b6103048261020b565b9392505050565b60008060008060006080868803121561032357600080fd5b61032c8661020b565b945061033a6020870161020b565b9350604086013567ffffffffffffffff81111561035657600080fd5b61036288828901610227565b9094509250610375905060608701610270565b90509295509295909350565b6001600160a01b038516815260606020820181905281018390528284608083013760006080848301015260006080601f19601f860116830101905063ffffffff8316604083015295945050505050565b818382376000910190815291905056fea2646970667358221220a19d0f6e5f12cd80a8bd80cf8293d0462f3f58a8867c69dcb528958d4fc1747364736f6c634300080a0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
