{
  "contractName": "IexecLibOrders_v5",
  "abi": [
    {
      "inputs": [],
      "name": "APPORDEROPERATION_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "APPORDER_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "DATASETORDEROPERATION_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "DATASETORDER_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "EIP712DOMAIN_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "REQUESTORDEROPERATION_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "REQUESTORDER_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "WORKERPOOLORDEROPERATION_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "WORKERPOOLORDER_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "dataset",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "datasetprice",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "volume",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "tag",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "apprestrict",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "workerpoolrestrict",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "requesterrestrict",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "salt",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.DatasetOrder",
          "name": "_datasetorder",
          "type": "tuple"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "datasethash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "app",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "appmaxprice",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "dataset",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "datasetmaxprice",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "workerpool",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "workerpoolmaxprice",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "requester",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "volume",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes32",
                  "name": "tag",
                  "type": "bytes32"
                },
                {
                  "internalType": "uint256",
                  "name": "category",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "trust",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "beneficiary",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "callback",
                  "type": "address"
                },
                {
                  "internalType": "string",
                  "name": "params",
                  "type": "string"
                },
                {
                  "internalType": "bytes32",
                  "name": "salt",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "sign",
                  "type": "bytes"
                }
              ],
              "internalType": "struct IexecLibOrders_v5.RequestOrder",
              "name": "order",
              "type": "tuple"
            },
            {
              "internalType": "enum IexecLibOrders_v5.OrderOperationEnum",
              "name": "operation",
              "type": "IexecLibOrders_v5.OrderOperationEnum"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.RequestOrderOperation",
          "name": "_requestorderoperation",
          "type": "tuple"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "dataset",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "datasetprice",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "volume",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes32",
                  "name": "tag",
                  "type": "bytes32"
                },
                {
                  "internalType": "address",
                  "name": "apprestrict",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "workerpoolrestrict",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "requesterrestrict",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "salt",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "sign",
                  "type": "bytes"
                }
              ],
              "internalType": "struct IexecLibOrders_v5.DatasetOrder",
              "name": "order",
              "type": "tuple"
            },
            {
              "internalType": "enum IexecLibOrders_v5.OrderOperationEnum",
              "name": "operation",
              "type": "IexecLibOrders_v5.OrderOperationEnum"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.DatasetOrderOperation",
          "name": "_datasetorderoperation",
          "type": "tuple"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "workerpool",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "workerpoolprice",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "volume",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes32",
                  "name": "tag",
                  "type": "bytes32"
                },
                {
                  "internalType": "uint256",
                  "name": "category",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "trust",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "apprestrict",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "datasetrestrict",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "requesterrestrict",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "salt",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "sign",
                  "type": "bytes"
                }
              ],
              "internalType": "struct IexecLibOrders_v5.WorkerpoolOrder",
              "name": "order",
              "type": "tuple"
            },
            {
              "internalType": "enum IexecLibOrders_v5.OrderOperationEnum",
              "name": "operation",
              "type": "IexecLibOrders_v5.OrderOperationEnum"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.WorkerpoolOrderOperation",
          "name": "_workerpoolorderoperation",
          "type": "tuple"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "app",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "appprice",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "volume",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes32",
                  "name": "tag",
                  "type": "bytes32"
                },
                {
                  "internalType": "address",
                  "name": "datasetrestrict",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "workerpoolrestrict",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "requesterrestrict",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "salt",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "sign",
                  "type": "bytes"
                }
              ],
              "internalType": "struct IexecLibOrders_v5.AppOrder",
              "name": "order",
              "type": "tuple"
            },
            {
              "internalType": "enum IexecLibOrders_v5.OrderOperationEnum",
              "name": "operation",
              "type": "IexecLibOrders_v5.OrderOperationEnum"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.AppOrderOperation",
          "name": "_apporderoperation",
          "type": "tuple"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "version",
              "type": "string"
            },
            {
              "internalType": "uint256",
              "name": "chainId",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "verifyingContract",
              "type": "address"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.EIP712Domain",
          "name": "_domain",
          "type": "tuple"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "domainhash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "app",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "appprice",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "volume",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "tag",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "datasetrestrict",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "workerpoolrestrict",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "requesterrestrict",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "salt",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.AppOrder",
          "name": "_apporder",
          "type": "tuple"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "apphash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "app",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "appmaxprice",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "dataset",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "datasetmaxprice",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "workerpool",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "workerpoolmaxprice",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "volume",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "tag",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "category",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "trust",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "beneficiary",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "callback",
              "type": "address"
            },
            {
              "internalType": "string",
              "name": "params",
              "type": "string"
            },
            {
              "internalType": "bytes32",
              "name": "salt",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.RequestOrder",
          "name": "_requestorder",
          "type": "tuple"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "requesthash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "workerpool",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "workerpoolprice",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "volume",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "tag",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "category",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "trust",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "apprestrict",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "datasetrestrict",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "requesterrestrict",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "salt",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.WorkerpoolOrder",
          "name": "_workerpoolorder",
          "type": "tuple"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "workerpoolhash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"APPORDEROPERATION_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"APPORDER_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DATASETORDEROPERATION_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DATASETORDER_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EIP712DOMAIN_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUESTORDEROPERATION_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUESTORDER_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WORKERPOOLORDEROPERATION_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WORKERPOOLORDER_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"dataset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"datasetprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"volume\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tag\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"apprestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.DatasetOrder\",\"name\":\"_datasetorder\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"datasethash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"app\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"appmaxprice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"dataset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"datasetmaxprice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"workerpool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"workerpoolmaxprice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"volume\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tag\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"trust\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"callback\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.RequestOrder\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"enum IexecLibOrders_v5.OrderOperationEnum\",\"name\":\"operation\",\"type\":\"IexecLibOrders_v5.OrderOperationEnum\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.RequestOrderOperation\",\"name\":\"_requestorderoperation\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"dataset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"datasetprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"volume\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tag\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"apprestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.DatasetOrder\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"enum IexecLibOrders_v5.OrderOperationEnum\",\"name\":\"operation\",\"type\":\"IexecLibOrders_v5.OrderOperationEnum\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.DatasetOrderOperation\",\"name\":\"_datasetorderoperation\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"workerpool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"workerpoolprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"volume\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tag\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"trust\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"apprestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.WorkerpoolOrder\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"enum IexecLibOrders_v5.OrderOperationEnum\",\"name\":\"operation\",\"type\":\"IexecLibOrders_v5.OrderOperationEnum\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.WorkerpoolOrderOperation\",\"name\":\"_workerpoolorderoperation\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"app\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"appprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"volume\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tag\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.AppOrder\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"enum IexecLibOrders_v5.OrderOperationEnum\",\"name\":\"operation\",\"type\":\"IexecLibOrders_v5.OrderOperationEnum\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.AppOrderOperation\",\"name\":\"_apporderoperation\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"}],\"internalType\":\"struct IexecLibOrders_v5.EIP712Domain\",\"name\":\"_domain\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"domainhash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"app\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"appprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"volume\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tag\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.AppOrder\",\"name\":\"_apporder\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"apphash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"app\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"appmaxprice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"dataset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"datasetmaxprice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"workerpool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"workerpoolmaxprice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"volume\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tag\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"trust\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"callback\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.RequestOrder\",\"name\":\"_requestorder\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"requesthash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"workerpool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"workerpoolprice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"volume\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tag\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"trust\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"apprestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.WorkerpoolOrder\",\"name\":\"_workerpoolorder\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"workerpoolhash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibOrders_v5.sol\":\"IexecLibOrders_v5\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibOrders_v5.sol\":{\"keccak256\":\"0xf2fece8edb03040a06bc18ff9a7354a57c1762c7fd8e5c353e696dd38b7a2693\",\"urls\":[\"bzz-raw://b758832e3a0c3d168ce75cf9569d78104f90afda4d0d2aca80a6612860c49c66\",\"dweb:/ipfs/QmPdteQJsejwYs8Vq4zAKfLUjSECcrRmS1sT3uotFWXpdZ\"]}},\"version\":1}",
  "bytecode": "0x610f4c610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101205760003560e01c8063735f5619116100ac5780639a6f72ee1161007b5780639a6f72ee146101fb578063b75cdd5314610203578063c49f91d31461020b578063c4b7bfc314610213578063fed985fe1461021b57610120565b8063735f5619146101ba57806374147c4d146101c25780637c0d54d3146101d55780638ac03f33146101e857610120565b806359b123db116100f357806359b123db1461017c5780635b559f6a1461018457806365db1dbb146101975780636cf30b8b1461019f5780636f84d2da146101b257610120565b806311b2eee214610125578063207dbbfe1461014e57806320aabe53146101565780634118eb9814610169575b600080fd5b610138610133366004610aab565b61022e565b6040516101459190610d6f565b60405180910390f35b6101386102ac565b610138610164366004610b88565b6102d0565b610138610177366004610a71565b610315565b610138610345565b610138610192366004610c5c565b610369565b610138610399565b6101386101ad366004610a71565b6103bd565b6101386103ed565b610138610411565b6101386101d0366004610add565b610435565b6101386101e3366004610aab565b610491565b6101386101f6366004610c2a565b6104f2565b6101386105c0565b6101386105e4565b610138610608565b61013861062c565b610138610229366004610cbb565b610650565b80516020808301516040808501516060860151608087015160a088015160c089015160e08a0151955160009961028f997f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c9991989197969594939201610db3565b604051602081830303815290604052805190602001209050919050565b7f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d00881565b80516000907f0ded7b52c2d77595a40d242eca751df172b18e686326dbbed3f4748828af77c790610300906104f2565b60208085015160405161028f94939201610e8a565b80516000907f075eb6f7578ff4292c241bd2484cd5c1d5e6ecc2ddd3317e1d8176b5a45865ec906103009061022e565b7f322d980b7d7a6a1f7c39ff0c5445da6ae1d8e0393ff0dd468c8be3e2c864438881565b80516000907f322d980b7d7a6a1f7c39ff0c5445da6ae1d8e0393ff0dd468c8be3e2c86443889061030090610650565b7faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb81565b80516000907f0638bb0702457e2b4b01be8a202579b8bf97e587fb4f2cc4d4aad01f21a06ee09061030090610491565b7f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c81565b7f0ded7b52c2d77595a40d242eca751df172b18e686326dbbed3f4748828af77c781565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b8260000151805190602001208360200151805190602001208460400151856060015160405160200161028f959493929190610e5e565b80516020808301516040808501516060860151608087015160a088015160c089015160e08a0151955160009961028f997f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d0089991989197969594939201610db3565b80516020808301516040808501516060860151608087015160a08801519351600097610547977ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae0979196919594939201610d78565b60408051601f198184030181529082905260c084015160e08501516101008601516101208701516101408801516101608901516101808a01516101a08b015180516020918201206101c08d0151999a6105a29a919201610d1b565b60408051601f198184030181529082905261028f9291602001610ced565b7ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae081565b7f0638bb0702457e2b4b01be8a202579b8bf97e587fb4f2cc4d4aad01f21a06ee081565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b7f075eb6f7578ff4292c241bd2484cd5c1d5e6ecc2ddd3317e1d8176b5a45865ec81565b80516020808301516040808501516060860151608087015160a088015160c089015160e08a01516101008b01516101208c0151975160009b61028f9b7faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb9b919a91999897969594939201610e01565b80356001600160a01b03811681146106d657600080fd5b92915050565b600082601f8301126106ec578081fd5b81356001600160401b03811115610701578182fd5b610714601f8201601f1916602001610eb0565b915080825283602082850101111561072b57600080fd5b8060208401602084013760009082016020015292915050565b600060608284031215610755578081fd5b61075f6060610eb0565b905081356001600160401b038082111561077857600080fd5b610784858386016107cd565b8352602084013591506002821061079a57600080fd5b81602084015260408401359150808211156107b457600080fd5b506107c1848285016106dc565b60408301525092915050565b60006101208083850312156107e0578182fd5b6107e981610eb0565b9150506107f683836106bf565b815260208201356020820152604082013560408201526060820135606082015261082383608084016106bf565b60808201526108358360a084016106bf565b60a08201526108478360c084016106bf565b60c082015260e082013560e0820152610100808301356001600160401b0381111561087157600080fd5b61087d858286016106dc565b82840152505092915050565b600061020080838503121561089c578182fd5b6108a581610eb0565b9150506108b283836106bf565b8152602082013560208201526108cb83604084016106bf565b6040820152606082013560608201526108e783608084016106bf565b608082015260a082013560a08201526109038360c084016106bf565b60c082015260e08281013590820152610100808301359082015261012080830135908201526101408083013590820152610160610942848285016106bf565b90820152610180610955848483016106bf565b908201526101a0828101356001600160401b038082111561097557600080fd5b610981868387016106dc565b838501526101c0925082850135838501526101e09250828501359150808211156109aa57600080fd5b5061087d858286016106dc565b60006101608083850312156109ca578182fd5b6109d381610eb0565b9150506109e083836106bf565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a0820152610a218360c084016106bf565b60c0820152610a338360e084016106bf565b60e0820152610100610a47848285016106bf565b908201526101208281013590820152610140808301356001600160401b0381111561087157600080fd5b600060208284031215610a82578081fd5b81356001600160401b03811115610a97578182fd5b610aa384828501610744565b949350505050565b600060208284031215610abc578081fd5b81356001600160401b03811115610ad1578182fd5b610aa3848285016107cd565b600060208284031215610aee578081fd5b81356001600160401b0380821115610b04578283fd5b81840160808187031215610b16578384fd5b610b206080610eb0565b9250803582811115610b30578485fd5b610b3c878284016106dc565b845250602081013582811115610b50578485fd5b610b5c878284016106dc565b60208501525060408101356040840152610b7986606083016106bf565b60608401525090949350505050565b600060208284031215610b99578081fd5b81356001600160401b0380821115610baf578283fd5b81840160608187031215610bc1578384fd5b610bcb6060610eb0565b9250803582811115610bdb578485fd5b610be787828401610889565b8452506020810135610bf881610f06565b6020840152604081013582811115610c0e578485fd5b610c1a878284016106dc565b6040850152509195945050505050565b600060208284031215610c3b578081fd5b81356001600160401b03811115610c50578182fd5b610aa384828501610889565b600060208284031215610c6d578081fd5b81356001600160401b0380821115610c83578283fd5b81840160608187031215610c95578384fd5b610c9f6060610eb0565b9250803582811115610caf578485fd5b610be7878284016109b7565b600060208284031215610ccc578081fd5b81356001600160401b03811115610ce1578182fd5b610aa3848285016109b7565b60008351610cff818460208801610ed6565b8351908301610d12828260208801610ed6565b01949350505050565b6001600160a01b03998a1681526020810198909852604088019690965260608701949094526080860192909252851660a085015290931660c083015260e08201929092526101008101919091526101200190565b90815260200190565b9687526001600160a01b03958616602088015260408701949094529184166060860152608085015290911660a083015260c082015260e00190565b9889526001600160a01b0397881660208a0152604089019690965260608801949094526080870192909252841660a0860152831660c085015290911660e08301526101008201526101200190565b9a8b526001600160a01b03998a1660208c015260408b019890985260608a0196909652608089019490945260a088019290925260c0870152841660e086015283166101008501529091166101208301526101408201526101600190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b838152602081018390526060810160028310610ea257fe5b826040830152949350505050565b6040518181016001600160401b0381118282101715610ece57600080fd5b604052919050565b60005b83811015610ef1578181015183820152602001610ed9565b83811115610f00576000848401525b50505050565b60028110610f1357600080fd5b5056fea26469706673582212200618036ba6e20b17a2c0c859620a2336bfb92a87fb1c3fbfd41e4a4cebb48c1964736f6c63430006060033",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106101205760003560e01c8063735f5619116100ac5780639a6f72ee1161007b5780639a6f72ee146101fb578063b75cdd5314610203578063c49f91d31461020b578063c4b7bfc314610213578063fed985fe1461021b57610120565b8063735f5619146101ba57806374147c4d146101c25780637c0d54d3146101d55780638ac03f33146101e857610120565b806359b123db116100f357806359b123db1461017c5780635b559f6a1461018457806365db1dbb146101975780636cf30b8b1461019f5780636f84d2da146101b257610120565b806311b2eee214610125578063207dbbfe1461014e57806320aabe53146101565780634118eb9814610169575b600080fd5b610138610133366004610aab565b61022e565b6040516101459190610d6f565b60405180910390f35b6101386102ac565b610138610164366004610b88565b6102d0565b610138610177366004610a71565b610315565b610138610345565b610138610192366004610c5c565b610369565b610138610399565b6101386101ad366004610a71565b6103bd565b6101386103ed565b610138610411565b6101386101d0366004610add565b610435565b6101386101e3366004610aab565b610491565b6101386101f6366004610c2a565b6104f2565b6101386105c0565b6101386105e4565b610138610608565b61013861062c565b610138610229366004610cbb565b610650565b80516020808301516040808501516060860151608087015160a088015160c089015160e08a0151955160009961028f997f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c9991989197969594939201610db3565b604051602081830303815290604052805190602001209050919050565b7f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d00881565b80516000907f0ded7b52c2d77595a40d242eca751df172b18e686326dbbed3f4748828af77c790610300906104f2565b60208085015160405161028f94939201610e8a565b80516000907f075eb6f7578ff4292c241bd2484cd5c1d5e6ecc2ddd3317e1d8176b5a45865ec906103009061022e565b7f322d980b7d7a6a1f7c39ff0c5445da6ae1d8e0393ff0dd468c8be3e2c864438881565b80516000907f322d980b7d7a6a1f7c39ff0c5445da6ae1d8e0393ff0dd468c8be3e2c86443889061030090610650565b7faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb81565b80516000907f0638bb0702457e2b4b01be8a202579b8bf97e587fb4f2cc4d4aad01f21a06ee09061030090610491565b7f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c81565b7f0ded7b52c2d77595a40d242eca751df172b18e686326dbbed3f4748828af77c781565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b8260000151805190602001208360200151805190602001208460400151856060015160405160200161028f959493929190610e5e565b80516020808301516040808501516060860151608087015160a088015160c089015160e08a0151955160009961028f997f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d0089991989197969594939201610db3565b80516020808301516040808501516060860151608087015160a08801519351600097610547977ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae0979196919594939201610d78565b60408051601f198184030181529082905260c084015160e08501516101008601516101208701516101408801516101608901516101808a01516101a08b015180516020918201206101c08d0151999a6105a29a919201610d1b565b60408051601f198184030181529082905261028f9291602001610ced565b7ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae081565b7f0638bb0702457e2b4b01be8a202579b8bf97e587fb4f2cc4d4aad01f21a06ee081565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b7f075eb6f7578ff4292c241bd2484cd5c1d5e6ecc2ddd3317e1d8176b5a45865ec81565b80516020808301516040808501516060860151608087015160a088015160c089015160e08a01516101008b01516101208c0151975160009b61028f9b7faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb9b919a91999897969594939201610e01565b80356001600160a01b03811681146106d657600080fd5b92915050565b600082601f8301126106ec578081fd5b81356001600160401b03811115610701578182fd5b610714601f8201601f1916602001610eb0565b915080825283602082850101111561072b57600080fd5b8060208401602084013760009082016020015292915050565b600060608284031215610755578081fd5b61075f6060610eb0565b905081356001600160401b038082111561077857600080fd5b610784858386016107cd565b8352602084013591506002821061079a57600080fd5b81602084015260408401359150808211156107b457600080fd5b506107c1848285016106dc565b60408301525092915050565b60006101208083850312156107e0578182fd5b6107e981610eb0565b9150506107f683836106bf565b815260208201356020820152604082013560408201526060820135606082015261082383608084016106bf565b60808201526108358360a084016106bf565b60a08201526108478360c084016106bf565b60c082015260e082013560e0820152610100808301356001600160401b0381111561087157600080fd5b61087d858286016106dc565b82840152505092915050565b600061020080838503121561089c578182fd5b6108a581610eb0565b9150506108b283836106bf565b8152602082013560208201526108cb83604084016106bf565b6040820152606082013560608201526108e783608084016106bf565b608082015260a082013560a08201526109038360c084016106bf565b60c082015260e08281013590820152610100808301359082015261012080830135908201526101408083013590820152610160610942848285016106bf565b90820152610180610955848483016106bf565b908201526101a0828101356001600160401b038082111561097557600080fd5b610981868387016106dc565b838501526101c0925082850135838501526101e09250828501359150808211156109aa57600080fd5b5061087d858286016106dc565b60006101608083850312156109ca578182fd5b6109d381610eb0565b9150506109e083836106bf565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a0820152610a218360c084016106bf565b60c0820152610a338360e084016106bf565b60e0820152610100610a47848285016106bf565b908201526101208281013590820152610140808301356001600160401b0381111561087157600080fd5b600060208284031215610a82578081fd5b81356001600160401b03811115610a97578182fd5b610aa384828501610744565b949350505050565b600060208284031215610abc578081fd5b81356001600160401b03811115610ad1578182fd5b610aa3848285016107cd565b600060208284031215610aee578081fd5b81356001600160401b0380821115610b04578283fd5b81840160808187031215610b16578384fd5b610b206080610eb0565b9250803582811115610b30578485fd5b610b3c878284016106dc565b845250602081013582811115610b50578485fd5b610b5c878284016106dc565b60208501525060408101356040840152610b7986606083016106bf565b60608401525090949350505050565b600060208284031215610b99578081fd5b81356001600160401b0380821115610baf578283fd5b81840160608187031215610bc1578384fd5b610bcb6060610eb0565b9250803582811115610bdb578485fd5b610be787828401610889565b8452506020810135610bf881610f06565b6020840152604081013582811115610c0e578485fd5b610c1a878284016106dc565b6040850152509195945050505050565b600060208284031215610c3b578081fd5b81356001600160401b03811115610c50578182fd5b610aa384828501610889565b600060208284031215610c6d578081fd5b81356001600160401b0380821115610c83578283fd5b81840160608187031215610c95578384fd5b610c9f6060610eb0565b9250803582811115610caf578485fd5b610be7878284016109b7565b600060208284031215610ccc578081fd5b81356001600160401b03811115610ce1578182fd5b610aa3848285016109b7565b60008351610cff818460208801610ed6565b8351908301610d12828260208801610ed6565b01949350505050565b6001600160a01b03998a1681526020810198909852604088019690965260608701949094526080860192909252851660a085015290931660c083015260e08201929092526101008101919091526101200190565b90815260200190565b9687526001600160a01b03958616602088015260408701949094529184166060860152608085015290911660a083015260c082015260e00190565b9889526001600160a01b0397881660208a0152604089019690965260608801949094526080870192909252841660a0860152831660c085015290911660e08301526101008201526101200190565b9a8b526001600160a01b03998a1660208c015260408b019890985260608a0196909652608089019490945260a088019290925260c0870152841660e086015283166101008501529091166101208301526101408201526101600190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b838152602081018390526060810160028310610ea257fe5b826040830152949350505050565b6040518181016001600160401b0381118282101715610ece57600080fd5b604052919050565b60005b83811015610ef1578181015183820152602001610ed9565b83811115610f00576000848401525b50505050565b60028110610f1357600080fd5b5056fea26469706673582212200618036ba6e20b17a2c0c859620a2336bfb92a87fb1c3fbfd41e4a4cebb48c1964736f6c63430006060033",
  "immutableReferences": {},
  "sourceMap": "60:8847:6:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24",
  "deployedSourceMap": "60:8847:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;6247:430:6;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2823:126;;;:::i;8655:250::-;;;;;;;;;:::i;8134:::-;;;;;;;;;:::i;3597:126::-;;;:::i;8387:265::-;;;;;;;;;:::i;3081:126::-;;;:::i;7901:230::-;;;;;;;;;:::i;2952:126::-;;;:::i;3726:::-;;;:::i;5547:316::-;;;;;;;;;:::i;5866:378::-;;;;;;;;;:::i;7209:689::-;;;;;;;;;:::i;3210:126::-;;;:::i;3339:::-;;;:::i;2694:::-;;;:::i;3468:::-;;;:::i;6680:526::-;;;;;;;;;:::i;6247:430::-;6443:21;;6469:26;;;;;6500:20;;;;;6525:17;;;;6547:25;;;;6577:32;;;;6614:31;;;;6650:18;;;;6402:270;;6318:19;;6402:270;;3012:66;;6443:21;;6469:26;;6500:20;6525:17;6547:25;6577:32;6614:31;6402:270;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6402:270:6;;;6392:281;;;;;;6385:288;;6247:430;;;:::o;2823:126::-;2883:66;2823:126;:::o;8655:250::-;8830:28;;8744:7;;3786:66;;8825:34;;:4;:34::i;:::-;8864:32;;;;;8775:125;;;;;;;;;8134:250;8309:28;;8223:7;;3528:66;;8304:34;;:4;:34::i;3597:126::-;3657:66;3597:126;:::o;8387:265::-;8571:31;;8482:7;;3657:66;;8566:37;;:4;:37::i;3081:126::-;3141:66;3081:126;:::o;7901:230::-;8064:24;;7982:7;;3399:66;;8059:30;;:4;:30::i;2952:126::-;3012:66;2952:126;:::o;3726:::-;3786:66;3726:126;:::o;5547:316::-;5612:18;2754:66;5710:21;;5752:7;:12;;;5736:30;;;;;;5787:7;:15;;;5771:33;;;;;;5809:7;:15;;;5829:7;:25;;;5695:163;;;;;;;;;;;;;5866:378;6046:13;;6064:18;;;;;6087:16;;;;;6108:13;;;;6126:25;;;;6156:28;;;;6189:27;;;;6221:14;;;;6009:230;;5929:15;;6009:230;;2883:66;;6046:13;;6064:18;;6087:16;6108:13;6126:25;6156:28;6189:27;6009:230;;;7209:689;7428:17;;7451:25;;;;;7482:21;;;;;7509:29;;;;7544:24;;;;7574:32;;;;7385:226;;7280:19;;7385:226;;3270:66;;7428:17;;7451:25;;7482:21;7509:29;7544:24;7385:226;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;7385:226:6;;;;7632:23;;;;7661:20;;;;7687:17;;;;7710:22;;;;7738:19;;;;7763:25;;;;7794:22;;;;7838:20;;;;7822:38;;49:4:-1;7822:38:6;;;;7866:18;;;;7385:226;;7616:273;;7822:38;;7616:273;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;7616:273:6;;;;7364:529;;;49:4:-1;7364:529:6;;;3210:126;3270:66;3210:126;:::o;3339:::-;3399:66;3339:126;:::o;2694:::-;2754:66;2694:126;:::o;3468:::-;3528:66;3468:126;:::o;6680:526::-;6888:27;;6920:32;;;;;6957:23;;;;;6985:20;;;;7010:25;;;;7040:22;;;;7067:28;;;;7100:32;;;;7137:34;;;;7176:21;;;;6844:357;;6757:22;;6844:357;;3141:66;;6888:27;;6920:32;;6957:23;6985:20;7010:25;7040:22;7067:28;7100:32;7137:34;6844:357;;;5:130:-1;72:20;;-1:-1;;;;;26855:54;;27767:35;;27757:2;;27816:1;;27806:12;27757:2;57:78;;;;;280:440;;381:3;374:4;366:6;362:17;358:27;348:2;;-1:-1;;389:12;348:2;436:6;423:20;-1:-1;;;;;25656:6;25653:30;25650:2;;;-1:-1;;25686:12;25650:2;458:64;25759:9;25740:17;;-1:-1;;25736:33;25827:4;25817:15;458:64;;;449:73;;542:6;535:5;528:21;646:3;25827:4;637:6;570;628:16;;625:25;622:2;;;663:1;;653:12;622:2;27239:6;25827:4;570:6;566:17;25827:4;604:5;600:16;27216:30;27295:1;27277:16;;;25827:4;27277:16;27270:27;604:5;341:379;-1:-1;;341:379;1409:854;;1532:4;1520:9;1515:3;1511:19;1507:30;1504:2;;;-1:-1;;1540:12;1504:2;1568:20;1532:4;1568:20;;;1559:29;;1652:17;1639:31;-1:-1;;;;;1690:18;1682:6;1679:30;1676:2;;;1667:1;;1712:12;1676:2;1757:74;1827:3;1818:6;1807:9;1803:22;1757:74;;;1739:16;1732:100;1898:2;1978:9;1974:22;817:20;808:29;;28047:1;28040:5;28037:12;28027:2;;-1:-1;;28053:12;28027:2;1931:71;1898:2;1917:5;1913:16;1906:97;2092:2;2081:9;2077:18;2064:32;2050:46;;1690:18;2108:6;2105:30;2102:2;;;-1:-1;;2138:12;2102:2;;2183:58;2237:3;2228:6;2217:9;2213:22;2183:58;;;2092:2;2169:5;2165:16;2158:84;;1498:765;;;;;2310:1623;;2424:6;;2412:9;2407:3;2403:19;2399:32;2396:2;;;-1:-1;;2434:12;2396:2;2462:22;2424:6;2462:22;;;2453:31;;;2565:49;2610:3;2586:22;2565:49;;;2547:16;2540:75;2680:2;2738:9;2734:22;14300:20;2680:2;2699:5;2695:16;2688:75;2826:2;2884:9;2880:22;14300:20;2826:2;2845:5;2841:16;2834:75;2969:2;3027:9;3023:22;209:20;2969:2;2988:5;2984:16;2977:75;3158:49;3203:3;3124;3183:9;3179:22;3158:49;;;3124:3;3144:5;3140:16;3133:75;3317:49;3362:3;3283;3342:9;3338:22;3317:49;;;3283:3;3303:5;3299:16;3292:75;3475:49;3520:3;3441;3500:9;3496:22;3475:49;;;3441:3;3461:5;3457:16;3450:75;3586:3;3645:9;3641:22;209:20;3586:3;3606:5;3602:16;3595:75;3759:3;;3748:9;3744:19;3731:33;-1:-1;;;;;3776:6;3773:30;3770:2;;;2533:1;;3806:12;3770:2;3853:58;3907:3;3898:6;3887:9;3883:22;3853:58;;;3759:3;3837:5;3833:18;3826:86;;;2390:1543;;;;;8531:2774;;8649:6;;8637:9;8632:3;8628:19;8624:32;8621:2;;;-1:-1;;8659:12;8621:2;8687:22;8649:6;8687:22;;;8678:31;;;8790:49;8835:3;8811:22;8790:49;;;8772:16;8765:75;8908:2;8966:9;8962:22;14300:20;8908:2;8927:5;8923:16;8916:75;9088:49;9133:3;9055:2;9113:9;9109:22;9088:49;;;9055:2;9074:5;9070:16;9063:75;9210:2;9268:9;9264:22;14300:20;9210:2;9229:5;9225:16;9218:75;9394:49;9439:3;9360;9419:9;9415:22;9394:49;;;9360:3;9380:5;9376:16;9369:75;9519:3;9578:9;9574:22;14300:20;9519:3;9539:5;9535:16;9528:75;9703:49;9748:3;9669;9728:9;9724:22;9703:49;;;9669:3;9685:16;;9678:75;9816:3;9871:22;;;14300:20;9832:16;;;9825:75;9960:3;10017:22;;;209:20;9976:18;;;9969:77;10111:3;10168:22;;;14300:20;10127:18;;;10120:77;10259:3;10316:22;;;14300:20;10275:18;;;10268:77;10413:3;10449:49;10494:3;10470:22;;;10449:49;;;10429:18;;;10422:77;10564:3;10600:49;10645:3;10621:22;;;10600:49;;;10580:18;;;10573:77;10741:3;10726:19;;;10713:33;-1:-1;;;;;10755:30;;;10752:2;;;8758:1;;10788:12;10752:2;10835:59;10890:3;10881:6;10870:9;10866:22;10835:59;;;10741:3;10819:5;10815:18;10808:87;10956:3;;;;11017:9;11013:22;209:20;10956:3;10976:5;10972:18;10965:77;11131:3;;;;11120:9;11116:19;11103:33;11089:47;;10766:18;11148:6;11145:30;11142:2;;;8758:1;;11178:12;11142:2;;11225:58;11279:3;11270:6;11259:9;11255:22;11225:58;;12290:1936;;12411:6;;12399:9;12394:3;12390:19;12386:32;12383:2;;;-1:-1;;12421:12;12383:2;12449:22;12411:6;12449:22;;;12440:31;;;12559:49;12604:3;12580:22;12559:49;;;12541:16;12534:75;12681:2;12739:9;12735:22;14300:20;12681:2;12700:5;12696:16;12689:75;12827:2;12885:9;12881:22;14300:20;12827:2;12846:5;12842:16;12835:75;12970:2;13028:9;13024:22;209:20;12970:2;12989:5;12985:16;12978:75;13118:3;13177:9;13173:22;14300:20;13118:3;13138:5;13134:16;13127:75;13264:3;13323:9;13319:22;14300:20;13264:3;13284:5;13280:16;13273:75;13450:49;13495:3;13416;13475:9;13471:22;13450:49;;;13416:3;13436:5;13432:16;13425:75;13606:49;13651:3;13572;13631:9;13627:22;13606:49;;;13572:3;13592:5;13588:16;13581:75;13730:3;13766:49;13811:3;13730;13791:9;13787:22;13766:49;;;13746:18;;;13739:77;13877:3;13934:22;;;209:20;13893:18;;;13886:77;14052:3;14037:19;;;14024:33;-1:-1;;;;;14066:30;;14063:2;;;12527:1;;14099:12;14370:395;;14508:2;14496:9;14487:7;14483:23;14479:32;14476:2;;;-1:-1;;14514:12;14476:2;14572:17;14559:31;-1:-1;;;;;14602:6;14599:30;14596:2;;;-1:-1;;14632:12;14596:2;14662:87;14741:7;14732:6;14721:9;14717:22;14662:87;;;14652:97;14470:295;-1:-1;;;;14470:295;14772:377;;14901:2;14889:9;14880:7;14876:23;14872:32;14869:2;;;-1:-1;;14907:12;14869:2;14965:17;14952:31;-1:-1;;;;;14995:6;14992:30;14989:2;;;-1:-1;;15025:12;14989:2;15055:78;15125:7;15116:6;15105:9;15101:22;15055:78;;15958:385;;16091:2;16079:9;16070:7;16066:23;16062:32;16059:2;;;-1:-1;;16097:12;16059:2;16155:17;16142:31;-1:-1;;;;;16193:18;16185:6;16182:30;16179:2;;;-1:-1;;16215:12;16179:2;16310:6;16299:9;16295:22;6706:4;6694:9;6689:3;6685:19;6681:30;6678:2;;;-1:-1;;6714:12;6678:2;6742:20;6706:4;6742:20;;;6733:29;;6825:17;6812:31;16193:18;6855:6;6852:30;6849:2;;;-1:-1;;6885:12;6849:2;6930:59;6985:3;6976:6;6965:9;6961:22;6930:59;;;6912:16;6905:85;;16091:2;7071:9;7067:18;7054:32;16193:18;7098:6;7095:30;7092:2;;;-1:-1;;7128:12;7092:2;7173:59;7228:3;7219:6;7208:9;7204:22;7173:59;;;16091:2;7159:5;7155:16;7148:85;;7297:2;7355:9;7351:22;14300:20;7297:2;7316:5;7312:16;7305:75;7487:49;7532:3;7454:2;7512:9;7508:22;7487:49;;;7454:2;7469:16;;7462:75;-1:-1;7473:5;;16053:290;-1:-1;;;;16053:290;16350:403;;16492:2;16480:9;16471:7;16467:23;16463:32;16460:2;;;-1:-1;;16498:12;16460:2;16556:17;16543:31;-1:-1;;;;;16594:18;16586:6;16583:30;16580:2;;;-1:-1;;16616:12;16580:2;16720:6;16709:9;16705:22;7745:4;7733:9;7728:3;7724:19;7720:30;7717:2;;;-1:-1;;7753:12;7717:2;7781:20;7745:4;7781:20;;;7772:29;;7865:17;7852:31;16594:18;7895:6;7892:30;7889:2;;;-1:-1;;7925:12;7889:2;7970:78;8044:3;8035:6;8024:9;8020:22;7970:78;;;7952:16;7945:104;;16492:2;8195:9;8191:22;817:20;842:55;891:5;842:55;;;16492:2;8130:16;;8123:97;8309:2;8294:18;;8281:32;8322:30;;;8319:2;;;-1:-1;;8355:12;8319:2;8400:58;8454:3;8445:6;8434:9;8430:22;8400:58;;;8309:2;8382:16;;8375:84;-1:-1;8386:5;;16454:299;-1:-1;;;;;16454:299;16760:385;;16893:2;16881:9;16872:7;16868:23;16864:32;16861:2;;;-1:-1;;16899:12;16861:2;16957:17;16944:31;-1:-1;;;;;16987:6;16984:30;16981:2;;;-1:-1;;17017:12;16981:2;17047:82;17121:7;17112:6;17101:9;17097:22;17047:82;;17152:409;;17297:2;17285:9;17276:7;17272:23;17268:32;17265:2;;;-1:-1;;17303:12;17265:2;17361:17;17348:31;-1:-1;;;;;17399:18;17391:6;17388:30;17385:2;;;-1:-1;;17421:12;17385:2;17528:6;17517:9;17513:22;11498:4;11486:9;11481:3;11477:19;11473:30;11470:2;;;-1:-1;;11506:12;11470:2;11534:20;11498:4;11534:20;;;11525:29;;11618:17;11605:31;17399:18;11648:6;11645:30;11642:2;;;-1:-1;;11678:12;11642:2;11723:81;11800:3;11791:6;11780:9;11776:22;11723:81;;17568:391;;17704:2;17692:9;17683:7;17679:23;17675:32;17672:2;;;-1:-1;;17710:12;17672:2;17768:17;17755:31;-1:-1;;;;;17798:6;17795:30;17792:2;;;-1:-1;;17828:12;17792:2;17858:85;17935:7;17926:6;17915:9;17911:22;17858:85;;18990:419;;18494:5;26265:12;18605:52;18650:6;18645:3;18638:4;18631:5;18627:16;18605:52;;;26265:12;;;18669:16;;18605:52;26265:12;18669:16;18638:4;18627:16;;18605:52;;;18669:16;;19161:248;-1:-1;;;;19161:248;19416:1107;-1:-1;;;;;26855:54;;;18037:37;;19923:2;19908:18;;18157:37;;;;20006:2;19991:18;;18157:37;;;;20089:2;20074:18;;18157:37;;;;20172:3;20157:19;;18157:37;;;;26855:54;;26866:42;20241:19;;18037:37;26855:54;;;20340:3;20325:19;;18037:37;20424:3;20409:19;;18157:37;;;;20508:3;20493:19;;18157:37;;;;19758:3;19743:19;;19729:794;20530:229;18157:37;;;20656:2;20641:18;;20627:132;20766:883;18157:37;;;-1:-1;;;;;26855:54;;;21217:2;21202:18;;18037:37;21300:2;21285:18;;18157:37;;;;26855:54;;;21383:2;21368:18;;18037:37;21466:3;21451:19;;18157:37;26855:54;;;26866:42;21535:19;;18037:37;21634:3;21619:19;;18157:37;21052:3;21037:19;;21023:626;21656:1107;18157:37;;;-1:-1;;;;;26855:54;;;22163:2;22148:18;;18037:37;22246:2;22231:18;;18157:37;;;;22329:2;22314:18;;18157:37;;;;22412:3;22397:19;;18157:37;;;;26855:54;;26866:42;22481:19;;18037:37;26855:54;;22580:3;22565:19;;18037:37;26855:54;;;22664:3;22649:19;;18037:37;22748:3;22733:19;;18157:37;21998:3;21983:19;;21969:794;22770:1333;18157:37;;;-1:-1;;;;;26855:54;;;23334:2;23319:18;;18037:37;23417:2;23402:18;;18157:37;;;;23500:2;23485:18;;18157:37;;;;23583:3;23568:19;;18157:37;;;;26866:42;23652:19;;18157:37;;;;23751:3;23736:19;;18157:37;26855:54;;23835:3;23820:19;;18037:37;26855:54;;23919:3;23904:19;;18037:37;26855:54;;;24003:3;23988:19;;18037:37;24088:3;24073:19;;18157:37;23169:3;23154:19;;23140:963;24110:659;18157:37;;;24505:2;24490:18;;18157:37;;;;24588:2;24573:18;;18157:37;;;;24671:2;24656:18;;18157:37;-1:-1;;;;;26855:54;24754:3;24739:19;;18037:37;24340:3;24325:19;;24311:458;24776:475;18157:37;;;25134:2;25119:18;;18157:37;;;24970:2;24955:18;;27679:1;27669:12;;27659:2;;27685:9;27659:2;27099:46;25237:2;25226:9;25222:18;18788:70;24941:310;;;;;;;25258:256;25320:2;25314:9;25346:17;;;-1:-1;;;;;25406:34;;25442:22;;;25403:62;25400:2;;;25478:1;;25468:12;25400:2;25320;25487:22;25298:216;;-1:-1;25298:216;27312:268;27377:1;27384:101;27398:6;27395:1;27392:13;27384:101;;;27465:11;;;27459:18;27446:11;;;27439:39;27420:2;27413:10;27384:101;;;27500:6;27497:1;27494:13;27491:2;;;27377:1;27556:6;27551:3;27547:16;27540:27;27491:2;;27361:219;;;;27956:116;28047:1;28040:5;28037:12;28027:2;;28063:1;;28053:12;28027:2;28021:51;",
  "source": "pragma solidity ^0.6.0;\npragma experimental ABIEncoderV2;\n\n\nlibrary IexecLibOrders_v5\n{\n\t// bytes32 public constant             EIP712DOMAIN_TYPEHASH = keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)');\n\t// bytes32 public constant                 APPORDER_TYPEHASH = keccak256('AppOrder(address app,uint256 appprice,uint256 volume,bytes32 tag,address datasetrestrict,address workerpoolrestrict,address requesterrestrict,bytes32 salt)');\n\t// bytes32 public constant             DATASETORDER_TYPEHASH = keccak256('DatasetOrder(address dataset,uint256 datasetprice,uint256 volume,bytes32 tag,address apprestrict,address workerpoolrestrict,address requesterrestrict,bytes32 salt)');\n\t// bytes32 public constant          WORKERPOOLORDER_TYPEHASH = keccak256('WorkerpoolOrder(address workerpool,uint256 workerpoolprice,uint256 volume,bytes32 tag,uint256 category,uint256 trust,address apprestrict,address datasetrestrict,address requesterrestrict,bytes32 salt)');\n\t// bytes32 public constant             REQUESTORDER_TYPEHASH = keccak256('RequestOrder(address app,uint256 appmaxprice,address dataset,uint256 datasetmaxprice,address workerpool,uint256 workerpoolmaxprice,address requester,uint256 volume,bytes32 tag,uint256 category,uint256 trust,address beneficiary,address callback,string params,bytes32 salt)');\n\t// bytes32 public constant        APPORDEROPERATION_TYPEHASH = keccak256('AppOrderOperation(AppOrder order,uint256 operation)AppOrder(address app,uint256 appprice,uint256 volume,bytes32 tag,address datasetrestrict,address workerpoolrestrict,address requesterrestrict,bytes32 salt)');\n\t// bytes32 public constant    DATASETORDEROPERATION_TYPEHASH = keccak256('DatasetOrderOperation(DatasetOrder order,uint256 operation)DatasetOrder(address dataset,uint256 datasetprice,uint256 volume,bytes32 tag,address apprestrict,address workerpoolrestrict,address requesterrestrict,bytes32 salt)');\n\t// bytes32 public constant WORKERPOOLORDEROPERATION_TYPEHASH = keccak256('WorkerpoolOrderOperation(WorkerpoolOrder order,uint256 operation)WorkerpoolOrder(address workerpool,uint256 workerpoolprice,uint256 volume,bytes32 tag,uint256 category,uint256 trust,address apprestrict,address datasetrestrict,address requesterrestrict,bytes32 salt)');\n\t// bytes32 public constant    REQUESTORDEROPERATION_TYPEHASH = keccak256('RequestOrderOperation(RequestOrder order,uint256 operation)RequestOrder(address app,uint256 appmaxprice,address dataset,uint256 datasetmaxprice,address workerpool,uint256 workerpoolmaxprice,address requester,uint256 volume,bytes32 tag,uint256 category,uint256 trust,address beneficiary,address callback,string params,bytes32 salt)');\n\tbytes32 public constant             EIP712DOMAIN_TYPEHASH = 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f;\n\tbytes32 public constant                 APPORDER_TYPEHASH = 0x60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d008;\n\tbytes32 public constant             DATASETORDER_TYPEHASH = 0x6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c;\n\tbytes32 public constant          WORKERPOOLORDER_TYPEHASH = 0xaa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb;\n\tbytes32 public constant             REQUESTORDER_TYPEHASH = 0xf24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae0;\n\tbytes32 public constant        APPORDEROPERATION_TYPEHASH = 0x0638bb0702457e2b4b01be8a202579b8bf97e587fb4f2cc4d4aad01f21a06ee0;\n\tbytes32 public constant    DATASETORDEROPERATION_TYPEHASH = 0x075eb6f7578ff4292c241bd2484cd5c1d5e6ecc2ddd3317e1d8176b5a45865ec;\n\tbytes32 public constant WORKERPOOLORDEROPERATION_TYPEHASH = 0x322d980b7d7a6a1f7c39ff0c5445da6ae1d8e0393ff0dd468c8be3e2c8644388;\n\tbytes32 public constant    REQUESTORDEROPERATION_TYPEHASH = 0x0ded7b52c2d77595a40d242eca751df172b18e686326dbbed3f4748828af77c7;\n\n\tenum OrderOperationEnum\n\t{\n\t\tSIGN,\n\t\tCLOSE\n\t}\n\n\tstruct EIP712Domain\n\t{\n\t\tstring  name;\n\t\tstring  version;\n\t\tuint256 chainId;\n\t\taddress verifyingContract;\n\t}\n\n\tstruct AppOrder\n\t{\n\t\taddress app;\n\t\tuint256 appprice;\n\t\tuint256 volume;\n\t\tbytes32 tag;\n\t\taddress datasetrestrict;\n\t\taddress workerpoolrestrict;\n\t\taddress requesterrestrict;\n\t\tbytes32 salt;\n\t\tbytes   sign;\n\t}\n\n\tstruct DatasetOrder\n\t{\n\t\taddress dataset;\n\t\tuint256 datasetprice;\n\t\tuint256 volume;\n\t\tbytes32 tag;\n\t\taddress apprestrict;\n\t\taddress workerpoolrestrict;\n\t\taddress requesterrestrict;\n\t\tbytes32 salt;\n\t\tbytes   sign;\n\t}\n\n\tstruct WorkerpoolOrder\n\t{\n\t\taddress workerpool;\n\t\tuint256 workerpoolprice;\n\t\tuint256 volume;\n\t\tbytes32 tag;\n\t\tuint256 category;\n\t\tuint256 trust;\n\t\taddress apprestrict;\n\t\taddress datasetrestrict;\n\t\taddress requesterrestrict;\n\t\tbytes32 salt;\n\t\tbytes   sign;\n\t}\n\n\tstruct RequestOrder\n\t{\n\t\taddress app;\n\t\tuint256 appmaxprice;\n\t\taddress dataset;\n\t\tuint256 datasetmaxprice;\n\t\taddress workerpool;\n\t\tuint256 workerpoolmaxprice;\n\t\taddress requester;\n\t\tuint256 volume;\n\t\tbytes32 tag;\n\t\tuint256 category;\n\t\tuint256 trust;\n\t\taddress beneficiary;\n\t\taddress callback;\n\t\tstring  params;\n\t\tbytes32 salt;\n\t\tbytes   sign;\n\t}\n\n\tstruct AppOrderOperation\n\t{\n\t\tAppOrder           order;\n\t\tOrderOperationEnum operation;\n\t\tbytes              sign;\n\t}\n\n\tstruct DatasetOrderOperation\n\t{\n\t\tDatasetOrder       order;\n\t\tOrderOperationEnum operation;\n\t\tbytes              sign;\n\t}\n\n\tstruct WorkerpoolOrderOperation\n\t{\n\t\tWorkerpoolOrder    order;\n\t\tOrderOperationEnum operation;\n\t\tbytes              sign;\n\t}\n\n\tstruct RequestOrderOperation\n\t{\n\t\tRequestOrder       order;\n\t\tOrderOperationEnum operation;\n\t\tbytes              sign;\n\t}\n\n\tfunction hash(EIP712Domain memory _domain)\n\tpublic pure returns (bytes32 domainhash)\n\t{\n\t\t/**\n\t\t * Readeable but expensive\n\t\t */\n\t\treturn keccak256(abi.encode(\n\t\t\tEIP712DOMAIN_TYPEHASH\n\t\t,\tkeccak256(bytes(_domain.name))\n\t\t,\tkeccak256(bytes(_domain.version))\n\t\t,\t_domain.chainId\n\t\t,\t_domain.verifyingContract\n\t\t));\n\t}\n\n\tfunction hash(AppOrder memory _apporder)\n\tpublic pure returns (bytes32 apphash)\n\t{\n\t\t/**\n\t\t * Readeable but expensive\n\t\t */\n\t\treturn keccak256(abi.encode(\n\t\t\tAPPORDER_TYPEHASH\n\t\t,\t_apporder.app\n\t\t,\t_apporder.appprice\n\t\t,\t_apporder.volume\n\t\t,\t_apporder.tag\n\t\t,\t_apporder.datasetrestrict\n\t\t,\t_apporder.workerpoolrestrict\n\t\t,\t_apporder.requesterrestrict\n\t\t,\t_apporder.salt\n\t\t));\n\t}\n\n\tfunction hash(DatasetOrder memory _datasetorder)\n\tpublic pure returns (bytes32 datasethash)\n\t{\n\t\t/**\n\t\t * Readeable but expensive\n\t\t */\n\t\treturn keccak256(abi.encode(\n\t\t\tDATASETORDER_TYPEHASH\n\t\t,\t_datasetorder.dataset\n\t\t,\t_datasetorder.datasetprice\n\t\t,\t_datasetorder.volume\n\t\t,\t_datasetorder.tag\n\t\t,\t_datasetorder.apprestrict\n\t\t,\t_datasetorder.workerpoolrestrict\n\t\t,\t_datasetorder.requesterrestrict\n\t\t,\t_datasetorder.salt\n\t\t));\n\t}\n\n\tfunction hash(WorkerpoolOrder memory _workerpoolorder)\n\tpublic pure returns (bytes32 workerpoolhash)\n\t{\n\t\t/**\n\t\t * Readeable but expensive\n\t\t */\n\t\treturn keccak256(abi.encode(\n\t\t\tWORKERPOOLORDER_TYPEHASH\n\t\t,\t_workerpoolorder.workerpool\n\t\t,\t_workerpoolorder.workerpoolprice\n\t\t,\t_workerpoolorder.volume\n\t\t,\t_workerpoolorder.tag\n\t\t,\t_workerpoolorder.category\n\t\t,\t_workerpoolorder.trust\n\t\t,\t_workerpoolorder.apprestrict\n\t\t,\t_workerpoolorder.datasetrestrict\n\t\t,\t_workerpoolorder.requesterrestrict\n\t\t,\t_workerpoolorder.salt\n\t\t));\n\t}\n\n\tfunction hash(RequestOrder memory _requestorder)\n\tpublic pure returns (bytes32 requesthash)\n\t{\n\t\t/**\n\t\t * Readeable but expensive\n\t\t */\n\t\treturn keccak256(abi.encodePacked(\n\t\t\tabi.encode(\n\t\t\t\tREQUESTORDER_TYPEHASH\n\t\t\t,\t_requestorder.app\n\t\t\t,\t_requestorder.appmaxprice\n\t\t\t,\t_requestorder.dataset\n\t\t\t,\t_requestorder.datasetmaxprice\n\t\t\t,\t_requestorder.workerpool\n\t\t\t,\t_requestorder.workerpoolmaxprice\n\t\t\t),\n\t\t\tabi.encode(\n\t\t\t\t_requestorder.requester\n\t\t\t,\t_requestorder.volume\n\t\t\t,\t_requestorder.tag\n\t\t\t,\t_requestorder.category\n\t\t\t,\t_requestorder.trust\n\t\t\t,\t_requestorder.beneficiary\n\t\t\t,\t_requestorder.callback\n\t\t\t,\tkeccak256(bytes(_requestorder.params))\n\t\t\t,\t_requestorder.salt\n\t\t\t)\n\t\t));\n\t}\n\n\tfunction hash(AppOrderOperation memory _apporderoperation)\n\tpublic pure returns (bytes32)\n\t{\n\t\treturn keccak256(abi.encode(\n\t\t\tAPPORDEROPERATION_TYPEHASH\n\t\t,\thash(_apporderoperation.order)\n\t\t,\t_apporderoperation.operation\n\t\t));\n\t}\n\n\tfunction hash(DatasetOrderOperation memory _datasetorderoperation)\n\tpublic pure returns (bytes32)\n\t{\n\t\treturn keccak256(abi.encode(\n\t\t\tDATASETORDEROPERATION_TYPEHASH\n\t\t,\thash(_datasetorderoperation.order)\n\t\t,\t_datasetorderoperation.operation\n\t\t));\n\t}\n\n\tfunction hash(WorkerpoolOrderOperation memory _workerpoolorderoperation)\n\tpublic pure returns (bytes32)\n\t{\n\t\treturn keccak256(abi.encode(\n\t\t\tWORKERPOOLORDEROPERATION_TYPEHASH\n\t\t,\thash(_workerpoolorderoperation.order)\n\t\t,\t_workerpoolorderoperation.operation\n\t\t));\n\t}\n\n\tfunction hash(RequestOrderOperation memory _requestorderoperation)\n\tpublic pure returns (bytes32)\n\t{\n\t\treturn keccak256(abi.encode(\n\t\t\tREQUESTORDEROPERATION_TYPEHASH\n\t\t,\thash(_requestorderoperation.order)\n\t\t,\t_requestorderoperation.operation\n\t\t));\n\t}\n}\n",
  "sourcePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibOrders_v5.sol",
  "ast": {
    "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibOrders_v5.sol",
    "exportedSymbols": {
      "IexecLibOrders_v5": [
        815
      ]
    },
    "id": 816,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 382,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:6"
      },
      {
        "id": 383,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "24:33:6"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": null,
        "fullyImplemented": true,
        "id": 815,
        "linearizedBaseContracts": [
          815
        ],
        "name": "IexecLibOrders_v5",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "functionSelector": "c49f91d3",
            "id": 386,
            "mutability": "constant",
            "name": "EIP712DOMAIN_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "2694:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 384,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "2694:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307838623733633363363962623866653364353132656363346366373539636337393233396637623137396230666661636161396137356435323262333934303066",
              "id": 385,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2754:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_63076024560530113402979550242307453568063438748328787417531900361828837441551_by_1",
                "typeString": "int_const 6307...(69 digits omitted)...1551"
              },
              "value": "0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "207dbbfe",
            "id": 389,
            "mutability": "constant",
            "name": "APPORDER_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "2823:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 387,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "2823:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307836303831356130656565633437646464663136313566653533623331643031366333313434346530316239643739366462333635343433613634343564303038",
              "id": 388,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2883:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_43650578295105606754044185872167596760177065654633489567262380834068554436616_by_1",
                "typeString": "int_const 4365...(69 digits omitted)...6616"
              },
              "value": "0x60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d008"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "6f84d2da",
            "id": 392,
            "mutability": "constant",
            "name": "DATASETORDER_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "2952:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 390,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "2952:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307836636663393332613561336432326334333539323935623966343333656466663532623630373033666134373639306130346138336534303933336464343763",
              "id": 391,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3012:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_49296048805850917090765960952023182941721207539109048881877448770624132338812_by_1",
                "typeString": "int_const 4929...(69 digits omitted)...8812"
              },
              "value": "0x6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "65db1dbb",
            "id": 395,
            "mutability": "constant",
            "name": "WORKERPOOLORDER_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3081:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 393,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3081:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307861613334323966623238316233343639313830333133336433643937386137356262373763363137656436626339616131363262396233303932303032326262",
              "id": 394,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3141:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_76985350049294276919496274109432266747292083504708634510021467980890602742459_by_1",
                "typeString": "int_const 7698...(69 digits omitted)...2459"
              },
              "value": "0xaa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "9a6f72ee",
            "id": 398,
            "mutability": "constant",
            "name": "REQUESTORDER_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3210:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 396,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3210:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307866323465383533303334613361343530616261383435613832393134666262353634616438356163636361366366363262653131326131353435323066616530",
              "id": 397,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3270:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_109598442660088300653958618162198742178051133390042090218504207231673715194592_by_1",
                "typeString": "int_const 1095...(70 digits omitted)...4592"
              },
              "value": "0xf24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae0"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "b75cdd53",
            "id": 401,
            "mutability": "constant",
            "name": "APPORDEROPERATION_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3339:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 399,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3339:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307830363338626230373032343537653262346230316265386132303235373962386266393765353837666234663263633464346161643031663231613036656530",
              "id": 400,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3399:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2814111342652876641078356634543838006581553744278600690173851341526940020448_by_1",
                "typeString": "int_const 2814...(68 digits omitted)...0448"
              },
              "value": "0x0638bb0702457e2b4b01be8a202579b8bf97e587fb4f2cc4d4aad01f21a06ee0"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "c4b7bfc3",
            "id": 404,
            "mutability": "constant",
            "name": "DATASETORDEROPERATION_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3468:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 402,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3468:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307830373565623666373537386666343239326332343162643234383463643563316435653665636332646464333331376531643831373662356134353836356563",
              "id": 403,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3528:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_3333536350335364028826455582891813236021703289014087622158894669050001516012_by_1",
                "typeString": "int_const 3333...(68 digits omitted)...6012"
              },
              "value": "0x075eb6f7578ff4292c241bd2484cd5c1d5e6ecc2ddd3317e1d8176b5a45865ec"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "59b123db",
            "id": 407,
            "mutability": "constant",
            "name": "WORKERPOOLORDEROPERATION_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3597:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 405,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3597:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307833323264393830623764376136613166376333396666306335343435646136616531643865303339336666306464343638633862653365326338363434333838",
              "id": 406,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3657:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_22696199922296867098487000686041087384677369148371795753394524964030551180168_by_1",
                "typeString": "int_const 2269...(69 digits omitted)...0168"
              },
              "value": "0x322d980b7d7a6a1f7c39ff0c5445da6ae1d8e0393ff0dd468c8be3e2c8644388"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "735f5619",
            "id": 410,
            "mutability": "constant",
            "name": "REQUESTORDEROPERATION_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3726:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 408,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3726:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307830646564376235326332643737353935613430643234326563613735316466313732623138653638363332366462626564336634373438383238616637376337",
              "id": 409,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3786:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_6299660931970441485380746135897439693121283441449151267316216303362967041991_by_1",
                "typeString": "int_const 6299...(68 digits omitted)...1991"
              },
              "value": "0x0ded7b52c2d77595a40d242eca751df172b18e686326dbbed3f4748828af77c7"
            },
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.OrderOperationEnum",
            "id": 413,
            "members": [
              {
                "id": 411,
                "name": "SIGN",
                "nodeType": "EnumValue",
                "src": "3885:4:6"
              },
              {
                "id": 412,
                "name": "CLOSE",
                "nodeType": "EnumValue",
                "src": "3893:5:6"
              }
            ],
            "name": "OrderOperationEnum",
            "nodeType": "EnumDefinition",
            "src": "3856:45:6"
          },
          {
            "canonicalName": "IexecLibOrders_v5.EIP712Domain",
            "id": 422,
            "members": [
              {
                "constant": false,
                "id": 415,
                "mutability": "mutable",
                "name": "name",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 422,
                "src": "3929:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 414,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "3929:6:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 417,
                "mutability": "mutable",
                "name": "version",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 422,
                "src": "3945:15:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 416,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "3945:6:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 419,
                "mutability": "mutable",
                "name": "chainId",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 422,
                "src": "3964:15:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 418,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3964:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 421,
                "mutability": "mutable",
                "name": "verifyingContract",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 422,
                "src": "3983:25:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 420,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3983:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "EIP712Domain",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "3904:108:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.AppOrder",
            "id": 441,
            "members": [
              {
                "constant": false,
                "id": 424,
                "mutability": "mutable",
                "name": "app",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4036:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 423,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4036:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 426,
                "mutability": "mutable",
                "name": "appprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4051:16:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 425,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4051:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 428,
                "mutability": "mutable",
                "name": "volume",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4071:14:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 427,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4071:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 430,
                "mutability": "mutable",
                "name": "tag",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4089:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 429,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4089:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 432,
                "mutability": "mutable",
                "name": "datasetrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4104:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 431,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4104:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 434,
                "mutability": "mutable",
                "name": "workerpoolrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4131:26:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 433,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4131:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 436,
                "mutability": "mutable",
                "name": "requesterrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4161:25:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 435,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4161:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 438,
                "mutability": "mutable",
                "name": "salt",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4190:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 437,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4190:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 440,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4206:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 439,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4206:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "AppOrder",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "4015:207:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.DatasetOrder",
            "id": 460,
            "members": [
              {
                "constant": false,
                "id": 443,
                "mutability": "mutable",
                "name": "dataset",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4250:15:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 442,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4250:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 445,
                "mutability": "mutable",
                "name": "datasetprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4269:20:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 444,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4269:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 447,
                "mutability": "mutable",
                "name": "volume",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4293:14:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 446,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4293:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 449,
                "mutability": "mutable",
                "name": "tag",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4311:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 448,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4311:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 451,
                "mutability": "mutable",
                "name": "apprestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4326:19:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 450,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4326:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 453,
                "mutability": "mutable",
                "name": "workerpoolrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4349:26:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 452,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4349:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 455,
                "mutability": "mutable",
                "name": "requesterrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4379:25:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 454,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4379:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 457,
                "mutability": "mutable",
                "name": "salt",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4408:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 456,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4408:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 459,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4424:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 458,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4424:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "DatasetOrder",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "4225:215:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.WorkerpoolOrder",
            "id": 483,
            "members": [
              {
                "constant": false,
                "id": 462,
                "mutability": "mutable",
                "name": "workerpool",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4471:18:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 461,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4471:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 464,
                "mutability": "mutable",
                "name": "workerpoolprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4493:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 463,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4493:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 466,
                "mutability": "mutable",
                "name": "volume",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4520:14:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 465,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4520:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 468,
                "mutability": "mutable",
                "name": "tag",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4538:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 467,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4538:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 470,
                "mutability": "mutable",
                "name": "category",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4553:16:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 469,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4553:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 472,
                "mutability": "mutable",
                "name": "trust",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4573:13:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 471,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4573:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 474,
                "mutability": "mutable",
                "name": "apprestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4590:19:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 473,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4590:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 476,
                "mutability": "mutable",
                "name": "datasetrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4613:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 475,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4613:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 478,
                "mutability": "mutable",
                "name": "requesterrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4640:25:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 477,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4640:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 480,
                "mutability": "mutable",
                "name": "salt",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4669:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 479,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4669:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 482,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4685:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 481,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4685:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "WorkerpoolOrder",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "4443:258:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.RequestOrder",
            "id": 516,
            "members": [
              {
                "constant": false,
                "id": 485,
                "mutability": "mutable",
                "name": "app",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4729:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 484,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4729:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 487,
                "mutability": "mutable",
                "name": "appmaxprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4744:19:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 486,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4744:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 489,
                "mutability": "mutable",
                "name": "dataset",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4767:15:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 488,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4767:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 491,
                "mutability": "mutable",
                "name": "datasetmaxprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4786:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 490,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4786:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 493,
                "mutability": "mutable",
                "name": "workerpool",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4813:18:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 492,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4813:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 495,
                "mutability": "mutable",
                "name": "workerpoolmaxprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4835:26:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 494,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4835:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 497,
                "mutability": "mutable",
                "name": "requester",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4865:17:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 496,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4865:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 499,
                "mutability": "mutable",
                "name": "volume",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4886:14:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 498,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4886:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 501,
                "mutability": "mutable",
                "name": "tag",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4904:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 500,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4904:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 503,
                "mutability": "mutable",
                "name": "category",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4919:16:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 502,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4919:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 505,
                "mutability": "mutable",
                "name": "trust",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4939:13:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 504,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4939:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 507,
                "mutability": "mutable",
                "name": "beneficiary",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4956:19:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 506,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4956:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 509,
                "mutability": "mutable",
                "name": "callback",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4979:16:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 508,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4979:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 511,
                "mutability": "mutable",
                "name": "params",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4999:14:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 510,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "4999:6:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 513,
                "mutability": "mutable",
                "name": "salt",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "5017:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 512,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "5017:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 515,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "5033:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 514,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5033:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "RequestOrder",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "4704:345:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.AppOrderOperation",
            "id": 523,
            "members": [
              {
                "constant": false,
                "id": 518,
                "mutability": "mutable",
                "name": "order",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 523,
                "src": "5082:24:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_AppOrder_$441_storage_ptr",
                  "typeString": "struct IexecLibOrders_v5.AppOrder"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 517,
                  "name": "AppOrder",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 441,
                  "src": "5082:8:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_AppOrder_$441_storage_ptr",
                    "typeString": "struct IexecLibOrders_v5.AppOrder"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 520,
                "mutability": "mutable",
                "name": "operation",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 523,
                "src": "5110:28:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                  "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 519,
                  "name": "OrderOperationEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 413,
                  "src": "5110:18:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                    "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 522,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 523,
                "src": "5142:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 521,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5142:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "AppOrderOperation",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "5052:117:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.DatasetOrderOperation",
            "id": 530,
            "members": [
              {
                "constant": false,
                "id": 525,
                "mutability": "mutable",
                "name": "order",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 530,
                "src": "5206:24:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_DatasetOrder_$460_storage_ptr",
                  "typeString": "struct IexecLibOrders_v5.DatasetOrder"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 524,
                  "name": "DatasetOrder",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 460,
                  "src": "5206:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DatasetOrder_$460_storage_ptr",
                    "typeString": "struct IexecLibOrders_v5.DatasetOrder"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 527,
                "mutability": "mutable",
                "name": "operation",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 530,
                "src": "5234:28:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                  "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 526,
                  "name": "OrderOperationEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 413,
                  "src": "5234:18:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                    "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 529,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 530,
                "src": "5266:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 528,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5266:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "DatasetOrderOperation",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "5172:121:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.WorkerpoolOrderOperation",
            "id": 537,
            "members": [
              {
                "constant": false,
                "id": 532,
                "mutability": "mutable",
                "name": "order",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 537,
                "src": "5333:24:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_storage_ptr",
                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 531,
                  "name": "WorkerpoolOrder",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 483,
                  "src": "5333:15:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_storage_ptr",
                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 534,
                "mutability": "mutable",
                "name": "operation",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 537,
                "src": "5361:28:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                  "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 533,
                  "name": "OrderOperationEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 413,
                  "src": "5361:18:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                    "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 536,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 537,
                "src": "5393:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 535,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5393:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "WorkerpoolOrderOperation",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "5296:124:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.RequestOrderOperation",
            "id": 544,
            "members": [
              {
                "constant": false,
                "id": 539,
                "mutability": "mutable",
                "name": "order",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 544,
                "src": "5457:24:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_RequestOrder_$516_storage_ptr",
                  "typeString": "struct IexecLibOrders_v5.RequestOrder"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 538,
                  "name": "RequestOrder",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 516,
                  "src": "5457:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestOrder_$516_storage_ptr",
                    "typeString": "struct IexecLibOrders_v5.RequestOrder"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 541,
                "mutability": "mutable",
                "name": "operation",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 544,
                "src": "5485:28:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                  "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 540,
                  "name": "OrderOperationEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 413,
                  "src": "5485:18:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                    "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 543,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 544,
                "src": "5517:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 542,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5517:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "RequestOrderOperation",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "5423:121:6",
            "visibility": "public"
          },
          {
            "body": {
              "id": 576,
              "nodeType": "Block",
              "src": "5633:230:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 554,
                            "name": "EIP712DOMAIN_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 386,
                            "src": "5710:21:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 558,
                                      "name": "_domain",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 546,
                                      "src": "5752:7:6",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_EIP712Domain_$422_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.EIP712Domain memory"
                                      }
                                    },
                                    "id": 559,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "name",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 415,
                                    "src": "5752:12:6",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 557,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "5746:5:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                    "typeString": "type(bytes storage pointer)"
                                  },
                                  "typeName": {
                                    "id": 556,
                                    "name": "bytes",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "5746:5:6",
                                    "typeDescriptions": {
                                      "typeIdentifier": null,
                                      "typeString": null
                                    }
                                  }
                                },
                                "id": 560,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5746:19:6",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 555,
                              "name": "keccak256",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -8,
                              "src": "5736:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (bytes memory) pure returns (bytes32)"
                              }
                            },
                            "id": 561,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5736:30:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 565,
                                      "name": "_domain",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 546,
                                      "src": "5787:7:6",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_EIP712Domain_$422_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.EIP712Domain memory"
                                      }
                                    },
                                    "id": 566,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "version",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 417,
                                    "src": "5787:15:6",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 564,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "5781:5:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                    "typeString": "type(bytes storage pointer)"
                                  },
                                  "typeName": {
                                    "id": 563,
                                    "name": "bytes",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "5781:5:6",
                                    "typeDescriptions": {
                                      "typeIdentifier": null,
                                      "typeString": null
                                    }
                                  }
                                },
                                "id": 567,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5781:22:6",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 562,
                              "name": "keccak256",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -8,
                              "src": "5771:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (bytes memory) pure returns (bytes32)"
                              }
                            },
                            "id": 568,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5771:33:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 569,
                              "name": "_domain",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 546,
                              "src": "5809:7:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_EIP712Domain_$422_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.EIP712Domain memory"
                              }
                            },
                            "id": 570,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "chainId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 419,
                            "src": "5809:15:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 571,
                              "name": "_domain",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 546,
                              "src": "5829:7:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_EIP712Domain_$422_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.EIP712Domain memory"
                              }
                            },
                            "id": 572,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "verifyingContract",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 421,
                            "src": "5829:25:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 552,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "5695:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 553,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5695:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 573,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5695:163:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 551,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "5685:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 574,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5685:174:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 550,
                  "id": 575,
                  "nodeType": "Return",
                  "src": "5678:181:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "74147c4d",
            "id": 577,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 547,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 546,
                  "mutability": "mutable",
                  "name": "_domain",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 577,
                  "src": "5561:27:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_EIP712Domain_$422_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.EIP712Domain"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 545,
                    "name": "EIP712Domain",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 422,
                    "src": "5561:12:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_EIP712Domain_$422_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.EIP712Domain"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5560:29:6"
            },
            "returnParameters": {
              "id": 550,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 549,
                  "mutability": "mutable",
                  "name": "domainhash",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 577,
                  "src": "5612:18:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 548,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5612:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5611:20:6"
            },
            "scope": 815,
            "src": "5547:316:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 607,
              "nodeType": "Block",
              "src": "5947:297:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 587,
                            "name": "APPORDER_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 389,
                            "src": "6024:17:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 588,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6046:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 589,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "app",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 424,
                            "src": "6046:13:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 590,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6064:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 591,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "appprice",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 426,
                            "src": "6064:18:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 592,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6087:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 593,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "volume",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 428,
                            "src": "6087:16:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 594,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6108:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 595,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "tag",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 430,
                            "src": "6108:13:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 596,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6126:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 597,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "datasetrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 432,
                            "src": "6126:25:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 598,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6156:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 599,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "workerpoolrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 434,
                            "src": "6156:28:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 600,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6189:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 601,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "requesterrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 436,
                            "src": "6189:27:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 602,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6221:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 603,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "salt",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 438,
                            "src": "6221:14:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 585,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "6009:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 586,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6009:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 604,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6009:230:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 584,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "5999:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 605,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5999:241:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 583,
                  "id": 606,
                  "nodeType": "Return",
                  "src": "5992:248:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "7c0d54d3",
            "id": 608,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 580,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 579,
                  "mutability": "mutable",
                  "name": "_apporder",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 608,
                  "src": "5880:25:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.AppOrder"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 578,
                    "name": "AppOrder",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 441,
                    "src": "5880:8:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AppOrder_$441_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.AppOrder"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5879:27:6"
            },
            "returnParameters": {
              "id": 583,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 582,
                  "mutability": "mutable",
                  "name": "apphash",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 608,
                  "src": "5929:15:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 581,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5929:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5928:17:6"
            },
            "scope": 815,
            "src": "5866:378:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 638,
              "nodeType": "Block",
              "src": "6340:337:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 618,
                            "name": "DATASETORDER_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 392,
                            "src": "6417:21:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 619,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6443:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 620,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "dataset",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 443,
                            "src": "6443:21:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 621,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6469:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 622,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "datasetprice",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 445,
                            "src": "6469:26:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 623,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6500:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 624,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "volume",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 447,
                            "src": "6500:20:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 625,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6525:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 626,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "tag",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 449,
                            "src": "6525:17:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 627,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6547:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 628,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "apprestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 451,
                            "src": "6547:25:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 629,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6577:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 630,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "workerpoolrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 453,
                            "src": "6577:32:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 631,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6614:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 632,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "requesterrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 455,
                            "src": "6614:31:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 633,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6650:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 634,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "salt",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 457,
                            "src": "6650:18:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 616,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "6402:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 617,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6402:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 635,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6402:270:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 615,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "6392:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 636,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6392:281:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 614,
                  "id": 637,
                  "nodeType": "Return",
                  "src": "6385:288:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "11b2eee2",
            "id": 639,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 610,
                  "mutability": "mutable",
                  "name": "_datasetorder",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 639,
                  "src": "6261:33:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.DatasetOrder"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 609,
                    "name": "DatasetOrder",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 460,
                    "src": "6261:12:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DatasetOrder_$460_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.DatasetOrder"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6260:35:6"
            },
            "returnParameters": {
              "id": 614,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 613,
                  "mutability": "mutable",
                  "name": "datasethash",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 639,
                  "src": "6318:19:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 612,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6318:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6317:21:6"
            },
            "scope": 815,
            "src": "6247:430:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 673,
              "nodeType": "Block",
              "src": "6782:424:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 649,
                            "name": "WORKERPOOLORDER_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 395,
                            "src": "6859:24:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 650,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "6888:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 651,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "workerpool",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 462,
                            "src": "6888:27:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 652,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "6920:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 653,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "workerpoolprice",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 464,
                            "src": "6920:32:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 654,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "6957:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 655,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "volume",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 466,
                            "src": "6957:23:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 656,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "6985:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 657,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "tag",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 468,
                            "src": "6985:20:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 658,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7010:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 659,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "category",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 470,
                            "src": "7010:25:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 660,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7040:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 661,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "trust",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 472,
                            "src": "7040:22:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 662,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7067:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 663,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "apprestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 474,
                            "src": "7067:28:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 664,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7100:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 665,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "datasetrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 476,
                            "src": "7100:32:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 666,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7137:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 667,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "requesterrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 478,
                            "src": "7137:34:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 668,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7176:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 669,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "salt",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 480,
                            "src": "7176:21:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 647,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "6844:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 648,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6844:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 670,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6844:357:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 646,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "6834:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 671,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6834:368:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 645,
                  "id": 672,
                  "nodeType": "Return",
                  "src": "6827:375:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "fed985fe",
            "id": 674,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 642,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 641,
                  "mutability": "mutable",
                  "name": "_workerpoolorder",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 674,
                  "src": "6694:39:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 640,
                    "name": "WorkerpoolOrder",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 483,
                    "src": "6694:15:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6693:41:6"
            },
            "returnParameters": {
              "id": 645,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 644,
                  "mutability": "mutable",
                  "name": "workerpoolhash",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 674,
                  "src": "6757:22:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 643,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6757:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6756:24:6"
            },
            "scope": 815,
            "src": "6680:526:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 729,
              "nodeType": "Block",
              "src": "7302:596:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 686,
                                "name": "REQUESTORDER_TYPEHASH",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 398,
                                "src": "7401:21:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 687,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7428:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 688,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "app",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 485,
                                "src": "7428:17:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 689,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7451:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 690,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "appmaxprice",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 487,
                                "src": "7451:25:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 691,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7482:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 692,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "dataset",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 489,
                                "src": "7482:21:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 693,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7509:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 694,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "datasetmaxprice",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 491,
                                "src": "7509:29:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 695,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7544:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 696,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "workerpool",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 493,
                                "src": "7544:24:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 697,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7574:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 698,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "workerpoolmaxprice",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 495,
                                "src": "7574:32:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 684,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "7385:3:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 685,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "encode",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "7385:10:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 699,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7385:226:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 702,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7632:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 703,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "requester",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 497,
                                "src": "7632:23:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 704,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7661:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 705,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "volume",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 499,
                                "src": "7661:20:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 706,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7687:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 707,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "tag",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 501,
                                "src": "7687:17:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 708,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7710:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 709,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "category",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 503,
                                "src": "7710:22:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 710,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7738:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 711,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "trust",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 505,
                                "src": "7738:19:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 712,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7763:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 713,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "beneficiary",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 507,
                                "src": "7763:25:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 714,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7794:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 715,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "callback",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 509,
                                "src": "7794:22:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 719,
                                          "name": "_requestorder",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 676,
                                          "src": "7838:13:6",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                            "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                          }
                                        },
                                        "id": 720,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "params",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 511,
                                        "src": "7838:20:6",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "id": 718,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "7832:5:6",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                        "typeString": "type(bytes storage pointer)"
                                      },
                                      "typeName": {
                                        "id": 717,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7832:5:6",
                                        "typeDescriptions": {
                                          "typeIdentifier": null,
                                          "typeString": null
                                        }
                                      }
                                    },
                                    "id": 721,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "7832:27:6",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "id": 716,
                                  "name": "keccak256",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -8,
                                  "src": "7822:9:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                    "typeString": "function (bytes memory) pure returns (bytes32)"
                                  }
                                },
                                "id": 722,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "7822:38:6",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 723,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7866:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 724,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "salt",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 513,
                                "src": "7866:18:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 700,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "7616:3:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 701,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "encode",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "7616:10:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 725,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7616:273:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            },
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 682,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "7364:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 683,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7364:16:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 726,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7364:529:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 681,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "7354:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 727,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7354:540:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 680,
                  "id": 728,
                  "nodeType": "Return",
                  "src": "7347:547:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "8ac03f33",
            "id": 730,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 677,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 676,
                  "mutability": "mutable",
                  "name": "_requestorder",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 730,
                  "src": "7223:33:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.RequestOrder"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 675,
                    "name": "RequestOrder",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 516,
                    "src": "7223:12:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestOrder_$516_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.RequestOrder"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7222:35:6"
            },
            "returnParameters": {
              "id": 680,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 679,
                  "mutability": "mutable",
                  "name": "requesthash",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 730,
                  "src": "7280:19:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 678,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7280:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7279:21:6"
            },
            "scope": 815,
            "src": "7209:689:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 750,
              "nodeType": "Block",
              "src": "7992:139:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 740,
                            "name": "APPORDEROPERATION_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 401,
                            "src": "8028:26:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 742,
                                  "name": "_apporderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 732,
                                  "src": "8064:18:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                  }
                                },
                                "id": 743,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 518,
                                "src": "8064:24:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                                }
                              ],
                              "id": 741,
                              "name": "hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                577,
                                608,
                                639,
                                674,
                                730,
                                751,
                                772,
                                793,
                                814
                              ],
                              "referencedDeclaration": 608,
                              "src": "8059:4:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_AppOrder_$441_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (struct IexecLibOrders_v5.AppOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 744,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8059:30:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 745,
                              "name": "_apporderoperation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 732,
                              "src": "8094:18:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                              }
                            },
                            "id": 746,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "operation",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 520,
                            "src": "8094:28:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 738,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "8013:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 739,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8013:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 747,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8013:113:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 737,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "8003:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 748,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8003:124:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 736,
                  "id": 749,
                  "nodeType": "Return",
                  "src": "7996:131:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "6cf30b8b",
            "id": 751,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 733,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 732,
                  "mutability": "mutable",
                  "name": "_apporderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 751,
                  "src": "7915:43:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.AppOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 731,
                    "name": "AppOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 523,
                    "src": "7915:17:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AppOrderOperation_$523_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.AppOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7914:45:6"
            },
            "returnParameters": {
              "id": 736,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 735,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 751,
                  "src": "7982:7:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 734,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7982:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7981:9:6"
            },
            "scope": 815,
            "src": "7901:230:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 771,
              "nodeType": "Block",
              "src": "8233:151:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 761,
                            "name": "DATASETORDEROPERATION_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 404,
                            "src": "8269:30:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 763,
                                  "name": "_datasetorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 753,
                                  "src": "8309:22:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                  }
                                },
                                "id": 764,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 525,
                                "src": "8309:28:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                                }
                              ],
                              "id": 762,
                              "name": "hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                577,
                                608,
                                639,
                                674,
                                730,
                                751,
                                772,
                                793,
                                814
                              ],
                              "referencedDeclaration": 639,
                              "src": "8304:4:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_DatasetOrder_$460_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (struct IexecLibOrders_v5.DatasetOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 765,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8304:34:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 766,
                              "name": "_datasetorderoperation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 753,
                              "src": "8343:22:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                              }
                            },
                            "id": 767,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "operation",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 527,
                            "src": "8343:32:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 759,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "8254:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 760,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8254:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 768,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8254:125:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 758,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "8244:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 769,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8244:136:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 757,
                  "id": 770,
                  "nodeType": "Return",
                  "src": "8237:143:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "4118eb98",
            "id": 772,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 754,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 753,
                  "mutability": "mutable",
                  "name": "_datasetorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 772,
                  "src": "8148:51:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 752,
                    "name": "DatasetOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 530,
                    "src": "8148:21:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8147:53:6"
            },
            "returnParameters": {
              "id": 757,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 756,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 772,
                  "src": "8223:7:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 755,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8223:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8222:9:6"
            },
            "scope": 815,
            "src": "8134:250:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 792,
              "nodeType": "Block",
              "src": "8492:160:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 782,
                            "name": "WORKERPOOLORDEROPERATION_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 407,
                            "src": "8528:33:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 784,
                                  "name": "_workerpoolorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 774,
                                  "src": "8571:25:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                  }
                                },
                                "id": 785,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 532,
                                "src": "8571:31:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                                }
                              ],
                              "id": 783,
                              "name": "hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                577,
                                608,
                                639,
                                674,
                                730,
                                751,
                                772,
                                793,
                                814
                              ],
                              "referencedDeclaration": 674,
                              "src": "8566:4:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_WorkerpoolOrder_$483_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (struct IexecLibOrders_v5.WorkerpoolOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 786,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8566:37:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 787,
                              "name": "_workerpoolorderoperation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 774,
                              "src": "8608:25:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                              }
                            },
                            "id": 788,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "operation",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 534,
                            "src": "8608:35:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 780,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "8513:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 781,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8513:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 789,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8513:134:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 779,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "8503:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 790,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8503:145:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 778,
                  "id": 791,
                  "nodeType": "Return",
                  "src": "8496:152:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "5b559f6a",
            "id": 793,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 775,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 774,
                  "mutability": "mutable",
                  "name": "_workerpoolorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 793,
                  "src": "8401:57:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 773,
                    "name": "WorkerpoolOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 537,
                    "src": "8401:24:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8400:59:6"
            },
            "returnParameters": {
              "id": 778,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 777,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 793,
                  "src": "8482:7:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 776,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8482:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8481:9:6"
            },
            "scope": 815,
            "src": "8387:265:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 813,
              "nodeType": "Block",
              "src": "8754:151:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 803,
                            "name": "REQUESTORDEROPERATION_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 410,
                            "src": "8790:30:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 805,
                                  "name": "_requestorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 795,
                                  "src": "8830:22:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                                  }
                                },
                                "id": 806,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 539,
                                "src": "8830:28:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                }
                              ],
                              "id": 804,
                              "name": "hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                577,
                                608,
                                639,
                                674,
                                730,
                                751,
                                772,
                                793,
                                814
                              ],
                              "referencedDeclaration": 730,
                              "src": "8825:4:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_RequestOrder_$516_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (struct IexecLibOrders_v5.RequestOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 807,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8825:34:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 808,
                              "name": "_requestorderoperation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 795,
                              "src": "8864:22:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                              }
                            },
                            "id": 809,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "operation",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 541,
                            "src": "8864:32:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 801,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "8775:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 802,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8775:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 810,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8775:125:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 800,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "8765:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 811,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8765:136:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 799,
                  "id": 812,
                  "nodeType": "Return",
                  "src": "8758:143:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "20aabe53",
            "id": 814,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 796,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 795,
                  "mutability": "mutable",
                  "name": "_requestorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 814,
                  "src": "8669:51:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.RequestOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 794,
                    "name": "RequestOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 544,
                    "src": "8669:21:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestOrderOperation_$544_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.RequestOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8668:53:6"
            },
            "returnParameters": {
              "id": 799,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 798,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 814,
                  "src": "8744:7:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 797,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8744:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8743:9:6"
            },
            "scope": 815,
            "src": "8655:250:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 816,
        "src": "60:8847:6"
      }
    ],
    "src": "0:8908:6"
  },
  "legacyAST": {
    "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibOrders_v5.sol",
    "exportedSymbols": {
      "IexecLibOrders_v5": [
        815
      ]
    },
    "id": 816,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 382,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:6"
      },
      {
        "id": 383,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "24:33:6"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": null,
        "fullyImplemented": true,
        "id": 815,
        "linearizedBaseContracts": [
          815
        ],
        "name": "IexecLibOrders_v5",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "functionSelector": "c49f91d3",
            "id": 386,
            "mutability": "constant",
            "name": "EIP712DOMAIN_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "2694:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 384,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "2694:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307838623733633363363962623866653364353132656363346366373539636337393233396637623137396230666661636161396137356435323262333934303066",
              "id": 385,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2754:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_63076024560530113402979550242307453568063438748328787417531900361828837441551_by_1",
                "typeString": "int_const 6307...(69 digits omitted)...1551"
              },
              "value": "0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "207dbbfe",
            "id": 389,
            "mutability": "constant",
            "name": "APPORDER_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "2823:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 387,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "2823:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307836303831356130656565633437646464663136313566653533623331643031366333313434346530316239643739366462333635343433613634343564303038",
              "id": 388,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2883:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_43650578295105606754044185872167596760177065654633489567262380834068554436616_by_1",
                "typeString": "int_const 4365...(69 digits omitted)...6616"
              },
              "value": "0x60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d008"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "6f84d2da",
            "id": 392,
            "mutability": "constant",
            "name": "DATASETORDER_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "2952:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 390,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "2952:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307836636663393332613561336432326334333539323935623966343333656466663532623630373033666134373639306130346138336534303933336464343763",
              "id": 391,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3012:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_49296048805850917090765960952023182941721207539109048881877448770624132338812_by_1",
                "typeString": "int_const 4929...(69 digits omitted)...8812"
              },
              "value": "0x6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "65db1dbb",
            "id": 395,
            "mutability": "constant",
            "name": "WORKERPOOLORDER_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3081:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 393,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3081:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307861613334323966623238316233343639313830333133336433643937386137356262373763363137656436626339616131363262396233303932303032326262",
              "id": 394,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3141:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_76985350049294276919496274109432266747292083504708634510021467980890602742459_by_1",
                "typeString": "int_const 7698...(69 digits omitted)...2459"
              },
              "value": "0xaa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "9a6f72ee",
            "id": 398,
            "mutability": "constant",
            "name": "REQUESTORDER_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3210:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 396,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3210:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307866323465383533303334613361343530616261383435613832393134666262353634616438356163636361366366363262653131326131353435323066616530",
              "id": 397,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3270:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_109598442660088300653958618162198742178051133390042090218504207231673715194592_by_1",
                "typeString": "int_const 1095...(70 digits omitted)...4592"
              },
              "value": "0xf24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae0"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "b75cdd53",
            "id": 401,
            "mutability": "constant",
            "name": "APPORDEROPERATION_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3339:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 399,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3339:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307830363338626230373032343537653262346230316265386132303235373962386266393765353837666234663263633464346161643031663231613036656530",
              "id": 400,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3399:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2814111342652876641078356634543838006581553744278600690173851341526940020448_by_1",
                "typeString": "int_const 2814...(68 digits omitted)...0448"
              },
              "value": "0x0638bb0702457e2b4b01be8a202579b8bf97e587fb4f2cc4d4aad01f21a06ee0"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "c4b7bfc3",
            "id": 404,
            "mutability": "constant",
            "name": "DATASETORDEROPERATION_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3468:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 402,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3468:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307830373565623666373537386666343239326332343162643234383463643563316435653665636332646464333331376531643831373662356134353836356563",
              "id": 403,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3528:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_3333536350335364028826455582891813236021703289014087622158894669050001516012_by_1",
                "typeString": "int_const 3333...(68 digits omitted)...6012"
              },
              "value": "0x075eb6f7578ff4292c241bd2484cd5c1d5e6ecc2ddd3317e1d8176b5a45865ec"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "59b123db",
            "id": 407,
            "mutability": "constant",
            "name": "WORKERPOOLORDEROPERATION_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3597:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 405,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3597:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307833323264393830623764376136613166376333396666306335343435646136616531643865303339336666306464343638633862653365326338363434333838",
              "id": 406,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3657:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_22696199922296867098487000686041087384677369148371795753394524964030551180168_by_1",
                "typeString": "int_const 2269...(69 digits omitted)...0168"
              },
              "value": "0x322d980b7d7a6a1f7c39ff0c5445da6ae1d8e0393ff0dd468c8be3e2c8644388"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "735f5619",
            "id": 410,
            "mutability": "constant",
            "name": "REQUESTORDEROPERATION_TYPEHASH",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 815,
            "src": "3726:126:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 408,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3726:7:6",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307830646564376235326332643737353935613430643234326563613735316466313732623138653638363332366462626564336634373438383238616637376337",
              "id": 409,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3786:66:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_6299660931970441485380746135897439693121283441449151267316216303362967041991_by_1",
                "typeString": "int_const 6299...(68 digits omitted)...1991"
              },
              "value": "0x0ded7b52c2d77595a40d242eca751df172b18e686326dbbed3f4748828af77c7"
            },
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.OrderOperationEnum",
            "id": 413,
            "members": [
              {
                "id": 411,
                "name": "SIGN",
                "nodeType": "EnumValue",
                "src": "3885:4:6"
              },
              {
                "id": 412,
                "name": "CLOSE",
                "nodeType": "EnumValue",
                "src": "3893:5:6"
              }
            ],
            "name": "OrderOperationEnum",
            "nodeType": "EnumDefinition",
            "src": "3856:45:6"
          },
          {
            "canonicalName": "IexecLibOrders_v5.EIP712Domain",
            "id": 422,
            "members": [
              {
                "constant": false,
                "id": 415,
                "mutability": "mutable",
                "name": "name",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 422,
                "src": "3929:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 414,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "3929:6:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 417,
                "mutability": "mutable",
                "name": "version",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 422,
                "src": "3945:15:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 416,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "3945:6:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 419,
                "mutability": "mutable",
                "name": "chainId",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 422,
                "src": "3964:15:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 418,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3964:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 421,
                "mutability": "mutable",
                "name": "verifyingContract",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 422,
                "src": "3983:25:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 420,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3983:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "EIP712Domain",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "3904:108:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.AppOrder",
            "id": 441,
            "members": [
              {
                "constant": false,
                "id": 424,
                "mutability": "mutable",
                "name": "app",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4036:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 423,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4036:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 426,
                "mutability": "mutable",
                "name": "appprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4051:16:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 425,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4051:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 428,
                "mutability": "mutable",
                "name": "volume",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4071:14:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 427,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4071:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 430,
                "mutability": "mutable",
                "name": "tag",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4089:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 429,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4089:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 432,
                "mutability": "mutable",
                "name": "datasetrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4104:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 431,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4104:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 434,
                "mutability": "mutable",
                "name": "workerpoolrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4131:26:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 433,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4131:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 436,
                "mutability": "mutable",
                "name": "requesterrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4161:25:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 435,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4161:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 438,
                "mutability": "mutable",
                "name": "salt",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4190:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 437,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4190:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 440,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 441,
                "src": "4206:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 439,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4206:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "AppOrder",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "4015:207:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.DatasetOrder",
            "id": 460,
            "members": [
              {
                "constant": false,
                "id": 443,
                "mutability": "mutable",
                "name": "dataset",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4250:15:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 442,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4250:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 445,
                "mutability": "mutable",
                "name": "datasetprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4269:20:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 444,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4269:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 447,
                "mutability": "mutable",
                "name": "volume",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4293:14:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 446,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4293:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 449,
                "mutability": "mutable",
                "name": "tag",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4311:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 448,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4311:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 451,
                "mutability": "mutable",
                "name": "apprestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4326:19:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 450,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4326:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 453,
                "mutability": "mutable",
                "name": "workerpoolrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4349:26:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 452,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4349:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 455,
                "mutability": "mutable",
                "name": "requesterrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4379:25:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 454,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4379:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 457,
                "mutability": "mutable",
                "name": "salt",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4408:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 456,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4408:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 459,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 460,
                "src": "4424:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 458,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4424:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "DatasetOrder",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "4225:215:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.WorkerpoolOrder",
            "id": 483,
            "members": [
              {
                "constant": false,
                "id": 462,
                "mutability": "mutable",
                "name": "workerpool",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4471:18:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 461,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4471:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 464,
                "mutability": "mutable",
                "name": "workerpoolprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4493:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 463,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4493:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 466,
                "mutability": "mutable",
                "name": "volume",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4520:14:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 465,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4520:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 468,
                "mutability": "mutable",
                "name": "tag",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4538:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 467,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4538:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 470,
                "mutability": "mutable",
                "name": "category",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4553:16:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 469,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4553:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 472,
                "mutability": "mutable",
                "name": "trust",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4573:13:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 471,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4573:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 474,
                "mutability": "mutable",
                "name": "apprestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4590:19:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 473,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4590:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 476,
                "mutability": "mutable",
                "name": "datasetrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4613:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 475,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4613:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 478,
                "mutability": "mutable",
                "name": "requesterrestrict",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4640:25:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 477,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4640:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 480,
                "mutability": "mutable",
                "name": "salt",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4669:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 479,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4669:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 482,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 483,
                "src": "4685:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 481,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4685:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "WorkerpoolOrder",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "4443:258:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.RequestOrder",
            "id": 516,
            "members": [
              {
                "constant": false,
                "id": 485,
                "mutability": "mutable",
                "name": "app",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4729:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 484,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4729:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 487,
                "mutability": "mutable",
                "name": "appmaxprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4744:19:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 486,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4744:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 489,
                "mutability": "mutable",
                "name": "dataset",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4767:15:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 488,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4767:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 491,
                "mutability": "mutable",
                "name": "datasetmaxprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4786:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 490,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4786:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 493,
                "mutability": "mutable",
                "name": "workerpool",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4813:18:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 492,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4813:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 495,
                "mutability": "mutable",
                "name": "workerpoolmaxprice",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4835:26:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 494,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4835:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 497,
                "mutability": "mutable",
                "name": "requester",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4865:17:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 496,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4865:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 499,
                "mutability": "mutable",
                "name": "volume",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4886:14:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 498,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4886:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 501,
                "mutability": "mutable",
                "name": "tag",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4904:11:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 500,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4904:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 503,
                "mutability": "mutable",
                "name": "category",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4919:16:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 502,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4919:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 505,
                "mutability": "mutable",
                "name": "trust",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4939:13:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 504,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4939:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 507,
                "mutability": "mutable",
                "name": "beneficiary",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4956:19:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 506,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4956:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 509,
                "mutability": "mutable",
                "name": "callback",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4979:16:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 508,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4979:7:6",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 511,
                "mutability": "mutable",
                "name": "params",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "4999:14:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 510,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "4999:6:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 513,
                "mutability": "mutable",
                "name": "salt",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "5017:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 512,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "5017:7:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 515,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 516,
                "src": "5033:12:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 514,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5033:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "RequestOrder",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "4704:345:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.AppOrderOperation",
            "id": 523,
            "members": [
              {
                "constant": false,
                "id": 518,
                "mutability": "mutable",
                "name": "order",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 523,
                "src": "5082:24:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_AppOrder_$441_storage_ptr",
                  "typeString": "struct IexecLibOrders_v5.AppOrder"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 517,
                  "name": "AppOrder",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 441,
                  "src": "5082:8:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_AppOrder_$441_storage_ptr",
                    "typeString": "struct IexecLibOrders_v5.AppOrder"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 520,
                "mutability": "mutable",
                "name": "operation",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 523,
                "src": "5110:28:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                  "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 519,
                  "name": "OrderOperationEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 413,
                  "src": "5110:18:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                    "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 522,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 523,
                "src": "5142:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 521,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5142:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "AppOrderOperation",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "5052:117:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.DatasetOrderOperation",
            "id": 530,
            "members": [
              {
                "constant": false,
                "id": 525,
                "mutability": "mutable",
                "name": "order",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 530,
                "src": "5206:24:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_DatasetOrder_$460_storage_ptr",
                  "typeString": "struct IexecLibOrders_v5.DatasetOrder"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 524,
                  "name": "DatasetOrder",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 460,
                  "src": "5206:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DatasetOrder_$460_storage_ptr",
                    "typeString": "struct IexecLibOrders_v5.DatasetOrder"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 527,
                "mutability": "mutable",
                "name": "operation",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 530,
                "src": "5234:28:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                  "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 526,
                  "name": "OrderOperationEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 413,
                  "src": "5234:18:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                    "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 529,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 530,
                "src": "5266:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 528,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5266:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "DatasetOrderOperation",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "5172:121:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.WorkerpoolOrderOperation",
            "id": 537,
            "members": [
              {
                "constant": false,
                "id": 532,
                "mutability": "mutable",
                "name": "order",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 537,
                "src": "5333:24:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_storage_ptr",
                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 531,
                  "name": "WorkerpoolOrder",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 483,
                  "src": "5333:15:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_storage_ptr",
                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 534,
                "mutability": "mutable",
                "name": "operation",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 537,
                "src": "5361:28:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                  "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 533,
                  "name": "OrderOperationEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 413,
                  "src": "5361:18:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                    "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 536,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 537,
                "src": "5393:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 535,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5393:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "WorkerpoolOrderOperation",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "5296:124:6",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibOrders_v5.RequestOrderOperation",
            "id": 544,
            "members": [
              {
                "constant": false,
                "id": 539,
                "mutability": "mutable",
                "name": "order",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 544,
                "src": "5457:24:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_RequestOrder_$516_storage_ptr",
                  "typeString": "struct IexecLibOrders_v5.RequestOrder"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 538,
                  "name": "RequestOrder",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 516,
                  "src": "5457:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestOrder_$516_storage_ptr",
                    "typeString": "struct IexecLibOrders_v5.RequestOrder"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 541,
                "mutability": "mutable",
                "name": "operation",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 544,
                "src": "5485:28:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                  "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 540,
                  "name": "OrderOperationEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 413,
                  "src": "5485:18:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                    "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 543,
                "mutability": "mutable",
                "name": "sign",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 544,
                "src": "5517:23:6",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 542,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5517:5:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "RequestOrderOperation",
            "nodeType": "StructDefinition",
            "scope": 815,
            "src": "5423:121:6",
            "visibility": "public"
          },
          {
            "body": {
              "id": 576,
              "nodeType": "Block",
              "src": "5633:230:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 554,
                            "name": "EIP712DOMAIN_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 386,
                            "src": "5710:21:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 558,
                                      "name": "_domain",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 546,
                                      "src": "5752:7:6",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_EIP712Domain_$422_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.EIP712Domain memory"
                                      }
                                    },
                                    "id": 559,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "name",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 415,
                                    "src": "5752:12:6",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 557,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "5746:5:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                    "typeString": "type(bytes storage pointer)"
                                  },
                                  "typeName": {
                                    "id": 556,
                                    "name": "bytes",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "5746:5:6",
                                    "typeDescriptions": {
                                      "typeIdentifier": null,
                                      "typeString": null
                                    }
                                  }
                                },
                                "id": 560,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5746:19:6",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 555,
                              "name": "keccak256",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -8,
                              "src": "5736:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (bytes memory) pure returns (bytes32)"
                              }
                            },
                            "id": 561,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5736:30:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 565,
                                      "name": "_domain",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 546,
                                      "src": "5787:7:6",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_EIP712Domain_$422_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.EIP712Domain memory"
                                      }
                                    },
                                    "id": 566,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "version",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 417,
                                    "src": "5787:15:6",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 564,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "5781:5:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                    "typeString": "type(bytes storage pointer)"
                                  },
                                  "typeName": {
                                    "id": 563,
                                    "name": "bytes",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "5781:5:6",
                                    "typeDescriptions": {
                                      "typeIdentifier": null,
                                      "typeString": null
                                    }
                                  }
                                },
                                "id": 567,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5781:22:6",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 562,
                              "name": "keccak256",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -8,
                              "src": "5771:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (bytes memory) pure returns (bytes32)"
                              }
                            },
                            "id": 568,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5771:33:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 569,
                              "name": "_domain",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 546,
                              "src": "5809:7:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_EIP712Domain_$422_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.EIP712Domain memory"
                              }
                            },
                            "id": 570,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "chainId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 419,
                            "src": "5809:15:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 571,
                              "name": "_domain",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 546,
                              "src": "5829:7:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_EIP712Domain_$422_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.EIP712Domain memory"
                              }
                            },
                            "id": 572,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "verifyingContract",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 421,
                            "src": "5829:25:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 552,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "5695:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 553,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5695:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 573,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5695:163:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 551,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "5685:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 574,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5685:174:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 550,
                  "id": 575,
                  "nodeType": "Return",
                  "src": "5678:181:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "74147c4d",
            "id": 577,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 547,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 546,
                  "mutability": "mutable",
                  "name": "_domain",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 577,
                  "src": "5561:27:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_EIP712Domain_$422_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.EIP712Domain"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 545,
                    "name": "EIP712Domain",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 422,
                    "src": "5561:12:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_EIP712Domain_$422_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.EIP712Domain"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5560:29:6"
            },
            "returnParameters": {
              "id": 550,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 549,
                  "mutability": "mutable",
                  "name": "domainhash",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 577,
                  "src": "5612:18:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 548,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5612:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5611:20:6"
            },
            "scope": 815,
            "src": "5547:316:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 607,
              "nodeType": "Block",
              "src": "5947:297:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 587,
                            "name": "APPORDER_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 389,
                            "src": "6024:17:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 588,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6046:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 589,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "app",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 424,
                            "src": "6046:13:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 590,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6064:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 591,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "appprice",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 426,
                            "src": "6064:18:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 592,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6087:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 593,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "volume",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 428,
                            "src": "6087:16:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 594,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6108:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 595,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "tag",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 430,
                            "src": "6108:13:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 596,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6126:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 597,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "datasetrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 432,
                            "src": "6126:25:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 598,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6156:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 599,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "workerpoolrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 434,
                            "src": "6156:28:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 600,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6189:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 601,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "requesterrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 436,
                            "src": "6189:27:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 602,
                              "name": "_apporder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 579,
                              "src": "6221:9:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 603,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "salt",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 438,
                            "src": "6221:14:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 585,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "6009:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 586,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6009:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 604,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6009:230:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 584,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "5999:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 605,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5999:241:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 583,
                  "id": 606,
                  "nodeType": "Return",
                  "src": "5992:248:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "7c0d54d3",
            "id": 608,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 580,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 579,
                  "mutability": "mutable",
                  "name": "_apporder",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 608,
                  "src": "5880:25:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.AppOrder"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 578,
                    "name": "AppOrder",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 441,
                    "src": "5880:8:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AppOrder_$441_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.AppOrder"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5879:27:6"
            },
            "returnParameters": {
              "id": 583,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 582,
                  "mutability": "mutable",
                  "name": "apphash",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 608,
                  "src": "5929:15:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 581,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5929:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5928:17:6"
            },
            "scope": 815,
            "src": "5866:378:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 638,
              "nodeType": "Block",
              "src": "6340:337:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 618,
                            "name": "DATASETORDER_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 392,
                            "src": "6417:21:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 619,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6443:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 620,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "dataset",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 443,
                            "src": "6443:21:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 621,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6469:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 622,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "datasetprice",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 445,
                            "src": "6469:26:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 623,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6500:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 624,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "volume",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 447,
                            "src": "6500:20:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 625,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6525:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 626,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "tag",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 449,
                            "src": "6525:17:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 627,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6547:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 628,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "apprestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 451,
                            "src": "6547:25:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 629,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6577:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 630,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "workerpoolrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 453,
                            "src": "6577:32:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 631,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6614:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 632,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "requesterrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 455,
                            "src": "6614:31:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 633,
                              "name": "_datasetorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 610,
                              "src": "6650:13:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 634,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "salt",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 457,
                            "src": "6650:18:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 616,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "6402:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 617,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6402:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 635,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6402:270:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 615,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "6392:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 636,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6392:281:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 614,
                  "id": 637,
                  "nodeType": "Return",
                  "src": "6385:288:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "11b2eee2",
            "id": 639,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 610,
                  "mutability": "mutable",
                  "name": "_datasetorder",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 639,
                  "src": "6261:33:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.DatasetOrder"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 609,
                    "name": "DatasetOrder",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 460,
                    "src": "6261:12:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DatasetOrder_$460_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.DatasetOrder"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6260:35:6"
            },
            "returnParameters": {
              "id": 614,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 613,
                  "mutability": "mutable",
                  "name": "datasethash",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 639,
                  "src": "6318:19:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 612,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6318:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6317:21:6"
            },
            "scope": 815,
            "src": "6247:430:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 673,
              "nodeType": "Block",
              "src": "6782:424:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 649,
                            "name": "WORKERPOOLORDER_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 395,
                            "src": "6859:24:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 650,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "6888:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 651,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "workerpool",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 462,
                            "src": "6888:27:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 652,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "6920:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 653,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "workerpoolprice",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 464,
                            "src": "6920:32:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 654,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "6957:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 655,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "volume",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 466,
                            "src": "6957:23:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 656,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "6985:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 657,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "tag",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 468,
                            "src": "6985:20:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 658,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7010:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 659,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "category",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 470,
                            "src": "7010:25:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 660,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7040:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 661,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "trust",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 472,
                            "src": "7040:22:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 662,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7067:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 663,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "apprestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 474,
                            "src": "7067:28:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 664,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7100:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 665,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "datasetrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 476,
                            "src": "7100:32:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 666,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7137:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 667,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "requesterrestrict",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 478,
                            "src": "7137:34:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 668,
                              "name": "_workerpoolorder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 641,
                              "src": "7176:16:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 669,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "salt",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 480,
                            "src": "7176:21:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 647,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "6844:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 648,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6844:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 670,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6844:357:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 646,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "6834:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 671,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6834:368:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 645,
                  "id": 672,
                  "nodeType": "Return",
                  "src": "6827:375:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "fed985fe",
            "id": 674,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 642,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 641,
                  "mutability": "mutable",
                  "name": "_workerpoolorder",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 674,
                  "src": "6694:39:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 640,
                    "name": "WorkerpoolOrder",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 483,
                    "src": "6694:15:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6693:41:6"
            },
            "returnParameters": {
              "id": 645,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 644,
                  "mutability": "mutable",
                  "name": "workerpoolhash",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 674,
                  "src": "6757:22:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 643,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6757:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6756:24:6"
            },
            "scope": 815,
            "src": "6680:526:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 729,
              "nodeType": "Block",
              "src": "7302:596:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 686,
                                "name": "REQUESTORDER_TYPEHASH",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 398,
                                "src": "7401:21:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 687,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7428:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 688,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "app",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 485,
                                "src": "7428:17:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 689,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7451:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 690,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "appmaxprice",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 487,
                                "src": "7451:25:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 691,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7482:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 692,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "dataset",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 489,
                                "src": "7482:21:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 693,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7509:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 694,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "datasetmaxprice",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 491,
                                "src": "7509:29:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 695,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7544:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 696,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "workerpool",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 493,
                                "src": "7544:24:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 697,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7574:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 698,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "workerpoolmaxprice",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 495,
                                "src": "7574:32:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 684,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "7385:3:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 685,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "encode",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "7385:10:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 699,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7385:226:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 702,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7632:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 703,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "requester",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 497,
                                "src": "7632:23:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 704,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7661:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 705,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "volume",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 499,
                                "src": "7661:20:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 706,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7687:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 707,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "tag",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 501,
                                "src": "7687:17:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 708,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7710:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 709,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "category",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 503,
                                "src": "7710:22:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 710,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7738:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 711,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "trust",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 505,
                                "src": "7738:19:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 712,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7763:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 713,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "beneficiary",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 507,
                                "src": "7763:25:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 714,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7794:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 715,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "callback",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 509,
                                "src": "7794:22:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 719,
                                          "name": "_requestorder",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 676,
                                          "src": "7838:13:6",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                            "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                          }
                                        },
                                        "id": 720,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "params",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 511,
                                        "src": "7838:20:6",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "id": 718,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "7832:5:6",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                        "typeString": "type(bytes storage pointer)"
                                      },
                                      "typeName": {
                                        "id": 717,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7832:5:6",
                                        "typeDescriptions": {
                                          "typeIdentifier": null,
                                          "typeString": null
                                        }
                                      }
                                    },
                                    "id": 721,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "7832:27:6",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "id": 716,
                                  "name": "keccak256",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -8,
                                  "src": "7822:9:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                    "typeString": "function (bytes memory) pure returns (bytes32)"
                                  }
                                },
                                "id": 722,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "7822:38:6",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 723,
                                  "name": "_requestorder",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 676,
                                  "src": "7866:13:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                  }
                                },
                                "id": 724,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "salt",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 513,
                                "src": "7866:18:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 700,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "7616:3:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 701,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "encode",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "7616:10:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 725,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7616:273:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            },
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 682,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "7364:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 683,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7364:16:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 726,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7364:529:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 681,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "7354:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 727,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7354:540:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 680,
                  "id": 728,
                  "nodeType": "Return",
                  "src": "7347:547:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "8ac03f33",
            "id": 730,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 677,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 676,
                  "mutability": "mutable",
                  "name": "_requestorder",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 730,
                  "src": "7223:33:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.RequestOrder"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 675,
                    "name": "RequestOrder",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 516,
                    "src": "7223:12:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestOrder_$516_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.RequestOrder"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7222:35:6"
            },
            "returnParameters": {
              "id": 680,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 679,
                  "mutability": "mutable",
                  "name": "requesthash",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 730,
                  "src": "7280:19:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 678,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7280:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7279:21:6"
            },
            "scope": 815,
            "src": "7209:689:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 750,
              "nodeType": "Block",
              "src": "7992:139:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 740,
                            "name": "APPORDEROPERATION_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 401,
                            "src": "8028:26:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 742,
                                  "name": "_apporderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 732,
                                  "src": "8064:18:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                  }
                                },
                                "id": 743,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 518,
                                "src": "8064:24:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                                }
                              ],
                              "id": 741,
                              "name": "hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                577,
                                608,
                                639,
                                674,
                                730,
                                751,
                                772,
                                793,
                                814
                              ],
                              "referencedDeclaration": 608,
                              "src": "8059:4:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_AppOrder_$441_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (struct IexecLibOrders_v5.AppOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 744,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8059:30:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 745,
                              "name": "_apporderoperation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 732,
                              "src": "8094:18:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                              }
                            },
                            "id": 746,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "operation",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 520,
                            "src": "8094:28:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 738,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "8013:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 739,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8013:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 747,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8013:113:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 737,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "8003:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 748,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8003:124:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 736,
                  "id": 749,
                  "nodeType": "Return",
                  "src": "7996:131:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "6cf30b8b",
            "id": 751,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 733,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 732,
                  "mutability": "mutable",
                  "name": "_apporderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 751,
                  "src": "7915:43:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.AppOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 731,
                    "name": "AppOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 523,
                    "src": "7915:17:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AppOrderOperation_$523_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.AppOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7914:45:6"
            },
            "returnParameters": {
              "id": 736,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 735,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 751,
                  "src": "7982:7:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 734,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7982:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7981:9:6"
            },
            "scope": 815,
            "src": "7901:230:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 771,
              "nodeType": "Block",
              "src": "8233:151:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 761,
                            "name": "DATASETORDEROPERATION_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 404,
                            "src": "8269:30:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 763,
                                  "name": "_datasetorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 753,
                                  "src": "8309:22:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                  }
                                },
                                "id": 764,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 525,
                                "src": "8309:28:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                                }
                              ],
                              "id": 762,
                              "name": "hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                577,
                                608,
                                639,
                                674,
                                730,
                                751,
                                772,
                                793,
                                814
                              ],
                              "referencedDeclaration": 639,
                              "src": "8304:4:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_DatasetOrder_$460_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (struct IexecLibOrders_v5.DatasetOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 765,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8304:34:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 766,
                              "name": "_datasetorderoperation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 753,
                              "src": "8343:22:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                              }
                            },
                            "id": 767,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "operation",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 527,
                            "src": "8343:32:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 759,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "8254:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 760,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8254:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 768,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8254:125:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 758,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "8244:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 769,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8244:136:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 757,
                  "id": 770,
                  "nodeType": "Return",
                  "src": "8237:143:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "4118eb98",
            "id": 772,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 754,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 753,
                  "mutability": "mutable",
                  "name": "_datasetorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 772,
                  "src": "8148:51:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 752,
                    "name": "DatasetOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 530,
                    "src": "8148:21:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8147:53:6"
            },
            "returnParameters": {
              "id": 757,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 756,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 772,
                  "src": "8223:7:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 755,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8223:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8222:9:6"
            },
            "scope": 815,
            "src": "8134:250:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 792,
              "nodeType": "Block",
              "src": "8492:160:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 782,
                            "name": "WORKERPOOLORDEROPERATION_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 407,
                            "src": "8528:33:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 784,
                                  "name": "_workerpoolorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 774,
                                  "src": "8571:25:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                  }
                                },
                                "id": 785,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 532,
                                "src": "8571:31:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                                }
                              ],
                              "id": 783,
                              "name": "hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                577,
                                608,
                                639,
                                674,
                                730,
                                751,
                                772,
                                793,
                                814
                              ],
                              "referencedDeclaration": 674,
                              "src": "8566:4:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_WorkerpoolOrder_$483_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (struct IexecLibOrders_v5.WorkerpoolOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 786,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8566:37:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 787,
                              "name": "_workerpoolorderoperation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 774,
                              "src": "8608:25:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                              }
                            },
                            "id": 788,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "operation",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 534,
                            "src": "8608:35:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 780,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "8513:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 781,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8513:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 789,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8513:134:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 779,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "8503:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 790,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8503:145:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 778,
                  "id": 791,
                  "nodeType": "Return",
                  "src": "8496:152:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "5b559f6a",
            "id": 793,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 775,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 774,
                  "mutability": "mutable",
                  "name": "_workerpoolorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 793,
                  "src": "8401:57:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 773,
                    "name": "WorkerpoolOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 537,
                    "src": "8401:24:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8400:59:6"
            },
            "returnParameters": {
              "id": 778,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 777,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 793,
                  "src": "8482:7:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 776,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8482:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8481:9:6"
            },
            "scope": 815,
            "src": "8387:265:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 813,
              "nodeType": "Block",
              "src": "8754:151:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 803,
                            "name": "REQUESTORDEROPERATION_TYPEHASH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 410,
                            "src": "8790:30:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 805,
                                  "name": "_requestorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 795,
                                  "src": "8830:22:6",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                                  }
                                },
                                "id": 806,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 539,
                                "src": "8830:28:6",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                }
                              ],
                              "id": 804,
                              "name": "hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                577,
                                608,
                                639,
                                674,
                                730,
                                751,
                                772,
                                793,
                                814
                              ],
                              "referencedDeclaration": 730,
                              "src": "8825:4:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_RequestOrder_$516_memory_ptr_$returns$_t_bytes32_$",
                                "typeString": "function (struct IexecLibOrders_v5.RequestOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 807,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8825:34:6",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 808,
                              "name": "_requestorderoperation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 795,
                              "src": "8864:22:6",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                              }
                            },
                            "id": 809,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "operation",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 541,
                            "src": "8864:32:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                              "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 801,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "8775:3:6",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 802,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8775:10:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 810,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8775:125:6",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 800,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "8765:9:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 811,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8765:136:6",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 799,
                  "id": 812,
                  "nodeType": "Return",
                  "src": "8758:143:6"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "20aabe53",
            "id": 814,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 796,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 795,
                  "mutability": "mutable",
                  "name": "_requestorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 814,
                  "src": "8669:51:6",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.RequestOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 794,
                    "name": "RequestOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 544,
                    "src": "8669:21:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestOrderOperation_$544_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.RequestOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8668:53:6"
            },
            "returnParameters": {
              "id": 799,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 798,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 814,
                  "src": "8744:7:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 797,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8744:7:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8743:9:6"
            },
            "scope": 815,
            "src": "8655:250:6",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 816,
        "src": "60:8847:6"
      }
    ],
    "src": "0:8908:6"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.6+commit.6c089d02.Emscripten.clang"
  },
  "networks": {
    "1": {
      "events": {},
      "links": {},
      "address": "0x5c1F8351038649175d9f192048BCd53Fa56d99C7"
    },
    "3": {
      "events": {},
      "links": {},
      "address": "0x5c1F8351038649175d9f192048BCd53Fa56d99C7"
    },
    "4": {
      "events": {},
      "links": {},
      "address": "0x5c1F8351038649175d9f192048BCd53Fa56d99C7"
    },
    "5": {
      "events": {},
      "links": {},
      "address": "0x5c1F8351038649175d9f192048BCd53Fa56d99C7"
    },
    "42": {
      "events": {},
      "links": {},
      "address": "0x5c1F8351038649175d9f192048BCd53Fa56d99C7"
    }
  },
  "schemaVersion": "3.1.0",
  "updatedAt": "2020-04-21T19:16:56.036Z",
  "networkType": "ethereum",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}