{
  "_format": "hh-sol-artifact-1",
  "contractName": "MetaTxGateway",
  "sourceName": "contracts/MetaTxGateway.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "version",
          "type": "string"
        },
        {
          "internalType": "uint256",
          "name": "chainIdL1",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address payable",
          "name": "relayerAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "functionSignature",
          "type": "bytes"
        }
      ],
      "name": "MetaTransactionExecuted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "addToWhitelists",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "candidate",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "functionSignature",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "sigR",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "sigS",
          "type": "bytes32"
        },
        {
          "internalType": "uint8",
          "name": "sigV",
          "type": "uint8"
        }
      ],
      "name": "executeMetaTransaction",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "getNonce",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "nonce",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "isInWhitelists",
      "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": "addr",
          "type": "address"
        }
      ],
      "name": "removeFromWhitelists",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "setOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "updateOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040523480156200001157600080fd5b506040516200125a3803806200125a833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405260200151915060009050620001b0620002f6565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350604051806080016040528060528152602001620012086052913980516020918201208451858301208451858401206040805180860194909452838101929092526060830152608082018490523060a0808401919091528151808403909101815260c083018083528151919094012060345561014082019052605280835290620012089060e001398051906020012083805190602001208380519060200120620002a8620002fa60201b60201c565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c09092019052805191012060355550620002fe915050565b3390565b4690565b610efa806200030e6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806384f272aa1161006657806384f272aa146101695780638da5cb5b1461018f578063976af64d14610197578063a9cae653146101bd578063bc5920ba146102ca5761009e565b80630773d9eb146100a357806313af4035146100dd5780632d0335ab146101055780636c8381f81461013d578063715018a614610161575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166102d2565b604080519115158252519081900360200190f35b610103600480360360208110156100f357600080fd5b50356001600160a01b03166102f4565b005b61012b6004803603602081101561011b57600080fd5b50356001600160a01b031661044f565b60408051918252519081900360200190f35b61014561046a565b604080516001600160a01b039092168252519081900360200190f35b610103610479565b6101036004803603602081101561017f57600080fd5b50356001600160a01b031661052c565b6101456105fa565b610103600480360360208110156101ad57600080fd5b50356001600160a01b0316610609565b610255600480360360c08110156101d357600080fd5b6001600160a01b03823581169260208101359091169181019060608101604082013564010000000081111561020757600080fd5b82018360208201111561021957600080fd5b8035906020019184600183028401116401000000008311171561023b57600080fd5b91935091508035906020810135906040013560ff16610687565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028f578181015183820152602001610277565b50505050905090810190601f1680156102bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610103610a0c565b6001600160a01b03811660009081526037602052604090205460ff165b919050565b6102fc610b08565b6001600160a01b031661030d6105fa565b6001600160a01b031614610351576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b038116610395576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6000546001600160a01b03828116911614156103e1576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6001546001600160a01b038281169116141561042d576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526036602052604090205490565b6001546001600160a01b031690565b610481610b08565b6001600160a01b03166104926105fa565b6001600160a01b0316146104d6576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319908116909155600180549091169055565b610534610b08565b6001600160a01b03166105456105fa565b6001600160a01b031614610589576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61059b816001600160a01b0316610b0c565b6105d6576040805162461bcd60e51b81526020600482015260076024820152664d54475f414e4360c81b604482015290519081900360640190fd5b6001600160a01b03166000908152603760205260409020805460ff19166001179055565b6000546001600160a01b031690565b610611610b08565b6001600160a01b03166106226105fa565b6001600160a01b031614610666576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03166000908152603760205260409020805460ff19169055565b6060610692876102d2565b6106d2576040805162461bcd60e51b815260206004820152600c60248201526b085dda1a5d195b1a5cdd195960a21b604482015290519081900360640190fd5b604080516080810182526001600160a01b03808b1660008181526036602090815285822054855280850192909252918b16838501528351601f8a01829004820281018201909452888452909260608301918a908a90819084018382808284376000920191909152505050915250603454909150610754908a9083888888610b12565b8061076a575061076a8960355483888888610b12565b6107a55760405162461bcd60e51b8152600401808060200182810382526029815260200180610e9c6029913960400191505060405180910390fd5b6001600160a01b0389166000908152603660205260409020546107c9906001610bfe565b603660008b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600080896001600160a01b031689898d6040516020018084848082843780830192505050826001600160a01b031660601b815260140193505050506040516020818303038152906040526040518082805190602001908083835b6020831061086b5780518252601f19909201916020918201910161084c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108cd576040519150601f19603f3d011682016040523d82523d6000602084013e6108d2565b606091505b5091509150816108e182610c5f565b9061096a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561092f578181015183820152602001610917565b50505050905090810190601f16801561095c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b507f5b557a9dd19c959c831e99f62df0ada0a8dedff9754a57596e351545da0832b48b8b338c8c60405180866001600160a01b03168152602001856001600160a01b03168152602001846001600160a01b03168152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039850909650505050505050a19a9950505050505050505050565b6001546001600160a01b0316610a51576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610a59610b08565b6001546001600160a01b03908116911614610aa4576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b3390565b3b151590565b6000806001610b2988610b2489610d7a565b610e12565b84878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610b80573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610bdc576040805162461bcd60e51b8152602060048201526011602482015270696e76616c6964207369676e617475726560781b604482015290519081900360640190fd5b876001600160a01b0316816001600160a01b0316149150509695505050505050565b600082820183811015610c58576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b80516060906044811015610c9b57505060408051808201909152601081526f2ab732bc3832b1ba32b21032b93937b960811b60208201526102ef565b6004830180516003198301808352919490916024909101906020811015610cc157600080fd5b8101908080516040519392919084640100000000821115610ce157600080fd5b908301906020820185811115610cf657600080fd5b8251640100000000811182820188101715610d1057600080fd5b82525081516020918201929091019080838360005b83811015610d3d578181015183820152602001610d25565b50505050905090810190601f168015610d6a5780820380516001836020036101000a031916815260200191505b5060405250505093525090919050565b60006040518060800160405280604e8152602001610e4e604e91398051906020012082600001518360200151846040015185606001518051906020012060405160200180868152602001858152602001846001600160a01b03168152602001836001600160a01b0316815260200182815260200195505050505050604051602081830303815290604052805190602001209050919050565b6040805161190160f01b602080830191909152602282019490945260428082019390935281518082039093018352606201905280519101209056fe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c6164647265737320746f2c62797465732066756e6374696f6e5369676e6174757265294d657461207478205369676e657220616e64207369676e617475726520646f206e6f74206d61746368a2646970667358221220d51ca487fdc59e16fc12d9d424d172f019766d44992d3ce9b4a72a81c641716364736f6c63430007060033454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806384f272aa1161006657806384f272aa146101695780638da5cb5b1461018f578063976af64d14610197578063a9cae653146101bd578063bc5920ba146102ca5761009e565b80630773d9eb146100a357806313af4035146100dd5780632d0335ab146101055780636c8381f81461013d578063715018a614610161575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166102d2565b604080519115158252519081900360200190f35b610103600480360360208110156100f357600080fd5b50356001600160a01b03166102f4565b005b61012b6004803603602081101561011b57600080fd5b50356001600160a01b031661044f565b60408051918252519081900360200190f35b61014561046a565b604080516001600160a01b039092168252519081900360200190f35b610103610479565b6101036004803603602081101561017f57600080fd5b50356001600160a01b031661052c565b6101456105fa565b610103600480360360208110156101ad57600080fd5b50356001600160a01b0316610609565b610255600480360360c08110156101d357600080fd5b6001600160a01b03823581169260208101359091169181019060608101604082013564010000000081111561020757600080fd5b82018360208201111561021957600080fd5b8035906020019184600183028401116401000000008311171561023b57600080fd5b91935091508035906020810135906040013560ff16610687565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028f578181015183820152602001610277565b50505050905090810190601f1680156102bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610103610a0c565b6001600160a01b03811660009081526037602052604090205460ff165b919050565b6102fc610b08565b6001600160a01b031661030d6105fa565b6001600160a01b031614610351576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b038116610395576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6000546001600160a01b03828116911614156103e1576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6001546001600160a01b038281169116141561042d576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526036602052604090205490565b6001546001600160a01b031690565b610481610b08565b6001600160a01b03166104926105fa565b6001600160a01b0316146104d6576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319908116909155600180549091169055565b610534610b08565b6001600160a01b03166105456105fa565b6001600160a01b031614610589576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61059b816001600160a01b0316610b0c565b6105d6576040805162461bcd60e51b81526020600482015260076024820152664d54475f414e4360c81b604482015290519081900360640190fd5b6001600160a01b03166000908152603760205260409020805460ff19166001179055565b6000546001600160a01b031690565b610611610b08565b6001600160a01b03166106226105fa565b6001600160a01b031614610666576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03166000908152603760205260409020805460ff19169055565b6060610692876102d2565b6106d2576040805162461bcd60e51b815260206004820152600c60248201526b085dda1a5d195b1a5cdd195960a21b604482015290519081900360640190fd5b604080516080810182526001600160a01b03808b1660008181526036602090815285822054855280850192909252918b16838501528351601f8a01829004820281018201909452888452909260608301918a908a90819084018382808284376000920191909152505050915250603454909150610754908a9083888888610b12565b8061076a575061076a8960355483888888610b12565b6107a55760405162461bcd60e51b8152600401808060200182810382526029815260200180610e9c6029913960400191505060405180910390fd5b6001600160a01b0389166000908152603660205260409020546107c9906001610bfe565b603660008b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600080896001600160a01b031689898d6040516020018084848082843780830192505050826001600160a01b031660601b815260140193505050506040516020818303038152906040526040518082805190602001908083835b6020831061086b5780518252601f19909201916020918201910161084c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108cd576040519150601f19603f3d011682016040523d82523d6000602084013e6108d2565b606091505b5091509150816108e182610c5f565b9061096a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561092f578181015183820152602001610917565b50505050905090810190601f16801561095c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b507f5b557a9dd19c959c831e99f62df0ada0a8dedff9754a57596e351545da0832b48b8b338c8c60405180866001600160a01b03168152602001856001600160a01b03168152602001846001600160a01b03168152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039850909650505050505050a19a9950505050505050505050565b6001546001600160a01b0316610a51576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610a59610b08565b6001546001600160a01b03908116911614610aa4576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b3390565b3b151590565b6000806001610b2988610b2489610d7a565b610e12565b84878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610b80573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610bdc576040805162461bcd60e51b8152602060048201526011602482015270696e76616c6964207369676e617475726560781b604482015290519081900360640190fd5b876001600160a01b0316816001600160a01b0316149150509695505050505050565b600082820183811015610c58576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b80516060906044811015610c9b57505060408051808201909152601081526f2ab732bc3832b1ba32b21032b93937b960811b60208201526102ef565b6004830180516003198301808352919490916024909101906020811015610cc157600080fd5b8101908080516040519392919084640100000000821115610ce157600080fd5b908301906020820185811115610cf657600080fd5b8251640100000000811182820188101715610d1057600080fd5b82525081516020918201929091019080838360005b83811015610d3d578181015183820152602001610d25565b50505050905090810190601f168015610d6a5780820380516001836020036101000a031916815260200191505b5060405250505093525090919050565b60006040518060800160405280604e8152602001610e4e604e91398051906020012082600001518360200151846040015185606001518051906020012060405160200180868152602001858152602001846001600160a01b03168152602001836001600160a01b0316815260200182815260200195505050505050604051602081830303815290604052805190602001209050919050565b6040805161190160f01b602080830191909152602282019490945260428082019390935281518082039093018352606201905280519101209056fe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c6164647265737320746f2c62797465732066756e6374696f6e5369676e6174757265294d657461207478205369676e657220616e64207369676e617475726520646f206e6f74206d61746368a2646970667358221220d51ca487fdc59e16fc12d9d424d172f019766d44992d3ce9b4a72a81c641716364736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
