{
  "_format": "hh-sol-artifact-1",
  "contractName": "Penalizer",
  "sourceName": "contracts/Penalizer.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "unsignedTx1",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "signature1",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "unsignedTx2",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "signature2",
          "type": "bytes"
        },
        {
          "internalType": "contract IRelayHub",
          "name": "hub",
          "type": "address"
        }
      ],
      "name": "penalizeRepeatedNonce",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "penalizedTransactions",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "versionPenalizer",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60e06040526025608081815290620011c660a03980516100279160009160209091019061003a565b5034801561003457600080fd5b506100cd565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061007b57805160ff19168380011785556100a8565b828001600101855582156100a8579182015b828111156100a857825182559160200191906001019061008d565b506100b49291506100b8565b5090565b5b808211156100b457600081556001016100b9565b6110e980620000dd6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806381f5bd7114610046578063a03136571461006f578063f913fe3e14610084575b600080fd5b610059610054366004610bec565b610099565b6040516100669190610d57565b60405180910390f35b6100776100ae565b6040516100669190610d80565b610097610092366004610c04565b61013c565b005b60016020526000908152604090205460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101345780601f1061010957610100808354040283529160200191610134565b820191906000526020600020905b81548152906001019060200180831161011757829003601f168201915b505050505081565b6040517f2ad311b500000000000000000000000000000000000000000000000000000000815281906001600160a01b03821690632ad311b590610183903390600401610d29565b60206040518083038186803b15801561019b57600080fd5b505afa1580156101af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d39190610bc5565b6101f85760405162461bcd60e51b81526004016101ef90610eb5565b60405180910390fd5b60008660405160200161020b9190610ccc565b6040516020818303038152906040528051906020012090506000856040516020016102369190610ccc565b60408051601f1981840301815291815281516020928301206000858152600190935291205490915060ff16158061027c575060008181526001602052604090205460ff16155b6102985760405162461bcd60e51b81526004016101ef90610e21565b60006102a483896104ab565b905060006102b283886104ab565b9050806001600160a01b0316826001600160a01b0316146102e55760405162461bcd60e51b81526004016101ef90610f65565b6102ee826104f6565b61030a5760405162461bcd60e51b81526004016101ef9061104c565b610312610aee565b61031b8b610535565b9050610325610aee565b61032e8a610535565b80518351919250146103525760405162461bcd60e51b81526004016101ef90610f2e565b60608260a0015183604001518460600151856080015160405160200161037b9493929190610ce8565b604051602081830303815290604052905060608260a001518360400151846060015185608001516040516020016103b59493929190610ce8565b60405160208183030381529060405290508080519060200120828051906020012014156103f45760405162461bcd60e51b81526004016101ef90610f9c565b6000888152600160208190526040808320805460ff1990811684179091558a8452928190208054909316909117909155517febcd31ac0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063ebcd31ac906104699089903390600401610d3d565b600060405180830381600087803b15801561048357600080fd5b505af1158015610497573d6000803e3d6000fd5b505050505050505050505050505050505050565b600081516041146104ce5760405162461bcd60e51b81526004016101ef90610dea565b60208201516040830151606084015160001a6104ec8682858561056f565b9695505050505050565b600073dcc703c0e500b653ca82273b7bfad8045d85a4706001600160a01b0383161480159061052d57506001600160a01b03821615155b90505b919050565b61053d610aee565b61054682610665565b60a087015260808601526001600160a01b03166060850152604084015260208301528152919050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156105b15760405162461bcd60e51b81526004016101ef90610eec565b8360ff16601b14806105c657508360ff16601c145b6105e25760405162461bcd60e51b81526004016101ef90610fd3565b6000600186868686604051600081526020016040526040516106079493929190610d62565b6020604051602081039080840390855afa158015610629573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661065c5760405162461bcd60e51b81526004016101ef90610db3565b95945050505050565b600080600080600060608061068161067c8961071f565b610764565b90506106a08160008151811061069357fe5b602002602001015161085b565b6106b08260018151811061069357fe5b6106c08360028151811061069357fe5b6106dd846003815181106106d057fe5b6020026020010151610889565b6106ed8560048151811061069357fe5b61070a866005815181106106fd57fe5b60200260200101516108b9565b949d939c50919a509850965090945092505050565b610727610b2d565b815161074757506040805180820190915260008082526020820152610530565b506040805180820190915281518152602082810190820152919050565b606061076f8261093b565b61078b5760405162461bcd60e51b81526004016101ef90611015565b600061079683610967565b90508067ffffffffffffffff811180156107af57600080fd5b506040519080825280602002602001820160405280156107e957816020015b6107d6610b2d565b8152602001906001900390816107ce5790505b50915060006107fb84602001516109b4565b60208501510190506000805b838110156108525761081883610a1d565b915060405180604001604052808381526020018481525085828151811061083b57fe5b602090810291909101015291810191600101610807565b50505050919050565b60008061086b83602001516109b4565b83516020948501518201519190039093036101000a90920492915050565b60006015826000015111156108b05760405162461bcd60e51b81526004016101ef90610e58565b61052d8261085b565b606060006108ca83602001516109b4565b835190915081900360608167ffffffffffffffff811180156108eb57600080fd5b506040519080825280601f01601f191660200182016040528015610916576020820181803683370190505b5090506000816020019050610932848760200151018285610aad565b50949350505050565b6020810151805160009190821a9060c082101561095d57600092505050610530565b5060019392505050565b60008060009050600061097d84602001516109b4565b602085015185519181019250015b808210156109ab5761099c82610a1d565b6001909301929091019061098b565b50909392505050565b8051600090811a60808110156109ce576000915050610530565b60b88110806109e9575060c081108015906109e9575060f881105b156109f8576001915050610530565b60c0811015610a0c5760b519019050610530565b60f519019050610530565b50919050565b8051600090811a6080811015610a37576001915050610530565b60b8811015610a4b57607e19019050610530565b60c0811015610a785760b78103600184019350806020036101000a84510460018201810193505050610a17565b60f8811015610a8c5760be19019050610530565b60019290920151602083900360f7016101000a900490910160f51901919050565b5b60208110610acd578251825260209283019290910190601f1901610aae565b915181516020939093036101000a6000190180199091169216919091179052565b6040518060c0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b604051806040016040528060008152602001600081525090565b600082601f830112610b57578081fd5b813567ffffffffffffffff80821115610b6e578283fd5b604051601f8301601f191681016020018281118282101715610b8e578485fd5b604052828152925082848301602001861015610ba957600080fd5b8260208601602083013760006020848301015250505092915050565b600060208284031215610bd6578081fd5b81518015158114610be5578182fd5b9392505050565b600060208284031215610bfd578081fd5b5035919050565b600080600080600060a08688031215610c1b578081fd5b853567ffffffffffffffff80821115610c32578283fd5b610c3e89838a01610b47565b96506020880135915080821115610c53578283fd5b610c5f89838a01610b47565b95506040880135915080821115610c74578283fd5b610c8089838a01610b47565b94506060880135915080821115610c95578283fd5b50610ca288828901610b47565b92505060808601356001600160a01b0381168114610cbe578182fd5b809150509295509295909350565b60008251610cde818460208701611083565b9190910192915050565b60008551610cfa818460208a01611083565b919091019384525060609190911b6bffffffffffffffffffffffff191660208301526034820152605401919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152610d9f816040850160208701611083565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b6020808252601e908201527f5472616e73616374696f6e7320616c72656164792070656e616c697a65640000604082015260600190565b6020808252603a908201527f496e76616c696420524c504974656d2e2041646472657373657320617265206560408201527f6e636f64656420696e203230206279746573206f72206c657373000000000000606082015260800190565b60208082526015908201527f556e6b6e6f776e2072656c6179206d616e616765720000000000000000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b6020808252600f908201527f446966666572656e74206e6f6e63650000000000000000000000000000000000604082015260600190565b60208082526010908201527f446966666572656e74207369676e657200000000000000000000000000000000604082015260600190565b6020808252600b908201527f747820697320657175616c000000000000000000000000000000000000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b6020808252600d908201527f69734c697374206661696c656400000000000000000000000000000000000000604082015260600190565b60208082526010908201527f65637265636f766572206661696c656400000000000000000000000000000000604082015260600190565b60005b8381101561109e578181015183820152602001611086565b838111156110ad576000848401525b5050505056fea26469706673582212201b8db0eaf7532563dfe9e85e5f0c2149f07dd7bc1422465bf60c016ca42ceab864736f6c634300060c0033322e302e312b656e76656c6f70696e672e70656e616c697a65722e6970656e616c697a6572",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806381f5bd7114610046578063a03136571461006f578063f913fe3e14610084575b600080fd5b610059610054366004610bec565b610099565b6040516100669190610d57565b60405180910390f35b6100776100ae565b6040516100669190610d80565b610097610092366004610c04565b61013c565b005b60016020526000908152604090205460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101345780601f1061010957610100808354040283529160200191610134565b820191906000526020600020905b81548152906001019060200180831161011757829003601f168201915b505050505081565b6040517f2ad311b500000000000000000000000000000000000000000000000000000000815281906001600160a01b03821690632ad311b590610183903390600401610d29565b60206040518083038186803b15801561019b57600080fd5b505afa1580156101af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d39190610bc5565b6101f85760405162461bcd60e51b81526004016101ef90610eb5565b60405180910390fd5b60008660405160200161020b9190610ccc565b6040516020818303038152906040528051906020012090506000856040516020016102369190610ccc565b60408051601f1981840301815291815281516020928301206000858152600190935291205490915060ff16158061027c575060008181526001602052604090205460ff16155b6102985760405162461bcd60e51b81526004016101ef90610e21565b60006102a483896104ab565b905060006102b283886104ab565b9050806001600160a01b0316826001600160a01b0316146102e55760405162461bcd60e51b81526004016101ef90610f65565b6102ee826104f6565b61030a5760405162461bcd60e51b81526004016101ef9061104c565b610312610aee565b61031b8b610535565b9050610325610aee565b61032e8a610535565b80518351919250146103525760405162461bcd60e51b81526004016101ef90610f2e565b60608260a0015183604001518460600151856080015160405160200161037b9493929190610ce8565b604051602081830303815290604052905060608260a001518360400151846060015185608001516040516020016103b59493929190610ce8565b60405160208183030381529060405290508080519060200120828051906020012014156103f45760405162461bcd60e51b81526004016101ef90610f9c565b6000888152600160208190526040808320805460ff1990811684179091558a8452928190208054909316909117909155517febcd31ac0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063ebcd31ac906104699089903390600401610d3d565b600060405180830381600087803b15801561048357600080fd5b505af1158015610497573d6000803e3d6000fd5b505050505050505050505050505050505050565b600081516041146104ce5760405162461bcd60e51b81526004016101ef90610dea565b60208201516040830151606084015160001a6104ec8682858561056f565b9695505050505050565b600073dcc703c0e500b653ca82273b7bfad8045d85a4706001600160a01b0383161480159061052d57506001600160a01b03821615155b90505b919050565b61053d610aee565b61054682610665565b60a087015260808601526001600160a01b03166060850152604084015260208301528152919050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156105b15760405162461bcd60e51b81526004016101ef90610eec565b8360ff16601b14806105c657508360ff16601c145b6105e25760405162461bcd60e51b81526004016101ef90610fd3565b6000600186868686604051600081526020016040526040516106079493929190610d62565b6020604051602081039080840390855afa158015610629573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661065c5760405162461bcd60e51b81526004016101ef90610db3565b95945050505050565b600080600080600060608061068161067c8961071f565b610764565b90506106a08160008151811061069357fe5b602002602001015161085b565b6106b08260018151811061069357fe5b6106c08360028151811061069357fe5b6106dd846003815181106106d057fe5b6020026020010151610889565b6106ed8560048151811061069357fe5b61070a866005815181106106fd57fe5b60200260200101516108b9565b949d939c50919a509850965090945092505050565b610727610b2d565b815161074757506040805180820190915260008082526020820152610530565b506040805180820190915281518152602082810190820152919050565b606061076f8261093b565b61078b5760405162461bcd60e51b81526004016101ef90611015565b600061079683610967565b90508067ffffffffffffffff811180156107af57600080fd5b506040519080825280602002602001820160405280156107e957816020015b6107d6610b2d565b8152602001906001900390816107ce5790505b50915060006107fb84602001516109b4565b60208501510190506000805b838110156108525761081883610a1d565b915060405180604001604052808381526020018481525085828151811061083b57fe5b602090810291909101015291810191600101610807565b50505050919050565b60008061086b83602001516109b4565b83516020948501518201519190039093036101000a90920492915050565b60006015826000015111156108b05760405162461bcd60e51b81526004016101ef90610e58565b61052d8261085b565b606060006108ca83602001516109b4565b835190915081900360608167ffffffffffffffff811180156108eb57600080fd5b506040519080825280601f01601f191660200182016040528015610916576020820181803683370190505b5090506000816020019050610932848760200151018285610aad565b50949350505050565b6020810151805160009190821a9060c082101561095d57600092505050610530565b5060019392505050565b60008060009050600061097d84602001516109b4565b602085015185519181019250015b808210156109ab5761099c82610a1d565b6001909301929091019061098b565b50909392505050565b8051600090811a60808110156109ce576000915050610530565b60b88110806109e9575060c081108015906109e9575060f881105b156109f8576001915050610530565b60c0811015610a0c5760b519019050610530565b60f519019050610530565b50919050565b8051600090811a6080811015610a37576001915050610530565b60b8811015610a4b57607e19019050610530565b60c0811015610a785760b78103600184019350806020036101000a84510460018201810193505050610a17565b60f8811015610a8c5760be19019050610530565b60019290920151602083900360f7016101000a900490910160f51901919050565b5b60208110610acd578251825260209283019290910190601f1901610aae565b915181516020939093036101000a6000190180199091169216919091179052565b6040518060c0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b604051806040016040528060008152602001600081525090565b600082601f830112610b57578081fd5b813567ffffffffffffffff80821115610b6e578283fd5b604051601f8301601f191681016020018281118282101715610b8e578485fd5b604052828152925082848301602001861015610ba957600080fd5b8260208601602083013760006020848301015250505092915050565b600060208284031215610bd6578081fd5b81518015158114610be5578182fd5b9392505050565b600060208284031215610bfd578081fd5b5035919050565b600080600080600060a08688031215610c1b578081fd5b853567ffffffffffffffff80821115610c32578283fd5b610c3e89838a01610b47565b96506020880135915080821115610c53578283fd5b610c5f89838a01610b47565b95506040880135915080821115610c74578283fd5b610c8089838a01610b47565b94506060880135915080821115610c95578283fd5b50610ca288828901610b47565b92505060808601356001600160a01b0381168114610cbe578182fd5b809150509295509295909350565b60008251610cde818460208701611083565b9190910192915050565b60008551610cfa818460208a01611083565b919091019384525060609190911b6bffffffffffffffffffffffff191660208301526034820152605401919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152610d9f816040850160208701611083565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b6020808252601e908201527f5472616e73616374696f6e7320616c72656164792070656e616c697a65640000604082015260600190565b6020808252603a908201527f496e76616c696420524c504974656d2e2041646472657373657320617265206560408201527f6e636f64656420696e203230206279746573206f72206c657373000000000000606082015260800190565b60208082526015908201527f556e6b6e6f776e2072656c6179206d616e616765720000000000000000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b6020808252600f908201527f446966666572656e74206e6f6e63650000000000000000000000000000000000604082015260600190565b60208082526010908201527f446966666572656e74207369676e657200000000000000000000000000000000604082015260600190565b6020808252600b908201527f747820697320657175616c000000000000000000000000000000000000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b6020808252600d908201527f69734c697374206661696c656400000000000000000000000000000000000000604082015260600190565b60208082526010908201527f65637265636f766572206661696c656400000000000000000000000000000000604082015260600190565b60005b8381101561109e578181015183820152602001611086565b838111156110ad576000848401525b5050505056fea26469706673582212201b8db0eaf7532563dfe9e85e5f0c2149f07dd7bc1422465bf60c016ca42ceab864736f6c634300060c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
