{
  "_format": "hh3-artifact-1",
  "contractName": "MockE3Program",
  "sourceName": "contracts/test/MockE3Program.sol",
  "abi": [
    {
      "inputs": [],
      "name": "E3AlreadyInitialized",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInput",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "e3ProgramParams",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "computeProviderParams",
          "type": "bytes"
        }
      ],
      "name": "InvalidParams",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ENCRYPTION_SCHEME_ID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "enclave",
      "outputs": [
        {
          "internalType": "contract IEnclave",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        }
      ],
      "name": "paramsHashes",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "paramsHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "publishInput",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IEnclave",
          "name": "_enclave",
          "type": "address"
        }
      ],
      "name": "setEnclave",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "e3Id",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "e3ProgramParams",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "computeProviderParams",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "validate",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "verify",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052348015600f57600080fd5b5061067e8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c8063143c0836146100725780632f0e1bbf146100a557806370e36bbe146100c857806378d89187146100fa578063d016b08d1461010f578063dbb06c9314610122578063fefd9a8b1461014d575b600080fd5b6100926100803660046102d1565b60016020526000908152604090205481565b6040519081526020015b60405180910390f35b6100b86100b336600461038d565b610160565b604051901515815260200161009c565b6100f86100d63660046103dc565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b005b61009260008051602061065283398151915281565b6100f861011d366004610405565b610175565b600054610135906001600160a01b031681565b6040516001600160a01b03909116815260200161009c565b61009261015b366004610493565b610225565b80516000901561016e575060015b9392505050565b80516003036101975760405163b4fa3fb360e01b815260040160405180910390fd5b6000546001600160a01b03161561022157600054604051631390ae1960e31b81526001600160a01b0390911690639c8570c8906101dc9085908590819060040161058f565b6020604051808303816000875af11580156101fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021f91906105c4565b505b5050565b6000868686866020811461025957604051630c741eb360e11b8152600401610250949392919061060f565b60405180910390fd5b50505060008a81526001602052604090205415905061028b576040516335751e3760e11b815260040160405180910390fd5b868660405161029b929190610641565b604080519182900390912060008b8152600160205291909120555060008051602061065283398151915298975050505050505050565b6000602082840312156102e357600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261031157600080fd5b81356001600160401b0381111561032a5761032a6102ea565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610358576103586102ea565b60405281815283820160200185101561037057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156103a257600080fd5b833592506020840135915060408401356001600160401b038111156103c657600080fd5b6103d286828701610300565b9150509250925092565b6000602082840312156103ee57600080fd5b81356001600160a01b038116811461016e57600080fd5b6000806040838503121561041857600080fd5b8235915060208301356001600160401b0381111561043557600080fd5b61044185828601610300565b9150509250929050565b60008083601f84011261045d57600080fd5b5081356001600160401b0381111561047457600080fd5b60208301915083602082850101111561048c57600080fd5b9250929050565b60008060008060008060008060a0898b0312156104af57600080fd5b883597506020890135965060408901356001600160401b038111156104d357600080fd5b6104df8b828c0161044b565b90975095505060608901356001600160401b038111156104fe57600080fd5b61050a8b828c0161044b565b90955093505060808901356001600160401b0381111561052957600080fd5b6105358b828c0161044b565b999c989b5096995094979396929594505050565b6000815180845260005b8181101561056f57602081850181015186830182015201610553565b506000602082860101526020601f19601f83011685010191505092915050565b8381526060602082015260006105a86060830185610549565b82810360408401526105ba8185610549565b9695505050505050565b6000602082840312156105d657600080fd5b8151801515811461016e57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6040815260006106236040830186886105e6565b82810360208401526106368185876105e6565b979650505050505050565b818382376000910190815291905056fe2c2a814a0495f913a3a312fc4771e37552bc14f8a2d4075a08122d356f0849c6a164736f6c634300081c000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c8063143c0836146100725780632f0e1bbf146100a557806370e36bbe146100c857806378d89187146100fa578063d016b08d1461010f578063dbb06c9314610122578063fefd9a8b1461014d575b600080fd5b6100926100803660046102d1565b60016020526000908152604090205481565b6040519081526020015b60405180910390f35b6100b86100b336600461038d565b610160565b604051901515815260200161009c565b6100f86100d63660046103dc565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b005b61009260008051602061065283398151915281565b6100f861011d366004610405565b610175565b600054610135906001600160a01b031681565b6040516001600160a01b03909116815260200161009c565b61009261015b366004610493565b610225565b80516000901561016e575060015b9392505050565b80516003036101975760405163b4fa3fb360e01b815260040160405180910390fd5b6000546001600160a01b03161561022157600054604051631390ae1960e31b81526001600160a01b0390911690639c8570c8906101dc9085908590819060040161058f565b6020604051808303816000875af11580156101fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021f91906105c4565b505b5050565b6000868686866020811461025957604051630c741eb360e11b8152600401610250949392919061060f565b60405180910390fd5b50505060008a81526001602052604090205415905061028b576040516335751e3760e11b815260040160405180910390fd5b868660405161029b929190610641565b604080519182900390912060008b8152600160205291909120555060008051602061065283398151915298975050505050505050565b6000602082840312156102e357600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261031157600080fd5b81356001600160401b0381111561032a5761032a6102ea565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610358576103586102ea565b60405281815283820160200185101561037057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156103a257600080fd5b833592506020840135915060408401356001600160401b038111156103c657600080fd5b6103d286828701610300565b9150509250925092565b6000602082840312156103ee57600080fd5b81356001600160a01b038116811461016e57600080fd5b6000806040838503121561041857600080fd5b8235915060208301356001600160401b0381111561043557600080fd5b61044185828601610300565b9150509250929050565b60008083601f84011261045d57600080fd5b5081356001600160401b0381111561047457600080fd5b60208301915083602082850101111561048c57600080fd5b9250929050565b60008060008060008060008060a0898b0312156104af57600080fd5b883597506020890135965060408901356001600160401b038111156104d357600080fd5b6104df8b828c0161044b565b90975095505060608901356001600160401b038111156104fe57600080fd5b61050a8b828c0161044b565b90955093505060808901356001600160401b0381111561052957600080fd5b6105358b828c0161044b565b999c989b5096995094979396929594505050565b6000815180845260005b8181101561056f57602081850181015186830182015201610553565b506000602082860101526020601f19601f83011685010191505092915050565b8381526060602082015260006105a86060830185610549565b82810360408401526105ba8185610549565b9695505050505050565b6000602082840312156105d657600080fd5b8151801515811461016e57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6040815260006106236040830186886105e6565b82810360208401526106368185876105e6565b979650505050505050565b818382376000910190815291905056fe2c2a814a0495f913a3a312fc4771e37552bc14f8a2d4075a08122d356f0849c6a164736f6c634300081c000a",
  "linkReferences": {},
  "deployedLinkReferences": {},
  "immutableReferences": {},
  "inputSourceName": "project/contracts/test/MockE3Program.sol",
  "buildInfoId": "solc-0_8_28-58b894a0ac77a2d784be77b69288a062b8f6f518"
}