{
  "_format": "hh-sol-artifact-1",
  "contractName": "MockL2ScrollMessenger",
  "sourceName": "contracts/test/MockL2ScrollMessanger.sol",
  "abi": [
    {
      "inputs": [],
      "name": "ErrorZeroAddress",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "messageHash",
          "type": "bytes32"
        }
      ],
      "name": "FailedRelayedMessage",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "messageHash",
          "type": "bytes32"
        }
      ],
      "name": "RelayedMessage",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "messageNonce",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "gasLimit",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "message",
          "type": "bytes"
        }
      ],
      "name": "SentMessage",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldMaxFailedExecutionTimes",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newMaxFailedExecutionTimes",
          "type": "uint256"
        }
      ],
      "name": "UpdateMaxFailedExecutionTimes",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "_xDomainMessageSender",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_nonce",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_message",
          "type": "bytes"
        }
      ],
      "name": "relayMessage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_message",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "_gasLimit",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "sendMessage",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_message",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "_gasLimit",
          "type": "uint256"
        }
      ],
      "name": "sendMessage",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "xDomainMessageSender",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052348015600f57600080fd5b506107d98061001f6000396000f3fe60806040526004361061004a5760003560e01c80635f7b15771461004f5780636e296e45146100645780638ef1332e1461009a5780639567b23e146100ba578063b2267a7b146100da575b600080fd5b61006261005d3660046104c0565b6100ed565b005b34801561007057600080fd5b506001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b3480156100a657600080fd5b506100626100b536600461054c565b610138565b3480156100c657600080fd5b5060015461007e906001600160a01b031681565b6100626100e836600461063a565b6101d5565b610130868686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525088925061021f915050565b505050505050565b600061014786868686866102ec565b805160209182012060008181529182905260409091205490915060ff16156101c85760405162461bcd60e51b815260206004820152602960248201527f4d6573736167652077617320616c7265616479207375636365737366756c6c7960448201526808195e1958dd5d195960ba1b60648201526084015b60405180910390fd5b610130868686858561033c565b610218858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525087925061021f915050565b5050505050565b8234146102635760405162461bcd60e51b81526020600482015260126024820152710dae6ce5cecc2d8eaca40dad2e6dac2e8c6d60731b60448201526064016101bf565b600254600061027533878785886102ec565b805190602001209050856001600160a01b0316336001600160a01b03167f104371f3b442861a2a7b82a070afbbaab748bb13757bf47769e170e37809ec1e878587896040516102c794939291906106ec565b60405180910390a3600280549060006102df8361071b565b9190505550505050505050565b60608585858585604051602401610307959493929190610742565b60408051601f198184030181529190526020810180516001600160e01b0316634778999760e11b179052905095945050505050565b600180546001600160a01b0319166001600160a01b03878116919091179091556040516000918616908590610372908690610787565b60006040518083038185875af1925050503d80600081146103af576040519150601f19603f3d011682016040523d82523d6000602084013e6103b4565b606091505b5050600180546001600160a01b03191690559050801561041357600082815260208190526040808220805460ff191660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a2610130565b60405162461bcd60e51b815260206004820152601960248201527f4661696c656420746f2065786563757465206d6573736167650000000000000060448201526064016101bf565b80356001600160a01b038116811461047257600080fd5b919050565b60008083601f84011261048957600080fd5b50813567ffffffffffffffff8111156104a157600080fd5b6020830191508360208285010111156104b957600080fd5b9250929050565b60008060008060008060a087890312156104d957600080fd5b6104e28761045b565b955060208701359450604087013567ffffffffffffffff81111561050557600080fd5b61051189828a01610477565b9095509350506060870135915061052a6080880161045b565b90509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a0868803121561056457600080fd5b61056d8661045b565b945061057b6020870161045b565b93506040860135925060608601359150608086013567ffffffffffffffff8111156105a557600080fd5b8601601f810188136105b657600080fd5b803567ffffffffffffffff8111156105d0576105d0610536565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156105ff576105ff610536565b6040528181528282016020018a101561061757600080fd5b816020840160208301376000602083830101528093505050509295509295909350565b60008060008060006080868803121561065257600080fd5b61065b8661045b565b945060208601359350604086013567ffffffffffffffff81111561067e57600080fd5b61068a88828901610477565b96999598509660600135949350505050565b60005b838110156106b757818101518382015260200161069f565b50506000910152565b600081518084526106d881602086016020860161069c565b601f01601f19169290920160200192915050565b84815283602082015282604082015260806060820152600061071160808301846106c0565b9695505050505050565b60006001820161073b57634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061077c908301846106c0565b979650505050505050565b6000825161079981846020870161069c565b919091019291505056fea26469706673582212204e48976216c0bde771734e8a5050fa09db9e3fe77dc84de75cfbe625ecd7c4ea64736f6c634300081b0033",
  "deployedBytecode": "0x60806040526004361061004a5760003560e01c80635f7b15771461004f5780636e296e45146100645780638ef1332e1461009a5780639567b23e146100ba578063b2267a7b146100da575b600080fd5b61006261005d3660046104c0565b6100ed565b005b34801561007057600080fd5b506001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b3480156100a657600080fd5b506100626100b536600461054c565b610138565b3480156100c657600080fd5b5060015461007e906001600160a01b031681565b6100626100e836600461063a565b6101d5565b610130868686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525088925061021f915050565b505050505050565b600061014786868686866102ec565b805160209182012060008181529182905260409091205490915060ff16156101c85760405162461bcd60e51b815260206004820152602960248201527f4d6573736167652077617320616c7265616479207375636365737366756c6c7960448201526808195e1958dd5d195960ba1b60648201526084015b60405180910390fd5b610130868686858561033c565b610218858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525087925061021f915050565b5050505050565b8234146102635760405162461bcd60e51b81526020600482015260126024820152710dae6ce5cecc2d8eaca40dad2e6dac2e8c6d60731b60448201526064016101bf565b600254600061027533878785886102ec565b805190602001209050856001600160a01b0316336001600160a01b03167f104371f3b442861a2a7b82a070afbbaab748bb13757bf47769e170e37809ec1e878587896040516102c794939291906106ec565b60405180910390a3600280549060006102df8361071b565b9190505550505050505050565b60608585858585604051602401610307959493929190610742565b60408051601f198184030181529190526020810180516001600160e01b0316634778999760e11b179052905095945050505050565b600180546001600160a01b0319166001600160a01b03878116919091179091556040516000918616908590610372908690610787565b60006040518083038185875af1925050503d80600081146103af576040519150601f19603f3d011682016040523d82523d6000602084013e6103b4565b606091505b5050600180546001600160a01b03191690559050801561041357600082815260208190526040808220805460ff191660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a2610130565b60405162461bcd60e51b815260206004820152601960248201527f4661696c656420746f2065786563757465206d6573736167650000000000000060448201526064016101bf565b80356001600160a01b038116811461047257600080fd5b919050565b60008083601f84011261048957600080fd5b50813567ffffffffffffffff8111156104a157600080fd5b6020830191508360208285010111156104b957600080fd5b9250929050565b60008060008060008060a087890312156104d957600080fd5b6104e28761045b565b955060208701359450604087013567ffffffffffffffff81111561050557600080fd5b61051189828a01610477565b9095509350506060870135915061052a6080880161045b565b90509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a0868803121561056457600080fd5b61056d8661045b565b945061057b6020870161045b565b93506040860135925060608601359150608086013567ffffffffffffffff8111156105a557600080fd5b8601601f810188136105b657600080fd5b803567ffffffffffffffff8111156105d0576105d0610536565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156105ff576105ff610536565b6040528181528282016020018a101561061757600080fd5b816020840160208301376000602083830101528093505050509295509295909350565b60008060008060006080868803121561065257600080fd5b61065b8661045b565b945060208601359350604086013567ffffffffffffffff81111561067e57600080fd5b61068a88828901610477565b96999598509660600135949350505050565b60005b838110156106b757818101518382015260200161069f565b50506000910152565b600081518084526106d881602086016020860161069c565b601f01601f19169290920160200192915050565b84815283602082015282604082015260806060820152600061071160808301846106c0565b9695505050505050565b60006001820161073b57634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061077c908301846106c0565b979650505050505050565b6000825161079981846020870161069c565b919091019291505056fea26469706673582212204e48976216c0bde771734e8a5050fa09db9e3fe77dc84de75cfbe625ecd7c4ea64736f6c634300081b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
