{
  "_format": "hh-sol-artifact-1",
  "contractName": "EchidnaFuzzHashing",
  "sourceName": "contracts/echidna/FuzzHashing.sol",
  "abi": [
    {
      "inputs": [],
      "name": "echidna_hash_xdomain_msg_0",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "echidna_hash_xdomain_msg_1",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "echidna_hash_xdomain_msg_high_version",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "_version",
          "type": "uint16"
        },
        {
          "internalType": "uint240",
          "name": "_nonce",
          "type": "uint240"
        },
        {
          "internalType": "address",
          "name": "_sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_gasLimit",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "testHashCrossDomainMessageHighVersion",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint240",
          "name": "_nonce",
          "type": "uint240"
        },
        {
          "internalType": "address",
          "name": "_sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_gasLimit",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "testHashCrossDomainMessageV0",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint240",
          "name": "_nonce",
          "type": "uint240"
        },
        {
          "internalType": "address",
          "name": "_sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_gasLimit",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "testHashCrossDomainMessageV1",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506107ed806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806386861aed1161005057806386861aed146100c05780639af73da2146100cc5780639bf5feb1146100de57600080fd5b806312372e1b146100775780631c0e9c0f1461009857806347f09a6b146100ad575b600080fd5b600054610100900460ff16155b604051901515815260200160405180910390f35b6100ab6100a63660046105b7565b6100f1565b005b6100ab6100bb366004610653565b610153565b60005460ff1615610084565b60005462010000900460ff1615610084565b6100ab6100ec366004610653565b6101b5565b60006100ff878960f01b1790565b905061010f81878787878761023a565b5060018861ffff16111561014957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b5050505050505050565b85600061016482888888888861023a565b905060006101748789868661030c565b90508082146101aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b505050505050505050565b7e01000000000000000000000000000000000000000000000000000000000000861760006101e782888888888861023a565b905060006101f983898989898961032b565b90508082146101aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1662010000179055505050505050505050565b600060f087901c80820361025c576102548688858b61030c565b915050610302565b8061ffff166001036102765761025488888888888861032b565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f48617368696e673a20756e6b6e6f776e2063726f737320646f6d61696e206d6560448201527f73736167652076657273696f6e00000000000000000000000000000000000000606482015260840160405180910390fd5b9695505050505050565b600061031a8585858561034e565b805190602001209050949350505050565b600061033b8787878787876103e7565b8051906020012090509695505050505050565b606084848484604051602401610367949392919061073f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fcbd4ece9000000000000000000000000000000000000000000000000000000001790529050949350505050565b606086868686868660405160240161040496959493929190610789565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd764ad0b0000000000000000000000000000000000000000000000000000000017905290509695505050505050565b80357dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146104b457600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146104b457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261051d57600080fd5b813567ffffffffffffffff80821115610538576105386104dd565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561057e5761057e6104dd565b8160405283815286602085880101111561059757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156105d257600080fd5b873561ffff811681146105e457600080fd5b96506105f260208901610486565b9550610600604089016104b9565b945061060e606089016104b9565b93506080880135925060a0880135915060c088013567ffffffffffffffff81111561063857600080fd5b6106448a828b0161050c565b91505092959891949750929550565b60008060008060008060c0878903121561066c57600080fd5b61067587610486565b9550610683602088016104b9565b9450610691604088016104b9565b9350606087013592506080870135915060a087013567ffffffffffffffff8111156106bb57600080fd5b6106c789828a0161050c565b9150509295509295509295565b6000815180845260005b818110156106fa576020818501810151868301820152016106de565b8181111561070c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152506080604083015261077860808301856106d4565b905082606083015295945050505050565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a08301526107d460c08301846106d4565b9897505050505050505056fea164736f6c634300080f000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c806386861aed1161005057806386861aed146100c05780639af73da2146100cc5780639bf5feb1146100de57600080fd5b806312372e1b146100775780631c0e9c0f1461009857806347f09a6b146100ad575b600080fd5b600054610100900460ff16155b604051901515815260200160405180910390f35b6100ab6100a63660046105b7565b6100f1565b005b6100ab6100bb366004610653565b610153565b60005460ff1615610084565b60005462010000900460ff1615610084565b6100ab6100ec366004610653565b6101b5565b60006100ff878960f01b1790565b905061010f81878787878761023a565b5060018861ffff16111561014957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b5050505050505050565b85600061016482888888888861023a565b905060006101748789868661030c565b90508082146101aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b505050505050505050565b7e01000000000000000000000000000000000000000000000000000000000000861760006101e782888888888861023a565b905060006101f983898989898961032b565b90508082146101aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1662010000179055505050505050505050565b600060f087901c80820361025c576102548688858b61030c565b915050610302565b8061ffff166001036102765761025488888888888861032b565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f48617368696e673a20756e6b6e6f776e2063726f737320646f6d61696e206d6560448201527f73736167652076657273696f6e00000000000000000000000000000000000000606482015260840160405180910390fd5b9695505050505050565b600061031a8585858561034e565b805190602001209050949350505050565b600061033b8787878787876103e7565b8051906020012090509695505050505050565b606084848484604051602401610367949392919061073f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fcbd4ece9000000000000000000000000000000000000000000000000000000001790529050949350505050565b606086868686868660405160240161040496959493929190610789565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd764ad0b0000000000000000000000000000000000000000000000000000000017905290509695505050505050565b80357dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146104b457600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146104b457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261051d57600080fd5b813567ffffffffffffffff80821115610538576105386104dd565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561057e5761057e6104dd565b8160405283815286602085880101111561059757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156105d257600080fd5b873561ffff811681146105e457600080fd5b96506105f260208901610486565b9550610600604089016104b9565b945061060e606089016104b9565b93506080880135925060a0880135915060c088013567ffffffffffffffff81111561063857600080fd5b6106448a828b0161050c565b91505092959891949750929550565b60008060008060008060c0878903121561066c57600080fd5b61067587610486565b9550610683602088016104b9565b9450610691604088016104b9565b9350606087013592506080870135915060a087013567ffffffffffffffff8111156106bb57600080fd5b6106c789828a0161050c565b9150509295509295509295565b6000815180845260005b818110156106fa576020818501810151868301820152016106de565b8181111561070c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152506080604083015261077860808301856106d4565b905082606083015295945050505050565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a08301526107d460c08301846106d4565b9897505050505050505056fea164736f6c634300080f000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
